A collection of Meteor-specific linting rules for ESLint to enforce best practices and catch common errors.
ESLint-plugin-Meteor is an ESLint plugin that provides custom linting rules specifically for Meteor.js applications. It helps developers maintain code quality, enforce security practices, and follow Meteor-specific conventions by identifying problematic patterns and suggesting improvements. The plugin includes rules for best practices, security auditing, and Blaze template conventions.
Meteor.js developers and teams building applications with Meteor who want to enforce consistent coding standards and security practices. It is particularly useful for developers working with Meteor's client-server architecture and Blaze templating system.
Developers choose this plugin because it offers Meteor-specific linting rules that are not available in standard ESLint, such as enforcing argument checks in methods and publishes, preventing deprecated Session usage, and ensuring Blaze template conventions. It provides a recommended configuration for quick setup and integrates seamlessly into existing ESLint workflows.
🧐 Meteor specific linting rules for ESLint
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enforces the `audit-argument-checks` rule to ensure all method and publish function arguments are validated, a key security practice in Meteor that reduces vulnerabilities.
Provides rules like `template-names` and `eventmap-params` to standardize Blaze template code, improving team collaboration and maintainability as per Meteor conventions.
Offers a `plugin:meteor/recommended` configuration that quickly applies Meteor-specific linting rules, reducing setup time and ensuring good defaults.
Built as a standard ESLint plugin, it integrates seamlessly into existing ESLint workflows without requiring custom tooling, as shown in the setup guide.
The README explicitly states the plugin is not aware of file execution contexts, so it cannot warn about client-server code access errors, a significant limitation for Meteor applications.
Most rules target Blaze templates, making it less effective for Meteor projects using modern UI frameworks like React or Vue, which reduces its relevance in diverse setups.
The README admits that Core API rules are not implemented, leaving gaps in linting for broader Meteor functionality and relying on community contributions.