fix(eslint-plugin-next): Broken links in eslint output#32837
Merged
kodiakhq[bot] merged 3 commits intovercel:canaryfrom Dec 28, 2021
Merged
fix(eslint-plugin-next): Broken links in eslint output#32837kodiakhq[bot] merged 3 commits intovercel:canaryfrom
kodiakhq[bot] merged 3 commits intovercel:canaryfrom
Conversation
This fixes broken links in the eslint output by removing the trailing full stop. It also makes the formatting of (the output of) the various rules consistent.
ijjk
reviewed
Dec 27, 2021
Member
ijjk
left a comment
There was a problem hiding this comment.
Changes look good, seems some tests need to be updated for the expected text https://github.com/vercel/next.js/runs/4640746561?check_suite_focus=true#step:5:299
Contributor
Author
Thank you for pointing that out @ijjk This is my first contribution, so I'm still finding my way around the monorepo. I've updated the tests to match the rules output (and updated one rule output that had a trailing space at the end). |
Member
Stats from current PRDefault Build (Increase detected
|
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| buildDuration | 18.8s | 19s | |
| buildDurationCached | 4.2s | 4.4s | |
| nodeModulesSize | 348 MB | 348 MB | -8 B |
Page Load Tests Overall increase ✓
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 3.988 | 3.983 | 0 |
| / avg req/sec | 626.93 | 627.64 | +0.71 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 2.15 | 2.091 | -0.06 |
| /error-in-render avg req/sec | 1162.68 | 1195.69 | +33.01 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| 450.HASH.js gzip | 179 B | 179 B | ✓ |
| framework-HASH.js gzip | 42.2 kB | 42.2 kB | ✓ |
| main-HASH.js gzip | 27 kB | 27 kB | ✓ |
| webpack-HASH.js gzip | 1.45 kB | 1.45 kB | ✓ |
| Overall change | 70.9 kB | 70.9 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.37 kB | 1.37 kB | ✓ |
| _error-HASH.js gzip | 194 B | 194 B | ✓ |
| amp-HASH.js gzip | 312 B | 312 B | ✓ |
| css-HASH.js gzip | 326 B | 326 B | ✓ |
| dynamic-HASH.js gzip | 2.37 kB | 2.37 kB | ✓ |
| head-HASH.js gzip | 350 B | 350 B | ✓ |
| hooks-HASH.js gzip | 919 B | 919 B | ✓ |
| image-HASH.js gzip | 4.73 kB | 4.73 kB | ✓ |
| index-HASH.js gzip | 263 B | 263 B | ✓ |
| link-HASH.js gzip | 2.13 kB | 2.13 kB | ✓ |
| routerDirect..HASH.js gzip | 321 B | 321 B | ✓ |
| script-HASH.js gzip | 383 B | 383 B | ✓ |
| withRouter-HASH.js gzip | 318 B | 318 B | ✓ |
| 85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
| Overall change | 14.1 kB | 14.1 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 459 B | 459 B | ✓ |
| Overall change | 459 B | 459 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| index.html gzip | 533 B | 533 B | ✓ |
| link.html gzip | 546 B | 546 B | ✓ |
| withRouter.html gzip | 528 B | 528 B | ✓ |
| Overall change | 1.61 kB | 1.61 kB | ✓ |
Default Build with SWC (Decrease detected ✓)
General Overall decrease ✓
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| buildDuration | 21s | 21.1s | |
| buildDurationCached | 4.4s | 4.3s | -117ms |
| nodeModulesSize | 348 MB | 348 MB | -8 B |
Page Load Tests Overall decrease ⚠️
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 4.11 | 3.999 | -0.11 |
| / avg req/sec | 608.25 | 625.18 | +16.93 |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 2.004 | 2.056 | |
| /error-in-render avg req/sec | 1247.31 | 1215.68 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| 450.HASH.js gzip | 179 B | 179 B | ✓ |
| framework-HASH.js gzip | 42.3 kB | 42.3 kB | ✓ |
| main-HASH.js gzip | 27.2 kB | 27.2 kB | ✓ |
| webpack-HASH.js gzip | 1.44 kB | 1.44 kB | ✓ |
| Overall change | 71.1 kB | 71.1 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 1.35 kB | 1.35 kB | ✓ |
| _error-HASH.js gzip | 180 B | 180 B | ✓ |
| amp-HASH.js gzip | 305 B | 305 B | ✓ |
| css-HASH.js gzip | 321 B | 321 B | ✓ |
| dynamic-HASH.js gzip | 2.36 kB | 2.36 kB | ✓ |
| head-HASH.js gzip | 342 B | 342 B | ✓ |
| hooks-HASH.js gzip | 906 B | 906 B | ✓ |
| image-HASH.js gzip | 4.75 kB | 4.75 kB | ✓ |
| index-HASH.js gzip | 256 B | 256 B | ✓ |
| link-HASH.js gzip | 2.19 kB | 2.19 kB | ✓ |
| routerDirect..HASH.js gzip | 314 B | 314 B | ✓ |
| script-HASH.js gzip | 375 B | 375 B | ✓ |
| withRouter-HASH.js gzip | 309 B | 309 B | ✓ |
| 85e02e95b279..7e3.css gzip | 107 B | 107 B | ✓ |
| Overall change | 14.1 kB | 14.1 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 458 B | 458 B | ✓ |
| Overall change | 458 B | 458 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | joostdecock/next.js canary | Change | |
|---|---|---|---|
| index.html gzip | 532 B | 532 B | ✓ |
| link.html gzip | 545 B | 545 B | ✓ |
| withRouter.html gzip | 525 B | 525 B | ✓ |
| Overall change | 1.6 kB | 1.6 kB | ✓ |
This was referenced Jan 12, 2022
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes broken links in the eslint output by removing the trailing full stop.
It also makes the formatting of (the output of) the various rules consistent.
Documentation / Examples
yarn lintWhat does this pull request do?
The elslint output of
eslint-plugin-nextcontains useful links to the documentation about the various rules.Unfortunately, on most (but not all) rules, those links are immediately followed by a full stop (
.).The terminal (or any parser) has no way of knowing that the full stop is not part of the URL.
So it includes it and clicking the link leads to a 404 on the nextjs.org website.
This PR fixes that by removing the full stop.
But a final full stop is better grammar
I considered alternatives (such as a zero-width space character) in case the final full stop was part of the style guide or something.
However, as I went through the eslint rules, I notices that the messages for various rules were formatted inconsistently.
Some with final full stop, some without.
As such, I made the all consistent with this structure:
I feel this is a better solution than using the zero-width space as these sort of invisible characters
in code can be a red flag that something fishy is going on.
I submit this pull request in the hope it will be useful, and a positive contribution to a project I have a great deal of appreciation for.
That being said, I fully understand if people would consider this a non-issue.