ESLint configuration for my own projects
APACHE-2.0 License
ESLint configuration for my own projects.
This is not meant to be shared and semantic versioning is not followed.
Please reach out if you're looking for a Node.js API or CLI engineer (11 years of experience). Most recently I have been Netlify Build's and Netlify Plugins' technical lead for 2.5 years. I am available for full-time remote positions.
State should be immutable.
Variables and object properties should be read-only. They should be copied instead of mutated. Assignment should only happen during declaration.
The following patterns should be avoided as they imply state:
for
, while
). Use functional methods (like Array.map()
andArray.filter()
) and recursion instead.Global variables should not be used except the ones that are built-in (e.g.
Object
).
Throwing exceptions is allowed as this can simplify code.
Code should be split into small files and functions:
export default
).{ ...object }
instead of Object.assign({}, ...object)
funcName(...args)
instead offuncName.call(this, ...args)
(...args) => ...
instead of (arguments) => ...
async
/await
instead of explicit promises or callbacks.package.json
engines
field.The configuration is very explicit and enforces strict linting. This should help you find bugs and maintain a consistent coding style:
u
flag.For any question, don't hesitate to submit an issue on GitHub.
Everyone is welcome regardless of personal background. We enforce a Code of conduct in order to promote a positive and inclusive environment.
This project was made with ❤️. The simplest way to give back is by starring and sharing it online.
If the documentation is unclear or has a typo, please click on the page's Edit
button (pencil icon) and suggest a correction.
If you would like to help us fix a bug, please check our guidelines. Pull requests are welcome!