Skip to content
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

fix(eslint-plugin-next): Broken links in eslint output #32837

Merged
merged 3 commits into from
Dec 28, 2021

Conversation

joostdecock
Copy link
Contributor

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

  • Make sure the linting passes by running yarn lint

I don't think this is a bug, nor a feature, nor is it really documentation.
It's just a small nuisance that I bumped into and felt compelled to fix.
I went with documentation as that seems the closest match

What does this pull request do?

The elslint output of eslint-plugin-next contains 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.

eslint

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:

[message]. See: [url]

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.

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.
Copy link
Member

@ijjk ijjk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@joostdecock
Copy link
Contributor Author

seems some tests need to be updated for the expected text

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).

@ijjk
Copy link
Member

ijjk commented Dec 27, 2021

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall decrease ✓
vercel/next.js canary joostdecock/next.js canary Change
buildDuration 18.8s 19s ⚠️ +260ms
buildDurationCached 4.2s 4.4s ⚠️ +186ms
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 ⚠️ +55ms
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 ⚠️ +0.05
/error-in-render avg req/sec 1247.31 1215.68 ⚠️ -31.63
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
Commit: 99b6282

Copy link
Member

@ijjk ijjk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants