next 15.4.0-canary.41 → 15.4.0-canary.43
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/swc/index.js +1 -1
- package/dist/build/turbopack-build/impl.js +50 -0
- package/dist/build/turbopack-build/impl.js.map +1 -1
- package/dist/build/utils.d.ts +1 -0
- package/dist/build/utils.js +9 -0
- package/dist/build/utils.js.map +1 -1
- package/dist/build/webpack-config.js +20 -4
- package/dist/build/webpack-config.js.map +1 -1
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
- package/dist/compiled/next-server/pages-turbo.runtime.prod.js +2 -2
- package/dist/compiled/next-server/pages-turbo.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/pages.runtime.prod.js +2 -2
- package/dist/compiled/next-server/pages.runtime.prod.js.map +1 -1
- package/dist/compiled/next-server/server.runtime.prod.js +2 -2
- package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
- package/dist/esm/build/index.js +2 -2
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/turbopack-build/impl.js +9 -0
- package/dist/esm/build/turbopack-build/impl.js.map +1 -1
- package/dist/esm/build/utils.js +5 -0
- package/dist/esm/build/utils.js.map +1 -1
- package/dist/esm/build/webpack-config.js +21 -5
- package/dist/esm/build/webpack-config.js.map +1 -1
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/index.js +1 -1
- package/dist/esm/server/base-server.js +1 -1
- package/dist/esm/server/base-server.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/incremental-cache/index.js +4 -2
- package/dist/esm/server/lib/incremental-cache/index.js.map +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/server/typescript/rules/client-boundary.js +2 -1
- package/dist/esm/server/typescript/rules/client-boundary.js.map +1 -1
- package/dist/esm/server/web/adapter.js +4 -1
- package/dist/esm/server/web/adapter.js.map +1 -1
- package/dist/esm/server/web/sandbox/sandbox.js +1 -0
- package/dist/esm/server/web/sandbox/sandbox.js.map +1 -1
- package/dist/esm/shared/lib/canary-only.js +1 -1
- package/dist/server/base-server.js +1 -1
- package/dist/server/base-server.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/incremental-cache/index.js +4 -2
- package/dist/server/lib/incremental-cache/index.js.map +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/server/typescript/rules/client-boundary.js +2 -1
- package/dist/server/typescript/rules/client-boundary.js.map +1 -1
- package/dist/server/web/adapter.js +4 -1
- package/dist/server/web/adapter.js.map +1 -1
- package/dist/server/web/sandbox/sandbox.js +1 -0
- package/dist/server/web/sandbox/sandbox.js.map +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/esm/build/index.js
CHANGED
@@ -296,7 +296,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
296
296
|
const nextBuildSpan = trace('next-build', undefined, {
|
297
297
|
buildMode: experimentalBuildMode,
|
298
298
|
isTurboBuild: String(isTurbopack),
|
299
|
-
version: "15.4.0-canary.
|
299
|
+
version: "15.4.0-canary.43"
|
300
300
|
});
|
301
301
|
NextBuildContext.nextBuildSpan = nextBuildSpan;
|
302
302
|
NextBuildContext.dir = dir;
|
@@ -678,7 +678,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
678
678
|
// Files outside of the distDir can be "type": "module"
|
679
679
|
await writeFileUtf8(path.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
680
680
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
681
|
-
await recordFrameworkVersion("15.4.0-canary.
|
681
|
+
await recordFrameworkVersion("15.4.0-canary.43");
|
682
682
|
await updateBuildDiagnostics({
|
683
683
|
buildStage: 'start'
|
684
684
|
});
|
@@ -11,7 +11,7 @@ import { isDeepStrictEqual } from 'util';
|
|
11
11
|
import { getDefineEnv } from '../define-env';
|
12
12
|
import { getReactCompilerLoader } from '../get-babel-loader-config';
|
13
13
|
import { TurbopackInternalError } from '../../shared/lib/turbopack/utils';
|
14
|
-
const nextVersion = "15.4.0-canary.
|
14
|
+
const nextVersion = "15.4.0-canary.43";
|
15
15
|
const ArchName = arch();
|
16
16
|
const PlatformName = platform();
|
17
17
|
function infoLog(...args) {
|
@@ -11,6 +11,7 @@ import loadConfig from '../../server/config';
|
|
11
11
|
import { hasCustomExportOutput } from '../../export/utils';
|
12
12
|
import { Telemetry } from '../../telemetry/storage';
|
13
13
|
import { setGlobal } from '../../trace';
|
14
|
+
import * as Log from '../output/log';
|
14
15
|
export async function turbopackBuild() {
|
15
16
|
var _config_experimental, _config_turbopack, _config_experimental1;
|
16
17
|
await validateTurboNextConfig({
|
@@ -68,6 +69,14 @@ export async function turbopackBuild() {
|
|
68
69
|
dependencyTracking: persistentCaching
|
69
70
|
});
|
70
71
|
try {
|
72
|
+
;
|
73
|
+
(async function logCompilationEvents() {
|
74
|
+
for await (const event of project.compilationEventsSubscribe()){
|
75
|
+
if (event.severity === 'EVENT') {
|
76
|
+
Log.event(event.message);
|
77
|
+
}
|
78
|
+
}
|
79
|
+
})();
|
71
80
|
// Write an empty file in a known location to signal this was built with Turbopack
|
72
81
|
await fs.writeFile(path.join(distDir, 'turbopack'), '');
|
73
82
|
await fs.mkdir(path.join(distDir, 'server'), {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/build/turbopack-build/impl.ts"],"sourcesContent":["import path from 'path'\nimport { validateTurboNextConfig } from '../../lib/turbopack-warning'\nimport {\n formatIssue,\n getTurbopackJsConfig,\n isPersistentCachingEnabled,\n isRelevantWarning,\n} from '../../shared/lib/turbopack/utils'\nimport { NextBuildContext } from '../build-context'\nimport { createDefineEnv, loadBindings } from '../swc'\nimport {\n rawEntrypointsToEntrypoints,\n handleRouteType,\n} from '../handle-entrypoints'\nimport { TurbopackManifestLoader } from '../../shared/lib/turbopack/manifest-loader'\nimport { promises as fs } from 'fs'\nimport { PHASE_PRODUCTION_BUILD } from '../../shared/lib/constants'\nimport loadConfig from '../../server/config'\nimport { hasCustomExportOutput } from '../../export/utils'\nimport { Telemetry } from '../../telemetry/storage'\nimport { setGlobal } from '../../trace'\n\nexport async function turbopackBuild(): Promise<{\n duration: number\n buildTraceContext: undefined\n shutdownPromise: Promise<void>\n}> {\n await validateTurboNextConfig({\n dir: NextBuildContext.dir!,\n isDev: false,\n })\n\n const config = NextBuildContext.config!\n const dir = NextBuildContext.dir!\n const distDir = NextBuildContext.distDir!\n const buildId = NextBuildContext.buildId!\n const encryptionKey = NextBuildContext.encryptionKey!\n const previewProps = NextBuildContext.previewProps!\n const hasRewrites = NextBuildContext.hasRewrites!\n const rewrites = NextBuildContext.rewrites!\n const appDirOnly = NextBuildContext.appDirOnly!\n const noMangling = NextBuildContext.noMangling!\n\n const startTime = process.hrtime()\n const bindings = await loadBindings(config?.experimental?.useWasmBinary)\n const dev = false\n\n // const supportedBrowsers = await getSupportedBrowsers(dir, dev)\n const supportedBrowsers = [\n 'last 1 Chrome versions, last 1 Firefox versions, last 1 Safari versions, last 1 Edge versions',\n ]\n\n const persistentCaching = isPersistentCachingEnabled(config)\n const project = await bindings.turbo.createProject(\n {\n projectPath: dir,\n rootPath: config.turbopack?.root || config.outputFileTracingRoot || dir,\n distDir,\n nextConfig: config,\n jsConfig: await getTurbopackJsConfig(dir, config),\n watch: {\n enable: false,\n },\n dev,\n env: process.env as Record<string, string>,\n defineEnv: createDefineEnv({\n isTurbopack: true,\n clientRouterFilters: NextBuildContext.clientRouterFilters!,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix: config.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n // Implemented separately in Turbopack, doesn't have to be passed here.\n middlewareMatchers: undefined,\n }),\n buildId,\n encryptionKey,\n previewProps,\n browserslistQuery: supportedBrowsers.join(', '),\n noMangling,\n },\n {\n persistentCaching,\n memoryLimit: config.experimental?.turbopackMemoryLimit,\n dependencyTracking: persistentCaching,\n }\n )\n try {\n // Write an empty file in a known location to signal this was built with Turbopack\n await fs.writeFile(path.join(distDir, 'turbopack'), '')\n\n await fs.mkdir(path.join(distDir, 'server'), { recursive: true })\n await fs.mkdir(path.join(distDir, 'static', buildId), {\n recursive: true,\n })\n await fs.writeFile(\n path.join(distDir, 'package.json'),\n JSON.stringify(\n {\n type: 'commonjs',\n },\n null,\n 2\n )\n )\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const entrypoints = await project.writeAllEntrypointsToDisk(appDirOnly)\n\n const manifestLoader = new TurbopackManifestLoader({\n buildId,\n distDir,\n encryptionKey,\n })\n\n const topLevelErrors = []\n const topLevelWarnings = []\n for (const issue of entrypoints.issues) {\n if (issue.severity === 'error' || issue.severity === 'fatal') {\n topLevelErrors.push(formatIssue(issue))\n } else if (isRelevantWarning(issue)) {\n topLevelWarnings.push(formatIssue(issue))\n }\n }\n\n if (topLevelWarnings.length > 0) {\n console.warn(\n `Turbopack build encountered ${\n topLevelWarnings.length\n } warnings:\\n${topLevelWarnings.join('\\n')}`\n )\n }\n\n if (topLevelErrors.length > 0) {\n throw new Error(\n `Turbopack build failed with ${\n topLevelErrors.length\n } errors:\\n${topLevelErrors.join('\\n')}`\n )\n }\n\n const currentEntrypoints = await rawEntrypointsToEntrypoints(entrypoints)\n\n const promises: Promise<any>[] = []\n\n if (!appDirOnly) {\n for (const [page, route] of currentEntrypoints.page) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n }\n\n for (const [page, route] of currentEntrypoints.app) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n\n await Promise.all(promises)\n\n await Promise.all([\n manifestLoader.loadBuildManifest('_app'),\n manifestLoader.loadPagesManifest('_app'),\n manifestLoader.loadFontManifest('_app'),\n manifestLoader.loadPagesManifest('_document'),\n manifestLoader.loadBuildManifest('_error'),\n manifestLoader.loadPagesManifest('_error'),\n manifestLoader.loadFontManifest('_error'),\n entrypoints.instrumentation &&\n manifestLoader.loadMiddlewareManifest(\n 'instrumentation',\n 'instrumentation'\n ),\n entrypoints.middleware &&\n (await manifestLoader.loadMiddlewareManifest(\n 'middleware',\n 'middleware'\n )),\n ])\n\n await manifestLoader.writeManifests({\n devRewrites: undefined,\n productionRewrites: rewrites,\n entrypoints: currentEntrypoints,\n })\n\n const shutdownPromise = project.shutdown()\n\n const time = process.hrtime(startTime)\n return {\n duration: time[0] + time[1] / 1e9,\n buildTraceContext: undefined,\n shutdownPromise,\n }\n } catch (err) {\n await project.shutdown()\n throw err\n }\n}\n\nlet shutdownPromise: Promise<void> | undefined\nexport async function workerMain(workerData: {\n buildContext: typeof NextBuildContext\n}): Promise<Awaited<ReturnType<typeof turbopackBuild>>> {\n // setup new build context from the serialized data passed from the parent\n Object.assign(NextBuildContext, workerData.buildContext)\n\n /// load the config because it's not serializable\n NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!\n )\n\n // Matches handling in build/index.ts\n // https://github.com/vercel/next.js/blob/84f347fc86f4efc4ec9f13615c215e4b9fb6f8f0/packages/next/src/build/index.ts#L815-L818\n // Ensures the `config.distDir` option is matched.\n if (hasCustomExportOutput(NextBuildContext.config)) {\n NextBuildContext.config.distDir = '.next'\n }\n\n // Clone the telemetry for worker\n const telemetry = new Telemetry({\n distDir: NextBuildContext.config.distDir,\n })\n setGlobal('telemetry', telemetry)\n\n const result = await turbopackBuild()\n shutdownPromise = result.shutdownPromise\n return result\n}\n\nexport async function waitForShutdown(): Promise<void> {\n if (shutdownPromise) {\n await shutdownPromise\n }\n}\n"],"names":["path","validateTurboNextConfig","formatIssue","getTurbopackJsConfig","isPersistentCachingEnabled","isRelevantWarning","NextBuildContext","createDefineEnv","loadBindings","rawEntrypointsToEntrypoints","handleRouteType","TurbopackManifestLoader","promises","fs","PHASE_PRODUCTION_BUILD","loadConfig","hasCustomExportOutput","Telemetry","setGlobal","turbopackBuild","config","dir","isDev","distDir","buildId","encryptionKey","previewProps","hasRewrites","rewrites","appDirOnly","noMangling","startTime","process","hrtime","bindings","experimental","useWasmBinary","dev","supportedBrowsers","persistentCaching","project","turbo","createProject","projectPath","rootPath","turbopack","root","outputFileTracingRoot","nextConfig","jsConfig","watch","enable","env","defineEnv","isTurbopack","clientRouterFilters","fetchCacheKeyPrefix","middlewareMatchers","undefined","browserslistQuery","join","memoryLimit","turbopackMemoryLimit","dependencyTracking","writeFile","mkdir","recursive","JSON","stringify","type","entrypoints","writeAllEntrypointsToDisk","manifestLoader","topLevelErrors","topLevelWarnings","issue","issues","severity","push","length","console","warn","Error","currentEntrypoints","page","route","app","Promise","all","loadBuildManifest","loadPagesManifest","loadFontManifest","instrumentation","loadMiddlewareManifest","middleware","writeManifests","devRewrites","productionRewrites","shutdownPromise","shutdown","time","duration","buildTraceContext","err","workerMain","workerData","Object","assign","buildContext","telemetry","result","waitForShutdown"],"mappings":"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","ignoreList":[0]}
|
1
|
+
{"version":3,"sources":["../../../src/build/turbopack-build/impl.ts"],"sourcesContent":["import path from 'path'\nimport { validateTurboNextConfig } from '../../lib/turbopack-warning'\nimport {\n formatIssue,\n getTurbopackJsConfig,\n isPersistentCachingEnabled,\n isRelevantWarning,\n} from '../../shared/lib/turbopack/utils'\nimport { NextBuildContext } from '../build-context'\nimport { createDefineEnv, loadBindings } from '../swc'\nimport {\n rawEntrypointsToEntrypoints,\n handleRouteType,\n} from '../handle-entrypoints'\nimport { TurbopackManifestLoader } from '../../shared/lib/turbopack/manifest-loader'\nimport { promises as fs } from 'fs'\nimport { PHASE_PRODUCTION_BUILD } from '../../shared/lib/constants'\nimport loadConfig from '../../server/config'\nimport { hasCustomExportOutput } from '../../export/utils'\nimport { Telemetry } from '../../telemetry/storage'\nimport { setGlobal } from '../../trace'\nimport * as Log from '../output/log'\n\nexport async function turbopackBuild(): Promise<{\n duration: number\n buildTraceContext: undefined\n shutdownPromise: Promise<void>\n}> {\n await validateTurboNextConfig({\n dir: NextBuildContext.dir!,\n isDev: false,\n })\n\n const config = NextBuildContext.config!\n const dir = NextBuildContext.dir!\n const distDir = NextBuildContext.distDir!\n const buildId = NextBuildContext.buildId!\n const encryptionKey = NextBuildContext.encryptionKey!\n const previewProps = NextBuildContext.previewProps!\n const hasRewrites = NextBuildContext.hasRewrites!\n const rewrites = NextBuildContext.rewrites!\n const appDirOnly = NextBuildContext.appDirOnly!\n const noMangling = NextBuildContext.noMangling!\n\n const startTime = process.hrtime()\n const bindings = await loadBindings(config?.experimental?.useWasmBinary)\n const dev = false\n\n // const supportedBrowsers = await getSupportedBrowsers(dir, dev)\n const supportedBrowsers = [\n 'last 1 Chrome versions, last 1 Firefox versions, last 1 Safari versions, last 1 Edge versions',\n ]\n\n const persistentCaching = isPersistentCachingEnabled(config)\n const project = await bindings.turbo.createProject(\n {\n projectPath: dir,\n rootPath: config.turbopack?.root || config.outputFileTracingRoot || dir,\n distDir,\n nextConfig: config,\n jsConfig: await getTurbopackJsConfig(dir, config),\n watch: {\n enable: false,\n },\n dev,\n env: process.env as Record<string, string>,\n defineEnv: createDefineEnv({\n isTurbopack: true,\n clientRouterFilters: NextBuildContext.clientRouterFilters!,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix: config.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n // Implemented separately in Turbopack, doesn't have to be passed here.\n middlewareMatchers: undefined,\n }),\n buildId,\n encryptionKey,\n previewProps,\n browserslistQuery: supportedBrowsers.join(', '),\n noMangling,\n },\n {\n persistentCaching,\n memoryLimit: config.experimental?.turbopackMemoryLimit,\n dependencyTracking: persistentCaching,\n }\n )\n try {\n ;(async function logCompilationEvents() {\n for await (const event of project.compilationEventsSubscribe()) {\n if (event.severity === 'EVENT') {\n Log.event(event.message)\n }\n }\n })()\n\n // Write an empty file in a known location to signal this was built with Turbopack\n await fs.writeFile(path.join(distDir, 'turbopack'), '')\n\n await fs.mkdir(path.join(distDir, 'server'), { recursive: true })\n await fs.mkdir(path.join(distDir, 'static', buildId), {\n recursive: true,\n })\n await fs.writeFile(\n path.join(distDir, 'package.json'),\n JSON.stringify(\n {\n type: 'commonjs',\n },\n null,\n 2\n )\n )\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const entrypoints = await project.writeAllEntrypointsToDisk(appDirOnly)\n\n const manifestLoader = new TurbopackManifestLoader({\n buildId,\n distDir,\n encryptionKey,\n })\n\n const topLevelErrors = []\n const topLevelWarnings = []\n for (const issue of entrypoints.issues) {\n if (issue.severity === 'error' || issue.severity === 'fatal') {\n topLevelErrors.push(formatIssue(issue))\n } else if (isRelevantWarning(issue)) {\n topLevelWarnings.push(formatIssue(issue))\n }\n }\n\n if (topLevelWarnings.length > 0) {\n console.warn(\n `Turbopack build encountered ${\n topLevelWarnings.length\n } warnings:\\n${topLevelWarnings.join('\\n')}`\n )\n }\n\n if (topLevelErrors.length > 0) {\n throw new Error(\n `Turbopack build failed with ${\n topLevelErrors.length\n } errors:\\n${topLevelErrors.join('\\n')}`\n )\n }\n\n const currentEntrypoints = await rawEntrypointsToEntrypoints(entrypoints)\n\n const promises: Promise<any>[] = []\n\n if (!appDirOnly) {\n for (const [page, route] of currentEntrypoints.page) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n }\n\n for (const [page, route] of currentEntrypoints.app) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n\n await Promise.all(promises)\n\n await Promise.all([\n manifestLoader.loadBuildManifest('_app'),\n manifestLoader.loadPagesManifest('_app'),\n manifestLoader.loadFontManifest('_app'),\n manifestLoader.loadPagesManifest('_document'),\n manifestLoader.loadBuildManifest('_error'),\n manifestLoader.loadPagesManifest('_error'),\n manifestLoader.loadFontManifest('_error'),\n entrypoints.instrumentation &&\n manifestLoader.loadMiddlewareManifest(\n 'instrumentation',\n 'instrumentation'\n ),\n entrypoints.middleware &&\n (await manifestLoader.loadMiddlewareManifest(\n 'middleware',\n 'middleware'\n )),\n ])\n\n await manifestLoader.writeManifests({\n devRewrites: undefined,\n productionRewrites: rewrites,\n entrypoints: currentEntrypoints,\n })\n\n const shutdownPromise = project.shutdown()\n\n const time = process.hrtime(startTime)\n return {\n duration: time[0] + time[1] / 1e9,\n buildTraceContext: undefined,\n shutdownPromise,\n }\n } catch (err) {\n await project.shutdown()\n throw err\n }\n}\n\nlet shutdownPromise: Promise<void> | undefined\nexport async function workerMain(workerData: {\n buildContext: typeof NextBuildContext\n}): Promise<Awaited<ReturnType<typeof turbopackBuild>>> {\n // setup new build context from the serialized data passed from the parent\n Object.assign(NextBuildContext, workerData.buildContext)\n\n /// load the config because it's not serializable\n NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!\n )\n\n // Matches handling in build/index.ts\n // https://github.com/vercel/next.js/blob/84f347fc86f4efc4ec9f13615c215e4b9fb6f8f0/packages/next/src/build/index.ts#L815-L818\n // Ensures the `config.distDir` option is matched.\n if (hasCustomExportOutput(NextBuildContext.config)) {\n NextBuildContext.config.distDir = '.next'\n }\n\n // Clone the telemetry for worker\n const telemetry = new Telemetry({\n distDir: NextBuildContext.config.distDir,\n })\n setGlobal('telemetry', telemetry)\n\n const result = await turbopackBuild()\n shutdownPromise = result.shutdownPromise\n return result\n}\n\nexport async function waitForShutdown(): Promise<void> {\n if (shutdownPromise) {\n await shutdownPromise\n }\n}\n"],"names":["path","validateTurboNextConfig","formatIssue","getTurbopackJsConfig","isPersistentCachingEnabled","isRelevantWarning","NextBuildContext","createDefineEnv","loadBindings","rawEntrypointsToEntrypoints","handleRouteType","TurbopackManifestLoader","promises","fs","PHASE_PRODUCTION_BUILD","loadConfig","hasCustomExportOutput","Telemetry","setGlobal","Log","turbopackBuild","config","dir","isDev","distDir","buildId","encryptionKey","previewProps","hasRewrites","rewrites","appDirOnly","noMangling","startTime","process","hrtime","bindings","experimental","useWasmBinary","dev","supportedBrowsers","persistentCaching","project","turbo","createProject","projectPath","rootPath","turbopack","root","outputFileTracingRoot","nextConfig","jsConfig","watch","enable","env","defineEnv","isTurbopack","clientRouterFilters","fetchCacheKeyPrefix","middlewareMatchers","undefined","browserslistQuery","join","memoryLimit","turbopackMemoryLimit","dependencyTracking","logCompilationEvents","event","compilationEventsSubscribe","severity","message","writeFile","mkdir","recursive","JSON","stringify","type","entrypoints","writeAllEntrypointsToDisk","manifestLoader","topLevelErrors","topLevelWarnings","issue","issues","push","length","console","warn","Error","currentEntrypoints","page","route","app","Promise","all","loadBuildManifest","loadPagesManifest","loadFontManifest","instrumentation","loadMiddlewareManifest","middleware","writeManifests","devRewrites","productionRewrites","shutdownPromise","shutdown","time","duration","buildTraceContext","err","workerMain","workerData","Object","assign","buildContext","telemetry","result","waitForShutdown"],"mappings":"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","ignoreList":[0]}
|
package/dist/esm/build/utils.js
CHANGED
@@ -1256,5 +1256,10 @@ export function collectMeta({ status, headers }) {
|
|
1256
1256
|
}
|
1257
1257
|
return meta;
|
1258
1258
|
}
|
1259
|
+
export const RSPACK_DEFAULT_LAYERS_REGEX = new RegExp(`^(|${[
|
1260
|
+
WEBPACK_LAYERS.pagesDirBrowser,
|
1261
|
+
WEBPACK_LAYERS.pagesDirEdge,
|
1262
|
+
WEBPACK_LAYERS.pagesDirNode
|
1263
|
+
].join('|')})$`);
|
1259
1264
|
|
1260
1265
|
//# sourceMappingURL=utils.js.map
|