diff --git a/packages/next/build/webpack/plugins/middleware-plugin.ts b/packages/next/build/webpack/plugins/middleware-plugin.ts index 08eac9575518408..709eb8a07a2caad 100644 --- a/packages/next/build/webpack/plugins/middleware-plugin.ts +++ b/packages/next/build/webpack/plugins/middleware-plugin.ts @@ -683,6 +683,7 @@ function getExtractMetadata(params: { wasmBindings: new Map(), assetBindings: new Map(), } + let ogImageGenerationCount = 0 for (const module of modules) { const buildInfo = getModuleBuildInfo(module) @@ -697,13 +698,10 @@ function getExtractMetadata(params: { /[\\/]node_modules[\\/]@vercel[\\/]og[\\/]dist[\\/]index.js$/.test( resource ) - telemetry.record({ - eventName: EVENT_BUILD_FEATURE_USAGE, - payload: { - featureName: 'vercelImageGeneration', - invocationCount: hasOGImageGeneration ? 1 : 0, - }, - }) + + if (hasOGImageGeneration) { + ogImageGenerationCount++ + } } /** @@ -818,6 +816,13 @@ function getExtractMetadata(params: { } } + telemetry.record({ + eventName: EVENT_BUILD_FEATURE_USAGE, + payload: { + featureName: 'vercelImageGeneration', + invocationCount: ogImageGenerationCount, + }, + }) metadataByEntry.set(entryName, entryMetadata) } } diff --git a/test/integration/telemetry/test/index.test.js b/test/integration/telemetry/test/index.test.js index ed3492c6df99196..3558f6360ab4925 100644 --- a/test/integration/telemetry/test/index.test.js +++ b/test/integration/telemetry/test/index.test.js @@ -834,6 +834,7 @@ describe('Telemetry CLI', () => { stderr, 'NEXT_BUILD_FEATURE_USAGE' ) + expect(featureUsageEvents).toEqual( expect.arrayContaining([ { @@ -842,7 +843,7 @@ describe('Telemetry CLI', () => { }, { featureName: 'next/image', - invocationCount: 1, + invocationCount: 2, }, { featureName: 'next/script', @@ -871,8 +872,14 @@ describe('Telemetry CLI', () => { stderr: true, env: { NEXT_TELEMETRY_DEBUG: 1 }, }) - await fs.remove(path.join(appDir, 'next.config.js')) - await fs.remove(path.join(appDir, 'jsconfig.json')) + await fs.rename( + path.join(appDir, 'next.config.js'), + path.join(appDir, 'next.config.swc') + ) + await fs.rename( + path.join(appDir, 'jsconfig.json'), + path.join(appDir, 'jsconfig.swc') + ) const featureUsageEvents = findAllTelemetryEvents( stderr, 'NEXT_BUILD_FEATURE_USAGE' @@ -1047,11 +1054,11 @@ describe('Telemetry CLI', () => { ) expect(featureUsageEvents).toContainEqual({ featureName: 'next/legacy/image', - invocationCount: 1, + invocationCount: 2, }) expect(featureUsageEvents).toContainEqual({ featureName: 'next/image', - invocationCount: 1, + invocationCount: 2, }) })