-
Notifications
You must be signed in to change notification settings - Fork 483
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 migration #567
Eslint migration #567
Conversation
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.
The changes look fine to me. The only thing to settle is the node.js v8 support.
Personally, I think it's fine drop it - even v10 is already EOL and the major Solidity frameworks that depend on solc-js already require v12+ themselves. I'd like to get an ack from @chriseth and/or @axic before we go forward with it though.
Also, if we're dropping it, please adjust .circleci/config.yml
to remove the job that runs on that version. I'd remove the disabled v4 and v6 as well. And I'd also add a comment explaining that ESLint is the reason behind the v10+ requirement.
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.
I'm marking it as approved since I don't see any problem with dropping v8 and I suspect that @chriseth and @axic will agree. We still need to wait for their approval though - especially because the node-v8
job is marked as a required check and I don't have permissions to remove it from repo settings myself.
I think you can already safely rebase your other PR on this one though.
#566 (comment) was actually meant to go here:
|
@axic Reposting this from the chat so that it does not get lost: This is what I managed to find so far for projects we have listed in #10278
https://en.wikipedia.org/wiki/Node.js#Releases
|
Migrating to eslint allows using the mainstream highly maintained linting tool that will directly support linting, code style enforcement and support of locating errors. * Directly supports integrating with Typescript for future proofing * Supports enabling semi colon enforcement via rules
Linting has been ran throughout the application which has mainly shifted `var` to `const` and `var` to `let` where applicable. While also correcting string index references to direct references e.g a['test'] to a.test.
@cameel done |
Why did this miss a bunch of other issues, like single-quotes vs double-quotes, missing semicolons, spacing around function names and object, etc. ? cc @stephensli @cameel |
|
Eslint Upgrade #287
This pull request focuses on the migration from
semistandard
toeslint
withstandard/standard
as the direct rule set for linting the application. By moving toeslint
allows future development and migration to Typescript smoother. While also supporting linting, code style enforcement, and support of locating errors.eslint: https://eslint.org/
Linted Content
Linting has been run throughout the application which has mainly shifted
var
toconst
andvar
tolet
where applicable. While also correcting string index references to direct references e.g a['test'] to a.test.Node V8 Support (Breaking Change)
Development of the project will no longer support Node version 8 due to
eslint
using unsupported JavaScript features. Node V8 is also currently deprecated since2019-12-31
and this should not be seen as a negative breaking change.