next 15.4.0-canary.80 → 15.4.0-canary.81
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/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 +1 -1
- package/dist/compiled/next-devtools/index.js.map +1 -1
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/app-page-turbo.runtime.dev.js +2 -2
- package/dist/compiled/next-server/app-page-turbo.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.prod.js +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.prod.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-turbo.runtime.prod.js +1 -1
- package/dist/compiled/next-server/pages-turbo.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/esm/build/index.js +2 -2
- 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/find-root.js +1 -1
- package/dist/esm/lib/find-root.js.map +1 -1
- package/dist/esm/next-devtools/userspace/app/segment-explorer.js +18 -0
- package/dist/esm/next-devtools/userspace/app/segment-explorer.js.map +1 -0
- package/dist/esm/server/app-render/entry-base.js +1 -2
- package/dist/esm/server/app-render/entry-base.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/start-server.js +1 -1
- package/dist/esm/shared/lib/canary-only.js +1 -1
- package/dist/lib/find-root.js +1 -1
- package/dist/lib/find-root.js.map +1 -1
- package/dist/next-devtools/dev-overlay/components/overview/segment-explorer.d.ts +1 -1
- package/dist/{shared/lib/devtool/trie.d.ts → next-devtools/dev-overlay/segment-explorer.d.ts} +14 -6
- package/dist/next-devtools/dev-overlay.browser.d.ts +3 -0
- package/dist/next-devtools/userspace/app/segment-explorer.d.ts +6 -0
- package/dist/next-devtools/userspace/app/segment-explorer.js +34 -0
- package/dist/next-devtools/userspace/app/segment-explorer.js.map +1 -0
- package/dist/server/app-render/entry-base.d.ts +1 -1
- package/dist/server/app-render/entry-base.js +1 -2
- package/dist/server/app-render/entry-base.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/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/esm/shared/lib/devtool/app-segment-tree.js +0 -67
- package/dist/esm/shared/lib/devtool/app-segment-tree.js.map +0 -1
- package/dist/esm/shared/lib/devtool/trie.js +0 -46
- package/dist/esm/shared/lib/devtool/trie.js.map +0 -1
- package/dist/shared/lib/devtool/app-segment-tree.d.ts +0 -21
- package/dist/shared/lib/devtool/app-segment-tree.js +0 -89
- package/dist/shared/lib/devtool/app-segment-tree.js.map +0 -1
- package/dist/shared/lib/devtool/trie.js +0 -56
- package/dist/shared/lib/devtool/trie.js.map +0 -1
package/dist/esm/build/index.js
CHANGED
@@ -295,7 +295,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
295
295
|
const nextBuildSpan = trace('next-build', undefined, {
|
296
296
|
buildMode: experimentalBuildMode,
|
297
297
|
isTurboBuild: String(isTurbopack),
|
298
|
-
version: "15.4.0-canary.
|
298
|
+
version: "15.4.0-canary.81"
|
299
299
|
});
|
300
300
|
NextBuildContext.nextBuildSpan = nextBuildSpan;
|
301
301
|
NextBuildContext.dir = dir;
|
@@ -676,7 +676,7 @@ export default async function build(dir, reactProductionProfiling = false, debug
|
|
676
676
|
// Files outside of the distDir can be "type": "module"
|
677
677
|
await writeFileUtf8(path.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
678
678
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
679
|
-
await recordFrameworkVersion("15.4.0-canary.
|
679
|
+
await recordFrameworkVersion("15.4.0-canary.81");
|
680
680
|
await updateBuildDiagnostics({
|
681
681
|
buildStage: 'start'
|
682
682
|
});
|
@@ -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.81";
|
15
15
|
const ArchName = arch();
|
16
16
|
const PlatformName = platform();
|
17
17
|
function infoLog(...args) {
|
@@ -1575,7 +1575,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
1575
1575
|
isClient && new CopyFilePlugin({
|
1576
1576
|
// file path to build output of `@next/polyfill-nomodule`
|
1577
1577
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
1578
|
-
cacheKey: "15.4.0-canary.
|
1578
|
+
cacheKey: "15.4.0-canary.81",
|
1579
1579
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
1580
1580
|
minimize: false,
|
1581
1581
|
info: {
|
@@ -1755,7 +1755,7 @@ export default async function getBaseWebpackConfig(dir, { buildId, encryptionKey
|
|
1755
1755
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
1756
1756
|
// - Next.js version
|
1757
1757
|
// - next.config.js keys that affect compilation
|
1758
|
-
version: `${__dirname}|${"15.4.0-canary.
|
1758
|
+
version: `${__dirname}|${"15.4.0-canary.81"}|${configVars}`,
|
1759
1759
|
cacheDirectory: path.join(distDir, 'cache', 'webpack'),
|
1760
1760
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
1761
1761
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|
package/dist/esm/client/index.js
CHANGED
@@ -26,7 +26,7 @@ import { SearchParamsContext, PathParamsContext } from '../shared/lib/hooks-clie
|
|
26
26
|
import { onRecoverableError } from './react-client-callbacks/on-recoverable-error';
|
27
27
|
import tracer from './tracing/tracer';
|
28
28
|
import { isNextRouterError } from './components/is-next-router-error';
|
29
|
-
export const version = "15.4.0-canary.
|
29
|
+
export const version = "15.4.0-canary.81";
|
30
30
|
export let router;
|
31
31
|
export const emitter = mitt();
|
32
32
|
const looseToArray = (input)=>[].slice.call(input);
|
@@ -29,7 +29,7 @@ export function findRootDir(cwd) {
|
|
29
29
|
}
|
30
30
|
// Only warn if not in a build worker to avoid duplicate warnings
|
31
31
|
if (typeof process.send !== 'function' && lockFiles.length > 1) {
|
32
|
-
Log.warnOnce(`Warning: Found multiple lockfiles. Consider removing the lockfiles at
|
32
|
+
Log.warnOnce(`Warning: Found multiple lockfiles. Selecting ${lockFiles[lockFiles.length - 1]}.\n Consider removing the lockfiles at:${lockFiles.slice(0, -1).map((str)=>'\n * ' + str).join('')}\n`);
|
33
33
|
}
|
34
34
|
return dirname(lockFile);
|
35
35
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/lib/find-root.ts"],"sourcesContent":["import { dirname } from 'path'\nimport findUp from 'next/dist/compiled/find-up'\nimport * as Log from '../build/output/log'\n\nexport function findRootLockFile(cwd: string) {\n return findUp.sync(\n [\n 'pnpm-lock.yaml',\n 'package-lock.json',\n 'yarn.lock',\n 'bun.lock',\n 'bun.lockb',\n ],\n {\n cwd,\n }\n )\n}\n\nexport function findRootDir(cwd: string) {\n const lockFile = findRootLockFile(cwd)\n if (!lockFile) return undefined\n\n const lockFiles = [lockFile]\n while (true) {\n const nextDir = dirname(dirname(lockFiles[lockFiles.length - 1]))\n const newLockFile = findRootLockFile(nextDir)\n\n if (newLockFile) {\n lockFiles.push(newLockFile)\n } else {\n break\n }\n }\n\n // Only warn if not in a build worker to avoid duplicate warnings\n if (typeof process.send !== 'function' && lockFiles.length > 1) {\n Log.warnOnce(\n `Warning: Found multiple lockfiles. Consider removing the lockfiles at
|
1
|
+
{"version":3,"sources":["../../src/lib/find-root.ts"],"sourcesContent":["import { dirname } from 'path'\nimport findUp from 'next/dist/compiled/find-up'\nimport * as Log from '../build/output/log'\n\nexport function findRootLockFile(cwd: string) {\n return findUp.sync(\n [\n 'pnpm-lock.yaml',\n 'package-lock.json',\n 'yarn.lock',\n 'bun.lock',\n 'bun.lockb',\n ],\n {\n cwd,\n }\n )\n}\n\nexport function findRootDir(cwd: string) {\n const lockFile = findRootLockFile(cwd)\n if (!lockFile) return undefined\n\n const lockFiles = [lockFile]\n while (true) {\n const nextDir = dirname(dirname(lockFiles[lockFiles.length - 1]))\n const newLockFile = findRootLockFile(nextDir)\n\n if (newLockFile) {\n lockFiles.push(newLockFile)\n } else {\n break\n }\n }\n\n // Only warn if not in a build worker to avoid duplicate warnings\n if (typeof process.send !== 'function' && lockFiles.length > 1) {\n Log.warnOnce(\n `Warning: Found multiple lockfiles. Selecting ${lockFiles[lockFiles.length - 1]}.\\n Consider removing the lockfiles at:${lockFiles\n .slice(0, -1)\n .map((str) => '\\n * ' + str)\n .join('')}\\n`\n )\n }\n\n return dirname(lockFile)\n}\n"],"names":["dirname","findUp","Log","findRootLockFile","cwd","sync","findRootDir","lockFile","undefined","lockFiles","nextDir","length","newLockFile","push","process","send","warnOnce","slice","map","str","join"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAM;AAC9B,OAAOC,YAAY,6BAA4B;AAC/C,YAAYC,SAAS,sBAAqB;AAE1C,OAAO,SAASC,iBAAiBC,GAAW;IAC1C,OAAOH,OAAOI,IAAI,CAChB;QACE;QACA;QACA;QACA;QACA;KACD,EACD;QACED;IACF;AAEJ;AAEA,OAAO,SAASE,YAAYF,GAAW;IACrC,MAAMG,WAAWJ,iBAAiBC;IAClC,IAAI,CAACG,UAAU,OAAOC;IAEtB,MAAMC,YAAY;QAACF;KAAS;IAC5B,MAAO,KAAM;QACX,MAAMG,UAAUV,QAAQA,QAAQS,SAAS,CAACA,UAAUE,MAAM,GAAG,EAAE;QAC/D,MAAMC,cAAcT,iBAAiBO;QAErC,IAAIE,aAAa;YACfH,UAAUI,IAAI,CAACD;QACjB,OAAO;YACL;QACF;IACF;IAEA,iEAAiE;IACjE,IAAI,OAAOE,QAAQC,IAAI,KAAK,cAAcN,UAAUE,MAAM,GAAG,GAAG;QAC9DT,IAAIc,QAAQ,CACV,CAAC,6CAA6C,EAAEP,SAAS,CAACA,UAAUE,MAAM,GAAG,EAAE,CAAC,yCAAyC,EAAEF,UACxHQ,KAAK,CAAC,GAAG,CAAC,GACVC,GAAG,CAAC,CAACC,MAAQ,YAAYA,KACzBC,IAAI,CAAC,IAAI,EAAE,CAAC;IAEnB;IAEA,OAAOpB,QAAQO;AACjB","ignoreList":[0]}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
'use client';
|
2
|
+
import { useEffect } from 'react';
|
3
|
+
import { dispatcher } from 'next/dist/compiled/next-devtools';
|
4
|
+
export function SegmentViewNode(param) {
|
5
|
+
let { type, pagePath, children } = param;
|
6
|
+
useEffect(()=>{
|
7
|
+
dispatcher.segmentExplorerNodeAdd(type, pagePath);
|
8
|
+
return ()=>{
|
9
|
+
dispatcher.segmentExplorerNodeRemove(type, pagePath);
|
10
|
+
};
|
11
|
+
}, [
|
12
|
+
type,
|
13
|
+
pagePath
|
14
|
+
]);
|
15
|
+
return children;
|
16
|
+
}
|
17
|
+
|
18
|
+
//# sourceMappingURL=segment-explorer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/next-devtools/userspace/app/segment-explorer.ts"],"sourcesContent":["'use client'\nimport type { ReactNode } from 'react'\nimport { useEffect } from 'react'\nimport { dispatcher } from 'next/dist/compiled/next-devtools'\n\nexport function SegmentViewNode({\n type,\n pagePath,\n children,\n}: {\n type: string\n pagePath: string\n children: ReactNode\n}) {\n useEffect(() => {\n dispatcher.segmentExplorerNodeAdd(type, pagePath)\n return () => {\n dispatcher.segmentExplorerNodeRemove(type, pagePath)\n }\n }, [type, pagePath])\n\n return children\n}\n"],"names":["useEffect","dispatcher","SegmentViewNode","type","pagePath","children","segmentExplorerNodeAdd","segmentExplorerNodeRemove"],"mappings":"AAAA;AAEA,SAASA,SAAS,QAAQ,QAAO;AACjC,SAASC,UAAU,QAAQ,mCAAkC;AAE7D,OAAO,SAASC,gBAAgB,KAQ/B;IAR+B,IAAA,EAC9BC,IAAI,EACJC,QAAQ,EACRC,QAAQ,EAKT,GAR+B;IAS9BL,UAAU;QACRC,WAAWK,sBAAsB,CAACH,MAAMC;QACxC,OAAO;YACLH,WAAWM,yBAAyB,CAACJ,MAAMC;QAC7C;IACF,GAAG;QAACD;QAAMC;KAAS;IAEnB,OAAOC;AACT","ignoreList":[0]}
|
@@ -27,8 +27,7 @@ import { taintObjectReference } from './rsc/taint';
|
|
27
27
|
export { collectSegmentData } from './collect-segment-data';
|
28
28
|
let SegmentViewNode = ()=>null;
|
29
29
|
if (process.env.NODE_ENV === 'development') {
|
30
|
-
|
31
|
-
SegmentViewNode = appSegmentTree.SegmentViewNode;
|
30
|
+
SegmentViewNode = require('../../next-devtools/userspace/app/segment-explorer').SegmentViewNode;
|
32
31
|
}
|
33
32
|
// patchFetch makes use of APIs such as `React.unstable_postpone` which are only available
|
34
33
|
// in the experimental channel of React, so export it from here so that it comes from the bundled runtime
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/server/app-render/entry-base.ts"],"sourcesContent":["// eslint-disable-next-line import/no-extraneous-dependencies\nexport {\n createTemporaryReferenceSet,\n renderToReadableStream,\n decodeReply,\n decodeAction,\n decodeFormState,\n} from 'react-server-dom-webpack/server.edge'\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nexport { unstable_prerender as prerender } from 'react-server-dom-webpack/static.edge'\n\nimport LayoutRouter from '../../client/components/layout-router'\nimport RenderFromTemplateContext from '../../client/components/render-from-template-context'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { workUnitAsyncStorage } from './work-unit-async-storage.external'\nimport { actionAsyncStorage } from '../app-render/action-async-storage.external'\nimport { ClientPageRoot } from '../../client/components/client-page'\nimport { ClientSegmentRoot } from '../../client/components/client-segment'\nimport {\n createServerSearchParamsForServerPage,\n createPrerenderSearchParamsForClientPage,\n} from '../request/search-params'\nimport {\n createServerParamsForServerSegment,\n createPrerenderParamsForClientSegment,\n} from '../request/params'\nimport * as serverHooks from '../../client/components/hooks-server-context'\nimport { HTTPAccessFallbackBoundary } from '../../client/components/http-access-fallback/error-boundary'\nimport { createMetadataComponents } from '../../lib/metadata/metadata'\nimport { patchFetch as _patchFetch } from '../lib/patch-fetch'\n// Not being directly used but should be included in the client manifest for /_not-found\n// * ErrorBoundary -> client/components/error-boundary\n// * GlobalError -> client/components/global-error\nimport '../../client/components/error-boundary'\nimport '../../client/components/global-error'\nimport {\n MetadataBoundary,\n ViewportBoundary,\n OutletBoundary,\n} from '../../client/components/metadata/metadata-boundary'\n\nimport { preloadStyle, preloadFont, preconnect } from './rsc/preloads'\nimport { Postpone } from './rsc/postpone'\nimport { taintObjectReference } from './rsc/taint'\nexport { collectSegmentData } from './collect-segment-data'\n\nlet SegmentViewNode: typeof import('../../
|
1
|
+
{"version":3,"sources":["../../../src/server/app-render/entry-base.ts"],"sourcesContent":["// eslint-disable-next-line import/no-extraneous-dependencies\nexport {\n createTemporaryReferenceSet,\n renderToReadableStream,\n decodeReply,\n decodeAction,\n decodeFormState,\n} from 'react-server-dom-webpack/server.edge'\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nexport { unstable_prerender as prerender } from 'react-server-dom-webpack/static.edge'\n\nimport LayoutRouter from '../../client/components/layout-router'\nimport RenderFromTemplateContext from '../../client/components/render-from-template-context'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { workUnitAsyncStorage } from './work-unit-async-storage.external'\nimport { actionAsyncStorage } from '../app-render/action-async-storage.external'\nimport { ClientPageRoot } from '../../client/components/client-page'\nimport { ClientSegmentRoot } from '../../client/components/client-segment'\nimport {\n createServerSearchParamsForServerPage,\n createPrerenderSearchParamsForClientPage,\n} from '../request/search-params'\nimport {\n createServerParamsForServerSegment,\n createPrerenderParamsForClientSegment,\n} from '../request/params'\nimport * as serverHooks from '../../client/components/hooks-server-context'\nimport { HTTPAccessFallbackBoundary } from '../../client/components/http-access-fallback/error-boundary'\nimport { createMetadataComponents } from '../../lib/metadata/metadata'\nimport { patchFetch as _patchFetch } from '../lib/patch-fetch'\n// Not being directly used but should be included in the client manifest for /_not-found\n// * ErrorBoundary -> client/components/error-boundary\n// * GlobalError -> client/components/global-error\nimport '../../client/components/error-boundary'\nimport '../../client/components/global-error'\nimport {\n MetadataBoundary,\n ViewportBoundary,\n OutletBoundary,\n} from '../../client/components/metadata/metadata-boundary'\n\nimport { preloadStyle, preloadFont, preconnect } from './rsc/preloads'\nimport { Postpone } from './rsc/postpone'\nimport { taintObjectReference } from './rsc/taint'\nexport { collectSegmentData } from './collect-segment-data'\n\nlet SegmentViewNode: typeof import('../../next-devtools/userspace/app/segment-explorer').SegmentViewNode =\n () => null\nif (process.env.NODE_ENV === 'development') {\n SegmentViewNode = (\n require('../../next-devtools/userspace/app/segment-explorer') as typeof import('../../next-devtools/userspace/app/segment-explorer')\n ).SegmentViewNode\n}\n\n// patchFetch makes use of APIs such as `React.unstable_postpone` which are only available\n// in the experimental channel of React, so export it from here so that it comes from the bundled runtime\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n LayoutRouter,\n RenderFromTemplateContext,\n workAsyncStorage,\n workUnitAsyncStorage,\n actionAsyncStorage,\n createServerSearchParamsForServerPage,\n createPrerenderSearchParamsForClientPage,\n createServerParamsForServerSegment,\n createPrerenderParamsForClientSegment,\n serverHooks,\n preloadStyle,\n preloadFont,\n preconnect,\n Postpone,\n MetadataBoundary,\n ViewportBoundary,\n OutletBoundary,\n taintObjectReference,\n ClientPageRoot,\n ClientSegmentRoot,\n HTTPAccessFallbackBoundary,\n patchFetch,\n createMetadataComponents,\n // Development only\n SegmentViewNode,\n}\n"],"names":["createTemporaryReferenceSet","renderToReadableStream","decodeReply","decodeAction","decodeFormState","unstable_prerender","prerender","LayoutRouter","RenderFromTemplateContext","workAsyncStorage","workUnitAsyncStorage","actionAsyncStorage","ClientPageRoot","ClientSegmentRoot","createServerSearchParamsForServerPage","createPrerenderSearchParamsForClientPage","createServerParamsForServerSegment","createPrerenderParamsForClientSegment","serverHooks","HTTPAccessFallbackBoundary","createMetadataComponents","patchFetch","_patchFetch","MetadataBoundary","ViewportBoundary","OutletBoundary","preloadStyle","preloadFont","preconnect","Postpone","taintObjectReference","collectSegmentData","SegmentViewNode","process","env","NODE_ENV","require"],"mappings":"AAAA,6DAA6D;AAC7D,SACEA,2BAA2B,EAC3BC,sBAAsB,EACtBC,WAAW,EACXC,YAAY,EACZC,eAAe,QACV,uCAAsC;AAE7C,6DAA6D;AAC7D,SAASC,sBAAsBC,SAAS,QAAQ,uCAAsC;AAEtF,OAAOC,kBAAkB,wCAAuC;AAChE,OAAOC,+BAA+B,uDAAsD;AAC5F,SAASC,gBAAgB,QAAQ,4CAA2C;AAC5E,SAASC,oBAAoB,QAAQ,qCAAoC;AACzE,SAASC,kBAAkB,QAAQ,8CAA6C;AAChF,SAASC,cAAc,QAAQ,sCAAqC;AACpE,SAASC,iBAAiB,QAAQ,yCAAwC;AAC1E,SACEC,qCAAqC,EACrCC,wCAAwC,QACnC,2BAA0B;AACjC,SACEC,kCAAkC,EAClCC,qCAAqC,QAChC,oBAAmB;AAC1B,YAAYC,iBAAiB,+CAA8C;AAC3E,SAASC,0BAA0B,QAAQ,8DAA6D;AACxG,SAASC,wBAAwB,QAAQ,8BAA6B;AACtE,SAASC,cAAcC,WAAW,QAAQ,qBAAoB;AAC9D,wFAAwF;AACxF,sDAAsD;AACtD,kDAAkD;AAClD,OAAO,yCAAwC;AAC/C,OAAO,uCAAsC;AAC7C,SACEC,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,QACT,qDAAoD;AAE3D,SAASC,YAAY,EAAEC,WAAW,EAAEC,UAAU,QAAQ,iBAAgB;AACtE,SAASC,QAAQ,QAAQ,iBAAgB;AACzC,SAASC,oBAAoB,QAAQ,cAAa;AAClD,SAASC,kBAAkB,QAAQ,yBAAwB;AAE3D,IAAIC,kBACF,IAAM;AACR,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;IAC1CH,kBAAkB,AAChBI,QAAQ,sDACRJ,eAAe;AACnB;AAEA,0FAA0F;AAC1F,yGAAyG;AACzG,SAASX;IACP,OAAOC,YAAY;QACjBb;QACAC;IACF;AACF;AAEA,SACEH,YAAY,EACZC,yBAAyB,EACzBC,gBAAgB,EAChBC,oBAAoB,EACpBC,kBAAkB,EAClBG,qCAAqC,EACrCC,wCAAwC,EACxCC,kCAAkC,EAClCC,qCAAqC,EACrCC,WAAW,EACXQ,YAAY,EACZC,WAAW,EACXC,UAAU,EACVC,QAAQ,EACRN,gBAAgB,EAChBC,gBAAgB,EAChBC,cAAc,EACdK,oBAAoB,EACpBlB,cAAc,EACdC,iBAAiB,EACjBM,0BAA0B,EAC1BE,UAAU,EACVD,wBAAwB,EACxB,mBAAmB;AACnBY,eAAe,KAChB","ignoreList":[0]}
|
@@ -85,7 +85,7 @@ export async function createHotReloaderTurbopack(opts, serverFields, distDir, re
|
|
85
85
|
}
|
86
86
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
87
87
|
const hotReloaderSpan = trace('hot-reloader', undefined, {
|
88
|
-
version: "15.4.0-canary.
|
88
|
+
version: "15.4.0-canary.81"
|
89
89
|
});
|
90
90
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
91
91
|
// of the current `next dev` invocation.
|
@@ -182,7 +182,7 @@ export default class HotReloaderWebpack {
|
|
182
182
|
this.previewProps = previewProps;
|
183
183
|
this.rewrites = rewrites;
|
184
184
|
this.hotReloaderSpan = trace('hot-reloader', undefined, {
|
185
|
-
version: "15.4.0-canary.
|
185
|
+
version: "15.4.0-canary.81"
|
186
186
|
});
|
187
187
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
188
188
|
// of the current `next dev` invocation.
|
@@ -12,7 +12,7 @@ export function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures
|
|
12
12
|
} else {
|
13
13
|
bundlerSuffix = '';
|
14
14
|
}
|
15
|
-
Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"15.4.0-canary.
|
15
|
+
Log.bootstrap(`${bold(purple(`${Log.prefixes.ready} Next.js ${"15.4.0-canary.81"}`))}${bundlerSuffix}`);
|
16
16
|
if (appUrl) {
|
17
17
|
Log.bootstrap(`- Local: ${appUrl}`);
|
18
18
|
}
|
@@ -42,7 +42,7 @@ export async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup,
|
|
42
42
|
export async function startServer(serverOptions) {
|
43
43
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
|
44
44
|
let { port } = serverOptions;
|
45
|
-
process.title = `next-server (v${"15.4.0-canary.
|
45
|
+
process.title = `next-server (v${"15.4.0-canary.81"})`;
|
46
46
|
let handlersReady = ()=>{};
|
47
47
|
let handlersError = ()=>{};
|
48
48
|
let handlersPromise = new Promise((resolve, reject)=>{
|
@@ -1,6 +1,6 @@
|
|
1
1
|
export function isStableBuild() {
|
2
2
|
var _process_env___NEXT_VERSION;
|
3
|
-
return !((_process_env___NEXT_VERSION = "15.4.0-canary.
|
3
|
+
return !((_process_env___NEXT_VERSION = "15.4.0-canary.81") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
|
4
4
|
}
|
5
5
|
export class CanaryOnlyError extends Error {
|
6
6
|
constructor(arg){
|
package/dist/lib/find-root.js
CHANGED
@@ -97,7 +97,7 @@ function findRootDir(cwd) {
|
|
97
97
|
}
|
98
98
|
// Only warn if not in a build worker to avoid duplicate warnings
|
99
99
|
if (typeof process.send !== 'function' && lockFiles.length > 1) {
|
100
|
-
_log.warnOnce(`Warning: Found multiple lockfiles. Consider removing the lockfiles at
|
100
|
+
_log.warnOnce(`Warning: Found multiple lockfiles. Selecting ${lockFiles[lockFiles.length - 1]}.\n Consider removing the lockfiles at:${lockFiles.slice(0, -1).map((str)=>'\n * ' + str).join('')}\n`);
|
101
101
|
}
|
102
102
|
return (0, _path.dirname)(lockFile);
|
103
103
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/lib/find-root.ts"],"sourcesContent":["import { dirname } from 'path'\nimport findUp from 'next/dist/compiled/find-up'\nimport * as Log from '../build/output/log'\n\nexport function findRootLockFile(cwd: string) {\n return findUp.sync(\n [\n 'pnpm-lock.yaml',\n 'package-lock.json',\n 'yarn.lock',\n 'bun.lock',\n 'bun.lockb',\n ],\n {\n cwd,\n }\n )\n}\n\nexport function findRootDir(cwd: string) {\n const lockFile = findRootLockFile(cwd)\n if (!lockFile) return undefined\n\n const lockFiles = [lockFile]\n while (true) {\n const nextDir = dirname(dirname(lockFiles[lockFiles.length - 1]))\n const newLockFile = findRootLockFile(nextDir)\n\n if (newLockFile) {\n lockFiles.push(newLockFile)\n } else {\n break\n }\n }\n\n // Only warn if not in a build worker to avoid duplicate warnings\n if (typeof process.send !== 'function' && lockFiles.length > 1) {\n Log.warnOnce(\n `Warning: Found multiple lockfiles. Consider removing the lockfiles at
|
1
|
+
{"version":3,"sources":["../../src/lib/find-root.ts"],"sourcesContent":["import { dirname } from 'path'\nimport findUp from 'next/dist/compiled/find-up'\nimport * as Log from '../build/output/log'\n\nexport function findRootLockFile(cwd: string) {\n return findUp.sync(\n [\n 'pnpm-lock.yaml',\n 'package-lock.json',\n 'yarn.lock',\n 'bun.lock',\n 'bun.lockb',\n ],\n {\n cwd,\n }\n )\n}\n\nexport function findRootDir(cwd: string) {\n const lockFile = findRootLockFile(cwd)\n if (!lockFile) return undefined\n\n const lockFiles = [lockFile]\n while (true) {\n const nextDir = dirname(dirname(lockFiles[lockFiles.length - 1]))\n const newLockFile = findRootLockFile(nextDir)\n\n if (newLockFile) {\n lockFiles.push(newLockFile)\n } else {\n break\n }\n }\n\n // Only warn if not in a build worker to avoid duplicate warnings\n if (typeof process.send !== 'function' && lockFiles.length > 1) {\n Log.warnOnce(\n `Warning: Found multiple lockfiles. Selecting ${lockFiles[lockFiles.length - 1]}.\\n Consider removing the lockfiles at:${lockFiles\n .slice(0, -1)\n .map((str) => '\\n * ' + str)\n .join('')}\\n`\n )\n }\n\n return dirname(lockFile)\n}\n"],"names":["findRootDir","findRootLockFile","cwd","findUp","sync","lockFile","undefined","lockFiles","nextDir","dirname","length","newLockFile","push","process","send","Log","warnOnce","slice","map","str","join"],"mappings":";;;;;;;;;;;;;;;IAmBgBA,WAAW;eAAXA;;IAfAC,gBAAgB;eAAhBA;;;sBAJQ;+DACL;6DACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,SAASA,iBAAiBC,GAAW;IAC1C,OAAOC,eAAM,CAACC,IAAI,CAChB;QACE;QACA;QACA;QACA;QACA;KACD,EACD;QACEF;IACF;AAEJ;AAEO,SAASF,YAAYE,GAAW;IACrC,MAAMG,WAAWJ,iBAAiBC;IAClC,IAAI,CAACG,UAAU,OAAOC;IAEtB,MAAMC,YAAY;QAACF;KAAS;IAC5B,MAAO,KAAM;QACX,MAAMG,UAAUC,IAAAA,aAAO,EAACA,IAAAA,aAAO,EAACF,SAAS,CAACA,UAAUG,MAAM,GAAG,EAAE;QAC/D,MAAMC,cAAcV,iBAAiBO;QAErC,IAAIG,aAAa;YACfJ,UAAUK,IAAI,CAACD;QACjB,OAAO;YACL;QACF;IACF;IAEA,iEAAiE;IACjE,IAAI,OAAOE,QAAQC,IAAI,KAAK,cAAcP,UAAUG,MAAM,GAAG,GAAG;QAC9DK,KAAIC,QAAQ,CACV,CAAC,6CAA6C,EAAET,SAAS,CAACA,UAAUG,MAAM,GAAG,EAAE,CAAC,yCAAyC,EAAEH,UACxHU,KAAK,CAAC,GAAG,CAAC,GACVC,GAAG,CAAC,CAACC,MAAQ,YAAYA,KACzBC,IAAI,CAAC,IAAI,EAAE,CAAC;IAEnB;IAEA,OAAOX,IAAAA,aAAO,EAACJ;AACjB","ignoreList":[0]}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import type { HTMLProps } from 'react';
|
2
2
|
import type { DevToolsInfoPropsCore } from '../errors/dev-tools-indicator/dev-tools-info/dev-tools-info';
|
3
|
-
export declare function SegmentsExplorer(props: DevToolsInfoPropsCore & HTMLProps<HTMLDivElement>): import("react/jsx-runtime").JSX.Element
|
3
|
+
export declare function SegmentsExplorer(props: DevToolsInfoPropsCore & HTMLProps<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
4
4
|
export declare const DEV_TOOLS_INFO_RENDER_FILES_STYLES: string;
|
package/dist/{shared/lib/devtool/trie.d.ts → next-devtools/dev-overlay/segment-explorer.d.ts}
RENAMED
@@ -14,16 +14,24 @@
|
|
14
14
|
* ├── layout.js
|
15
15
|
* ├── page.js
|
16
16
|
**/
|
17
|
-
|
18
|
-
value
|
17
|
+
type TrieNode<Value = string> = {
|
18
|
+
value: Value | undefined;
|
19
19
|
children: {
|
20
20
|
[key: string]: TrieNode<Value> | undefined;
|
21
21
|
};
|
22
22
|
};
|
23
|
-
|
23
|
+
type Trie<Value = string> = {
|
24
24
|
insert: (value: Value) => void;
|
25
|
+
remove: (value: Value) => void;
|
25
26
|
getRoot: () => TrieNode<Value>;
|
26
27
|
};
|
27
|
-
export
|
28
|
-
|
29
|
-
|
28
|
+
export type SegmentNode = {
|
29
|
+
type: string;
|
30
|
+
pagePath: string;
|
31
|
+
};
|
32
|
+
export type SegmentTrie = Trie<SegmentNode>;
|
33
|
+
export type SegmentTrieNode = TrieNode<SegmentNode>;
|
34
|
+
export declare const insertSegmentNode: (value: SegmentNode) => void;
|
35
|
+
export declare const removeSegmentNode: (value: SegmentNode) => void;
|
36
|
+
export declare function useSegmentTree(): SegmentTrieNode;
|
37
|
+
export {};
|
@@ -2,6 +2,7 @@ import type { HydrationErrorState } from './shared/hydration-error';
|
|
2
2
|
import type { DebugInfo } from './shared/types';
|
3
3
|
import type { DevIndicatorServerState } from '../server/dev/dev-indicator-server-state';
|
4
4
|
import type { VersionInfo } from '../server/dev/parse-version-info';
|
5
|
+
import { type SegmentNode } from './dev-overlay/segment-explorer';
|
5
6
|
export interface Dispatcher {
|
6
7
|
onBuildOk(): void;
|
7
8
|
onBuildError(message: string): void;
|
@@ -20,6 +21,8 @@ export interface Dispatcher {
|
|
20
21
|
buildingIndicatorShow(): void;
|
21
22
|
renderingIndicatorHide(): void;
|
22
23
|
renderingIndicatorShow(): void;
|
24
|
+
segmentExplorerNodeAdd(nodeType: SegmentNode['type'], pagePath: SegmentNode['pagePath']): void;
|
25
|
+
segmentExplorerNodeRemove(nodeType: SegmentNode['type'], pagePath: SegmentNode['pagePath']): void;
|
23
26
|
}
|
24
27
|
export declare const dispatcher: Dispatcher;
|
25
28
|
export declare function renderAppDevOverlay(getComponentStack: (error: Error) => string | undefined, getOwnerStack: (error: Error) => string | null | undefined, isRecoverableError: (error: Error) => boolean): void;
|
@@ -0,0 +1,34 @@
|
|
1
|
+
'use client';
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
Object.defineProperty(exports, "SegmentViewNode", {
|
7
|
+
enumerable: true,
|
8
|
+
get: function() {
|
9
|
+
return SegmentViewNode;
|
10
|
+
}
|
11
|
+
});
|
12
|
+
const _react = require("react");
|
13
|
+
const _nextdevtools = require("next/dist/compiled/next-devtools");
|
14
|
+
function SegmentViewNode(param) {
|
15
|
+
let { type, pagePath, children } = param;
|
16
|
+
(0, _react.useEffect)(()=>{
|
17
|
+
_nextdevtools.dispatcher.segmentExplorerNodeAdd(type, pagePath);
|
18
|
+
return ()=>{
|
19
|
+
_nextdevtools.dispatcher.segmentExplorerNodeRemove(type, pagePath);
|
20
|
+
};
|
21
|
+
}, [
|
22
|
+
type,
|
23
|
+
pagePath
|
24
|
+
]);
|
25
|
+
return children;
|
26
|
+
}
|
27
|
+
|
28
|
+
if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
|
29
|
+
Object.defineProperty(exports.default, '__esModule', { value: true });
|
30
|
+
Object.assign(exports.default, exports);
|
31
|
+
module.exports = exports.default;
|
32
|
+
}
|
33
|
+
|
34
|
+
//# sourceMappingURL=segment-explorer.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../../../src/next-devtools/userspace/app/segment-explorer.ts"],"sourcesContent":["'use client'\nimport type { ReactNode } from 'react'\nimport { useEffect } from 'react'\nimport { dispatcher } from 'next/dist/compiled/next-devtools'\n\nexport function SegmentViewNode({\n type,\n pagePath,\n children,\n}: {\n type: string\n pagePath: string\n children: ReactNode\n}) {\n useEffect(() => {\n dispatcher.segmentExplorerNodeAdd(type, pagePath)\n return () => {\n dispatcher.segmentExplorerNodeRemove(type, pagePath)\n }\n }, [type, pagePath])\n\n return children\n}\n"],"names":["SegmentViewNode","type","pagePath","children","useEffect","dispatcher","segmentExplorerNodeAdd","segmentExplorerNodeRemove"],"mappings":"AAAA;;;;;+BAKgBA;;;eAAAA;;;uBAHU;8BACC;AAEpB,SAASA,gBAAgB,KAQ/B;IAR+B,IAAA,EAC9BC,IAAI,EACJC,QAAQ,EACRC,QAAQ,EAKT,GAR+B;IAS9BC,IAAAA,gBAAS,EAAC;QACRC,wBAAU,CAACC,sBAAsB,CAACL,MAAMC;QACxC,OAAO;YACLG,wBAAU,CAACE,yBAAyB,CAACN,MAAMC;QAC7C;IACF,GAAG;QAACD;QAAMC;KAAS;IAEnB,OAAOC;AACT","ignoreList":[0]}
|
@@ -19,6 +19,6 @@ import { preloadStyle, preloadFont, preconnect } from './rsc/preloads';
|
|
19
19
|
import { Postpone } from './rsc/postpone';
|
20
20
|
import { taintObjectReference } from './rsc/taint';
|
21
21
|
export { collectSegmentData } from './collect-segment-data';
|
22
|
-
declare let SegmentViewNode: typeof import('../../
|
22
|
+
declare let SegmentViewNode: typeof import('../../next-devtools/userspace/app/segment-explorer').SegmentViewNode;
|
23
23
|
declare function patchFetch(): void;
|
24
24
|
export { LayoutRouter, RenderFromTemplateContext, workAsyncStorage, workUnitAsyncStorage, actionAsyncStorage, createServerSearchParamsForServerPage, createPrerenderSearchParamsForClientPage, createServerParamsForServerSegment, createPrerenderParamsForClientSegment, serverHooks, preloadStyle, preloadFont, preconnect, Postpone, MetadataBoundary, ViewportBoundary, OutletBoundary, taintObjectReference, ClientPageRoot, ClientSegmentRoot, HTTPAccessFallbackBoundary, patchFetch, createMetadataComponents, SegmentViewNode, };
|
@@ -208,8 +208,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
208
208
|
}
|
209
209
|
let SegmentViewNode = ()=>null;
|
210
210
|
if (process.env.NODE_ENV === 'development') {
|
211
|
-
|
212
|
-
SegmentViewNode = appSegmentTree.SegmentViewNode;
|
211
|
+
SegmentViewNode = require('../../next-devtools/userspace/app/segment-explorer').SegmentViewNode;
|
213
212
|
}
|
214
213
|
// patchFetch makes use of APIs such as `React.unstable_postpone` which are only available
|
215
214
|
// in the experimental channel of React, so export it from here so that it comes from the bundled runtime
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/server/app-render/entry-base.ts"],"sourcesContent":["// eslint-disable-next-line import/no-extraneous-dependencies\nexport {\n createTemporaryReferenceSet,\n renderToReadableStream,\n decodeReply,\n decodeAction,\n decodeFormState,\n} from 'react-server-dom-webpack/server.edge'\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nexport { unstable_prerender as prerender } from 'react-server-dom-webpack/static.edge'\n\nimport LayoutRouter from '../../client/components/layout-router'\nimport RenderFromTemplateContext from '../../client/components/render-from-template-context'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { workUnitAsyncStorage } from './work-unit-async-storage.external'\nimport { actionAsyncStorage } from '../app-render/action-async-storage.external'\nimport { ClientPageRoot } from '../../client/components/client-page'\nimport { ClientSegmentRoot } from '../../client/components/client-segment'\nimport {\n createServerSearchParamsForServerPage,\n createPrerenderSearchParamsForClientPage,\n} from '../request/search-params'\nimport {\n createServerParamsForServerSegment,\n createPrerenderParamsForClientSegment,\n} from '../request/params'\nimport * as serverHooks from '../../client/components/hooks-server-context'\nimport { HTTPAccessFallbackBoundary } from '../../client/components/http-access-fallback/error-boundary'\nimport { createMetadataComponents } from '../../lib/metadata/metadata'\nimport { patchFetch as _patchFetch } from '../lib/patch-fetch'\n// Not being directly used but should be included in the client manifest for /_not-found\n// * ErrorBoundary -> client/components/error-boundary\n// * GlobalError -> client/components/global-error\nimport '../../client/components/error-boundary'\nimport '../../client/components/global-error'\nimport {\n MetadataBoundary,\n ViewportBoundary,\n OutletBoundary,\n} from '../../client/components/metadata/metadata-boundary'\n\nimport { preloadStyle, preloadFont, preconnect } from './rsc/preloads'\nimport { Postpone } from './rsc/postpone'\nimport { taintObjectReference } from './rsc/taint'\nexport { collectSegmentData } from './collect-segment-data'\n\nlet SegmentViewNode: typeof import('../../
|
1
|
+
{"version":3,"sources":["../../../src/server/app-render/entry-base.ts"],"sourcesContent":["// eslint-disable-next-line import/no-extraneous-dependencies\nexport {\n createTemporaryReferenceSet,\n renderToReadableStream,\n decodeReply,\n decodeAction,\n decodeFormState,\n} from 'react-server-dom-webpack/server.edge'\n\n// eslint-disable-next-line import/no-extraneous-dependencies\nexport { unstable_prerender as prerender } from 'react-server-dom-webpack/static.edge'\n\nimport LayoutRouter from '../../client/components/layout-router'\nimport RenderFromTemplateContext from '../../client/components/render-from-template-context'\nimport { workAsyncStorage } from '../app-render/work-async-storage.external'\nimport { workUnitAsyncStorage } from './work-unit-async-storage.external'\nimport { actionAsyncStorage } from '../app-render/action-async-storage.external'\nimport { ClientPageRoot } from '../../client/components/client-page'\nimport { ClientSegmentRoot } from '../../client/components/client-segment'\nimport {\n createServerSearchParamsForServerPage,\n createPrerenderSearchParamsForClientPage,\n} from '../request/search-params'\nimport {\n createServerParamsForServerSegment,\n createPrerenderParamsForClientSegment,\n} from '../request/params'\nimport * as serverHooks from '../../client/components/hooks-server-context'\nimport { HTTPAccessFallbackBoundary } from '../../client/components/http-access-fallback/error-boundary'\nimport { createMetadataComponents } from '../../lib/metadata/metadata'\nimport { patchFetch as _patchFetch } from '../lib/patch-fetch'\n// Not being directly used but should be included in the client manifest for /_not-found\n// * ErrorBoundary -> client/components/error-boundary\n// * GlobalError -> client/components/global-error\nimport '../../client/components/error-boundary'\nimport '../../client/components/global-error'\nimport {\n MetadataBoundary,\n ViewportBoundary,\n OutletBoundary,\n} from '../../client/components/metadata/metadata-boundary'\n\nimport { preloadStyle, preloadFont, preconnect } from './rsc/preloads'\nimport { Postpone } from './rsc/postpone'\nimport { taintObjectReference } from './rsc/taint'\nexport { collectSegmentData } from './collect-segment-data'\n\nlet SegmentViewNode: typeof import('../../next-devtools/userspace/app/segment-explorer').SegmentViewNode =\n () => null\nif (process.env.NODE_ENV === 'development') {\n SegmentViewNode = (\n require('../../next-devtools/userspace/app/segment-explorer') as typeof import('../../next-devtools/userspace/app/segment-explorer')\n ).SegmentViewNode\n}\n\n// patchFetch makes use of APIs such as `React.unstable_postpone` which are only available\n// in the experimental channel of React, so export it from here so that it comes from the bundled runtime\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage,\n })\n}\n\nexport {\n LayoutRouter,\n RenderFromTemplateContext,\n workAsyncStorage,\n workUnitAsyncStorage,\n actionAsyncStorage,\n createServerSearchParamsForServerPage,\n createPrerenderSearchParamsForClientPage,\n createServerParamsForServerSegment,\n createPrerenderParamsForClientSegment,\n serverHooks,\n preloadStyle,\n preloadFont,\n preconnect,\n Postpone,\n MetadataBoundary,\n ViewportBoundary,\n OutletBoundary,\n taintObjectReference,\n ClientPageRoot,\n ClientSegmentRoot,\n HTTPAccessFallbackBoundary,\n patchFetch,\n createMetadataComponents,\n // Development only\n SegmentViewNode,\n}\n"],"names":["ClientPageRoot","ClientSegmentRoot","HTTPAccessFallbackBoundary","LayoutRouter","MetadataBoundary","OutletBoundary","Postpone","RenderFromTemplateContext","SegmentViewNode","ViewportBoundary","actionAsyncStorage","collectSegmentData","createMetadataComponents","createPrerenderParamsForClientSegment","createPrerenderSearchParamsForClientPage","createServerParamsForServerSegment","createServerSearchParamsForServerPage","createTemporaryReferenceSet","decodeAction","decodeFormState","decodeReply","patchFetch","preconnect","preloadFont","preloadStyle","prerender","unstable_prerender","renderToReadableStream","serverHooks","taintObjectReference","workAsyncStorage","workUnitAsyncStorage","process","env","NODE_ENV","require","_patchFetch"],"mappings":"AAAA,6DAA6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmF3DA,cAAc;eAAdA,0BAAc;;IACdC,iBAAiB;eAAjBA,gCAAiB;;IACjBC,0BAA0B;eAA1BA,yCAA0B;;IApB1BC,YAAY;eAAZA,qBAAY;;IAcZC,gBAAgB;eAAhBA,kCAAgB;;IAEhBC,cAAc;eAAdA,gCAAc;;IAHdC,QAAQ;eAARA,kBAAQ;;IAZRC,yBAAyB;eAAzBA,kCAAyB;;IAsBzB,mBAAmB;IACnBC,eAAe;eAAfA;;IATAC,gBAAgB;eAAhBA,kCAAgB;;IAXhBC,kBAAkB;eAAlBA,8CAAkB;;IAxBXC,kBAAkB;eAAlBA,sCAAkB;;IA0CzBC,wBAAwB;eAAxBA,kCAAwB;;IAdxBC,qCAAqC;eAArCA,6CAAqC;;IAFrCC,wCAAwC;eAAxCA,sDAAwC;;IACxCC,kCAAkC;eAAlCA,0CAAkC;;IAFlCC,qCAAqC;eAArCA,mDAAqC;;IApErCC,2BAA2B;eAA3BA,uCAA2B;;IAG3BC,YAAY;eAAZA,wBAAY;;IACZC,eAAe;eAAfA,2BAAe;;IAFfC,WAAW;eAAXA,uBAAW;;IAkFXC,UAAU;eAAVA;;IATAC,UAAU;eAAVA,oBAAU;;IADVC,WAAW;eAAXA,qBAAW;;IADXC,YAAY;eAAZA,sBAAY;;IAjEiBC,SAAS;eAA/BC,8BAAkB;;IAPzBC,sBAAsB;eAAtBA,kCAAsB;;IAuEtBC,WAAW;eAAXA;;IAQAC,oBAAoB;eAApBA,2BAAoB;;IAfpBC,gBAAgB;eAAhBA,0CAAgB;;IAChBC,oBAAoB;eAApBA,kDAAoB;;;4BA7Df;4BAGyC;qEAEvB;kFACa;0CACL;8CACI;4CACF;4BACJ;+BACG;8BAI3B;wBAIA;4EACsB;+BACc;0BACF;4BACC;QAInC;QACA;kCAKA;0BAE+C;0BAC7B;uBACY;oCACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEnC,IAAIvB,kBACF,IAAM;AACR,IAAIwB,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;IAC1C1B,kBAAkB,AAChB2B,QAAQ,sDACR3B,eAAe;AACnB;AAEA,0FAA0F;AAC1F,yGAAyG;AACzG,SAASa;IACP,OAAOe,IAAAA,sBAAW,EAAC;QACjBN,kBAAAA,0CAAgB;QAChBC,sBAAAA,kDAAoB;IACtB;AACF","ignoreList":[0]}
|
@@ -141,7 +141,7 @@ async function createHotReloaderTurbopack(opts, serverFields, distDir, resetFetc
|
|
141
141
|
}
|
142
142
|
const hasRewrites = opts.fsChecker.rewrites.afterFiles.length > 0 || opts.fsChecker.rewrites.beforeFiles.length > 0 || opts.fsChecker.rewrites.fallback.length > 0;
|
143
143
|
const hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
144
|
-
version: "15.4.0-canary.
|
144
|
+
version: "15.4.0-canary.81"
|
145
145
|
});
|
146
146
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
147
147
|
// of the current `next dev` invocation.
|
@@ -258,7 +258,7 @@ class HotReloaderWebpack {
|
|
258
258
|
this.previewProps = previewProps;
|
259
259
|
this.rewrites = rewrites;
|
260
260
|
this.hotReloaderSpan = (0, _trace.trace)('hot-reloader', undefined, {
|
261
|
-
version: "15.4.0-canary.
|
261
|
+
version: "15.4.0-canary.81"
|
262
262
|
});
|
263
263
|
// Ensure the hotReloaderSpan is flushed immediately as it's the parentSpan for all processing
|
264
264
|
// of the current `next dev` invocation.
|
@@ -75,7 +75,7 @@ function logStartInfo({ networkUrl, appUrl, envInfo, experimentalFeatures, maxEx
|
|
75
75
|
} else {
|
76
76
|
bundlerSuffix = '';
|
77
77
|
}
|
78
|
-
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.4.0-canary.
|
78
|
+
_log.bootstrap(`${(0, _picocolors.bold)((0, _picocolors.purple)(`${_log.prefixes.ready} Next.js ${"15.4.0-canary.81"}`))}${bundlerSuffix}`);
|
79
79
|
if (appUrl) {
|
80
80
|
_log.bootstrap(`- Local: ${appUrl}`);
|
81
81
|
}
|
@@ -110,7 +110,7 @@ async function getRequestHandlers({ dir, port, isDev, onDevServerCleanup, server
|
|
110
110
|
async function startServer(serverOptions) {
|
111
111
|
const { dir, isDev, hostname, minimalMode, allowRetry, keepAliveTimeout, selfSignedCertificate } = serverOptions;
|
112
112
|
let { port } = serverOptions;
|
113
|
-
process.title = `next-server (v${"15.4.0-canary.
|
113
|
+
process.title = `next-server (v${"15.4.0-canary.81"})`;
|
114
114
|
let handlersReady = ()=>{};
|
115
115
|
let handlersError = ()=>{};
|
116
116
|
let handlersPromise = new Promise((resolve, reject)=>{
|
@@ -22,7 +22,7 @@ _export(exports, {
|
|
22
22
|
});
|
23
23
|
function isStableBuild() {
|
24
24
|
var _process_env___NEXT_VERSION;
|
25
|
-
return !((_process_env___NEXT_VERSION = "15.4.0-canary.
|
25
|
+
return !((_process_env___NEXT_VERSION = "15.4.0-canary.81") == null ? void 0 : _process_env___NEXT_VERSION.includes('canary')) && !process.env.__NEXT_TEST_MODE && !process.env.NEXT_PRIVATE_LOCAL_DEV;
|
26
26
|
}
|
27
27
|
class CanaryOnlyError extends Error {
|
28
28
|
constructor(arg){
|
@@ -11,11 +11,11 @@ Object.defineProperty(exports, "eventCliSessionStopped", {
|
|
11
11
|
const EVENT_VERSION = 'NEXT_CLI_SESSION_STOPPED';
|
12
12
|
function eventCliSessionStopped(event) {
|
13
13
|
// This should be an invariant, if it fails our build tooling is broken.
|
14
|
-
if (typeof "15.4.0-canary.
|
14
|
+
if (typeof "15.4.0-canary.81" !== 'string') {
|
15
15
|
return [];
|
16
16
|
}
|
17
17
|
const payload = {
|
18
|
-
nextVersion: "15.4.0-canary.
|
18
|
+
nextVersion: "15.4.0-canary.81",
|
19
19
|
nodeVersion: process.version,
|
20
20
|
cliCommand: event.cliCommand,
|
21
21
|
durationMilliseconds: event.durationMilliseconds,
|
@@ -36,12 +36,12 @@ function hasBabelConfig(dir) {
|
|
36
36
|
function eventCliSession(dir, nextConfig, event) {
|
37
37
|
var _nextConfig_experimental_staleTimes, _nextConfig_experimental_staleTimes1, _nextConfig_experimental_reactCompiler, _nextConfig_experimental_reactCompiler1;
|
38
38
|
// This should be an invariant, if it fails our build tooling is broken.
|
39
|
-
if (typeof "15.4.0-canary.
|
39
|
+
if (typeof "15.4.0-canary.81" !== 'string') {
|
40
40
|
return [];
|
41
41
|
}
|
42
42
|
const { images, i18n } = nextConfig || {};
|
43
43
|
const payload = {
|
44
|
-
nextVersion: "15.4.0-canary.
|
44
|
+
nextVersion: "15.4.0-canary.81",
|
45
45
|
nodeVersion: process.version,
|
46
46
|
cliCommand: event.cliCommand,
|
47
47
|
isSrcDir: event.isSrcDir,
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "next",
|
3
|
-
"version": "15.4.0-canary.
|
3
|
+
"version": "15.4.0-canary.81",
|
4
4
|
"description": "The React Framework",
|
5
5
|
"main": "./dist/server/next.js",
|
6
6
|
"license": "MIT",
|
@@ -100,7 +100,7 @@
|
|
100
100
|
]
|
101
101
|
},
|
102
102
|
"dependencies": {
|
103
|
-
"@next/env": "15.4.0-canary.
|
103
|
+
"@next/env": "15.4.0-canary.81",
|
104
104
|
"@swc/helpers": "0.5.15",
|
105
105
|
"caniuse-lite": "^1.0.30001579",
|
106
106
|
"postcss": "8.4.31",
|
@@ -130,14 +130,14 @@
|
|
130
130
|
},
|
131
131
|
"optionalDependencies": {
|
132
132
|
"sharp": "^0.34.1",
|
133
|
-
"@next/swc-darwin-arm64": "15.4.0-canary.
|
134
|
-
"@next/swc-darwin-x64": "15.4.0-canary.
|
135
|
-
"@next/swc-linux-arm64-gnu": "15.4.0-canary.
|
136
|
-
"@next/swc-linux-arm64-musl": "15.4.0-canary.
|
137
|
-
"@next/swc-linux-x64-gnu": "15.4.0-canary.
|
138
|
-
"@next/swc-linux-x64-musl": "15.4.0-canary.
|
139
|
-
"@next/swc-win32-arm64-msvc": "15.4.0-canary.
|
140
|
-
"@next/swc-win32-x64-msvc": "15.4.0-canary.
|
133
|
+
"@next/swc-darwin-arm64": "15.4.0-canary.81",
|
134
|
+
"@next/swc-darwin-x64": "15.4.0-canary.81",
|
135
|
+
"@next/swc-linux-arm64-gnu": "15.4.0-canary.81",
|
136
|
+
"@next/swc-linux-arm64-musl": "15.4.0-canary.81",
|
137
|
+
"@next/swc-linux-x64-gnu": "15.4.0-canary.81",
|
138
|
+
"@next/swc-linux-x64-musl": "15.4.0-canary.81",
|
139
|
+
"@next/swc-win32-arm64-msvc": "15.4.0-canary.81",
|
140
|
+
"@next/swc-win32-x64-msvc": "15.4.0-canary.81"
|
141
141
|
},
|
142
142
|
"devDependencies": {
|
143
143
|
"@ampproject/toolbox-optimizer": "2.8.3",
|
@@ -170,11 +170,11 @@
|
|
170
170
|
"@jest/types": "29.5.0",
|
171
171
|
"@mswjs/interceptors": "0.23.0",
|
172
172
|
"@napi-rs/triples": "1.2.0",
|
173
|
-
"@next/font": "15.4.0-canary.
|
174
|
-
"@next/polyfill-module": "15.4.0-canary.
|
175
|
-
"@next/polyfill-nomodule": "15.4.0-canary.
|
176
|
-
"@next/react-refresh-utils": "15.4.0-canary.
|
177
|
-
"@next/swc": "15.4.0-canary.
|
173
|
+
"@next/font": "15.4.0-canary.81",
|
174
|
+
"@next/polyfill-module": "15.4.0-canary.81",
|
175
|
+
"@next/polyfill-nomodule": "15.4.0-canary.81",
|
176
|
+
"@next/react-refresh-utils": "15.4.0-canary.81",
|
177
|
+
"@next/swc": "15.4.0-canary.81",
|
178
178
|
"@opentelemetry/api": "1.6.0",
|
179
179
|
"@playwright/test": "1.51.1",
|
180
180
|
"@rspack/core": "1.3.12",
|