ESLint configurations for various types of projects.

Downloads in past


103.6.28 months ago4 years agoMinified + gzip package size for @myparcel/eslint-config in KB


MyParcel ESLint configuration
This package contains multiple ESLint presets for different types of projects. Additional information, documentation and guides on ESLint can be found on https://eslint.org/
ESLint version Version on NPM Coverage


Install the package via npm:
$ npm i -D @myparcel/eslint-config

Create an ESLint config file, if you haven't already, and add the following: ( JavaScript example)
module.exports = {
  extends: [
    // Base config, same as '@myparcel/eslint-config/preset-default',

Or to use another preset with an extra plugin:
```js module.exports = { extends:
// Vue.js config
, }; ```
Be sure you only use one preset at a time. You can use multiple plugins, though.


These are the presets for various types of projects. They are named plugin-<name>.js. All presets (eventually) extend the base config preset-default.js.
Try to to create a new preset (if possible) for your project instead of using the base and adding/overriding tons of rules so it can be reused. The base config enforces a lot of basic syntax rules like whitespace and punctuation. Please avoid overriding these rules where possible!
If there's anything missing (globals, environments, rules etc.) please add them in this repository and create a pull request instead of adding them in your project configuration. If it's truly project specific you don't have to do this.

Base config


This config contains the bare bones setup. It extends plugin configs that should be used in every project and contains all base rules. All other presets should extend this one.



This config is made for any project using ES5 JavaScript. The environment es5 is set and it extends the base config.



This config is made as a base for any project using modern JavaScript. It's meant to always use the latest ECMAScript version. The environment es6 is set and it extends the base config.



This config is made for Meteor projects. In addition to the base config it extends eslint:recommended and plugin:meteor/recommended. The needed environments are already set and it adds some more globals from Meteor modules.



This config is made for Vue.js projects. In addition to the base config it extends plugin:vue/recommended. It supports linting .vue files by using eslint-plugin-vue.



This config is made for TypeScript projects. You need to have a tsconfig.json in your project root to use this preset. Uses typescript-eslint/eslint-plugin and typescript-eslint/eslint-parser.

Plugin configs

These configs are meant to be extended by other configs to add functionality, not to be used on their own. They are named plugin-<name>.js.



Extended by the base config. Contains eslint-plugin-jsdoc and applies its custom rules for JSDoc comments.



Extend this config in any project using Jest. Contains rules from eslint-plugin-jest.

You Don't Need MomentJS


Contains eslint-plugin-you-dont-need-momentjs and applies its custom rules.
See contributing.md.