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
[ESLint] Disallow <Script /> inside _document.js & <Script /> inside the next/head component #27257
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This test fails because ESLint is gonna give an error but I'm not sure why |
This comment has been minimized.
This comment has been minimized.
Co-authored-by: stefanprobst <stefan.probst@univie.ac.at>
…t_script_rules
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Steven <steven@ceriously.com>
Failing test suitesCommit: 7650652 test/eslint-plugin-next/no-script-in-head.test.js
Expand output● no-script-in-head › invalid ›
|
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, thanks!
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@styfle Should I keep the PR up to date when merge conflicts occur? |
This comment has been minimized.
This comment has been minimized.
Stats from current PRDefault Build (Decrease detected ✓)General
Page Load Tests Overall decrease
|
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 3.062 | 3.14 | |
/ avg req/sec | 816.43 | 796.17 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.941 | 1.922 | -0.02 |
/error-in-render avg req/sec | 1288.23 | 1300.62 | +12.39 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
745.HASH.js gzip | 179 B | 179 B | ✓ |
framework-HASH.js gzip | 42.2 kB | 42.2 kB | ✓ |
main-HASH.js gzip | 23.1 kB | 23.1 kB | ✓ |
webpack-HASH.js gzip | 1.44 kB | 1.44 kB | ✓ |
Overall change | 67 kB | 67 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
polyfills-a4..dd70.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
_app-HASH.js gzip | 980 B | 980 B | ✓ |
_error-HASH.js gzip | 194 B | 194 B | ✓ |
amp-HASH.js gzip | 312 B | 312 B | ✓ |
css-HASH.js gzip | 329 B | 329 B | ✓ |
dynamic-HASH.js gzip | 2.64 kB | 2.64 kB | ✓ |
head-HASH.js gzip | 350 B | 350 B | ✓ |
hooks-HASH.js gzip | 904 B | 904 B | ✓ |
image-HASH.js gzip | 4.13 kB | 4.13 kB | ✓ |
index-HASH.js gzip | 261 B | 261 B | ✓ |
link-HASH.js gzip | 1.66 kB | 1.66 kB | ✓ |
routerDirect..HASH.js gzip | 319 B | 319 B | ✓ |
script-HASH.js gzip | 387 B | 387 B | ✓ |
withRouter-HASH.js gzip | 320 B | 320 B | ✓ |
bb14e60e810b..30f.css gzip | 125 B | 125 B | ✓ |
Overall change | 12.9 kB | 12.9 kB | ✓ |
Client Build Manifests
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
_buildManifest.js gzip | 491 B | 491 B | ✓ |
Overall change | 491 B | 491 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
index.html gzip | 541 B | 541 B | ✓ |
link.html gzip | 553 B | 553 B | ✓ |
withRouter.html gzip | 534 B | 534 B | ✓ |
Overall change | 1.63 kB | 1.63 kB | ✓ |
Webpack 4 Mode (Decrease detected ✓)
General
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
buildDuration | 12.3s | 12.4s | |
buildDurationCached | 5.2s | 5.1s | -94ms |
nodeModulesSize | 49.1 MB | 49.1 MB | ✓ |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.984 | 3.087 | |
/ avg req/sec | 837.84 | 809.81 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.871 | 1.944 | |
/error-in-render avg req/sec | 1336.03 | 1285.79 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
16.HASH.js gzip | 186 B | 186 B | ✓ |
677f882d2ed8..HASH.js gzip | 14 kB | 14 kB | ✓ |
framework.HASH.js gzip | 41.9 kB | 41.9 kB | ✓ |
main-HASH.js gzip | 10.6 kB | 10.6 kB | ✓ |
webpack-HASH.js gzip | 1.19 kB | 1.19 kB | ✓ |
Overall change | 67.9 kB | 67.9 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
polyfills-a4..dd70.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
_app-HASH.js gzip | 965 B | 965 B | ✓ |
_error-HASH.js gzip | 3.71 kB | 3.71 kB | ✓ |
amp-HASH.js gzip | 552 B | 552 B | ✓ |
css-HASH.js gzip | 333 B | 333 B | ✓ |
dynamic-HASH.js gzip | 2.83 kB | 2.83 kB | ✓ |
head-HASH.js gzip | 2.97 kB | 2.97 kB | ✓ |
hooks-HASH.js gzip | 911 B | 911 B | ✓ |
index-HASH.js gzip | 231 B | 231 B | ✓ |
link-HASH.js gzip | 1.64 kB | 1.64 kB | ✓ |
routerDirect..HASH.js gzip | 298 B | 298 B | ✓ |
script-HASH.js gzip | 2.95 kB | 2.95 kB | ✓ |
withRouter-HASH.js gzip | 294 B | 294 B | ✓ |
e025d2764813..52f.css gzip | 125 B | 125 B | ✓ |
Overall change | 17.8 kB | 17.8 kB | ✓ |
Client Build Manifests
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
_buildManifest.js gzip | 497 B | 497 B | ✓ |
Overall change | 497 B | 497 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | awareness481/next.js eslint_script_rules | Change | |
---|---|---|---|
index.html gzip | 585 B | 585 B | ✓ |
link.html gzip | 598 B | 598 B | ✓ |
withRouter.html gzip | 579 B | 579 B | ✓ |
Overall change | 1.76 kB | 1.76 kB | ✓ |
Feature
contributing.md
Let me know if this looks good or something needs to be changed. I still need to add the error links and improve the eslint error messages.
I don't know if the CI runs the ESLint tests, but current all pass locally