next 15.6.0-canary.50 → 15.6.0-canary.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/next +1 -1
- package/dist/build/index.js +3 -3
- package/dist/build/swc/index.js +1 -1
- package/dist/build/type-check.js +15 -8
- package/dist/build/type-check.js.map +1 -1
- package/dist/build/webpack-config.js +2 -2
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/esm/build/index.js +3 -3
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/type-check.js +15 -8
- package/dist/esm/build/type-check.js.map +1 -1
- package/dist/esm/build/webpack-config.js +2 -2
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/shared/lib/canary-only.js +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +1 -1
- package/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/dist/server/lib/app-info-log.js +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/shared/lib/canary-only.js +1 -1
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/package.json +15 -15
package/dist/bin/next
CHANGED
|
@@ -79,7 +79,7 @@ const program = new NextRootCommand();
|
|
|
79
79
|
program.name('next').description('The Next.js CLI allows you to develop, build, start your application, and more.').configureHelp({
|
|
80
80
|
formatHelp: (cmd, helper)=>(0, _formatclihelpoutput.formatCliHelpOutput)(cmd, helper),
|
|
81
81
|
subcommandTerm: (cmd)=>`${cmd.name()} ${cmd.usage()}`
|
|
82
|
-
}).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.6.0-canary.
|
|
82
|
+
}).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.6.0-canary.51"}`, '-v, --version', 'Outputs the Next.js version.');
|
|
83
83
|
program.command('build').description('Creates an optimized production build of your application. The output displays information about each route.').argument('[directory]', `A directory on which to build the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).option('-d, --debug', 'Enables a more verbose build output.').option('--debug-prerender', 'Enables debug mode for prerendering. Not for production use!').option('--no-lint', 'Disables linting.').option('--no-mangling', 'Disables mangling.').option('--profile', 'Enables production profiling for React.').option('--experimental-app-only', 'Builds only App Router routes.').option('--turbo', 'Builds using Turbopack.').option('--turbopack', 'Builds using Turbopack.').option('--webpack', 'Builds using webpack.').addOption(new _commander.Option('--experimental-build-mode [mode]', 'Uses an experimental build mode.').choices([
|
|
84
84
|
'compile',
|
|
85
85
|
'generate',
|
package/dist/build/index.js
CHANGED
|
@@ -371,7 +371,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
|
|
|
371
371
|
try {
|
|
372
372
|
const nextBuildSpan = (0, _trace.trace)('next-build', undefined, {
|
|
373
373
|
buildMode: experimentalBuildMode,
|
|
374
|
-
version: "15.6.0-canary.
|
|
374
|
+
version: "15.6.0-canary.51"
|
|
375
375
|
});
|
|
376
376
|
_buildcontext.NextBuildContext.nextBuildSpan = nextBuildSpan;
|
|
377
377
|
_buildcontext.NextBuildContext.dir = dir;
|
|
@@ -853,7 +853,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
|
|
|
853
853
|
// Files outside of the distDir can be "type": "module"
|
|
854
854
|
await writeFileUtf8(_path.default.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
|
855
855
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
|
856
|
-
await (0, _builddiagnostics.recordFrameworkVersion)("15.6.0-canary.
|
|
856
|
+
await (0, _builddiagnostics.recordFrameworkVersion)("15.6.0-canary.51");
|
|
857
857
|
await (0, _builddiagnostics.updateBuildDiagnostics)({
|
|
858
858
|
buildStage: 'start'
|
|
859
859
|
});
|
|
@@ -2499,7 +2499,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
|
|
|
2499
2499
|
distDir,
|
|
2500
2500
|
config,
|
|
2501
2501
|
staticPages,
|
|
2502
|
-
nextVersion: "15.6.0-canary.
|
|
2502
|
+
nextVersion: "15.6.0-canary.51",
|
|
2503
2503
|
tracingRoot: outputFileTracingRoot,
|
|
2504
2504
|
hasNodeMiddleware,
|
|
2505
2505
|
hasInstrumentationHook,
|
package/dist/build/swc/index.js
CHANGED
|
@@ -130,7 +130,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
130
130
|
}
|
|
131
131
|
return newObj;
|
|
132
132
|
}
|
|
133
|
-
const nextVersion = "15.6.0-canary.
|
|
133
|
+
const nextVersion = "15.6.0-canary.51";
|
|
134
134
|
const ArchName = (0, _os.arch)();
|
|
135
135
|
const PlatformName = (0, _os.platform)();
|
|
136
136
|
function infoLog(...args) {
|
package/dist/build/type-check.js
CHANGED
|
@@ -112,25 +112,25 @@ async function startTypeChecking({ cacheDir, config, dir, ignoreESLint, nextBuil
|
|
|
112
112
|
let typeCheckingAndLintingSpinnerPrefixText;
|
|
113
113
|
let typeCheckingAndLintingSpinner;
|
|
114
114
|
if (!ignoreTypeScriptErrors && shouldLint) {
|
|
115
|
-
typeCheckingAndLintingSpinnerPrefixText = '
|
|
115
|
+
typeCheckingAndLintingSpinnerPrefixText = 'Running ESLint and TypeScript concurrently';
|
|
116
116
|
} else if (!ignoreTypeScriptErrors) {
|
|
117
|
-
typeCheckingAndLintingSpinnerPrefixText = '
|
|
117
|
+
typeCheckingAndLintingSpinnerPrefixText = 'Running TypeScript';
|
|
118
118
|
} else if (shouldLint) {
|
|
119
|
-
typeCheckingAndLintingSpinnerPrefixText = '
|
|
119
|
+
typeCheckingAndLintingSpinnerPrefixText = 'Running ESLint';
|
|
120
120
|
}
|
|
121
121
|
// we will not create a spinner if both ignoreTypeScriptErrors and ignoreESLint are
|
|
122
122
|
// enabled, but we will still verifying project's tsconfig and dependencies.
|
|
123
123
|
if (typeCheckingAndLintingSpinnerPrefixText) {
|
|
124
124
|
typeCheckingAndLintingSpinner = (0, _spinner.default)(typeCheckingAndLintingSpinnerPrefixText);
|
|
125
125
|
}
|
|
126
|
-
const
|
|
126
|
+
const typeCheckAndLintStart = process.hrtime();
|
|
127
127
|
try {
|
|
128
|
-
const [[verifyResult, typeCheckEnd]] = await Promise.all([
|
|
128
|
+
const [[verifyResult, typeCheckEnd], lintCheckEnd] = await Promise.all([
|
|
129
129
|
nextBuildSpan.traceChild('run-typescript').traceAsyncFn(()=>verifyTypeScriptSetup(dir, config.distDir, [
|
|
130
130
|
pagesDir,
|
|
131
131
|
appDir
|
|
132
132
|
].filter(Boolean), !ignoreTypeScriptErrors, config.typescript.tsconfigPath, config.images.disableStaticImages, cacheDir, config.experimental.workerThreads, !!appDir, !!pagesDir).then((resolved)=>{
|
|
133
|
-
const checkEnd = process.hrtime(
|
|
133
|
+
const checkEnd = process.hrtime(typeCheckAndLintStart);
|
|
134
134
|
return [
|
|
135
135
|
resolved,
|
|
136
136
|
checkEnd
|
|
@@ -139,11 +139,18 @@ async function startTypeChecking({ cacheDir, config, dir, ignoreESLint, nextBuil
|
|
|
139
139
|
shouldLint && nextBuildSpan.traceChild('run-eslint').traceAsyncFn(async ()=>{
|
|
140
140
|
var _config_eslint;
|
|
141
141
|
await (0, _verifyAndLint.verifyAndLint)(dir, eslintCacheDir, (_config_eslint = config.eslint) == null ? void 0 : _config_eslint.dirs, config.experimental.workerThreads, telemetry);
|
|
142
|
+
const checkEnd = process.hrtime(typeCheckAndLintStart);
|
|
143
|
+
return checkEnd;
|
|
142
144
|
})
|
|
143
145
|
]);
|
|
144
146
|
if (typeCheckingAndLintingSpinner) {
|
|
145
|
-
|
|
146
|
-
typeCheckingAndLintingSpinner.
|
|
147
|
+
var _createSpinner;
|
|
148
|
+
typeCheckingAndLintingSpinner.stop();
|
|
149
|
+
(_createSpinner = (0, _spinner.default)(`Finished TypeScript${ignoreTypeScriptErrors ? ' config validation' : ''} in ${(0, _durationtostring.hrtimeDurationToString)(typeCheckEnd)}`)) == null ? void 0 : _createSpinner.stopAndPersist();
|
|
150
|
+
if (lintCheckEnd) {
|
|
151
|
+
var _createSpinner1;
|
|
152
|
+
(_createSpinner1 = (0, _spinner.default)(`Finished ESLint in ${(0, _durationtostring.hrtimeDurationToString)(lintCheckEnd)}`)) == null ? void 0 : _createSpinner1.stopAndPersist();
|
|
153
|
+
}
|
|
147
154
|
}
|
|
148
155
|
if (!ignoreTypeScriptErrors && verifyResult) {
|
|
149
156
|
var _verifyResult_result, _verifyResult_result1, _verifyResult_result2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/build/type-check.ts"],"sourcesContent":["import type { NextConfigComplete } from '../server/config-shared'\nimport type { Telemetry } from '../telemetry/storage'\nimport type { Span } from '../trace'\n\nimport path from 'path'\nimport * as Log from './output/log'\nimport { Worker } from '../lib/worker'\nimport { verifyAndLint } from '../lib/verifyAndLint'\nimport createSpinner from './spinner'\nimport { eventTypeCheckCompleted } from '../telemetry/events'\nimport isError from '../lib/is-error'\nimport { hrtimeDurationToString } from './duration-to-string'\n\n/**\n * typescript will be loaded in \"next/lib/verify-typescript-setup\" and\n * then passed to \"next/lib/typescript/runTypeCheck\" as a parameter.\n *\n * Since it is impossible to pass a function from main thread to a worker,\n * instead of running \"next/lib/typescript/runTypeCheck\" in a worker,\n * we will run entire \"next/lib/verify-typescript-setup\" in a worker instead.\n */\nfunction verifyTypeScriptSetup(\n dir: string,\n distDir: string,\n intentDirs: string[],\n typeCheckPreflight: boolean,\n tsconfigPath: string | undefined,\n disableStaticImages: boolean,\n cacheDir: string | undefined,\n enableWorkerThreads: boolean | undefined,\n hasAppDir: boolean,\n hasPagesDir: boolean\n) {\n const typeCheckWorker = new Worker(\n require.resolve('../lib/verify-typescript-setup'),\n {\n exposedMethods: ['verifyTypeScriptSetup'],\n debuggerPortOffset: -1,\n isolatedMemory: false,\n numWorkers: 1,\n enableWorkerThreads,\n maxRetries: 0,\n }\n ) as Worker & {\n verifyTypeScriptSetup: typeof import('../lib/verify-typescript-setup').verifyTypeScriptSetup\n }\n\n return typeCheckWorker\n .verifyTypeScriptSetup({\n dir,\n distDir,\n intentDirs,\n typeCheckPreflight,\n tsconfigPath,\n disableStaticImages,\n cacheDir,\n hasAppDir,\n hasPagesDir,\n })\n .then((result) => {\n typeCheckWorker.end()\n return result\n })\n .catch(() => {\n // The error is already logged in the worker, we simply exit the main thread to prevent the\n // `Jest worker encountered 1 child process exceptions, exceeding retry limit` from showing up\n process.exit(1)\n })\n}\n\nexport async function startTypeChecking({\n cacheDir,\n config,\n dir,\n ignoreESLint,\n nextBuildSpan,\n pagesDir,\n runLint,\n shouldLint,\n telemetry,\n appDir,\n}: {\n cacheDir: string\n config: NextConfigComplete\n dir: string\n ignoreESLint: boolean\n nextBuildSpan: Span\n pagesDir?: string\n runLint: boolean\n shouldLint: boolean\n telemetry: Telemetry\n appDir?: string\n}) {\n const ignoreTypeScriptErrors = Boolean(config.typescript.ignoreBuildErrors)\n\n const eslintCacheDir = path.join(cacheDir, 'eslint/')\n\n if (ignoreTypeScriptErrors) {\n Log.info('Skipping validation of types')\n }\n if (runLint && ignoreESLint) {\n // only print log when build require lint while ignoreESLint is enabled\n Log.info('Skipping linting')\n }\n\n let typeCheckingAndLintingSpinnerPrefixText: string | undefined\n let typeCheckingAndLintingSpinner:\n | ReturnType<typeof createSpinner>\n | undefined\n\n if (!ignoreTypeScriptErrors && shouldLint) {\n typeCheckingAndLintingSpinnerPrefixText =\n 'Linting and checking validity of types'\n } else if (!ignoreTypeScriptErrors) {\n typeCheckingAndLintingSpinnerPrefixText = 'Checking validity of types'\n } else if (shouldLint) {\n typeCheckingAndLintingSpinnerPrefixText = 'Linting'\n }\n\n // we will not create a spinner if both ignoreTypeScriptErrors and ignoreESLint are\n // enabled, but we will still verifying project's tsconfig and dependencies.\n if (typeCheckingAndLintingSpinnerPrefixText) {\n typeCheckingAndLintingSpinner = createSpinner(\n typeCheckingAndLintingSpinnerPrefixText\n )\n }\n\n const typeCheckStart = process.hrtime()\n\n try {\n const [[verifyResult, typeCheckEnd]] = await Promise.all([\n nextBuildSpan.traceChild('run-typescript').traceAsyncFn(() =>\n verifyTypeScriptSetup(\n dir,\n config.distDir,\n [pagesDir, appDir].filter(Boolean) as string[],\n !ignoreTypeScriptErrors,\n config.typescript.tsconfigPath,\n config.images.disableStaticImages,\n cacheDir,\n config.experimental.workerThreads,\n !!appDir,\n !!pagesDir\n ).then((resolved) => {\n const checkEnd = process.hrtime(typeCheckStart)\n return [resolved, checkEnd] as const\n })\n ),\n shouldLint &&\n nextBuildSpan.traceChild('run-eslint').traceAsyncFn(async () => {\n await verifyAndLint(\n dir,\n eslintCacheDir,\n config.eslint?.dirs,\n config.experimental.workerThreads,\n telemetry\n )\n }),\n ])\n\n if (typeCheckingAndLintingSpinner) {\n typeCheckingAndLintingSpinner.setText(\n `${typeCheckingAndLintingSpinnerPrefixText} in ${hrtimeDurationToString(typeCheckEnd)}`\n )\n typeCheckingAndLintingSpinner.stopAndPersist()\n }\n\n if (!ignoreTypeScriptErrors && verifyResult) {\n telemetry.record(\n eventTypeCheckCompleted({\n durationInSeconds: typeCheckEnd[0],\n typescriptVersion: verifyResult.version,\n inputFilesCount: verifyResult.result?.inputFilesCount,\n totalFilesCount: verifyResult.result?.totalFilesCount,\n incremental: verifyResult.result?.incremental,\n })\n )\n }\n } catch (err) {\n // prevent showing jest-worker internal error as it\n // isn't helpful for users and clutters output\n if (isError(err) && err.message === 'Call retries were exceeded') {\n await telemetry.flush()\n process.exit(1)\n }\n throw err\n }\n}\n"],"names":["startTypeChecking","verifyTypeScriptSetup","dir","distDir","intentDirs","typeCheckPreflight","tsconfigPath","disableStaticImages","cacheDir","enableWorkerThreads","hasAppDir","hasPagesDir","typeCheckWorker","Worker","require","resolve","exposedMethods","debuggerPortOffset","isolatedMemory","numWorkers","maxRetries","then","result","end","catch","process","exit","config","ignoreESLint","nextBuildSpan","pagesDir","runLint","shouldLint","telemetry","appDir","ignoreTypeScriptErrors","Boolean","typescript","ignoreBuildErrors","eslintCacheDir","path","join","Log","info","typeCheckingAndLintingSpinnerPrefixText","typeCheckingAndLintingSpinner","createSpinner","typeCheckStart","hrtime","verifyResult","typeCheckEnd","Promise","all","traceChild","traceAsyncFn","filter","images","experimental","workerThreads","resolved","checkEnd","verifyAndLint","eslint","dirs","setText","hrtimeDurationToString","stopAndPersist","record","eventTypeCheckCompleted","durationInSeconds","typescriptVersion","version","inputFilesCount","totalFilesCount","incremental","err","isError","message","flush"],"mappings":"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","ignoreList":[0]}
|
|
1
|
+
{"version":3,"sources":["../../src/build/type-check.ts"],"sourcesContent":["import type { NextConfigComplete } from '../server/config-shared'\nimport type { Telemetry } from '../telemetry/storage'\nimport type { Span } from '../trace'\n\nimport path from 'path'\nimport * as Log from './output/log'\nimport { Worker } from '../lib/worker'\nimport { verifyAndLint } from '../lib/verifyAndLint'\nimport createSpinner from './spinner'\nimport { eventTypeCheckCompleted } from '../telemetry/events'\nimport isError from '../lib/is-error'\nimport { hrtimeDurationToString } from './duration-to-string'\n\n/**\n * typescript will be loaded in \"next/lib/verify-typescript-setup\" and\n * then passed to \"next/lib/typescript/runTypeCheck\" as a parameter.\n *\n * Since it is impossible to pass a function from main thread to a worker,\n * instead of running \"next/lib/typescript/runTypeCheck\" in a worker,\n * we will run entire \"next/lib/verify-typescript-setup\" in a worker instead.\n */\nfunction verifyTypeScriptSetup(\n dir: string,\n distDir: string,\n intentDirs: string[],\n typeCheckPreflight: boolean,\n tsconfigPath: string | undefined,\n disableStaticImages: boolean,\n cacheDir: string | undefined,\n enableWorkerThreads: boolean | undefined,\n hasAppDir: boolean,\n hasPagesDir: boolean\n) {\n const typeCheckWorker = new Worker(\n require.resolve('../lib/verify-typescript-setup'),\n {\n exposedMethods: ['verifyTypeScriptSetup'],\n debuggerPortOffset: -1,\n isolatedMemory: false,\n numWorkers: 1,\n enableWorkerThreads,\n maxRetries: 0,\n }\n ) as Worker & {\n verifyTypeScriptSetup: typeof import('../lib/verify-typescript-setup').verifyTypeScriptSetup\n }\n\n return typeCheckWorker\n .verifyTypeScriptSetup({\n dir,\n distDir,\n intentDirs,\n typeCheckPreflight,\n tsconfigPath,\n disableStaticImages,\n cacheDir,\n hasAppDir,\n hasPagesDir,\n })\n .then((result) => {\n typeCheckWorker.end()\n return result\n })\n .catch(() => {\n // The error is already logged in the worker, we simply exit the main thread to prevent the\n // `Jest worker encountered 1 child process exceptions, exceeding retry limit` from showing up\n process.exit(1)\n })\n}\n\nexport async function startTypeChecking({\n cacheDir,\n config,\n dir,\n ignoreESLint,\n nextBuildSpan,\n pagesDir,\n runLint,\n shouldLint,\n telemetry,\n appDir,\n}: {\n cacheDir: string\n config: NextConfigComplete\n dir: string\n ignoreESLint: boolean\n nextBuildSpan: Span\n pagesDir?: string\n runLint: boolean\n shouldLint: boolean\n telemetry: Telemetry\n appDir?: string\n}) {\n const ignoreTypeScriptErrors = Boolean(config.typescript.ignoreBuildErrors)\n\n const eslintCacheDir = path.join(cacheDir, 'eslint/')\n\n if (ignoreTypeScriptErrors) {\n Log.info('Skipping validation of types')\n }\n if (runLint && ignoreESLint) {\n // only print log when build require lint while ignoreESLint is enabled\n Log.info('Skipping linting')\n }\n\n let typeCheckingAndLintingSpinnerPrefixText: string | undefined\n let typeCheckingAndLintingSpinner:\n | ReturnType<typeof createSpinner>\n | undefined\n\n if (!ignoreTypeScriptErrors && shouldLint) {\n typeCheckingAndLintingSpinnerPrefixText =\n 'Running ESLint and TypeScript concurrently'\n } else if (!ignoreTypeScriptErrors) {\n typeCheckingAndLintingSpinnerPrefixText = 'Running TypeScript'\n } else if (shouldLint) {\n typeCheckingAndLintingSpinnerPrefixText = 'Running ESLint'\n }\n\n // we will not create a spinner if both ignoreTypeScriptErrors and ignoreESLint are\n // enabled, but we will still verifying project's tsconfig and dependencies.\n if (typeCheckingAndLintingSpinnerPrefixText) {\n typeCheckingAndLintingSpinner = createSpinner(\n typeCheckingAndLintingSpinnerPrefixText\n )\n }\n\n const typeCheckAndLintStart = process.hrtime()\n\n try {\n const [[verifyResult, typeCheckEnd], lintCheckEnd] = await Promise.all([\n nextBuildSpan.traceChild('run-typescript').traceAsyncFn(() =>\n verifyTypeScriptSetup(\n dir,\n config.distDir,\n [pagesDir, appDir].filter(Boolean) as string[],\n !ignoreTypeScriptErrors,\n config.typescript.tsconfigPath,\n config.images.disableStaticImages,\n cacheDir,\n config.experimental.workerThreads,\n !!appDir,\n !!pagesDir\n ).then((resolved) => {\n const checkEnd = process.hrtime(typeCheckAndLintStart)\n return [resolved, checkEnd] as const\n })\n ),\n shouldLint &&\n nextBuildSpan.traceChild('run-eslint').traceAsyncFn(async () => {\n await verifyAndLint(\n dir,\n eslintCacheDir,\n config.eslint?.dirs,\n config.experimental.workerThreads,\n telemetry\n )\n const checkEnd = process.hrtime(typeCheckAndLintStart)\n return checkEnd\n }),\n ])\n\n if (typeCheckingAndLintingSpinner) {\n typeCheckingAndLintingSpinner.stop()\n\n createSpinner(\n `Finished TypeScript${ignoreTypeScriptErrors ? ' config validation' : ''} in ${hrtimeDurationToString(typeCheckEnd)}`\n )?.stopAndPersist()\n if (lintCheckEnd) {\n createSpinner(\n `Finished ESLint in ${hrtimeDurationToString(lintCheckEnd)}`\n )?.stopAndPersist()\n }\n }\n\n if (!ignoreTypeScriptErrors && verifyResult) {\n telemetry.record(\n eventTypeCheckCompleted({\n durationInSeconds: typeCheckEnd[0],\n typescriptVersion: verifyResult.version,\n inputFilesCount: verifyResult.result?.inputFilesCount,\n totalFilesCount: verifyResult.result?.totalFilesCount,\n incremental: verifyResult.result?.incremental,\n })\n )\n }\n } catch (err) {\n // prevent showing jest-worker internal error as it\n // isn't helpful for users and clutters output\n if (isError(err) && err.message === 'Call retries were exceeded') {\n await telemetry.flush()\n process.exit(1)\n }\n throw err\n }\n}\n"],"names":["startTypeChecking","verifyTypeScriptSetup","dir","distDir","intentDirs","typeCheckPreflight","tsconfigPath","disableStaticImages","cacheDir","enableWorkerThreads","hasAppDir","hasPagesDir","typeCheckWorker","Worker","require","resolve","exposedMethods","debuggerPortOffset","isolatedMemory","numWorkers","maxRetries","then","result","end","catch","process","exit","config","ignoreESLint","nextBuildSpan","pagesDir","runLint","shouldLint","telemetry","appDir","ignoreTypeScriptErrors","Boolean","typescript","ignoreBuildErrors","eslintCacheDir","path","join","Log","info","typeCheckingAndLintingSpinnerPrefixText","typeCheckingAndLintingSpinner","createSpinner","typeCheckAndLintStart","hrtime","verifyResult","typeCheckEnd","lintCheckEnd","Promise","all","traceChild","traceAsyncFn","filter","images","experimental","workerThreads","resolved","checkEnd","verifyAndLint","eslint","dirs","stop","hrtimeDurationToString","stopAndPersist","record","eventTypeCheckCompleted","durationInSeconds","typescriptVersion","version","inputFilesCount","totalFilesCount","incremental","err","isError","message","flush"],"mappings":";;;;+BAsEsBA;;;eAAAA;;;6DAlEL;6DACI;wBACE;+BACO;gEACJ;wBACc;gEACpB;kCACmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvC;;;;;;;CAOC,GACD,SAASC,sBACPC,GAAW,EACXC,OAAe,EACfC,UAAoB,EACpBC,kBAA2B,EAC3BC,YAAgC,EAChCC,mBAA4B,EAC5BC,QAA4B,EAC5BC,mBAAwC,EACxCC,SAAkB,EAClBC,WAAoB;IAEpB,MAAMC,kBAAkB,IAAIC,cAAM,CAChCC,QAAQC,OAAO,CAAC,mCAChB;QACEC,gBAAgB;YAAC;SAAwB;QACzCC,oBAAoB,CAAC;QACrBC,gBAAgB;QAChBC,YAAY;QACZV;QACAW,YAAY;IACd;IAKF,OAAOR,gBACJX,qBAAqB,CAAC;QACrBC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;QACAC;IACF,GACCU,IAAI,CAAC,CAACC;QACLV,gBAAgBW,GAAG;QACnB,OAAOD;IACT,GACCE,KAAK,CAAC;QACL,2FAA2F;QAC3F,8FAA8F;QAC9FC,QAAQC,IAAI,CAAC;IACf;AACJ;AAEO,eAAe1B,kBAAkB,EACtCQ,QAAQ,EACRmB,MAAM,EACNzB,GAAG,EACH0B,YAAY,EACZC,aAAa,EACbC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,SAAS,EACTC,MAAM,EAYP;IACC,MAAMC,yBAAyBC,QAAQT,OAAOU,UAAU,CAACC,iBAAiB;IAE1E,MAAMC,iBAAiBC,aAAI,CAACC,IAAI,CAACjC,UAAU;IAE3C,IAAI2B,wBAAwB;QAC1BO,KAAIC,IAAI,CAAC;IACX;IACA,IAAIZ,WAAWH,cAAc;QAC3B,uEAAuE;QACvEc,KAAIC,IAAI,CAAC;IACX;IAEA,IAAIC;IACJ,IAAIC;IAIJ,IAAI,CAACV,0BAA0BH,YAAY;QACzCY,0CACE;IACJ,OAAO,IAAI,CAACT,wBAAwB;QAClCS,0CAA0C;IAC5C,OAAO,IAAIZ,YAAY;QACrBY,0CAA0C;IAC5C;IAEA,mFAAmF;IACnF,4EAA4E;IAC5E,IAAIA,yCAAyC;QAC3CC,gCAAgCC,IAAAA,gBAAa,EAC3CF;IAEJ;IAEA,MAAMG,wBAAwBtB,QAAQuB,MAAM;IAE5C,IAAI;QACF,MAAM,CAAC,CAACC,cAAcC,aAAa,EAAEC,aAAa,GAAG,MAAMC,QAAQC,GAAG,CAAC;YACrExB,cAAcyB,UAAU,CAAC,kBAAkBC,YAAY,CAAC,IACtDtD,sBACEC,KACAyB,OAAOxB,OAAO,EACd;oBAAC2B;oBAAUI;iBAAO,CAACsB,MAAM,CAACpB,UAC1B,CAACD,wBACDR,OAAOU,UAAU,CAAC/B,YAAY,EAC9BqB,OAAO8B,MAAM,CAAClD,mBAAmB,EACjCC,UACAmB,OAAO+B,YAAY,CAACC,aAAa,EACjC,CAAC,CAACzB,QACF,CAAC,CAACJ,UACFT,IAAI,CAAC,CAACuC;oBACN,MAAMC,WAAWpC,QAAQuB,MAAM,CAACD;oBAChC,OAAO;wBAACa;wBAAUC;qBAAS;gBAC7B;YAEF7B,cACEH,cAAcyB,UAAU,CAAC,cAAcC,YAAY,CAAC;oBAIhD5B;gBAHF,MAAMmC,IAAAA,4BAAa,EACjB5D,KACAqC,iBACAZ,iBAAAA,OAAOoC,MAAM,qBAAbpC,eAAeqC,IAAI,EACnBrC,OAAO+B,YAAY,CAACC,aAAa,EACjC1B;gBAEF,MAAM4B,WAAWpC,QAAQuB,MAAM,CAACD;gBAChC,OAAOc;YACT;SACH;QAED,IAAIhB,+BAA+B;gBAGjCC;YAFAD,8BAA8BoB,IAAI;aAElCnB,iBAAAA,IAAAA,gBAAa,EACX,CAAC,mBAAmB,EAAEX,yBAAyB,uBAAuB,GAAG,IAAI,EAAE+B,IAAAA,wCAAsB,EAAChB,eAAe,sBADvHJ,eAEGqB,cAAc;YACjB,IAAIhB,cAAc;oBAChBL;iBAAAA,kBAAAA,IAAAA,gBAAa,EACX,CAAC,mBAAmB,EAAEoB,IAAAA,wCAAsB,EAACf,eAAe,sBAD9DL,gBAEGqB,cAAc;YACnB;QACF;QAEA,IAAI,CAAChC,0BAA0Bc,cAAc;gBAKtBA,sBACAA,uBACJA;YANjBhB,UAAUmC,MAAM,CACdC,IAAAA,+BAAuB,EAAC;gBACtBC,mBAAmBpB,YAAY,CAAC,EAAE;gBAClCqB,mBAAmBtB,aAAauB,OAAO;gBACvCC,eAAe,GAAExB,uBAAAA,aAAa3B,MAAM,qBAAnB2B,qBAAqBwB,eAAe;gBACrDC,eAAe,GAAEzB,wBAAAA,aAAa3B,MAAM,qBAAnB2B,sBAAqByB,eAAe;gBACrDC,WAAW,GAAE1B,wBAAAA,aAAa3B,MAAM,qBAAnB2B,sBAAqB0B,WAAW;YAC/C;QAEJ;IACF,EAAE,OAAOC,KAAK;QACZ,mDAAmD;QACnD,8CAA8C;QAC9C,IAAIC,IAAAA,gBAAO,EAACD,QAAQA,IAAIE,OAAO,KAAK,8BAA8B;YAChE,MAAM7C,UAAU8C,KAAK;YACrBtD,QAAQC,IAAI,CAAC;QACf;QACA,MAAMkD;IACR;AACF","ignoreList":[0]}
|
|
@@ -1702,7 +1702,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
|
1702
1702
|
isClient && new _copyfileplugin.CopyFilePlugin({
|
|
1703
1703
|
// file path to build output of `@next/polyfill-nomodule`
|
|
1704
1704
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
|
1705
|
-
cacheKey: "15.6.0-canary.
|
|
1705
|
+
cacheKey: "15.6.0-canary.51",
|
|
1706
1706
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
|
1707
1707
|
minimize: false,
|
|
1708
1708
|
info: {
|
|
@@ -1885,7 +1885,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
|
1885
1885
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
|
1886
1886
|
// - Next.js version
|
|
1887
1887
|
// - next.config.js keys that affect compilation
|
|
1888
|
-
version: `${__dirname}|${"15.6.0-canary.
|
|
1888
|
+
version: `${__dirname}|${"15.6.0-canary.51"}|${configVars}`,
|
|
1889
1889
|
cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
|
|
1890
1890
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
|
1891
1891
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|
|
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "appBootstrap", {
|
|
|
15
15
|
});
|
|
16
16
|
const _assetprefix = require("./asset-prefix");
|
|
17
17
|
const _setattributesfromprops = require("./set-attributes-from-props");
|
|
18
|
-
const version = "15.6.0-canary.
|
|
18
|
+
const version = "15.6.0-canary.51";
|
|
19
19
|
window.next = {
|
|
20
20
|
version,
|
|
21
21
|
appDir: true
|
package/dist/client/index.js
CHANGED
|
@@ -61,7 +61,7 @@ const _hooksclientcontextsharedruntime = require("../shared/lib/hooks-client-con
|
|
|
61
61
|
const _onrecoverableerror = require("./react-client-callbacks/on-recoverable-error");
|
|
62
62
|
const _tracer = /*#__PURE__*/ _interop_require_default._(require("./tracing/tracer"));
|
|
63
63
|
const _isnextroutererror = require("./components/is-next-router-error");
|
|
64
|
-
const version = "15.6.0-canary.
|
|
64
|
+
const version = "15.6.0-canary.51";
|
|
65
65
|
let router;
|
|
66
66
|
const emitter = (0, _mitt.default)();
|
|
67
67
|
const looseToArray = (input)=>[].slice.call(input);
|
package/dist/esm/build/index.js
CHANGED
|
@@ -303,7 +303,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
|
303
303
|
try {
|
|
304
304
|
const nextBuildSpan = trace('next-build', undefined, {
|
|
305
305
|
buildMode: experimentalBuildMode,
|
|
306
|
-
version: "15.6.0-canary.
|
|
306
|
+
version: "15.6.0-canary.51"
|
|
307
307
|
});
|
|
308
308
|
NextBuildContext.nextBuildSpan = nextBuildSpan;
|
|
309
309
|
NextBuildContext.dir = dir;
|
|
@@ -785,7 +785,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
|
785
785
|
// Files outside of the distDir can be "type": "module"
|
|
786
786
|
await writeFileUtf8(path.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
|
787
787
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
|
788
|
-
await recordFrameworkVersion("15.6.0-canary.
|
|
788
|
+
await recordFrameworkVersion("15.6.0-canary.51");
|
|
789
789
|
await updateBuildDiagnostics({
|
|
790
790
|
buildStage: 'start'
|
|
791
791
|
});
|
|
@@ -2431,7 +2431,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
|
2431
2431
|
distDir,
|
|
2432
2432
|
config,
|
|
2433
2433
|
staticPages,
|
|
2434
|
-
nextVersion: "15.6.0-canary.
|
|
2434
|
+
nextVersion: "15.6.0-canary.51",
|
|
2435
2435
|
tracingRoot: outputFileTracingRoot,
|
|
2436
2436
|
hasNodeMiddleware,
|
|
2437
2437
|
hasInstrumentationHook,
|
|
@@ -10,7 +10,7 @@ import { downloadNativeNextSwc, downloadWasmSwc } from '../../lib/download-swc';
|
|
|
10
10
|
import { isDeepStrictEqual } from 'util';
|
|
11
11
|
import { getDefineEnv } from '../define-env';
|
|
12
12
|
import { throwTurbopackInternalError } from '../../shared/lib/turbopack/internal-error';
|
|
13
|
-
const nextVersion = "15.6.0-canary.
|
|
13
|
+
const nextVersion = "15.6.0-canary.51";
|
|
14
14
|
const ArchName = arch();
|
|
15
15
|
const PlatformName = platform();
|
|
16
16
|
function infoLog(...args) {
|
|
@@ -56,25 +56,25 @@ export async function startTypeChecking({ cacheDir, config, dir, ignoreESLint, n
|
|
|
56
56
|
let typeCheckingAndLintingSpinnerPrefixText;
|
|
57
57
|
let typeCheckingAndLintingSpinner;
|
|
58
58
|
if (!ignoreTypeScriptErrors && shouldLint) {
|
|
59
|
-
typeCheckingAndLintingSpinnerPrefixText = '
|
|
59
|
+
typeCheckingAndLintingSpinnerPrefixText = 'Running ESLint and TypeScript concurrently';
|
|
60
60
|
} else if (!ignoreTypeScriptErrors) {
|
|
61
|
-
typeCheckingAndLintingSpinnerPrefixText = '
|
|
61
|
+
typeCheckingAndLintingSpinnerPrefixText = 'Running TypeScript';
|
|
62
62
|
} else if (shouldLint) {
|
|
63
|
-
typeCheckingAndLintingSpinnerPrefixText = '
|
|
63
|
+
typeCheckingAndLintingSpinnerPrefixText = 'Running ESLint';
|
|
64
64
|
}
|
|
65
65
|
// we will not create a spinner if both ignoreTypeScriptErrors and ignoreESLint are
|
|
66
66
|
// enabled, but we will still verifying project's tsconfig and dependencies.
|
|
67
67
|
if (typeCheckingAndLintingSpinnerPrefixText) {
|
|
68
68
|
typeCheckingAndLintingSpinner = createSpinner(typeCheckingAndLintingSpinnerPrefixText);
|
|
69
69
|
}
|
|
70
|
-
const
|
|
70
|
+
const typeCheckAndLintStart = process.hrtime();
|
|
71
71
|
try {
|
|
72
|
-
const [[verifyResult, typeCheckEnd]] = await Promise.all([
|
|
72
|
+
const [[verifyResult, typeCheckEnd], lintCheckEnd] = await Promise.all([
|
|
73
73
|
nextBuildSpan.traceChild('run-typescript').traceAsyncFn(()=>verifyTypeScriptSetup(dir, config.distDir, [
|
|
74
74
|
pagesDir,
|
|
75
75
|
appDir
|
|
76
76
|
].filter(Boolean), !ignoreTypeScriptErrors, config.typescript.tsconfigPath, config.images.disableStaticImages, cacheDir, config.experimental.workerThreads, !!appDir, !!pagesDir).then((resolved)=>{
|
|
77
|
-
const checkEnd = process.hrtime(
|
|
77
|
+
const checkEnd = process.hrtime(typeCheckAndLintStart);
|
|
78
78
|
return [
|
|
79
79
|
resolved,
|
|
80
80
|
checkEnd
|
|
@@ -83,11 +83,18 @@ export async function startTypeChecking({ cacheDir, config, dir, ignoreESLint, n
|
|
|
83
83
|
shouldLint && nextBuildSpan.traceChild('run-eslint').traceAsyncFn(async ()=>{
|
|
84
84
|
var _config_eslint;
|
|
85
85
|
await verifyAndLint(dir, eslintCacheDir, (_config_eslint = config.eslint) == null ? void 0 : _config_eslint.dirs, config.experimental.workerThreads, telemetry);
|
|
86
|
+
const checkEnd = process.hrtime(typeCheckAndLintStart);
|
|
87
|
+
return checkEnd;
|
|
86
88
|
})
|
|
87
89
|
]);
|
|
88
90
|
if (typeCheckingAndLintingSpinner) {
|
|
89
|
-
|
|
90
|
-
typeCheckingAndLintingSpinner.
|
|
91
|
+
var _createSpinner;
|
|
92
|
+
typeCheckingAndLintingSpinner.stop();
|
|
93
|
+
(_createSpinner = createSpinner(`Finished TypeScript${ignoreTypeScriptErrors ? ' config validation' : ''} in ${hrtimeDurationToString(typeCheckEnd)}`)) == null ? void 0 : _createSpinner.stopAndPersist();
|
|
94
|
+
if (lintCheckEnd) {
|
|
95
|
+
var _createSpinner1;
|
|
96
|
+
(_createSpinner1 = createSpinner(`Finished ESLint in ${hrtimeDurationToString(lintCheckEnd)}`)) == null ? void 0 : _createSpinner1.stopAndPersist();
|
|
97
|
+
}
|
|
91
98
|
}
|
|
92
99
|
if (!ignoreTypeScriptErrors && verifyResult) {
|
|
93
100
|
var _verifyResult_result, _verifyResult_result1, _verifyResult_result2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/build/type-check.ts"],"sourcesContent":["import type { NextConfigComplete } from '../server/config-shared'\nimport type { Telemetry } from '../telemetry/storage'\nimport type { Span } from '../trace'\n\nimport path from 'path'\nimport * as Log from './output/log'\nimport { Worker } from '../lib/worker'\nimport { verifyAndLint } from '../lib/verifyAndLint'\nimport createSpinner from './spinner'\nimport { eventTypeCheckCompleted } from '../telemetry/events'\nimport isError from '../lib/is-error'\nimport { hrtimeDurationToString } from './duration-to-string'\n\n/**\n * typescript will be loaded in \"next/lib/verify-typescript-setup\" and\n * then passed to \"next/lib/typescript/runTypeCheck\" as a parameter.\n *\n * Since it is impossible to pass a function from main thread to a worker,\n * instead of running \"next/lib/typescript/runTypeCheck\" in a worker,\n * we will run entire \"next/lib/verify-typescript-setup\" in a worker instead.\n */\nfunction verifyTypeScriptSetup(\n dir: string,\n distDir: string,\n intentDirs: string[],\n typeCheckPreflight: boolean,\n tsconfigPath: string | undefined,\n disableStaticImages: boolean,\n cacheDir: string | undefined,\n enableWorkerThreads: boolean | undefined,\n hasAppDir: boolean,\n hasPagesDir: boolean\n) {\n const typeCheckWorker = new Worker(\n require.resolve('../lib/verify-typescript-setup'),\n {\n exposedMethods: ['verifyTypeScriptSetup'],\n debuggerPortOffset: -1,\n isolatedMemory: false,\n numWorkers: 1,\n enableWorkerThreads,\n maxRetries: 0,\n }\n ) as Worker & {\n verifyTypeScriptSetup: typeof import('../lib/verify-typescript-setup').verifyTypeScriptSetup\n }\n\n return typeCheckWorker\n .verifyTypeScriptSetup({\n dir,\n distDir,\n intentDirs,\n typeCheckPreflight,\n tsconfigPath,\n disableStaticImages,\n cacheDir,\n hasAppDir,\n hasPagesDir,\n })\n .then((result) => {\n typeCheckWorker.end()\n return result\n })\n .catch(() => {\n // The error is already logged in the worker, we simply exit the main thread to prevent the\n // `Jest worker encountered 1 child process exceptions, exceeding retry limit` from showing up\n process.exit(1)\n })\n}\n\nexport async function startTypeChecking({\n cacheDir,\n config,\n dir,\n ignoreESLint,\n nextBuildSpan,\n pagesDir,\n runLint,\n shouldLint,\n telemetry,\n appDir,\n}: {\n cacheDir: string\n config: NextConfigComplete\n dir: string\n ignoreESLint: boolean\n nextBuildSpan: Span\n pagesDir?: string\n runLint: boolean\n shouldLint: boolean\n telemetry: Telemetry\n appDir?: string\n}) {\n const ignoreTypeScriptErrors = Boolean(config.typescript.ignoreBuildErrors)\n\n const eslintCacheDir = path.join(cacheDir, 'eslint/')\n\n if (ignoreTypeScriptErrors) {\n Log.info('Skipping validation of types')\n }\n if (runLint && ignoreESLint) {\n // only print log when build require lint while ignoreESLint is enabled\n Log.info('Skipping linting')\n }\n\n let typeCheckingAndLintingSpinnerPrefixText: string | undefined\n let typeCheckingAndLintingSpinner:\n | ReturnType<typeof createSpinner>\n | undefined\n\n if (!ignoreTypeScriptErrors && shouldLint) {\n typeCheckingAndLintingSpinnerPrefixText =\n 'Linting and checking validity of types'\n } else if (!ignoreTypeScriptErrors) {\n typeCheckingAndLintingSpinnerPrefixText = 'Checking validity of types'\n } else if (shouldLint) {\n typeCheckingAndLintingSpinnerPrefixText = 'Linting'\n }\n\n // we will not create a spinner if both ignoreTypeScriptErrors and ignoreESLint are\n // enabled, but we will still verifying project's tsconfig and dependencies.\n if (typeCheckingAndLintingSpinnerPrefixText) {\n typeCheckingAndLintingSpinner = createSpinner(\n typeCheckingAndLintingSpinnerPrefixText\n )\n }\n\n const typeCheckStart = process.hrtime()\n\n try {\n const [[verifyResult, typeCheckEnd]] = await Promise.all([\n nextBuildSpan.traceChild('run-typescript').traceAsyncFn(() =>\n verifyTypeScriptSetup(\n dir,\n config.distDir,\n [pagesDir, appDir].filter(Boolean) as string[],\n !ignoreTypeScriptErrors,\n config.typescript.tsconfigPath,\n config.images.disableStaticImages,\n cacheDir,\n config.experimental.workerThreads,\n !!appDir,\n !!pagesDir\n ).then((resolved) => {\n const checkEnd = process.hrtime(typeCheckStart)\n return [resolved, checkEnd] as const\n })\n ),\n shouldLint &&\n nextBuildSpan.traceChild('run-eslint').traceAsyncFn(async () => {\n await verifyAndLint(\n dir,\n eslintCacheDir,\n config.eslint?.dirs,\n config.experimental.workerThreads,\n telemetry\n )\n }),\n ])\n\n if (typeCheckingAndLintingSpinner) {\n typeCheckingAndLintingSpinner.setText(\n `${typeCheckingAndLintingSpinnerPrefixText} in ${hrtimeDurationToString(typeCheckEnd)}`\n )\n typeCheckingAndLintingSpinner.stopAndPersist()\n }\n\n if (!ignoreTypeScriptErrors && verifyResult) {\n telemetry.record(\n eventTypeCheckCompleted({\n durationInSeconds: typeCheckEnd[0],\n typescriptVersion: verifyResult.version,\n inputFilesCount: verifyResult.result?.inputFilesCount,\n totalFilesCount: verifyResult.result?.totalFilesCount,\n incremental: verifyResult.result?.incremental,\n })\n )\n }\n } catch (err) {\n // prevent showing jest-worker internal error as it\n // isn't helpful for users and clutters output\n if (isError(err) && err.message === 'Call retries were exceeded') {\n await telemetry.flush()\n process.exit(1)\n }\n throw err\n }\n}\n"],"names":["path","Log","Worker","verifyAndLint","createSpinner","eventTypeCheckCompleted","isError","hrtimeDurationToString","verifyTypeScriptSetup","dir","distDir","intentDirs","typeCheckPreflight","tsconfigPath","disableStaticImages","cacheDir","enableWorkerThreads","hasAppDir","hasPagesDir","typeCheckWorker","require","resolve","exposedMethods","debuggerPortOffset","isolatedMemory","numWorkers","maxRetries","then","result","end","catch","process","exit","startTypeChecking","config","ignoreESLint","nextBuildSpan","pagesDir","runLint","shouldLint","telemetry","appDir","ignoreTypeScriptErrors","Boolean","typescript","ignoreBuildErrors","eslintCacheDir","join","info","typeCheckingAndLintingSpinnerPrefixText","typeCheckingAndLintingSpinner","typeCheckStart","hrtime","verifyResult","typeCheckEnd","Promise","all","traceChild","traceAsyncFn","filter","images","experimental","workerThreads","resolved","checkEnd","eslint","dirs","setText","stopAndPersist","record","durationInSeconds","typescriptVersion","version","inputFilesCount","totalFilesCount","incremental","err","message","flush"],"mappings":"AAIA,OAAOA,UAAU,OAAM;AACvB,YAAYC,SAAS,eAAc;AACnC,SAASC,MAAM,QAAQ,gBAAe;AACtC,SAASC,aAAa,QAAQ,uBAAsB;AACpD,OAAOC,mBAAmB,YAAW;AACrC,SAASC,uBAAuB,QAAQ,sBAAqB;AAC7D,OAAOC,aAAa,kBAAiB;AACrC,SAASC,sBAAsB,QAAQ,uBAAsB;AAE7D;;;;;;;CAOC,GACD,SAASC,sBACPC,GAAW,EACXC,OAAe,EACfC,UAAoB,EACpBC,kBAA2B,EAC3BC,YAAgC,EAChCC,mBAA4B,EAC5BC,QAA4B,EAC5BC,mBAAwC,EACxCC,SAAkB,EAClBC,WAAoB;IAEpB,MAAMC,kBAAkB,IAAIjB,OAC1BkB,QAAQC,OAAO,CAAC,mCAChB;QACEC,gBAAgB;YAAC;SAAwB;QACzCC,oBAAoB,CAAC;QACrBC,gBAAgB;QAChBC,YAAY;QACZT;QACAU,YAAY;IACd;IAKF,OAAOP,gBACJX,qBAAqB,CAAC;QACrBC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAC;QACAE;QACAC;IACF,GACCS,IAAI,CAAC,CAACC;QACLT,gBAAgBU,GAAG;QACnB,OAAOD;IACT,GACCE,KAAK,CAAC;QACL,2FAA2F;QAC3F,8FAA8F;QAC9FC,QAAQC,IAAI,CAAC;IACf;AACJ;AAEA,OAAO,eAAeC,kBAAkB,EACtClB,QAAQ,EACRmB,MAAM,EACNzB,GAAG,EACH0B,YAAY,EACZC,aAAa,EACbC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,SAAS,EACTC,MAAM,EAYP;IACC,MAAMC,yBAAyBC,QAAQT,OAAOU,UAAU,CAACC,iBAAiB;IAE1E,MAAMC,iBAAiB9C,KAAK+C,IAAI,CAAChC,UAAU;IAE3C,IAAI2B,wBAAwB;QAC1BzC,IAAI+C,IAAI,CAAC;IACX;IACA,IAAIV,WAAWH,cAAc;QAC3B,uEAAuE;QACvElC,IAAI+C,IAAI,CAAC;IACX;IAEA,IAAIC;IACJ,IAAIC;IAIJ,IAAI,CAACR,0BAA0BH,YAAY;QACzCU,0CACE;IACJ,OAAO,IAAI,CAACP,wBAAwB;QAClCO,0CAA0C;IAC5C,OAAO,IAAIV,YAAY;QACrBU,0CAA0C;IAC5C;IAEA,mFAAmF;IACnF,4EAA4E;IAC5E,IAAIA,yCAAyC;QAC3CC,gCAAgC9C,cAC9B6C;IAEJ;IAEA,MAAME,iBAAiBpB,QAAQqB,MAAM;IAErC,IAAI;QACF,MAAM,CAAC,CAACC,cAAcC,aAAa,CAAC,GAAG,MAAMC,QAAQC,GAAG,CAAC;YACvDpB,cAAcqB,UAAU,CAAC,kBAAkBC,YAAY,CAAC,IACtDlD,sBACEC,KACAyB,OAAOxB,OAAO,EACd;oBAAC2B;oBAAUI;iBAAO,CAACkB,MAAM,CAAChB,UAC1B,CAACD,wBACDR,OAAOU,UAAU,CAAC/B,YAAY,EAC9BqB,OAAO0B,MAAM,CAAC9C,mBAAmB,EACjCC,UACAmB,OAAO2B,YAAY,CAACC,aAAa,EACjC,CAAC,CAACrB,QACF,CAAC,CAACJ,UACFV,IAAI,CAAC,CAACoC;oBACN,MAAMC,WAAWjC,QAAQqB,MAAM,CAACD;oBAChC,OAAO;wBAACY;wBAAUC;qBAAS;gBAC7B;YAEFzB,cACEH,cAAcqB,UAAU,CAAC,cAAcC,YAAY,CAAC;oBAIhDxB;gBAHF,MAAM/B,cACJM,KACAqC,iBACAZ,iBAAAA,OAAO+B,MAAM,qBAAb/B,eAAegC,IAAI,EACnBhC,OAAO2B,YAAY,CAACC,aAAa,EACjCtB;YAEJ;SACH;QAED,IAAIU,+BAA+B;YACjCA,8BAA8BiB,OAAO,CACnC,GAAGlB,wCAAwC,IAAI,EAAE1C,uBAAuB+C,eAAe;YAEzFJ,8BAA8BkB,cAAc;QAC9C;QAEA,IAAI,CAAC1B,0BAA0BW,cAAc;gBAKtBA,sBACAA,uBACJA;YANjBb,UAAU6B,MAAM,CACdhE,wBAAwB;gBACtBiE,mBAAmBhB,YAAY,CAAC,EAAE;gBAClCiB,mBAAmBlB,aAAamB,OAAO;gBACvCC,eAAe,GAAEpB,uBAAAA,aAAazB,MAAM,qBAAnByB,qBAAqBoB,eAAe;gBACrDC,eAAe,GAAErB,wBAAAA,aAAazB,MAAM,qBAAnByB,sBAAqBqB,eAAe;gBACrDC,WAAW,GAAEtB,wBAAAA,aAAazB,MAAM,qBAAnByB,sBAAqBsB,WAAW;YAC/C;QAEJ;IACF,EAAE,OAAOC,KAAK;QACZ,mDAAmD;QACnD,8CAA8C;QAC9C,IAAItE,QAAQsE,QAAQA,IAAIC,OAAO,KAAK,8BAA8B;YAChE,MAAMrC,UAAUsC,KAAK;YACrB/C,QAAQC,IAAI,CAAC;QACf;QACA,MAAM4C;IACR;AACF","ignoreList":[0]}
|
|
1
|
+
{"version":3,"sources":["../../src/build/type-check.ts"],"sourcesContent":["import type { NextConfigComplete } from '../server/config-shared'\nimport type { Telemetry } from '../telemetry/storage'\nimport type { Span } from '../trace'\n\nimport path from 'path'\nimport * as Log from './output/log'\nimport { Worker } from '../lib/worker'\nimport { verifyAndLint } from '../lib/verifyAndLint'\nimport createSpinner from './spinner'\nimport { eventTypeCheckCompleted } from '../telemetry/events'\nimport isError from '../lib/is-error'\nimport { hrtimeDurationToString } from './duration-to-string'\n\n/**\n * typescript will be loaded in \"next/lib/verify-typescript-setup\" and\n * then passed to \"next/lib/typescript/runTypeCheck\" as a parameter.\n *\n * Since it is impossible to pass a function from main thread to a worker,\n * instead of running \"next/lib/typescript/runTypeCheck\" in a worker,\n * we will run entire \"next/lib/verify-typescript-setup\" in a worker instead.\n */\nfunction verifyTypeScriptSetup(\n dir: string,\n distDir: string,\n intentDirs: string[],\n typeCheckPreflight: boolean,\n tsconfigPath: string | undefined,\n disableStaticImages: boolean,\n cacheDir: string | undefined,\n enableWorkerThreads: boolean | undefined,\n hasAppDir: boolean,\n hasPagesDir: boolean\n) {\n const typeCheckWorker = new Worker(\n require.resolve('../lib/verify-typescript-setup'),\n {\n exposedMethods: ['verifyTypeScriptSetup'],\n debuggerPortOffset: -1,\n isolatedMemory: false,\n numWorkers: 1,\n enableWorkerThreads,\n maxRetries: 0,\n }\n ) as Worker & {\n verifyTypeScriptSetup: typeof import('../lib/verify-typescript-setup').verifyTypeScriptSetup\n }\n\n return typeCheckWorker\n .verifyTypeScriptSetup({\n dir,\n distDir,\n intentDirs,\n typeCheckPreflight,\n tsconfigPath,\n disableStaticImages,\n cacheDir,\n hasAppDir,\n hasPagesDir,\n })\n .then((result) => {\n typeCheckWorker.end()\n return result\n })\n .catch(() => {\n // The error is already logged in the worker, we simply exit the main thread to prevent the\n // `Jest worker encountered 1 child process exceptions, exceeding retry limit` from showing up\n process.exit(1)\n })\n}\n\nexport async function startTypeChecking({\n cacheDir,\n config,\n dir,\n ignoreESLint,\n nextBuildSpan,\n pagesDir,\n runLint,\n shouldLint,\n telemetry,\n appDir,\n}: {\n cacheDir: string\n config: NextConfigComplete\n dir: string\n ignoreESLint: boolean\n nextBuildSpan: Span\n pagesDir?: string\n runLint: boolean\n shouldLint: boolean\n telemetry: Telemetry\n appDir?: string\n}) {\n const ignoreTypeScriptErrors = Boolean(config.typescript.ignoreBuildErrors)\n\n const eslintCacheDir = path.join(cacheDir, 'eslint/')\n\n if (ignoreTypeScriptErrors) {\n Log.info('Skipping validation of types')\n }\n if (runLint && ignoreESLint) {\n // only print log when build require lint while ignoreESLint is enabled\n Log.info('Skipping linting')\n }\n\n let typeCheckingAndLintingSpinnerPrefixText: string | undefined\n let typeCheckingAndLintingSpinner:\n | ReturnType<typeof createSpinner>\n | undefined\n\n if (!ignoreTypeScriptErrors && shouldLint) {\n typeCheckingAndLintingSpinnerPrefixText =\n 'Running ESLint and TypeScript concurrently'\n } else if (!ignoreTypeScriptErrors) {\n typeCheckingAndLintingSpinnerPrefixText = 'Running TypeScript'\n } else if (shouldLint) {\n typeCheckingAndLintingSpinnerPrefixText = 'Running ESLint'\n }\n\n // we will not create a spinner if both ignoreTypeScriptErrors and ignoreESLint are\n // enabled, but we will still verifying project's tsconfig and dependencies.\n if (typeCheckingAndLintingSpinnerPrefixText) {\n typeCheckingAndLintingSpinner = createSpinner(\n typeCheckingAndLintingSpinnerPrefixText\n )\n }\n\n const typeCheckAndLintStart = process.hrtime()\n\n try {\n const [[verifyResult, typeCheckEnd], lintCheckEnd] = await Promise.all([\n nextBuildSpan.traceChild('run-typescript').traceAsyncFn(() =>\n verifyTypeScriptSetup(\n dir,\n config.distDir,\n [pagesDir, appDir].filter(Boolean) as string[],\n !ignoreTypeScriptErrors,\n config.typescript.tsconfigPath,\n config.images.disableStaticImages,\n cacheDir,\n config.experimental.workerThreads,\n !!appDir,\n !!pagesDir\n ).then((resolved) => {\n const checkEnd = process.hrtime(typeCheckAndLintStart)\n return [resolved, checkEnd] as const\n })\n ),\n shouldLint &&\n nextBuildSpan.traceChild('run-eslint').traceAsyncFn(async () => {\n await verifyAndLint(\n dir,\n eslintCacheDir,\n config.eslint?.dirs,\n config.experimental.workerThreads,\n telemetry\n )\n const checkEnd = process.hrtime(typeCheckAndLintStart)\n return checkEnd\n }),\n ])\n\n if (typeCheckingAndLintingSpinner) {\n typeCheckingAndLintingSpinner.stop()\n\n createSpinner(\n `Finished TypeScript${ignoreTypeScriptErrors ? ' config validation' : ''} in ${hrtimeDurationToString(typeCheckEnd)}`\n )?.stopAndPersist()\n if (lintCheckEnd) {\n createSpinner(\n `Finished ESLint in ${hrtimeDurationToString(lintCheckEnd)}`\n )?.stopAndPersist()\n }\n }\n\n if (!ignoreTypeScriptErrors && verifyResult) {\n telemetry.record(\n eventTypeCheckCompleted({\n durationInSeconds: typeCheckEnd[0],\n typescriptVersion: verifyResult.version,\n inputFilesCount: verifyResult.result?.inputFilesCount,\n totalFilesCount: verifyResult.result?.totalFilesCount,\n incremental: verifyResult.result?.incremental,\n })\n )\n }\n } catch (err) {\n // prevent showing jest-worker internal error as it\n // isn't helpful for users and clutters output\n if (isError(err) && err.message === 'Call retries were exceeded') {\n await telemetry.flush()\n process.exit(1)\n }\n throw err\n }\n}\n"],"names":["path","Log","Worker","verifyAndLint","createSpinner","eventTypeCheckCompleted","isError","hrtimeDurationToString","verifyTypeScriptSetup","dir","distDir","intentDirs","typeCheckPreflight","tsconfigPath","disableStaticImages","cacheDir","enableWorkerThreads","hasAppDir","hasPagesDir","typeCheckWorker","require","resolve","exposedMethods","debuggerPortOffset","isolatedMemory","numWorkers","maxRetries","then","result","end","catch","process","exit","startTypeChecking","config","ignoreESLint","nextBuildSpan","pagesDir","runLint","shouldLint","telemetry","appDir","ignoreTypeScriptErrors","Boolean","typescript","ignoreBuildErrors","eslintCacheDir","join","info","typeCheckingAndLintingSpinnerPrefixText","typeCheckingAndLintingSpinner","typeCheckAndLintStart","hrtime","verifyResult","typeCheckEnd","lintCheckEnd","Promise","all","traceChild","traceAsyncFn","filter","images","experimental","workerThreads","resolved","checkEnd","eslint","dirs","stop","stopAndPersist","record","durationInSeconds","typescriptVersion","version","inputFilesCount","totalFilesCount","incremental","err","message","flush"],"mappings":"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","ignoreList":[0]}
|
|
@@ -1599,7 +1599,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
|
1599
1599
|
isClient && new CopyFilePlugin({
|
|
1600
1600
|
// file path to build output of `@next/polyfill-nomodule`
|
|
1601
1601
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
|
1602
|
-
cacheKey: "15.6.0-canary.
|
|
1602
|
+
cacheKey: "15.6.0-canary.51",
|
|
1603
1603
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
|
1604
1604
|
minimize: false,
|
|
1605
1605
|
info: {
|
|
@@ -1782,7 +1782,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
|
1782
1782
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
|
1783
1783
|
// - Next.js version
|
|
1784
1784
|
// - next.config.js keys that affect compilation
|
|
1785
|
-
version: `${__dirname}|${"15.6.0-canary.
|
|
1785
|
+
version: `${__dirname}|${"15.6.0-canary.51"}|${configVars}`,
|
|
1786
1786
|
cacheDirectory: path.join(distDir, 'cache', 'webpack'),
|
|
1787
1787
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
|
1788
1788
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - next/script with `beforeInteractive` strategy
|
|
6
6
|
*/ import { getAssetPrefix } from './asset-prefix';
|
|
7
7
|
import { setAttributesFromProps } from './set-attributes-from-props';
|
|
8
|
-
const version = "15.6.0-canary.
|
|
8
|
+
const version = "15.6.0-canary.51";
|
|
9
9
|
window.next = {
|
|
10
10
|
version,
|
|
11
11
|
appDir: true
|
package/dist/esm/client/index.js
CHANGED
|
@@ -26,7 +26,7 @@ import { SearchParamsContext, PathParamsContext } from '../shared/lib/hooks-clie
|
|
|
26
26
|
import { onRecoverableError } from './react-client-callbacks/on-recoverable-error';
|
|
27
27
|
import tracer from './tracing/tracer';
|
|
28
28
|
import { isNextRouterError } from './components/is-next-router-error';
|
|
29
|
-
export const version = "15.6.0-canary.
|
|
29
|
+
export const version = "15.6.0-canary.51";
|
|
30
30
|
export let router;
|
|
31
31
|
export const emitter = mitt();
|
|
32
32
|
const looseToArray = (input)=>[].slice.call(input);
|
|
@@ -95,7 +95,7 @@ export async function createHotReloaderTurbopack(opts, serverFields, distDir, re
|
|
|
95
95
|
}
|
|
96
96
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
|
97
97
|
const hotReloaderSpan = trace('hot-reloader', undefined, {
|
|
98
|
-
version: "15.6.0-canary.
|
|
98
|
+
version: "15.6.0-canary.51"
|
|
99
99
|
});
|
|
100
100
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
101
101
|
// of the current `next dev` invocation.
|
|
@@ -160,7 +160,7 @@ export default class HotReloaderWebpack {
|
|
|
160
160
|
this.previewProps = previewProps;
|
|
161
161
|
this.rewrites = rewrites;
|
|
162
162
|
this.hotReloaderSpan = trace('hot-reloader', undefined, {
|
|
163
|
-
version: "15.6.0-canary.
|
|
163
|
+
version: "15.6.0-canary.51"
|
|
164
164
|
});
|
|
165
165
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
166
166
|
// of the current `next dev` invocation.
|
|
@@ -14,7 +14,7 @@ export function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures
|
|
|
14
14
|
bundlerSuffix = ' (webpack)';
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"15.6.0-canary.
|
|
17
|
+
Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"15.6.0-canary.51"}`))}${bundlerSuffix}`);
|
|
18
18
|
if (appUrl) {
|
|
19
19
|
Log.bootstrap(`- Local: ${appUrl}`);
|
|
20
20
|
}
|
|
@@ -111,7 +111,7 @@ export async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup,
|
|
|
111
111
|
export async function startServer(serverOptions) {
|
|
112
112
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
|
|
113
113
|
let { port } = serverOptions;
|
|
114
|
-
process.title = `next-server (v${"15.6.0-canary.
|
|
114
|
+
process.title = `next-server (v${"15.6.0-canary.51"})`;
|
|
115
115
|
let handlersReady = ()=>{};
|
|
116
116
|
let handlersError = ()=>{};
|
|
117
117
|
let handlersPromise = new Promise((resolve, reject)=>{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export function isStableBuild() {
|
|
2
|
-
return !"15.6.0-canary.
|
|
2
|
+
return !"15.6.0-canary.51"?.includes('canary') && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
|
|
3
3
|
}
|
|
4
4
|
export class CanaryOnlyError extends Error {
|
|
5
5
|
constructor(arg){
|
|
@@ -151,7 +151,7 @@ async function createHotReloaderTurbopack(opts, serverFields, distDir, resetFetc
|
|
|
151
151
|
}
|
|
152
152
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
|
153
153
|
const hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
|
154
|
-
version: "15.6.0-canary.
|
|
154
|
+
version: "15.6.0-canary.51"
|
|
155
155
|
});
|
|
156
156
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
157
157
|
// of the current `next dev` invocation.
|
|
@@ -228,7 +228,7 @@ class HotReloaderWebpack {
|
|
|
228
228
|
this.previewProps = previewProps;
|
|
229
229
|
this.rewrites = rewrites;
|
|
230
230
|
this.hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
|
231
|
-
version: "15.6.0-canary.
|
|
231
|
+
version: "15.6.0-canary.51"
|
|
232
232
|
});
|
|
233
233
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
|
234
234
|
// of the current `next dev` invocation.
|
|
@@ -82,7 +82,7 @@ function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures, logBu
|
|
|
82
82
|
bundlerSuffix = ' (webpack)';
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
|
-
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.6.0-canary.
|
|
85
|
+
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.6.0-canary.51"}`))}${bundlerSuffix}`);
|
|
86
86
|
if (appUrl) {
|
|
87
87
|
_log.bootstrap(`- Local: ${appUrl}`);
|
|
88
88
|
}
|
|
@@ -179,7 +179,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
|
|
|
179
179
|
async function startServer(serverOptions) {
|
|
180
180
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
|
|
181
181
|
let { port } = serverOptions;
|
|
182
|
-
process.title = `next-server (v${"15.6.0-canary.
|
|
182
|
+
process.title = `next-server (v${"15.6.0-canary.51"})`;
|
|
183
183
|
let handlersReady = ()=>{};
|
|
184
184
|
let handlersError = ()=>{};
|
|
185
185
|
let handlersPromise = new Promise((resolve, reject)=>{
|
|
@@ -21,7 +21,7 @@ _export(exports, {
|
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
23
|
function isStableBuild() {
|
|
24
|
-
return !"15.6.0-canary.
|
|
24
|
+
return !"15.6.0-canary.51"?.includes('canary') && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
|
|
25
25
|
}
|
|
26
26
|
class CanaryOnlyError extends Error {
|
|
27
27
|
constructor(arg){
|
|
@@ -11,11 +11,11 @@ Object.defineProperty(exports, "eventCliSessionStopped", {
|
|
|
11
11
|
const EVENT_VERSION = 'NEXT_CLI_SESSION_STOPPED';
|
|
12
12
|
function eventCliSessionStopped(event) {
|
|
13
13
|
// This should be an invariant, if it fails our build tooling is broken.
|
|
14
|
-
if (typeof "15.6.0-canary.
|
|
14
|
+
if (typeof "15.6.0-canary.51" !== 'string') {
|
|
15
15
|
return [];
|
|
16
16
|
}
|
|
17
17
|
const payload = {
|
|
18
|
-
nextVersion: "15.6.0-canary.
|
|
18
|
+
nextVersion: "15.6.0-canary.51",
|
|
19
19
|
nodeVersion: process.version,
|
|
20
20
|
cliCommand: event.cliCommand,
|
|
21
21
|
durationMilliseconds: event.durationMilliseconds,
|
|
@@ -12,12 +12,12 @@ const EVENT_VERSION = 'NEXT_CLI_SESSION_STARTED';
|
|
|
12
12
|
function eventCliSession(nextConfig, event) {
|
|
13
13
|
var _nextConfig_experimental_staleTimes, _nextConfig_experimental_staleTimes1, _nextConfig_reactCompiler, _nextConfig_reactCompiler1;
|
|
14
14
|
// This should be an invariant, if it fails our build tooling is broken.
|
|
15
|
-
if (typeof "15.6.0-canary.
|
|
15
|
+
if (typeof "15.6.0-canary.51" !== 'string') {
|
|
16
16
|
return [];
|
|
17
17
|
}
|
|
18
18
|
const { images, i18n } = nextConfig || {};
|
|
19
19
|
const payload = {
|
|
20
|
-
nextVersion: "15.6.0-canary.
|
|
20
|
+
nextVersion: "15.6.0-canary.51",
|
|
21
21
|
nodeVersion: process.version,
|
|
22
22
|
cliCommand: event.cliCommand,
|
|
23
23
|
isSrcDir: event.isSrcDir,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "next",
|
|
3
|
-
"version": "15.6.0-canary.
|
|
3
|
+
"version": "15.6.0-canary.51",
|
|
4
4
|
"description": "The React Framework",
|
|
5
5
|
"main": "./dist/server/next.js",
|
|
6
6
|
"license": "MIT",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
]
|
|
101
101
|
},
|
|
102
102
|
"dependencies": {
|
|
103
|
-
"@next/env": "15.6.0-canary.
|
|
103
|
+
"@next/env": "15.6.0-canary.51",
|
|
104
104
|
"@swc/helpers": "0.5.15",
|
|
105
105
|
"caniuse-lite": "^1.0.30001579",
|
|
106
106
|
"postcss": "8.4.31",
|
|
@@ -130,14 +130,14 @@
|
|
|
130
130
|
},
|
|
131
131
|
"optionalDependencies": {
|
|
132
132
|
"sharp": "^0.34.4",
|
|
133
|
-
"@next/swc-darwin-arm64": "15.6.0-canary.
|
|
134
|
-
"@next/swc-darwin-x64": "15.6.0-canary.
|
|
135
|
-
"@next/swc-linux-arm64-gnu": "15.6.0-canary.
|
|
136
|
-
"@next/swc-linux-arm64-musl": "15.6.0-canary.
|
|
137
|
-
"@next/swc-linux-x64-gnu": "15.6.0-canary.
|
|
138
|
-
"@next/swc-linux-x64-musl": "15.6.0-canary.
|
|
139
|
-
"@next/swc-win32-arm64-msvc": "15.6.0-canary.
|
|
140
|
-
"@next/swc-win32-x64-msvc": "15.6.0-canary.
|
|
133
|
+
"@next/swc-darwin-arm64": "15.6.0-canary.51",
|
|
134
|
+
"@next/swc-darwin-x64": "15.6.0-canary.51",
|
|
135
|
+
"@next/swc-linux-arm64-gnu": "15.6.0-canary.51",
|
|
136
|
+
"@next/swc-linux-arm64-musl": "15.6.0-canary.51",
|
|
137
|
+
"@next/swc-linux-x64-gnu": "15.6.0-canary.51",
|
|
138
|
+
"@next/swc-linux-x64-musl": "15.6.0-canary.51",
|
|
139
|
+
"@next/swc-win32-arm64-msvc": "15.6.0-canary.51",
|
|
140
|
+
"@next/swc-win32-x64-msvc": "15.6.0-canary.51"
|
|
141
141
|
},
|
|
142
142
|
"devDependencies": {
|
|
143
143
|
"@babel/code-frame": "7.26.2",
|
|
@@ -172,11 +172,11 @@
|
|
|
172
172
|
"@modelcontextprotocol/sdk": "1.18.1",
|
|
173
173
|
"@mswjs/interceptors": "0.23.0",
|
|
174
174
|
"@napi-rs/triples": "1.2.0",
|
|
175
|
-
"@next/font": "15.6.0-canary.
|
|
176
|
-
"@next/polyfill-module": "15.6.0-canary.
|
|
177
|
-
"@next/polyfill-nomodule": "15.6.0-canary.
|
|
178
|
-
"@next/react-refresh-utils": "15.6.0-canary.
|
|
179
|
-
"@next/swc": "15.6.0-canary.
|
|
175
|
+
"@next/font": "15.6.0-canary.51",
|
|
176
|
+
"@next/polyfill-module": "15.6.0-canary.51",
|
|
177
|
+
"@next/polyfill-nomodule": "15.6.0-canary.51",
|
|
178
|
+
"@next/react-refresh-utils": "15.6.0-canary.51",
|
|
179
|
+
"@next/swc": "15.6.0-canary.51",
|
|
180
180
|
"@opentelemetry/api": "1.6.0",
|
|
181
181
|
"@playwright/test": "1.51.1",
|
|
182
182
|
"@rspack/core": "1.5.0",
|