next 16.1.1-canary.7 → 16.1.1-canary.9
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 +2 -2
- package/dist/build/index.js +4 -4
- package/dist/build/index.js.map +1 -1
- package/dist/build/swc/index.js +1 -1
- package/dist/build/type-check.js +2 -2
- package/dist/build/type-check.js.map +1 -1
- package/dist/build/webpack-config.js +3 -3
- package/dist/bundle-analyzer/404.html +2 -2
- package/dist/bundle-analyzer/__next.__PAGE__.txt +1 -1
- package/dist/bundle-analyzer/__next._full.txt +1 -1
- package/dist/bundle-analyzer/__next._head.txt +1 -1
- package/dist/bundle-analyzer/__next._index.txt +1 -1
- package/dist/bundle-analyzer/__next._tree.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._full.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._head.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._index.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._not-found.txt +1 -1
- package/dist/bundle-analyzer/_not-found/__next._tree.txt +1 -1
- package/dist/bundle-analyzer/_not-found.html +2 -2
- package/dist/bundle-analyzer/_not-found.txt +1 -1
- package/dist/bundle-analyzer/index.html +2 -2
- package/dist/bundle-analyzer/index.txt +1 -1
- package/dist/cli/next-typegen.js +1 -1
- package/dist/cli/next-typegen.js.map +1 -1
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/esm/build/index.js +4 -4
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/type-check.js +2 -2
- package/dist/esm/build/type-check.js.map +1 -1
- package/dist/esm/build/webpack-config.js +3 -3
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/server/config-schema.js +1 -0
- package/dist/esm/server/config-schema.js.map +1 -1
- package/dist/esm/server/config-shared.js +1 -0
- package/dist/esm/server/config-shared.js.map +1 -1
- package/dist/esm/server/config.js +8 -0
- package/dist/esm/server/config.js.map +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/router-utils/route-types-utils.js +4 -4
- package/dist/esm/server/lib/router-utils/route-types-utils.js.map +1 -1
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js +1 -1
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/esm/server/lib/router-utils/typegen.js +241 -0
- package/dist/esm/server/lib/router-utils/typegen.js.map +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/shared/lib/errors/canary-only-config-error.js +1 -1
- package/dist/server/config-schema.d.ts +1 -0
- package/dist/server/config-schema.js +1 -0
- package/dist/server/config-schema.js.map +1 -1
- package/dist/server/config-shared.d.ts +6 -0
- package/dist/server/config-shared.js +1 -0
- package/dist/server/config-shared.js.map +1 -1
- package/dist/server/config.js +8 -0
- package/dist/server/config.js.map +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/router-utils/route-types-utils.d.ts +1 -1
- package/dist/server/lib/router-utils/route-types-utils.js +3 -3
- package/dist/server/lib/router-utils/route-types-utils.js.map +1 -1
- package/dist/server/lib/router-utils/setup-dev-bundler.js +1 -1
- package/dist/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/server/lib/router-utils/typegen.d.ts +2 -0
- package/dist/server/lib/router-utils/typegen.js +250 -1
- package/dist/server/lib/router-utils/typegen.js.map +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/shared/lib/errors/canary-only-config-error.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/bundle-analyzer/_next/static/{AWFBEwiCWAUXxcVF_VRLZ → fi5lojzHC7sFferP3DyUz}/_buildManifest.js +0 -0
- /package/dist/bundle-analyzer/_next/static/{AWFBEwiCWAUXxcVF_VRLZ → fi5lojzHC7sFferP3DyUz}/_clientMiddlewareManifest.json +0 -0
- /package/dist/bundle-analyzer/_next/static/{AWFBEwiCWAUXxcVF_VRLZ → fi5lojzHC7sFferP3DyUz}/_ssgManifest.js +0 -0
|
@@ -9,7 +9,7 @@ b:I[97372,["/_next/static/chunks/d4897d048d586310.js"],"ViewportBoundary"]
|
|
|
9
9
|
d:I[97372,["/_next/static/chunks/d4897d048d586310.js"],"MetadataBoundary"]
|
|
10
10
|
f:I[36062,["/_next/static/chunks/d4897d048d586310.js"],"default"]
|
|
11
11
|
:HL["/_next/static/chunks/adecd0ef71a11c8f.css","style"]
|
|
12
|
-
0:{"P":null,"b":"
|
|
12
|
+
0:{"P":null,"b":"fi5lojzHC7sFferP3DyUz","c":["",""],"q":"","i":false,"f":[[["",{"children":["__PAGE__",{}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/adecd0ef71a11c8f.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"\n (function() {\n const theme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n document.documentElement.classList.toggle('dark', theme === 'dark');\n\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => {\n document.documentElement.classList.toggle('dark', e.matches);\n });\n })();\n "}}]}],["$","body",null,{"className":"font-sans antialiased","children":["$","$L2",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L3",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}]]}],{"children":[["$","$1","c",{"children":[["$","$L4",null,{"Component":"$5","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@6","$@7"]}}],[["$","script","script-0",{"src":"/_next/static/chunks/8d91f8a9573cc0bb.js","async":true,"nonce":"$undefined"}]],["$","$L8",null,{"children":["$","$9",null,{"name":"Next.MetadataOutlet","children":"$@a"}]}]]}],{},null,false,false]},null,false,false],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$@c"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$9",null,{"name":"Next.Metadata","children":"$@e"}]}]}],null]}],false]],"m":"$undefined","G":["$f",[]],"S":true}
|
|
13
13
|
6:{}
|
|
14
14
|
7:"$0:f:0:1:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
15
15
|
c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]]
|
package/dist/cli/next-typegen.js
CHANGED
|
@@ -160,7 +160,7 @@ const nextTypegen = async (_options, directory)=>{
|
|
|
160
160
|
validatorFilePath
|
|
161
161
|
});
|
|
162
162
|
await (0, _routetypesutils.writeRouteTypesManifest)(routeTypesManifest, routeTypesFilePath, nextConfig);
|
|
163
|
-
await (0, _routetypesutils.writeValidatorFile)(routeTypesManifest, validatorFilePath);
|
|
163
|
+
await (0, _routetypesutils.writeValidatorFile)(routeTypesManifest, validatorFilePath, Boolean(nextConfig.experimental.strictRouteTypes));
|
|
164
164
|
// Generate cache-life types if cacheLife config exists
|
|
165
165
|
const cacheLifeFilePath = (0, _path.join)(distDir, 'types', 'cache-life.d.ts');
|
|
166
166
|
(0, _cachelifetypeutils.writeCacheLifeTypes)(nextConfig.cacheLife, cacheLifeFilePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/cli/next-typegen.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { existsSync } from 'fs'\nimport path, { join } from 'path'\nimport { mkdir } from 'fs/promises'\n\nimport loadConfig from '../server/config'\nimport { printAndExit } from '../server/lib/utils'\nimport { PHASE_PRODUCTION_BUILD } from '../shared/lib/constants'\nimport { getProjectDir } from '../lib/get-project-dir'\nimport { findPagesDir } from '../lib/find-pages-dir'\nimport { verifyTypeScriptSetup } from '../lib/verify-typescript-setup'\nimport {\n createPagesMapping,\n collectAppFiles,\n collectPagesFiles,\n processPageRoutes,\n processAppRoutes,\n processLayoutRoutes,\n extractSlotsFromAppRoutes,\n extractSlotsFromDefaultFiles,\n combineSlots,\n type RouteInfo,\n type SlotInfo,\n} from '../build/entries'\nimport { PAGE_TYPES } from '../lib/page-types'\n\nimport {\n createRouteTypesManifest,\n writeRouteTypesManifest,\n writeValidatorFile,\n} from '../server/lib/router-utils/route-types-utils'\nimport { writeCacheLifeTypes } from '../server/lib/router-utils/cache-life-type-utils'\nimport { createValidFileMatcher } from '../server/lib/find-page-file'\nimport { installBindings } from '../build/swc/install-bindings'\n\nexport type NextTypegenOptions = {\n dir?: string\n}\n\nconst nextTypegen = async (\n _options: NextTypegenOptions,\n directory?: string\n) => {\n const baseDir = getProjectDir(directory)\n\n // Check if the provided directory exists\n if (!existsSync(baseDir)) {\n printAndExit(`> No such directory exists as the project root: ${baseDir}`)\n }\n\n const nextConfig = await loadConfig(PHASE_PRODUCTION_BUILD, baseDir)\n await installBindings(nextConfig.experimental?.useWasmBinary)\n const distDir = join(baseDir, nextConfig.distDir)\n const { pagesDir, appDir } = findPagesDir(baseDir)\n\n await verifyTypeScriptSetup({\n dir: baseDir,\n distDir: nextConfig.distDir,\n typeCheckPreflight: false,\n tsconfigPath: nextConfig.typescript.tsconfigPath,\n disableStaticImages: nextConfig.images.disableStaticImages,\n hasAppDir: !!appDir,\n hasPagesDir: !!pagesDir,\n isolatedDevBuild: nextConfig.experimental.isolatedDevBuild,\n appDir: appDir || undefined,\n pagesDir: pagesDir || undefined,\n })\n\n console.log('Generating route types...')\n\n const routeTypesFilePath = join(distDir, 'types', 'routes.d.ts')\n const validatorFilePath = join(distDir, 'types', 'validator.ts')\n await mkdir(join(distDir, 'types'), { recursive: true })\n\n let pageRoutes: RouteInfo[] = []\n let appRoutes: RouteInfo[] = []\n let appRouteHandlers: RouteInfo[] = []\n let layoutRoutes: RouteInfo[] = []\n let slots: SlotInfo[] = []\n\n let pageApiRoutes: RouteInfo[] = []\n\n let mappedPages: { [page: string]: string } = {}\n let mappedAppPages: { [page: string]: string } = {}\n let mappedAppLayouts: { [page: string]: string } = {}\n\n // Helper function to reduce createPagesMapping duplication\n const createMapping = (pagePaths: string[], pagesType: any) =>\n createPagesMapping({\n pagePaths,\n isDev: false,\n pagesType,\n pageExtensions: nextConfig.pageExtensions,\n pagesDir,\n appDir,\n appDirOnly: !!appDir && !pagesDir,\n })\n\n const validFileMatcher = createValidFileMatcher(\n nextConfig.pageExtensions,\n appDir\n )\n\n const isSrcDir = path\n .relative(baseDir, pagesDir || appDir || '')\n .startsWith('src')\n\n // Build pages routes\n if (pagesDir) {\n const pagePaths = await collectPagesFiles(pagesDir, validFileMatcher)\n\n mappedPages = await createMapping(pagePaths, PAGE_TYPES.PAGES)\n\n // Process pages routes\n const processedPages = processPageRoutes(mappedPages, baseDir, isSrcDir)\n pageRoutes = processedPages.pageRoutes\n pageApiRoutes = processedPages.pageApiRoutes\n }\n\n // Build app routes\n if (appDir) {\n // Collect app pages, layouts, and default files in a single directory traversal\n const { appPaths, layoutPaths, defaultPaths } = await collectAppFiles(\n appDir,\n validFileMatcher\n )\n\n mappedAppPages = await createMapping(appPaths, PAGE_TYPES.APP)\n mappedAppLayouts = await createMapping(layoutPaths, PAGE_TYPES.APP)\n const mappedDefaultFiles = await createMapping(defaultPaths, PAGE_TYPES.APP)\n\n // Process app routes and extract slots from both pages and default files\n const slotsFromPages = extractSlotsFromAppRoutes(mappedAppPages)\n const slotsFromDefaults = extractSlotsFromDefaultFiles(mappedDefaultFiles)\n\n // Combine slots and deduplicate using Set\n slots = combineSlots(slotsFromPages, slotsFromDefaults)\n\n const result = processAppRoutes(\n mappedAppPages,\n validFileMatcher,\n baseDir,\n isSrcDir\n )\n appRoutes = result.appRoutes\n appRouteHandlers = result.appRouteHandlers\n\n // Process layout routes\n layoutRoutes = processLayoutRoutes(mappedAppLayouts, baseDir, isSrcDir)\n }\n\n const routeTypesManifest = await createRouteTypesManifest({\n dir: baseDir,\n pageRoutes,\n appRoutes,\n appRouteHandlers,\n pageApiRoutes,\n layoutRoutes,\n slots,\n redirects: nextConfig.redirects,\n rewrites: nextConfig.rewrites,\n validatorFilePath,\n })\n\n await writeRouteTypesManifest(\n routeTypesManifest,\n routeTypesFilePath,\n nextConfig\n )\n\n await writeValidatorFile(routeTypesManifest, validatorFilePath)\n\n // Generate cache-life types if cacheLife config exists\n const cacheLifeFilePath = join(distDir, 'types', 'cache-life.d.ts')\n writeCacheLifeTypes(nextConfig.cacheLife, cacheLifeFilePath)\n\n console.log('✓ Types generated successfully')\n}\n\nexport { nextTypegen }\n"],"names":["nextTypegen","_options","directory","nextConfig","baseDir","getProjectDir","existsSync","printAndExit","loadConfig","PHASE_PRODUCTION_BUILD","installBindings","experimental","useWasmBinary","distDir","join","pagesDir","appDir","findPagesDir","verifyTypeScriptSetup","dir","typeCheckPreflight","tsconfigPath","typescript","disableStaticImages","images","hasAppDir","hasPagesDir","isolatedDevBuild","undefined","console","log","routeTypesFilePath","validatorFilePath","mkdir","recursive","pageRoutes","appRoutes","appRouteHandlers","layoutRoutes","slots","pageApiRoutes","mappedPages","mappedAppPages","mappedAppLayouts","createMapping","pagePaths","pagesType","createPagesMapping","isDev","pageExtensions","appDirOnly","validFileMatcher","createValidFileMatcher","isSrcDir","path","relative","startsWith","collectPagesFiles","PAGE_TYPES","PAGES","processedPages","processPageRoutes","appPaths","layoutPaths","defaultPaths","collectAppFiles","APP","mappedDefaultFiles","slotsFromPages","extractSlotsFromAppRoutes","slotsFromDefaults","extractSlotsFromDefaultFiles","combineSlots","result","processAppRoutes","processLayoutRoutes","routeTypesManifest","createRouteTypesManifest","redirects","rewrites","writeRouteTypesManifest","writeValidatorFile","cacheLifeFilePath","writeCacheLifeTypes","cacheLife"],"mappings":"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","ignoreList":[0]}
|
|
1
|
+
{"version":3,"sources":["../../src/cli/next-typegen.ts"],"sourcesContent":["#!/usr/bin/env node\n\nimport { existsSync } from 'fs'\nimport path, { join } from 'path'\nimport { mkdir } from 'fs/promises'\n\nimport loadConfig from '../server/config'\nimport { printAndExit } from '../server/lib/utils'\nimport { PHASE_PRODUCTION_BUILD } from '../shared/lib/constants'\nimport { getProjectDir } from '../lib/get-project-dir'\nimport { findPagesDir } from '../lib/find-pages-dir'\nimport { verifyTypeScriptSetup } from '../lib/verify-typescript-setup'\nimport {\n createPagesMapping,\n collectAppFiles,\n collectPagesFiles,\n processPageRoutes,\n processAppRoutes,\n processLayoutRoutes,\n extractSlotsFromAppRoutes,\n extractSlotsFromDefaultFiles,\n combineSlots,\n type RouteInfo,\n type SlotInfo,\n} from '../build/entries'\nimport { PAGE_TYPES } from '../lib/page-types'\n\nimport {\n createRouteTypesManifest,\n writeRouteTypesManifest,\n writeValidatorFile,\n} from '../server/lib/router-utils/route-types-utils'\nimport { writeCacheLifeTypes } from '../server/lib/router-utils/cache-life-type-utils'\nimport { createValidFileMatcher } from '../server/lib/find-page-file'\nimport { installBindings } from '../build/swc/install-bindings'\n\nexport type NextTypegenOptions = {\n dir?: string\n}\n\nconst nextTypegen = async (\n _options: NextTypegenOptions,\n directory?: string\n) => {\n const baseDir = getProjectDir(directory)\n\n // Check if the provided directory exists\n if (!existsSync(baseDir)) {\n printAndExit(`> No such directory exists as the project root: ${baseDir}`)\n }\n\n const nextConfig = await loadConfig(PHASE_PRODUCTION_BUILD, baseDir)\n await installBindings(nextConfig.experimental?.useWasmBinary)\n const distDir = join(baseDir, nextConfig.distDir)\n const { pagesDir, appDir } = findPagesDir(baseDir)\n\n await verifyTypeScriptSetup({\n dir: baseDir,\n distDir: nextConfig.distDir,\n typeCheckPreflight: false,\n tsconfigPath: nextConfig.typescript.tsconfigPath,\n disableStaticImages: nextConfig.images.disableStaticImages,\n hasAppDir: !!appDir,\n hasPagesDir: !!pagesDir,\n isolatedDevBuild: nextConfig.experimental.isolatedDevBuild,\n appDir: appDir || undefined,\n pagesDir: pagesDir || undefined,\n })\n\n console.log('Generating route types...')\n\n const routeTypesFilePath = join(distDir, 'types', 'routes.d.ts')\n const validatorFilePath = join(distDir, 'types', 'validator.ts')\n await mkdir(join(distDir, 'types'), { recursive: true })\n\n let pageRoutes: RouteInfo[] = []\n let appRoutes: RouteInfo[] = []\n let appRouteHandlers: RouteInfo[] = []\n let layoutRoutes: RouteInfo[] = []\n let slots: SlotInfo[] = []\n\n let pageApiRoutes: RouteInfo[] = []\n\n let mappedPages: { [page: string]: string } = {}\n let mappedAppPages: { [page: string]: string } = {}\n let mappedAppLayouts: { [page: string]: string } = {}\n\n // Helper function to reduce createPagesMapping duplication\n const createMapping = (pagePaths: string[], pagesType: any) =>\n createPagesMapping({\n pagePaths,\n isDev: false,\n pagesType,\n pageExtensions: nextConfig.pageExtensions,\n pagesDir,\n appDir,\n appDirOnly: !!appDir && !pagesDir,\n })\n\n const validFileMatcher = createValidFileMatcher(\n nextConfig.pageExtensions,\n appDir\n )\n\n const isSrcDir = path\n .relative(baseDir, pagesDir || appDir || '')\n .startsWith('src')\n\n // Build pages routes\n if (pagesDir) {\n const pagePaths = await collectPagesFiles(pagesDir, validFileMatcher)\n\n mappedPages = await createMapping(pagePaths, PAGE_TYPES.PAGES)\n\n // Process pages routes\n const processedPages = processPageRoutes(mappedPages, baseDir, isSrcDir)\n pageRoutes = processedPages.pageRoutes\n pageApiRoutes = processedPages.pageApiRoutes\n }\n\n // Build app routes\n if (appDir) {\n // Collect app pages, layouts, and default files in a single directory traversal\n const { appPaths, layoutPaths, defaultPaths } = await collectAppFiles(\n appDir,\n validFileMatcher\n )\n\n mappedAppPages = await createMapping(appPaths, PAGE_TYPES.APP)\n mappedAppLayouts = await createMapping(layoutPaths, PAGE_TYPES.APP)\n const mappedDefaultFiles = await createMapping(defaultPaths, PAGE_TYPES.APP)\n\n // Process app routes and extract slots from both pages and default files\n const slotsFromPages = extractSlotsFromAppRoutes(mappedAppPages)\n const slotsFromDefaults = extractSlotsFromDefaultFiles(mappedDefaultFiles)\n\n // Combine slots and deduplicate using Set\n slots = combineSlots(slotsFromPages, slotsFromDefaults)\n\n const result = processAppRoutes(\n mappedAppPages,\n validFileMatcher,\n baseDir,\n isSrcDir\n )\n appRoutes = result.appRoutes\n appRouteHandlers = result.appRouteHandlers\n\n // Process layout routes\n layoutRoutes = processLayoutRoutes(mappedAppLayouts, baseDir, isSrcDir)\n }\n\n const routeTypesManifest = await createRouteTypesManifest({\n dir: baseDir,\n pageRoutes,\n appRoutes,\n appRouteHandlers,\n pageApiRoutes,\n layoutRoutes,\n slots,\n redirects: nextConfig.redirects,\n rewrites: nextConfig.rewrites,\n validatorFilePath,\n })\n\n await writeRouteTypesManifest(\n routeTypesManifest,\n routeTypesFilePath,\n nextConfig\n )\n\n await writeValidatorFile(\n routeTypesManifest,\n validatorFilePath,\n Boolean(nextConfig.experimental.strictRouteTypes)\n )\n\n // Generate cache-life types if cacheLife config exists\n const cacheLifeFilePath = join(distDir, 'types', 'cache-life.d.ts')\n writeCacheLifeTypes(nextConfig.cacheLife, cacheLifeFilePath)\n\n console.log('✓ Types generated successfully')\n}\n\nexport { nextTypegen }\n"],"names":["nextTypegen","_options","directory","nextConfig","baseDir","getProjectDir","existsSync","printAndExit","loadConfig","PHASE_PRODUCTION_BUILD","installBindings","experimental","useWasmBinary","distDir","join","pagesDir","appDir","findPagesDir","verifyTypeScriptSetup","dir","typeCheckPreflight","tsconfigPath","typescript","disableStaticImages","images","hasAppDir","hasPagesDir","isolatedDevBuild","undefined","console","log","routeTypesFilePath","validatorFilePath","mkdir","recursive","pageRoutes","appRoutes","appRouteHandlers","layoutRoutes","slots","pageApiRoutes","mappedPages","mappedAppPages","mappedAppLayouts","createMapping","pagePaths","pagesType","createPagesMapping","isDev","pageExtensions","appDirOnly","validFileMatcher","createValidFileMatcher","isSrcDir","path","relative","startsWith","collectPagesFiles","PAGE_TYPES","PAGES","processedPages","processPageRoutes","appPaths","layoutPaths","defaultPaths","collectAppFiles","APP","mappedDefaultFiles","slotsFromPages","extractSlotsFromAppRoutes","slotsFromDefaults","extractSlotsFromDefaultFiles","combineSlots","result","processAppRoutes","processLayoutRoutes","routeTypesManifest","createRouteTypesManifest","redirects","rewrites","writeRouteTypesManifest","writeValidatorFile","Boolean","strictRouteTypes","cacheLifeFilePath","writeCacheLifeTypes","cacheLife"],"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 = "16.1.1-canary.
|
|
18
|
+
const version = "16.1.1-canary.9";
|
|
19
19
|
window.next = {
|
|
20
20
|
version,
|
|
21
21
|
appDir: true
|
package/dist/client/index.js
CHANGED
|
@@ -60,7 +60,7 @@ const _hooksclientcontextsharedruntime = require("../shared/lib/hooks-client-con
|
|
|
60
60
|
const _onrecoverableerror = require("./react-client-callbacks/on-recoverable-error");
|
|
61
61
|
const _tracer = /*#__PURE__*/ _interop_require_default._(require("./tracing/tracer"));
|
|
62
62
|
const _isnextroutererror = require("./components/is-next-router-error");
|
|
63
|
-
const version = "16.1.1-canary.
|
|
63
|
+
const version = "16.1.1-canary.9";
|
|
64
64
|
let router;
|
|
65
65
|
const emitter = (0, _mitt.default)();
|
|
66
66
|
const looseToArray = (input)=>[].slice.call(input);
|
package/dist/esm/build/index.js
CHANGED
|
@@ -305,7 +305,7 @@ export default async function build(dir, experimentalAnalyze = false, reactProdu
|
|
|
305
305
|
try {
|
|
306
306
|
const nextBuildSpan = trace('next-build', undefined, {
|
|
307
307
|
buildMode: experimentalBuildMode,
|
|
308
|
-
version: "16.1.1-canary.
|
|
308
|
+
version: "16.1.1-canary.9"
|
|
309
309
|
});
|
|
310
310
|
NextBuildContext.nextBuildSpan = nextBuildSpan;
|
|
311
311
|
NextBuildContext.dir = dir;
|
|
@@ -709,7 +709,7 @@ export default async function build(dir, experimentalAnalyze = false, reactProdu
|
|
|
709
709
|
validatorFilePath
|
|
710
710
|
});
|
|
711
711
|
await writeRouteTypesManifest(routeTypesManifest, routeTypesFilePath, config);
|
|
712
|
-
await writeValidatorFile(routeTypesManifest, validatorFilePath);
|
|
712
|
+
await writeValidatorFile(routeTypesManifest, validatorFilePath, Boolean(config.experimental.strictRouteTypes));
|
|
713
713
|
});
|
|
714
714
|
// Turbopack already handles conflicting app and page routes.
|
|
715
715
|
if (bundler !== Bundler.Turbopack) {
|
|
@@ -803,7 +803,7 @@ export default async function build(dir, experimentalAnalyze = false, reactProdu
|
|
|
803
803
|
// Files outside of the distDir can be "type": "module"
|
|
804
804
|
await writeFileUtf8(path.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
|
805
805
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
|
806
|
-
await recordFrameworkVersion("16.1.1-canary.
|
|
806
|
+
await recordFrameworkVersion("16.1.1-canary.9");
|
|
807
807
|
await updateBuildDiagnostics({
|
|
808
808
|
buildStage: 'start'
|
|
809
809
|
});
|
|
@@ -2478,7 +2478,7 @@ export default async function build(dir, experimentalAnalyze = false, reactProdu
|
|
|
2478
2478
|
configOutDir: path.join(dir, configOutDir),
|
|
2479
2479
|
staticPages,
|
|
2480
2480
|
serverPropsPages,
|
|
2481
|
-
nextVersion: "16.1.1-canary.
|
|
2481
|
+
nextVersion: "16.1.1-canary.9",
|
|
2482
2482
|
tracingRoot: outputFileTracingRoot,
|
|
2483
2483
|
hasNodeMiddleware,
|
|
2484
2484
|
hasInstrumentationHook,
|