Skip to content

An ESLint plugin for enforcing consistent imports across monorepo packages.

License

Notifications You must be signed in to change notification settings

joshuajaco/eslint-plugin-workspaces

Repository files navigation

eslint-plugin-workspaces npm downloads Coverage Status code style: prettier

An ESLint plugin for enforcing consistent imports across monorepo packages.

It supports:

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