@nrwl/linter 14.8.8 → 14.9.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +1 -1
- package/LICENSE +22 -22
- package/README.md +5 -26
- package/executors.json +0 -10
- package/migrations.json +12 -84
- package/package.json +4 -6
- package/src/executors/eslint/hasher.d.ts +1 -1
- package/src/executors/eslint/hasher.js +1 -1
- package/src/executors/eslint/hasher.js.map +1 -1
- package/src/executors/eslint/lint.impl.js +2 -2
- package/src/executors/eslint/lint.impl.js.map +1 -1
- package/src/executors/eslint/schema.json +12 -6
- package/src/generators/init/global-eslint-config.d.ts +36 -0
- package/src/generators/init/global-eslint-config.js +77 -0
- package/src/generators/init/global-eslint-config.js.map +1 -0
- package/src/generators/init/init-migration.d.ts +3 -0
- package/src/generators/init/init-migration.js +68 -0
- package/src/generators/init/init-migration.js.map +1 -0
- package/src/generators/init/init.d.ts +1 -0
- package/src/generators/init/init.js +12 -160
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/lint-project/lint-project.d.ts +2 -0
- package/src/generators/lint-project/lint-project.js +65 -30
- package/src/generators/lint-project/lint-project.js.map +1 -1
- package/src/generators/utils/eslint-file.d.ts +4 -2
- package/src/generators/utils/eslint-file.js +18 -5
- package/src/generators/utils/eslint-file.js.map +1 -1
- package/src/generators/utils/eslint-targets.d.ts +2 -0
- package/src/generators/utils/eslint-targets.js +13 -0
- package/src/generators/utils/eslint-targets.js.map +1 -0
- package/src/generators/utils/linter.d.ts +0 -1
- package/src/generators/utils/linter.js +0 -1
- package/src/generators/utils/linter.js.map +1 -1
- package/src/generators/workspace-rule/files/__name__.ts__tmpl__ +1 -1
- package/src/generators/workspace-rule/schema.json +2 -11
- package/src/generators/workspace-rule/workspace-rule.d.ts +1 -1
- package/src/generators/workspace-rule/workspace-rule.js +2 -2
- package/src/generators/workspace-rule/workspace-rule.js.map +1 -1
- package/src/generators/workspace-rules-project/workspace-rules-project.d.ts +1 -1
- package/src/generators/workspace-rules-project/workspace-rules-project.js +30 -9
- package/src/generators/workspace-rules-project/workspace-rules-project.js.map +1 -1
- package/src/migrations/update-13-3-0/eslint-8-updates.js +3 -2
- package/src/migrations/update-13-3-0/eslint-8-updates.js.map +1 -1
- package/src/migrations/update-15-0-0/add-eslint-inputs.d.ts +2 -0
- package/src/migrations/update-15-0-0/add-eslint-inputs.js +33 -0
- package/src/migrations/update-15-0-0/add-eslint-inputs.js.map +1 -0
- package/src/migrations/update-15-7-1/add-eslint-ignore.d.ts +2 -0
- package/src/migrations/update-15-7-1/add-eslint-ignore.js +42 -0
- package/src/migrations/update-15-7-1/add-eslint-ignore.js.map +1 -0
- package/src/utils/convert-tslint-to-eslint/project-converter.d.ts +1 -1
- package/src/utils/convert-tslint-to-eslint/project-converter.js +9 -9
- package/src/utils/convert-tslint-to-eslint/project-converter.js.map +1 -1
- package/src/utils/convert-tslint-to-eslint/utils.d.ts +1 -1
- package/src/utils/testing.d.ts +1 -1
- package/src/utils/versions.d.ts +0 -2
- package/src/utils/versions.js +1 -3
- package/src/utils/versions.js.map +1 -1
- package/src/executors/lint/compat.d.ts +0 -2
- package/src/executors/lint/compat.js +0 -6
- package/src/executors/lint/compat.js.map +0 -1
- package/src/executors/lint/lint.impl.d.ts +0 -2
- package/src/executors/lint/lint.impl.js +0 -10
- package/src/executors/lint/lint.impl.js.map +0 -1
- package/src/executors/lint/schema.json +0 -124
- package/src/migrations/update-10-3-0/add-json-ext-to-eslintrc.d.ts +0 -1
- package/src/migrations/update-10-3-0/add-json-ext-to-eslintrc.js +0 -52
- package/src/migrations/update-10-3-0/add-json-ext-to-eslintrc.js.map +0 -1
- package/src/migrations/update-10-3-0/add-root-eslintrc-json-to-workspace-implicit-deps.d.ts +0 -1
- package/src/migrations/update-10-3-0/add-root-eslintrc-json-to-workspace-implicit-deps.js +0 -18
- package/src/migrations/update-10-3-0/add-root-eslintrc-json-to-workspace-implicit-deps.js.map +0 -1
- package/src/migrations/update-10-3-0/update-10-3-0.d.ts +0 -1
- package/src/migrations/update-10-3-0/update-10-3-0.js +0 -20
- package/src/migrations/update-10-3-0/update-10-3-0.js.map +0 -1
- package/src/migrations/update-10-3-0/update-eslint-builder-and-config.d.ts +0 -1
- package/src/migrations/update-10-3-0/update-eslint-builder-and-config.js +0 -81
- package/src/migrations/update-10-3-0/update-eslint-builder-and-config.js.map +0 -1
- package/src/migrations/update-10-3-1/revert-node-modules-files-in-eslint-builder-options.d.ts +0 -1
- package/src/migrations/update-10-3-1/revert-node-modules-files-in-eslint-builder-options.js +0 -24
- package/src/migrations/update-10-3-1/revert-node-modules-files-in-eslint-builder-options.js.map +0 -1
- package/src/migrations/update-10-4-0/update-eslint-configs-to-use-nx-presets.d.ts +0 -7
- package/src/migrations/update-10-4-0/update-eslint-configs-to-use-nx-presets.js +0 -447
- package/src/migrations/update-10-4-0/update-eslint-configs-to-use-nx-presets.js.map +0 -1
- package/src/migrations/update-10-4-0/update-root-eslint-config-to-use-overrides.d.ts +0 -1
- package/src/migrations/update-10-4-0/update-root-eslint-config-to-use-overrides.js +0 -107
- package/src/migrations/update-10-4-0/update-root-eslint-config-to-use-overrides.js.map +0 -1
- package/src/migrations/update-11-5-0/always-use-project-level-tsconfigs-with-eslint.d.ts +0 -3
- package/src/migrations/update-11-5-0/always-use-project-level-tsconfigs-with-eslint.js +0 -95
- package/src/migrations/update-11-5-0/always-use-project-level-tsconfigs-with-eslint.js.map +0 -1
@@ -1,107 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const schematics_1 = require("@angular-devkit/schematics");
|
4
|
-
const workspace_1 = require("@nrwl/workspace");
|
5
|
-
/**
|
6
|
-
* We want to update the JSON in such a way that we:
|
7
|
-
* - translate the config to use overrides
|
8
|
-
* - don't break existing setups
|
9
|
-
*
|
10
|
-
* In order to achieve the second point we need to assume
|
11
|
-
* that any existing top level rules/plugins etc are intended
|
12
|
-
* to be run on all source files.
|
13
|
-
*/
|
14
|
-
function updateRootESLintConfig(host) {
|
15
|
-
return host.exists('.eslintrc.json')
|
16
|
-
? (0, workspace_1.updateJsonInTree)('.eslintrc.json', (json) => {
|
17
|
-
/**
|
18
|
-
* If the user already has overrides specified it is likely they have "forged their own path"
|
19
|
-
* when it comes to their ESLint setup, so we do nothing.
|
20
|
-
*/
|
21
|
-
if (Array.isArray(json.overrides)) {
|
22
|
-
return json;
|
23
|
-
}
|
24
|
-
let normalizedExtends = undefined;
|
25
|
-
if (json.extends) {
|
26
|
-
if (typeof json.extends === 'string') {
|
27
|
-
normalizedExtends = [json.extends];
|
28
|
-
}
|
29
|
-
else if (Array.isArray(json.extends)) {
|
30
|
-
normalizedExtends = json.extends;
|
31
|
-
}
|
32
|
-
}
|
33
|
-
json.overrides = [
|
34
|
-
/**
|
35
|
-
* This configuration is intended to apply to all "source code" (but not
|
36
|
-
* markup like HTML, or other custom file types like GraphQL).
|
37
|
-
*
|
38
|
-
* This is where we will apply any top-level config that the user currently
|
39
|
-
* has to ensure that it behaves the same before and after the migration.
|
40
|
-
*/
|
41
|
-
{
|
42
|
-
files: ['*.ts', '*.tsx', '*.js', '*.jsx'],
|
43
|
-
extends: undefinedIfEmptyArr(normalizedExtends
|
44
|
-
? normalizedExtends.filter((e) => e !== 'plugin:@nrwl/nx/typescript')
|
45
|
-
: normalizedExtends),
|
46
|
-
env: json.env,
|
47
|
-
settings: json.settings,
|
48
|
-
parser: json.parser,
|
49
|
-
parserOptions: json.parserOptions,
|
50
|
-
plugins: undefinedIfEmptyArr(json.plugins.filter((p) => p !== '@nrwl/nx') // remains at top-level, used everywhere
|
51
|
-
),
|
52
|
-
rules: json.rules || {},
|
53
|
-
},
|
54
|
-
/**
|
55
|
-
* This configuration is intended to apply to all TypeScript source files.
|
56
|
-
* See the eslint-plugin-nx package for what is in the referenced shareable config.
|
57
|
-
*/
|
58
|
-
{
|
59
|
-
files: ['*.ts', '*.tsx'],
|
60
|
-
extends: ['plugin:@nrwl/nx/typescript'],
|
61
|
-
parserOptions: { project: './tsconfig.*?.json' },
|
62
|
-
/**
|
63
|
-
* Having an empty rules object present makes it more obvious to the user where they would
|
64
|
-
* extend things from if they needed to
|
65
|
-
*/
|
66
|
-
rules: {},
|
67
|
-
},
|
68
|
-
/**
|
69
|
-
* This configuration is intended to apply to all JavaScript source files.
|
70
|
-
* See the eslint-plugin-nx package for what is in the referenced shareable config.
|
71
|
-
*/
|
72
|
-
{
|
73
|
-
files: ['*.js', '*.jsx'],
|
74
|
-
extends: ['plugin:@nrwl/nx/javascript'],
|
75
|
-
/**
|
76
|
-
* Having an empty rules object present makes it more obvious to the user where they would
|
77
|
-
* extend things from if they needed to
|
78
|
-
*/
|
79
|
-
rules: {},
|
80
|
-
},
|
81
|
-
];
|
82
|
-
/**
|
83
|
-
* Clean up after copying config to main override
|
84
|
-
*/
|
85
|
-
json.plugins = ['@nrwl/nx'];
|
86
|
-
delete json.rules;
|
87
|
-
delete json.extends;
|
88
|
-
delete json.env;
|
89
|
-
delete json.settings;
|
90
|
-
delete json.globals;
|
91
|
-
delete json.parser;
|
92
|
-
delete json.parserOptions;
|
93
|
-
return json;
|
94
|
-
})
|
95
|
-
: (0, schematics_1.noop)();
|
96
|
-
}
|
97
|
-
function undefinedIfEmptyArr(possibleArr) {
|
98
|
-
if (Array.isArray(possibleArr) && possibleArr.length === 0) {
|
99
|
-
return undefined;
|
100
|
-
}
|
101
|
-
return possibleArr;
|
102
|
-
}
|
103
|
-
function default_1() {
|
104
|
-
return (0, schematics_1.chain)([updateRootESLintConfig, (0, workspace_1.formatFiles)()]);
|
105
|
-
}
|
106
|
-
exports.default = default_1;
|
107
|
-
//# sourceMappingURL=update-root-eslint-config-to-use-overrides.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"update-root-eslint-config-to-use-overrides.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-10-4-0/update-root-eslint-config-to-use-overrides.ts"],"names":[],"mappings":"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"}
|
@@ -1,95 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.updateTsConfigsWithEslint = void 0;
|
4
|
-
const tslib_1 = require("tslib");
|
5
|
-
const devkit_1 = require("@nrwl/devkit");
|
6
|
-
const path_1 = require("path");
|
7
|
-
function updateRootESLintConfig(host) {
|
8
|
-
if (!host.exists('.eslintrc.json')) {
|
9
|
-
return;
|
10
|
-
}
|
11
|
-
(0, devkit_1.updateJson)(host, '.eslintrc.json', (json) => {
|
12
|
-
/**
|
13
|
-
* If the user is still using OOTB Nx config, then they will have a "project"
|
14
|
-
* parserOption set for TS files in their root config.
|
15
|
-
*
|
16
|
-
* We remove this to both be consistent with new workspace generation, and
|
17
|
-
* to ensure they receive an explicit error if they miss off project level
|
18
|
-
* configuration (instead of there being a silent, much slower fallback).
|
19
|
-
*/
|
20
|
-
if (json.overrides) {
|
21
|
-
json.overrides = json.overrides.map((o) => {
|
22
|
-
if (o.parserOptions && o.parserOptions.project) {
|
23
|
-
delete o.parserOptions.project;
|
24
|
-
// If the parserOptions object is now empty as a result, delete it too
|
25
|
-
if (Object.keys(o.parserOptions).length === 0) {
|
26
|
-
delete o.parserOptions;
|
27
|
-
}
|
28
|
-
}
|
29
|
-
return o;
|
30
|
-
});
|
31
|
-
}
|
32
|
-
return json;
|
33
|
-
});
|
34
|
-
}
|
35
|
-
function updateProjectESLintConfigs(host) {
|
36
|
-
const projects = (0, devkit_1.getProjects)(host);
|
37
|
-
projects.forEach((p) => {
|
38
|
-
var _a, _b;
|
39
|
-
const eslintConfigPath = (0, path_1.join)(p.root, '.eslintrc.json');
|
40
|
-
if (!host.exists(eslintConfigPath)) {
|
41
|
-
return;
|
42
|
-
}
|
43
|
-
const isNextJs = ((_b = (_a = p.targets) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.executor) === '@nrwl/next:build';
|
44
|
-
const parserOptionsProjectVal = isNextJs
|
45
|
-
? [`${p.root}/tsconfig(.*)?.json`]
|
46
|
-
: [`${p.root}/tsconfig.*?.json`];
|
47
|
-
return (0, devkit_1.updateJson)(host, eslintConfigPath, (json) => {
|
48
|
-
if (!json.overrides) {
|
49
|
-
json.overrides = [
|
50
|
-
{
|
51
|
-
files: ['*.ts', '*.tsx', '*.js', '*.jsx'],
|
52
|
-
parserOptions: {
|
53
|
-
project: parserOptionsProjectVal,
|
54
|
-
},
|
55
|
-
/**
|
56
|
-
* Having an empty rules object present makes it more obvious to the user where they would
|
57
|
-
* extend things from if they needed to
|
58
|
-
*/
|
59
|
-
rules: {},
|
60
|
-
},
|
61
|
-
{
|
62
|
-
files: ['*.ts', '*.tsx'],
|
63
|
-
rules: {},
|
64
|
-
},
|
65
|
-
{
|
66
|
-
files: ['*.js', '*.jsx'],
|
67
|
-
rules: {},
|
68
|
-
},
|
69
|
-
];
|
70
|
-
}
|
71
|
-
else {
|
72
|
-
if (!json.overrides.some((o) => o.parserOptions && o.parserOptions.project)) {
|
73
|
-
json.overrides.unshift({
|
74
|
-
files: ['*.ts', '*.tsx', '*.js', '*.jsx'],
|
75
|
-
parserOptions: {
|
76
|
-
project: parserOptionsProjectVal,
|
77
|
-
},
|
78
|
-
rules: {},
|
79
|
-
});
|
80
|
-
}
|
81
|
-
}
|
82
|
-
return json;
|
83
|
-
});
|
84
|
-
});
|
85
|
-
}
|
86
|
-
function updateTsConfigsWithEslint(host) {
|
87
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
88
|
-
updateRootESLintConfig(host);
|
89
|
-
updateProjectESLintConfigs(host);
|
90
|
-
yield (0, devkit_1.formatFiles)(host);
|
91
|
-
});
|
92
|
-
}
|
93
|
-
exports.updateTsConfigsWithEslint = updateTsConfigsWithEslint;
|
94
|
-
exports.default = updateTsConfigsWithEslint;
|
95
|
-
//# sourceMappingURL=always-use-project-level-tsconfigs-with-eslint.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"always-use-project-level-tsconfigs-with-eslint.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/migrations/update-11-5-0/always-use-project-level-tsconfigs-with-eslint.ts"],"names":[],"mappings":"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"}
|