relu91 / eslint-plugin-workspaces

An ESLint plugin for enforcing consistent imports across monorepo packages.

Home Page:https://www.npmjs.com/package/eslint-plugin-workspaces

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eslint-plugin-workspaces Coverage Status code style: prettier

An ESLint plugin for enforcing consistent imports across monorepo packages.

It support Yarn Workspaces as well as lerna.

Installation

# npm
npm install eslint-plugin-workspaces --save-dev

# yarn
yarn add eslint-plugin-workspaces --dev

Configuration

Enable the rules in your ESLint configuration file:

{
  "plugins": ["workspaces"],
  "rules": {
    "workspaces/no-relative-imports": "error",
    "workspaces/require-dependency": "warn"
  }
}

Or add the "recommended" preset:

{
  "extends": ["plugin:workspaces/recommended"]
}

Rules

βœ” included in the "recommended" preset

πŸ”§ fixable using the --fix command line option

Name Description
βœ” πŸ”§ no-absolute-imports disallow absolute imports for files that are within the current package
no-cross-imports disallow imports of files that are inside another package
βœ” πŸ”§ no-relative-imports disallow relative imports of files that are outside of the current package
βœ” require-dependency disallow importing from packages that are not listed as a dependency

Presets

  • recommended enables rules recommended for all users
  • all enables all rules

License

MIT

About

An ESLint plugin for enforcing consistent imports across monorepo packages.

https://www.npmjs.com/package/eslint-plugin-workspaces

License:MIT License


Languages

Language:JavaScript 100.0%