eslint-plugin-workspaces
v0.12.0
Published
An ESLint plugin for enforcing consistent imports across monorepo packages.
Maintainers
Readme
eslint-plugin-workspaces

An ESLint plugin for enforcing consistent imports across monorepo packages.
It supports:
Installation
# npm
npm i -D eslint-plugin-workspaces
#pnpm
pnpm add -D eslint-plugin-workspaces
# yarn
yarn add -D eslint-plugin-workspacesConfiguration
Enable the rules in your eslint.config.js 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.recommended,
// ...
];ESLint v8 RC Config
Enable the rules in your .eslintrc.json file:
{
plugins: ["workspaces"],
rules: {
"workspaces/no-relative-imports": "error",
"workspaces/require-dependency": "warn",
},
}Or add the "recommended" preset:
{
extends: ["plugin:workspaces/legacy-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
recommendedenables rules recommended for all usersallenables all ruleslegacy-recommendedsame asrecommendedbut for eslintrc formatlegacy-allsame asallbut for eslintrc formatflat/recommended(DEPRECATED) alias forrecommendedflat/all(DEPRECATED) alias forall
