nx 13.8.8 → 13.9.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/nx.d.ts +1 -0
- package/bin/nx.js +68 -1
- package/bin/nx.js.map +1 -1
- package/package.json +17 -2
- package/src/cli/decorate-cli.d.ts +1 -0
- package/src/cli/decorate-cli.js +19 -0
- package/src/cli/decorate-cli.js.map +1 -0
- package/src/cli/find-workspace-root.d.ts +8 -0
- package/src/cli/find-workspace-root.js +25 -0
- package/src/cli/find-workspace-root.js.map +1 -0
- package/src/cli/index.d.ts +3 -0
- package/src/cli/index.js +74 -0
- package/src/cli/index.js.map +1 -0
- package/src/cli/init-local.d.ts +2 -0
- package/src/cli/init-local.js +109 -0
- package/src/cli/init-local.js.map +1 -0
- package/src/cli/is_ci.d.ts +1 -0
- package/src/cli/is_ci.js +20 -0
- package/src/cli/is_ci.js.map +1 -0
- package/src/cli/output.d.ts +58 -0
- package/src/cli/output.js +129 -0
- package/src/cli/output.js.map +1 -0
- package/src/cli/parse-run-one-options.d.ts +6 -0
- package/src/cli/parse-run-one-options.js +139 -0
- package/src/cli/parse-run-one-options.js.map +1 -0
- package/src/cli/run-cli.d.ts +1 -0
- package/src/cli/run-cli.js +69 -0
- package/src/cli/run-cli.js.map +1 -0
- package/src/cli/workspace.d.ts +4 -0
- package/src/cli/workspace.js +3 -0
- package/src/cli/workspace.js.map +1 -0
- package/src/commands/generate.d.ts +15 -0
- package/src/commands/generate.js +170 -0
- package/src/commands/generate.js.map +1 -0
- package/src/commands/help.d.ts +1 -0
- package/src/commands/help.js +34 -0
- package/src/commands/help.js.map +1 -0
- package/src/commands/migrate.d.ts +77 -0
- package/src/commands/migrate.js +584 -0
- package/src/commands/migrate.js.map +1 -0
- package/src/commands/ngcli-adapter.d.ts +111 -0
- package/src/commands/ngcli-adapter.js +940 -0
- package/src/commands/ngcli-adapter.js.map +1 -0
- package/src/commands/run.d.ts +51 -0
- package/src/commands/run.js +224 -0
- package/src/commands/run.js.map +1 -0
- package/src/compat/compat.d.ts +1 -0
- package/src/compat/compat.js +86 -0
- package/src/compat/compat.js.map +1 -0
- package/src/shared/logger.d.ts +11 -0
- package/src/shared/logger.js +48 -0
- package/src/shared/logger.js.map +1 -0
- package/src/shared/nx-plugin.d.ts +18 -0
- package/src/shared/nx-plugin.js +53 -0
- package/src/shared/nx-plugin.js.map +1 -0
- package/src/shared/nx.d.ts +110 -0
- package/src/shared/nx.js +3 -0
- package/src/shared/nx.js.map +1 -0
- package/src/shared/package-json.d.ts +28 -0
- package/src/shared/package-json.js +10 -0
- package/src/shared/package-json.js.map +1 -0
- package/src/shared/package-manager.d.ts +32 -0
- package/src/shared/package-manager.js +83 -0
- package/src/shared/package-manager.js.map +1 -0
- package/src/shared/params.d.ts +113 -0
- package/src/shared/params.js +587 -0
- package/src/shared/params.js.map +1 -0
- package/src/shared/print-help.d.ts +2 -0
- package/src/shared/print-help.js +32 -0
- package/src/shared/print-help.js.map +1 -0
- package/src/shared/project-graph.d.ts +135 -0
- package/src/shared/project-graph.js +22 -0
- package/src/shared/project-graph.js.map +1 -0
- package/src/shared/tasks.d.ts +82 -0
- package/src/shared/tasks.js +3 -0
- package/src/shared/tasks.js.map +1 -0
- package/src/shared/tree.d.ts +115 -0
- package/src/shared/tree.js +259 -0
- package/src/shared/tree.js.map +1 -0
- package/src/shared/workspace.d.ts +257 -0
- package/src/shared/workspace.js +522 -0
- package/src/shared/workspace.js.map +1 -0
- package/src/utils/app-root.d.ts +2 -0
- package/src/utils/app-root.js +30 -0
- package/src/utils/app-root.js.map +1 -0
- package/src/utils/fileutils.d.ts +31 -0
- package/src/utils/fileutils.js +45 -0
- package/src/utils/fileutils.js.map +1 -0
- package/src/utils/json.d.ts +39 -0
- package/src/utils/json.js +48 -0
- package/src/utils/json.js.map +1 -0
- package/src/utils/object-sort.d.ts +1 -0
- package/src/utils/object-sort.js +12 -0
- package/src/utils/object-sort.js.map +1 -0
- package/src/utils/register.d.ts +9 -0
- package/src/utils/register.js +36 -0
- package/src/utils/register.js.map +1 -0
- package/src/utils/split-target.d.ts +1 -0
- package/src/utils/split-target.js +26 -0
- package/src/utils/split-target.js.map +1 -0
package/bin/nx.d.ts
CHANGED
package/bin/nx.js
CHANGED
|
@@ -1,3 +1,70 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const find_workspace_root_1 = require("../src/cli/find-workspace-root");
|
|
5
|
+
const chalk = require("chalk");
|
|
6
|
+
const init_local_1 = require("../src/cli/init-local");
|
|
7
|
+
const output_1 = require("../src/cli/output");
|
|
8
|
+
const package_manager_1 = require("../src/shared/package-manager");
|
|
9
|
+
if (process.argv[2] === 'new' || process.argv[2] === '_migrate') {
|
|
10
|
+
require('../src/cli/index');
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
const workspace = (0, find_workspace_root_1.findWorkspaceRoot)(process.cwd());
|
|
14
|
+
if (workspace && workspace.type === 'nx') {
|
|
15
|
+
require('v8-compile-cache');
|
|
16
|
+
}
|
|
17
|
+
// polyfill rxjs observable to avoid issues with multiple version fo Observable installed in node_modules
|
|
18
|
+
// https://twitter.com/BenLesh/status/1192478226385428483?s=20
|
|
19
|
+
if (!Symbol.observable)
|
|
20
|
+
Symbol.observable = Symbol('observable polyfill');
|
|
21
|
+
if (!workspace) {
|
|
22
|
+
output_1.output.log({
|
|
23
|
+
title: `The current directory isn't part of an Nx workspace.`,
|
|
24
|
+
bodyLines: [
|
|
25
|
+
`To create a workspace run:`,
|
|
26
|
+
chalk.bold.white(`npx create-nx-workspace@latest <workspace name>`),
|
|
27
|
+
],
|
|
28
|
+
});
|
|
29
|
+
output_1.output.note({
|
|
30
|
+
title: `For more information please visit https://nx.dev/`,
|
|
31
|
+
});
|
|
32
|
+
process.exit(1);
|
|
33
|
+
}
|
|
34
|
+
// Make sure that a local copy of Nx exists in workspace
|
|
35
|
+
let localNx;
|
|
36
|
+
try {
|
|
37
|
+
localNx = require.resolve('nx/bin/nx.js', {
|
|
38
|
+
paths: [workspace.dir],
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch (_a) {
|
|
42
|
+
output_1.output.error({
|
|
43
|
+
title: `Could not find Nx modules in this workspace.`,
|
|
44
|
+
bodyLines: [`Have you run ${chalk.bold.white(`npm/yarn install`)}?`],
|
|
45
|
+
});
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
if (localNx === require.resolve('nx/bin/nx.js')) {
|
|
49
|
+
(0, init_local_1.initLocal)(workspace);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const packageManager = (0, package_manager_1.detectPackageManager)();
|
|
53
|
+
if (packageManager === 'pnpm') {
|
|
54
|
+
const tip = process.platform === 'win32'
|
|
55
|
+
? 'doskey pnx=pnpm nx -- $*'
|
|
56
|
+
: `alias pnx="pnpm nx --"`;
|
|
57
|
+
output_1.output.warn({
|
|
58
|
+
title: `Running global Nx CLI with PNPM may have issues.`,
|
|
59
|
+
bodyLines: [
|
|
60
|
+
`Prefer to use "pnpm" (https://pnpm.io/cli/exec) to execute commands in this workspace.`,
|
|
61
|
+
`${chalk.reset.inverse.bold.cyan(' TIP ')} create a shortcut such as: ${chalk.bold.white(tip)}`,
|
|
62
|
+
``,
|
|
63
|
+
],
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
// Nx is being run from globally installed CLI - hand off to the local
|
|
67
|
+
require(localNx);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
3
70
|
//# sourceMappingURL=nx.js.map
|
package/bin/nx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../packages/nx/bin/nx.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../packages/nx/bin/nx.ts"],"names":[],"mappings":";;;AACA,wEAAmE;AACnE,+BAA+B;AAC/B,sDAAkD;AAClD,8CAA2C;AAC3C,mEAAqE;AAErE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE;IAC/D,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7B;KAAM;IACL,MAAM,SAAS,GAAG,IAAA,uCAAiB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,EAAE;QACxC,OAAO,CAAC,kBAAkB,CAAC,CAAC;KAC7B;IACD,yGAAyG;IACzG,8DAA8D;IAC9D,IAAI,CAAE,MAAc,CAAC,UAAU;QAC5B,MAAc,CAAC,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,IAAI,CAAC,SAAS,EAAE;QACd,eAAM,CAAC,GAAG,CAAC;YACT,KAAK,EAAE,sDAAsD;YAC7D,SAAS,EAAE;gBACT,4BAA4B;gBAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,iDAAiD,CAAC;aACpE;SACF,CAAC,CAAC;QAEH,eAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,mDAAmD;SAC3D,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,wDAAwD;IACxD,IAAI,OAAe,CAAC;IACpB,IAAI;QACF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE;YACxC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;SACvB,CAAC,CAAC;KACJ;IAAC,WAAM;QACN,eAAM,CAAC,KAAK,CAAC;YACX,KAAK,EAAE,8CAA8C;YACrD,SAAS,EAAE,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC;SACrE,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACjB;IAED,IAAI,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;QAC/C,IAAA,sBAAS,EAAC,SAAS,CAAC,CAAC;KACtB;SAAM;QACL,MAAM,cAAc,GAAG,IAAA,sCAAoB,GAAE,CAAC;QAC9C,IAAI,cAAc,KAAK,MAAM,EAAE;YAC7B,MAAM,GAAG,GACP,OAAO,CAAC,QAAQ,KAAK,OAAO;gBAC1B,CAAC,CAAC,0BAA0B;gBAC5B,CAAC,CAAC,wBAAwB,CAAC;YAC/B,eAAM,CAAC,IAAI,CAAC;gBACV,KAAK,EAAE,kDAAkD;gBACzD,SAAS,EAAE;oBACT,wFAAwF;oBACxF,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAC9B,OAAO,CACR,+BAA+B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACvD,EAAE;iBACH;aACF,CAAC,CAAC;SACJ;QAED,sEAAsE;QACtE,OAAO,CAAC,OAAO,CAAC,CAAC;KAClB;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nx",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.9.0-beta.0",
|
|
4
4
|
"description": "Smart, Fast and Extensible Build System",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,7 +28,22 @@
|
|
|
28
28
|
},
|
|
29
29
|
"homepage": "https://nx.dev",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@
|
|
31
|
+
"@swc/core": "^1.2.146",
|
|
32
|
+
"@swc-node/register": "^1.4.2",
|
|
33
|
+
"chalk": "4.1.0",
|
|
34
|
+
"enquirer": "~2.3.6",
|
|
35
|
+
"fast-glob": "3.2.7",
|
|
36
|
+
"fs-extra": "^9.1.0",
|
|
37
|
+
"ignore": "^5.0.4",
|
|
38
|
+
"jsonc-parser": "3.0.0",
|
|
39
|
+
"rxjs-for-await": "0.0.2",
|
|
40
|
+
"rxjs": "^6.5.4",
|
|
41
|
+
"semver": "7.3.4",
|
|
42
|
+
"tmp": "~0.2.1",
|
|
43
|
+
"tslib": "^2.3.0",
|
|
44
|
+
"tsconfig-paths": "^3.9.0",
|
|
45
|
+
"yargs-parser": "20.0.0",
|
|
46
|
+
"v8-compile-cache": "2.3.0"
|
|
32
47
|
},
|
|
33
48
|
"main": "./bin/nx.js",
|
|
34
49
|
"typings": "./bin/nx.d.ts"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function decorateCli(): void;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decorateCli = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
function decorateCli() {
|
|
6
|
+
const path = 'node_modules/@angular/cli/lib/cli/index.js';
|
|
7
|
+
const angularCLIInit = (0, fs_1.readFileSync)(path, 'utf-8');
|
|
8
|
+
const start = angularCLIInit.indexOf(`(options) {`) + 11;
|
|
9
|
+
const newContent = `${angularCLIInit.substr(0, start)}
|
|
10
|
+
if (!process.env['NX_CLI_SET']) {
|
|
11
|
+
require('nx/bin/nx');
|
|
12
|
+
return new Promise(function(res, rej) {});
|
|
13
|
+
}
|
|
14
|
+
${angularCLIInit.substring(start)}
|
|
15
|
+
`;
|
|
16
|
+
(0, fs_1.writeFileSync)(path, newContent);
|
|
17
|
+
}
|
|
18
|
+
exports.decorateCli = decorateCli;
|
|
19
|
+
//# sourceMappingURL=decorate-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorate-cli.js","sourceRoot":"","sources":["../../../../../packages/nx/src/cli/decorate-cli.ts"],"names":[],"mappings":";;;AAAA,2BAAiD;AAEjD,SAAgB,WAAW;IACzB,MAAM,IAAI,GAAG,4CAA4C,CAAC;IAC1D,MAAM,cAAc,GAAG,IAAA,iBAAY,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;IAEzD,MAAM,UAAU,GAAG,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;;;;;IAKnD,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC;CAClC,CAAC;IACA,IAAA,kBAAa,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAClC,CAAC;AAbD,kCAaC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Workspace } from './workspace';
|
|
2
|
+
/**
|
|
3
|
+
* Recursive function that walks back up the directory
|
|
4
|
+
* tree to try and find a workspace file.
|
|
5
|
+
*
|
|
6
|
+
* @param dir Directory to start searching with
|
|
7
|
+
*/
|
|
8
|
+
export declare function findWorkspaceRoot(dir: string): Workspace | null;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findWorkspaceRoot = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
/**
|
|
7
|
+
* Recursive function that walks back up the directory
|
|
8
|
+
* tree to try and find a workspace file.
|
|
9
|
+
*
|
|
10
|
+
* @param dir Directory to start searching with
|
|
11
|
+
*/
|
|
12
|
+
function findWorkspaceRoot(dir) {
|
|
13
|
+
if ((0, fs_1.existsSync)(path.join(dir, 'angular.json'))) {
|
|
14
|
+
return { type: 'angular', dir };
|
|
15
|
+
}
|
|
16
|
+
if ((0, fs_1.existsSync)(path.join(dir, 'nx.json'))) {
|
|
17
|
+
return { type: 'nx', dir };
|
|
18
|
+
}
|
|
19
|
+
if (path.dirname(dir) === dir) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
return findWorkspaceRoot(path.dirname(dir));
|
|
23
|
+
}
|
|
24
|
+
exports.findWorkspaceRoot = findWorkspaceRoot;
|
|
25
|
+
//# sourceMappingURL=find-workspace-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-workspace-root.js","sourceRoot":"","sources":["../../../../../packages/nx/src/cli/find-workspace-root.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,6BAA6B;AAG7B;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE;QAC9C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;KACjC;IAED,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE;QACzC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;KAC5B;IAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;QAC7B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAdD,8CAcC"}
|
package/src/cli/index.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.invokeCli = exports.invokeCommand = void 0;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const path_1 = require("path");
|
|
7
|
+
const fs_extra_1 = require("fs-extra");
|
|
8
|
+
const yargsParser = require("yargs-parser");
|
|
9
|
+
const argv = yargsParser(process.argv.slice(2), {
|
|
10
|
+
configuration: {
|
|
11
|
+
'strip-dashed': true,
|
|
12
|
+
'dot-notation': false,
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
function invokeCommand(command, root, commandArgs = []) {
|
|
16
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
17
|
+
if (!command) {
|
|
18
|
+
command = 'help';
|
|
19
|
+
}
|
|
20
|
+
let verboseFlagIndex = commandArgs.indexOf('--verbose');
|
|
21
|
+
if (verboseFlagIndex < 0) {
|
|
22
|
+
verboseFlagIndex = commandArgs.indexOf('-v');
|
|
23
|
+
}
|
|
24
|
+
const isVerbose = verboseFlagIndex >= 0;
|
|
25
|
+
if (isVerbose) {
|
|
26
|
+
commandArgs.splice(verboseFlagIndex, 1);
|
|
27
|
+
}
|
|
28
|
+
switch (command) {
|
|
29
|
+
case 'new':
|
|
30
|
+
return (yield Promise.resolve().then(() => require('../commands/generate'))).newWorkspace(root, commandArgs, isVerbose);
|
|
31
|
+
case 'generate':
|
|
32
|
+
case 'g':
|
|
33
|
+
return (yield Promise.resolve().then(() => require('../commands/generate'))).generate(process.cwd(), root, commandArgs, isVerbose);
|
|
34
|
+
case 'run':
|
|
35
|
+
case 'r':
|
|
36
|
+
return (yield Promise.resolve().then(() => require('../commands/run'))).run(process.cwd(), root, commandArgs, isVerbose);
|
|
37
|
+
case '_migrate':
|
|
38
|
+
return (yield Promise.resolve().then(() => require('../commands/migrate'))).migrate(root, commandArgs, isVerbose);
|
|
39
|
+
case 'help':
|
|
40
|
+
case '--help':
|
|
41
|
+
return (yield Promise.resolve().then(() => require('../commands/help'))).help();
|
|
42
|
+
default: {
|
|
43
|
+
const projectNameIncluded = commandArgs[0] && !commandArgs[0].startsWith('-');
|
|
44
|
+
const projectName = projectNameIncluded ? commandArgs[0] : '';
|
|
45
|
+
// this is to make `nx test mylib` same as `nx run mylib:test`
|
|
46
|
+
return (yield Promise.resolve().then(() => require('../commands/run'))).run(process.cwd(), root, [
|
|
47
|
+
`${projectName}:${command}`,
|
|
48
|
+
...(projectNameIncluded ? commandArgs.slice(1) : commandArgs),
|
|
49
|
+
], isVerbose);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
exports.invokeCommand = invokeCommand;
|
|
55
|
+
function findWorkspaceRoot(dir) {
|
|
56
|
+
if ((0, path_1.dirname)(dir) === dir) {
|
|
57
|
+
throw new Error(`The cwd isn't part of an Nx workspace`);
|
|
58
|
+
}
|
|
59
|
+
if ((0, fs_extra_1.existsSync)((0, path_1.join)(dir, 'angular.json')) ||
|
|
60
|
+
(0, fs_extra_1.existsSync)((0, path_1.join)(dir, 'workspace.json')) ||
|
|
61
|
+
(0, fs_extra_1.existsSync)((0, path_1.join)(dir, 'nx.json'))) {
|
|
62
|
+
return dir;
|
|
63
|
+
}
|
|
64
|
+
return findWorkspaceRoot((0, path_1.dirname)(dir));
|
|
65
|
+
}
|
|
66
|
+
function invokeCli(root, args) {
|
|
67
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
68
|
+
const [command, ...commandArgs] = args;
|
|
69
|
+
process.exit(yield invokeCommand(command, root, commandArgs));
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
exports.invokeCli = invokeCli;
|
|
73
|
+
invokeCli(argv.nxWorkspaceRoot || findWorkspaceRoot(process.cwd()), process.argv.slice(2));
|
|
74
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/nx/src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initLocal = void 0;
|
|
4
|
+
const workspace_1 = require("../shared/workspace");
|
|
5
|
+
const package_manager_1 = require("../shared/package-manager");
|
|
6
|
+
const perf_hooks_1 = require("perf_hooks");
|
|
7
|
+
const child_process_1 = require("child_process");
|
|
8
|
+
const parse_run_one_options_1 = require("./parse-run-one-options");
|
|
9
|
+
/**
|
|
10
|
+
* Nx is being run inside a workspace.
|
|
11
|
+
*
|
|
12
|
+
* @param workspace Relevant local workspace properties
|
|
13
|
+
*/
|
|
14
|
+
process.env.NX_CLI_SET = 'true';
|
|
15
|
+
function initLocal(workspace) {
|
|
16
|
+
try {
|
|
17
|
+
perf_hooks_1.performance.mark('init-local');
|
|
18
|
+
//nx-ignore-next-line
|
|
19
|
+
require('@nrwl/workspace/src/utilities/perf-logging');
|
|
20
|
+
const supportedNxCommands =
|
|
21
|
+
//nx-ignore-next-line
|
|
22
|
+
require('@nrwl/workspace/src/command-line/supported-nx-commands').supportedNxCommands;
|
|
23
|
+
if (supportedNxCommands.includes(process.argv[2])) {
|
|
24
|
+
// required to make sure nrwl/workspace import works
|
|
25
|
+
//nx-ignore-next-line
|
|
26
|
+
require('@nrwl/workspace/src/command-line/nx-commands').commandsObject
|
|
27
|
+
.argv;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (generating()) {
|
|
31
|
+
loadCli(workspace, 'nx/src/cli/index.js');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const runOpts = runOneOptions(workspace);
|
|
35
|
+
const running = runOpts !== false;
|
|
36
|
+
if (running) {
|
|
37
|
+
//nx-ignore-next-line
|
|
38
|
+
require('@nrwl/workspace/src/command-line/run-one').runOne(runOpts);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (workspace.type === 'nx') {
|
|
42
|
+
loadCli(workspace, 'nx/src/cli/index.js');
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
if (process.argv[2] === 'update' &&
|
|
46
|
+
process.env.FORCE_NG_UPDATE != 'true') {
|
|
47
|
+
console.log(`Nx provides a much improved version of "ng update". It runs the same migrations, but allows you to:`);
|
|
48
|
+
console.log(`- rerun the same migration multiple times`);
|
|
49
|
+
console.log(`- reorder migrations, skip migrations`);
|
|
50
|
+
console.log(`- fix migrations that "almost work"`);
|
|
51
|
+
console.log(`- commit a partially migrated state`);
|
|
52
|
+
console.log(`- change versions of packages to match organizational requirements`);
|
|
53
|
+
console.log(`And, in general, it is lot more reliable for non-trivial workspaces. Read more at: https://nx.dev/getting-started/nx-and-angular#ng-update-and-nx-migrate`);
|
|
54
|
+
console.log(`Run "nx migrate latest" to update to the latest version of Nx.`);
|
|
55
|
+
console.log(`Running "ng update" can still be useful in some dev workflows, so we aren't planning to remove it.`);
|
|
56
|
+
console.log(`If you need to use it, run "FORCE_NG_UPDATE=true ng update".`);
|
|
57
|
+
}
|
|
58
|
+
else if (process.argv[2] === 'add') {
|
|
59
|
+
console.log('Ng add is not natively supported by Nx');
|
|
60
|
+
const pkg = process.argv[2] === 'add' ? process.argv[3] : process.argv[4];
|
|
61
|
+
if (!pkg) {
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
const pm = (0, package_manager_1.getPackageManagerCommand)();
|
|
65
|
+
const cmd = `${pm.add} ${pkg} && ${pm.exec} nx g ${pkg}:ng-add`;
|
|
66
|
+
console.log(`Instead, we recommend running \`${cmd}\``);
|
|
67
|
+
Promise.resolve().then(() => require('enquirer')).then((x) => x
|
|
68
|
+
.prompt({
|
|
69
|
+
name: 'c',
|
|
70
|
+
type: 'confirm',
|
|
71
|
+
message: 'Run this command?',
|
|
72
|
+
})
|
|
73
|
+
.then(({ c }) => {
|
|
74
|
+
if (c) {
|
|
75
|
+
(0, child_process_1.execSync)(cmd, { stdio: 'inherit' });
|
|
76
|
+
}
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
require('nx/src/compat/compat');
|
|
81
|
+
loadCli(workspace, '@angular/cli/lib/init.js');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (e) {
|
|
86
|
+
console.error(e.message);
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.initLocal = initLocal;
|
|
91
|
+
function loadCli(workspace, cliPath) {
|
|
92
|
+
try {
|
|
93
|
+
const cli = require.resolve(cliPath, { paths: [workspace.dir] });
|
|
94
|
+
require(cli);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
console.error(`Could not find ${cliPath} module in this workspace.`, e);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function runOneOptions(workspace) {
|
|
102
|
+
const workspaceConfig = new workspace_1.Workspaces(workspace.dir).readWorkspaceConfiguration();
|
|
103
|
+
return (0, parse_run_one_options_1.parseRunOneOptions)(workspace.dir, workspaceConfig, process.argv.slice(2));
|
|
104
|
+
}
|
|
105
|
+
function generating() {
|
|
106
|
+
const command = process.argv.slice(2)[0];
|
|
107
|
+
return command === 'g' || command === 'generate';
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=init-local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-local.js","sourceRoot":"","sources":["../../../../../packages/nx/src/cli/init-local.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isCI(): string | boolean;
|
package/src/cli/is_ci.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isCI = void 0;
|
|
4
|
+
function isCI() {
|
|
5
|
+
return (process.env.CI === 'true' ||
|
|
6
|
+
process.env.TF_BUILD === 'true' ||
|
|
7
|
+
process.env['bamboo.buildKey'] ||
|
|
8
|
+
process.env.BUILDKITE === 'true' ||
|
|
9
|
+
process.env.CIRCLECI === 'true' ||
|
|
10
|
+
process.env.CIRRUS_CI === 'true' ||
|
|
11
|
+
process.env.CODEBUILD_BUILD_ID ||
|
|
12
|
+
process.env.GITHUB_ACTIONS === 'true' ||
|
|
13
|
+
process.env.GITLAB_CI ||
|
|
14
|
+
process.env.HEROKU_TEST_RUN_ID ||
|
|
15
|
+
process.env.BUILD_ID ||
|
|
16
|
+
process.env.TEAMCITY_VERSION ||
|
|
17
|
+
process.env.TRAVIS === 'true');
|
|
18
|
+
}
|
|
19
|
+
exports.isCI = isCI;
|
|
20
|
+
//# sourceMappingURL=is_ci.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is_ci.js","sourceRoot":"","sources":["../../../../../packages/nx/src/cli/is_ci.ts"],"names":[],"mappings":";;;AAAA,SAAgB,IAAI;IAClB,OAAO,CACL,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,MAAM;QACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;QAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM;QAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM;QAC/B,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM;QAChC,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;QACrC,OAAO,CAAC,GAAG,CAAC,SAAS;QACrB,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAC9B,OAAO,CAAC,GAAG,CAAC,QAAQ;QACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAC9B,CAAC;AACJ,CAAC;AAhBD,oBAgBC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file has been copied from workspace/src/command-line/output
|
|
3
|
+
* Consider that file to be the golden source. Changes (which should be few)
|
|
4
|
+
* should be copied here if necessary.
|
|
5
|
+
*/
|
|
6
|
+
import * as chalk from 'chalk';
|
|
7
|
+
export interface CLIErrorMessageConfig {
|
|
8
|
+
title: string;
|
|
9
|
+
bodyLines?: string[];
|
|
10
|
+
slug?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CLIWarnMessageConfig {
|
|
13
|
+
title: string;
|
|
14
|
+
bodyLines?: string[];
|
|
15
|
+
slug?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface CLILogMessageConfig {
|
|
18
|
+
title: string;
|
|
19
|
+
bodyLines?: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface CLINoteMessageConfig {
|
|
22
|
+
title: string;
|
|
23
|
+
bodyLines?: string[];
|
|
24
|
+
}
|
|
25
|
+
export interface CLISuccessMessageConfig {
|
|
26
|
+
title: string;
|
|
27
|
+
}
|
|
28
|
+
declare class CLIOutput {
|
|
29
|
+
private readonly NX_PREFIX;
|
|
30
|
+
/**
|
|
31
|
+
* Longer dash character which forms more of a continuous line when place side to side
|
|
32
|
+
* with itself, unlike the standard dash character
|
|
33
|
+
*/
|
|
34
|
+
private readonly VERTICAL_SEPARATOR;
|
|
35
|
+
/**
|
|
36
|
+
* Expose some color and other utility functions so that other parts of the codebase that need
|
|
37
|
+
* more fine-grained control of message bodies are still using a centralized
|
|
38
|
+
* implementation.
|
|
39
|
+
*/
|
|
40
|
+
colors: {
|
|
41
|
+
gray: chalk.Chalk;
|
|
42
|
+
};
|
|
43
|
+
bold: chalk.Chalk;
|
|
44
|
+
underline: chalk.Chalk;
|
|
45
|
+
private writeToStdOut;
|
|
46
|
+
private writeOutputTitle;
|
|
47
|
+
private writeOptionalOutputBody;
|
|
48
|
+
addNewline(): void;
|
|
49
|
+
addVerticalSeparator(): void;
|
|
50
|
+
error({ title, slug, bodyLines }: CLIErrorMessageConfig): void;
|
|
51
|
+
warn({ title, slug, bodyLines }: CLIWarnMessageConfig): void;
|
|
52
|
+
note({ title, bodyLines }: CLINoteMessageConfig): void;
|
|
53
|
+
success({ title }: CLISuccessMessageConfig): void;
|
|
54
|
+
logSingleLine(message: string): void;
|
|
55
|
+
log({ title, bodyLines }: CLIWarnMessageConfig): void;
|
|
56
|
+
}
|
|
57
|
+
export declare const output: CLIOutput;
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.output = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* This file has been copied from workspace/src/command-line/output
|
|
6
|
+
* Consider that file to be the golden source. Changes (which should be few)
|
|
7
|
+
* should be copied here if necessary.
|
|
8
|
+
*/
|
|
9
|
+
const chalk = require("chalk");
|
|
10
|
+
const is_ci_1 = require("./is_ci");
|
|
11
|
+
/**
|
|
12
|
+
* Automatically disable styling applied by chalk if CI=true
|
|
13
|
+
*/
|
|
14
|
+
const forceColor = process.env.FORCE_COLOR === '' || process.env.FORCE_COLOR === 'true';
|
|
15
|
+
if ((0, is_ci_1.isCI)() && !forceColor) {
|
|
16
|
+
chalk.Level = 0;
|
|
17
|
+
}
|
|
18
|
+
class CLIOutput {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.NX_PREFIX = `${chalk.cyan('>')} ${chalk.reset.inverse.bold.cyan(' NX ')}`;
|
|
21
|
+
/**
|
|
22
|
+
* Longer dash character which forms more of a continuous line when place side to side
|
|
23
|
+
* with itself, unlike the standard dash character
|
|
24
|
+
*/
|
|
25
|
+
this.VERTICAL_SEPARATOR = '———————————————————————————————————————————————';
|
|
26
|
+
/**
|
|
27
|
+
* Expose some color and other utility functions so that other parts of the codebase that need
|
|
28
|
+
* more fine-grained control of message bodies are still using a centralized
|
|
29
|
+
* implementation.
|
|
30
|
+
*/
|
|
31
|
+
this.colors = {
|
|
32
|
+
gray: chalk.gray,
|
|
33
|
+
};
|
|
34
|
+
this.bold = chalk.bold;
|
|
35
|
+
this.underline = chalk.underline;
|
|
36
|
+
}
|
|
37
|
+
writeToStdOut(str) {
|
|
38
|
+
process.stdout.write(str);
|
|
39
|
+
}
|
|
40
|
+
writeOutputTitle({ label, title, }) {
|
|
41
|
+
let outputTitle;
|
|
42
|
+
if (label) {
|
|
43
|
+
outputTitle = `${this.NX_PREFIX} ${label} ${title}\n`;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
outputTitle = `${this.NX_PREFIX} ${title}\n`;
|
|
47
|
+
}
|
|
48
|
+
this.writeToStdOut(outputTitle);
|
|
49
|
+
}
|
|
50
|
+
writeOptionalOutputBody(bodyLines) {
|
|
51
|
+
if (!bodyLines) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
this.addNewline();
|
|
55
|
+
bodyLines.forEach((bodyLine) => this.writeToStdOut(` ${bodyLine}\n`));
|
|
56
|
+
}
|
|
57
|
+
addNewline() {
|
|
58
|
+
this.writeToStdOut('\n');
|
|
59
|
+
}
|
|
60
|
+
addVerticalSeparator() {
|
|
61
|
+
this.writeToStdOut(`\n${chalk.gray(this.VERTICAL_SEPARATOR)}\n\n`);
|
|
62
|
+
}
|
|
63
|
+
error({ title, slug, bodyLines }) {
|
|
64
|
+
this.addNewline();
|
|
65
|
+
this.writeOutputTitle({
|
|
66
|
+
label: chalk.reset.inverse.bold.red(' ERROR '),
|
|
67
|
+
title: chalk.bold.red(title),
|
|
68
|
+
});
|
|
69
|
+
this.writeOptionalOutputBody(bodyLines);
|
|
70
|
+
/**
|
|
71
|
+
* Optional slug to be used in an Nx error message redirect URL
|
|
72
|
+
*/
|
|
73
|
+
if (slug && typeof slug === 'string') {
|
|
74
|
+
this.addNewline();
|
|
75
|
+
this.writeToStdOut(`${chalk.grey(' Learn more about this error: ')}https://errors.nx.dev/${slug}\n`);
|
|
76
|
+
}
|
|
77
|
+
this.addNewline();
|
|
78
|
+
}
|
|
79
|
+
warn({ title, slug, bodyLines }) {
|
|
80
|
+
this.addNewline();
|
|
81
|
+
this.writeOutputTitle({
|
|
82
|
+
label: chalk.reset.inverse.bold.yellow(' WARNING '),
|
|
83
|
+
title: chalk.bold.yellow(title),
|
|
84
|
+
});
|
|
85
|
+
this.writeOptionalOutputBody(bodyLines);
|
|
86
|
+
/**
|
|
87
|
+
* Optional slug to be used in an Nx warning message redirect URL
|
|
88
|
+
*/
|
|
89
|
+
if (slug && typeof slug === 'string') {
|
|
90
|
+
this.addNewline();
|
|
91
|
+
this.writeToStdOut(`${chalk.grey(' Learn more about this warning: ')}https://errors.nx.dev/${slug}\n`);
|
|
92
|
+
}
|
|
93
|
+
this.addNewline();
|
|
94
|
+
}
|
|
95
|
+
note({ title, bodyLines }) {
|
|
96
|
+
this.addNewline();
|
|
97
|
+
this.writeOutputTitle({
|
|
98
|
+
label: chalk.reset.inverse.bold.keyword('orange')(' NOTE '),
|
|
99
|
+
title: chalk.bold.keyword('orange')(title),
|
|
100
|
+
});
|
|
101
|
+
this.writeOptionalOutputBody(bodyLines);
|
|
102
|
+
this.addNewline();
|
|
103
|
+
}
|
|
104
|
+
success({ title }) {
|
|
105
|
+
this.addNewline();
|
|
106
|
+
this.writeOutputTitle({
|
|
107
|
+
label: chalk.reset.inverse.bold.green(' SUCCESS '),
|
|
108
|
+
title: chalk.bold.green(title),
|
|
109
|
+
});
|
|
110
|
+
this.addNewline();
|
|
111
|
+
}
|
|
112
|
+
logSingleLine(message) {
|
|
113
|
+
this.addNewline();
|
|
114
|
+
this.writeOutputTitle({
|
|
115
|
+
title: message,
|
|
116
|
+
});
|
|
117
|
+
this.addNewline();
|
|
118
|
+
}
|
|
119
|
+
log({ title, bodyLines }) {
|
|
120
|
+
this.addNewline();
|
|
121
|
+
this.writeOutputTitle({
|
|
122
|
+
title: chalk.white(title),
|
|
123
|
+
});
|
|
124
|
+
this.writeOptionalOutputBody(bodyLines);
|
|
125
|
+
this.addNewline();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
exports.output = new CLIOutput();
|
|
129
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../../packages/nx/src/cli/output.ts"],"names":[],"mappings":"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"}
|