diff --git a/packages/next-swc/crates/napi/src/transform.rs b/packages/next-swc/crates/napi/src/transform.rs index 324b191e2c59b..9aa240505d0b6 100644 --- a/packages/next-swc/crates/napi/src/transform.rs +++ b/packages/next-swc/crates/napi/src/transform.rs @@ -98,7 +98,7 @@ impl Task for TransformTask { self.c.cm.clone(), fm.clone(), &options, - self.c.comments().clone(), + self.c.comments(), ); self.c.process_js_with_custom_pass( fm, diff --git a/packages/next/build/webpack-config.ts b/packages/next/build/webpack-config.ts index bfec16ede15ea..dd777f5763beb 100644 --- a/packages/next/build/webpack-config.ts +++ b/packages/next/build/webpack-config.ts @@ -1504,6 +1504,7 @@ export default async function getBaseWebpackConfig( ], ['swcRemoveConsole', !!config.compiler?.removeConsole], ['swcImportSource', !!jsConfig?.compilerOptions?.jsxImportSource], + ['swcEmotion', !!config.experimental.emotion], ]) ), ].filter(Boolean as any as ExcludesFalse), diff --git a/packages/next/build/webpack/plugins/telemetry-plugin.ts b/packages/next/build/webpack/plugins/telemetry-plugin.ts index fe1f370a283bb..aeb73cad89db8 100644 --- a/packages/next/build/webpack/plugins/telemetry-plugin.ts +++ b/packages/next/build/webpack/plugins/telemetry-plugin.ts @@ -12,6 +12,7 @@ type Feature = | 'swcExperimentalDecorators' | 'swcRemoveConsole' | 'swcImportSource' + | 'swcEmotion' interface FeatureUsage { featureName: Feature @@ -50,6 +51,7 @@ const BUILD_FEATURES: Array = [ 'swcExperimentalDecorators', 'swcRemoveConsole', 'swcImportSource', + 'swcEmotion', ] /** diff --git a/packages/next/telemetry/events/build.ts b/packages/next/telemetry/events/build.ts index f7cb5f3e1ac7a..9b64803af6ac2 100644 --- a/packages/next/telemetry/events/build.ts +++ b/packages/next/telemetry/events/build.ts @@ -143,6 +143,7 @@ export type EventBuildFeatureUsage = { | 'swcExperimentalDecorators' | 'swcRemoveConsole' | 'swcImportSource' + | 'swcEmotion' | 'build-lint' invocationCount: number } diff --git a/test/integration/telemetry/test/index.test.js b/test/integration/telemetry/test/index.test.js index 1a76922190af1..d88c59b37ef3e 100644 --- a/test/integration/telemetry/test/index.test.js +++ b/test/integration/telemetry/test/index.test.js @@ -631,6 +631,7 @@ describe('Telemetry CLI', () => { regex.exec(stderr).pop() // swcReactRemoveProperties regex.exec(stderr).pop() // swcRemoveConsole regex.exec(stderr).pop() // swcImportSource + regex.exec(stderr).pop() // swcEmotion const image = regex.exec(stderr).pop() expect(image).toContain(`"featureName": "next/image"`) expect(image).toContain(`"invocationCount": 1`)