next 15.4.0-canary.122 → 15.4.0-canary.123
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/loaders/devtool/devtool-style-inject.js +1 -1
- package/dist/build/webpack/loaders/devtool/devtool-style-inject.js.map +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 +212 -3
- package/dist/compiled/next-devtools/index.js.map +1 -1
- package/dist/compiled/next-server/pages-api-turbo.runtime.dev.js +1 -1
- package/dist/compiled/next-server/pages-api-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.dev.js +1 -1
- package/dist/compiled/next-server/pages-turbo.runtime.dev.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/loaders/devtool/devtool-style-inject.js +1 -1
- package/dist/esm/build/webpack/loaders/devtool/devtool-style-inject.js.map +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/server-external-packages.json +1 -0
- 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/server-external-packages.json +1 -0
- package/dist/next-devtools/dev-overlay/components/devtools-panel/devtools-panel-tab/segments-explorer-tab.d.ts +0 -1
- package/dist/next-devtools/dev-overlay/components/errors/dev-tools-indicator/dev-tools-info/segments-explorer.d.ts +0 -1
- package/dist/next-devtools/dev-overlay/components/overview/segment-boundary-trigger.d.ts +1 -1
- package/dist/next-devtools/dev-overlay/components/overview/segment-explorer.d.ts +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/bin/next
CHANGED
@@ -79,7 +79,7 @@ const program = new NextRootCommand();
|
|
79
79
|
program.name('next').description('The Next.js CLI allows you to develop, build, start your application, and more.').configureHelp({
|
80
80
|
formatHelp: (cmd, helper)=>(0, _formatclihelpoutput.formatCliHelpOutput)(cmd, helper),
|
81
81
|
subcommandTerm: (cmd)=>`${cmd.name()} ${cmd.usage()}`
|
82
|
-
}).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.4.0-canary.
|
82
|
+
}).helpCommand(false).helpOption('-h, --help', 'Displays this message.').version(`Next.js v${"15.4.0-canary.123"}`, '-v, --version', 'Outputs the Next.js version.');
|
83
83
|
program.command('build').description('Creates an optimized production build of your application. The output displays information about each route.').argument('[directory]', `A directory on which to build the application. ${(0, _picocolors.italic)('If no directory is provided, the current directory will be used.')}`).option('-d, --debug', 'Enables a more verbose build output.').option('--debug-prerender', 'Enables debug mode for prerendering. Not for production use!').option('--no-lint', 'Disables linting.').option('--no-mangling', 'Disables mangling.').option('--profile', 'Enables production profiling for React.').option('--experimental-app-only', 'Builds only App Router routes.').option('--turbo', 'Starts development mode using Turbopack.').option('--turbopack', 'Starts development mode using Turbopack.').addOption(new _commander.Option('--experimental-build-mode [mode]', 'Uses an experimental build mode.').choices([
|
84
84
|
'compile',
|
85
85
|
'generate',
|
package/dist/build/index.js
CHANGED
@@ -392,7 +392,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
|
|
392
392
|
const nextBuildSpan = (0, _trace.trace)('next-build', undefined, {
|
393
393
|
buildMode: experimentalBuildMode,
|
394
394
|
isTurboBuild: String(isTurbopack),
|
395
|
-
version: "15.4.0-canary.
|
395
|
+
version: "15.4.0-canary.123"
|
396
396
|
});
|
397
397
|
_buildcontext.NextBuildContext.nextBuildSpan = nextBuildSpan;
|
398
398
|
_buildcontext.NextBuildContext.dir = dir;
|
@@ -779,7 +779,7 @@ async function build(dir, reactProductionProfiling = false, debugOutput = false,
|
|
779
779
|
// Files outside of the distDir can be "type": "module"
|
780
780
|
await writeFileUtf8(_path.default.join(distDir, 'package.json'), '{"type": "commonjs"}');
|
781
781
|
// These are written to distDir, so they need to come after creating and cleaning distDr.
|
782
|
-
await (0, _builddiagnostics.recordFrameworkVersion)("15.4.0-canary.
|
782
|
+
await (0, _builddiagnostics.recordFrameworkVersion)("15.4.0-canary.123");
|
783
783
|
await (0, _builddiagnostics.updateBuildDiagnostics)({
|
784
784
|
buildStage: 'start'
|
785
785
|
});
|
package/dist/build/swc/index.js
CHANGED
@@ -131,7 +131,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
131
131
|
}
|
132
132
|
return newObj;
|
133
133
|
}
|
134
|
-
const nextVersion = "15.4.0-canary.
|
134
|
+
const nextVersion = "15.4.0-canary.123";
|
135
135
|
const ArchName = (0, _os.arch)();
|
136
136
|
const PlatformName = (0, _os.platform)();
|
137
137
|
function infoLog(...args) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../src/build/webpack/loaders/devtool/devtool-style-inject.js"],"sourcesContent":["/* @ts-check */\n/**\n * Style injection mechanism for Next.js devtools with shadow DOM support\n * Handles caching of style elements when the nextjs-portal shadow root is not available\n */\n\n// Global cache for style elements when shadow root is not available\nif (typeof window !== 'undefined') {\n window._nextjsDevtoolsStyleCache = window._nextjsDevtoolsStyleCache || {\n pendingElements: [],\n isObserving: false,\n lastInsertedElement: null,\n cachedShadowRoot: null, // Cache the shadow root once found\n }\n}\n\n/**\n * @returns {ShadowRoot | null}\n */\nfunction getShadowRoot() {\n const cache = window._nextjsDevtoolsStyleCache\n\n // Return cached shadow root if available\n if (cache.cachedShadowRoot) {\n return cache.cachedShadowRoot\n }\n\n // Query the DOM and cache the result if found\n const portal = document.querySelector('nextjs-portal')\n const shadowRoot = portal?.shadowRoot || null\n\n if (shadowRoot) {\n cache.cachedShadowRoot = shadowRoot\n }\n\n return shadowRoot\n}\n\n/**\n * @param {HTMLElement} element\n * @param {ShadowRoot} shadowRoot\n */\nfunction insertElementIntoShadowRoot(element, shadowRoot) {\n const cache = window._nextjsDevtoolsStyleCache\n\n if (!cache.lastInsertedElement) {\n shadowRoot.insertBefore(element, shadowRoot.firstChild)\n } else if (cache.lastInsertedElement.nextSibling) {\n shadowRoot.insertBefore(element, cache.lastInsertedElement.nextSibling)\n } else {\n shadowRoot.appendChild(element)\n }\n\n cache.lastInsertedElement = element\n}\n\nfunction flushCachedElements() {\n const cache = window._nextjsDevtoolsStyleCache\n const shadowRoot = getShadowRoot()\n\n if (!shadowRoot) {\n return\n }\n\n cache.pendingElements.forEach((element) => {\n insertElementIntoShadowRoot(element, shadowRoot)\n })\n cache.pendingElements = []\n}\n\nfunction startObservingForPortal() {\n const cache = window._nextjsDevtoolsStyleCache\n\n if (cache.isObserving) {\n return\n }\n cache.isObserving = true\n\n // First check if the portal already exists\n const shadowRoot = getShadowRoot() // This will cache it if found\n if (shadowRoot) {\n flushCachedElements()\n return\n }\n\n // Set up MutationObserver to watch for the portal element\n const observer = new MutationObserver((mutations) => {\n if (mutations.length === 0 || mutations[0].addedNodes.length === 0) {\n return\n }\n\n // Check if mutation is script[data-nextjs-dev-overlay] tag, which is the\n // parent of the nextjs-portal element\n const mutationNode = mutations[0].addedNodes[0]\n let portalNode = null\n if (\n // app router: body > script[data-nextjs-dev-overlay] > nextjs-portal\n mutationNode.tagName === 'SCRIPT' &&\n mutationNode.getAttribute('data-nextjs-dev-overlay')\n ) {\n portalNode = mutationNode.firstChild\n } else if (\n // pages router: body > nextjs-portal\n mutationNode.tagName === 'NEXTJS-PORTAL'\n ) {\n portalNode = mutationNode\n }\n if (!portalNode) {\n return\n }\n\n // Wait until shadow root is available\n const checkShadowRoot = () => {\n if (getShadowRoot()) {\n flushCachedElements()\n observer.disconnect()\n cache.isObserving = false\n } else {\n // Try again after a short delay\n setTimeout(checkShadowRoot,
|
1
|
+
{"version":3,"sources":["../../../../../src/build/webpack/loaders/devtool/devtool-style-inject.js"],"sourcesContent":["/* @ts-check */\n/**\n * Style injection mechanism for Next.js devtools with shadow DOM support\n * Handles caching of style elements when the nextjs-portal shadow root is not available\n */\n\n// Global cache for style elements when shadow root is not available\nif (typeof window !== 'undefined') {\n window._nextjsDevtoolsStyleCache = window._nextjsDevtoolsStyleCache || {\n pendingElements: [],\n isObserving: false,\n lastInsertedElement: null,\n cachedShadowRoot: null, // Cache the shadow root once found\n }\n}\n\n/**\n * @returns {ShadowRoot | null}\n */\nfunction getShadowRoot() {\n const cache = window._nextjsDevtoolsStyleCache\n\n // Return cached shadow root if available\n if (cache.cachedShadowRoot) {\n return cache.cachedShadowRoot\n }\n\n // Query the DOM and cache the result if found\n const portal = document.querySelector('nextjs-portal')\n const shadowRoot = portal?.shadowRoot || null\n\n if (shadowRoot) {\n cache.cachedShadowRoot = shadowRoot\n }\n\n return shadowRoot\n}\n\n/**\n * @param {HTMLElement} element\n * @param {ShadowRoot} shadowRoot\n */\nfunction insertElementIntoShadowRoot(element, shadowRoot) {\n const cache = window._nextjsDevtoolsStyleCache\n\n if (!cache.lastInsertedElement) {\n shadowRoot.insertBefore(element, shadowRoot.firstChild)\n } else if (cache.lastInsertedElement.nextSibling) {\n shadowRoot.insertBefore(element, cache.lastInsertedElement.nextSibling)\n } else {\n shadowRoot.appendChild(element)\n }\n\n cache.lastInsertedElement = element\n}\n\nfunction flushCachedElements() {\n const cache = window._nextjsDevtoolsStyleCache\n const shadowRoot = getShadowRoot()\n\n if (!shadowRoot) {\n return\n }\n\n cache.pendingElements.forEach((element) => {\n insertElementIntoShadowRoot(element, shadowRoot)\n })\n cache.pendingElements = []\n}\n\nfunction startObservingForPortal() {\n const cache = window._nextjsDevtoolsStyleCache\n\n if (cache.isObserving) {\n return\n }\n cache.isObserving = true\n\n // First check if the portal already exists\n const shadowRoot = getShadowRoot() // This will cache it if found\n if (shadowRoot) {\n flushCachedElements()\n return\n }\n\n // Set up MutationObserver to watch for the portal element\n const observer = new MutationObserver((mutations) => {\n if (mutations.length === 0 || mutations[0].addedNodes.length === 0) {\n return\n }\n\n // Check if mutation is script[data-nextjs-dev-overlay] tag, which is the\n // parent of the nextjs-portal element\n const mutationNode = mutations[0].addedNodes[0]\n let portalNode = null\n if (\n // app router: body > script[data-nextjs-dev-overlay] > nextjs-portal\n mutationNode.tagName === 'SCRIPT' &&\n mutationNode.getAttribute('data-nextjs-dev-overlay')\n ) {\n portalNode = mutationNode.firstChild\n } else if (\n // pages router: body > nextjs-portal\n mutationNode.tagName === 'NEXTJS-PORTAL'\n ) {\n portalNode = mutationNode\n }\n if (!portalNode) {\n return\n }\n\n // Wait until shadow root is available\n const checkShadowRoot = () => {\n if (getShadowRoot()) {\n flushCachedElements()\n observer.disconnect()\n cache.isObserving = false\n } else {\n // Try again after a short delay\n setTimeout(checkShadowRoot, 20)\n }\n }\n checkShadowRoot()\n })\n\n observer.observe(document.body, {\n childList: true,\n subtree: true,\n })\n}\n\n/**\n * @param {HTMLElement} element\n */\nfunction insertAtTop(element) {\n // Add special recognizable data prop to element\n element.setAttribute('data-nextjs-dev-tool-style', 'true')\n\n const shadowRoot = getShadowRoot()\n if (shadowRoot) {\n // Shadow root is available, insert directly\n insertElementIntoShadowRoot(element, shadowRoot)\n } else {\n // Shadow root not available, cache the element\n const cache = window._nextjsDevtoolsStyleCache\n cache.pendingElements.push(element)\n\n // Start observing for the portal if not already observing\n startObservingForPortal()\n }\n}\n\nmodule.exports = insertAtTop\n"],"names":["window","_nextjsDevtoolsStyleCache","pendingElements","isObserving","lastInsertedElement","cachedShadowRoot","getShadowRoot","cache","portal","document","querySelector","shadowRoot","insertElementIntoShadowRoot","element","insertBefore","firstChild","nextSibling","appendChild","flushCachedElements","forEach","startObservingForPortal","observer","MutationObserver","mutations","length","addedNodes","mutationNode","portalNode","tagName","getAttribute","checkShadowRoot","disconnect","setTimeout","observe","body","childList","subtree","insertAtTop","setAttribute","push","module","exports"],"mappings":"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","ignoreList":[0]}
|
@@ -1691,7 +1691,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
1691
1691
|
isClient && new _copyfileplugin.CopyFilePlugin({
|
1692
1692
|
// file path to build output of `@next/polyfill-nomodule`
|
1693
1693
|
filePath: require.resolve('./polyfills/polyfill-nomodule'),
|
1694
|
-
cacheKey: "15.4.0-canary.
|
1694
|
+
cacheKey: "15.4.0-canary.123",
|
1695
1695
|
name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
|
1696
1696
|
minimize: false,
|
1697
1697
|
info: {
|
@@ -1871,7 +1871,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
|
|
1871
1871
|
// - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
|
1872
1872
|
// - Next.js version
|
1873
1873
|
// - next.config.js keys that affect compilation
|
1874
|
-
version: `${__dirname}|${"15.4.0-canary.
|
1874
|
+
version: `${__dirname}|${"15.4.0-canary.123"}|${configVars}`,
|
1875
1875
|
cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
|
1876
1876
|
// For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
|
1877
1877
|
// So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
|
package/dist/client/index.js
CHANGED
@@ -61,7 +61,7 @@ const _hooksclientcontextsharedruntime = require("../shared/lib/hooks-client-con
|
|
61
61
|
const _onrecoverableerror = require("./react-client-callbacks/on-recoverable-error");
|
62
62
|
const _tracer = /*#__PURE__*/ _interop_require_default._(require("./tracing/tracer"));
|
63
63
|
const _isnextroutererror = require("./components/is-next-router-error");
|
64
|
-
const version = "15.4.0-canary.
|
64
|
+
const version = "15.4.0-canary.123";
|
65
65
|
let router;
|
66
66
|
const emitter = (0, _mitt.default)();
|
67
67
|
const looseToArray = (input)=>[].slice.call(input);
|