fix: allow next lint without eslint-config-next installed#29823
fix: allow next lint without eslint-config-next installed#29823timneutkens merged 1 commit intovercel:canaryfrom
next lint without eslint-config-next installed#29823Conversation
Stats from current PRDefault Build (Increase detected
|
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| buildDuration | 16.5s | 16.4s | -91ms |
| buildDurationCached | 3.8s | 4s | |
| nodeModulesSize | 195 MB | 195 MB |
Page Load Tests Overall increase ✓
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 3.894 | 3.829 | -0.06 |
| / avg req/sec | 641.95 | 652.85 | +10.9 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 2.078 | 1.968 | -0.11 |
| /error-in-render avg req/sec | 1203.21 | 1270.03 | +66.82 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| 779.HASH.js gzip | 179 B | 179 B | ✓ |
| framework-HASH.js gzip | 42.2 kB | 42.2 kB | ✓ |
| main-HASH.js gzip | 26.9 kB | 26.9 kB | ✓ |
| webpack-HASH.js gzip | 1.45 kB | 1.45 kB | ✓ |
| Overall change | 70.8 kB | 70.8 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| polyfills-a4..dd70.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 977 B | 977 B | ✓ |
| _error-HASH.js gzip | 194 B | 194 B | ✓ |
| amp-HASH.js gzip | 311 B | 311 B | ✓ |
| css-HASH.js gzip | 328 B | 328 B | ✓ |
| dynamic-HASH.js gzip | 2.67 kB | 2.67 kB | ✓ |
| head-HASH.js gzip | 351 B | 351 B | ✓ |
| hooks-HASH.js gzip | 918 B | 918 B | ✓ |
| image-HASH.js gzip | 4.12 kB | 4.12 kB | ✓ |
| index-HASH.js gzip | 260 B | 260 B | ✓ |
| link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
| routerDirect..HASH.js gzip | 320 B | 320 B | ✓ |
| script-HASH.js gzip | 386 B | 386 B | ✓ |
| withRouter-HASH.js gzip | 319 B | 319 B | ✓ |
| bb14e60e810b..30f.css gzip | 125 B | 125 B | ✓ |
| Overall change | 12.9 kB | 12.9 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 494 B | 494 B | ✓ |
| Overall change | 494 B | 494 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| index.html gzip | 539 B | 539 B | ✓ |
| link.html gzip | 551 B | 551 B | ✓ |
| withRouter.html gzip | 533 B | 533 B | ✓ |
| Overall change | 1.62 kB | 1.62 kB | ✓ |
Default Build with SWC (Decrease detected ✓)
General Overall increase ⚠️
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| buildDuration | 8.2s | 8.3s | |
| buildDurationCached | 3.8s | 3.9s | |
| nodeModulesSize | 195 MB | 195 MB |
Page Load Tests Overall decrease ⚠️
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 3.749 | 3.803 | |
| / avg req/sec | 666.83 | 657.36 | |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.946 | 2.02 | |
| /error-in-render avg req/sec | 1284.9 | 1237.75 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| 675-HASH.js gzip | 13.8 kB | 13.8 kB | ✓ |
| 770.HASH.js gzip | 178 B | 178 B | ✓ |
| framework-HASH.js gzip | 50.7 kB | 50.7 kB | ✓ |
| main-HASH.js gzip | 35 kB | 35 kB | ✓ |
| webpack-HASH.js gzip | 1.64 kB | 1.64 kB | ✓ |
| Overall change | 101 kB | 101 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| polyfills-a4..dd70.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.33 kB | 1.33 kB | ✓ |
| _error-HASH.js gzip | 180 B | 180 B | ✓ |
| amp-HASH.js gzip | 315 B | 315 B | ✓ |
| css-HASH.js gzip | 331 B | 331 B | ✓ |
| dynamic-HASH.js gzip | 2.79 kB | 2.79 kB | ✓ |
| head-HASH.js gzip | 355 B | 355 B | ✓ |
| hooks-HASH.js gzip | 637 B | 637 B | ✓ |
| image-HASH.js gzip | 555 B | 555 B | ✓ |
| index-HASH.js gzip | 261 B | 261 B | ✓ |
| link-HASH.js gzip | 2.22 kB | 2.22 kB | ✓ |
| routerDirect..HASH.js gzip | 326 B | 326 B | ✓ |
| script-HASH.js gzip | 393 B | 393 B | ✓ |
| withRouter-HASH.js gzip | 322 B | 322 B | ✓ |
| bb14e60e810b..30f.css gzip | 125 B | 125 B | ✓ |
| Overall change | 10.1 kB | 10.1 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 511 B | 511 B | ✓ |
| Overall change | 511 B | 511 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | stefanprobst/next.js fix/next-lint-without-config | Change | |
|---|---|---|---|
| index.html gzip | 538 B | 538 B | ✓ |
| link.html gzip | 553 B | 553 B | ✓ |
| withRouter.html gzip | 533 B | 533 B | ✓ |
| Overall change | 1.62 kB | 1.62 kB | ✓ |
|
@housseindjirdeh what do you think about this? |
|
@ijjk any updates on this? |
|
@timneutkens could you maybe have a quick look at this? it's a one-line fix to not crash when using |
housseindjirdeh
left a comment
There was a problem hiding this comment.
This is great, thanks for spotting and fixing (and sorry I didn't see this PR sooner!) ✅
Note, that when @next/eslint-plugin-next is installed, but eslint-config-next is not, no eslint plugin version will be reported with telemetry currently - happy to change that as well.
Yes please, and thank you! We likely want to track @next/eslint-plugin-next instead of the config especially since this PR allows the former to be installed and used without the latter. Feel free to make that change in this PR or in another one 🙏
|
@housseindjirdeh thanks for reviewing! i'll try to find time for a follow-up soon! also, in case you have comments on this rfc #30871 that would be great! |
Running
next-lintwithouteslint-config-nextinstalled currently does not work - error: "The "path" argument must be of type string. Received undefined". This fixes that. see #27981 (comment)Note, that when
@next/eslint-plugin-nextis installed, buteslint-config-nextis not, no eslint plugin version will be reported with telemetry currently - happy to change that as well.Bug
fixes #numbercontributing.mdFeature
fixes #numbercontributing.mdDocumentation / Examples