All Projects → not-an-aardvark → eslint-plugin-rulesdir

not-an-aardvark / eslint-plugin-rulesdir

Licence: MIT license
An ESLint plugin to load project-specific ESLint rules

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to eslint-plugin-rulesdir

Eslint Plugin I18n Json
Fully extendable eslint plugin for JSON i18n translation files.
Stars: ✭ 101 (+260.71%)
Mutual labels:  eslint, eslint-plugin
html-eslint
ESLint plugin for linting HTML
Stars: ✭ 72 (+157.14%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Css Modules
Project status: NOT MAINTAINED; Checks that you are using the existent css/scss classes, no more no less
Stars: ✭ 115 (+310.71%)
Mutual labels:  eslint, eslint-plugin
Sowing Machine
🌱A React UI toolchain & JSX alternative
Stars: ✭ 64 (+128.57%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Ava
ESLint rules for AVA
Stars: ✭ 209 (+646.43%)
Mutual labels:  eslint, eslint-plugin
Eslint Mdx
ESLint Parser/Plugin for MDX
Stars: ✭ 89 (+217.86%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Unicorn
Various awesome ESLint rules
Stars: ✭ 2,157 (+7603.57%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin
ESLint configurations and additional rules for me
Stars: ✭ 19 (-32.14%)
Mutual labels:  eslint, eslint-plugin
eslint-plugin-pug
An ESLint plugin for linting inline scripts in Pug files
Stars: ✭ 17 (-39.29%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Lodash
ESLint rules for lodash
Stars: ✭ 208 (+642.86%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Monorepo
ESLint Plugin for monorepos
Stars: ✭ 56 (+100%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Ember
An ESlint plugin that provides set of rules for Ember Applications based on commonly known good practices.
Stars: ✭ 240 (+757.14%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Lwc
Official ESLint rules for LWC
Stars: ✭ 51 (+82.14%)
Mutual labels:  eslint, eslint-plugin
Typescript Eslint
✨ Monorepo for all the tooling which enables ESLint to support TypeScript
Stars: ✭ 10,831 (+38582.14%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Vue I18n
🌐 ESLint plugin for Vue I18n
Stars: ✭ 50 (+78.57%)
Mutual labels:  eslint, eslint-plugin
Eslint Import Resolver Alias
a simple Node behavior import resolution plugin for eslint-plugin-import, supporting module alias
Stars: ✭ 121 (+332.14%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Jest
ESLint plugin for Jest
Stars: ✭ 699 (+2396.43%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Node
Additional ESLint's rules for Node.js
Stars: ✭ 740 (+2542.86%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Boundaries
Eslint plugin checking architecture boundaries between elements
Stars: ✭ 157 (+460.71%)
Mutual labels:  eslint, eslint-plugin
Eslint Plugin Eslint Comments
Additional ESLint rules for directive comments of ESLint.
Stars: ✭ 221 (+689.29%)
Mutual labels:  eslint, eslint-plugin

eslint-plugin-rulesdir

Allows a local directory containing ESLint rules directory to be easily used. This is a substitute for the --rulesdir option that can be used without a command-line flag.

Experimental: This plugin is currently a proof-of-concept. Its API is likely to change in the future.

Installation

You'll first need to install ESLint:

$ npm i eslint --save-dev

Next, install eslint-plugin-rulesdir:

$ npm install eslint-plugin-rulesdir --save-dev

Note: If you installed ESLint globally (using the -g flag) then you must also install eslint-plugin-rulesdir globally.

Usage

To use this plugin, you must load it manually first and set its RULES_DIR property to a path, or an array of paths. The paths are resolved from the current working directory, and indicates where you would like the plugin to load your rules from. This is easiest if you use a JavaScript config file (.eslintrc.js), and use a local installation of ESLint.

// .eslintrc.js
const rulesDirPlugin = require('eslint-plugin-rulesdir');
rulesDirPlugin.RULES_DIR = 'tools/eslint-rules'; // (an example folder where your rules might be stored)

// You can also provide an array if you have multiple folders with rules in:
rulesDirPlugin.RULES_DIR = ['tools/eslint-rules', 'tools/other-eslint-rules'];

Then you should add rulesdir to the plugins section of your .eslintrc.js file.

{
  plugins: [
    'rulesdir'
  ]
}

Finally, you can configure your local rules, prefixed with rulesdir/.

{
  rules: {
    //
    'rulesdir/my-internal-foo-rule': 'error',
    'rulesdir/my-internal-bar-rule': ['warn', 2]
  }
}

All of the rules from your configured rules directory will be available. In this example, we assumed there were rule files in tools/eslint-rules/my-internal-foo-rule.js and tools/eslint-rules/my-internal-bar-rule.js.

Prior Art

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].