next 15.5.1-canary.33 → 15.5.1-canary.34
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 +2 -2
- package/dist/build/load-jsconfig.js +1 -1
- package/dist/build/load-jsconfig.js.map +1 -1
- package/dist/build/next-config-ts/transpile-config.js +2 -1
- package/dist/build/next-config-ts/transpile-config.js.map +1 -1
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack-config.js +2 -2
- package/dist/cli/next-test.js +1 -1
- package/dist/cli/next-test.js.map +1 -1
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-server/pages-api.runtime.prod.js +1 -1
- package/dist/compiled/next-server/pages-api.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/pages.runtime.prod.js +1 -1
- package/dist/compiled/next-server/pages.runtime.prod.js.map +1 -1
- package/dist/esm/build/index.js +2 -2
- package/dist/esm/build/load-jsconfig.js +1 -1
- package/dist/esm/build/load-jsconfig.js.map +1 -1
- package/dist/esm/build/next-config-ts/transpile-config.js +2 -1
- package/dist/esm/build/next-config-ts/transpile-config.js.map +1 -1
- package/dist/esm/build/swc/index.js +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/lib/eslint/runLintCheck.js +1 -1
- package/dist/esm/lib/eslint/runLintCheck.js.map +1 -1
- package/dist/esm/lib/has-necessary-dependencies.js +9 -7
- package/dist/esm/lib/has-necessary-dependencies.js.map +1 -1
- package/dist/esm/lib/verify-partytown-setup.js +1 -1
- package/dist/esm/lib/verify-partytown-setup.js.map +1 -1
- package/dist/esm/lib/verify-typescript-setup.js +2 -2
- package/dist/esm/lib/verify-typescript-setup.js.map +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +13 -3
- package/dist/esm/server/dev/hot-reloader-turbopack.js.map +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/lib/eslint/runLintCheck.js +1 -1
- package/dist/lib/eslint/runLintCheck.js.map +1 -1
- package/dist/lib/has-necessary-dependencies.d.ts +1 -1
- package/dist/lib/has-necessary-dependencies.js +8 -6
- package/dist/lib/has-necessary-dependencies.js.map +1 -1
- package/dist/lib/verify-partytown-setup.js +1 -1
- package/dist/lib/verify-partytown-setup.js.map +1 -1
- package/dist/lib/verify-typescript-setup.js +2 -2
- package/dist/lib/verify-typescript-setup.js.map +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +13 -3
- package/dist/server/dev/hot-reloader-turbopack.js.map +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.5.1-canary.
|
82
|
+
}).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.5.1-canary.34"}`, '-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', 'Starts development mode using Turbopack.').option('--turbopack', 'Starts development mode using Turbopack.').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
@@ -369,7 +369,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
|
|
369
369
|
const nextBuildSpan = (0, _trace.trace)('next-build', undefined, {
|
370
370
|
buildMode: experimentalBuildMode,
|
371
371
|
isTurboBuild: String(isTurbopack),
|
372
|
-
version: "15.5.1-canary.
|
372
|
+
version: "15.5.1-canary.34"
|
373
373
|
});
|
374
374
|
_buildcontext.NextBuildContext.nextBuildSpan = nextBuildSpan;
|
375
375
|
_buildcontext.NextBuildContext.dir = dir;
|
@@ -848,7 +848,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
|
|
848
848
|
// Files outside of the distDir can be "type": "module"
|
849
849
|
await writeFileUtf8(_path.default.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
850
850
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
851
|
-
await (0, _builddiagnostics.recordFrameworkVersion)("15.5.1-canary.
|
851
|
+
await (0, _builddiagnostics.recordFrameworkVersion)("15.5.1-canary.34");
|
852
852
|
await (0, _builddiagnostics.updateBuildDiagnostics)({
|
853
853
|
buildStage: 'start'
|
854
854
|
});
|
@@ -105,7 +105,7 @@ async function loadJsConfig(dir, config) {
|
|
105
105
|
var _jsConfig_compilerOptions;
|
106
106
|
let typeScriptPath;
|
107
107
|
try {
|
108
|
-
const deps =
|
108
|
+
const deps = (0, _hasnecessarydependencies.hasNecessaryDependencies)(dir, [
|
109
109
|
{
|
110
110
|
pkg: 'typescript',
|
111
111
|
file: 'typescript/lib/typescript.js',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/build/load-jsconfig.ts"],"sourcesContent":["import path from 'path'\nimport fs from 'fs'\nimport type { NextConfigComplete } from '../server/config-shared'\nimport * as Log from './output/log'\nimport { getTypeScriptConfiguration } from '../lib/typescript/getTypeScriptConfiguration'\nimport { readFileSync } from 'fs'\nimport isError from '../lib/is-error'\nimport { hasNecessaryDependencies } from '../lib/has-necessary-dependencies'\n\nlet TSCONFIG_WARNED = false\n\nexport function parseJsonFile(filePath: string) {\n const JSON5 =\n require('next/dist/compiled/json5') as typeof import('next/dist/compiled/json5')\n const contents = readFileSync(filePath, 'utf8')\n\n // Special case an empty file\n if (contents.trim() === '') {\n return {}\n }\n\n try {\n return JSON5.parse(contents)\n } catch (err) {\n if (!isError(err)) throw err\n const { codeFrameColumns } =\n require('next/dist/compiled/babel/code-frame') as typeof import('next/dist/compiled/babel/code-frame')\n const codeFrame = codeFrameColumns(\n String(contents),\n {\n start: {\n line: (err as Error & { lineNumber?: number }).lineNumber || 0,\n column: (err as Error & { columnNumber?: number }).columnNumber || 0,\n },\n },\n { message: err.message, highlightCode: true }\n )\n throw new Error(`Failed to parse \"${filePath}\":\\n${codeFrame}`)\n }\n}\n\nexport type ResolvedBaseUrl =\n | { baseUrl: string; isImplicit: boolean }\n | undefined\n\nexport type JsConfig = { compilerOptions: Record<string, any> } | undefined\n\nexport default async function loadJsConfig(\n dir: string,\n config: NextConfigComplete\n): Promise<{\n useTypeScript: boolean\n jsConfig: JsConfig\n jsConfigPath?: string\n resolvedBaseUrl: ResolvedBaseUrl\n}> {\n let typeScriptPath: string | undefined\n try {\n const deps =
|
1
|
+
{"version":3,"sources":["../../src/build/load-jsconfig.ts"],"sourcesContent":["import path from 'path'\nimport fs from 'fs'\nimport type { NextConfigComplete } from '../server/config-shared'\nimport * as Log from './output/log'\nimport { getTypeScriptConfiguration } from '../lib/typescript/getTypeScriptConfiguration'\nimport { readFileSync } from 'fs'\nimport isError from '../lib/is-error'\nimport { hasNecessaryDependencies } from '../lib/has-necessary-dependencies'\n\nlet TSCONFIG_WARNED = false\n\nexport function parseJsonFile(filePath: string) {\n const JSON5 =\n require('next/dist/compiled/json5') as typeof import('next/dist/compiled/json5')\n const contents = readFileSync(filePath, 'utf8')\n\n // Special case an empty file\n if (contents.trim() === '') {\n return {}\n }\n\n try {\n return JSON5.parse(contents)\n } catch (err) {\n if (!isError(err)) throw err\n const { codeFrameColumns } =\n require('next/dist/compiled/babel/code-frame') as typeof import('next/dist/compiled/babel/code-frame')\n const codeFrame = codeFrameColumns(\n String(contents),\n {\n start: {\n line: (err as Error & { lineNumber?: number }).lineNumber || 0,\n column: (err as Error & { columnNumber?: number }).columnNumber || 0,\n },\n },\n { message: err.message, highlightCode: true }\n )\n throw new Error(`Failed to parse \"${filePath}\":\\n${codeFrame}`)\n }\n}\n\nexport type ResolvedBaseUrl =\n | { baseUrl: string; isImplicit: boolean }\n | undefined\n\nexport type JsConfig = { compilerOptions: Record<string, any> } | undefined\n\nexport default async function loadJsConfig(\n dir: string,\n config: NextConfigComplete\n): Promise<{\n useTypeScript: boolean\n jsConfig: JsConfig\n jsConfigPath?: string\n resolvedBaseUrl: ResolvedBaseUrl\n}> {\n let typeScriptPath: string | undefined\n try {\n const deps = hasNecessaryDependencies(dir, [\n {\n pkg: 'typescript',\n file: 'typescript/lib/typescript.js',\n exportsRestrict: true,\n },\n ])\n typeScriptPath = deps.resolved.get('typescript')\n } catch {}\n const tsConfigFileName = config.typescript.tsconfigPath || 'tsconfig.json'\n const tsConfigPath = path.join(dir, tsConfigFileName)\n const useTypeScript = Boolean(typeScriptPath && fs.existsSync(tsConfigPath))\n\n let implicitBaseurl\n let jsConfig: { compilerOptions: Record<string, any> } | undefined\n // jsconfig is a subset of tsconfig\n if (useTypeScript) {\n if (tsConfigFileName !== 'tsconfig.json' && TSCONFIG_WARNED === false) {\n TSCONFIG_WARNED = true\n Log.info(`Using tsconfig file: ${tsConfigFileName}`)\n }\n\n const ts = (await Promise.resolve(\n require(typeScriptPath!)\n )) as typeof import('typescript')\n const tsConfig = await getTypeScriptConfiguration(ts, tsConfigPath, true)\n jsConfig = { compilerOptions: tsConfig.options }\n implicitBaseurl = path.dirname(tsConfigPath)\n }\n\n const jsConfigPath = path.join(dir, 'jsconfig.json')\n if (!useTypeScript && fs.existsSync(jsConfigPath)) {\n jsConfig = parseJsonFile(jsConfigPath)\n implicitBaseurl = path.dirname(jsConfigPath)\n }\n\n let resolvedBaseUrl: ResolvedBaseUrl\n if (jsConfig?.compilerOptions?.baseUrl) {\n resolvedBaseUrl = {\n baseUrl: path.resolve(dir, jsConfig.compilerOptions.baseUrl),\n isImplicit: false,\n }\n } else {\n if (implicitBaseurl) {\n resolvedBaseUrl = {\n baseUrl: implicitBaseurl,\n isImplicit: true,\n }\n }\n }\n\n return {\n useTypeScript,\n jsConfig,\n resolvedBaseUrl,\n jsConfigPath: useTypeScript\n ? tsConfigPath\n : fs.existsSync(jsConfigPath)\n ? jsConfigPath\n : undefined,\n }\n}\n"],"names":["loadJsConfig","parseJsonFile","TSCONFIG_WARNED","filePath","JSON5","require","contents","readFileSync","trim","parse","err","isError","codeFrameColumns","codeFrame","String","start","line","lineNumber","column","columnNumber","message","highlightCode","Error","dir","config","jsConfig","typeScriptPath","deps","hasNecessaryDependencies","pkg","file","exportsRestrict","resolved","get","tsConfigFileName","typescript","tsconfigPath","tsConfigPath","path","join","useTypeScript","Boolean","fs","existsSync","implicitBaseurl","Log","info","ts","Promise","resolve","tsConfig","getTypeScriptConfiguration","compilerOptions","options","dirname","jsConfigPath","resolvedBaseUrl","baseUrl","isImplicit","undefined"],"mappings":"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","ignoreList":[0]}
|
@@ -99,7 +99,8 @@ async function transpileConfig({ nextConfigPath, configFileName, cwd }) {
|
|
99
99
|
// Value is 'strip' or 'transform' based on how the feature is enabled.
|
100
100
|
// https://nodejs.org/api/process.html#processfeaturestypescript
|
101
101
|
if (process.features.typescript) {
|
102
|
-
|
102
|
+
// Run import() here to catch errors and fallback to legacy resolution.
|
103
|
+
return (await import((0, _nodeurl.pathToFileURL)(nextConfigPath).href)).default;
|
103
104
|
}
|
104
105
|
if ((0, _utils.getNodeOptionsArgs)().includes('--no-experimental-strip-types') || process.execArgv.includes('--no-experimental-strip-types')) {
|
105
106
|
// TODO: Add Next.js docs link.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/build/next-config-ts/transpile-config.ts"],"sourcesContent":["import type { Options as SWCOptions } from '@swc/core'\nimport type { CompilerOptions } from 'typescript'\n\nimport { resolve } from 'node:path'\nimport { readFile } from 'node:fs/promises'\nimport { pathToFileURL } from 'node:url'\nimport { deregisterHook, registerHook, requireFromString } from './require-hook'\nimport { warn, warnOnce } from '../output/log'\nimport { installDependencies } from '../../lib/install-dependencies'\nimport { getNodeOptionsArgs } from '../../server/lib/utils'\n\nfunction resolveSWCOptions(\n cwd: string,\n compilerOptions: CompilerOptions\n): SWCOptions {\n return {\n jsc: {\n parser: {\n syntax: 'typescript',\n },\n ...(compilerOptions.paths ? { paths: compilerOptions.paths } : {}),\n ...(compilerOptions.baseUrl\n ? // Needs to be an absolute path.\n { baseUrl: resolve(cwd, compilerOptions.baseUrl) }\n : compilerOptions.paths\n ? // If paths is given, baseUrl is required.\n { baseUrl: cwd }\n : {}),\n },\n module: {\n type: 'commonjs',\n },\n isModule: 'unknown',\n env: {\n targets: {\n // Setting the Node.js version can reduce unnecessary code generation.\n node: process?.versions?.node ?? '20.19.0',\n },\n },\n } satisfies SWCOptions\n}\n\n// Ported from next/src/lib/verify-typescript-setup.ts\n// Although this overlaps with the later `verifyTypeScriptSetup`,\n// it is acceptable since the time difference in the worst case is trivial,\n// as we are only preparing to install the dependencies once more.\nasync function verifyTypeScriptSetup(cwd: string, configFileName: string) {\n try {\n // Quick module check.\n require.resolve('typescript', { paths: [cwd] })\n } catch (error) {\n if (\n error &&\n typeof error === 'object' &&\n 'code' in error &&\n error.code === 'MODULE_NOT_FOUND'\n ) {\n warn(\n `Installing TypeScript as it was not found while loading \"${configFileName}\".`\n )\n\n await installDependencies(cwd, [{ pkg: 'typescript' }], true).catch(\n (err) => {\n if (err && typeof err === 'object' && 'command' in err) {\n console.error(\n `Failed to install TypeScript, please install it manually to continue:\\n` +\n (err as any).command +\n '\\n'\n )\n }\n throw err\n }\n )\n }\n }\n}\n\nasync function getTsConfig(cwd: string): Promise<CompilerOptions> {\n const ts: typeof import('typescript') = require(\n require.resolve('typescript', { paths: [cwd] })\n )\n\n // NOTE: This doesn't fully cover the edge case for setting\n // \"typescript.tsconfigPath\" in next config which is currently\n // a restriction.\n const tsConfigPath = ts.findConfigFile(\n cwd,\n ts.sys.fileExists,\n 'tsconfig.json'\n )\n\n if (!tsConfigPath) {\n // It is ok to not return ts.getDefaultCompilerOptions() because\n // we are only looking for paths and baseUrl from tsConfig.\n return {}\n }\n\n const configFile = ts.readConfigFile(tsConfigPath, ts.sys.readFile)\n const parsedCommandLine = ts.parseJsonConfigFileContent(\n configFile.config,\n ts.sys,\n cwd\n )\n\n return parsedCommandLine.options\n}\n\nlet useNodeNativeTSLoader = true\n\nexport async function transpileConfig({\n nextConfigPath,\n configFileName,\n cwd,\n}: {\n nextConfigPath: string\n configFileName: string\n cwd: string\n}) {\n try {\n if (useNodeNativeTSLoader) {\n try {\n // Node.js v22.10.0+\n // Value is 'strip' or 'transform' based on how the feature is enabled.\n // https://nodejs.org/api/process.html#processfeaturestypescript\n if ((process.features as any).typescript) {\n return import(pathToFileURL(nextConfigPath).href)\n }\n\n if (\n getNodeOptionsArgs().includes('--no-experimental-strip-types') ||\n process.execArgv.includes('--no-experimental-strip-types')\n ) {\n // TODO: Add Next.js docs link.\n warnOnce(\n `Skipped resolving \"${configFileName}\" using Node.js native TypeScript resolution because it was disabled by the \"--no-experimental-strip-types\" flag.` +\n ' Falling back to legacy resolution.'\n )\n }\n\n // Feature is not enabled, fallback to legacy resolution for current session.\n useNodeNativeTSLoader = false\n } catch (cause) {\n warnOnce(\n `Failed to import \"${configFileName}\" using Node.js native TypeScript resolution.` +\n ' Falling back to legacy resolution.',\n { cause }\n )\n // Once failed, fallback to legacy resolution for current session.\n useNodeNativeTSLoader = false\n }\n }\n\n // Ensure TypeScript is installed to use the API.\n await verifyTypeScriptSetup(cwd, configFileName)\n const compilerOptions = await getTsConfig(cwd)\n\n return handleCJS({ cwd, nextConfigPath, compilerOptions })\n } catch (cause) {\n throw new Error(`Failed to transpile \"${configFileName}\".`, {\n cause,\n })\n }\n}\n\nasync function handleCJS({\n cwd,\n nextConfigPath,\n compilerOptions,\n}: {\n cwd: string\n nextConfigPath: string\n compilerOptions: CompilerOptions\n}) {\n const swcOptions = resolveSWCOptions(cwd, compilerOptions)\n let hasRequire = false\n try {\n const nextConfigString = await readFile(nextConfigPath, 'utf8')\n // lazy require swc since it loads React before even setting NODE_ENV\n // resulting loading Development React on Production\n const { transform } = require('../swc') as typeof import('../swc')\n const { code } = await transform(nextConfigString, swcOptions)\n\n // register require hook only if require exists\n if (code.includes('require(')) {\n registerHook(swcOptions)\n hasRequire = true\n }\n\n // filename & extension don't matter here\n return requireFromString(code, resolve(cwd, 'next.config.compiled.js'))\n } catch (error) {\n throw error\n } finally {\n if (hasRequire) {\n deregisterHook()\n }\n }\n}\n"],"names":["transpileConfig","resolveSWCOptions","cwd","compilerOptions","process","jsc","parser","syntax","paths","baseUrl","resolve","module","type","isModule","env","targets","node","versions","verifyTypeScriptSetup","configFileName","require","error","code","warn","installDependencies","pkg","catch","err","console","command","getTsConfig","ts","tsConfigPath","findConfigFile","sys","fileExists","configFile","readConfigFile","readFile","parsedCommandLine","parseJsonConfigFileContent","config","options","useNodeNativeTSLoader","nextConfigPath","features","typescript","pathToFileURL","href","getNodeOptionsArgs","includes","execArgv","warnOnce","cause","handleCJS","Error","swcOptions","hasRequire","nextConfigString","transform","registerHook","requireFromString","deregisterHook"],"mappings":"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","ignoreList":[0]}
|
1
|
+
{"version":3,"sources":["../../../src/build/next-config-ts/transpile-config.ts"],"sourcesContent":["import type { Options as SWCOptions } from '@swc/core'\nimport type { CompilerOptions } from 'typescript'\n\nimport { resolve } from 'node:path'\nimport { readFile } from 'node:fs/promises'\nimport { pathToFileURL } from 'node:url'\nimport { deregisterHook, registerHook, requireFromString } from './require-hook'\nimport { warn, warnOnce } from '../output/log'\nimport { installDependencies } from '../../lib/install-dependencies'\nimport { getNodeOptionsArgs } from '../../server/lib/utils'\n\nfunction resolveSWCOptions(\n cwd: string,\n compilerOptions: CompilerOptions\n): SWCOptions {\n return {\n jsc: {\n parser: {\n syntax: 'typescript',\n },\n ...(compilerOptions.paths ? { paths: compilerOptions.paths } : {}),\n ...(compilerOptions.baseUrl\n ? // Needs to be an absolute path.\n { baseUrl: resolve(cwd, compilerOptions.baseUrl) }\n : compilerOptions.paths\n ? // If paths is given, baseUrl is required.\n { baseUrl: cwd }\n : {}),\n },\n module: {\n type: 'commonjs',\n },\n isModule: 'unknown',\n env: {\n targets: {\n // Setting the Node.js version can reduce unnecessary code generation.\n node: process?.versions?.node ?? '20.19.0',\n },\n },\n } satisfies SWCOptions\n}\n\n// Ported from next/src/lib/verify-typescript-setup.ts\n// Although this overlaps with the later `verifyTypeScriptSetup`,\n// it is acceptable since the time difference in the worst case is trivial,\n// as we are only preparing to install the dependencies once more.\nasync function verifyTypeScriptSetup(cwd: string, configFileName: string) {\n try {\n // Quick module check.\n require.resolve('typescript', { paths: [cwd] })\n } catch (error) {\n if (\n error &&\n typeof error === 'object' &&\n 'code' in error &&\n error.code === 'MODULE_NOT_FOUND'\n ) {\n warn(\n `Installing TypeScript as it was not found while loading \"${configFileName}\".`\n )\n\n await installDependencies(cwd, [{ pkg: 'typescript' }], true).catch(\n (err) => {\n if (err && typeof err === 'object' && 'command' in err) {\n console.error(\n `Failed to install TypeScript, please install it manually to continue:\\n` +\n (err as any).command +\n '\\n'\n )\n }\n throw err\n }\n )\n }\n }\n}\n\nasync function getTsConfig(cwd: string): Promise<CompilerOptions> {\n const ts: typeof import('typescript') = require(\n require.resolve('typescript', { paths: [cwd] })\n )\n\n // NOTE: This doesn't fully cover the edge case for setting\n // \"typescript.tsconfigPath\" in next config which is currently\n // a restriction.\n const tsConfigPath = ts.findConfigFile(\n cwd,\n ts.sys.fileExists,\n 'tsconfig.json'\n )\n\n if (!tsConfigPath) {\n // It is ok to not return ts.getDefaultCompilerOptions() because\n // we are only looking for paths and baseUrl from tsConfig.\n return {}\n }\n\n const configFile = ts.readConfigFile(tsConfigPath, ts.sys.readFile)\n const parsedCommandLine = ts.parseJsonConfigFileContent(\n configFile.config,\n ts.sys,\n cwd\n )\n\n return parsedCommandLine.options\n}\n\nlet useNodeNativeTSLoader = true\n\nexport async function transpileConfig({\n nextConfigPath,\n configFileName,\n cwd,\n}: {\n nextConfigPath: string\n configFileName: string\n cwd: string\n}) {\n try {\n if (useNodeNativeTSLoader) {\n try {\n // Node.js v22.10.0+\n // Value is 'strip' or 'transform' based on how the feature is enabled.\n // https://nodejs.org/api/process.html#processfeaturestypescript\n if ((process.features as any).typescript) {\n // Run import() here to catch errors and fallback to legacy resolution.\n return (await import(pathToFileURL(nextConfigPath).href)).default\n }\n\n if (\n getNodeOptionsArgs().includes('--no-experimental-strip-types') ||\n process.execArgv.includes('--no-experimental-strip-types')\n ) {\n // TODO: Add Next.js docs link.\n warnOnce(\n `Skipped resolving \"${configFileName}\" using Node.js native TypeScript resolution because it was disabled by the \"--no-experimental-strip-types\" flag.` +\n ' Falling back to legacy resolution.'\n )\n }\n\n // Feature is not enabled, fallback to legacy resolution for current session.\n useNodeNativeTSLoader = false\n } catch (cause) {\n warnOnce(\n `Failed to import \"${configFileName}\" using Node.js native TypeScript resolution.` +\n ' Falling back to legacy resolution.',\n { cause }\n )\n // Once failed, fallback to legacy resolution for current session.\n useNodeNativeTSLoader = false\n }\n }\n\n // Ensure TypeScript is installed to use the API.\n await verifyTypeScriptSetup(cwd, configFileName)\n const compilerOptions = await getTsConfig(cwd)\n\n return handleCJS({ cwd, nextConfigPath, compilerOptions })\n } catch (cause) {\n throw new Error(`Failed to transpile \"${configFileName}\".`, {\n cause,\n })\n }\n}\n\nasync function handleCJS({\n cwd,\n nextConfigPath,\n compilerOptions,\n}: {\n cwd: string\n nextConfigPath: string\n compilerOptions: CompilerOptions\n}) {\n const swcOptions = resolveSWCOptions(cwd, compilerOptions)\n let hasRequire = false\n try {\n const nextConfigString = await readFile(nextConfigPath, 'utf8')\n // lazy require swc since it loads React before even setting NODE_ENV\n // resulting loading Development React on Production\n const { transform } = require('../swc') as typeof import('../swc')\n const { code } = await transform(nextConfigString, swcOptions)\n\n // register require hook only if require exists\n if (code.includes('require(')) {\n registerHook(swcOptions)\n hasRequire = true\n }\n\n // filename & extension don't matter here\n return requireFromString(code, resolve(cwd, 'next.config.compiled.js'))\n } catch (error) {\n throw error\n } finally {\n if (hasRequire) {\n deregisterHook()\n }\n }\n}\n"],"names":["transpileConfig","resolveSWCOptions","cwd","compilerOptions","process","jsc","parser","syntax","paths","baseUrl","resolve","module","type","isModule","env","targets","node","versions","verifyTypeScriptSetup","configFileName","require","error","code","warn","installDependencies","pkg","catch","err","console","command","getTsConfig","ts","tsConfigPath","findConfigFile","sys","fileExists","configFile","readConfigFile","readFile","parsedCommandLine","parseJsonConfigFileContent","config","options","useNodeNativeTSLoader","nextConfigPath","features","typescript","pathToFileURL","href","default","getNodeOptionsArgs","includes","execArgv","warnOnce","cause","handleCJS","Error","swcOptions","hasRequire","nextConfigString","transform","registerHook","requireFromString","deregisterHook"],"mappings":"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","ignoreList":[0]}
|
package/dist/build/swc/index.js
CHANGED
@@ -131,7 +131,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
131
131
|
}
|
132
132
|
return newObj;
|
133
133
|
}
|
134
|
-
const nextVersion = "15.5.1-canary.
|
134
|
+
const nextVersion = "15.5.1-canary.34";
|
135
135
|
const ArchName = (0, _os.arch)();
|
136
136
|
const PlatformName = (0, _os.platform)();
|
137
137
|
function infoLog(...args) {
|
@@ -1711,7 +1711,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
1711
1711
|
isClient && new _copyfileplugin.CopyFilePlugin({
|
1712
1712
|
// file path to build output of `@next/polyfill-nomodule`
|
1713
1713
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
1714
|
-
cacheKey: "15.5.1-canary.
|
1714
|
+
cacheKey: "15.5.1-canary.34",
|
1715
1715
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
1716
1716
|
minimize: false,
|
1717
1717
|
info: {
|
@@ -1895,7 +1895,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
1895
1895
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
1896
1896
|
// - Next.js version
|
1897
1897
|
// - next.config.js keys that affect compilation
|
1898
|
-
version: `${__dirname}|${"15.5.1-canary.
|
1898
|
+
version: `${__dirname}|${"15.5.1-canary.34"}|${configVars}`,
|
1899
1899
|
cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
|
1900
1900
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
1901
1901
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|
package/dist/cli/next-test.js
CHANGED
@@ -94,7 +94,7 @@ async function nextTest(directory, testRunnerArgs = [], options = {}) {
|
|
94
94
|
}
|
95
95
|
}
|
96
96
|
async function checkRequiredDeps(baseDir, testRunner) {
|
97
|
-
const deps =
|
97
|
+
const deps = (0, _hasnecessarydependencies.hasNecessaryDependencies)(baseDir, requiredPackagesByTestRunner[testRunner]);
|
98
98
|
if (deps.missing.length > 0) {
|
99
99
|
await (0, _installdependencies.installDependencies)(baseDir, deps.missing, true);
|
100
100
|
const playwright = (0, _crossspawn.default)(_path.default.join(baseDir, 'node_modules', '.bin', 'playwright'), [
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/cli/next-test.ts"],"sourcesContent":["import { writeFileSync } from 'fs'\nimport { getProjectDir } from '../lib/get-project-dir'\nimport { printAndExit } from '../server/lib/utils'\nimport loadConfig from '../server/config'\nimport { PHASE_PRODUCTION_BUILD } from '../shared/lib/constants'\nimport {\n hasNecessaryDependencies,\n type MissingDependency,\n} from '../lib/has-necessary-dependencies'\nimport { installDependencies } from '../lib/install-dependencies'\nimport type { NextConfigComplete } from '../server/config-shared'\nimport findUp from 'next/dist/compiled/find-up'\nimport { findPagesDir } from '../lib/find-pages-dir'\nimport { verifyTypeScriptSetup } from '../lib/verify-typescript-setup'\nimport path from 'path'\nimport spawn from 'next/dist/compiled/cross-spawn'\n\nexport interface NextTestOptions {\n testRunner?: string\n}\n\nexport const SUPPORTED_TEST_RUNNERS_LIST = ['playwright'] as const\nexport type SupportedTestRunners = (typeof SUPPORTED_TEST_RUNNERS_LIST)[number]\n\nconst requiredPackagesByTestRunner: {\n [k in SupportedTestRunners]: MissingDependency[]\n} = {\n playwright: [\n { file: 'playwright', pkg: '@playwright/test', exportsRestrict: false },\n ],\n}\n\nexport async function nextTest(\n directory?: string,\n testRunnerArgs: string[] = [],\n options: NextTestOptions = {}\n) {\n // The following mess is in order to support an existing Next.js CLI pattern of optionally, passing a project `directory` as the first argument to execute the command on.\n // This is problematic for `next test` because as a wrapper around a test runner's `test` command, it needs to pass through any additional arguments and options.\n // Thus, `directory` could either be a valid Next.js project directory (that the user intends to run `next test` on), or it is the first argument for the test runner.\n // Unfortunately, since many test runners support passing a path (to a test file or directory containing test files), we must check if `directory` is both a valid path and a valid Next.js project.\n\n let baseDir, nextConfig\n\n try {\n // if directory is `undefined` or a valid path this will succeed.\n baseDir = getProjectDir(directory, false)\n } catch (err) {\n // if that failed, then `directory` is not a valid path, so it must have meant to be the first item for `testRunnerArgs`\n // @ts-expect-error directory is a string here since `getProjectDir` will succeed if its undefined\n testRunnerArgs.unshift(directory)\n // intentionally set baseDir to the resolved '.' path\n baseDir = getProjectDir()\n }\n\n try {\n // but, `baseDir` might not be a Next.js project directory, it could be a path-like argument for the test runner (i.e. `playwright test test/foo.spec.js`)\n // if this succeeds, it means that `baseDir` is a Next.js project directory\n nextConfig = await loadConfig(PHASE_PRODUCTION_BUILD, baseDir)\n } catch (err) {\n // if it doesn't, then most likely `baseDir` is not a Next.js project directory\n // @ts-expect-error directory is a string here since `getProjectDir` will succeed if its undefined\n testRunnerArgs.unshift(directory)\n // intentionally set baseDir to the resolved '.' path\n baseDir = getProjectDir()\n nextConfig = await loadConfig(PHASE_PRODUCTION_BUILD, baseDir) // let this error bubble up if the `basePath` is still not a valid Next.js project\n }\n\n // set the test runner. priority is CLI option > next config > default 'playwright'\n const configuredTestRunner =\n options?.testRunner ?? // --test-runner='foo'\n nextConfig.experimental.defaultTestRunner ?? // { experimental: { defaultTestRunner: 'foo' }}\n 'playwright'\n\n if (!nextConfig.experimental.testProxy) {\n return printAndExit(\n `\\`next experimental-test\\` requires the \\`experimental.testProxy: true\\` configuration option.`\n )\n }\n\n // execute test runner specific function\n switch (configuredTestRunner) {\n case 'playwright':\n return runPlaywright(baseDir, nextConfig, testRunnerArgs)\n default:\n return printAndExit(\n `Test runner ${configuredTestRunner} is not supported.`\n )\n }\n}\n\nasync function checkRequiredDeps(\n baseDir: string,\n testRunner: SupportedTestRunners\n) {\n const deps = await hasNecessaryDependencies(\n baseDir,\n requiredPackagesByTestRunner[testRunner]\n )\n if (deps.missing.length > 0) {\n await installDependencies(baseDir, deps.missing, true)\n\n const playwright = spawn(\n path.join(baseDir, 'node_modules', '.bin', 'playwright'),\n ['install'],\n {\n cwd: baseDir,\n shell: false,\n stdio: 'inherit',\n env: {\n ...process.env,\n },\n }\n )\n\n return new Promise((resolve, reject) => {\n playwright.on('close', (c) => resolve(c))\n playwright.on('error', (err) => reject(err))\n })\n }\n}\n\nasync function runPlaywright(\n baseDir: string,\n nextConfig: NextConfigComplete,\n testRunnerArgs: string[]\n) {\n await checkRequiredDeps(baseDir, 'playwright')\n\n const playwrightConfigFile = await findUp(\n ['playwright.config.js', 'playwright.config.ts'],\n {\n cwd: baseDir,\n }\n )\n\n if (!playwrightConfigFile) {\n const { pagesDir, appDir } = findPagesDir(baseDir)\n\n const { version: typeScriptVersion } = await verifyTypeScriptSetup({\n dir: baseDir,\n distDir: nextConfig.distDir,\n intentDirs: [pagesDir, appDir].filter(Boolean) as string[],\n typeCheckPreflight: false,\n tsconfigPath: nextConfig.typescript.tsconfigPath,\n disableStaticImages: nextConfig.images.disableStaticImages,\n hasAppDir: !!appDir,\n hasPagesDir: !!pagesDir,\n })\n\n const isUsingTypeScript = !!typeScriptVersion\n\n const playwrightConfigFilename = isUsingTypeScript\n ? 'playwright.config.ts'\n : 'playwright.config.js'\n\n writeFileSync(\n path.join(baseDir, playwrightConfigFilename),\n defaultPlaywrightConfig(isUsingTypeScript)\n )\n\n return printAndExit(\n `Successfully generated ${playwrightConfigFilename}. Create your first test and then run \\`next experimental-test\\`.`,\n 0\n )\n } else {\n const playwright = spawn(\n path.join(baseDir, 'node_modules', '.bin', 'playwright'),\n ['test', ...testRunnerArgs],\n {\n cwd: baseDir,\n shell: false,\n stdio: 'inherit',\n env: {\n ...process.env,\n },\n }\n )\n return new Promise((resolve, reject) => {\n playwright.on('close', (c) => resolve(c))\n playwright.on('error', (err) => reject(err))\n })\n }\n}\n\nfunction defaultPlaywrightConfig(typescript: boolean) {\n const comment = `/*\n * Specify any additional Playwright config options here.\n * They will be merged with Next.js' default Playwright config.\n * You can access the default config by importing \\`defaultPlaywrightConfig\\` from \\`'next/experimental/testmode/playwright'\\`.\n */`\n return typescript\n ? `import { defineConfig } from 'next/experimental/testmode/playwright';\\n\\n${comment}\\nexport default defineConfig({});`\n : `const { defineConfig } = require('next/experimental/testmode/playwright');\\n\\n${comment}\\nmodule.exports = defineConfig({});`\n}\n"],"names":["SUPPORTED_TEST_RUNNERS_LIST","nextTest","requiredPackagesByTestRunner","playwright","file","pkg","exportsRestrict","directory","testRunnerArgs","options","baseDir","nextConfig","getProjectDir","err","unshift","loadConfig","PHASE_PRODUCTION_BUILD","configuredTestRunner","testRunner","experimental","defaultTestRunner","testProxy","printAndExit","runPlaywright","checkRequiredDeps","deps","hasNecessaryDependencies","missing","length","installDependencies","spawn","path","join","cwd","shell","stdio","env","process","Promise","resolve","reject","on","c","playwrightConfigFile","findUp","pagesDir","appDir","findPagesDir","version","typeScriptVersion","verifyTypeScriptSetup","dir","distDir","intentDirs","filter","Boolean","typeCheckPreflight","tsconfigPath","typescript","disableStaticImages","images","hasAppDir","hasPagesDir","isUsingTypeScript","playwrightConfigFilename","writeFileSync","defaultPlaywrightConfig","comment"],"mappings":"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","ignoreList":[0]}
|
1
|
+
{"version":3,"sources":["../../src/cli/next-test.ts"],"sourcesContent":["import { writeFileSync } from 'fs'\nimport { getProjectDir } from '../lib/get-project-dir'\nimport { printAndExit } from '../server/lib/utils'\nimport loadConfig from '../server/config'\nimport { PHASE_PRODUCTION_BUILD } from '../shared/lib/constants'\nimport {\n hasNecessaryDependencies,\n type MissingDependency,\n} from '../lib/has-necessary-dependencies'\nimport { installDependencies } from '../lib/install-dependencies'\nimport type { NextConfigComplete } from '../server/config-shared'\nimport findUp from 'next/dist/compiled/find-up'\nimport { findPagesDir } from '../lib/find-pages-dir'\nimport { verifyTypeScriptSetup } from '../lib/verify-typescript-setup'\nimport path from 'path'\nimport spawn from 'next/dist/compiled/cross-spawn'\n\nexport interface NextTestOptions {\n testRunner?: string\n}\n\nexport const SUPPORTED_TEST_RUNNERS_LIST = ['playwright'] as const\nexport type SupportedTestRunners = (typeof SUPPORTED_TEST_RUNNERS_LIST)[number]\n\nconst requiredPackagesByTestRunner: {\n [k in SupportedTestRunners]: MissingDependency[]\n} = {\n playwright: [\n { file: 'playwright', pkg: '@playwright/test', exportsRestrict: false },\n ],\n}\n\nexport async function nextTest(\n directory?: string,\n testRunnerArgs: string[] = [],\n options: NextTestOptions = {}\n) {\n // The following mess is in order to support an existing Next.js CLI pattern of optionally, passing a project `directory` as the first argument to execute the command on.\n // This is problematic for `next test` because as a wrapper around a test runner's `test` command, it needs to pass through any additional arguments and options.\n // Thus, `directory` could either be a valid Next.js project directory (that the user intends to run `next test` on), or it is the first argument for the test runner.\n // Unfortunately, since many test runners support passing a path (to a test file or directory containing test files), we must check if `directory` is both a valid path and a valid Next.js project.\n\n let baseDir, nextConfig\n\n try {\n // if directory is `undefined` or a valid path this will succeed.\n baseDir = getProjectDir(directory, false)\n } catch (err) {\n // if that failed, then `directory` is not a valid path, so it must have meant to be the first item for `testRunnerArgs`\n // @ts-expect-error directory is a string here since `getProjectDir` will succeed if its undefined\n testRunnerArgs.unshift(directory)\n // intentionally set baseDir to the resolved '.' path\n baseDir = getProjectDir()\n }\n\n try {\n // but, `baseDir` might not be a Next.js project directory, it could be a path-like argument for the test runner (i.e. `playwright test test/foo.spec.js`)\n // if this succeeds, it means that `baseDir` is a Next.js project directory\n nextConfig = await loadConfig(PHASE_PRODUCTION_BUILD, baseDir)\n } catch (err) {\n // if it doesn't, then most likely `baseDir` is not a Next.js project directory\n // @ts-expect-error directory is a string here since `getProjectDir` will succeed if its undefined\n testRunnerArgs.unshift(directory)\n // intentionally set baseDir to the resolved '.' path\n baseDir = getProjectDir()\n nextConfig = await loadConfig(PHASE_PRODUCTION_BUILD, baseDir) // let this error bubble up if the `basePath` is still not a valid Next.js project\n }\n\n // set the test runner. priority is CLI option > next config > default 'playwright'\n const configuredTestRunner =\n options?.testRunner ?? // --test-runner='foo'\n nextConfig.experimental.defaultTestRunner ?? // { experimental: { defaultTestRunner: 'foo' }}\n 'playwright'\n\n if (!nextConfig.experimental.testProxy) {\n return printAndExit(\n `\\`next experimental-test\\` requires the \\`experimental.testProxy: true\\` configuration option.`\n )\n }\n\n // execute test runner specific function\n switch (configuredTestRunner) {\n case 'playwright':\n return runPlaywright(baseDir, nextConfig, testRunnerArgs)\n default:\n return printAndExit(\n `Test runner ${configuredTestRunner} is not supported.`\n )\n }\n}\n\nasync function checkRequiredDeps(\n baseDir: string,\n testRunner: SupportedTestRunners\n) {\n const deps = hasNecessaryDependencies(\n baseDir,\n requiredPackagesByTestRunner[testRunner]\n )\n if (deps.missing.length > 0) {\n await installDependencies(baseDir, deps.missing, true)\n\n const playwright = spawn(\n path.join(baseDir, 'node_modules', '.bin', 'playwright'),\n ['install'],\n {\n cwd: baseDir,\n shell: false,\n stdio: 'inherit',\n env: {\n ...process.env,\n },\n }\n )\n\n return new Promise((resolve, reject) => {\n playwright.on('close', (c) => resolve(c))\n playwright.on('error', (err) => reject(err))\n })\n }\n}\n\nasync function runPlaywright(\n baseDir: string,\n nextConfig: NextConfigComplete,\n testRunnerArgs: string[]\n) {\n await checkRequiredDeps(baseDir, 'playwright')\n\n const playwrightConfigFile = await findUp(\n ['playwright.config.js', 'playwright.config.ts'],\n {\n cwd: baseDir,\n }\n )\n\n if (!playwrightConfigFile) {\n const { pagesDir, appDir } = findPagesDir(baseDir)\n\n const { version: typeScriptVersion } = await verifyTypeScriptSetup({\n dir: baseDir,\n distDir: nextConfig.distDir,\n intentDirs: [pagesDir, appDir].filter(Boolean) as string[],\n typeCheckPreflight: false,\n tsconfigPath: nextConfig.typescript.tsconfigPath,\n disableStaticImages: nextConfig.images.disableStaticImages,\n hasAppDir: !!appDir,\n hasPagesDir: !!pagesDir,\n })\n\n const isUsingTypeScript = !!typeScriptVersion\n\n const playwrightConfigFilename = isUsingTypeScript\n ? 'playwright.config.ts'\n : 'playwright.config.js'\n\n writeFileSync(\n path.join(baseDir, playwrightConfigFilename),\n defaultPlaywrightConfig(isUsingTypeScript)\n )\n\n return printAndExit(\n `Successfully generated ${playwrightConfigFilename}. Create your first test and then run \\`next experimental-test\\`.`,\n 0\n )\n } else {\n const playwright = spawn(\n path.join(baseDir, 'node_modules', '.bin', 'playwright'),\n ['test', ...testRunnerArgs],\n {\n cwd: baseDir,\n shell: false,\n stdio: 'inherit',\n env: {\n ...process.env,\n },\n }\n )\n return new Promise((resolve, reject) => {\n playwright.on('close', (c) => resolve(c))\n playwright.on('error', (err) => reject(err))\n })\n }\n}\n\nfunction defaultPlaywrightConfig(typescript: boolean) {\n const comment = `/*\n * Specify any additional Playwright config options here.\n * They will be merged with Next.js' default Playwright config.\n * You can access the default config by importing \\`defaultPlaywrightConfig\\` from \\`'next/experimental/testmode/playwright'\\`.\n */`\n return typescript\n ? `import { defineConfig } from 'next/experimental/testmode/playwright';\\n\\n${comment}\\nexport default defineConfig({});`\n : `const { defineConfig } = require('next/experimental/testmode/playwright');\\n\\n${comment}\\nmodule.exports = defineConfig({});`\n}\n"],"names":["SUPPORTED_TEST_RUNNERS_LIST","nextTest","requiredPackagesByTestRunner","playwright","file","pkg","exportsRestrict","directory","testRunnerArgs","options","baseDir","nextConfig","getProjectDir","err","unshift","loadConfig","PHASE_PRODUCTION_BUILD","configuredTestRunner","testRunner","experimental","defaultTestRunner","testProxy","printAndExit","runPlaywright","checkRequiredDeps","deps","hasNecessaryDependencies","missing","length","installDependencies","spawn","path","join","cwd","shell","stdio","env","process","Promise","resolve","reject","on","c","playwrightConfigFile","findUp","pagesDir","appDir","findPagesDir","version","typeScriptVersion","verifyTypeScriptSetup","dir","distDir","intentDirs","filter","Boolean","typeCheckPreflight","tsconfigPath","typescript","disableStaticImages","images","hasAppDir","hasPagesDir","isUsingTypeScript","playwrightConfigFilename","writeFileSync","defaultPlaywrightConfig","comment"],"mappings":"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","ignoreList":[0]}
|
@@ -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.5.1-canary.
|
18
|
+
const version = "15.5.1-canary.34";
|
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.5.1-canary.
|
64
|
+
const version = "15.5.1-canary.34";
|
65
65
|
let router;
|
66
66
|
const emitter = (0, _mitt.default)();
|
67
67
|
const looseToArray = (input)=>[].slice.call(input);
|