An ESLint plugin for enforcing consistent imports across monorepo packages.
It supports:
# npm
npm install eslint-plugin-workspaces --save-dev
# yarn
yarn add eslint-plugin-workspaces --devEnable 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"]
}Enable the rules in your ESLint configuration file:
import workspaces from "eslint-plugin-workspaces";
export default [
{
plugins: { workspaces },
rules: {
"workspaces/no-relative-imports": "error",
"workspaces/require-dependency": "warn",
},
},
// ...
];Or add the "recommended" preset:
import workspaces from "eslint-plugin-workspaces";
export default [
workspaces.configs["flat/recommended"],
// ...
];✔ 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 |
recommendedenables rules recommended for all usersallenables all rulesflat/recommendedenables rules recommended for all usersflat/allenables all rules