mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
85bb02e317f54dad4084b079bddeb63b32c12b72
Until now the path was only checked upwards for Meteor projects. Now it checks all children recursively. This enables having one common eslint configuration above multiple child directories containing Meteor applications.
ESLint-plugin-Meteor
Meteor specific linting rules for ESLint
Installation
Install ESLint either locally or globally.
$ npm install eslint
If you installed ESLint globally, you have to install Meteor plugin globally too. Otherwise, install it locally.
$ npm install eslint-plugin-meteor
Configuration
Add plugins section and specify ESLint-plugin-Meteor as a plugin.
{
"plugins": [
"meteor"
]
}
Finally, enable all of the rules that you would like to use.
{
"rules": {
"meteor/no-session": 1,
"meteor/no-blaze-lifecycle-assignment": 2,
"meteor/no-blaze-zero-timeout": 2,
"meteor/audit-argument-checks": 2
}
}
List of supported rules
- no-session: Prevent usage of Session
- no-blaze-lifecycle-assignment: Prevent deprecated template lifecycle callback assignments
- no-zero-timeout: Prevent usage of Meteor.setTimeout with zero delay
- audit-argument-checks: Enforce check on all arguments passed to methods and publish functions
To Do
- Add more rules.
Essential Development Resources
These specs and tools help enormously when developing new rules.
Thanks
This plugin is inspired by eslint-plugin-react.
License
ESLint-plugin-Meteor is licensed under the MIT License.
Languages
JavaScript
91.1%
TypeScript
3.9%
Shell
0.9%
Java
0.7%
Swift
0.7%
Other
2.5%