@nrwl/eslint-plugin-nx 13.3.0-beta.3 → 13.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/jest.config.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
preset: '../../jest.preset.js',
|
|
3
|
+
transform: {
|
|
4
|
+
'^.+\\.[tj]sx?$': 'ts-jest',
|
|
5
|
+
},
|
|
6
|
+
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'html'],
|
|
7
|
+
globals: { 'ts-jest': { tsconfig: '<rootDir>/tsconfig.spec.json' } },
|
|
8
|
+
displayName: 'eslint-plugin-nx',
|
|
9
|
+
testEnvironment: 'node',
|
|
10
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nrwl/eslint-plugin-nx",
|
|
3
|
-
"version": "13.3.0
|
|
3
|
+
"version": "13.3.0",
|
|
4
4
|
"description": "ESLint Plugin for Nx",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,12 +14,6 @@
|
|
|
14
14
|
"ESLint",
|
|
15
15
|
"CLI"
|
|
16
16
|
],
|
|
17
|
-
"files": [
|
|
18
|
-
"src",
|
|
19
|
-
"package.json",
|
|
20
|
-
"README.md",
|
|
21
|
-
"LICENSE"
|
|
22
|
-
],
|
|
23
17
|
"main": "./src/index.js",
|
|
24
18
|
"typings": "./src/index.d.ts",
|
|
25
19
|
"author": "Victor Savkin",
|
|
@@ -33,8 +27,8 @@
|
|
|
33
27
|
"eslint-config-prettier": "^8.1.0"
|
|
34
28
|
},
|
|
35
29
|
"dependencies": {
|
|
36
|
-
"@nrwl/devkit": "13.3.0
|
|
37
|
-
"@nrwl/workspace": "13.3.0
|
|
30
|
+
"@nrwl/devkit": "13.3.0",
|
|
31
|
+
"@nrwl/workspace": "13.3.0",
|
|
38
32
|
"@typescript-eslint/experimental-utils": "~5.3.0",
|
|
39
33
|
"confusing-browser-globals": "^1.0.9",
|
|
40
34
|
"ts-node": "^9.1.1",
|
|
@@ -5,9 +5,10 @@ declare type Options = [
|
|
|
5
5
|
depConstraints: DepConstraint[];
|
|
6
6
|
enforceBuildableLibDependency: boolean;
|
|
7
7
|
allowCircularSelfDependency: boolean;
|
|
8
|
+
banTransitiveDependencies: boolean;
|
|
8
9
|
}
|
|
9
10
|
];
|
|
10
|
-
export declare type MessageIds = 'noRelativeOrAbsoluteImportsAcrossLibraries' | 'noSelfCircularDependencies' | 'noCircularDependencies' | 'noImportsOfApps' | 'noImportsOfE2e' | 'noImportOfNonBuildableLibraries' | 'noImportsOfLazyLoadedLibraries' | 'projectWithoutTagsCannotHaveDependencies' | 'tagConstraintViolation' | 'bannedExternalImportsViolation';
|
|
11
|
+
export declare type MessageIds = 'noRelativeOrAbsoluteImportsAcrossLibraries' | 'noSelfCircularDependencies' | 'noCircularDependencies' | 'noImportsOfApps' | 'noImportsOfE2e' | 'noImportOfNonBuildableLibraries' | 'noImportsOfLazyLoadedLibraries' | 'projectWithoutTagsCannotHaveDependencies' | 'tagConstraintViolation' | 'bannedExternalImportsViolation' | 'noTransitiveDependencies';
|
|
11
12
|
export declare const RULE_NAME = "enforce-module-boundaries";
|
|
12
13
|
declare const _default: import("@typescript-eslint/experimental-utils/dist/ts-eslint/Rule").RuleModule<MessageIds, Options, import("@typescript-eslint/experimental-utils/dist/ts-eslint/Rule").RuleListener>;
|
|
13
14
|
export default _default;
|
|
@@ -27,6 +27,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
27
27
|
properties: {
|
|
28
28
|
enforceBuildableLibDependency: { type: 'boolean' },
|
|
29
29
|
allowCircularSelfDependency: { type: 'boolean' },
|
|
30
|
+
banTransitiveDependencies: { type: 'boolean' },
|
|
30
31
|
allow: [{ type: 'string' }],
|
|
31
32
|
depConstraints: [
|
|
32
33
|
{
|
|
@@ -54,6 +55,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
54
55
|
projectWithoutTagsCannotHaveDependencies: `A project without tags matching at least one constraint cannot depend on any libraries`,
|
|
55
56
|
tagConstraintViolation: `A project tagged with "{{sourceTag}}" can only depend on libs tagged with {{allowedTags}}`,
|
|
56
57
|
bannedExternalImportsViolation: `A project tagged with "{{sourceTag}}" is not allowed to import the "{{package}}" package`,
|
|
58
|
+
noTransitiveDependencies: `Transitive dependencies are not allowed. Only packages defined in the "package.json" can be imported`,
|
|
57
59
|
},
|
|
58
60
|
},
|
|
59
61
|
defaultOptions: [
|
|
@@ -62,9 +64,10 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
62
64
|
depConstraints: [],
|
|
63
65
|
enforceBuildableLibDependency: false,
|
|
64
66
|
allowCircularSelfDependency: false,
|
|
67
|
+
banTransitiveDependencies: false,
|
|
65
68
|
},
|
|
66
69
|
],
|
|
67
|
-
create(context, [{ allow, depConstraints, enforceBuildableLibDependency, allowCircularSelfDependency, },]) {
|
|
70
|
+
create(context, [{ allow, depConstraints, enforceBuildableLibDependency, allowCircularSelfDependency, banTransitiveDependencies, },]) {
|
|
68
71
|
/**
|
|
69
72
|
* Globally cached info about workspace
|
|
70
73
|
*/
|
|
@@ -72,6 +75,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
72
75
|
if (!global.projectGraph) {
|
|
73
76
|
const nxJson = (0, file_utils_1.readNxJson)();
|
|
74
77
|
global.npmScope = nxJson.npmScope;
|
|
78
|
+
global.workspaceLayout = nxJson.workspaceLayout;
|
|
75
79
|
/**
|
|
76
80
|
* Because there are a number of ways in which the rule can be invoked (executor vs ESLint CLI vs IDE Plugin),
|
|
77
81
|
* the ProjectGraph may or may not exist by the time the lint rule is invoked for the first time.
|
|
@@ -85,6 +89,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
85
89
|
return {};
|
|
86
90
|
}
|
|
87
91
|
const npmScope = global.npmScope;
|
|
92
|
+
const workspaceLayout = global.workspaceLayout;
|
|
88
93
|
const projectGraph = global.projectGraph;
|
|
89
94
|
if (!global.targetProjectLocator) {
|
|
90
95
|
global.targetProjectLocator = new target_project_locator_1.TargetProjectLocator(projectGraph.nodes, projectGraph.externalNodes);
|
|
@@ -110,7 +115,7 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
110
115
|
// check for relative and absolute imports
|
|
111
116
|
const sourceProject = (0, runtime_lint_utils_1.findSourceProject)(projectGraph, sourceFilePath);
|
|
112
117
|
if ((0, runtime_lint_utils_1.isRelativeImportIntoAnotherProject)(imp, projectPath, projectGraph, sourceFilePath, sourceProject) ||
|
|
113
|
-
(0, runtime_lint_utils_1.isAbsoluteImportIntoAnotherProject)(imp)) {
|
|
118
|
+
(0, runtime_lint_utils_1.isAbsoluteImportIntoAnotherProject)(imp, workspaceLayout)) {
|
|
114
119
|
context.report({
|
|
115
120
|
node,
|
|
116
121
|
messageId: 'noRelativeOrAbsoluteImportsAcrossLibraries',
|
|
@@ -141,6 +146,12 @@ exports.default = (0, create_eslint_rule_1.createESLintRule)({
|
|
|
141
146
|
}
|
|
142
147
|
// project => npm package
|
|
143
148
|
if (targetProject.type === 'npm') {
|
|
149
|
+
if (banTransitiveDependencies && !(0, runtime_lint_utils_1.isDirectDependency)(targetProject)) {
|
|
150
|
+
context.report({
|
|
151
|
+
node,
|
|
152
|
+
messageId: 'noTransitiveDependencies',
|
|
153
|
+
});
|
|
154
|
+
}
|
|
144
155
|
const constraint = (0, runtime_lint_utils_1.hasBannedImport)(sourceProject, targetProject, depConstraints);
|
|
145
156
|
if (constraint) {
|
|
146
157
|
context.report({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforce-module-boundaries.js","sourceRoot":"","sources":["../../../../../packages/eslint-plugin-nx/src/rules/enforce-module-boundaries.ts"],"names":[],"mappings":";;;AAAA,2DAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"enforce-module-boundaries.js","sourceRoot":"","sources":["../../../../../packages/eslint-plugin-nx/src/rules/enforce-module-boundaries.ts"],"names":[],"mappings":"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"}
|