An ESLint plugin for enforcing consistent imports across monorepo packages.
It support Yarn Workspaces as well as lerna.
# npm
npm install eslint-plugin-workspaces --save-dev
# yarn
yarn add eslint-plugin-workspaces --dev
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"]
}
✔ 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 |
recommended
enables rules recommended for all usersall
enables all rules