@nrwl/linter 16.0.0-beta.0 → 16.0.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/executors.json +5 -5
- package/generators.json +2 -28
- package/index.d.ts +1 -5
- package/index.js +1 -13
- package/index.js.map +1 -1
- package/package.json +7 -20
- package/README.md +0 -61
- package/migrations.json +0 -226
- package/src/executors/eslint/compat.d.ts +0 -2
- package/src/executors/eslint/compat.js +0 -6
- package/src/executors/eslint/compat.js.map +0 -1
- package/src/executors/eslint/hasher.d.ts +0 -7
- package/src/executors/eslint/hasher.js +0 -47
- package/src/executors/eslint/hasher.js.map +0 -1
- package/src/executors/eslint/lint.impl.d.ts +0 -5
- package/src/executors/eslint/lint.impl.js +0 -116
- package/src/executors/eslint/lint.impl.js.map +0 -1
- package/src/executors/eslint/schema.d.ts +0 -38
- package/src/executors/eslint/schema.json +0 -139
- package/src/executors/eslint/utility/eslint-utils.d.ts +0 -4
- package/src/executors/eslint/utility/eslint-utils.js +0 -52
- package/src/executors/eslint/utility/eslint-utils.js.map +0 -1
- package/src/generators/init/global-eslint-config.d.ts +0 -36
- package/src/generators/init/global-eslint-config.js +0 -77
- package/src/generators/init/global-eslint-config.js.map +0 -1
- package/src/generators/init/init-migration.d.ts +0 -3
- package/src/generators/init/init-migration.js +0 -68
- package/src/generators/init/init-migration.js.map +0 -1
- package/src/generators/init/init.d.ts +0 -9
- package/src/generators/init/init.js +0 -63
- package/src/generators/init/init.js.map +0 -1
- package/src/generators/lint-project/lint-project.d.ts +0 -16
- package/src/generators/lint-project/lint-project.js +0 -137
- package/src/generators/lint-project/lint-project.js.map +0 -1
- package/src/generators/utils/eslint-file.d.ts +0 -4
- package/src/generators/utils/eslint-file.js +0 -27
- package/src/generators/utils/eslint-file.js.map +0 -1
- package/src/generators/utils/eslint-targets.d.ts +0 -2
- package/src/generators/utils/eslint-targets.js +0 -13
- package/src/generators/utils/eslint-targets.js.map +0 -1
- package/src/generators/utils/linter.d.ts +0 -4
- package/src/generators/utils/linter.js +0 -9
- package/src/generators/utils/linter.js.map +0 -1
- package/src/generators/workspace-rule/files/__name__.spec.ts__tmpl__ +0 -11
- package/src/generators/workspace-rule/files/__name__.ts__tmpl__ +0 -37
- package/src/generators/workspace-rule/schema.json +0 -26
- package/src/generators/workspace-rule/workspace-rule.d.ts +0 -7
- package/src/generators/workspace-rule/workspace-rule.js +0 -79
- package/src/generators/workspace-rule/workspace-rule.js.map +0 -1
- package/src/generators/workspace-rules-project/files/index.ts__tmpl__ +0 -27
- package/src/generators/workspace-rules-project/files/tsconfig.json__tmpl__ +0 -13
- package/src/generators/workspace-rules-project/files/tsconfig.lint.json__tmpl__ +0 -9
- package/src/generators/workspace-rules-project/schema.json +0 -23
- package/src/generators/workspace-rules-project/workspace-rules-project.d.ts +0 -8
- package/src/generators/workspace-rules-project/workspace-rules-project.js +0 -86
- package/src/generators/workspace-rules-project/workspace-rules-project.js.map +0 -1
- package/src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules.d.ts +0 -2
- package/src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules.js +0 -32
- package/src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules.js.map +0 -1
- package/src/migrations/update-12-9-0/add-outputs.d.ts +0 -2
- package/src/migrations/update-12-9-0/add-outputs.js +0 -23
- package/src/migrations/update-12-9-0/add-outputs.js.map +0 -1
- package/src/migrations/update-13-3-0/eslint-8-updates.d.ts +0 -2
- package/src/migrations/update-13-3-0/eslint-8-updates.js +0 -44
- package/src/migrations/update-13-3-0/eslint-8-updates.js.map +0 -1
- package/src/migrations/update-14-1-9/add-swc-deps-if-needed.d.ts +0 -2
- package/src/migrations/update-14-1-9/add-swc-deps-if-needed.js +0 -20
- package/src/migrations/update-14-1-9/add-swc-deps-if-needed.js.map +0 -1
- package/src/migrations/update-14-4-4/experimental-to-utils-deps.d.ts +0 -2
- package/src/migrations/update-14-4-4/experimental-to-utils-deps.js +0 -30
- package/src/migrations/update-14-4-4/experimental-to-utils-deps.js.map +0 -1
- package/src/migrations/update-14-4-4/experimental-to-utils-rules.d.ts +0 -2
- package/src/migrations/update-14-4-4/experimental-to-utils-rules.js +0 -38
- package/src/migrations/update-14-4-4/experimental-to-utils-rules.js.map +0 -1
- package/src/migrations/update-15-0-0/add-eslint-inputs.d.ts +0 -2
- package/src/migrations/update-15-0-0/add-eslint-inputs.js +0 -33
- package/src/migrations/update-15-0-0/add-eslint-inputs.js.map +0 -1
- package/src/migrations/update-15-7-1/add-eslint-ignore.d.ts +0 -2
- package/src/migrations/update-15-7-1/add-eslint-ignore.js +0 -42
- package/src/migrations/update-15-7-1/add-eslint-ignore.js.map +0 -1
- package/src/utils/convert-tslint-to-eslint/convert-nx-enforce-module-boundaries-rule.d.ts +0 -5
- package/src/utils/convert-tslint-to-eslint/convert-nx-enforce-module-boundaries-rule.js +0 -57
- package/src/utils/convert-tslint-to-eslint/convert-nx-enforce-module-boundaries-rule.js.map +0 -1
- package/src/utils/convert-tslint-to-eslint/convert-to-eslint-config.d.ts +0 -9
- package/src/utils/convert-tslint-to-eslint/convert-to-eslint-config.js +0 -152
- package/src/utils/convert-tslint-to-eslint/convert-to-eslint-config.js.map +0 -1
- package/src/utils/convert-tslint-to-eslint/example-tslint-configs.d.ts +0 -326
- package/src/utils/convert-tslint-to-eslint/example-tslint-configs.js +0 -325
- package/src/utils/convert-tslint-to-eslint/example-tslint-configs.js.map +0 -1
- package/src/utils/convert-tslint-to-eslint/index.d.ts +0 -2
- package/src/utils/convert-tslint-to-eslint/index.js +0 -9
- package/src/utils/convert-tslint-to-eslint/index.js.map +0 -1
- package/src/utils/convert-tslint-to-eslint/project-converter.d.ts +0 -72
- package/src/utils/convert-tslint-to-eslint/project-converter.js +0 -396
- package/src/utils/convert-tslint-to-eslint/project-converter.js.map +0 -1
- package/src/utils/convert-tslint-to-eslint/utils.d.ts +0 -10
- package/src/utils/convert-tslint-to-eslint/utils.js +0 -91
- package/src/utils/convert-tslint-to-eslint/utils.js.map +0 -1
- package/src/utils/rules-requiring-type-checking.d.ts +0 -3
- package/src/utils/rules-requiring-type-checking.js +0 -88
- package/src/utils/rules-requiring-type-checking.js.map +0 -1
- package/src/utils/testing.d.ts +0 -2
- package/src/utils/testing.js +0 -13
- package/src/utils/testing.js.map +0 -1
- package/src/utils/versions.d.ts +0 -5
- package/src/utils/versions.js +0 -9
- package/src/utils/versions.js.map +0 -1
- package/src/utils/workspace-lint-rules.d.ts +0 -1
- package/src/utils/workspace-lint-rules.js +0 -6
- package/src/utils/workspace-lint-rules.js.map +0 -1
package/executors.json
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
{
|
2
2
|
"builders": {
|
3
3
|
"eslint": {
|
4
|
-
"implementation": "
|
5
|
-
"schema": "
|
4
|
+
"implementation": "@nx/linter/src/executors/eslint/compat",
|
5
|
+
"schema": "@nx/linter/src/executors/eslint/schema.json",
|
6
6
|
"description": "Run ESLint on a project."
|
7
7
|
}
|
8
8
|
},
|
9
9
|
"executors": {
|
10
10
|
"eslint": {
|
11
|
-
"implementation": "
|
12
|
-
"schema": "
|
13
|
-
"hasher": "
|
11
|
+
"implementation": "@nx/linter/src/executors/eslint/lint.impl",
|
12
|
+
"schema": "@nx/linter/src/executors/eslint/schema.json",
|
13
|
+
"hasher": "@nx/linter/src/executors/eslint/hasher",
|
14
14
|
"description": "Run ESLint on a project."
|
15
15
|
}
|
16
16
|
}
|
package/generators.json
CHANGED
@@ -1,30 +1,4 @@
|
|
1
1
|
{
|
2
|
-
"
|
3
|
-
"
|
4
|
-
"schematics": {
|
5
|
-
"workspace-rules-project": {
|
6
|
-
"factory": "./src/generators/workspace-rules-project/workspace-rules-project#lintWorkspaceRulesProjectSchematic",
|
7
|
-
"schema": "./src/generators/workspace-rules-project/schema.json",
|
8
|
-
"description": "Create the Workspace Lint Rules Project.",
|
9
|
-
"hidden": true
|
10
|
-
},
|
11
|
-
"workspace-rule": {
|
12
|
-
"factory": "./src/generators/workspace-rule/workspace-rule#lintWorkspaceRuleSchematic",
|
13
|
-
"schema": "./src/generators/workspace-rule/schema.json",
|
14
|
-
"description": "Create a new Workspace ESLint rule."
|
15
|
-
}
|
16
|
-
},
|
17
|
-
"generators": {
|
18
|
-
"workspace-rules-project": {
|
19
|
-
"factory": "./src/generators/workspace-rules-project/workspace-rules-project#lintWorkspaceRulesProjectGenerator",
|
20
|
-
"schema": "./src/generators/workspace-rules-project/schema.json",
|
21
|
-
"description": "Create the Workspace Lint Rules Project.",
|
22
|
-
"hidden": true
|
23
|
-
},
|
24
|
-
"workspace-rule": {
|
25
|
-
"factory": "./src/generators/workspace-rule/workspace-rule#lintWorkspaceRuleGenerator",
|
26
|
-
"schema": "./src/generators/workspace-rule/schema.json",
|
27
|
-
"description": "Create a new Workspace ESLint rule."
|
28
|
-
}
|
29
|
-
}
|
2
|
+
"extends": ["@nx/linter"],
|
3
|
+
"schematics": {}
|
30
4
|
}
|
package/index.d.ts
CHANGED
@@ -1,5 +1 @@
|
|
1
|
-
export
|
2
|
-
export { lintInitGenerator } from './src/generators/init/init';
|
3
|
-
export { Linter } from './src/generators/utils/linter';
|
4
|
-
export * from './src/utils/convert-tslint-to-eslint';
|
5
|
-
export { hasRulesRequiringTypeChecking } from './src/utils/rules-requiring-type-checking';
|
1
|
+
export * from '@nx/linter';
|
package/index.js
CHANGED
@@ -1,17 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.hasRulesRequiringTypeChecking = exports.Linter = exports.lintInitGenerator = exports.lintProjectGenerator = void 0;
|
4
3
|
const tslib_1 = require("tslib");
|
5
|
-
|
6
|
-
Object.defineProperty(exports, "lintProjectGenerator", { enumerable: true, get: function () { return lint_project_1.lintProjectGenerator; } });
|
7
|
-
var init_1 = require("./src/generators/init/init");
|
8
|
-
Object.defineProperty(exports, "lintInitGenerator", { enumerable: true, get: function () { return init_1.lintInitGenerator; } });
|
9
|
-
var linter_1 = require("./src/generators/utils/linter");
|
10
|
-
Object.defineProperty(exports, "Linter", { enumerable: true, get: function () { return linter_1.Linter; } });
|
11
|
-
tslib_1.__exportStar(require("./src/utils/convert-tslint-to-eslint"), exports);
|
12
|
-
// @nrwl/angular needs it for the Angular CLI workspace migration to Nx to
|
13
|
-
// infer whether a config is using type aware rules and set the
|
14
|
-
// `hasTypeAwareRules` option of the `@nrwl/linter:eslint` executor.
|
15
|
-
var rules_requiring_type_checking_1 = require("./src/utils/rules-requiring-type-checking");
|
16
|
-
Object.defineProperty(exports, "hasRulesRequiringTypeChecking", { enumerable: true, get: function () { return rules_requiring_type_checking_1.hasRulesRequiringTypeChecking; } });
|
4
|
+
tslib_1.__exportStar(require("@nx/linter"), exports);
|
17
5
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/linter/index.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages-legacy/linter/index.ts"],"names":[],"mappings":";;;AAAA,qDAA2B"}
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nrwl/linter",
|
3
|
-
"version": "16.0.0-beta.
|
3
|
+
"version": "16.0.0-beta.1",
|
4
4
|
"private": false,
|
5
5
|
"description": "The Linter plugin for Nx contains executors, generators and utilities used for linting JavaScript/TypeScript projects within an Nx workspace.",
|
6
6
|
"repository": {
|
7
7
|
"type": "git",
|
8
8
|
"url": "https://github.com/nrwl/nx.git",
|
9
|
-
"directory": "packages/linter"
|
9
|
+
"directory": "packages-legacy/linter"
|
10
10
|
},
|
11
11
|
"keywords": [
|
12
12
|
"Monorepo",
|
@@ -23,30 +23,17 @@
|
|
23
23
|
"url": "https://github.com/nrwl/nx/issues"
|
24
24
|
},
|
25
25
|
"homepage": "https://nx.dev",
|
26
|
-
"ng-update": {
|
27
|
-
"requirements": {},
|
28
|
-
"migrations": "./migrations.json"
|
29
|
-
},
|
30
26
|
"builders": "./executors.json",
|
31
27
|
"schematics": "./generators.json",
|
32
|
-
"peerDependencies": {
|
33
|
-
"eslint": "^8.0.0"
|
34
|
-
},
|
35
28
|
"dependencies": {
|
36
|
-
"@
|
37
|
-
"@nrwl/js": "16.0.0-beta.0",
|
38
|
-
"@phenomnomnominal/tsquery": "~5.0.1",
|
39
|
-
"tmp": "~0.2.1",
|
40
|
-
"tslib": "^2.3.0"
|
41
|
-
},
|
42
|
-
"peerDependenciesMeta": {
|
43
|
-
"eslint": {
|
44
|
-
"optional": true
|
45
|
-
}
|
29
|
+
"@nx/linter": "16.0.0-beta.1"
|
46
30
|
},
|
47
31
|
"publishConfig": {
|
48
32
|
"access": "public"
|
49
33
|
},
|
34
|
+
"nx-migrations": {
|
35
|
+
"migrations": "@nx/linter/migrations.json"
|
36
|
+
},
|
50
37
|
"types": "./index.d.ts",
|
51
|
-
"gitHead": "
|
38
|
+
"gitHead": "abf534c265f5aa3aac146e55bb31de598ea281d7"
|
52
39
|
}
|
package/README.md
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
<p style="text-align: center;"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx.png" width="600" alt="Nx - Smart, Fast and Extensible Build System"></p>
|
2
|
-
|
3
|
-
<div style="text-align: center;">
|
4
|
-
|
5
|
-
[![CircleCI](https://circleci.com/gh/nrwl/nx.svg?style=svg)](https://circleci.com/gh/nrwl/nx)
|
6
|
-
[![License](https://img.shields.io/npm/l/@nrwl/workspace.svg?style=flat-square)]()
|
7
|
-
[![NPM Version](https://badge.fury.io/js/%40nrwl%2Fworkspace.svg)](https://www.npmjs.com/@nrwl/workspace)
|
8
|
-
[![Semantic Release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)]()
|
9
|
-
[![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)
|
10
|
-
[![Join the chat at https://gitter.im/nrwl-nx/community](https://badges.gitter.im/nrwl-nx/community.svg)](https://gitter.im/nrwl-nx/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
11
|
-
[![Join us @nrwl/community on slack](https://img.shields.io/badge/slack-%40nrwl%2Fcommunity-brightgreen)](https://join.slack.com/t/nrwlcommunity/shared_invite/enQtNzU5MTE4OTQwOTk0LTgxY2E0ZWYzMWE0YzA5ZDA2MWM1NDVhNmI2ZWMyYmZhNWJiODk3MjkxZjY3MzU5ZjRmM2NmNWU1OTgyZmE4Mzc)
|
12
|
-
|
13
|
-
</div>
|
14
|
-
|
15
|
-
|
16
|
-
<hr>
|
17
|
-
|
18
|
-
# Nx: Smart, Fast and Extensible Build System
|
19
|
-
|
20
|
-
Nx is a next generation build system with first class monorepo support and powerful integrations.
|
21
|
-
|
22
|
-
## Getting Started
|
23
|
-
|
24
|
-
### Creating an Nx Workspace
|
25
|
-
|
26
|
-
**Using `npx`**
|
27
|
-
|
28
|
-
```bash
|
29
|
-
npx create-nx-workspace
|
30
|
-
```
|
31
|
-
|
32
|
-
**Using `npm init`**
|
33
|
-
|
34
|
-
```bash
|
35
|
-
npm init nx-workspace
|
36
|
-
```
|
37
|
-
|
38
|
-
**Using `yarn create`**
|
39
|
-
|
40
|
-
```bash
|
41
|
-
yarn create nx-workspace
|
42
|
-
```
|
43
|
-
|
44
|
-
### Adding Nx to an Existing Repository
|
45
|
-
|
46
|
-
Run:
|
47
|
-
|
48
|
-
```bash
|
49
|
-
npx nx@latest init
|
50
|
-
```
|
51
|
-
|
52
|
-
## Documentation & Resources
|
53
|
-
|
54
|
-
- [Nx.Dev: Documentation, Guides, Tutorials](https://nx.dev)
|
55
|
-
- [Intro to Nx](https://nx.dev/getting-started/intro)
|
56
|
-
- [Official Nx YouTube Channel](https://www.youtube.com/@NxDevtools)
|
57
|
-
- [Blog Posts About Nx](https://blog.nrwl.io/nx/home)
|
58
|
-
|
59
|
-
<p style="text-align: center;"><a href="https://nx.dev/#learning-materials" target="_blank" rel="noreferrer"><img src="https://raw.githubusercontent.com/nrwl/nx/master/images/nx-courses-and-videos.svg"
|
60
|
-
width="100%" alt="Nx - Smart, Fast and Extensible Build System"></a></p>
|
61
|
-
|
package/migrations.json
DELETED
@@ -1,226 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"schematics": {
|
3
|
-
"remove-eslint-project-config-if-no-type-checking-rules": {
|
4
|
-
"cli": "nx",
|
5
|
-
"version": "12.4.0-beta.0",
|
6
|
-
"description": "Remove ESLint parserOptions.project config if no rules requiring type-checking are in use",
|
7
|
-
"factory": "./src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules"
|
8
|
-
},
|
9
|
-
"add-outputs": {
|
10
|
-
"cli": "nx",
|
11
|
-
"version": "12.9.0-beta.0",
|
12
|
-
"description": "Add outputs for caching",
|
13
|
-
"factory": "./src/migrations/update-12-9-0/add-outputs"
|
14
|
-
},
|
15
|
-
"remove-eslint-project-config-if-no-type-checking-rules-again": {
|
16
|
-
"cli": "nx",
|
17
|
-
"version": "12.9.0-beta.0",
|
18
|
-
"description": "Remove ESLint parserOptions.project config if no rules requiring type-checking are in use",
|
19
|
-
"factory": "./src/migrations/update-12-4-0/remove-eslint-project-config-if-no-type-checking-rules"
|
20
|
-
},
|
21
|
-
"eslint-8-updates": {
|
22
|
-
"cli": "nx",
|
23
|
-
"version": "13.3.0-beta.0",
|
24
|
-
"description": "Update eslint-rules jest.config.js in order to support ESLint v8 exports mapping, remove category field",
|
25
|
-
"factory": "./src/migrations/update-13-3-0/eslint-8-updates"
|
26
|
-
},
|
27
|
-
"add-swc-deps": {
|
28
|
-
"cli": "nx",
|
29
|
-
"version": "14.1.9-beta.0",
|
30
|
-
"description": "Adds @swc/core and @swc-node as a dev dep if you are using them",
|
31
|
-
"factory": "./src/migrations/update-14-1-9/add-swc-deps-if-needed"
|
32
|
-
},
|
33
|
-
"add-swc-deps-again": {
|
34
|
-
"cli": "nx",
|
35
|
-
"version": "14.2.3-beta.0",
|
36
|
-
"description": "Adds @swc/core and @swc-node as a dev dep if you are using them (repeated due to prior mistake)",
|
37
|
-
"factory": "./src/migrations/update-14-1-9/add-swc-deps-if-needed"
|
38
|
-
},
|
39
|
-
"experimental-to-utils-deps": {
|
40
|
-
"cli": "nx",
|
41
|
-
"version": "14.4.4",
|
42
|
-
"description": "Adds @typescript-eslint/utils as a dev dep",
|
43
|
-
"factory": "./src/migrations/update-14-4-4/experimental-to-utils-deps"
|
44
|
-
},
|
45
|
-
"experimental-to-utils-rules": {
|
46
|
-
"cli": "nx",
|
47
|
-
"version": "14.4.4",
|
48
|
-
"description": "Switch from @typescript-eslint/experimental-utils to @typescript-eslint/utils in all rules and rules.spec files",
|
49
|
-
"factory": "./src/migrations/update-14-4-4/experimental-to-utils-rules"
|
50
|
-
},
|
51
|
-
"add-eslint-inputs": {
|
52
|
-
"cli": "nx",
|
53
|
-
"version": "15.0.0-beta.0",
|
54
|
-
"description": "Stop hashing eslint config files for build targets and dependent tasks",
|
55
|
-
"factory": "./src/migrations/update-15-0-0/add-eslint-inputs"
|
56
|
-
},
|
57
|
-
"add-eslint-ignore": {
|
58
|
-
"cli": "nx",
|
59
|
-
"version": "15.7.1-beta.0",
|
60
|
-
"description": "Add node_modules to root eslint ignore",
|
61
|
-
"factory": "./src/migrations/update-15-7-1/add-eslint-ignore"
|
62
|
-
}
|
63
|
-
},
|
64
|
-
"packageJsonUpdates": {
|
65
|
-
"12.6.0": {
|
66
|
-
"version": "12.6.0-beta.8",
|
67
|
-
"packages": {
|
68
|
-
"@typescript-eslint/parser": {
|
69
|
-
"version": "~4.28.0"
|
70
|
-
},
|
71
|
-
"@typescript-eslint/eslint-plugin": {
|
72
|
-
"version": "~4.28.0"
|
73
|
-
}
|
74
|
-
}
|
75
|
-
},
|
76
|
-
"12.10.0": {
|
77
|
-
"version": "12.10.0-beta.1",
|
78
|
-
"packages": {
|
79
|
-
"@typescript-eslint/parser": {
|
80
|
-
"version": "~4.31.1"
|
81
|
-
},
|
82
|
-
"@typescript-eslint/eslint-plugin": {
|
83
|
-
"version": "~4.31.1"
|
84
|
-
},
|
85
|
-
"@typescript-eslint/experimental-utils": {
|
86
|
-
"version": "~4.31.1"
|
87
|
-
}
|
88
|
-
}
|
89
|
-
},
|
90
|
-
"13.0.0": {
|
91
|
-
"version": "12.10.0",
|
92
|
-
"packages": {
|
93
|
-
"@typescript-eslint/parser": {
|
94
|
-
"version": "~4.33.0"
|
95
|
-
},
|
96
|
-
"@typescript-eslint/eslint-plugin": {
|
97
|
-
"version": "~4.33.0"
|
98
|
-
},
|
99
|
-
"@typescript-eslint/experimental-utils": {
|
100
|
-
"version": "~4.33.0"
|
101
|
-
},
|
102
|
-
"eslint": {
|
103
|
-
"version": "7.32.0"
|
104
|
-
}
|
105
|
-
}
|
106
|
-
},
|
107
|
-
"13.3.0": {
|
108
|
-
"version": "13.3.0-beta.0",
|
109
|
-
"packages": {
|
110
|
-
"@typescript-eslint/parser": {
|
111
|
-
"version": "~5.3.0"
|
112
|
-
},
|
113
|
-
"@typescript-eslint/eslint-plugin": {
|
114
|
-
"version": "~5.3.0"
|
115
|
-
},
|
116
|
-
"@typescript-eslint/experimental-utils": {
|
117
|
-
"version": "~5.3.0"
|
118
|
-
},
|
119
|
-
"eslint": {
|
120
|
-
"version": "8.2.0"
|
121
|
-
}
|
122
|
-
}
|
123
|
-
},
|
124
|
-
"13.7.0": {
|
125
|
-
"version": "13.7.0-beta.0",
|
126
|
-
"packages": {
|
127
|
-
"@typescript-eslint/parser": {
|
128
|
-
"version": "~5.10.0"
|
129
|
-
},
|
130
|
-
"@typescript-eslint/eslint-plugin": {
|
131
|
-
"version": "~5.10.0"
|
132
|
-
},
|
133
|
-
"@typescript-eslint/experimental-utils": {
|
134
|
-
"version": "~5.10.0"
|
135
|
-
},
|
136
|
-
"eslint": {
|
137
|
-
"version": "~8.7.0"
|
138
|
-
}
|
139
|
-
}
|
140
|
-
},
|
141
|
-
"13.10.0": {
|
142
|
-
"version": "13.10.0-beta.0",
|
143
|
-
"packages": {
|
144
|
-
"@typescript-eslint/parser": {
|
145
|
-
"version": "~5.18.0"
|
146
|
-
},
|
147
|
-
"@typescript-eslint/eslint-plugin": {
|
148
|
-
"version": "~5.18.0"
|
149
|
-
},
|
150
|
-
"@typescript-eslint/experimental-utils": {
|
151
|
-
"version": "~5.18.0"
|
152
|
-
},
|
153
|
-
"eslint": {
|
154
|
-
"version": "~8.12.0"
|
155
|
-
}
|
156
|
-
}
|
157
|
-
},
|
158
|
-
"14.2.0": {
|
159
|
-
"version": "14.2.0-beta.0",
|
160
|
-
"packages": {
|
161
|
-
"@typescript-eslint/parser": {
|
162
|
-
"version": "~5.24.0"
|
163
|
-
},
|
164
|
-
"@typescript-eslint/eslint-plugin": {
|
165
|
-
"version": "~5.24.0"
|
166
|
-
},
|
167
|
-
"@typescript-eslint/experimental-utils": {
|
168
|
-
"version": "~5.24.0"
|
169
|
-
},
|
170
|
-
"eslint": {
|
171
|
-
"version": "~8.15.0"
|
172
|
-
}
|
173
|
-
}
|
174
|
-
},
|
175
|
-
"14.3.7": {
|
176
|
-
"version": "14.3.6",
|
177
|
-
"packages": {
|
178
|
-
"@typescript-eslint/parser": {
|
179
|
-
"version": "^5.29.0"
|
180
|
-
},
|
181
|
-
"@typescript-eslint/eslint-plugin": {
|
182
|
-
"version": "^5.29.0"
|
183
|
-
},
|
184
|
-
"@typescript-eslint/experimental-utils": {
|
185
|
-
"version": "^5.29.0"
|
186
|
-
}
|
187
|
-
}
|
188
|
-
},
|
189
|
-
"14.4.4": {
|
190
|
-
"version": "14.4.4",
|
191
|
-
"packages": {
|
192
|
-
"@typescript-eslint/utils": {
|
193
|
-
"version": "^5.29.0"
|
194
|
-
}
|
195
|
-
}
|
196
|
-
},
|
197
|
-
"14.6.0": {
|
198
|
-
"version": "14.6.0-rc.2",
|
199
|
-
"packages": {
|
200
|
-
"@typescript-eslint/parser": {
|
201
|
-
"version": "~5.33.1"
|
202
|
-
},
|
203
|
-
"@typescript-eslint/eslint-plugin": {
|
204
|
-
"version": "~5.33.1"
|
205
|
-
},
|
206
|
-
"@typescript-eslint/utils": {
|
207
|
-
"version": "~5.33.1"
|
208
|
-
}
|
209
|
-
}
|
210
|
-
},
|
211
|
-
"14.8.0": {
|
212
|
-
"version": "14.8.0-beta.0",
|
213
|
-
"packages": {
|
214
|
-
"@typescript-eslint/parser": {
|
215
|
-
"version": "^5.36.1"
|
216
|
-
},
|
217
|
-
"@typescript-eslint/eslint-plugin": {
|
218
|
-
"version": "^5.36.1"
|
219
|
-
},
|
220
|
-
"@typescript-eslint/utils": {
|
221
|
-
"version": "^5.36.1"
|
222
|
-
}
|
223
|
-
}
|
224
|
-
}
|
225
|
-
}
|
226
|
-
}
|
@@ -1,6 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const devkit_1 = require("@nrwl/devkit");
|
4
|
-
const lint_impl_1 = require("./lint.impl");
|
5
|
-
exports.default = (0, devkit_1.convertNxExecutor)(lint_impl_1.default);
|
6
|
-
//# sourceMappingURL=compat.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/executors/eslint/compat.ts"],"names":[],"mappings":";;AAAA,yCAAiD;AAEjD,2CAAuC;AAEvC,kBAAe,IAAA,0BAAiB,EAAC,mBAAY,CAAC,CAAC"}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
import { ProjectGraph, Task, TaskGraph, ProjectsConfigurations, Hasher, Hash } from '@nrwl/devkit';
|
2
|
-
export default function run(task: Task, context: {
|
3
|
-
hasher: Hasher;
|
4
|
-
projectGraph: ProjectGraph;
|
5
|
-
taskGraph: TaskGraph;
|
6
|
-
projectsConfigurations: ProjectsConfigurations;
|
7
|
-
}): Promise<Hash>;
|
@@ -1,47 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const tslib_1 = require("tslib");
|
4
|
-
function run(task, context) {
|
5
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
6
|
-
const res = yield context.hasher.hashTask(task);
|
7
|
-
if (task.overrides['hasTypeAwareRules'] === true) {
|
8
|
-
return res;
|
9
|
-
}
|
10
|
-
const deps = allDeps(task.id, context.taskGraph, context.projectGraph);
|
11
|
-
const tags = context.hasher.hashArray(deps.map((d) => (context.projectsConfigurations.projects[d].tags || []).join('|')));
|
12
|
-
const command = res.details['command'];
|
13
|
-
let selfSource = '';
|
14
|
-
for (let n of Object.keys(res.details)) {
|
15
|
-
if (n.startsWith(`${task.target.project}:`)) {
|
16
|
-
selfSource = res.details.nodes[n];
|
17
|
-
}
|
18
|
-
}
|
19
|
-
const nodes = {};
|
20
|
-
const hashes = [];
|
21
|
-
for (const d of Object.keys(res.details.nodes)) {
|
22
|
-
if (d.indexOf('$fileset') === -1) {
|
23
|
-
nodes[d] = res.details.nodes[d];
|
24
|
-
hashes.push(res.details.nodes[d]);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
return {
|
28
|
-
value: context.hasher.hashArray([command, selfSource, ...hashes, tags]),
|
29
|
-
details: {
|
30
|
-
command,
|
31
|
-
nodes: Object.assign({ [task.target.project]: selfSource, tags }, nodes),
|
32
|
-
},
|
33
|
-
};
|
34
|
-
});
|
35
|
-
}
|
36
|
-
exports.default = run;
|
37
|
-
function allDeps(taskId, taskGraph, projectGraph) {
|
38
|
-
if (!taskGraph.tasks) {
|
39
|
-
return [];
|
40
|
-
}
|
41
|
-
const project = taskGraph.tasks[taskId].target.project;
|
42
|
-
const dependencies = projectGraph.dependencies[project]
|
43
|
-
.filter((d) => !!projectGraph.nodes[d.target])
|
44
|
-
.map((d) => d.target);
|
45
|
-
return dependencies;
|
46
|
-
}
|
47
|
-
//# sourceMappingURL=hasher.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/executors/eslint/hasher.ts"],"names":[],"mappings":";;;AASA,SAA8B,GAAG,CAC/B,IAAU,EACV,OAKC;;QAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,IAAI,EAAE;YAChD,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CACnC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACb,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAClE,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACtC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE;gBAC3C,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACnC;SACF;QAED,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,EAAc,CAAC;QAC9B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9C,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;gBAChC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aACnC;SACF;QACD,OAAO;YACL,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;YACvE,OAAO,EAAE;gBACP,OAAO;gBACP,KAAK,kBAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,IAAI,IAAK,KAAK,CAAE;aAC7D;SACF,CAAC;IACJ,CAAC;CAAA;AA5CD,sBA4CC;AAED,SAAS,OAAO,CACd,MAAc,EACd,SAAoB,EACpB,YAA0B;IAE1B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;QACpB,OAAO,EAAE,CAAC;KACX;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IACvD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC;SACpD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,YAAY,CAAC;AACtB,CAAC"}
|
@@ -1,116 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
const tslib_1 = require("tslib");
|
4
|
-
const eslint_1 = require("eslint");
|
5
|
-
const fs_1 = require("fs");
|
6
|
-
const path_1 = require("path");
|
7
|
-
const eslint_utils_1 = require("./utility/eslint-utils");
|
8
|
-
function run(options, context) {
|
9
|
-
var _a, _b, _c, _d, _e;
|
10
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
11
|
-
// this is only used for the hasher
|
12
|
-
delete options.hasTypeAwareRules;
|
13
|
-
const systemRoot = context.root;
|
14
|
-
// eslint resolves files relative to the current working directory.
|
15
|
-
// We want these paths to always be resolved relative to the workspace
|
16
|
-
// root to be able to run the lint executor from any subfolder.
|
17
|
-
process.chdir(systemRoot);
|
18
|
-
const projectName = context.projectName || '<???>';
|
19
|
-
const printInfo = options.format && !options.silent;
|
20
|
-
if (printInfo) {
|
21
|
-
console.info(`\nLinting ${JSON.stringify(projectName)}...`);
|
22
|
-
}
|
23
|
-
const projectESLint = yield (0, eslint_utils_1.loadESLint)();
|
24
|
-
const version = (_b = (_a = projectESLint.ESLint) === null || _a === void 0 ? void 0 : _a.version) === null || _b === void 0 ? void 0 : _b.split('.');
|
25
|
-
if (!version ||
|
26
|
-
version.length < 2 ||
|
27
|
-
Number(version[0]) < 7 ||
|
28
|
-
(Number(version[0]) === 7 && Number(version[1]) < 6)) {
|
29
|
-
throw new Error('ESLint must be version 7.6 or higher.');
|
30
|
-
}
|
31
|
-
const eslint = new projectESLint.ESLint({});
|
32
|
-
/**
|
33
|
-
* We want users to have the option of not specifying the config path, and let
|
34
|
-
* eslint automatically resolve the `.eslintrc.json` files in each folder.
|
35
|
-
*/
|
36
|
-
const eslintConfigPath = options.eslintConfig
|
37
|
-
? (0, path_1.resolve)(systemRoot, options.eslintConfig)
|
38
|
-
: undefined;
|
39
|
-
options.cacheLocation = options.cacheLocation
|
40
|
-
? (0, path_1.join)(options.cacheLocation, projectName)
|
41
|
-
: undefined;
|
42
|
-
let lintResults = [];
|
43
|
-
try {
|
44
|
-
lintResults = yield (0, eslint_utils_1.lint)(eslintConfigPath, options);
|
45
|
-
}
|
46
|
-
catch (err) {
|
47
|
-
if (err.message.includes('You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser')) {
|
48
|
-
let eslintConfigPathForError = `for ${projectName}`;
|
49
|
-
if ((_e = (_d = (_c = context.projectsConfigurations) === null || _c === void 0 ? void 0 : _c.projects) === null || _d === void 0 ? void 0 : _d[projectName]) === null || _e === void 0 ? void 0 : _e.root) {
|
50
|
-
const { root } = context.projectsConfigurations.projects[projectName];
|
51
|
-
eslintConfigPathForError = `\`${root}/.eslintrc.json\``;
|
52
|
-
}
|
53
|
-
console.error(`
|
54
|
-
Error: You have attempted to use a lint rule which requires the full TypeScript type-checker to be available, but you do not have \`parserOptions.project\` configured to point at your project tsconfig.json files in the relevant TypeScript file "overrides" block of your project ESLint config ${eslintConfigPath || eslintConfigPathForError}
|
55
|
-
|
56
|
-
Please see https://nx.dev/guides/eslint for full guidance on how to resolve this issue.
|
57
|
-
`);
|
58
|
-
return {
|
59
|
-
success: false,
|
60
|
-
};
|
61
|
-
}
|
62
|
-
// If some unexpected error, rethrow
|
63
|
-
throw err;
|
64
|
-
}
|
65
|
-
if (lintResults.length === 0) {
|
66
|
-
const ignoredPatterns = (yield Promise.all(options.lintFilePatterns.map((pattern) => tslib_1.__awaiter(this, void 0, void 0, function* () { return (yield eslint.isPathIgnored(pattern)) ? pattern : null; }))))
|
67
|
-
.filter((pattern) => !!pattern)
|
68
|
-
.map((pattern) => `- '${pattern}'`);
|
69
|
-
if (ignoredPatterns.length) {
|
70
|
-
throw new Error(`All files matching the following patterns are ignored:\n${ignoredPatterns.join('\n')}\n\nPlease check your '.eslintignore' file.`);
|
71
|
-
}
|
72
|
-
throw new Error('Invalid lint configuration. Nothing to lint. Please check your lint target pattern(s).');
|
73
|
-
}
|
74
|
-
// output fixes to disk, if applicable based on the options
|
75
|
-
yield projectESLint.ESLint.outputFixes(lintResults);
|
76
|
-
// if quiet, only show errors
|
77
|
-
if (options.quiet) {
|
78
|
-
console.debug('Quiet mode enabled - filtering out warnings\n');
|
79
|
-
lintResults = eslint_1.ESLint.getErrorResults(lintResults);
|
80
|
-
}
|
81
|
-
const formatter = yield eslint.loadFormatter(options.format);
|
82
|
-
let totalErrors = 0;
|
83
|
-
let totalWarnings = 0;
|
84
|
-
for (const result of lintResults) {
|
85
|
-
if (result.errorCount || result.warningCount) {
|
86
|
-
totalErrors += result.errorCount;
|
87
|
-
totalWarnings += result.warningCount;
|
88
|
-
}
|
89
|
-
}
|
90
|
-
const formattedResults = yield formatter.format(lintResults);
|
91
|
-
if (options.outputFile) {
|
92
|
-
const pathToOutputFile = (0, path_1.join)(context.root, options.outputFile);
|
93
|
-
(0, fs_1.mkdirSync)((0, path_1.dirname)(pathToOutputFile), { recursive: true });
|
94
|
-
(0, fs_1.writeFileSync)(pathToOutputFile, formattedResults);
|
95
|
-
}
|
96
|
-
else {
|
97
|
-
console.info(formattedResults);
|
98
|
-
}
|
99
|
-
if (totalWarnings > 0 && printInfo) {
|
100
|
-
console.warn('Lint warnings found in the listed files.\n');
|
101
|
-
}
|
102
|
-
if (totalErrors > 0 && printInfo) {
|
103
|
-
console.error('Lint errors found in the listed files.\n');
|
104
|
-
}
|
105
|
-
if (totalWarnings === 0 && totalErrors === 0 && printInfo) {
|
106
|
-
console.info('All files pass linting.\n');
|
107
|
-
}
|
108
|
-
return {
|
109
|
-
success: options.force ||
|
110
|
-
(totalErrors === 0 &&
|
111
|
-
(options.maxWarnings === -1 || totalWarnings <= options.maxWarnings)),
|
112
|
-
};
|
113
|
-
});
|
114
|
-
}
|
115
|
-
exports.default = run;
|
116
|
-
//# sourceMappingURL=lint.impl.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"lint.impl.js","sourceRoot":"","sources":["../../../../../../packages/linter/src/executors/eslint/lint.impl.ts"],"names":[],"mappings":"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"}
|