-
Notifications
You must be signed in to change notification settings - Fork 27.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Turbopack: replace AvailableModules with single bitmap #76211
base: mischnic/graph-chunk-groups-client-refs
Are you sure you want to change the base?
Turbopack: replace AvailableModules with single bitmap #76211
Conversation
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
Failing test suitesCommit: 58ca58f
Expand output● app dir - with output export and custom distDir (next dev) › should render properly
Read more about building and testing Next.js in contributing.md. |
Failing test suitesCommit: 58ca58f
Expand output● app-fetch-errors › should still successfully render when a fetch request that acquires a cache lock errors
Read more about building and testing Next.js in contributing.md. |
Failing test suitesCommit: ee2e155
Expand output● app dir - dynamic error trace › should show the error trace
Read more about building and testing Next.js in contributing.md.
Expand output● Error overlay - RSC runtime errors › should show runtime errors if invalid client API from node_modules is executed
Read more about building and testing Next.js in contributing.md. |
Stats from current PRDefault Build (Increase detected
|
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
buildDuration | 16.8s | 14.1s | N/A |
buildDurationCached | 13s | 10.9s | N/A |
nodeModulesSize | 392 MB | 392 MB | N/A |
nextStartRea..uration (ms) | 407ms | 408ms | N/A |
Client Bundles (main, webpack)
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
6867.HASH.js gzip | 168 B | 169 B | N/A |
8987-HASH.js gzip | 45.9 kB | 45.5 kB | N/A |
9484-HASH.js gzip | 5.41 kB | 5.38 kB | N/A |
bccd1874-HASH.js gzip | 53.3 kB | 53.3 kB | N/A |
framework-HASH.js gzip | 57.3 kB | 57.3 kB | ✓ |
main-app-HASH.js gzip | 242 B | 241 B | N/A |
main-HASH.js gzip | 34.1 kB | 33.8 kB | N/A |
webpack-HASH.js gzip | 1.71 kB | 1.71 kB | N/A |
Overall change | 57.3 kB | 57.3 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
_app-HASH.js gzip | 194 B | 194 B | ✓ |
_error-HASH.js gzip | 191 B | 192 B | N/A |
amp-HASH.js gzip | 514 B | 512 B | N/A |
css-HASH.js gzip | 343 B | 341 B | N/A |
dynamic-HASH.js gzip | 1.84 kB | 1.84 kB | ✓ |
edge-ssr-HASH.js gzip | 265 B | 264 B | N/A |
head-HASH.js gzip | 364 B | 361 B | N/A |
hooks-HASH.js gzip | 392 B | 393 B | N/A |
image-HASH.js gzip | 4.61 kB | 4.61 kB | N/A |
index-HASH.js gzip | 266 B | 265 B | N/A |
link-HASH.js gzip | 2.35 kB | 2.35 kB | N/A |
routerDirect..HASH.js gzip | 327 B | 327 B | ✓ |
script-HASH.js gzip | 397 B | 397 B | ✓ |
withRouter-HASH.js gzip | 322 B | 326 B | N/A |
1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
Overall change | 2.86 kB | 2.86 kB | ✓ |
Client Build Manifests
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
_buildManifest.js gzip | 752 B | 752 B | ✓ |
Overall change | 752 B | 752 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
index.html gzip | 523 B | 522 B | N/A |
link.html gzip | 536 B | 536 B | ✓ |
withRouter.html gzip | 521 B | 518 B | N/A |
Overall change | 536 B | 536 B | ✓ |
Edge SSR bundle Size
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
edge-ssr.js gzip | 133 kB | 133 kB | N/A |
page.js gzip | 216 kB | 215 kB | N/A |
Overall change | 0 B | 0 B | ✓ |
Middleware size
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
middleware-b..fest.js gzip | 676 B | 674 B | N/A |
middleware-r..fest.js gzip | 156 B | 156 B | ✓ |
middleware.js gzip | 31.6 kB | 31.6 kB | N/A |
edge-runtime..pack.js gzip | 844 B | 844 B | ✓ |
Overall change | 1 kB | 1 kB | ✓ |
Next Runtimes
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
app-page-exp...dev.js gzip | 389 kB | 389 kB | ✓ |
app-page-exp..prod.js gzip | 140 kB | 140 kB | ✓ |
app-page-tur..prod.js gzip | 153 kB | 153 kB | ✓ |
app-page-tur..prod.js gzip | 149 kB | 149 kB | ✓ |
app-page.run...dev.js gzip | 378 kB | 378 kB | ✓ |
app-page.run..prod.js gzip | 137 kB | 137 kB | ✓ |
app-route-ex...dev.js gzip | 39.6 kB | 39.6 kB | ✓ |
app-route-ex..prod.js gzip | 25.8 kB | 25.8 kB | ✓ |
app-route-tu..prod.js gzip | 25.8 kB | 25.8 kB | ✓ |
app-route-tu..prod.js gzip | 25.6 kB | 25.6 kB | ✓ |
app-route.ru...dev.js gzip | 39.2 kB | 39.2 kB | ✓ |
app-route.ru..prod.js gzip | 25.5 kB | 25.5 kB | ✓ |
dist_client_...dev.js gzip | 356 B | 356 B | ✓ |
dist_client_...dev.js gzip | 349 B | 349 B | ✓ |
pages-api-tu..prod.js gzip | 9.76 kB | 9.76 kB | ✓ |
pages-api.ru...dev.js gzip | 11.9 kB | 11.9 kB | ✓ |
pages-api.ru..prod.js gzip | 9.75 kB | 9.75 kB | ✓ |
pages-turbo...prod.js gzip | 22.1 kB | 22.1 kB | ✓ |
pages.runtim...dev.js gzip | 31.7 kB | 31.7 kB | ✓ |
pages.runtim..prod.js gzip | 22.1 kB | 22.1 kB | ✓ |
server.runti..prod.js gzip | 61.7 kB | 61.7 kB | ✓ |
Overall change | 1.7 MB | 1.7 MB | ✓ |
build cache Overall increase ⚠️
vercel/next.js canary | vercel/next.js mischnic/availability-info-module-graph | Change | |
---|---|---|---|
0.pack gzip | 2.14 MB | 2.14 MB | |
index.pack gzip | 75.8 kB | 76 kB | |
Overall change | 2.22 MB | 2.22 MB |
Diff details
Diff for page.js
Diff too large to display
Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
failed to diff
Diff for amp-HASH.js
@@ -1,34 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5034],
{
- /***/ 5061: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(8457);
-
- /***/
- },
-
- /***/ 5086: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/amp",
- function () {
- return __webpack_require__(8661);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 8457: /***/ (module, exports, __webpack_require__) => {
+ /***/ 3305: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -44,8 +17,8 @@
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(4109)
);
- const _ampcontextsharedruntime = __webpack_require__(799);
- const _ampmode = __webpack_require__(2023);
+ const _ampcontextsharedruntime = __webpack_require__(399);
+ const _ampmode = __webpack_require__(4951);
function useAmp() {
// Don't assign the context value to a variable to save bytes
return (0, _ampmode.isInAmpMode)(
@@ -67,7 +40,17 @@
/***/
},
- /***/ 8661: /***/ (
+ /***/ 3963: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(3305);
+
+ /***/
+ },
+
+ /***/ 4727: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -80,7 +63,7 @@
/* harmony export */
});
/* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(5061);
+ __webpack_require__(3963);
/* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default =
/*#__PURE__*/ __webpack_require__.n(
next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -97,13 +80,30 @@
/***/
},
+
+ /***/ 7931: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/amp",
+ function () {
+ return __webpack_require__(4727);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(5086)
+ __webpack_exec__(7931)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 1368: /***/ (
+ /***/ 1313: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/css",
+ function () {
+ return __webpack_require__(5110);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 5110: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -15,7 +32,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(8017);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(7165);
+ __webpack_require__(8027);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -35,24 +52,7 @@
/***/
},
- /***/ 1487: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/css",
- function () {
- return __webpack_require__(1368);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 7165: /***/ (module) => {
+ /***/ 8027: /***/ (module) => {
// extracted by mini-css-extract-plugin
module.exports = { helloWorld: "css_helloWorld__aUdUq" };
@@ -64,7 +64,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(1487)
+ __webpack_exec__(1313)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,51 +1,63 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 71: /***/ (
+ /***/ 252: /***/ (
__unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/dynamic",
- function () {
- return __webpack_require__(8546);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 6251: /***/ (
- __unused_webpack_module,
- exports,
+ __webpack_exports__,
__webpack_require__
) => {
"use strict";
- /* __next_internal_client_entry_do_not_use__ cjs */
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "LoadableContext", {
- enumerable: true,
- get: function () {
- return LoadableContext;
- },
+ __webpack_require__.r(__webpack_exports__);
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+ /* harmony export */
});
- const _interop_require_default = __webpack_require__(1532);
- const _react = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(4109)
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+ __webpack_require__(8017);
+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+ __webpack_require__(3760);
+ /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+ /*#__PURE__*/ __webpack_require__.n(
+ next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+ );
+
+ const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+ () =>
+ __webpack_require__
+ .e(/* import() */ 6397)
+ .then(__webpack_require__.bind(__webpack_require__, 6397))
+ .then((mod) => mod.Hello),
+ {
+ loadableGenerated: {
+ webpack: () => [/*require.resolve*/ 6397],
+ },
+ }
);
- const LoadableContext = _react.default.createContext(null);
- if (false) {
- } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+ const Page = () =>
+ /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+ {
+ children: [
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+ children: "testing next/dynamic size",
+ }),
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+ DynamicHello,
+ {}
+ ),
+ ],
+ }
+ );
+ var __N_SSP = true;
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
/***/
},
- /***/ 6609: /***/ (
+ /***/ 2369: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -87,7 +99,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(4109)
);
- const _loadablecontextsharedruntime = __webpack_require__(6251);
+ const _loadablecontextsharedruntime = __webpack_require__(3787);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -322,7 +334,61 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 7270: /***/ (module, exports, __webpack_require__) => {
+ /***/ 3760: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(8998);
+
+ /***/
+ },
+
+ /***/ 3787: /***/ (
+ __unused_webpack_module,
+ exports,
+ __webpack_require__
+ ) => {
+ "use strict";
+ /* __next_internal_client_entry_do_not_use__ cjs */
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "LoadableContext", {
+ enumerable: true,
+ get: function () {
+ return LoadableContext;
+ },
+ });
+ const _interop_require_default = __webpack_require__(1532);
+ const _react = /*#__PURE__*/ _interop_require_default._(
+ __webpack_require__(4109)
+ );
+ const LoadableContext = _react.default.createContext(null);
+ if (false) {
+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+
+ /***/
+ },
+
+ /***/ 8449: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/dynamic",
+ function () {
+ return __webpack_require__(252);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 8998: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -355,7 +421,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
__webpack_require__(4109)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(6609)
+ __webpack_require__(2369)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -455,79 +521,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
-
- /***/ 8546: /***/ (
- __unused_webpack_module,
- __webpack_exports__,
- __webpack_require__
- ) => {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
- /* harmony export */
- });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(8017);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(9330);
- /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/ __webpack_require__.n(
- next_dynamic__WEBPACK_IMPORTED_MODULE_1__
- );
-
- const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
- () =>
- __webpack_require__
- .e(/* import() */ 6867)
- .then(__webpack_require__.bind(__webpack_require__, 6867))
- .then((mod) => mod.Hello),
- {
- loadableGenerated: {
- webpack: () => [/*require.resolve*/ 6867],
- },
- }
- );
- const Page = () =>
- /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
- {
- children: [
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
- children: "testing next/dynamic size",
- }),
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
- DynamicHello,
- {}
- ),
- ],
- }
- );
- var __N_SSP = true;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
-
- /***/
- },
-
- /***/ 9330: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(7270);
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(71)
+ __webpack_exec__(8449)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,17 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 4891: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(6191);
-
- /***/
- },
-
- /***/ 6889: /***/ (
+ /***/ 803: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -19,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/head",
function () {
- return __webpack_require__(9659);
+ return __webpack_require__(3281);
},
]);
if (false) {
@@ -28,7 +18,7 @@
/***/
},
- /***/ 9659: /***/ (
+ /***/ 3281: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +33,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(8017);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4891);
+ __webpack_require__(9557);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +66,23 @@
/***/
},
+
+ /***/ 9557: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(783);
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6889)
+ __webpack_exec__(803)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,64 +1,144 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 1442: /***/ (
+ /***/ 212: /***/ (
+ __unused_webpack_module,
+ __webpack_exports__,
+ __webpack_require__
+ ) => {
+ "use strict";
+ // ESM COMPAT FLAG
+ __webpack_require__.r(__webpack_exports__);
+
+ // EXPORTS
+ __webpack_require__.d(__webpack_exports__, {
+ __N_SSP: () => /* binding */ __N_SSP,
+ default: () => /* binding */ pages_image,
+ });
+
+ // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
+ var jsx_runtime = __webpack_require__(8017);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
+ var next_image = __webpack_require__(1468);
+ var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
+ /* harmony default export */ const nextjs = {
+ src: "/_next/static/media/nextjs.cae0b805.png",
+ height: 1347,
+ width: 1626,
+ blurDataURL:
+ "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
+ blurWidth: 8,
+ blurHeight: 7,
+ }; // ./pages/image.js
+ function ImagePage(props) {
+ return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
+ children: [
+ /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
+ children: "next/image example",
+ }),
+ /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
+ src: nextjs,
+ placeholder: "blur",
+ }),
+ ],
+ });
+ }
+ var __N_SSP = true;
+ /* harmony default export */ const pages_image = ImagePage;
+
+ /***/
+ },
+
+ /***/ 1468: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(3250);
+ module.exports = __webpack_require__(2242);
+
+ /***/
+ },
+
+ /***/ 1989: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/image",
+ function () {
+ return __webpack_require__(212);
+ },
+ ]);
+ if (false) {
+ }
/***/
},
- /***/ 2170: /***/ (__unused_webpack_module, exports) => {
+ /***/ 2242: /***/ (
+ __unused_webpack_module,
+ exports,
+ __webpack_require__
+ ) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "default", {
- enumerable: true,
- get: function () {
+ 0 && 0;
+ function _export(target, all) {
+ for (var name in all)
+ Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name],
+ });
+ }
+ _export(exports, {
+ default: function () {
return _default;
},
+ getImageProps: function () {
+ return getImageProps;
+ },
});
- const DEFAULT_Q = 75;
- function defaultLoader(param) {
- let { config, src, width, quality } = param;
- var _config_qualities;
- if (false) {
+ const _interop_require_default = __webpack_require__(1532);
+ const _getimgprops = __webpack_require__(4474);
+ const _imagecomponent = __webpack_require__(6805);
+ const _imageloader = /*#__PURE__*/ _interop_require_default._(
+ __webpack_require__(9274)
+ );
+ function getImageProps(imgProps) {
+ const { props } = (0, _getimgprops.getImgProps)(imgProps, {
+ defaultLoader: _imageloader.default,
+ // This is replaced by webpack define plugin
+ imgConf: {
+ deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
+ imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
+ path: "/_next/image",
+ loader: "default",
+ dangerouslyAllowSVG: false,
+ unoptimized: false,
+ },
+ });
+ // Normally we don't care about undefined props because we pass to JSX,
+ // but this exported function could be used by the end user for anything
+ // so we delete undefined props to clean it up a little.
+ for (const [key, value] of Object.entries(props)) {
+ if (value === undefined) {
+ delete props[key];
+ }
}
- const q =
- quality ||
- ((_config_qualities = config.qualities) == null
- ? void 0
- : _config_qualities.reduce((prev, cur) =>
- Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q)
- ? cur
- : prev
- )) ||
- DEFAULT_Q;
- return (
- config.path +
- "?url=" +
- encodeURIComponent(src) +
- "&w=" +
- width +
- "&q=" +
- q +
- (src.startsWith("/_next/static/media/") && false ? 0 : "")
- );
+ return {
+ props,
+ };
}
- // We use this to determine if the import is the default loader
- // or a custom loader defined by the user in next.config.js
- defaultLoader.__next_img_default = true;
- const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
+ const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
/***/
},
- /***/ 3041: /***/ (module, exports, __webpack_require__) => {
+ /***/ 3937: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -136,69 +216,7 @@
/***/
},
- /***/ 3250: /***/ (
- __unused_webpack_module,
- exports,
- __webpack_require__
- ) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- 0 && 0;
- function _export(target, all) {
- for (var name in all)
- Object.defineProperty(target, name, {
- enumerable: true,
- get: all[name],
- });
- }
- _export(exports, {
- default: function () {
- return _default;
- },
- getImageProps: function () {
- return getImageProps;
- },
- });
- const _interop_require_default = __webpack_require__(1532);
- const _getimgprops = __webpack_require__(3546);
- const _imagecomponent = __webpack_require__(7634);
- const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(2170)
- );
- function getImageProps(imgProps) {
- const { props } = (0, _getimgprops.getImgProps)(imgProps, {
- defaultLoader: _imageloader.default,
- // This is replaced by webpack define plugin
- imgConf: {
- deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
- imageSizes: [16, 32, 48, 64, 96, 128, 256, 384],
- path: "/_next/image",
- loader: "default",
- dangerouslyAllowSVG: false,
- unoptimized: false,
- },
- });
- // Normally we don't care about undefined props because we pass to JSX,
- // but this exported function could be used by the end user for anything
- // so we delete undefined props to clean it up a little.
- for (const [key, value] of Object.entries(props)) {
- if (value === undefined) {
- delete props[key];
- }
- }
- return {
- props,
- };
- }
- const _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map
-
- /***/
- },
-
- /***/ 3546: /***/ (
+ /***/ 4474: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -214,9 +232,9 @@
return getImgProps;
},
});
- const _warnonce = __webpack_require__(9615);
- const _imageblursvg = __webpack_require__(4503);
- const _imageconfig = __webpack_require__(1635);
+ const _warnonce = __webpack_require__(4927);
+ const _imageblursvg = __webpack_require__(9975);
+ const _imageconfig = __webpack_require__(8195);
const VALID_LOADING_VALUES =
/* unused pure expression or super */ null && [
"lazy",
@@ -628,127 +646,7 @@
/***/
},
- /***/ 4503: /***/ (__unused_webpack_module, exports) => {
- "use strict";
- /**
- * A shared function, used on both client and server, to generate a SVG blur placeholder.
- */
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "getImageBlurSvg", {
- enumerable: true,
- get: function () {
- return getImageBlurSvg;
- },
- });
- function getImageBlurSvg(param) {
- let {
- widthInt,
- heightInt,
- blurWidth,
- blurHeight,
- blurDataURL,
- objectFit,
- } = param;
- const std = 20;
- const svgWidth = blurWidth ? blurWidth * 40 : widthInt;
- const svgHeight = blurHeight ? blurHeight * 40 : heightInt;
- const viewBox =
- svgWidth && svgHeight
- ? "viewBox='0 0 " + svgWidth + " " + svgHeight + "'"
- : "";
- const preserveAspectRatio = viewBox
- ? "none"
- : objectFit === "contain"
- ? "xMidYMid"
- : objectFit === "cover"
- ? "xMidYMid slice"
- : "none";
- return (
- "%3Csvg xmlns='http://www.w3.org/2000/svg' " +
- viewBox +
- "%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='" +
- std +
- "'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='" +
- std +
- "'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='" +
- preserveAspectRatio +
- "' style='filter: url(%23b);' href='" +
- blurDataURL +
- "'/%3E%3C/svg%3E"
- );
- } //# sourceMappingURL=image-blur-svg.js.map
-
- /***/
- },
-
- /***/ 5016: /***/ (
- __unused_webpack_module,
- __webpack_exports__,
- __webpack_require__
- ) => {
- "use strict";
- // ESM COMPAT FLAG
- __webpack_require__.r(__webpack_exports__);
-
- // EXPORTS
- __webpack_require__.d(__webpack_exports__, {
- __N_SSP: () => /* binding */ __N_SSP,
- default: () => /* binding */ pages_image,
- });
-
- // EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
- var jsx_runtime = __webpack_require__(8017);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
- var next_image = __webpack_require__(1442);
- var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
- /* harmony default export */ const nextjs = {
- src: "/_next/static/media/nextjs.cae0b805.png",
- height: 1347,
- width: 1626,
- blurDataURL:
- "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAMAAAACh/xsAAAAD1BMVEX////x8fH6+vrb29vo6Oh8o70bAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAH0lEQVR4nGNgwARMjIyMjCAGCzMzMwsTRISJCcRABwAEcAAkLCQfgAAAAABJRU5ErkJggg==",
- blurWidth: 8,
- blurHeight: 7,
- }; // ./pages/image.js
- function ImagePage(props) {
- return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
- children: [
- /*#__PURE__*/ (0, jsx_runtime.jsx)("h1", {
- children: "next/image example",
- }),
- /*#__PURE__*/ (0, jsx_runtime.jsx)(image_default(), {
- src: nextjs,
- placeholder: "blur",
- }),
- ],
- });
- }
- var __N_SSP = true;
- /* harmony default export */ const pages_image = ImagePage;
-
- /***/
- },
-
- /***/ 6923: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/image",
- function () {
- return __webpack_require__(5016);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 7634: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6805: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -770,17 +668,17 @@
__webpack_require__(5775)
);
const _head = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(6191)
+ __webpack_require__(783)
);
- const _getimgprops = __webpack_require__(3546);
- const _imageconfig = __webpack_require__(1635);
- const _imageconfigcontextsharedruntime = __webpack_require__(9685);
- const _warnonce = __webpack_require__(9615);
- const _routercontextsharedruntime = __webpack_require__(6460);
+ const _getimgprops = __webpack_require__(4474);
+ const _imageconfig = __webpack_require__(8195);
+ const _imageconfigcontextsharedruntime = __webpack_require__(8629);
+ const _warnonce = __webpack_require__(4927);
+ const _routercontextsharedruntime = __webpack_require__(4860);
const _imageloader = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(2170)
+ __webpack_require__(9274)
);
- const _usemergedref = __webpack_require__(3041);
+ const _usemergedref = __webpack_require__(3937);
// This is replaced by webpack define plugin
const configEnv = {
deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],
@@ -1106,13 +1004,115 @@
/***/
},
+
+ /***/ 9274: /***/ (__unused_webpack_module, exports) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function () {
+ return _default;
+ },
+ });
+ const DEFAULT_Q = 75;
+ function defaultLoader(param) {
+ let { config, src, width, quality } = param;
+ var _config_qualities;
+ if (false) {
+ }
+ const q =
+ quality ||
+ ((_config_qualities = config.qualities) == null
+ ? void 0
+ : _config_qualities.reduce((prev, cur) =>
+ Math.abs(cur - DEFAULT_Q) < Math.abs(prev - DEFAULT_Q)
+ ? cur
+ : prev
+ )) ||
+ DEFAULT_Q;
+ return (
+ config.path +
+ "?url=" +
+ encodeURIComponent(src) +
+ "&w=" +
+ width +
+ "&q=" +
+ q +
+ (src.startsWith("/_next/static/media/") && false ? 0 : "")
+ );
+ }
+ // We use this to determine if the import is the default loader
+ // or a custom loader defined by the user in next.config.js
+ defaultLoader.__next_img_default = true;
+ const _default = defaultLoader; //# sourceMappingURL=image-loader.js.map
+
+ /***/
+ },
+
+ /***/ 9975: /***/ (__unused_webpack_module, exports) => {
+ "use strict";
+ /**
+ * A shared function, used on both client and server, to generate a SVG blur placeholder.
+ */
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "getImageBlurSvg", {
+ enumerable: true,
+ get: function () {
+ return getImageBlurSvg;
+ },
+ });
+ function getImageBlurSvg(param) {
+ let {
+ widthInt,
+ heightInt,
+ blurWidth,
+ blurHeight,
+ blurDataURL,
+ objectFit,
+ } = param;
+ const std = 20;
+ const svgWidth = blurWidth ? blurWidth * 40 : widthInt;
+ const svgHeight = blurHeight ? blurHeight * 40 : heightInt;
+ const viewBox =
+ svgWidth && svgHeight
+ ? "viewBox='0 0 " + svgWidth + " " + svgHeight + "'"
+ : "";
+ const preserveAspectRatio = viewBox
+ ? "none"
+ : objectFit === "contain"
+ ? "xMidYMid"
+ : objectFit === "cover"
+ ? "xMidYMid slice"
+ : "none";
+ return (
+ "%3Csvg xmlns='http://www.w3.org/2000/svg' " +
+ viewBox +
+ "%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='" +
+ std +
+ "'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='" +
+ std +
+ "'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='" +
+ preserveAspectRatio +
+ "' style='filter: url(%23b);' href='" +
+ blurDataURL +
+ "'/%3E%3C/svg%3E"
+ );
+ } //# sourceMappingURL=image-blur-svg.js.map
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6923)
+ __webpack_exec__(1989)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3332],
{
- /***/ 3767: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/",
- function () {
- return __webpack_require__(6587);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 6587: /***/ (
+ /***/ 937: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -36,13 +19,30 @@
/***/
},
+
+ /***/ 3985: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/",
+ function () {
+ return __webpack_require__(937);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(3767)
+ __webpack_exec__(3985)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,26 +1,133 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 1225: /***/ (module, exports, __webpack_require__) => {
+ /***/ 1547: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/link",
+ function () {
+ return __webpack_require__(9748);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 3456: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "getDomainLocale", {
+ Object.defineProperty(exports, "useIntersection", {
enumerable: true,
get: function () {
- return getDomainLocale;
+ return useIntersection;
},
});
- const _normalizetrailingslash = __webpack_require__(7981);
- const basePath =
- /* unused pure expression or super */ null && (false || "");
- function getDomainLocale(path, locale, locales, domainLocales) {
- if (false) {
- } else {
- return false;
+ const _react = __webpack_require__(4109);
+ const _requestidlecallback = __webpack_require__(3919);
+ const hasIntersectionObserver =
+ typeof IntersectionObserver === "function";
+ const observers = new Map();
+ const idList = [];
+ function createObserver(options) {
+ const id = {
+ root: options.root || null,
+ margin: options.rootMargin || "",
+ };
+ const existing = idList.find(
+ (obj) => obj.root === id.root && obj.margin === id.margin
+ );
+ let instance;
+ if (existing) {
+ instance = observers.get(existing);
+ if (instance) {
+ return instance;
+ }
}
+ const elements = new Map();
+ const observer = new IntersectionObserver((entries) => {
+ entries.forEach((entry) => {
+ const callback = elements.get(entry.target);
+ const isVisible =
+ entry.isIntersecting || entry.intersectionRatio > 0;
+ if (callback && isVisible) {
+ callback(isVisible);
+ }
+ });
+ }, options);
+ instance = {
+ id,
+ observer,
+ elements,
+ };
+ idList.push(id);
+ observers.set(id, instance);
+ return instance;
+ }
+ function observe(element, callback, options) {
+ const { id, observer, elements } = createObserver(options);
+ elements.set(element, callback);
+ observer.observe(element);
+ return function unobserve() {
+ elements.delete(element);
+ observer.unobserve(element);
+ // Destroy observer when there's nothing left to watch:
+ if (elements.size === 0) {
+ observer.disconnect();
+ observers.delete(id);
+ const index = idList.findIndex(
+ (obj) => obj.root === id.root && obj.margin === id.margin
+ );
+ if (index > -1) {
+ idList.splice(index, 1);
+ }
+ }
+ };
+ }
+ function useIntersection(param) {
+ let { rootRef, rootMargin, disabled } = param;
+ const isDisabled = disabled || !hasIntersectionObserver;
+ const [visible, setVisible] = (0, _react.useState)(false);
+ const elementRef = (0, _react.useRef)(null);
+ const setElement = (0, _react.useCallback)((element) => {
+ elementRef.current = element;
+ }, []);
+ (0, _react.useEffect)(() => {
+ if (hasIntersectionObserver) {
+ if (isDisabled || visible) return;
+ const element = elementRef.current;
+ if (element && element.tagName) {
+ const unobserve = observe(
+ element,
+ (isVisible) => isVisible && setVisible(isVisible),
+ {
+ root: rootRef == null ? void 0 : rootRef.current,
+ rootMargin,
+ }
+ );
+ return unobserve;
+ }
+ } else {
+ if (!visible) {
+ const idleCallback = (0,
+ _requestidlecallback.requestIdleCallback)(() => setVisible(true));
+ return () =>
+ (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
+ }
+ }
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
+ const resetVisible = (0, _react.useCallback)(() => {
+ setVisible(false);
+ }, []);
+ return [setElement, visible, resetVisible];
}
if (
(typeof exports.default === "function" ||
@@ -32,58 +139,12 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=get-domain-locale.js.map
-
- /***/
- },
-
- /***/ 1241: /***/ (
- __unused_webpack_module,
- __webpack_exports__,
- __webpack_require__
- ) => {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
- /* harmony export */
- });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(8017);
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(2665);
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/ __webpack_require__.n(
- next_link__WEBPACK_IMPORTED_MODULE_1__
- );
-
- function aLink(props) {
- return /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- children: [
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
- children: "A Link page!",
- }),
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
- next_link__WEBPACK_IMPORTED_MODULE_1___default(),
- {
- href: "/",
- children: "Go to /",
- }
- ),
- ],
- });
- }
- var __N_SSP = true;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+ } //# sourceMappingURL=use-intersection.js.map
/***/
},
- /***/ 1763: /***/ (module, exports, __webpack_require__) => {
+ /***/ 3923: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -100,16 +161,16 @@
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(4109)
);
- const _resolvehref = __webpack_require__(2513);
- const _islocalurl = __webpack_require__(9021);
- const _formaturl = __webpack_require__(8368);
- const _utils = __webpack_require__(9338);
- const _addlocale = __webpack_require__(7231);
- const _routercontextsharedruntime = __webpack_require__(6460);
- const _useintersection = __webpack_require__(5296);
- const _getdomainlocale = __webpack_require__(1225);
- const _addbasepath = __webpack_require__(6124);
- const _usemergedref = __webpack_require__(3041);
+ const _resolvehref = __webpack_require__(8113);
+ const _islocalurl = __webpack_require__(4525);
+ const _formaturl = __webpack_require__(1776);
+ const _utils = __webpack_require__(4794);
+ const _addlocale = __webpack_require__(751);
+ const _routercontextsharedruntime = __webpack_require__(4860);
+ const _useintersection = __webpack_require__(3456);
+ const _getdomainlocale = __webpack_require__(5257);
+ const _addbasepath = __webpack_require__(5740);
+ const _usemergedref = __webpack_require__(3937);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -462,17 +523,7 @@
/***/
},
- /***/ 2665: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(1763);
-
- /***/
- },
-
- /***/ 3041: /***/ (module, exports, __webpack_require__) => {
+ /***/ 3937: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -550,133 +601,26 @@
/***/
},
- /***/ 5025: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/link",
- function () {
- return __webpack_require__(1241);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 5296: /***/ (module, exports, __webpack_require__) => {
+ /***/ 5257: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "useIntersection", {
+ Object.defineProperty(exports, "getDomainLocale", {
enumerable: true,
get: function () {
- return useIntersection;
+ return getDomainLocale;
},
});
- const _react = __webpack_require__(4109);
- const _requestidlecallback = __webpack_require__(8015);
- const hasIntersectionObserver =
- typeof IntersectionObserver === "function";
- const observers = new Map();
- const idList = [];
- function createObserver(options) {
- const id = {
- root: options.root || null,
- margin: options.rootMargin || "",
- };
- const existing = idList.find(
- (obj) => obj.root === id.root && obj.margin === id.margin
- );
- let instance;
- if (existing) {
- instance = observers.get(existing);
- if (instance) {
- return instance;
- }
+ const _normalizetrailingslash = __webpack_require__(7213);
+ const basePath =
+ /* unused pure expression or super */ null && (false || "");
+ function getDomainLocale(path, locale, locales, domainLocales) {
+ if (false) {
+ } else {
+ return false;
}
- const elements = new Map();
- const observer = new IntersectionObserver((entries) => {
- entries.forEach((entry) => {
- const callback = elements.get(entry.target);
- const isVisible =
- entry.isIntersecting || entry.intersectionRatio > 0;
- if (callback && isVisible) {
- callback(isVisible);
- }
- });
- }, options);
- instance = {
- id,
- observer,
- elements,
- };
- idList.push(id);
- observers.set(id, instance);
- return instance;
- }
- function observe(element, callback, options) {
- const { id, observer, elements } = createObserver(options);
- elements.set(element, callback);
- observer.observe(element);
- return function unobserve() {
- elements.delete(element);
- observer.unobserve(element);
- // Destroy observer when there's nothing left to watch:
- if (elements.size === 0) {
- observer.disconnect();
- observers.delete(id);
- const index = idList.findIndex(
- (obj) => obj.root === id.root && obj.margin === id.margin
- );
- if (index > -1) {
- idList.splice(index, 1);
- }
- }
- };
- }
- function useIntersection(param) {
- let { rootRef, rootMargin, disabled } = param;
- const isDisabled = disabled || !hasIntersectionObserver;
- const [visible, setVisible] = (0, _react.useState)(false);
- const elementRef = (0, _react.useRef)(null);
- const setElement = (0, _react.useCallback)((element) => {
- elementRef.current = element;
- }, []);
- (0, _react.useEffect)(() => {
- if (hasIntersectionObserver) {
- if (isDisabled || visible) return;
- const element = elementRef.current;
- if (element && element.tagName) {
- const unobserve = observe(
- element,
- (isVisible) => isVisible && setVisible(isVisible),
- {
- root: rootRef == null ? void 0 : rootRef.current,
- rootMargin,
- }
- );
- return unobserve;
- }
- } else {
- if (!visible) {
- const idleCallback = (0,
- _requestidlecallback.requestIdleCallback)(() => setVisible(true));
- return () =>
- (0, _requestidlecallback.cancelIdleCallback)(idleCallback);
- }
- }
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [isDisabled, rootMargin, rootRef, visible, elementRef.current]);
- const resetVisible = (0, _react.useCallback)(() => {
- setVisible(false);
- }, []);
- return [setElement, visible, resetVisible];
}
if (
(typeof exports.default === "function" ||
@@ -688,7 +632,63 @@
});
Object.assign(exports.default, exports);
module.exports = exports.default;
- } //# sourceMappingURL=use-intersection.js.map
+ } //# sourceMappingURL=get-domain-locale.js.map
+
+ /***/
+ },
+
+ /***/ 9748: /***/ (
+ __unused_webpack_module,
+ __webpack_exports__,
+ __webpack_require__
+ ) => {
+ "use strict";
+ __webpack_require__.r(__webpack_exports__);
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+ /* harmony export */
+ });
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+ __webpack_require__(8017);
+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+ __webpack_require__(9835);
+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+ /*#__PURE__*/ __webpack_require__.n(
+ next_link__WEBPACK_IMPORTED_MODULE_1__
+ );
+
+ function aLink(props) {
+ return /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+ children: [
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+ children: "A Link page!",
+ }),
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+ {
+ href: "/",
+ children: "Go to /",
+ }
+ ),
+ ],
+ });
+ }
+ var __N_SSP = true;
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+ /***/
+ },
+
+ /***/ 9835: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(3923);
/***/
},
@@ -698,7 +698,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(5025)
+ __webpack_exec__(1547)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,17 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 760: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(8326);
-
- /***/
- },
-
- /***/ 2713: /***/ (
+ /***/ 179: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -19,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/routerDirect",
function () {
- return __webpack_require__(8217);
+ return __webpack_require__(9819);
},
]);
if (false) {
@@ -28,7 +18,17 @@
/***/
},
- /***/ 8217: /***/ (
+ /***/ 3022: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(1606);
+
+ /***/
+ },
+
+ /***/ 9819: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(8017);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(760);
+ __webpack_require__(3022);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -68,7 +68,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2713)
+ __webpack_exec__(179)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,17 +1,34 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 3254: /***/ (
+ /***/ 1060: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(8236);
+ module.exports = __webpack_require__(3612);
/***/
},
- /***/ 5990: /***/ (
+ /***/ 5867: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/script",
+ function () {
+ return __webpack_require__(7640);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 7640: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +43,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(8017);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(3254);
+ __webpack_require__(1060);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -58,30 +75,13 @@
/***/
},
-
- /***/ 8745: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/script",
- function () {
- return __webpack_require__(5990);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8745)
+ __webpack_exec__(5867)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,34 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 760: /***/ (
+ /***/ 3022: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(8326);
+ module.exports = __webpack_require__(1606);
/***/
},
- /***/ 6545: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/withRouter",
- function () {
- return __webpack_require__(9680);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 9680: /***/ (
+ /***/ 3438: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(8017);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(760);
+ __webpack_require__(3022);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -61,13 +44,30 @@
/***/
},
+
+ /***/ 4563: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/withRouter",
+ function () {
+ return __webpack_require__(3438);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6545)
+ __webpack_exec__(4563)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 8987-HASH.js
Diff too large to display
Diff for 9484-HASH.js
Diff too large to display
Diff for main-HASH.js
Diff too large to display
58ca58f
to
7e68f14
Compare
5b3401b
to
e0aef09
Compare
5914415
to
81ce8ae
Compare
e0aef09
to
b084735
Compare
0420ddc
to
521bd77
Compare
f0e6a45
to
8e75fab
Compare
521bd77
to
5f7b9ed
Compare
27d4d22
to
d759ce9
Compare
7f43c37
to
d5b94c2
Compare
7c7032a
to
21dd2e5
Compare
d5b94c2
to
c7a8be1
Compare
21dd2e5
to
64e08c1
Compare
turbopack/crates/turbopack-core/src/chunk/available_chunk_groups.rs
Outdated
Show resolved
Hide resolved
@@ -25,19 +25,16 @@ use crate::{ | |||
GraphTraversalAction, ModuleGraph, SingleModuleGraphModuleNode, SingleModuleGraphNode, | |||
}, | |||
}; | |||
|
|||
#[derive( | |||
Clone, Debug, Default, PartialEq, Serialize, Deserialize, TraceRawVcs, ValueDebugFormat, | |||
)] | |||
pub struct RoaringBitmapWrapper(#[turbo_tasks(trace_ignore)] pub RoaringBitmap); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pub struct RoaringBitmapWrapper(#[turbo_tasks(trace_ignore)] pub RoaringBitmap); | |
pub struct RoaringBitmapWrapper(#[turbo_tasks(trace_ignore)] RoaringBitmap); |
adding a constructor could make the pub
unnecessary
turbopack/crates/turbopack-core/src/module_graph/chunk_group_info.rs
Outdated
Show resolved
Hide resolved
c7a8be1
to
84409de
Compare
64e08c1
to
773a8af
Compare
84409de
to
ee2e155
Compare
773a8af
to
3f08e5c
Compare
Failing test suitesCommit: 6c4b40a
Expand output● app dir - dynamic error trace › should show the error trace
Read more about building and testing Next.js in contributing.md.
Expand output● Error overlay - RSC runtime errors › should show runtime errors if invalid client API from node_modules is executed
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - css › css support › server layouts › should support global css inside server layouts
● app dir - css › css support › server layouts › should support css modules inside server layouts
● app dir - css › css support › server layouts › should support external css imports
● app dir - css › css support › server pages › should support global css inside server pages
● app dir - css › css support › server pages › should support css modules inside server pages
● app dir - css › css support › server pages › should not contain pages css in app dir page
● app dir - css › css support › server pages › should support css modules shared between server pages
● app dir - css › css support › client layouts › should support css modules inside client layouts
● app dir - css › css support › client layouts › should support global css inside client layouts
● app dir - css › css support › client pages › should support css modules inside client pages
● app dir - css › css support › client pages › should support global css inside client pages
● app dir - css › css support › client components › should support css modules inside client page
● app dir - css › css support › client components › should support css modules inside client components
● app dir - css › css support › special entries › should include css imported in loading.js
● app dir - css › css support › special entries › should include css imported in client template.js
● app dir - css › css support › special entries › should include css imported in server template.js
● app dir - css › css support › special entries › should include css imported in client not-found.js
● app dir - css › css support › special entries › should include css imported in server not-found.js
● app dir - css › css support › special entries › should include root layout css for root not-found.js
● app dir - css › css support › special entries › should include css imported in root not-found.js
● app dir - css › css support › special entries › should include css imported in error.js
● app dir - css › css support › page extensions › should include css imported in MDX pages
● app dir - css › css support › chunks › should bundle css resources into chunks
● app dir - css › css support › css ordering › should have inner layers take precedence over outer layers
● app dir - css › sass support › server layouts › should support global sass/scss inside server layouts
● app dir - css › sass support › server layouts › should support sass/scss modules inside server layouts
● app dir - css › sass support › server pages › should support global sass/scss inside server pages
● app dir - css › sass support › server pages › should support sass/scss modules inside server pages
● app dir - css › sass support › client layouts › should support global sass/scss inside client layouts
● app dir - css › sass support › client layouts › should support sass/scss modules inside client layouts
● app dir - css › sass support › client pages › should support global sass/scss inside client pages
● app dir - css › sass support › client pages › should support sass/scss modules inside client pages
● app dir - css › pages dir › should include css modules and global css after page transition
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir edge SSR › should handle edge only routes
● app-dir edge SSR › should retrieve cookies in a server component in the edge runtime
● app-dir edge SSR › should treat process as object without polyfill in edge runtime
● app-dir edge SSR › should handle /index routes correctly
● app-dir edge SSR › should generate matchers correctly in middleware manifest
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir edge runtime root layout › should not emit metadata files into bad paths
● app-dir edge runtime root layout › should mark static contain metadata routes as edge functions
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - basic › should have correct cache-control for SSR routes
● app dir - basic › should contain framework.json
● app dir - basic › outputs correct build-diagnostics.json
● app dir - basic › should have correct size in build output
● app dir - basic › should have correct preferredRegion values in manifest
● app dir - basic › should work for catch-all edge page
● app dir - basic › should return normalized dynamic route params for catch-all edge page
● app dir - basic › should have correct searchParams and params (server)
● app dir - basic › should have correct searchParams and params (client)
● app dir - basic › should successfully detect app route during prefetch
● app dir - basic › should match redirects in pages correctly $path
● app dir - basic › should match redirects in pages correctly $path
● app dir - basic › should match redirects in pages correctly $path
● app dir - basic › should match redirects in pages correctly $path
● app dir - basic › should match redirects in pages correctly $path
● app dir - basic › should match redirects in pages correctly $path
● app dir - basic › should not apply client router filter on shallow
● app dir - basic › should not share edge workers
● app dir - basic › should generate build traces correctly
● app dir - basic › should use text/x-component for flight
● app dir - basic › should use text/x-component for flight with edge runtime
● app dir - basic › should return the
● app dir - basic › should return the
● app dir - basic › should pass props from getServerSideProps in root layout
● app dir - basic › should serve from pages
● app dir - basic › should serve dynamic route from pages
● app dir - basic › should serve from public
● app dir - basic › should serve from app
● app dir - basic › should ensure the suffix is at the end of the stream
● app dir - basic › should serve /index as separate page
● app dir - basic › should serve polyfills for browsers that do not support modules
● app dir - basic › should handle css imports in next/dynamic correctly
● app dir - basic › should include layouts when no direct parent layout
● app dir - basic › should not include parent when not in parent directory with route in directory
● app dir - basic › should use new root layout when provided
● app dir - basic › should not create new root layout when nested (optional)
● app dir - basic › should include parent document when no direct parent layout
● app dir - basic › should not include parent when not in parent directory
● app dir - basic › should serve nested parent
● app dir - basic › should serve dynamic parameter
● app dir - basic › should serve page as a segment name correctly
● app dir - basic › should include document html and body
● app dir - basic › should not serve when layout is provided but no folder index
● app dir - basic › should match partial parameters
● app dir - basic › rewrites › should support rewrites on initial load
● app dir - basic › rewrites › should support rewrites on client-side navigation from pages to app with existing pages path
● app dir - basic › rewrites › should support rewrites on client-side navigation
● app dir - basic › should not rerender layout when navigating between routes in the same layout
● app dir - basic › should handle hash in initial url
● app dir - basic › › should hard push
● app dir - basic › › should hard replace
● app dir - basic › › should soft push
● app dir - basic › › should soft replace
● app dir - basic › › should be soft for back navigation
● app dir - basic › › should be soft for forward navigation
● app dir - basic › › should allow linking from app page to pages page
● app dir - basic › › should navigate to pages dynamic route from pages page if it overlaps with an app page
● app dir - basic › › should push to external url
● app dir - basic › › should replace to external url
● app dir - basic › server components › should not serve .server.js as a path
● app dir - basic › server components › should not serve .client.js as a path
● app dir - basic › server components › should serve shared component
● app dir - basic › server components › dynamic routes › should only pass params that apply to the layout
● app dir - basic › server components › catch-all routes › should handle optional segments
● app dir - basic › server components › catch-all routes › should handle optional segments root
● app dir - basic › server components › catch-all routes › should handle optional catch-all segments link
● app dir - basic › server components › catch-all routes › should handle required segments
● app dir - basic › server components › catch-all routes › should handle required segments root as not found
● app dir - basic › server components › catch-all routes › should handle catch-all segments link
● app dir - basic › server components › should serve client component › should serve server-side
● app dir - basic › server components › should serve client component › should serve client-side
● app dir - basic › server components › should include client component layout with server component route › should include it server-side
● app dir - basic › server components › should include client component layout with server component route › should include it client-side
● app dir - basic › server components › Loading › should render loading.js in initial html for slow page
● app dir - basic › server components › Loading › should render loading.js in browser for slow page
● app dir - basic › server components › Loading › should render loading.js in initial html for slow layout
● app dir - basic › server components › Loading › should render loading.js in browser for slow layout
● app dir - basic › server components › Loading › should render loading.js in initial html for slow layout and page
● app dir - basic › server components › Loading › should render loading.js in browser for slow layout and page
● app dir - basic › server components › middleware › should strip internal query parameters from requests to middleware for rewrite
● app dir - basic › server components › middleware › should strip internal query parameters from requests to middleware for redirect
● app dir - basic › server components › next/router › should support router.back and router.forward
● app dir - basic › server components › client components › should have consistent query and params handling
● app dir - basic › searchParams prop › client component › should have the correct search params
● app dir - basic › searchParams prop › client component › should have the correct search params on rewrite
● app dir - basic › searchParams prop › client component › should have the correct search params on middleware rewrite
● app dir - basic › searchParams prop › server component › should have the correct search params
● app dir - basic › searchParams prop › server component › should have the correct search params on rewrite
● app dir - basic › searchParams prop › server component › should have the correct search params on middleware rewrite
● app dir - basic › template component › should render the template that holds state in a client component and reset on navigation
● app dir - basic › template component › should render the template that is a server component and rerender on navigation
● app dir - basic › known bugs › should support React cache › server component
● app dir - basic › known bugs › should support React cache › server component client-navigation
● app dir - basic › known bugs › should support React cache › client component
● app dir - basic › known bugs › should support React cache › client component client-navigation
● app dir - basic › known bugs › should support React cache › middleware overriding headers
● app dir - basic › known bugs › should support React fetch instrumentation › server component
● app dir - basic › known bugs › should support React fetch instrumentation › server component client-navigation
● app dir - basic › known bugs › should support React fetch instrumentation › client component
● app dir - basic › known bugs › should support React fetch instrumentation › client component client-navigation
● app dir - basic › known bugs › should not share flight data between requests
● app dir - basic › known bugs › should handle router.refresh without resetting state
● app dir - basic › known bugs › should handle as on next/link
● app dir - basic › known bugs › should handle next/link back to initially loaded page
● app dir - basic › known bugs › should not do additional pushState when already on the page
● app dir - basic › next/script › should support next/script and render in correct order
● app dir - basic › next/script › should pass on extra props for beforeInteractive scripts with a src prop
● app dir - basic › next/script › should pass on extra props for beforeInteractive scripts without a src prop
● app dir - basic › next/script › should insert preload tags for beforeInteractive and afterInteractive scripts
● app dir - basic › next/script › should load stylesheets for next/scripts
● app dir - basic › next/script › should pass
● app dir - basic › next/script › should pass nonce when using next/font
● app dir - basic › data fetch with response over 16KB with chunked encoding › should load page when fetching a large amount of data
● app dir - basic › bootstrap scripts › should only bootstrap with one script, prinitializing the rest
● app dir - basic › bootstrap scripts › should successfully bootstrap even when using CSP
Read more about building and testing Next.js in contributing.md.
Expand output● app-dir action useActionState › should support submitting form state with JS
● app-dir action useActionState › should support submitting form state without JS
● app-dir action useActionState › should support hydrating the app from progressively enhanced form request
● app-dir action useActionState › should send the action to the provided permalink with form state when JS disabled
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - next/dynamic › should handle ssr: false in pages when appDir is enabled
● app dir - next/dynamic › should handle next/dynamic in SSR correctly
● app dir - next/dynamic › should handle next/dynamic in hydration correctly
● app dir - next/dynamic › should generate correct client manifest for dynamic chunks
● app dir - next/dynamic › should render loading by default if loading is specified and loader is slow
● app dir - next/dynamic › should not render loading by default
● app dir - next/dynamic › no SSR › should not render client component imported through ssr: false in client components in edge runtime
● app dir - next/dynamic › no SSR › should not render client component imported through ssr: false in client components
● app dir - next/dynamic › no SSR › should support dynamic import with accessing named exports from client component
● app dir - next/dynamic › no SSR › should support dynamic import with TLA in client components
Read more about building and testing Next.js in contributing.md.
Expand output● Error overlay - RSC build errors › Skipped in webpack › should handle successive HMR changes with errors correctly
Read more about building and testing Next.js in contributing.md.
Expand output● app dir client cache semantics (30s/5min) › should renew the 30s cache once the data is revalidated
Read more about building and testing Next.js in contributing.md.
Expand output● dedupe-rsc-error-log › should only log RSC error once for edge runtime
● dedupe-rsc-error-log › should only log SSR error once for edge runtime
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - metadata › basic › should support title and description
● app dir - metadata › basic › should support title template
● app dir - metadata › basic › should support stashed title in one layer of page and layout
● app dir - metadata › basic › should use parent layout title when no title is defined in page
● app dir - metadata › basic › should support stashed title in two layers of page and layout
● app dir - metadata › basic › should support other basic tags
● app dir - metadata › basic › should support other basic tags (edge)
● app dir - metadata › basic › should support apple related tags
● app dir - metadata › basic › should support socials related tags like facebook and pinterest
● app dir - metadata › basic › should support alternate tags
● app dir - metadata › basic › should relative canonical url
● app dir - metadata › basic › should not contain query in canonical url after client navigation
● app dir - metadata › basic › should support robots tags
● app dir - metadata › basic › should support verification tags
● app dir - metadata › basic › should support appLinks tags
● app dir - metadata › basic › should apply metadata when navigating client-side
● app dir - metadata › basic › should support generateMetadata dynamic props
● app dir - metadata › basic › should handle metadataBase for urls resolved as only URL type
● app dir - metadata › opengraph › should support opengraph tags
● app dir - metadata › opengraph › should support opengraph with article type
● app dir - metadata › opengraph › should pick up opengraph-image and twitter-image as static metadata files
● app dir - metadata › opengraph › should override file based images when opengraph-image and twitter-image specify images property
● app dir - metadata › opengraph › metadataBase should override fallback base for resolving OG images
● app dir - metadata › icons › should support basic object icons field
● app dir - metadata › icons › should support basic string icons field
● app dir - metadata › icons › should support basic complex descriptor icons field
● app dir - metadata › icons › should merge icons from layout if no static icons files are specified
● app dir - metadata › icons › should not hoist meta[itemProp] to head
● app dir - metadata › icons › should support root level of favicon.ico
● app dir - metadata › file based icons › should render icon and apple touch icon meta if their images are specified
● app dir - metadata › file based icons › should not render if image file is not specified
● app dir - metadata › twitter › should support twitter card summary_large_image when image present
● app dir - metadata › twitter › should render twitter card summary when image is not present
● app dir - metadata › twitter › should support default twitter player card
● app dir - metadata › twitter › should support default twitter app card
● app dir - metadata › static routes › should have /favicon.ico as route
● app dir - metadata › static routes › should have icons as route
● app dir - metadata › static routes › should support root dir robots.txt
● app dir - metadata › static routes › should support sitemap.xml under every routes
● app dir - metadata › static routes › should support static manifest.webmanifest
● app dir - metadata › static routes › should build favicon.ico as a custom route
● app dir - metadata › static optimization › should build static files into static route
● app dir - metadata › viewport › should support dynamic viewport export
● app dir - metadata › viewport › should skip initial-scale from viewport if it is set to undefined
● app dir - metadata › react cache › should have same title and page value on initial load
● app dir - metadata › react cache › should have same title and page value when navigating
● app dir - metadata › should not effect metadata images convention like files under pages directory
Read more about building and testing Next.js in contributing.md.
Expand output● Invalid hrefs › development mode › should not have a race condition with a click handler
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - with output export - trailing slash prod › production mode › should work in prod with trailingSlash 'false'
● app dir - with output export - trailing slash prod › production mode › should work in prod with trailingSlash 'true'
Read more about building and testing Next.js in contributing.md.
Expand output● app dir - rsc basics › should be able to navigate between rsc routes
Read more about building and testing Next.js in contributing.md.
Expand output● next.rs api › should have working HMR on client-side change on a page 0
● next.rs api › should have working HMR on client-side change on a page 1
● next.rs api › should have working HMR on client-side change on a page 2
● next.rs api › should have working HMR on server-side change on a page 0
● next.rs api › should have working HMR on server-side change on a page 1
● next.rs api › should have working HMR on server-side change on a page 2
● next.rs api › should have working HMR on client and server-side change on a page 0
● next.rs api › should have working HMR on client and server-side change on a page 1
● next.rs api › should have working HMR on client and server-side change on a page 2
● next.rs api › should have working HMR on client-side change on a app page 0
● next.rs api › should have working HMR on client-side change on a app page 1
● next.rs api › should have working HMR on client-side change on a app page 2
● next.rs api › should have working HMR on server-side change on a app page 0
● next.rs api › should have working HMR on server-side change on a app page 1
● next.rs api › should have working HMR on server-side change on a app page 2
Read more about building and testing Next.js in contributing.md. |
ee2e155
to
273030a
Compare
3f08e5c
to
4469728
Compare
Shouldn't have any change in behavior, but prepares for #76211
4469728
to
d65e830
Compare
273030a
to
532e20b
Compare
e352b29
to
4ca3465
Compare
532e20b
to
6c4b40a
Compare
Replace
AvailableModules(HashSet<Box<dyn Module>>)
withAvailableChunkGroups(RoaringBitMap)
TODO:
Yep, there are no
ChunkGroup::IsolatedMerged
entries with assr
merge tag and CSS entries