@nrwl/workspace 14.0.4 → 14.1.0-beta.2
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +24 -24
- package/src/executors/run-commands/run-commands.impl.d.ts +3 -36
- package/src/executors/run-commands/run-commands.impl.js +2 -203
- package/src/executors/run-commands/run-commands.impl.js.map +1 -1
- package/src/executors/run-commands/schema.json +32 -0
- package/src/generators/move/lib/update-build-targets.js +29 -3
- package/src/generators/move/lib/update-build-targets.js.map +1 -1
- package/src/generators/remove/lib/check-targets.d.ts +2 -2
- package/src/generators/remove/lib/check-targets.js +39 -7
- package/src/generators/remove/lib/check-targets.js.map +1 -1
- package/src/generators/remove/remove.js +1 -1
- package/src/generators/remove/remove.js.map +1 -1
- package/src/generators/run-commands/run-commands.js +1 -1
- package/src/generators/run-commands/run-commands.js.map +1 -1
- package/src/utils/versions.js +1 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nrwl/workspace",
|
3
|
-
"version": "14.0.
|
3
|
+
"version": "14.1.0-beta.2",
|
4
4
|
"description": "Smart, Fast and Extensible Build System.",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -32,26 +32,26 @@
|
|
32
32
|
"requirements": {},
|
33
33
|
"migrations": "./migrations.json",
|
34
34
|
"packageGroup": {
|
35
|
-
"@nrwl/angular": "14.0.
|
36
|
-
"@nrwl/cypress": "14.0.
|
37
|
-
"@nrwl/devkit": "14.0.
|
38
|
-
"@nrwl/eslint-plugin-nx": "14.0.
|
39
|
-
"@nrwl/express": "14.0.
|
40
|
-
"@nrwl/jest": "14.0.
|
41
|
-
"@nrwl/linter": "14.0.
|
42
|
-
"@nrwl/nest": "14.0.
|
43
|
-
"@nrwl/next": "14.0.
|
44
|
-
"@nrwl/node": "14.0.
|
45
|
-
"@nrwl/nx-plugin": "14.0.
|
46
|
-
"@nrwl/react": "14.0.
|
47
|
-
"@nrwl/storybook": "14.0.
|
48
|
-
"@nrwl/web": "14.0.
|
49
|
-
"@nrwl/js": "14.0.
|
50
|
-
"@nrwl/cli": "14.0.
|
35
|
+
"@nrwl/angular": "14.1.0-beta.2",
|
36
|
+
"@nrwl/cypress": "14.1.0-beta.2",
|
37
|
+
"@nrwl/devkit": "14.1.0-beta.2",
|
38
|
+
"@nrwl/eslint-plugin-nx": "14.1.0-beta.2",
|
39
|
+
"@nrwl/express": "14.1.0-beta.2",
|
40
|
+
"@nrwl/jest": "14.1.0-beta.2",
|
41
|
+
"@nrwl/linter": "14.1.0-beta.2",
|
42
|
+
"@nrwl/nest": "14.1.0-beta.2",
|
43
|
+
"@nrwl/next": "14.1.0-beta.2",
|
44
|
+
"@nrwl/node": "14.1.0-beta.2",
|
45
|
+
"@nrwl/nx-plugin": "14.1.0-beta.2",
|
46
|
+
"@nrwl/react": "14.1.0-beta.2",
|
47
|
+
"@nrwl/storybook": "14.1.0-beta.2",
|
48
|
+
"@nrwl/web": "14.1.0-beta.2",
|
49
|
+
"@nrwl/js": "14.1.0-beta.2",
|
50
|
+
"@nrwl/cli": "14.1.0-beta.2",
|
51
51
|
"@nrwl/nx-cloud": "latest",
|
52
|
-
"@nrwl/react-native": "14.0.
|
53
|
-
"@nrwl/detox": "14.0.
|
54
|
-
"nx": "14.0.
|
52
|
+
"@nrwl/react-native": "14.1.0-beta.2",
|
53
|
+
"@nrwl/detox": "14.1.0-beta.2",
|
54
|
+
"nx": "14.1.0-beta.2"
|
55
55
|
}
|
56
56
|
},
|
57
57
|
"peerDependencies": {
|
@@ -84,9 +84,9 @@
|
|
84
84
|
"minimatch": "3.0.4",
|
85
85
|
"enquirer": "~2.3.6",
|
86
86
|
"tslib": "^2.3.0",
|
87
|
-
"nx": "14.0.
|
88
|
-
"@nrwl/devkit": "14.0.
|
89
|
-
"@nrwl/jest": "14.0.
|
90
|
-
"@nrwl/linter": "14.0.
|
87
|
+
"nx": "14.1.0-beta.2",
|
88
|
+
"@nrwl/devkit": "14.1.0-beta.2",
|
89
|
+
"@nrwl/jest": "14.1.0-beta.2",
|
90
|
+
"@nrwl/linter": "14.1.0-beta.2"
|
91
91
|
}
|
92
92
|
}
|
@@ -1,36 +1,3 @@
|
|
1
|
-
import
|
2
|
-
export
|
3
|
-
export
|
4
|
-
[k: string]: any;
|
5
|
-
};
|
6
|
-
export interface RunCommandsBuilderOptions extends Json {
|
7
|
-
command?: string;
|
8
|
-
commands?: ({
|
9
|
-
command: string;
|
10
|
-
forwardAllArgs?: boolean;
|
11
|
-
/**
|
12
|
-
* description was added to allow users to document their commands inline,
|
13
|
-
* it is not intended to be used as part of the execution of the command.
|
14
|
-
*/
|
15
|
-
description?: string;
|
16
|
-
} | string)[];
|
17
|
-
color?: boolean;
|
18
|
-
parallel?: boolean;
|
19
|
-
readyWhen?: string;
|
20
|
-
cwd?: string;
|
21
|
-
args?: string;
|
22
|
-
envFile?: string;
|
23
|
-
outputPath?: string;
|
24
|
-
}
|
25
|
-
export interface NormalizedRunCommandsBuilderOptions extends RunCommandsBuilderOptions {
|
26
|
-
commands: {
|
27
|
-
command: string;
|
28
|
-
forwardAllArgs?: boolean;
|
29
|
-
}[];
|
30
|
-
parsedArgs: {
|
31
|
-
[k: string]: any;
|
32
|
-
};
|
33
|
-
}
|
34
|
-
export default function (options: RunCommandsBuilderOptions, context: ExecutorContext): Promise<{
|
35
|
-
success: boolean;
|
36
|
-
}>;
|
1
|
+
import runCommands from 'nx/src/executors/run-commands/run-commands.impl';
|
2
|
+
export { RunCommandsOptions } from 'nx/src/executors/run-commands/run-commands.impl';
|
3
|
+
export default runCommands;
|
@@ -1,206 +1,5 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
|
4
|
-
|
5
|
-
const child_process_1 = require("child_process");
|
6
|
-
const path = require("path");
|
7
|
-
const yargsParser = require("yargs-parser");
|
8
|
-
const npm_run_path_1 = require("npm-run-path");
|
9
|
-
exports.LARGE_BUFFER = 1024 * 1000000;
|
10
|
-
function loadEnvVars(path) {
|
11
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
12
|
-
if (path) {
|
13
|
-
const result = (yield Promise.resolve().then(() => require('dotenv'))).config({ path });
|
14
|
-
if (result.error) {
|
15
|
-
throw result.error;
|
16
|
-
}
|
17
|
-
}
|
18
|
-
else {
|
19
|
-
try {
|
20
|
-
(yield Promise.resolve().then(() => require('dotenv'))).config();
|
21
|
-
}
|
22
|
-
catch (_a) { }
|
23
|
-
}
|
24
|
-
});
|
25
|
-
}
|
26
|
-
const propKeys = [
|
27
|
-
'command',
|
28
|
-
'commands',
|
29
|
-
'color',
|
30
|
-
'parallel',
|
31
|
-
'readyWhen',
|
32
|
-
'cwd',
|
33
|
-
'args',
|
34
|
-
'envFile',
|
35
|
-
'outputPath',
|
36
|
-
];
|
37
|
-
function default_1(options, context) {
|
38
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
39
|
-
yield loadEnvVars(options.envFile);
|
40
|
-
const normalized = normalizeOptions(options);
|
41
|
-
if (options.readyWhen && !options.parallel) {
|
42
|
-
throw new Error('ERROR: Bad executor config for @nrwl/run-commands - "readyWhen" can only be used when "parallel=true".');
|
43
|
-
}
|
44
|
-
try {
|
45
|
-
const success = options.parallel
|
46
|
-
? yield runInParallel(normalized, context)
|
47
|
-
: yield runSerially(normalized, context);
|
48
|
-
return { success };
|
49
|
-
}
|
50
|
-
catch (e) {
|
51
|
-
if (process.env.NX_VERBOSE_LOGGING === 'true') {
|
52
|
-
console.error(e);
|
53
|
-
}
|
54
|
-
throw new Error(`ERROR: Something went wrong in @nrwl/run-commands - ${e.message}`);
|
55
|
-
}
|
56
|
-
});
|
57
|
-
}
|
58
|
-
exports.default = default_1;
|
59
|
-
function runInParallel(options, context) {
|
60
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
61
|
-
const procs = options.commands.map((c) => createProcess(c.command, options.readyWhen, options.color, calculateCwd(options.cwd, context)).then((result) => ({
|
62
|
-
result,
|
63
|
-
command: c.command,
|
64
|
-
})));
|
65
|
-
if (options.readyWhen) {
|
66
|
-
const r = yield Promise.race(procs);
|
67
|
-
if (!r.result) {
|
68
|
-
process.stderr.write(`Warning: @nrwl/run-commands command "${r.command}" exited with non-zero status code`);
|
69
|
-
return false;
|
70
|
-
}
|
71
|
-
else {
|
72
|
-
return true;
|
73
|
-
}
|
74
|
-
}
|
75
|
-
else {
|
76
|
-
const r = yield Promise.all(procs);
|
77
|
-
const failed = r.filter((v) => !v.result);
|
78
|
-
if (failed.length > 0) {
|
79
|
-
failed.forEach((f) => {
|
80
|
-
process.stderr.write(`Warning: @nrwl/run-commands command "${f.command}" exited with non-zero status code`);
|
81
|
-
});
|
82
|
-
return false;
|
83
|
-
}
|
84
|
-
else {
|
85
|
-
return true;
|
86
|
-
}
|
87
|
-
}
|
88
|
-
});
|
89
|
-
}
|
90
|
-
function normalizeOptions(options) {
|
91
|
-
options.parsedArgs = parseArgs(options);
|
92
|
-
if (options.command) {
|
93
|
-
options.commands = [{ command: options.command }];
|
94
|
-
options.parallel = !!options.readyWhen;
|
95
|
-
}
|
96
|
-
else {
|
97
|
-
options.commands = options.commands.map((c) => typeof c === 'string' ? { command: c } : c);
|
98
|
-
}
|
99
|
-
options.commands.forEach((c) => {
|
100
|
-
var _a;
|
101
|
-
c.command = transformCommand(c.command, options.parsedArgs, (_a = c.forwardAllArgs) !== null && _a !== void 0 ? _a : true);
|
102
|
-
});
|
103
|
-
return options;
|
104
|
-
}
|
105
|
-
function runSerially(options, context) {
|
106
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
107
|
-
for (const c of options.commands) {
|
108
|
-
createSyncProcess(c.command, options.color, calculateCwd(options.cwd, context));
|
109
|
-
}
|
110
|
-
return true;
|
111
|
-
});
|
112
|
-
}
|
113
|
-
function createProcess(command, readyWhen, color, cwd) {
|
114
|
-
return new Promise((res) => {
|
115
|
-
const childProcess = (0, child_process_1.exec)(command, {
|
116
|
-
maxBuffer: exports.LARGE_BUFFER,
|
117
|
-
env: processEnv(color),
|
118
|
-
cwd,
|
119
|
-
});
|
120
|
-
/**
|
121
|
-
* Ensure the child process is killed when the parent exits
|
122
|
-
*/
|
123
|
-
const processExitListener = () => childProcess.kill();
|
124
|
-
process.on('exit', processExitListener);
|
125
|
-
process.on('SIGTERM', processExitListener);
|
126
|
-
childProcess.stdout.on('data', (data) => {
|
127
|
-
process.stdout.write(data);
|
128
|
-
if (readyWhen && data.toString().indexOf(readyWhen) > -1) {
|
129
|
-
res(true);
|
130
|
-
}
|
131
|
-
});
|
132
|
-
childProcess.stderr.on('data', (err) => {
|
133
|
-
process.stderr.write(err);
|
134
|
-
if (readyWhen && err.toString().indexOf(readyWhen) > -1) {
|
135
|
-
res(true);
|
136
|
-
}
|
137
|
-
});
|
138
|
-
childProcess.on('exit', (code) => {
|
139
|
-
if (!readyWhen) {
|
140
|
-
res(code === 0);
|
141
|
-
}
|
142
|
-
});
|
143
|
-
});
|
144
|
-
}
|
145
|
-
function createSyncProcess(command, color, cwd) {
|
146
|
-
(0, child_process_1.execSync)(command, {
|
147
|
-
env: processEnv(color),
|
148
|
-
stdio: ['inherit', 'inherit', 'inherit'],
|
149
|
-
maxBuffer: exports.LARGE_BUFFER,
|
150
|
-
cwd,
|
151
|
-
});
|
152
|
-
}
|
153
|
-
function calculateCwd(cwd, context) {
|
154
|
-
if (!cwd)
|
155
|
-
return context.root;
|
156
|
-
if (path.isAbsolute(cwd))
|
157
|
-
return cwd;
|
158
|
-
return path.join(context.root, cwd);
|
159
|
-
}
|
160
|
-
function processEnv(color) {
|
161
|
-
const env = Object.assign(Object.assign({}, process.env), (0, npm_run_path_1.env)());
|
162
|
-
if (color) {
|
163
|
-
env.FORCE_COLOR = `${color}`;
|
164
|
-
}
|
165
|
-
return env;
|
166
|
-
}
|
167
|
-
function transformCommand(command, args, forwardAllArgs) {
|
168
|
-
if (command.indexOf('{args.') > -1) {
|
169
|
-
const regex = /{args\.([^}]+)}/g;
|
170
|
-
return command.replace(regex, (_, group) => args[camelCase(group)]);
|
171
|
-
}
|
172
|
-
else if (Object.keys(args).length > 0 && forwardAllArgs) {
|
173
|
-
const stringifiedArgs = Object.keys(args)
|
174
|
-
.map((a) => typeof args[a] === 'string' && args[a].includes(' ')
|
175
|
-
? `--${a}="${args[a].replace(/"/g, '"')}"`
|
176
|
-
: `--${a}=${args[a]}`)
|
177
|
-
.join(' ');
|
178
|
-
return `${command} ${stringifiedArgs}`;
|
179
|
-
}
|
180
|
-
else {
|
181
|
-
return command;
|
182
|
-
}
|
183
|
-
}
|
184
|
-
function parseArgs(options) {
|
185
|
-
const args = options.args;
|
186
|
-
if (!args) {
|
187
|
-
const unknownOptionsTreatedAsArgs = Object.keys(options)
|
188
|
-
.filter((p) => propKeys.indexOf(p) === -1)
|
189
|
-
.reduce((m, c) => ((m[c] = options[c]), m), {});
|
190
|
-
return unknownOptionsTreatedAsArgs;
|
191
|
-
}
|
192
|
-
return yargsParser(args.replace(/(^"|"$)/g, ''), {
|
193
|
-
configuration: { 'camel-case-expansion': true },
|
194
|
-
});
|
195
|
-
}
|
196
|
-
function camelCase(input) {
|
197
|
-
if (input.indexOf('-') > 1) {
|
198
|
-
return input
|
199
|
-
.toLowerCase()
|
200
|
-
.replace(/-(.)/g, (match, group1) => group1.toUpperCase());
|
201
|
-
}
|
202
|
-
else {
|
203
|
-
return input;
|
204
|
-
}
|
205
|
-
}
|
3
|
+
const run_commands_impl_1 = require("nx/src/executors/run-commands/run-commands.impl");
|
4
|
+
exports.default = run_commands_impl_1.default;
|
206
5
|
//# sourceMappingURL=run-commands.impl.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"run-commands.impl.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/executors/run-commands/run-commands.impl.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"run-commands.impl.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/executors/run-commands/run-commands.impl.ts"],"names":[],"mappings":";;AAAA,uFAA0E;AAI1E,kBAAe,2BAAW,CAAC"}
|
@@ -35,6 +35,38 @@
|
|
35
35
|
"type": "boolean",
|
36
36
|
"description": "Whether arguments should be forwarded when interpolation is not present."
|
37
37
|
},
|
38
|
+
"prefix": {
|
39
|
+
"type": "string",
|
40
|
+
"description": "Prefix in front of every line out of the output"
|
41
|
+
},
|
42
|
+
"color": {
|
43
|
+
"type": "string",
|
44
|
+
"description": "Color of the output",
|
45
|
+
"enum": [
|
46
|
+
"black",
|
47
|
+
"red",
|
48
|
+
"green",
|
49
|
+
"yellow",
|
50
|
+
"blue",
|
51
|
+
"magenta",
|
52
|
+
"cyan",
|
53
|
+
"white"
|
54
|
+
]
|
55
|
+
},
|
56
|
+
"bgColor": {
|
57
|
+
"type": "string",
|
58
|
+
"description": "Background color of the output",
|
59
|
+
"enum": [
|
60
|
+
"bgBlack",
|
61
|
+
"bgRed",
|
62
|
+
"bgGreen",
|
63
|
+
"bgYellow",
|
64
|
+
"bgBlue",
|
65
|
+
"bgMagenta",
|
66
|
+
"bgCyan",
|
67
|
+
"bgWhite"
|
68
|
+
]
|
69
|
+
},
|
38
70
|
"description": {
|
39
71
|
"type": "string",
|
40
72
|
"description": "An optional description useful for inline documentation purposes. It is not used as part of the execution of the command."
|
@@ -8,12 +8,38 @@ const devkit_1 = require("@nrwl/devkit");
|
|
8
8
|
function updateBuildTargets(tree, schema) {
|
9
9
|
(0, devkit_1.getProjects)(tree).forEach((projectConfig, project) => {
|
10
10
|
Object.entries(projectConfig.targets || {}).forEach(([target, targetConfig]) => {
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
updateJsonValue(targetConfig, (value) => {
|
12
|
+
const [project, target, configuration] = value.split(':');
|
13
|
+
if (project === schema.projectName && target) {
|
14
|
+
return configuration
|
15
|
+
? `${schema.newProjectName}:${target}:${configuration}`
|
16
|
+
: `${schema.newProjectName}:${target}`;
|
17
|
+
}
|
18
|
+
});
|
14
19
|
});
|
15
20
|
(0, devkit_1.updateProjectConfiguration)(tree, project, projectConfig);
|
16
21
|
});
|
17
22
|
}
|
18
23
|
exports.updateBuildTargets = updateBuildTargets;
|
24
|
+
function updateJsonValue(config, callback) {
|
25
|
+
function recur(obj, key, value) {
|
26
|
+
if (typeof value === 'string') {
|
27
|
+
const result = callback(value);
|
28
|
+
if (result) {
|
29
|
+
obj[key] = result;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
else if (Array.isArray(value)) {
|
33
|
+
value.forEach((x, idx) => recur(value, idx, x));
|
34
|
+
}
|
35
|
+
else if (typeof value === 'object') {
|
36
|
+
Object.entries(value).forEach(([k, v]) => {
|
37
|
+
recur(value, k, v);
|
38
|
+
});
|
39
|
+
}
|
40
|
+
}
|
41
|
+
Object.entries(config).forEach(([k, v]) => {
|
42
|
+
recur(config, k, v);
|
43
|
+
});
|
44
|
+
}
|
19
45
|
//# sourceMappingURL=update-build-targets.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"update-build-targets.js","sourceRoot":"","sources":["../../../../../../../packages/workspace/src/generators/move/lib/update-build-targets.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"update-build-targets.js","sourceRoot":"","sources":["../../../../../../../packages/workspace/src/generators/move/lib/update-build-targets.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AAGtB;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAU,EAAE,MAAwB;IACrE,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE;QACnD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CACjD,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE;YACzB,eAAe,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;gBACtC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1D,IAAI,OAAO,KAAK,MAAM,CAAC,WAAW,IAAI,MAAM,EAAE;oBAC5C,OAAO,aAAa;wBAClB,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,IAAI,aAAa,EAAE;wBACvD,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE,CAAC;iBAC1C;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,gDAgBC;AAED,SAAS,eAAe,CACtB,MAA2B,EAC3B,QAAsC;IAEtC,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,MAAM,EAAE;gBACV,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;aACnB;SACF;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SACjD;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACvC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACxC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import {
|
1
|
+
import { Tree } from '@nrwl/devkit';
|
2
2
|
import { Schema } from '../schema';
|
3
3
|
/**
|
4
4
|
* Check whether the project to be removed has builders targetted by another project
|
@@ -7,4 +7,4 @@ import { Schema } from '../schema';
|
|
7
7
|
*
|
8
8
|
* @param schema The options provided to the schematic
|
9
9
|
*/
|
10
|
-
export declare function checkTargets(tree: Tree, schema: Schema
|
10
|
+
export declare function checkTargets(tree: Tree, schema: Schema): void;
|
@@ -9,20 +9,34 @@ const devkit_1 = require("@nrwl/devkit");
|
|
9
9
|
*
|
10
10
|
* @param schema The options provided to the schematic
|
11
11
|
*/
|
12
|
-
function checkTargets(tree, schema
|
12
|
+
function checkTargets(tree, schema) {
|
13
13
|
if (schema.forceRemove) {
|
14
14
|
return;
|
15
15
|
}
|
16
16
|
const errors = [];
|
17
|
-
|
18
|
-
(0, devkit_1.getProjects)(tree).forEach((project, projectName) => {
|
17
|
+
(0, devkit_1.getProjects)(tree).forEach((projectConfig, projectName) => {
|
19
18
|
if (projectName === schema.projectName) {
|
20
19
|
return;
|
21
20
|
}
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
21
|
+
Object.entries(projectConfig.targets || {}).forEach(([, targetConfig]) => {
|
22
|
+
checkIfProjectIsUsed(targetConfig, (value) => {
|
23
|
+
try {
|
24
|
+
const { project } = (0, devkit_1.parseTargetString)(value);
|
25
|
+
if (project === schema.projectName) {
|
26
|
+
errors.push(`"${value}" is used by "${projectName}"`);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
catch (err) {
|
30
|
+
/**
|
31
|
+
* It threw because the target string was not
|
32
|
+
* in the format of project:target:configuration
|
33
|
+
*
|
34
|
+
* In that case, we don't care about it.
|
35
|
+
* So we can ignore this error.
|
36
|
+
*/
|
37
|
+
}
|
38
|
+
});
|
39
|
+
});
|
26
40
|
});
|
27
41
|
if (errors.length > 0) {
|
28
42
|
let message = `${schema.projectName} is still targeted by some projects:\n\n`;
|
@@ -33,4 +47,22 @@ function checkTargets(tree, schema, proj) {
|
|
33
47
|
}
|
34
48
|
}
|
35
49
|
exports.checkTargets = checkTargets;
|
50
|
+
function checkIfProjectIsUsed(config, callback) {
|
51
|
+
function recur(obj, key, value) {
|
52
|
+
if (typeof value === 'string') {
|
53
|
+
callback(value);
|
54
|
+
}
|
55
|
+
else if (Array.isArray(value)) {
|
56
|
+
value.forEach((x, idx) => recur(value, idx, x));
|
57
|
+
}
|
58
|
+
else if (typeof value === 'object') {
|
59
|
+
Object.entries(value).forEach(([k, v]) => {
|
60
|
+
recur(value, k, v);
|
61
|
+
});
|
62
|
+
}
|
63
|
+
}
|
64
|
+
Object.entries(config).forEach(([k, v]) => {
|
65
|
+
recur(config, k, v);
|
66
|
+
});
|
67
|
+
}
|
36
68
|
//# sourceMappingURL=check-targets.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"check-targets.js","sourceRoot":"","sources":["../../../../../../../packages/workspace/src/generators/remove/lib/check-targets.ts"],"names":[],"mappings":";;;AAAA,
|
1
|
+
{"version":3,"file":"check-targets.js","sourceRoot":"","sources":["../../../../../../../packages/workspace/src/generators/remove/lib/check-targets.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AAGtB;;;;;;GAMG;AACH,SAAgB,YAAY,CAAC,IAAU,EAAE,MAAc;IACrD,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,OAAO;KACR;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE;QACvD,IAAI,WAAW,KAAK,MAAM,CAAC,WAAW,EAAE;YACtC,OAAO;SACR;QACD,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE;YACvE,oBAAoB,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC3C,IAAI;oBACF,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,0BAAiB,EAAC,KAAK,CAAC,CAAC;oBAC7C,IAAI,OAAO,KAAK,MAAM,CAAC,WAAW,EAAE;wBAClC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,WAAW,GAAG,CAAC,CAAC;qBACvD;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ;;;;;;uBAMG;iBACJ;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,IAAI,OAAO,GAAG,GAAG,MAAM,CAAC,WAAW,0CAA0C,CAAC;QAC9E,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE;YACxB,OAAO,IAAI,GAAG,KAAK,IAAI,CAAC;SACzB;QAED,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;KAC1B;AACH,CAAC;AAvCD,oCAuCC;AAED,SAAS,oBAAoB,CAC3B,MAA2B,EAC3B,QAAsC;IAEtC,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjB;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;SACjD;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACvC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACxC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
@@ -13,7 +13,7 @@ function removeGenerator(tree, schema) {
|
|
13
13
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
14
14
|
const project = (0, devkit_1.readProjectConfiguration)(tree, schema.projectName);
|
15
15
|
yield (0, check_dependencies_1.checkDependencies)(tree, schema);
|
16
|
-
(0, check_targets_1.checkTargets)(tree, schema
|
16
|
+
(0, check_targets_1.checkTargets)(tree, schema);
|
17
17
|
(0, update_jest_config_1.updateJestConfig)(tree, schema, project);
|
18
18
|
(0, remove_project_config_1.removeProjectConfig)(tree, schema);
|
19
19
|
(0, remove_project_1.removeProject)(tree, project);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/remove/remove.ts"],"names":[],"mappings":";;;;AAAA,yCAKsB;AAEtB,iEAA6D;AAC7D,uDAAmD;AACnD,yDAAqD;AACrD,2DAAuD;AACvD,uEAAkE;AAElE,iEAA4D;AAE5D,SAAsB,eAAe,CAAC,IAAU,EAAE,MAAc;;QAC9D,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,IAAA,sCAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAA,4BAAY,EAAC,IAAI,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/remove/remove.ts"],"names":[],"mappings":";;;;AAAA,yCAKsB;AAEtB,iEAA6D;AAC7D,uDAAmD;AACnD,yDAAqD;AACrD,2DAAuD;AACvD,uEAAkE;AAElE,iEAA4D;AAE5D,SAAsB,eAAe,CAAC,IAAU,EAAE,MAAc;;QAC9D,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,IAAA,sCAAiB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAA,4BAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3B,IAAA,qCAAgB,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,IAAA,2CAAmB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,IAAA,8BAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAA,gCAAc,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACtB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;IACH,CAAC;CAAA;AAXD,0CAWC;AAED,kBAAe,eAAe,CAAC;AAElB,QAAA,eAAe,GAAG,IAAA,2BAAkB,EAAC,eAAe,CAAC,CAAC"}
|
@@ -8,7 +8,7 @@ function runCommandsGenerator(host, schema) {
|
|
8
8
|
const project = (0, devkit_1.readProjectConfiguration)(host, schema.project);
|
9
9
|
project.targets = project.targets || {};
|
10
10
|
project.targets[schema.name] = {
|
11
|
-
executor: '
|
11
|
+
executor: 'nx:run-commands',
|
12
12
|
outputs: schema.outputs
|
13
13
|
? schema.outputs.split(',').map((s) => s.trim())
|
14
14
|
: [],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"run-commands.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/run-commands/run-commands.ts"],"names":[],"mappings":";;;;AACA,yCAMsB;AAEtB,SAAsB,oBAAoB,CAAC,IAAU,EAAE,MAAc;;QACnE,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;YAC7B,QAAQ,EAAE,
|
1
|
+
{"version":3,"file":"run-commands.js","sourceRoot":"","sources":["../../../../../../packages/workspace/src/generators/run-commands/run-commands.ts"],"names":[],"mappings":";;;;AACA,yCAMsB;AAEtB,SAAsB,oBAAoB,CAAC,IAAU,EAAE,MAAc;;QACnE,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;YAC7B,QAAQ,EAAE,iBAAiB;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACrB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChD,CAAC,CAAC,EAAE;YACN,OAAO,EAAE;gBACP,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,OAAO,EAAE,MAAM,CAAC,OAAO;aACxB;SACF,CAAC;QACF,IAAA,mCAA0B,EAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAjBD,oDAiBC;AAED,kBAAe,oBAAoB,CAAC;AAEvB,QAAA,oBAAoB,GAAG,IAAA,2BAAkB,EAAC,oBAAoB,CAAC,CAAC"}
|
package/src/utils/versions.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.eslintConfigPrettierVersion = exports.eslintVersion = exports.typescriptESLintVersion = exports.tslintVersion = exports.prettierVersion = exports.typescriptVersion = exports.angularCliVersion = exports.nxVersion = void 0;
|
4
|
-
exports.nxVersion = '14.0.
|
4
|
+
exports.nxVersion = '14.1.0-beta.2';
|
5
5
|
exports.angularCliVersion = '~13.3.0';
|
6
6
|
exports.typescriptVersion = '~4.6.2';
|
7
7
|
exports.prettierVersion = '^2.5.1';
|