@nrwl/nx-plugin 14.2.0-beta.5 → 14.2.0-rc.2

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/CHANGELOG.md CHANGED
@@ -3,6 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [14.2.0-beta.5](https://github.com/nrwl/nx/compare/14.1.9...14.2.0-beta.5) (2022-06-02)
6
+ # [14.2.0-rc.2](https://github.com/nrwl/nx/compare/14.1.9...14.2.0-rc.2) (2022-06-03)
7
7
 
8
8
  **Note:** Version bump only for package @nrwl/nx-plugin
package/generators.json CHANGED
@@ -28,6 +28,11 @@
28
28
  "factory": "./src/generators/executor/executor",
29
29
  "schema": "./src/generators/executor/schema.json",
30
30
  "description": "Create a executor for an Nx Plugin."
31
+ },
32
+ "plugin-lint-checks": {
33
+ "factory": "./src/generators/lint-checks/generator",
34
+ "schema": "./src/generators/lint-checks/schema.json",
35
+ "description": "Adds linting configuration to validate common json files for nx plugins."
31
36
  }
32
37
  },
33
38
  "schematics": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/nx-plugin",
3
- "version": "14.2.0-beta.5",
3
+ "version": "14.2.0-rc.2",
4
4
  "description": "Plugin for creating plugins for Nx :)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -27,14 +27,15 @@
27
27
  "migrations": "./migrations.json"
28
28
  },
29
29
  "dependencies": {
30
- "@nrwl/devkit": "14.2.0-beta.5",
31
- "@nrwl/jest": "14.2.0-beta.5",
32
- "@nrwl/js": "14.2.0-beta.5",
33
- "@nrwl/linter": "14.2.0-beta.5",
30
+ "@nrwl/devkit": "14.2.0-rc.2",
31
+ "@nrwl/jest": "14.2.0-rc.2",
32
+ "@nrwl/js": "14.2.0-rc.2",
33
+ "@nrwl/linter": "14.2.0-rc.2",
34
34
  "fs-extra": "^10.1.0",
35
35
  "rxjs": "^6.5.4",
36
+ "semver": "7.3.4",
36
37
  "tslib": "^2.3.0"
37
38
  },
38
39
  "typings": "./index.d.ts",
39
- "gitHead": "914f0ce707740743d2ca4ff08685bd5c574405da"
40
+ "gitHead": "26177d15af643cb85d6c94530b02c7b3c29bbf98"
40
41
  }
@@ -0,0 +1,7 @@
1
+ import { ProjectConfiguration, TargetConfiguration, Tree } from '@nrwl/devkit';
2
+ import { Schema as EsLintExecutorOptions } from '@nrwl/linter/src/executors/eslint/schema';
3
+ import { PluginLintChecksGeneratorSchema } from './schema';
4
+ import { PackageJson } from 'nx/src/utils/package-json';
5
+ export default function pluginLintCheckGenerator(host: Tree, options: PluginLintChecksGeneratorSchema): Promise<() => import("@nrwl/devkit").GeneratorCallback>;
6
+ export declare function addMigrationJsonChecks(host: Tree, options: PluginLintChecksGeneratorSchema, packageJson: PackageJson): void;
7
+ export declare function getEsLintOptions(project: ProjectConfiguration): [target: string, configuration: TargetConfiguration<EsLintExecutorOptions>];
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEsLintOptions = exports.addMigrationJsonChecks = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nrwl/devkit");
6
+ const versions_1 = require("../../utils/versions");
7
+ const logger_1 = require("nx/src/utils/logger");
8
+ const package_json_1 = require("nx/src/utils/package-json");
9
+ function pluginLintCheckGenerator(host, options) {
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const project = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
12
+ const packageJson = (0, devkit_1.readJson)(host, (0, devkit_1.joinPathFragments)(project.root, 'package.json'));
13
+ // This rule is eslint **only**
14
+ if (projectIsEsLintEnabled(project)) {
15
+ updateRootEslintConfig(host);
16
+ updateProjectEslintConfig(host, project, packageJson);
17
+ updateProjectTarget(host, options, packageJson);
18
+ // Project is setup for vscode
19
+ if (host.exists('.vscode')) {
20
+ setupVsCodeLintingForJsonFiles(host);
21
+ }
22
+ // Project contains migrations.json
23
+ const migrationsPath = (0, package_json_1.readNxMigrateConfig)(packageJson).migrations;
24
+ if (migrationsPath &&
25
+ host.exists((0, devkit_1.joinPathFragments)(project.root, migrationsPath))) {
26
+ addMigrationJsonChecks(host, options, packageJson);
27
+ }
28
+ }
29
+ else {
30
+ devkit_1.logger.error(`${logger_1.NX_PREFIX} plugin lint checks can only be added to plugins which use eslint for linting`);
31
+ }
32
+ const installTask = (0, devkit_1.addDependenciesToPackageJson)(host, {}, { 'jsonc-eslint-parser': versions_1.jsoncEslintParserVersion });
33
+ return () => installTask;
34
+ });
35
+ }
36
+ exports.default = pluginLintCheckGenerator;
37
+ function addMigrationJsonChecks(host, options, packageJson) {
38
+ var _a, _b;
39
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
40
+ const [eslintTarget, eslintTargetConfiguration] = getEsLintOptions(projectConfiguration);
41
+ const relativeMigrationsJsonPath = (0, package_json_1.readNxMigrateConfig)(packageJson).migrations;
42
+ if (!relativeMigrationsJsonPath) {
43
+ return;
44
+ }
45
+ const migrationsJsonPath = (0, devkit_1.joinPathFragments)(projectConfiguration.root, relativeMigrationsJsonPath);
46
+ if (eslintTarget &&
47
+ !((_b = (_a = eslintTargetConfiguration.options) === null || _a === void 0 ? void 0 : _a.lintFilePatterns) === null || _b === void 0 ? void 0 : _b.includes(migrationsJsonPath))) {
48
+ // Add to lintFilePatterns
49
+ eslintTargetConfiguration.options.lintFilePatterns.push(migrationsJsonPath);
50
+ (0, devkit_1.updateProjectConfiguration)(host, options.projectName, projectConfiguration);
51
+ // Update project level eslintrc
52
+ (0, devkit_1.updateJson)(host, `${projectConfiguration.root}/.eslintrc.json`, (c) => {
53
+ const override = c.overrides.find((o) => { var _a, _b; return (_b = Object.keys((_a = o.rules) !== null && _a !== void 0 ? _a : {})) === null || _b === void 0 ? void 0 : _b.includes('@nrwl/nx/nx-plugin-checks'); });
54
+ if (Array.isArray(override === null || override === void 0 ? void 0 : override.files) &&
55
+ !override.files.includes(relativeMigrationsJsonPath)) {
56
+ override.files.push(relativeMigrationsJsonPath);
57
+ }
58
+ return c;
59
+ });
60
+ }
61
+ }
62
+ exports.addMigrationJsonChecks = addMigrationJsonChecks;
63
+ function updateProjectTarget(host, options, packageJson) {
64
+ var _a, _b;
65
+ const project = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
66
+ if (!project.targets) {
67
+ return;
68
+ }
69
+ for (const [target, configuration] of Object.entries(project.targets)) {
70
+ if (configuration.executor === '@nrwl/linter:eslint') {
71
+ const opts = (_a = configuration.options) !== null && _a !== void 0 ? _a : {};
72
+ (_b = opts.lintFilePatterns) !== null && _b !== void 0 ? _b : (opts.lintFilePatterns = []);
73
+ if (packageJson.generators) {
74
+ opts.lintFilePatterns.push((0, devkit_1.joinPathFragments)(project.root, packageJson.generators));
75
+ }
76
+ if (packageJson.schematics &&
77
+ packageJson.schematics !== packageJson.generators) {
78
+ opts.lintFilePatterns.push((0, devkit_1.joinPathFragments)(project.root, packageJson.schematics));
79
+ }
80
+ if (packageJson.executors) {
81
+ opts.lintFilePatterns.push((0, devkit_1.joinPathFragments)(project.root, packageJson.executors));
82
+ }
83
+ if (packageJson.builders &&
84
+ packageJson.builders !== packageJson.executors) {
85
+ opts.lintFilePatterns.push((0, devkit_1.joinPathFragments)(project.root, packageJson.builders));
86
+ }
87
+ opts.lintFilePatterns.push(`${project.root}/package.json`);
88
+ opts.lintFilePatterns = [...new Set(opts.lintFilePatterns)];
89
+ project.targets[target].options = opts;
90
+ }
91
+ }
92
+ (0, devkit_1.updateProjectConfiguration)(host, options.projectName, project);
93
+ }
94
+ function updateProjectEslintConfig(host, options, packageJson) {
95
+ var _a;
96
+ // Update the project level lint configuration to specify
97
+ // the plugin schema rule for generated files
98
+ const eslintPath = `${options.root}/.eslintrc.json`;
99
+ const eslintConfig = (0, devkit_1.readJson)(host, eslintPath);
100
+ (_a = eslintConfig.overrides) !== null && _a !== void 0 ? _a : (eslintConfig.overrides = []);
101
+ if (!eslintConfig.overrides.some((x) => { var _a; return Object.keys((_a = x.rules) !== null && _a !== void 0 ? _a : {}).includes('@nrwl/nx/nx-plugin-checks'); })) {
102
+ eslintConfig.overrides.push({
103
+ files: [
104
+ './package.json',
105
+ packageJson.generators,
106
+ packageJson.executors,
107
+ packageJson.schematics,
108
+ packageJson.builders,
109
+ ].filter((f) => !!f),
110
+ parser: 'jsonc-eslint-parser',
111
+ rules: {
112
+ '@nrwl/nx/nx-plugin-checks': 'error',
113
+ },
114
+ });
115
+ }
116
+ (0, devkit_1.writeJson)(host, eslintPath, eslintConfig);
117
+ }
118
+ // Update the root eslint to specify a parser for json files
119
+ // This is required, otherwise every json file that is not overriden
120
+ // will display false errors in the IDE
121
+ function updateRootEslintConfig(host) {
122
+ var _a;
123
+ const rootESLint = (0, devkit_1.readJson)(host, '.eslintrc.json');
124
+ (_a = rootESLint.overrides) !== null && _a !== void 0 ? _a : (rootESLint.overrides = []);
125
+ if (!eslintConfigContainsJsonOverride(rootESLint)) {
126
+ rootESLint.overrides.push({
127
+ files: '*.json',
128
+ parser: 'jsonc-eslint-parser',
129
+ rules: {},
130
+ });
131
+ (0, devkit_1.writeJson)(host, '.eslintrc.json', rootESLint);
132
+ }
133
+ }
134
+ function setupVsCodeLintingForJsonFiles(host) {
135
+ var _a;
136
+ let existing = {};
137
+ if (host.exists('.vscode/settings.json')) {
138
+ existing = (0, devkit_1.readJson)(host, '.vscode/settings.json');
139
+ }
140
+ else {
141
+ devkit_1.logger.info(`${logger_1.NX_PREFIX} We've updated the vscode settings for this repository to ensure that plugin lint checks show up inside your IDE. This created .vscode/settings.json. To read more about this file, check vscode's documentation. It is frequently not commited, so other developers may need to add similar settings if they'd like to see the lint checks in the IDE rather than only during linting.`);
142
+ }
143
+ // setup eslint validation for json files
144
+ const eslintValidate = (_a = existing['eslint.validate']) !== null && _a !== void 0 ? _a : [];
145
+ if (!eslintValidate.includes('json')) {
146
+ existing['eslint.validate'] = [...eslintValidate, 'json'];
147
+ }
148
+ (0, devkit_1.writeJson)(host, '.vscode/settings.json', existing);
149
+ }
150
+ function eslintConfigContainsJsonOverride(eslintConfig) {
151
+ return eslintConfig.overrides.some((x) => {
152
+ if (typeof x.files === 'string' && x.files.includes('.json')) {
153
+ return true;
154
+ }
155
+ return Array.isArray(x.files) && x.files.some((f) => f.includes('.json'));
156
+ });
157
+ }
158
+ function projectIsEsLintEnabled(project) {
159
+ return !!getEsLintOptions(project);
160
+ }
161
+ function getEsLintOptions(project) {
162
+ return Object.entries(project.targets || {}).find(([, x]) => x.executor === '@nrwl/linter:eslint');
163
+ }
164
+ exports.getEsLintOptions = getEsLintOptions;
165
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/generators/lint-checks/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export interface PluginLintChecksGeneratorSchema {
2
+ projectName: string;
3
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "cli": "nx",
4
+ "$id": "PluginLint",
5
+ "title": "",
6
+ "type": "object",
7
+ "description": "Adds linting configuration to validate common json files for nx plugins.",
8
+ "properties": {
9
+ "projectName": {
10
+ "type": "string",
11
+ "description": "Which project should be the configuration be added to?",
12
+ "$default": {
13
+ "$source": "projectName"
14
+ }
15
+ }
16
+ },
17
+ "required": ["projectName"]
18
+ }
@@ -4,6 +4,7 @@ exports.migrationSchematic = exports.migrationGenerator = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nrwl/devkit");
6
6
  const path = require("path");
7
+ const generator_1 = require("../lint-checks/generator");
7
8
  function normalizeOptions(host, options) {
8
9
  var _a;
9
10
  let name;
@@ -94,6 +95,10 @@ function migrationGenerator(host, schema) {
94
95
  updateWorkspaceJson(host, options);
95
96
  updateMigrationsJson(host, options);
96
97
  updatePackageJson(host, options);
98
+ if (!host.exists('migrations.json')) {
99
+ const packageJsonPath = (0, devkit_1.joinPathFragments)(options.projectRoot, 'package.json');
100
+ (0, generator_1.addMigrationJsonChecks)(host, { projectName: schema.project }, (0, devkit_1.readJson)(host, packageJsonPath));
101
+ }
97
102
  });
98
103
  }
99
104
  exports.migrationGenerator = migrationGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/generators/migration/migration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/generators/migration/migration.ts"],"names":[],"mappings":";;;;AAAA,yCAUsB;AAGtB,6BAA6B;AAC7B,wDAAkE;AAQlE,SAAS,gBAAgB,CAAC,IAAU,EAAE,OAAe;;IACnD,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO,CAAC,IAAI,EAAE;QAChB,IAAI,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;KACrC;SAAM;QACL,IAAI,GAAG,IAAA,cAAK,EAAC,UAAU,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,QAAQ,CAAC;KAC3D;IAED,MAAM,WAAW,GAAW,MAAA,OAAO,CAAC,WAAW,mCAAI,IAAI,CAAC;IAExD,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,GACxD,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAElD,MAAM,UAAU,mCACX,OAAO,KACV,IAAI;QACJ,WAAW;QACX,WAAW;QACX,iBAAiB,GAClB,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU,EAAE,OAAyB;IACrD,IAAA,sBAAa,EACX,IAAI,EACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,EACvC,GAAG,OAAO,CAAC,iBAAiB,aAAa,kCACpC,OAAO,KAAE,IAAI,EAAE,EAAE,IACvB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAU,EAAE,OAAyB;;IACjE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IACzE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAC5C,CAAC,CAAC,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC;QAChC,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,UAAU,CAAC,UAAU,EAAE;QACzB,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QAC9C,OAAO,UAAU,CAAC,UAAU,CAAC;KAC9B;IAED,MAAM,UAAU,GAAG,MAAA,UAAU,CAAC,UAAU,mCAAI,EAAE,CAAC;IAC/C,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG;QACzB,OAAO,EAAE,OAAO,CAAC,cAAc;QAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,GAAG,EAAE,IAAI;QACT,cAAc,EAAE,oBAAoB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE;KACnE,CAAC;IACF,UAAU,CAAC,UAAU,GAAG,UAAU,CAAC;IAEnC,IAAI,OAAO,CAAC,kBAAkB,EAAE;QAC9B,MAAM,qBAAqB,GAAG,MAAA,UAAU,CAAC,kBAAkB,mCAAI,EAAE,CAAC;QAClE,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YAClD,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG;gBAC9C,OAAO,EAAE,OAAO,CAAC,cAAc;gBAC/B,QAAQ,EAAE,EAAE;aACb,CAAC;SACH;QACD,UAAU,CAAC,kBAAkB,GAAG,qBAAqB,CAAC;KACvD;IAED,IAAA,kBAAS,EAAC,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAU,EAAE,OAAyB;IAC9D,IAAA,mBAAU,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;QACxE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,EAAE;YAC/D,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;gBACzB,IAAI,CAAC,eAAe,CAAC,CAAC,UAAU,GAAG,mBAAmB,CAAC;aACxD;iBAAM;gBACL,IAAI,CAAC,eAAe,CAAC,GAAG;oBACtB,UAAU,EAAE,mBAAmB;iBAChC,CAAC;aACH;SACF;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU,EAAE,OAAyB;;IAChE,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAA,MAAA,OAAO,CAAC,OAAO,CAAC,KAAK,0CAAE,OAAO,0CAAE,MAAM,CAAC;IACtD,IACE,MAAM;QACL,MAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,MAAM,KAAK,CAAC,EAC1E;QACA,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG;YACrC,GAAG,MAAM;YACT;gBACE,KAAK,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE;gBACjC,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,GAAG;aACZ;SACF,CAAC;QACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAC5D;AACH,CAAC;AAED,SAAsB,kBAAkB,CAAC,IAAU,EAAE,MAAc;;QACjE,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE/C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxB,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;YACnC,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,WAAW,EACnB,cAAc,CACf,CAAC;YACF,IAAA,kCAAsB,EACpB,IAAI,EACJ,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,EAC/B,IAAA,iBAAQ,EAAc,IAAI,EAAE,eAAe,CAAC,CAC7C,CAAC;SACH;IACH,CAAC;CAAA;AApBD,gDAoBC;AAED,kBAAe,kBAAkB,CAAC;AACrB,QAAA,kBAAkB,GAAG,IAAA,2BAAkB,EAAC,kBAAkB,CAAC,CAAC"}
@@ -4,6 +4,7 @@ exports.pluginSchematic = exports.pluginGenerator = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nrwl/devkit");
6
6
  const js_1 = require("@nrwl/js");
7
+ const linter_1 = require("@nrwl/linter");
7
8
  const add_swc_dependencies_1 = require("@nrwl/js/src/utils/swc/add-swc-dependencies");
8
9
  const versions_1 = require("nx/src/utils/versions");
9
10
  const path = require("path");
@@ -11,26 +12,8 @@ const versions_2 = require("../../utils/versions");
11
12
  const e2e_1 = require("../e2e-project/e2e");
12
13
  const executor_1 = require("../executor/executor");
13
14
  const generator_1 = require("../generator/generator");
14
- function normalizeOptions(host, options) {
15
- const { npmScope, libsDir } = (0, devkit_1.getWorkspaceLayout)(host);
16
- const name = (0, devkit_1.names)(options.name).fileName;
17
- const projectDirectory = options.directory
18
- ? `${(0, devkit_1.names)(options.directory).fileName}/${name}`
19
- : name;
20
- const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-');
21
- const fileName = projectName;
22
- const projectRoot = (0, devkit_1.joinPathFragments)(libsDir, projectDirectory);
23
- const parsedTags = options.tags
24
- ? options.tags.split(',').map((s) => s.trim())
25
- : [];
26
- const npmPackageName = options.importPath || resolvePackageName(npmScope, name);
27
- return Object.assign(Object.assign({}, options), { fileName,
28
- npmScope,
29
- libsDir, name: projectName, projectRoot,
30
- projectDirectory,
31
- parsedTags,
32
- npmPackageName });
33
- }
15
+ const generator_2 = require("../lint-checks/generator");
16
+ const normalize_schema_1 = require("./utils/normalize-schema");
34
17
  function addFiles(host, options) {
35
18
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
19
  host.delete((0, devkit_1.normalizePath)(`${options.projectRoot}/src/lib`));
@@ -83,8 +66,8 @@ function updateWorkspaceJson(host, options) {
83
66
  function pluginGenerator(host, schema) {
84
67
  var _a;
85
68
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
86
- const options = normalizeOptions(host, schema);
87
- const libraryTask = yield (0, js_1.libraryGenerator)(host, Object.assign(Object.assign({}, schema), { config: options.standaloneConfig !== false ? 'project' : 'workspace', buildable: true, importPath: options.npmPackageName }));
69
+ const options = (0, normalize_schema_1.normalizeOptions)(host, schema);
70
+ yield (0, js_1.libraryGenerator)(host, Object.assign(Object.assign({}, schema), { config: options.standaloneConfig !== false ? 'project' : 'workspace', buildable: true, importPath: options.npmPackageName }));
88
71
  (0, devkit_1.addDependenciesToPackageJson)(host, {}, {
89
72
  '@nrwl/devkit': versions_2.nxVersion,
90
73
  '@nrwl/jest': versions_2.nxVersion,
@@ -104,19 +87,14 @@ function pluginGenerator(host, schema) {
104
87
  npmPackageName: options.npmPackageName,
105
88
  standaloneConfig: (_a = options.standaloneConfig) !== null && _a !== void 0 ? _a : true,
106
89
  });
90
+ if (options.linter === linter_1.Linter.EsLint && !options.skipLintChecks) {
91
+ yield (0, generator_2.default)(host, { projectName: options.name });
92
+ }
107
93
  yield (0, devkit_1.formatFiles)(host);
108
94
  return () => (0, devkit_1.installPackagesTask)(host);
109
95
  });
110
96
  }
111
97
  exports.pluginGenerator = pluginGenerator;
112
- function resolvePackageName(npmScope, name) {
113
- if (npmScope && npmScope !== '') {
114
- return `@${npmScope}/${name}`;
115
- }
116
- else {
117
- return name;
118
- }
119
- }
120
98
  exports.default = pluginGenerator;
121
99
  exports.pluginSchematic = (0, devkit_1.convertNxGenerator)(pluginGenerator);
122
100
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/generators/plugin/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/generators/plugin/plugin.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface Schema {
6
6
  importPath?: string;
7
7
  skipTsConfig: boolean;
8
8
  skipFormat: boolean;
9
+ skipLintChecks: boolean;
9
10
  tags?: string;
10
11
  unitTestRunner: 'jest' | 'none';
11
12
  linter: Linter;
@@ -34,7 +34,8 @@
34
34
  "description": "The tool to use for running lint checks.",
35
35
  "type": "string",
36
36
  "enum": ["eslint", "tslint"],
37
- "default": "eslint"
37
+ "default": "eslint",
38
+ "x-deprecated": "TSLint support is deprecated and will be removed"
38
39
  },
39
40
  "unitTestRunner": {
40
41
  "type": "string",
@@ -57,6 +58,11 @@
57
58
  "default": false,
58
59
  "description": "Do not update tsconfig.json for development experience."
59
60
  },
61
+ "skipLintChecks": {
62
+ "type": "boolean",
63
+ "default": false,
64
+ "description": "Do not eslint configuration for plugin json files."
65
+ },
60
66
  "standaloneConfig": {
61
67
  "description": "Split the project configuration into `<projectRoot>/project.json` rather than including it inside `workspace.json`.",
62
68
  "type": "boolean"
@@ -0,0 +1,13 @@
1
+ import { Tree } from '@nrwl/devkit';
2
+ import { Schema } from '../schema';
3
+ export interface NormalizedSchema extends Schema {
4
+ name: string;
5
+ fileName: string;
6
+ libsDir: string;
7
+ projectRoot: string;
8
+ projectDirectory: string;
9
+ parsedTags: string[];
10
+ npmScope: string;
11
+ npmPackageName: string;
12
+ }
13
+ export declare function normalizeOptions(host: Tree, options: Schema): NormalizedSchema;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ function normalizeOptions(host, options) {
6
+ const { npmScope, libsDir } = (0, devkit_1.getWorkspaceLayout)(host);
7
+ const name = (0, devkit_1.names)(options.name).fileName;
8
+ const projectDirectory = options.directory
9
+ ? `${(0, devkit_1.names)(options.directory).fileName}/${name}`
10
+ : name;
11
+ const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-');
12
+ const fileName = projectName;
13
+ const projectRoot = (0, devkit_1.joinPathFragments)(libsDir, projectDirectory);
14
+ const parsedTags = options.tags
15
+ ? options.tags.split(',').map((s) => s.trim())
16
+ : [];
17
+ const npmPackageName = options.importPath || resolvePackageName(npmScope, name);
18
+ return Object.assign(Object.assign({}, options), { fileName,
19
+ npmScope,
20
+ libsDir, name: projectName, projectRoot,
21
+ projectDirectory,
22
+ parsedTags,
23
+ npmPackageName });
24
+ }
25
+ exports.normalizeOptions = normalizeOptions;
26
+ function resolvePackageName(npmScope, name) {
27
+ if (npmScope && npmScope !== '') {
28
+ return `@${npmScope}/${name}`;
29
+ }
30
+ else {
31
+ return name;
32
+ }
33
+ }
34
+ //# sourceMappingURL=normalize-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-schema.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/generators/plugin/utils/normalize-schema.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AAatB,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAe;IAEf,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAC1C,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS;QACxC,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE;QAChD,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,MAAM,QAAQ,GAAG,WAAW,CAAC;IAC7B,MAAM,WAAW,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;QAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,cAAc,GAClB,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE3D,uCACK,OAAO,KACV,QAAQ;QACR,QAAQ;QACR,OAAO,EACP,IAAI,EAAE,WAAW,EACjB,WAAW;QACX,gBAAgB;QAChB,UAAU;QACV,cAAc,IACd;AACJ,CAAC;AAhCD,4CAgCC;AAED,SAAS,kBAAkB,CAAC,QAAgB,EAAE,IAAY;IACxD,IAAI,QAAQ,IAAI,QAAQ,KAAK,EAAE,EAAE;QAC/B,OAAO,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;KAC/B;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC"}
@@ -1 +1,2 @@
1
1
  export declare const nxVersion: any;
2
+ export declare const jsoncEslintParserVersion = "^2.1.0";
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nxVersion = void 0;
3
+ exports.jsoncEslintParserVersion = exports.nxVersion = void 0;
4
4
  exports.nxVersion = require('../../package.json').version;
5
+ exports.jsoncEslintParserVersion = '^2.1.0';
5
6
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAClD,QAAA,wBAAwB,GAAG,QAAQ,CAAC"}