next.js
next.js copied to clipboard
chore: add build step to `eslint-plugin-next`
Follow-up on https://github.com/vercel/next.js/pull/38534#pullrequestreview-1035020450
This lets us use modern JS/TS syntax in ESLint rules and avoid issues like #38530 and #36693
Bug
- [ ] Related issues linked using
fixes #number - [ ] Integration tests added
- [ ] Errors have helpful link attached, see
contributing.md
Feature
- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using
fixes #number - [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have helpful link attached, see
contributing.md
Documentation / Examples
- [ ] Make sure the linting passes by running
pnpm lint - [ ] The examples guidelines are followed from our contributing doc
Stats from current PR
Default Build (Decrease detected ✓)
General Overall increase ⚠️
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| buildDuration | 23.3s | 21.9s | -1.4s |
| buildDurationCached | 7.7s | 7.6s | -81ms |
| nodeModulesSize | 74.2 MB | 74.2 MB | ✓ |
| nextStartRea..uration (ms) | 291ms | 297ms | ⚠️ +6ms |
| nextDevReadyDuration | 320ms | 326ms | ⚠️ +6ms |
Page Load Tests Overall decrease ⚠️
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 9.24 | 9.407 | ⚠️ +0.17 |
| / avg req/sec | 270.58 | 265.77 | ⚠️ -4.81 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 6.248 | 6.368 | ⚠️ +0.12 |
| /error-in-render avg req/sec | 400.13 | 392.62 | ⚠️ -7.51 |
Client Bundles (main, webpack) Overall decrease ✓
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| 900.HASH.js gzip | 179 B | 179 B | ✓ |
| framework-HASH.js gzip | 45.3 kB | 45.3 kB | ✓ |
| main-HASH.js gzip | 30.9 kB | 30.9 kB | -32 B |
| webpack-HASH.js gzip | 1.54 kB | 1.54 kB | ✓ |
| Overall change | 77.8 kB | 77.8 kB | -32 B |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages Overall decrease ✓
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 201 B | 202 B | ⚠️ +1 B |
| _error-HASH.js gzip | 195 B | 195 B | ✓ |
| amp-HASH.js gzip | 492 B | 493 B | ⚠️ +1 B |
| css-HASH.js gzip | 327 B | 329 B | ⚠️ +2 B |
| dynamic-HASH.js gzip | 2.03 kB | 2.03 kB | ✓ |
| edge-ssr-HASH.js gzip | 288 B | 287 B | -1 B |
| head-HASH.js gzip | 356 B | 355 B | -1 B |
| hooks-HASH.js gzip | 800 B | 800 B | ✓ |
| image-HASH.js gzip | 4.87 kB | 4.87 kB | -5 B |
| index-HASH.js gzip | 261 B | 263 B | ⚠️ +2 B |
| link-HASH.js gzip | 2.37 kB | 2.36 kB | -3 B |
| routerDirect..HASH.js gzip | 322 B | 321 B | -1 B |
| script-HASH.js gzip | 392 B | 391 B | -1 B |
| withRouter-HASH.js gzip | 320 B | 321 B | ⚠️ +1 B |
| 85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
| Overall change | 13.3 kB | 13.3 kB | -5 B |
Client Build Manifests Overall decrease ✓
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 484 B | 482 B | -2 B |
| Overall change | 484 B | 482 B | -2 B |
Rendered Page Sizes Overall increase ⚠️
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| index.html gzip | 512 B | 513 B | ⚠️ +1 B |
| link.html gzip | 526 B | 526 B | ✓ |
| withRouter.html gzip | 507 B | 507 B | ✓ |
| Overall change | 1.54 kB | 1.55 kB | ⚠️ +1 B |
Edge SSR Page bundle Size Overall decrease ✓
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 115 kB | 115 kB | -7 B |
| Overall change | 115 kB | 115 kB | -7 B |
Middleware size Overall decrease ✓
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 578 B | 576 B | -2 B |
| middleware-r..fest.js gzip | 145 B | 145 B | ✓ |
| middleware.js gzip | 18.8 kB | 18.8 kB | -10 B |
| edge-runtime..pack.js gzip | 1.83 kB | 1.83 kB | ✓ |
| Overall change | 21.3 kB | 21.3 kB | -12 B |
Diffs
Diff for middleware-b..-manifest.js
@@ -9,89 +9,89 @@ self.__BUILD_MANIFEST = {
rootMainFiles: [],
pages: {
"/": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/index-eff379b6d5b9bb68.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/index-2d083d34263a3ab6.js"
],
"/_app": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/_app-92c368fd6cf3735d.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/_app-dfaef6942d774f42.js"
],
"/_error": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/_error-178a994c6aae5c09.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/_error-d3adcea7db63be0b.js"
],
"/amp": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/amp-79fb82e276fb82fc.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/amp-dc9ee08f64b26a10.js"
],
"/css": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
"static/css/94fdbc56eafa2039.css",
- "static/chunks/pages/css-10d4fc9f36e1f8a8.js"
+ "static/chunks/pages/css-544d2f643bb52307.js"
],
"/dynamic": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/dynamic-0651128c47fcba80.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/dynamic-21b47ee7c34c216c.js"
],
"/edge-ssr": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/edge-ssr-e603e308b21f734e.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/edge-ssr-6e58abff3028d188.js"
],
"/head": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/head-d124b5fb804544eb.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/head-06e10ac8d6cd67db.js"
],
"/hooks": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/hooks-d1015f6695524a5b.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/hooks-cd9108a135578e81.js"
],
"/image": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/image-0bf75b864827e6da.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/image-ad480e0ea6b7169b.js"
],
"/link": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/link-6ea07ed77121154e.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/link-0bffdc44a0247b3e.js"
],
"/routerDirect": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/routerDirect-6f8978da85fef5eb.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/routerDirect-1ea8459dd75e3757.js"
],
"/script": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/script-56d3ff5faa49811d.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/script-178c2ac994fe2199.js"
],
"/withRouter": [
- "static/chunks/webpack-596ddb9e5090dbce.js",
+ "static/chunks/webpack-752e2e86747c1b07.js",
"static/chunks/framework-0249bf7bc1c3f377.js",
- "static/chunks/main-973715a7fb162c3a.js",
- "static/chunks/pages/withRouter-394e599a32dcd7a4.js"
+ "static/chunks/main-8bdfa4a832fbf4d5.js",
+ "static/chunks/pages/withRouter-27de9f24be6003e9.js"
]
},
ampFirstPages: []
Diff for middleware-r..-manifest.js
@@ -1,6 +1,6 @@
self.__REACT_LOADABLE_MANIFEST = {
"dynamic.js -> ../components/hello": {
- id: 3900,
- files: ["static/chunks/900.f01fcc2109adde55.js"]
+ id: 5886,
+ files: ["static/chunks/886.b879335d00f271d1.js"]
}
};
Diff for middleware.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[826],
{
- /***/ 7811: /***/ (
+ /***/ 6404: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -14,13 +14,13 @@
/* harmony export */
});
/* harmony import */ var next_dist_server_web_adapter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 674
+ 9107
);
(0,
next_dist_server_web_adapter__WEBPACK_IMPORTED_MODULE_0__ /* .enhanceGlobals */.gL)();
- var mod = __webpack_require__(7352);
+ var mod = __webpack_require__(5250);
var handler = mod.middleware || mod.default;
if (typeof handler !== "function") {
@@ -46,7 +46,7 @@
/***/
},
- /***/ 7352: /***/ (
+ /***/ 5250: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -58,7 +58,7 @@
/* harmony export */
});
/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 8352
+ 9541
);
/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
next_server__WEBPACK_IMPORTED_MODULE_0__
@@ -71,7 +71,7 @@
/***/
},
- /***/ 5195: /***/ (__unused_webpack_module, exports) => {
+ /***/ 3239: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -91,7 +91,7 @@
/***/
},
- /***/ 9923: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7793: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -129,7 +129,7 @@
/***/
},
- /***/ 5401: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7432: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -161,7 +161,7 @@
/***/
},
- /***/ 5316: /***/ (
+ /***/ 5154: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -172,8 +172,8 @@
value: true
});
exports.addLocale = addLocale;
- var _addPathPrefix = __webpack_require__(8976);
- var _pathHasPrefix = __webpack_require__(9882);
+ var _addPathPrefix = __webpack_require__(4632);
+ var _pathHasPrefix = __webpack_require__(387);
function addLocale(path, locale, defaultLocale, ignorePrefix) {
if (
locale &&
@@ -193,7 +193,7 @@
/***/
},
- /***/ 8976: /***/ (
+ /***/ 4632: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -204,7 +204,7 @@
value: true
});
exports.addPathPrefix = addPathPrefix;
- var _parsePath = __webpack_require__(5606);
+ var _parsePath = __webpack_require__(386);
function addPathPrefix(path, prefix) {
if (!path.startsWith("/") || !prefix) {
return path;
@@ -216,7 +216,7 @@
/***/
},
- /***/ 3009: /***/ (
+ /***/ 5045: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -227,7 +227,7 @@
value: true
});
exports.addPathSuffix = addPathSuffix;
- var _parsePath = __webpack_require__(5606);
+ var _parsePath = __webpack_require__(386);
function addPathSuffix(path, suffix) {
if (!path.startsWith("/") || !suffix) {
return path;
@@ -239,7 +239,7 @@
/***/
},
- /***/ 4234: /***/ (
+ /***/ 7100: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -250,10 +250,10 @@
value: true
});
exports.formatNextPathnameInfo = formatNextPathnameInfo;
- var _removeTrailingSlash = __webpack_require__(8336);
- var _addPathPrefix = __webpack_require__(8976);
- var _addPathSuffix = __webpack_require__(3009);
- var _addLocale = __webpack_require__(5316);
+ var _removeTrailingSlash = __webpack_require__(8833);
+ var _addPathPrefix = __webpack_require__(4632);
+ var _addPathSuffix = __webpack_require__(5045);
+ var _addLocale = __webpack_require__(5154);
function formatNextPathnameInfo(info) {
let pathname = (0, _addLocale).addLocale(
info.pathname,
@@ -281,7 +281,7 @@
/***/
},
- /***/ 3633: /***/ (
+ /***/ 7139: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -292,9 +292,9 @@
value: true
});
exports.getNextPathnameInfo = getNextPathnameInfo;
- var _normalizeLocalePath = __webpack_require__(5401);
- var _removePathPrefix = __webpack_require__(2811);
- var _pathHasPrefix = __webpack_require__(9882);
+ var _normalizeLocalePath = __webpack_require__(7432);
+ var _removePathPrefix = __webpack_require__(3776);
+ var _pathHasPrefix = __webpack_require__(387);
function getNextPathnameInfo(pathname, options) {
var _nextConfig;
const { basePath, i18n, trailingSlash } =
@@ -344,7 +344,7 @@
/***/
},
- /***/ 5606: /***/ (__unused_webpack_module, exports) => {
+ /***/ 386: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -378,7 +378,7 @@
/***/
},
- /***/ 9882: /***/ (
+ /***/ 387: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -389,7 +389,7 @@
value: true
});
exports.pathHasPrefix = pathHasPrefix;
- var _parsePath = __webpack_require__(5606);
+ var _parsePath = __webpack_require__(386);
function pathHasPrefix(path, prefix) {
if (typeof path !== "string") {
return false;
@@ -401,7 +401,7 @@
/***/
},
- /***/ 4258: /***/ (__unused_webpack_module, exports) => {
+ /***/ 1142: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -420,7 +420,7 @@
/***/
},
- /***/ 2811: /***/ (
+ /***/ 3776: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -431,7 +431,7 @@
value: true
});
exports.removePathPrefix = removePathPrefix;
- var _pathHasPrefix = __webpack_require__(9882);
+ var _pathHasPrefix = __webpack_require__(387);
function removePathPrefix(path, prefix) {
if ((0, _pathHasPrefix).pathHasPrefix(path, prefix)) {
const withoutPrefix = path.slice(prefix.length);
@@ -445,7 +445,7 @@
/***/
},
- /***/ 8336: /***/ (__unused_webpack_module, exports) => {
+ /***/ 8833: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -459,7 +459,7 @@
/***/
},
- /***/ 5682: /***/ module => {
+ /***/ 4202: /***/ module => {
var __dirname = "/";
(() => {
"use strict";
@@ -587,7 +587,7 @@
/***/
},
- /***/ 6166: /***/ (module, exports, __webpack_require__) => {
+ /***/ 6204: /***/ (module, exports, __webpack_require__) => {
var __dirname = "/";
var __WEBPACK_AMD_DEFINE_RESULT__;
(() => {
@@ -1429,7 +1429,7 @@
/***/
},
- /***/ 6704: /***/ (__unused_webpack_module, exports) => {
+ /***/ 7864: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -1471,7 +1471,7 @@
/***/
},
- /***/ 674: /***/ (
+ /***/ 9107: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -1485,14 +1485,14 @@
exports.VL = adapter;
exports.OT = blockUnallowedResponse;
exports.gL = enhanceGlobals;
- var _error = __webpack_require__(4524);
- var _utils = __webpack_require__(88);
- var _fetchEvent = __webpack_require__(8852);
- var _request = __webpack_require__(5829);
- var _response = __webpack_require__(5277);
- var _relativizeUrl = __webpack_require__(4258);
- var _nextUrl = __webpack_require__(3062);
- var _internalUtils = __webpack_require__(6704);
+ var _error = __webpack_require__(8666);
+ var _utils = __webpack_require__(30);
+ var _fetchEvent = __webpack_require__(9833);
+ var _request = __webpack_require__(5985);
+ var _response = __webpack_require__(5165);
+ var _relativizeUrl = __webpack_require__(1142);
+ var _nextUrl = __webpack_require__(4901);
+ var _internalUtils = __webpack_require__(7864);
class NextRequestHint extends _request.NextRequest {
constructor(params) {
super(params.input, params.init);
@@ -1714,7 +1714,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 4524: /***/ (__unused_webpack_module, exports) => {
+ /***/ 8666: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -1755,7 +1755,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 3062: /***/ (
+ /***/ 4901: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -1765,10 +1765,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
Object.defineProperty(exports, "__esModule", {
value: true
});
- var _detectDomainLocale = __webpack_require__(9923);
- var _formatNextPathnameInfo = __webpack_require__(4234);
- var _getHostname = __webpack_require__(5195);
- var _getNextPathnameInfo = __webpack_require__(3633);
+ var _detectDomainLocale = __webpack_require__(7793);
+ var _formatNextPathnameInfo = __webpack_require__(7100);
+ var _getHostname = __webpack_require__(3239);
+ var _getNextPathnameInfo = __webpack_require__(7139);
const FLIGHT_PARAMETERS = [
"__flight__",
"__flight_router_state_tree__",
@@ -2056,7 +2056,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 3868: /***/ (
+ /***/ 4570: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -2066,7 +2066,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
Object.defineProperty(exports, "__esModule", {
value: true
});
- var _cookie = _interopRequireDefault(__webpack_require__(5682));
+ var _cookie = _interopRequireDefault(__webpack_require__(4202));
function _interopRequireDefault(obj) {
return obj && obj.__esModule
? obj
@@ -2201,7 +2201,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 8852: /***/ (
+ /***/ 9833: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -2212,7 +2212,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
});
exports.waitUntilSymbol = void 0;
- var _error = __webpack_require__(4524);
+ var _error = __webpack_require__(8666);
const responseSymbol = Symbol("response");
const passThroughSymbol = Symbol("passThrough");
const waitUntilSymbol = Symbol("waitUntil");
@@ -2265,7 +2265,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 5829: /***/ (
+ /***/ 5985: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -2276,10 +2276,10 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
value: true
});
exports.INTERNALS = void 0;
- var _nextUrl = __webpack_require__(3062);
- var _utils = __webpack_require__(88);
- var _error = __webpack_require__(4524);
- var _cookies = __webpack_require__(3868);
+ var _nextUrl = __webpack_require__(4901);
+ var _utils = __webpack_require__(30);
+ var _error = __webpack_require__(8666);
+ var _cookies = __webpack_require__(4570);
const INTERNALS = Symbol("internal request");
exports.INTERNALS = INTERNALS;
class NextRequest extends Request {
@@ -2360,7 +2360,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 5277: /***/ (
+ /***/ 5165: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -2370,9 +2370,9 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
Object.defineProperty(exports, "__esModule", {
value: true
});
- var _nextUrl = __webpack_require__(3062);
- var _utils = __webpack_require__(88);
- var _cookies = __webpack_require__(3868);
+ var _nextUrl = __webpack_require__(4901);
+ var _utils = __webpack_require__(30);
+ var _cookies = __webpack_require__(4570);
const INTERNALS = Symbol("internal response");
const REDIRECTS = new Set([301, 302, 303, 307, 308]);
class NextResponse extends Response {
@@ -2462,7 +2462,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 7873: /***/ (
+ /***/ 9132: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -2476,7 +2476,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
__webpack_unused_export__ = isBot;
exports.Nf = userAgentFromString;
exports.WE = userAgent;
- var _uaParserJs = _interopRequireDefault(__webpack_require__(6166));
+ var _uaParserJs = _interopRequireDefault(__webpack_require__(6204));
function _interopRequireDefault(obj) {
return obj && obj.__esModule
? obj
@@ -2504,7 +2504,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 88: /***/ (__unused_webpack_module, exports) => {
+ /***/ 30: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -2619,14 +2619,14 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
/***/
},
- /***/ 8352: /***/ (module, exports, __webpack_require__) => {
+ /***/ 9541: /***/ (module, exports, __webpack_require__) => {
const serverExports = {
- NextRequest: __webpack_require__(5829).NextRequest,
- NextResponse: __webpack_require__(5277).NextResponse,
+ NextRequest: __webpack_require__(5985).NextRequest,
+ NextResponse: __webpack_require__(5165).NextResponse,
userAgentFromString: __webpack_require__(
- 7873
+ 9132
) /* .userAgentFromString */.Nf,
- userAgent: __webpack_require__(7873) /* .userAgent */.WE
+ userAgent: __webpack_require__(9132) /* .userAgent */.WE
};
if (typeof URLPattern !== "undefined") {
@@ -2652,7 +2652,7 @@ Learn More: https://nextjs.org/docs/messages/node-module-in-edge-runtime`;
// webpackRuntimeModules
/******/ var __webpack_exec__ = moduleId =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ var __webpack_exports__ = __webpack_exec__(7811);
+ /******/ var __webpack_exports__ = __webpack_exec__(6404);
/******/ (_ENTRIES =
typeof _ENTRIES === "undefined"
? {}
Diff for edge-ssr.js
Diff too large to display
Diff for _buildManifest.js
@@ -1,28 +1,28 @@
self.__BUILD_MANIFEST = {
__rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
- "/": ["static\u002Fchunks\u002Fpages\u002Findex-eff379b6d5b9bb68.js"],
- "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-178a994c6aae5c09.js"],
- "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-79fb82e276fb82fc.js"],
+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-2d083d34263a3ab6.js"],
+ "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-d3adcea7db63be0b.js"],
+ "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-dc9ee08f64b26a10.js"],
"/css": [
"static\u002Fcss\u002F94fdbc56eafa2039.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-10d4fc9f36e1f8a8.js"
+ "static\u002Fchunks\u002Fpages\u002Fcss-544d2f643bb52307.js"
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-0651128c47fcba80.js"
+ "static\u002Fchunks\u002Fpages\u002Fdynamic-21b47ee7c34c216c.js"
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-e603e308b21f734e.js"
+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-6e58abff3028d188.js"
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-d124b5fb804544eb.js"],
- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-d1015f6695524a5b.js"],
- "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-0bf75b864827e6da.js"],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-6ea07ed77121154e.js"],
+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-06e10ac8d6cd67db.js"],
+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-cd9108a135578e81.js"],
+ "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-ad480e0ea6b7169b.js"],
+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-0bffdc44a0247b3e.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-6f8978da85fef5eb.js"
+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-1ea8459dd75e3757.js"
],
- "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-56d3ff5faa49811d.js"],
+ "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-178c2ac994fe2199.js"],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-394e599a32dcd7a4.js"
+ "static\u002Fchunks\u002Fpages\u002FwithRouter-27de9f24be6003e9.js"
],
sortedPages: [
"\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[888],
{
- /***/ 3115: /***/ function(
+ /***/ 1113: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/_app",
function() {
- return __webpack_require__(2501);
+ return __webpack_require__(4802);
}
]);
if (false) {
@@ -24,7 +24,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 179], function() {
- return __webpack_exec__(3115), __webpack_exec__(6401);
+ return __webpack_exec__(1113), __webpack_exec__(2385);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[820],
{
- /***/ 5374: /***/ function(
+ /***/ 3363: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/_error",
function() {
- return __webpack_require__(7969);
+ return __webpack_require__(3273);
}
]);
if (false) {
@@ -24,7 +24,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 774, 179], function() {
- return __webpack_exec__(5374);
+ return __webpack_exec__(3363);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for amp-HASH.js
@@ -1,17 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[216],
{
- /***/ 8510: /***/ function(
+ /***/ 8753: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(6464);
+ module.exports = __webpack_require__(9709);
/***/
},
- /***/ 7010: /***/ function(
+ /***/ 5348: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -19,7 +19,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/amp",
function() {
- return __webpack_require__(2461);
+ return __webpack_require__(7503);
}
]);
if (false) {
@@ -28,7 +28,7 @@
/***/
},
- /***/ 6464: /***/ function(module, exports, __webpack_require__) {
+ /***/ 9709: /***/ function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -38,8 +38,8 @@
var _interop_require_default = __webpack_require__(7022) /* ["default"] */
.Z;
var _react = _interop_require_default(__webpack_require__(959));
- var _ampContext = __webpack_require__(1258);
- var _ampMode = __webpack_require__(5976);
+ var _ampContext = __webpack_require__(8373);
+ var _ampMode = __webpack_require__(7380);
function useAmp() {
// Don't assign the context value to a variable to save bytes
return (0, _ampMode).isInAmpMode(
@@ -61,7 +61,7 @@
/***/
},
- /***/ 2461: /***/ function(
+ /***/ 7503: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -78,7 +78,7 @@
/* harmony export */
});
/* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
- 8510
+ 8753
);
/* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
next_amp__WEBPACK_IMPORTED_MODULE_0__
@@ -102,7 +102,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 774, 179], function() {
- return __webpack_exec__(7010);
+ return __webpack_exec__(5348);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[706],
{
- /***/ 860: /***/ function(
+ /***/ 6437: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/css",
function() {
- return __webpack_require__(7832);
+ return __webpack_require__(7135);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 7832: /***/ function(
+ /***/ 7135: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -29,7 +29,7 @@
1527
);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 2707
+ 3934
);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -48,7 +48,7 @@
/***/
},
- /***/ 2707: /***/ function(module) {
+ /***/ 3934: /***/ function(module) {
// extracted by mini-css-extract-plugin
module.exports = { helloWorld: "css_helloWorld__qqNwY" };
@@ -61,7 +61,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(860);
+ return __webpack_exec__(6437);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[739],
{
- /***/ 3995: /***/ function(
+ /***/ 7753: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function() {
- return __webpack_require__(2523);
+ return __webpack_require__(4683);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 2627: /***/ function(module, exports, __webpack_require__) {
+ /***/ 5434: /***/ function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -34,7 +34,7 @@
var _interop_require_default = __webpack_require__(7022) /* ["default"] */
.Z;
var _react = _interop_require_default(__webpack_require__(959));
- var _loadable = _interop_require_default(__webpack_require__(2132));
+ var _loadable = _interop_require_default(__webpack_require__(5682));
function dynamic(dynamicOptions, options) {
var loadableFn = _loadable.default;
var loadableOptions = (options == null
@@ -137,7 +137,7 @@
/***/
},
- /***/ 1685: /***/ function(
+ /***/ 9106: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -159,7 +159,7 @@
/***/
},
- /***/ 2132: /***/ function(
+ /***/ 5682: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -179,7 +179,7 @@
var _interop_require_default = __webpack_require__(7022) /* ["default"] */
.Z;
var _react = _interop_require_default(__webpack_require__(959));
- var _loadableContext = __webpack_require__(1685);
+ var _loadableContext = __webpack_require__(9106);
var useSyncExternalStore = (true ? __webpack_require__(959) : 0)
.useSyncExternalStore;
var ALL_INITIALIZERS = [];
@@ -493,7 +493,7 @@
/***/
},
- /***/ 2523: /***/ function(
+ /***/ 4683: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -510,7 +510,7 @@
1527
);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 6113
+ 2677
);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -519,13 +519,13 @@
var DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
function() {
return __webpack_require__
- .e(/* import() */ 900)
- .then(__webpack_require__.bind(__webpack_require__, 3900));
+ .e(/* import() */ 886)
+ .then(__webpack_require__.bind(__webpack_require__, 5886));
},
{
loadableGenerated: {
webpack: function() {
- return [/*require.resolve*/ 3900];
+ return [/*require.resolve*/ 5886];
}
}
}
@@ -555,12 +555,12 @@
/***/
},
- /***/ 6113: /***/ function(
+ /***/ 2677: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(2627);
+ module.exports = __webpack_require__(5434);
/***/
}
@@ -571,7 +571,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(3995);
+ return __webpack_exec__(7753);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[800],
{
- /***/ 6219: /***/ function(
+ /***/ 6027: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/edge-ssr",
function() {
- return __webpack_require__(7692);
+ return __webpack_require__(3789);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 7692: /***/ function(
+ /***/ 3789: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -54,7 +54,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 774, 179], function() {
- return __webpack_exec__(6219);
+ return __webpack_exec__(6027);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[645],
{
- /***/ 2899: /***/ function(
+ /***/ 6955: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/head",
function() {
- return __webpack_require__(6820);
+ return __webpack_require__(4489);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 6820: /***/ function(
+ /***/ 4489: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -35,7 +35,7 @@
1527
);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 8412
+ 9046
);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -71,12 +71,12 @@
/***/
},
- /***/ 8412: /***/ function(
+ /***/ 9046: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(8684);
+ module.exports = __webpack_require__(1453);
/***/
}
@@ -87,7 +87,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(2899);
+ return __webpack_exec__(6955);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[757],
{
- /***/ 2304: /***/ function(
+ /***/ 7819: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/hooks",
function() {
- return __webpack_require__(7679);
+ return __webpack_require__(5372);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 7679: /***/ function(
+ /***/ 5372: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -132,7 +132,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(2304);
+ return __webpack_exec__(7819);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -26,7 +26,7 @@
/***/
},
- /***/ 5885: /***/ function(
+ /***/ 801: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -34,7 +34,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/image",
function() {
- return __webpack_require__(7547);
+ return __webpack_require__(6913);
}
]);
if (false) {
@@ -43,7 +43,7 @@
/***/
},
- /***/ 3200: /***/ function(module, exports, __webpack_require__) {
+ /***/ 206: /***/ function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -66,12 +66,12 @@
5997
) /* ["default"] */.Z;
var _react = _interop_require_wildcard(__webpack_require__(959));
- var _head = _interop_require_default(__webpack_require__(8684));
- var _imageConfig = __webpack_require__(5732);
- var _useIntersection = __webpack_require__(157);
- var _imageConfigContext = __webpack_require__(891);
- var _utils = __webpack_require__(7944);
- var _normalizeTrailingSlash = __webpack_require__(3912);
+ var _head = _interop_require_default(__webpack_require__(1453));
+ var _imageConfig = __webpack_require__(4188);
+ var _useIntersection = __webpack_require__(4422);
+ var _imageConfigContext = __webpack_require__(7971);
+ var _utils = __webpack_require__(8858);
+ var _normalizeTrailingSlash = __webpack_require__(5289);
function Image(_param) {
var src = _param.src,
sizes = _param.sizes,
@@ -927,7 +927,7 @@
/***/
},
- /***/ 157: /***/ function(module, exports, __webpack_require__) {
+ /***/ 4422: /***/ function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -939,7 +939,7 @@
});
exports.useIntersection = useIntersection;
var _react = __webpack_require__(959);
- var _requestIdleCallback = __webpack_require__(9186);
+ var _requestIdleCallback = __webpack_require__(2398);
var hasIntersectionObserver = typeof IntersectionObserver === "function";
var observers = new Map();
var idList = [];
@@ -1064,7 +1064,7 @@
/***/
},
- /***/ 7547: /***/ function(
+ /***/ 6913: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -1085,8 +1085,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(1527);
- // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+main-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/image.js
- var next_image = __webpack_require__(3960);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/file+..+diff-repo+packages+next+next-packed.tgz_biqbaboplfbrettd7655fr4n2y/node_modules/next/image.js
+ var next_image = __webpack_require__(8249);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // CONCATENATED MODULE: ./pages/nextjs.png
/* harmony default export */ var nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -1116,12 +1116,12 @@
/***/
},
- /***/ 3960: /***/ function(
+ /***/ 8249: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(3200);
+ module.exports = __webpack_require__(206);
/***/
}
@@ -1132,7 +1132,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(5885);
+ return __webpack_exec__(801);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for index-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[405],
{
- /***/ 3558: /***/ function(
+ /***/ 6481: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/",
function() {
- return __webpack_require__(80);
+ return __webpack_require__(5376);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 80: /***/ function(
+ /***/ 5376: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -46,7 +46,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [888, 774, 179], function() {
- return __webpack_exec__(3558);
+ return __webpack_exec__(6481);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[644],
{
- /***/ 8662: /***/ function(
+ /***/ 7014: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/link",
function() {
- return __webpack_require__(1269);
+ return __webpack_require__(1226);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 6999: /***/ function(module, exports) {
+ /***/ 7173: /***/ function(module, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -54,7 +54,7 @@
/***/
},
- /***/ 8036: /***/ function(module, exports, __webpack_require__) {
+ /***/ 404: /***/ function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -72,13 +72,13 @@
5997
) /* ["default"] */.Z;
var _react = _interop_require_default(__webpack_require__(959));
- var _router = __webpack_require__(319);
- var _addLocale = __webpack_require__(2421);
- var _routerContext = __webpack_require__(3977);
- var _appRouterContext = __webpack_require__(8766);
- var _useIntersection = __webpack_require__(157);
- var _getDomainLocale = __webpack_require__(6999);
- var _addBasePath = __webpack_require__(6526);
+ var _router = __webpack_require__(8107);
+ var _addLocale = __webpack_require__(7543);
+ var _routerContext = __webpack_require__(9303);
+ var _appRouterContext = __webpack_require__(7500);
+ var _useIntersection = __webpack_require__(4422);
+ var _getDomainLocale = __webpack_require__(7173);
+ var _addBasePath = __webpack_require__(2851);
var prefetched = {};
function prefetch(router, href, as, options) {
if (false || !router) return;
@@ -423,7 +423,7 @@
/***/
},
- /***/ 157: /***/ function(module, exports, __webpack_require__) {
+ /***/ 4422: /***/ function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -435,7 +435,7 @@
});
exports.useIntersection = useIntersection;
var _react = __webpack_require__(959);
- var _requestIdleCallback = __webpack_require__(9186);
+ var _requestIdleCallback = __webpack_require__(2398);
var hasIntersectionObserver = typeof IntersectionObserver === "function";
var observers = new Map();
var idList = [];
@@ -560,7 +560,7 @@
/***/
},
- /***/ 8766: /***/ function(
+ /***/ 7500: /***/ function(
__unused_webpack_module,
exports,
__webpack_require__
@@ -588,7 +588,7 @@
/***/
},
- /***/ 1269: /***/ function(
+ /***/ 1226: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -605,7 +605,7 @@
1527
);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 4595
+ 9495
);
/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -636,12 +636,12 @@
/***/
},
- /***/ 4595: /***/ function(
+ /***/ 9495: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(8036);
+ module.exports = __webpack_require__(404);
/***/
}
@@ -652,7 +652,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(8662);
+ return __webpack_exec__(7014);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[58],
{
- /***/ 2188: /***/ function(
+ /***/ 7288: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/routerDirect",
function() {
- return __webpack_require__(6938);
+ return __webpack_require__(6018);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 6938: /***/ function(
+ /***/ 6018: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -35,7 +35,7 @@
1527
);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 5866
+ 5664
);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -56,12 +56,12 @@
/***/
},
- /***/ 5866: /***/ function(
+ /***/ 5664: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(6401);
+ module.exports = __webpack_require__(2385);
/***/
}
@@ -72,7 +72,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(2188);
+ return __webpack_exec__(7288);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[797],
{
- /***/ 1136: /***/ function(
+ /***/ 6695: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/script",
function() {
- return __webpack_require__(3560);
+ return __webpack_require__(4237);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 3560: /***/ function(
+ /***/ 4237: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -35,7 +35,7 @@
1527
);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 9096
+ 6071
);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -70,12 +70,12 @@
/***/
},
- /***/ 9096: /***/ function(
+ /***/ 6071: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(9142);
+ module.exports = __webpack_require__(1149);
/***/
}
@@ -86,7 +86,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(1136);
+ return __webpack_exec__(6695);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[807],
{
- /***/ 3551: /***/ function(
+ /***/ 8118: /***/ function(
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -9,7 +9,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/withRouter",
function() {
- return __webpack_require__(6216);
+ return __webpack_require__(3622);
}
]);
if (false) {
@@ -18,7 +18,7 @@
/***/
},
- /***/ 6216: /***/ function(
+ /***/ 3622: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -35,7 +35,7 @@
1527
);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
- 5866
+ 5664
);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -54,12 +54,12 @@
/***/
},
- /***/ 5866: /***/ function(
+ /***/ 5664: /***/ function(
module,
__unused_webpack_exports,
__webpack_require__
) {
- module.exports = __webpack_require__(6401);
+ module.exports = __webpack_require__(2385);
/***/
}
@@ -70,7 +70,7 @@
return __webpack_require__((__webpack_require__.s = moduleId));
};
/******/ __webpack_require__.O(0, [774, 888, 179], function() {
- return __webpack_exec__(3551);
+ return __webpack_exec__(8118);
});
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 900.HASH.js
@@ -1,8 +1,8 @@
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
- [900],
+ [886],
{
- /***/ 3900: /***/ function(
+ /***/ 5886: /***/ function(
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
Diff for main-HASH.js
Diff too large to display
Diff for webpack-HASH.js
@@ -159,7 +159,7 @@
/******/ __webpack_require__.u = function(chunkId) {
/******/ // return url for filenames based on template
/******/ return (
- "static/chunks/" + chunkId + "." + "f01fcc2109adde55" + ".js"
+ "static/chunks/" + chunkId + "." + "b879335d00f271d1" + ".js"
);
/******/
};
Diff for index.html
@@ -11,7 +11,7 @@
src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
></script>
<script
- src="/_next/static/chunks/webpack-596ddb9e5090dbce.js"
+ src="/_next/static/chunks/webpack-752e2e86747c1b07.js"
defer=""
></script>
<script
@@ -19,15 +19,15 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-973715a7fb162c3a.js"
+ src="/_next/static/chunks/main-8bdfa4a832fbf4d5.js"
defer=""
></script>
<script
- src="/_next/static/chunks/pages/_app-92c368fd6cf3735d.js"
+ src="/_next/static/chunks/pages/_app-dfaef6942d774f42.js"
defer=""
></script>
<script
- src="/_next/static/chunks/pages/index-eff379b6d5b9bb68.js"
+ src="/_next/static/chunks/pages/index-2d083d34263a3ab6.js"
defer=""
></script>
<script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for link.html
@@ -11,7 +11,7 @@
src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
></script>
<script
- src="/_next/static/chunks/webpack-596ddb9e5090dbce.js"
+ src="/_next/static/chunks/webpack-752e2e86747c1b07.js"
defer=""
></script>
<script
@@ -19,15 +19,15 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-973715a7fb162c3a.js"
+ src="/_next/static/chunks/main-8bdfa4a832fbf4d5.js"
defer=""
></script>
<script
- src="/_next/static/chunks/pages/_app-92c368fd6cf3735d.js"
+ src="/_next/static/chunks/pages/_app-dfaef6942d774f42.js"
defer=""
></script>
<script
- src="/_next/static/chunks/pages/link-6ea07ed77121154e.js"
+ src="/_next/static/chunks/pages/link-0bffdc44a0247b3e.js"
defer=""
></script>
<script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -11,7 +11,7 @@
src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
></script>
<script
- src="/_next/static/chunks/webpack-596ddb9e5090dbce.js"
+ src="/_next/static/chunks/webpack-752e2e86747c1b07.js"
defer=""
></script>
<script
@@ -19,15 +19,15 @@
defer=""
></script>
<script
- src="/_next/static/chunks/main-973715a7fb162c3a.js"
+ src="/_next/static/chunks/main-8bdfa4a832fbf4d5.js"
defer=""
></script>
<script
- src="/_next/static/chunks/pages/_app-92c368fd6cf3735d.js"
+ src="/_next/static/chunks/pages/_app-dfaef6942d774f42.js"
defer=""
></script>
<script
- src="/_next/static/chunks/pages/withRouter-394e599a32dcd7a4.js"
+ src="/_next/static/chunks/pages/withRouter-27de9f24be6003e9.js"
defer=""
></script>
<script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Default Build with SWC (Increase detected ⚠️)
General Overall increase ⚠️
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| buildDuration | 25.6s | 25.3s | -370ms |
| buildDurationCached | 7.8s | 7.8s | -51ms |
| nodeModulesSize | 74.2 MB | 74.2 MB | ✓ |
| nextStartRea..uration (ms) | 296ms | 299ms | ⚠️ +3ms |
| nextDevReadyDuration | 320ms | 331ms | ⚠️ +11ms |
Page Load Tests Overall increase ✓
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 9.493 | 9.314 | -0.18 |
| / avg req/sec | 263.35 | 268.41 | +5.06 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 6.332 | 6.311 | -0.02 |
| /error-in-render avg req/sec | 394.82 | 396.13 | +1.31 |
Client Bundles (main, webpack) Overall decrease ✓
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| 900.HASH.js gzip | 179 B | 179 B | ✓ |
| framework-HASH.js gzip | 45.5 kB | 45.5 kB | ✓ |
| main-HASH.js gzip | 30.9 kB | 30.9 kB | -26 B |
| webpack-HASH.js gzip | 1.52 kB | 1.52 kB | ⚠️ +1 B |
| Overall change | 78.1 kB | 78.1 kB | -25 B |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages Overall increase ⚠️
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 194 B | 195 B | ⚠️ +1 B |
| _error-HASH.js gzip | 182 B | 182 B | ✓ |
| amp-HASH.js gzip | 481 B | 483 B | ⚠️ +2 B |
| css-HASH.js gzip | 323 B | 324 B | ⚠️ +1 B |
| dynamic-HASH.js gzip | 2.01 kB | 2.01 kB | ✓ |
| edge-ssr-HASH.js gzip | 278 B | 278 B | ✓ |
| head-HASH.js gzip | 351 B | 351 B | ✓ |
| hooks-HASH.js gzip | 781 B | 780 B | -1 B |
| image-HASH.js gzip | 4.8 kB | 4.8 kB | -4 B |
| index-HASH.js gzip | 256 B | 259 B | ⚠️ +3 B |
| link-HASH.js gzip | 2.35 kB | 2.35 kB | -2 B |
| routerDirect..HASH.js gzip | 312 B | 312 B | ✓ |
| script-HASH.js gzip | 385 B | 386 B | ⚠️ +1 B |
| withRouter-HASH.js gzip | 309 B | 309 B | ✓ |
| 85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
| Overall change | 13.1 kB | 13.1 kB | ⚠️ +1 B |
Client Build Manifests Overall increase ⚠️
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 482 B | 485 B | ⚠️ +3 B |
| Overall change | 482 B | 485 B | ⚠️ +3 B |
Rendered Page Sizes Overall decrease ✓
| vercel/next.js canary | vercel/next.js chore/add-build-to-eslint-plugin-next | Change | |
|---|---|---|---|
| index.html gzip | 512 B | 511 B | -1 B |
| link.html gzip | 525 B | 524 B | -1 B |
| withRouter.html gzip | 506 B | 505 B | -1 B |
| Overall change | 1.54 kB | 1.54 kB | -3 B |
Edge SSR Page bundle Size Overall decrease ✓
Failing test suites
Commit: 49ea9adb4d3ee31dc188b5c647c971c99b426495
pnpm testheadless test/integration/eslint/test/index.test.js
- ESLint > Next Build > shows warnings and errors
- ESLint > Next Build > base directories are linted by default during builds
- ESLint > Next Build > custom directories
- ESLint > Next Build > empty directories do not fail the build
- ESLint > Next Build > eslint ignored directories do not fail the build
- ESLint > Next Build > eslint caching is enabled
- ESLint > Next Build > eslint cache lives in the user defined build directory
- ESLint > Next Lint > shows warnings and errors
- ESLint > Next Lint > base directories are linted by default
- ESLint > Next Lint > shows warnings and errors with next/core-web-vitals config
- ESLint > Next Lint > shows warnings and errors when extending plugin recommended config
- ESLint > Next Lint > shows warnings and errors when extending plugin core-web-vitals config
- ESLint > Next Lint > success message when no warnings or errors
- ESLint > Next Lint > quiet flag suppresses warnings and only reports errors
- ESLint > Next Lint > custom directories
- ESLint > Next Lint > max warnings flag errors when warnings exceed threshold
- ESLint > Next Lint > max warnings flag does not error when warnings do not exceed threshold
- ESLint > Next Lint > format flag supports additional user-defined formats
- ESLint > Next Lint > eslint caching is enabled by default
- ESLint > Next Lint > eslint caching is disabled with the --no-cache flag
- ESLint > Next Lint > the default eslint cache lives in the user defined build directory
- ESLint > Next Lint > the --cache-location flag allows the user to define a separate cache location
- ESLint > Next Lint > the default eslint caching strategy is metadata
- ESLint > Next Lint > cache with content strategy is different from the one with default strategy
- ESLint > Next Lint > file flag can selectively lint only a single file
- ESLint > Next Lint > file flag can selectively lints multiple files
- ESLint > Next Lint > output flag create a file respecting the chosen format
- ESLint > Next Lint > output flag create a file respecting the chosen format
- ESLint > Next Lint > show error message when the file path is a directory
Expand output
● ESLint › Next Build › shows warnings and errors
expect(received).toContain(expected) // indexOf
Expected substring: "Warning: Synchronous scripts should not be used."
Received string: "info - Linting and checking validity of types...
info - Creating an optimized production build...
info - Using locally built binary of @next/swc
info - Compiled successfully
info - Collecting page data...
info - Generating static pages (0/3)
info - Generating static pages (3/3)
info - Finalizing page optimization...·
Route (pages) Size First Load JS
┌ ○ / 316 B 77.2 kB
└ ○ /404 195 B 77.1 kB
+ First Load JS shared by all 76.9 kB
├ chunks/framework-75ec34940eea6891.js 45.2 kB
├ chunks/main-0c890c2fa3fc9ff0.js 30.7 kB
├ chunks/pages/_app-f7bb5cb35ab407c3.js 202 B
└ chunks/webpack-05b8c18cdbe0b397.js 688 B·
○ (Static) automatically rendered as static HTML (uses no initial props)·
error - ESLint: Error while loading rule '@next/next/no-img-element': rule.create is not a function Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/custom-config/pages/index.js
"
60 |
61 | const output = stdout + stderr
> 62 | expect(output).toContain(
| ^
63 | 'Warning: Synchronous scripts should not be used.'
64 | )
65 | expect(output).toContain(
at Object.<anonymous> (integration/eslint/test/index.test.js:62:22)
● ESLint › Next Build › base directories are linted by default during builds
expect(received).toContain(expected) // indexOf
Expected substring: "Failed to compile"
Received string: "info - Linting and checking validity of types...
info - Creating an optimized production build...
info - Using locally built binary of @next/swc
info - Compiled successfully
info - Collecting page data...
info - Generating static pages (0/2)
info - Generating static pages (2/2)
info - Finalizing page optimization...·
Route (pages) Size First Load JS
─ ○ /404 195 B 76.9 kB
+ First Load JS shared by all 76.7 kB
├ chunks/framework-fdd4eda6c8e986e5.js 45.1 kB
├ chunks/main-0c890c2fa3fc9ff0.js 30.7 kB
├ chunks/pages/_app-f7bb5cb35ab407c3.js 202 B
└ chunks/webpack-7d0ef319438b7284.js 610 B·
○ (Static) automatically rendered as static HTML (uses no initial props)·
error - ESLint: Error while loading rule '@next/next/no-img-element': rule.create is not a function Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/base-directories/pages/_document.js
"
89 | const output = stdout + stderr
90 |
> 91 | expect(output).toContain('Failed to compile')
| ^
92 | expect(output).toContain(
93 | 'Error: `next/head` should not be imported in `pages/_document.js`. Use `<Head />` from `next/document` instead'
94 | )
at Object.<anonymous> (integration/eslint/test/index.test.js:91:22)
● ESLint › Next Build › custom directories
expect(received).toContain(expected) // indexOf
Expected substring: "Failed to compile"
Received string: "info - Linting and checking validity of types...
info - Creating an optimized production build...
info - Using locally built binary of @next/swc
info - Compiled successfully
info - Collecting page data...
info - Generating static pages (0/3)
info - Generating static pages (3/3)
info - Finalizing page optimization...·
Route (pages) Size First Load JS
┌ ○ / 288 B 77.2 kB
└ ○ /404 195 B 77.1 kB
+ First Load JS shared by all 76.9 kB
├ chunks/framework-75ec34940eea6891.js 45.2 kB
├ chunks/main-0c890c2fa3fc9ff0.js 30.7 kB
├ chunks/pages/_app-f7bb5cb35ab407c3.js 202 B
└ chunks/webpack-05b8c18cdbe0b397.js 688 B·
○ (Static) automatically rendered as static HTML (uses no initial props)·
error - ESLint: Error while loading rule '@next/next/no-img-element': rule.create is not a function Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/custom-directories/utils/index.js
"
115 |
116 | const output = stdout + stderr
> 117 | expect(output).toContain('Failed to compile')
| ^
118 | expect(output).toContain(
119 | 'Error: Comments inside children section of tag should be placed inside braces'
120 | )
at Object.<anonymous> (integration/eslint/test/index.test.js:117:22)
● ESLint › Next Build › empty directories do not fail the build
expect(received).toContain(expected) // indexOf
Expected substring: "Warning: Synchronous scripts should not be used."
Received string: "info - Linting and checking validity of types...
info - Creating an optimized production build...
info - Using locally built binary of @next/swc
info - Compiled successfully
info - Collecting page data...
info - Generating static pages (0/3)
info - Generating static pages (3/3)
info - Finalizing page optimization...·
Route (pages) Size First Load JS
┌ ○ / 294 B 77.2 kB
└ ○ /404 195 B 77.1 kB
+ First Load JS shared by all 76.9 kB
├ chunks/framework-75ec34940eea6891.js 45.2 kB
├ chunks/main-0c890c2fa3fc9ff0.js 30.7 kB
├ chunks/pages/_app-f7bb5cb35ab407c3.js 202 B
└ chunks/webpack-05b8c18cdbe0b397.js 688 B·
○ (Static) automatically rendered as static HTML (uses no initial props)·
error - ESLint: Error while loading rule '@next/next/no-img-element': rule.create is not a function Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/empty-directory/pages/index.js
"
149 | expect(output).not.toContain('Build error occurred')
150 | expect(output).not.toContain('NoFilesFoundError')
> 151 | expect(output).toContain(
| ^
152 | 'Warning: Synchronous scripts should not be used.'
153 | )
154 | expect(output).toContain('Compiled successfully')
at Object.<anonymous> (integration/eslint/test/index.test.js:151:22)
● ESLint › Next Build › eslint ignored directories do not fail the build
expect(received).toContain(expected) // indexOf
Expected substring: "Warning: Synchronous scripts should not be used."
Received string: "info - Linting and checking validity of types...
info - Creating an optimized production build...
info - Using locally built binary of @next/swc
info - Compiled successfully
info - Collecting page data...
info - Generating static pages (0/3)
info - Generating static pages (3/3)
info - Finalizing page optimization...·
Route (pages) Size First Load JS
┌ ○ / 294 B 77.2 kB
└ ○ /404 195 B 77.1 kB
+ First Load JS shared by all 76.9 kB
├ chunks/framework-75ec34940eea6891.js 45.2 kB
├ chunks/main-0c890c2fa3fc9ff0.js 30.7 kB
├ chunks/pages/_app-f7bb5cb35ab407c3.js 202 B
└ chunks/webpack-05b8c18cdbe0b397.js 688 B·
○ (Static) automatically rendered as static HTML (uses no initial props)·
error - ESLint: Error while loading rule '@next/next/no-img-element': rule.create is not a function Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/eslint-ignore/pages/index.js
"
164 | expect(output).not.toContain('Build error occurred')
165 | expect(output).not.toContain('AllFilesIgnoredError')
> 166 | expect(output).toContain(
| ^
167 | 'Warning: Synchronous scripts should not be used.'
168 | )
169 | expect(output).toContain('Compiled successfully')
at Object.<anonymous> (integration/eslint/test/index.test.js:166:22)
● ESLint › Next Build › eslint caching is enabled
ENOENT: no such file or directory, scandir '/home/runner/work/next.js/next.js/test/integration/eslint/eslint-cache/.next/cache/eslint/'
● ESLint › Next Build › eslint cache lives in the user defined build directory
ENOENT: no such file or directory, scandir '/home/runner/work/next.js/next.js/test/integration/eslint/eslint-cache-custom-dir/build/cache/eslint/'
● ESLint › Next Lint › shows warnings and errors
expect(received).toContain(expected) // indexOf
Expected substring: "Warning: Synchronous scripts should not be used."
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/custom-config/pages/index.js
"
308 |
309 | const output = stdout + stderr
> 310 | expect(output).toContain(
| ^
311 | 'Warning: Synchronous scripts should not be used.'
312 | )
313 | expect(output).toContain(
at Object.<anonymous> (integration/eslint/test/index.test.js:310:22)
● ESLint › Next Lint › base directories are linted by default
expect(received).toContain(expected) // indexOf
Expected substring: "Error: `next/head` should not be imported in `pages/_document.js`. Use `<Head />` from `next/document` instead"
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/base-directories/pages/_document.js
"
323 |
324 | const output = stdout + stderr
> 325 | expect(output).toContain(
| ^
326 | 'Error: `next/head` should not be imported in `pages/_document.js`. Use `<Head />` from `next/document` instead'
327 | )
328 | expect(output).toContain(
at Object.<anonymous> (integration/eslint/test/index.test.js:325:22)
● ESLint › Next Lint › shows warnings and errors with next/core-web-vitals config
expect(received).toContain(expected) // indexOf
Expected substring: "Warning: Do not use `<img>` element. Use `<Image />` from `next/image` instead."
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/config-core-web-vitals/pages/index.js
"
348 |
349 | const output = stdout + stderr
> 350 | expect(output).toContain(
| ^
351 | 'Warning: Do not use `<img>` element. Use `<Image />` from `next/image` instead.'
352 | )
353 | expect(output).toContain('Error: Synchronous scripts should not be used.')
at Object.<anonymous> (integration/eslint/test/index.test.js:350:22)
● ESLint › Next Lint › shows warnings and errors when extending plugin recommended config
expect(received).toContain(expected) // indexOf
Expected substring: "Warning: Synchronous scripts should not be used."
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/plugin-recommended-config/pages/index.js
"
365 |
366 | const output = stdout + stderr
> 367 | expect(output).toContain(
| ^
368 | 'Warning: Synchronous scripts should not be used.'
369 | )
370 | expect(output).toContain(
at Object.<anonymous> (integration/eslint/test/index.test.js:367:22)
● ESLint › Next Lint › shows warnings and errors when extending plugin core-web-vitals config
expect(received).toContain(expected) // indexOf
Expected substring: "Warning: Do not use `<img>` element. Use `<Image />` from `next/image` instead."
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/plugin-core-web-vitals-config/pages/index.js
"
384 |
385 | const output = stdout + stderr
> 386 | expect(output).toContain(
| ^
387 | 'Warning: Do not use `<img>` element. Use `<Image />` from `next/image` instead.'
388 | )
389 | expect(output).toContain('Error: Synchronous scripts should not be used.')
at Object.<anonymous> (integration/eslint/test/index.test.js:386:22)
● ESLint › Next Lint › success message when no warnings or errors
expect(received).toContain(expected) // indexOf
Expected substring: "No ESLint warnings or errors"
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/first-time-setup/pages/index.js
"
400 |
401 | const output = stdout + stderr
> 402 | expect(output).toContain('No ESLint warnings or errors')
| ^
403 | })
404 |
405 | test("don't create .eslintrc file if package.json has eslintConfig field", async () => {
at Object.<anonymous> (integration/eslint/test/index.test.js:402:22)
● ESLint › Next Lint › quiet flag suppresses warnings and only reports errors
expect(received).toContain(expected) // indexOf
Expected substring: "Error: Comments inside children section of tag should be placed inside braces"
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/custom-config/pages/index.js
"
449 |
450 | const output = stdout + stderr
> 451 | expect(output).toContain(
| ^
452 | 'Error: Comments inside children section of tag should be placed inside braces'
453 | )
454 | expect(output).not.toContain(
at Object.<anonymous> (integration/eslint/test/index.test.js:451:22)
● ESLint › Next Lint › custom directories
expect(received).toContain(expected) // indexOf
Expected substring: "Error: Comments inside children section of tag should be placed inside braces"
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/custom-directories/utils/index.js
"
464 |
465 | const output = stdout + stderr
> 466 | expect(output).toContain(
| ^
467 | 'Error: Comments inside children section of tag should be placed inside braces'
468 | )
469 | expect(output).toContain(
at Object.<anonymous> (integration/eslint/test/index.test.js:466:22)
● ESLint › Next Lint › max warnings flag errors when warnings exceed threshold
expect(received).toContain(expected) // indexOf
Expected substring: "Warning: Synchronous scripts should not be used."
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/max-warnings/pages/about.js
"
483 |
484 | expect(stderr).not.toEqual('')
> 485 | expect(stderr).toContain(
| ^
486 | 'Warning: Synchronous scripts should not be used.'
487 | )
488 | expect(stdout).not.toContain(
at Object.<anonymous> (integration/eslint/test/index.test.js:485:22)
● ESLint › Next Lint › max warnings flag does not error when warnings do not exceed threshold
expect(received).toEqual(expected) // deep equality
Expected: ""
Received: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/max-warnings/pages/about.js
"
501 | )
502 |
> 503 | expect(stderr).toEqual('')
| ^
504 | expect(stderr).not.toContain(
505 | 'Warning: Synchronous scripts should not be used.'
506 | )
at Object.<anonymous> (integration/eslint/test/index.test.js:503:22)
● ESLint › Next Lint › format flag supports additional user-defined formats
expect(received).toContain(expected) // indexOf
Expected substring: "warning: Synchronous scripts should not be used."
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/max-warnings/pages/about.js
"
521 |
522 | const output = stdout + stderr
> 523 | expect(output).toContain(
| ^
524 | 'warning: Synchronous scripts should not be used.'
525 | )
526 | expect(stdout).toContain('<script src="https://example.com" />')
at Object.<anonymous> (integration/eslint/test/index.test.js:523:22)
● ESLint › Next Lint › eslint caching is enabled by default
command failed with code 1
Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/eslint-cache/pages/index.js
218 | ) {
219 | return reject(
> 220 | new Error(`command failed with code ${code}\n${mergedStdio}`)
| ^
221 | )
222 | }
223 |
at ChildProcess.<anonymous> (lib/next-test-utils.js:220:11)
● ESLint › Next Lint › eslint caching is disabled with the --no-cache flag
command failed with code 1
Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/eslint-cache/pages/index.js
218 | ) {
219 | return reject(
> 220 | new Error(`command failed with code ${code}\n${mergedStdio}`)
| ^
221 | )
222 | }
223 |
at ChildProcess.<anonymous> (lib/next-test-utils.js:220:11)
● ESLint › Next Lint › the default eslint cache lives in the user defined build directory
command failed with code 1
Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/eslint-cache-custom-dir/pages/index.js
218 | ) {
219 | return reject(
> 220 | new Error(`command failed with code ${code}\n${mergedStdio}`)
| ^
221 | )
222 | }
223 |
at ChildProcess.<anonymous> (lib/next-test-utils.js:220:11)
● ESLint › Next Lint › the --cache-location flag allows the user to define a separate cache location
command failed with code 1
Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/eslint-cache/pages/index.js
218 | ) {
219 | return reject(
> 220 | new Error(`command failed with code ${code}\n${mergedStdio}`)
| ^
221 | )
222 | }
223 |
at ChildProcess.<anonymous> (lib/next-test-utils.js:220:11)
● ESLint › Next Lint › the default eslint caching strategy is metadata
command failed with code 1
Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/eslint-cache/pages/index.js
218 | ) {
219 | return reject(
> 220 | new Error(`command failed with code ${code}\n${mergedStdio}`)
| ^
221 | )
222 | }
223 |
at ChildProcess.<anonymous> (lib/next-test-utils.js:220:11)
● ESLint › Next Lint › cache with content strategy is different from the one with default strategy
command failed with code 1
Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/eslint-cache/pages/index.js
218 | ) {
219 | return reject(
> 220 | new Error(`command failed with code ${code}\n${mergedStdio}`)
| ^
221 | )
222 | }
223 |
at ChildProcess.<anonymous> (lib/next-test-utils.js:220:11)
● ESLint › Next Lint › file flag can selectively lint only a single file
expect(received).toContain(expected) // indexOf
Expected substring: "Comments inside children section of tag should be placed inside braces"
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/file-linting/utils/math.js
"
631 |
632 | expect(output).toContain('utils/math.js')
> 633 | expect(output).toContain(
| ^
634 | 'Comments inside children section of tag should be placed inside braces'
635 | )
636 |
at Object.<anonymous> (integration/eslint/test/index.test.js:633:22)
● ESLint › Next Lint › file flag can selectively lints multiple files
expect(received).toContain(expected) // indexOf
Expected substring: "Comments inside children section of tag should be placed inside braces"
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/file-linting/utils/math.js
"
652 |
653 | expect(output).toContain('utils/math.js')
> 654 | expect(output).toContain(
| ^
655 | 'Comments inside children section of tag should be placed inside braces'
656 | )
657 |
at Object.<anonymous> (integration/eslint/test/index.test.js:654:22)
● ESLint › Next Lint › output flag create a file respecting the chosen format
ENOENT: no such file or directory, open '/home/runner/work/next.js/next.js/test/integration/eslint/test/output/output.json'
● ESLint › Next Lint › output flag create a file respecting the chosen format
ENOENT: no such file or directory, open '/home/runner/work/next.js/next.js/test/integration/eslint/test/output/output.txt'
731 |
732 | const cliOutput = stdout + stderr
> 733 | const fileOutput = fs.readFileSync(filePath, 'utf8')
| ^
734 |
735 | expect(cliOutput).toContain(
736 | `The output file has been created: ${filePath}`
at Object.<anonymous> (integration/eslint/test/index.test.js:733:29)
● ESLint › Next Lint › show error message when the file path is a directory
expect(received).toContain(expected) // indexOf
Expected substring: "Cannot write to output file path, it is a directory: /home/runner/work/next.js/next.js/test/integration/eslint/test"
Received string: "Error while loading rule '@next/next/no-img-element': rule.create is not a function
Occurred while linting /home/runner/work/next.js/next.js/test/integration/eslint/file-linting/pages/bar.js
"
764 | const cliOutput = stdout + stderr
765 |
> 766 | expect(cliOutput).toContain(
| ^
767 | `Cannot write to output file path, it is a directory: ${filePath}`
768 | )
769 | })
at Object.<anonymous> (integration/eslint/test/index.test.js:766:25)
Read more about building and testing Next.js in contributing.md.
pnpm testheadless test/integration/telemetry/test/index.test.js
- Telemetry CLI > emits telemetry for lint during build
- Telemetry CLI > emits telemetry for
next lint - Telemetry CLI > emits telemetry for usage of swc
Expand output
● Telemetry CLI › emits telemetry for lint during build
TypeError: Cannot read properties of null (reading 'pop')
561 |
562 | const event1 = /NEXT_LINT_CHECK_COMPLETED[\s\S]+?{([\s\S}]+?)^}/m
> 563 | .exec(stderr)
| ^
564 | .pop()
565 |
566 | expect(event1).toMatch(/"durationInSeconds": [\d]{1,}/)
at Object.<anonymous> (integration/telemetry/test/index.test.js:563:20)
● Telemetry CLI › emits telemetry for next lint
TypeError: Cannot read properties of null (reading 'pop')
625 |
626 | const event1 = /NEXT_LINT_CHECK_COMPLETED[\s\S]+?{([\s\S]+?)^}/m
> 627 | .exec(stderr)
| ^
628 | .pop()
629 |
630 | expect(event1).toMatch(/"durationInSeconds": [\d]{1,}/)
at Object.<anonymous> (integration/telemetry/test/index.test.js:627:20)
● Telemetry CLI › emits telemetry for usage of swc
ENOENT: no such file or directory, rename '/home/runner/work/next.js/next.js/test/integration/telemetry/next.config.swc' -> '/home/runner/work/next.js/next.js/test/integration/telemetry/next.config.js'
Read more about building and testing Next.js in contributing.md.
Failing test suites
Commit: b45de36c4604b33e3df7b7db5c90080625668076
pnpm testheadless test/development/basic/hmr.test.ts
- basic HMR > Full reload > should warn about full reload in cli output - runtime-error
Expand output
● basic HMR › Full reload › should warn about full reload in cli output - runtime-error
TIMED OUT: whoops
undefined
519 |
520 | if (hardError) {
> 521 | throw new Error('TIMED OUT: ' + regex + '\n\n' + content)
| ^
522 | }
523 | return false
524 | }
at check (lib/next-test-utils.js:521:11)
at Object.<anonymous> (development/basic/hmr.test.ts:839:7)
Read more about building and testing Next.js in contributing.md.