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
Add .eslintrc.cjs
to list of supported next lint
config files
#35440
Conversation
6532b94
to
d549bdf
Compare
Thanks @jakejarvis! I also bumped into this problem in one project. I usually run It’d be great to see this PR merged! It looks like a bugfix rather than a new feature. Thanks again for your investigation and the patch! |
Would be great to have this merged! In the mean time, I've moved my |
@darichey if you use ESLint directly in CI, you can skip ESLint on Regardless of that, I see no reason why Next.js should not support |
@styfle / @balazsorban44 could you please have a look? 🙏 The change is trivial but useful. |
Stats from current PRDefault BuildGeneral Overall increase
|
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
buildDuration | 15.2s | 15.1s | -147ms |
buildDurationCached | 6s | 6s | -26ms |
nodeModulesSize | 477 MB | 477 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 3.032 | 2.993 | -0.04 |
/ avg req/sec | 824.56 | 835.29 | +10.73 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.173 | 1.177 | 0 |
/error-in-render avg req/sec | 2130.77 | 2124.62 |
Client Bundles (main, webpack)
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
925.HASH.js gzip | 179 B | 179 B | ✓ |
framework-HASH.js gzip | 42 kB | 42 kB | ✓ |
main-HASH.js gzip | 28 kB | 28 kB | ✓ |
webpack-HASH.js gzip | 1.44 kB | 1.44 kB | ✓ |
Overall change | 71.7 kB | 71.7 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
_app-HASH.js gzip | 1.36 kB | 1.36 kB | ✓ |
_error-HASH.js gzip | 192 B | 192 B | ✓ |
amp-HASH.js gzip | 309 B | 309 B | ✓ |
css-HASH.js gzip | 327 B | 327 B | ✓ |
dynamic-HASH.js gzip | 3.05 kB | 3.05 kB | ✓ |
head-HASH.js gzip | 351 B | 351 B | ✓ |
hooks-HASH.js gzip | 920 B | 920 B | ✓ |
image-HASH.js gzip | 5.64 kB | 5.64 kB | ✓ |
index-HASH.js gzip | 263 B | 263 B | ✓ |
link-HASH.js gzip | 2.32 kB | 2.32 kB | ✓ |
routerDirect..HASH.js gzip | 320 B | 320 B | ✓ |
script-HASH.js gzip | 387 B | 387 B | ✓ |
withRouter-HASH.js gzip | 319 B | 319 B | ✓ |
85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
Overall change | 15.9 kB | 15.9 kB | ✓ |
Client Build Manifests
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
_buildManifest.js gzip | 459 B | 459 B | ✓ |
Overall change | 459 B | 459 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
index.html gzip | 530 B | 530 B | ✓ |
link.html gzip | 544 B | 544 B | ✓ |
withRouter.html gzip | 524 B | 524 B | ✓ |
Overall change | 1.6 kB | 1.6 kB | ✓ |
Default Build with SWC (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
buildDuration | 17.8s | 17.8s | -58ms |
buildDurationCached | 6s | 5.9s | -83ms |
nodeModulesSize | 477 MB | 477 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.986 | 3.009 | |
/ avg req/sec | 837.27 | 830.73 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.143 | 1.18 | |
/error-in-render avg req/sec | 2187.08 | 2119.38 |
Client Bundles (main, webpack)
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
925.HASH.js gzip | 178 B | 178 B | ✓ |
framework-HASH.js gzip | 42.3 kB | 42.3 kB | ✓ |
main-HASH.js gzip | 28.3 kB | 28.3 kB | ✓ |
webpack-HASH.js gzip | 1.45 kB | 1.45 kB | ✓ |
Overall change | 72.2 kB | 72.2 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
_app-HASH.js gzip | 1.35 kB | 1.35 kB | ✓ |
_error-HASH.js gzip | 179 B | 179 B | ✓ |
amp-HASH.js gzip | 313 B | 313 B | ✓ |
css-HASH.js gzip | 325 B | 325 B | ✓ |
dynamic-HASH.js gzip | 3.03 kB | 3.03 kB | ✓ |
head-HASH.js gzip | 351 B | 351 B | ✓ |
hooks-HASH.js gzip | 921 B | 921 B | ✓ |
image-HASH.js gzip | 5.7 kB | 5.7 kB | ✓ |
index-HASH.js gzip | 261 B | 261 B | ✓ |
link-HASH.js gzip | 2.38 kB | 2.38 kB | ✓ |
routerDirect..HASH.js gzip | 322 B | 322 B | ✓ |
script-HASH.js gzip | 388 B | 388 B | ✓ |
withRouter-HASH.js gzip | 317 B | 317 B | ✓ |
85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
Overall change | 15.9 kB | 15.9 kB | ✓ |
Client Build Manifests
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
_buildManifest.js gzip | 459 B | 459 B | ✓ |
Overall change | 459 B | 459 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | jakejarvis/next.js eslintrc-cjs | Change | |
---|---|---|---|
index.html gzip | 532 B | 532 B | ✓ |
link.html gzip | 545 B | 545 B | ✓ |
withRouter.html gzip | 527 B | 527 B | ✓ |
Overall change | 1.6 kB | 1.6 kB | ✓ |
…rcel#35440) The logic for finding a user's custom `.eslintrc` config file is missing a check for `.eslintrc.cjs`, which is listed as one of the valid filenames in ESLint's docs: https://eslint.org/docs/user-guide/configuring/configuration-files#configuration-file-formats ...so this PR makes `next lint`'s list of possible config files consistent with ESLint's. I stumbled upon this when trying to rename my own config file, since I've pretty much moved completely to ESM by now... but [ESLint doesn't support modules yet](eslint/eslint#14137 (comment)), so renaming the file to `.cjs` just keeps things cleaner (and VS Code happier). This is my first PR here so even though I've only changed a couple of lines, please let me know if I'm overlooking something! 😊 ## Bug - [ ] Related issues linked using `fixes #number` - [x] Integration tests added - [ ] Errors have helpful link attached, see `contributing.md`
The logic for finding a user's custom
.eslintrc
config file is missing a check for.eslintrc.cjs
, which is listed as one of the valid filenames in ESLint's docs:https://eslint.org/docs/user-guide/configuring/configuration-files#configuration-file-formats
...so this PR makes
next lint
's list of possible config files consistent with ESLint's.I stumbled upon this when trying to rename my own config file, since I've pretty much moved completely to ESM by now... but ESLint doesn't support modules yet, so renaming the file to
.cjs
just keeps things cleaner (and VS Code happier). This is my first PR here so even though I've only changed a couple of lines, please let me know if I'm overlooking something! 😊Bug
fixes #number
contributing.md