eslint-plugin: add doc rule links and update README

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2023-02-03 17:20:24 +01:00
parent 015c0e0f89
commit 71bf2eb0ed
4 changed files with 20 additions and 3 deletions
+5 -3
View File
@@ -35,6 +35,8 @@ rules: {
The following rules are provided by this plugin:
| Rule | Description |
| ----------------------------------------- | ------------------------------------------------------------------------------- |
| `@backstage/no-forbidden-package-imports` | Disallow internal monorepo imports from package subpaths that are not exported. |
| Rule | Description |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| [@backstage/no-forbidden-package-imports](./docs/rules/no-forbidden-package-imports.md) | Disallow internal monorepo imports from package subpaths that are not exported. |
| [@backstage/no-relative-monorepo-imports](./docs/rules/no-relative-monorepo-imports.md) | Forbid relative imports that reach outside of the package in a monorepo. |
| [@backstage/no-undeclared-imports](./docs/rules/no-undeclared-imports.md) | Forbid imports of external packages that have not been declared in the appropriate dependencies field in `package.json`. |
@@ -25,6 +25,11 @@ module.exports = {
messages: {
forbidden: '{{packageName}} does not export {{subPath}}',
},
docs: {
description:
'Disallow internal monorepo imports from package subpaths that are not exported.',
url: 'https://github.com/backstage/backstage/blob/master/packages/eslint-plugin/docs/rules/no-forbidden-package-imports.md',
},
},
create(context) {
return visitImports(context, (node, imp) => {
@@ -29,6 +29,11 @@ module.exports = {
forbidden:
"Relative imports of monorepo packages are forbidden, use '{{newImport}}' instead",
},
docs: {
description:
'Forbid relative imports that reach outside of the package in a monorepo.',
url: 'https://github.com/backstage/backstage/blob/master/packages/eslint-plugin/docs/rules/no-relative-monorepo-imports.md',
},
},
create(context) {
const packages = getPackageMap(context.getCwd());
@@ -125,6 +125,11 @@ module.exports = {
switch:
'{{ packageName }} is declared in {{ oldDepsField }}, but should be moved to {{ depsField }} in {{ packageJsonPath }}.',
},
docs: {
description:
'Forbid imports of external packages that have not been declared in the appropriate dependencies field in `package.json`.',
url: 'https://github.com/backstage/backstage/blob/master/packages/eslint-plugin/docs/rules/no-undeclared-imports.md',
},
},
create(context) {
const packages = getPackageMap(context.getCwd());