next 15.6.0-canary.12 → 15.6.0-canary.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/next +1 -1
- package/dist/build/index.js +3 -3
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack-config.js +2 -2
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/index.js +1 -1
- package/dist/compiled/next-devtools/index.js +15 -15
- package/dist/compiled/next-devtools/index.js.map +1 -1
- package/dist/compiled/next-server/pages-api.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages-api.runtime.dev.js.map +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.dev.js +1 -1
- package/dist/compiled/next-server/pages.runtime.dev.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/compiled/next-server/server.runtime.prod.js +1 -1
- package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
- package/dist/esm/build/index.js +3 -3
- 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/server/base-server.js +2 -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/experimental/create-env-definitions.js +1 -2
- package/dist/esm/server/lib/experimental/create-env-definitions.js.map +1 -1
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js +106 -107
- package/dist/esm/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/server/next-server.js +4 -5
- package/dist/esm/server/next-server.js.map +1 -1
- package/dist/esm/shared/lib/canary-only.js +1 -1
- package/dist/server/base-server.d.ts +1 -1
- package/dist/server/base-server.js +2 -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/experimental/create-env-definitions.js +1 -2
- package/dist/server/lib/experimental/create-env-definitions.js.map +1 -1
- package/dist/server/lib/router-utils/setup-dev-bundler.js +106 -107
- package/dist/server/lib/router-utils/setup-dev-bundler.js.map +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/server/next-server.d.ts +2 -3
- package/dist/server/next-server.js +4 -5
- package/dist/server/next-server.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
@@ -146,7 +146,7 @@ async function createHotReloaderTurbopack(opts, serverFields, distDir, resetFetc
|
|
146
146
|
}
|
147
147
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
148
148
|
const hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
149
|
-
version: "15.6.0-canary.
|
149
|
+
version: "15.6.0-canary.13"
|
150
150
|
});
|
151
151
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
152
152
|
// of the current `next dev` invocation.
|
@@ -226,7 +226,7 @@ class HotReloaderWebpack {
|
|
226
226
|
this.previewProps = previewProps;
|
227
227
|
this.rewrites = rewrites;
|
228
228
|
this.hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
229
|
-
version: "15.6.0-canary.
|
229
|
+
version: "15.6.0-canary.13"
|
230
230
|
});
|
231
231
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
232
232
|
// of the current `next dev` invocation.
|
@@ -82,7 +82,7 @@ function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures, logBu
|
|
82
82
|
bundlerSuffix = ' (webpack)';
|
83
83
|
}
|
84
84
|
}
|
85
|
-
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.6.0-canary.
|
85
|
+
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.6.0-canary.13"}`))}${bundlerSuffix}`);
|
86
86
|
if (appUrl) {
|
87
87
|
_log.bootstrap(`- Local: ${appUrl}`);
|
88
88
|
}
|
@@ -39,8 +39,7 @@ export {}`;
|
|
39
39
|
try {
|
40
40
|
// we expect the types directory to already exist
|
41
41
|
const envDtsPath = (0, _nodepath.join)(distDir, 'types', 'env.d.ts');
|
42
|
-
|
43
|
-
(0, _promises.writeFile)(envDtsPath, definitionStr, 'utf-8');
|
42
|
+
await (0, _promises.writeFile)(envDtsPath, definitionStr, 'utf-8');
|
44
43
|
} catch (e) {
|
45
44
|
console.error('Failed to write env.d.ts:', e);
|
46
45
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../src/server/lib/experimental/create-env-definitions.ts"],"sourcesContent":["import type { LoadedEnvFiles } from '@next/env'\nimport { join } from 'node:path'\nimport { writeFile } from 'node:fs/promises'\n\nexport async function createEnvDefinitions({\n distDir,\n loadedEnvFiles,\n}: {\n distDir: string\n loadedEnvFiles: LoadedEnvFiles\n}) {\n const envLines = []\n const seenKeys = new Set()\n // env files are in order of priority\n for (const { path, env } of loadedEnvFiles) {\n for (const key in env) {\n if (!seenKeys.has(key)) {\n envLines.push(` /** Loaded from \\`${path}\\` */`)\n envLines.push(` ${key}?: string`)\n seenKeys.add(key)\n }\n }\n }\n const envStr = envLines.join('\\n')\n\n const definitionStr = `// Type definitions for Next.js environment variables\ndeclare global {\n namespace NodeJS {\n interface ProcessEnv {\n${envStr}\n }\n }\n}\nexport {}`\n\n if (process.env.NODE_ENV === 'test') {\n return definitionStr\n }\n\n try {\n // we expect the types directory to already exist\n const envDtsPath = join(distDir, 'types', 'env.d.ts')\n
|
1
|
+
{"version":3,"sources":["../../../../src/server/lib/experimental/create-env-definitions.ts"],"sourcesContent":["import type { LoadedEnvFiles } from '@next/env'\nimport { join } from 'node:path'\nimport { writeFile } from 'node:fs/promises'\n\nexport async function createEnvDefinitions({\n distDir,\n loadedEnvFiles,\n}: {\n distDir: string\n loadedEnvFiles: LoadedEnvFiles\n}) {\n const envLines = []\n const seenKeys = new Set()\n // env files are in order of priority\n for (const { path, env } of loadedEnvFiles) {\n for (const key in env) {\n if (!seenKeys.has(key)) {\n envLines.push(` /** Loaded from \\`${path}\\` */`)\n envLines.push(` ${key}?: string`)\n seenKeys.add(key)\n }\n }\n }\n const envStr = envLines.join('\\n')\n\n const definitionStr = `// Type definitions for Next.js environment variables\ndeclare global {\n namespace NodeJS {\n interface ProcessEnv {\n${envStr}\n }\n }\n}\nexport {}`\n\n if (process.env.NODE_ENV === 'test') {\n return definitionStr\n }\n\n try {\n // we expect the types directory to already exist\n const envDtsPath = join(distDir, 'types', 'env.d.ts')\n await writeFile(envDtsPath, definitionStr, 'utf-8')\n } catch (e) {\n console.error('Failed to write env.d.ts:', e)\n }\n}\n"],"names":["createEnvDefinitions","distDir","loadedEnvFiles","envLines","seenKeys","Set","path","env","key","has","push","add","envStr","join","definitionStr","process","NODE_ENV","envDtsPath","writeFile","e","console","error"],"mappings":";;;;+BAIsBA;;;eAAAA;;;0BAHD;0BACK;AAEnB,eAAeA,qBAAqB,EACzCC,OAAO,EACPC,cAAc,EAIf;IACC,MAAMC,WAAW,EAAE;IACnB,MAAMC,WAAW,IAAIC;IACrB,qCAAqC;IACrC,KAAK,MAAM,EAAEC,IAAI,EAAEC,GAAG,EAAE,IAAIL,eAAgB;QAC1C,IAAK,MAAMM,OAAOD,IAAK;YACrB,IAAI,CAACH,SAASK,GAAG,CAACD,MAAM;gBACtBL,SAASO,IAAI,CAAC,CAAC,wBAAwB,EAAEJ,KAAK,KAAK,CAAC;gBACpDH,SAASO,IAAI,CAAC,CAAC,MAAM,EAAEF,IAAI,SAAS,CAAC;gBACrCJ,SAASO,GAAG,CAACH;YACf;QACF;IACF;IACA,MAAMI,SAAST,SAASU,IAAI,CAAC;IAE7B,MAAMC,gBAAgB,CAAC;;;;AAIzB,EAAEF,OAAO;;;;SAIA,CAAC;IAER,IAAIG,QAAQR,GAAG,CAACS,QAAQ,KAAK,QAAQ;QACnC,OAAOF;IACT;IAEA,IAAI;QACF,iDAAiD;QACjD,MAAMG,aAAaJ,IAAAA,cAAI,EAACZ,SAAS,SAAS;QAC1C,MAAMiB,IAAAA,mBAAS,EAACD,YAAYH,eAAe;IAC7C,EAAE,OAAOK,GAAG;QACVC,QAAQC,KAAK,CAAC,6BAA6BF;IAC7C;AACF","ignoreList":[0]}
|
@@ -271,6 +271,7 @@ async function startWatcher(opts) {
|
|
271
271
|
const validatorFilePath = _path.default.join(distDir, 'types', 'validator.ts');
|
272
272
|
wp.on('aggregated', async ()=>{
|
273
273
|
var _serverFields_middleware, _serverFields_middleware1;
|
274
|
+
let writeEnvDefinitions = false;
|
274
275
|
let typescriptStatusFromLastAggregation = enabledTypeScript;
|
275
276
|
let middlewareMatchers;
|
276
277
|
const routedPages = [];
|
@@ -527,55 +528,16 @@ async function startWatcher(opts) {
|
|
527
528
|
previousClientRouterFilters = clientRouterFilters;
|
528
529
|
}
|
529
530
|
}
|
530
|
-
// Using === false to make the check clearer.
|
531
|
-
if (typescriptStatusFromLastAggregation === false && enabledTypeScript) {
|
532
|
-
// we tolerate the error here as this is best effort
|
533
|
-
// and the manual install command will be shown
|
534
|
-
await verifyTypeScript(opts).then(()=>{
|
535
|
-
tsconfigChange = true;
|
536
|
-
}).catch(()=>{});
|
537
|
-
}
|
538
531
|
if (envChange || tsconfigChange) {
|
539
|
-
var _hotReloader_activeWebpackConfigs;
|
540
532
|
if (envChange) {
|
541
|
-
|
542
|
-
const loadEnvConfig = require('@next/env').loadEnvConfig;
|
543
|
-
const { loadedEnvFiles } = loadEnvConfig(dir, process.env.NODE_ENV === 'development', _log, true, (envFilePath)=>{
|
544
|
-
_log.info(`Reload env: ${envFilePath}`);
|
545
|
-
});
|
546
|
-
if (enabledTypeScript && ((_nextConfig_experimental = nextConfig.experimental) == null ? void 0 : _nextConfig_experimental.typedEnv)) {
|
547
|
-
// do not await, this is not essential for further process
|
548
|
-
(0, _createenvdefinitions.createEnvDefinitions)({
|
549
|
-
distDir,
|
550
|
-
loadedEnvFiles: [
|
551
|
-
...loadedEnvFiles,
|
552
|
-
{
|
553
|
-
path: nextConfig.configFileName,
|
554
|
-
env: nextConfig.env,
|
555
|
-
contents: ''
|
556
|
-
}
|
557
|
-
]
|
558
|
-
});
|
559
|
-
}
|
533
|
+
writeEnvDefinitions = true;
|
560
534
|
await propagateServerField(opts, 'loadEnvConfig', [
|
561
535
|
{
|
562
536
|
dev: true,
|
563
|
-
forceReload: true
|
564
|
-
silent: true
|
537
|
+
forceReload: true
|
565
538
|
}
|
566
539
|
]);
|
567
540
|
}
|
568
|
-
let tsconfigResult;
|
569
|
-
// This is not relevant for Turbopack because tsconfig/jsconfig is handled internally.
|
570
|
-
if (!hotReloader.turbopackProject) {
|
571
|
-
if (tsconfigChange) {
|
572
|
-
try {
|
573
|
-
const loadJsConfig = require('../../../build/load-jsconfig').default;
|
574
|
-
tsconfigResult = await loadJsConfig(dir, nextConfig);
|
575
|
-
} catch (_) {
|
576
|
-
/* do we want to log if there are syntax errors in tsconfig while editing? */ }
|
577
|
-
}
|
578
|
-
}
|
579
541
|
if (hotReloader.turbopackProject) {
|
580
542
|
var _opts_nextConfig_turbopack;
|
581
543
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
@@ -597,78 +559,89 @@ async function startWatcher(opts) {
|
|
597
559
|
rootPath,
|
598
560
|
projectPath: (0, _normalizepath.normalizePath)(_path.default.relative(rootPath, dir))
|
599
561
|
});
|
600
|
-
}
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
const isEdgeServer = idx === 2;
|
605
|
-
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
562
|
+
} else {
|
563
|
+
var _hotReloader_activeWebpackConfigs;
|
564
|
+
let tsconfigResult;
|
565
|
+
// This is not relevant for Turbopack because tsconfig/jsconfig is handled internally.
|
606
566
|
if (tsconfigChange) {
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
612
|
-
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
567
|
+
try {
|
568
|
+
const loadJsConfig = require('../../../build/load-jsconfig').default;
|
569
|
+
tsconfigResult = await loadJsConfig(dir, nextConfig);
|
570
|
+
} catch (_) {
|
571
|
+
/* do we want to log if there are syntax errors in tsconfig while editing? */ }
|
572
|
+
}
|
573
|
+
(_hotReloader_activeWebpackConfigs = hotReloader.activeWebpackConfigs) == null ? void 0 : _hotReloader_activeWebpackConfigs.forEach((config, idx)=>{
|
574
|
+
const isClient = idx === 0;
|
575
|
+
const isNodeServer = idx === 1;
|
576
|
+
const isEdgeServer = idx === 2;
|
577
|
+
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
578
|
+
if (tsconfigChange) {
|
579
|
+
var _config_resolve_plugins, _config_resolve;
|
580
|
+
(_config_resolve = config.resolve) == null ? void 0 : (_config_resolve_plugins = _config_resolve.plugins) == null ? void 0 : _config_resolve_plugins.forEach((plugin)=>{
|
581
|
+
// look for the JsConfigPathsPlugin and update with
|
582
|
+
// the latest paths/baseUrl config
|
583
|
+
if (plugin instanceof _jsconfigpathsplugin.JsConfigPathsPlugin && tsconfigResult) {
|
584
|
+
var _config_resolve_modules, _config_resolve, _jsConfig_compilerOptions;
|
585
|
+
const { resolvedBaseUrl, jsConfig } = tsconfigResult;
|
586
|
+
const currentResolvedBaseUrl = plugin.resolvedBaseUrl;
|
587
|
+
const resolvedUrlIndex = (_config_resolve = config.resolve) == null ? void 0 : (_config_resolve_modules = _config_resolve.modules) == null ? void 0 : _config_resolve_modules.findIndex((item)=>item === (currentResolvedBaseUrl == null ? void 0 : currentResolvedBaseUrl.baseUrl));
|
588
|
+
if (resolvedBaseUrl) {
|
589
|
+
if (resolvedBaseUrl.baseUrl !== (currentResolvedBaseUrl == null ? void 0 : currentResolvedBaseUrl.baseUrl)) {
|
590
|
+
// remove old baseUrl and add new one
|
591
|
+
if (resolvedUrlIndex && resolvedUrlIndex > -1) {
|
592
|
+
var _config_resolve_modules1, _config_resolve1;
|
593
|
+
(_config_resolve1 = config.resolve) == null ? void 0 : (_config_resolve_modules1 = _config_resolve1.modules) == null ? void 0 : _config_resolve_modules1.splice(resolvedUrlIndex, 1);
|
594
|
+
}
|
595
|
+
// If the resolvedBaseUrl is implicit we only remove the previous value.
|
596
|
+
// Only add the baseUrl if it's explicitly set in tsconfig/jsconfig
|
597
|
+
if (!resolvedBaseUrl.isImplicit) {
|
598
|
+
var _config_resolve_modules2, _config_resolve2;
|
599
|
+
(_config_resolve2 = config.resolve) == null ? void 0 : (_config_resolve_modules2 = _config_resolve2.modules) == null ? void 0 : _config_resolve_modules2.push(resolvedBaseUrl.baseUrl);
|
600
|
+
}
|
628
601
|
}
|
629
602
|
}
|
603
|
+
if ((jsConfig == null ? void 0 : (_jsConfig_compilerOptions = jsConfig.compilerOptions) == null ? void 0 : _jsConfig_compilerOptions.paths) && resolvedBaseUrl) {
|
604
|
+
Object.keys(plugin.paths).forEach((key)=>{
|
605
|
+
delete plugin.paths[key];
|
606
|
+
});
|
607
|
+
Object.assign(plugin.paths, jsConfig.compilerOptions.paths);
|
608
|
+
plugin.resolvedBaseUrl = resolvedBaseUrl;
|
609
|
+
}
|
630
610
|
}
|
631
|
-
|
632
|
-
|
633
|
-
|
611
|
+
});
|
612
|
+
}
|
613
|
+
if (envChange) {
|
614
|
+
var _config_plugins;
|
615
|
+
(_config_plugins = config.plugins) == null ? void 0 : _config_plugins.forEach((plugin)=>{
|
616
|
+
// we look for the DefinePlugin definitions so we can
|
617
|
+
// update them on the active compilers
|
618
|
+
if (plugin && typeof plugin.definitions === 'object' && plugin.definitions.__NEXT_DEFINE_ENV) {
|
619
|
+
const newDefine = (0, _defineenv.getDefineEnv)({
|
620
|
+
isTurbopack: false,
|
621
|
+
clientRouterFilters,
|
622
|
+
config: nextConfig,
|
623
|
+
dev: true,
|
624
|
+
distDir,
|
625
|
+
fetchCacheKeyPrefix: opts.nextConfig.experimental.fetchCacheKeyPrefix,
|
626
|
+
hasRewrites,
|
627
|
+
isClient,
|
628
|
+
isEdgeServer,
|
629
|
+
isNodeServer,
|
630
|
+
middlewareMatchers: undefined,
|
631
|
+
projectPath: opts.dir,
|
632
|
+
rewrites: opts.fsChecker.rewrites
|
633
|
+
});
|
634
|
+
Object.keys(plugin.definitions).forEach((key)=>{
|
635
|
+
if (!(key in newDefine)) {
|
636
|
+
delete plugin.definitions[key];
|
637
|
+
}
|
634
638
|
});
|
635
|
-
Object.assign(plugin.
|
636
|
-
plugin.resolvedBaseUrl = resolvedBaseUrl;
|
639
|
+
Object.assign(plugin.definitions, newDefine);
|
637
640
|
}
|
638
|
-
}
|
639
|
-
}
|
640
|
-
}
|
641
|
-
|
642
|
-
var _config_plugins;
|
643
|
-
(_config_plugins = config.plugins) == null ? void 0 : _config_plugins.forEach((plugin)=>{
|
644
|
-
// we look for the DefinePlugin definitions so we can
|
645
|
-
// update them on the active compilers
|
646
|
-
if (plugin && typeof plugin.definitions === 'object' && plugin.definitions.__NEXT_DEFINE_ENV) {
|
647
|
-
const newDefine = (0, _defineenv.getDefineEnv)({
|
648
|
-
isTurbopack: false,
|
649
|
-
clientRouterFilters,
|
650
|
-
config: nextConfig,
|
651
|
-
dev: true,
|
652
|
-
distDir,
|
653
|
-
fetchCacheKeyPrefix: opts.nextConfig.experimental.fetchCacheKeyPrefix,
|
654
|
-
hasRewrites,
|
655
|
-
isClient,
|
656
|
-
isEdgeServer,
|
657
|
-
isNodeServer,
|
658
|
-
middlewareMatchers: undefined,
|
659
|
-
projectPath: opts.dir,
|
660
|
-
rewrites: opts.fsChecker.rewrites
|
661
|
-
});
|
662
|
-
Object.keys(plugin.definitions).forEach((key)=>{
|
663
|
-
if (!(key in newDefine)) {
|
664
|
-
delete plugin.definitions[key];
|
665
|
-
}
|
666
|
-
});
|
667
|
-
Object.assign(plugin.definitions, newDefine);
|
668
|
-
}
|
669
|
-
});
|
670
|
-
}
|
671
|
-
});
|
641
|
+
});
|
642
|
+
}
|
643
|
+
});
|
644
|
+
}
|
672
645
|
await hotReloader.invalidate({
|
673
646
|
reloadAfterInvalidation: envChange
|
674
647
|
});
|
@@ -789,6 +762,32 @@ async function startWatcher(opts) {
|
|
789
762
|
}
|
790
763
|
prevSortedRoutes = sortedRoutes;
|
791
764
|
if (enabledTypeScript) {
|
765
|
+
var _nextConfig_experimental;
|
766
|
+
// Using === false to make the check clearer.
|
767
|
+
if (typescriptStatusFromLastAggregation === false) {
|
768
|
+
// we tolerate the error here as this is best effort
|
769
|
+
// and the manual install command will be shown
|
770
|
+
await verifyTypeScript(opts).then(()=>{
|
771
|
+
tsconfigChange = true;
|
772
|
+
}).catch(()=>{});
|
773
|
+
}
|
774
|
+
if (writeEnvDefinitions && ((_nextConfig_experimental = nextConfig.experimental) == null ? void 0 : _nextConfig_experimental.typedEnv)) {
|
775
|
+
// TODO: The call to propagateServerField 'loadEnvConfig' causes the env to be loaded twice on env file changes.
|
776
|
+
const loadEnvConfig = require('@next/env').loadEnvConfig;
|
777
|
+
const { loadedEnvFiles } = loadEnvConfig(dir, process.env.NODE_ENV === 'development', // Silent as it's the second time `loadEnvConfig` is called in this pass.
|
778
|
+
undefined, true);
|
779
|
+
await (0, _createenvdefinitions.createEnvDefinitions)({
|
780
|
+
distDir,
|
781
|
+
loadedEnvFiles: [
|
782
|
+
...loadedEnvFiles,
|
783
|
+
{
|
784
|
+
path: nextConfig.configFileName,
|
785
|
+
env: nextConfig.env,
|
786
|
+
contents: ''
|
787
|
+
}
|
788
|
+
]
|
789
|
+
});
|
790
|
+
}
|
792
791
|
const routeTypesManifest = await (0, _routetypesutils.createRouteTypesManifest)({
|
793
792
|
dir,
|
794
793
|
pageRoutes,
|