nx 19.0.3 → 19.0.5
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/.eslintrc.json +2 -1
- package/package.json +13 -14
- package/src/adapter/ngcli-adapter.js +6 -3
- package/src/command-line/affected/affected.d.ts +4 -1
- package/src/command-line/affected/affected.js +5 -2
- package/src/command-line/graph/graph.js +1 -1
- package/src/command-line/migrate/migrate.js +16 -6
- package/src/command-line/release/publish.js +10 -7
- package/src/command-line/release/utils/github.js +1 -1
- package/src/command-line/release/utils/shared.js +5 -3
- package/src/command-line/reset/reset.js +7 -0
- package/src/command-line/run/executor-utils.js +5 -0
- package/src/command-line/run/run-one.js +4 -1
- package/src/command-line/run/run.js +10 -2
- package/src/command-line/run-many/run-many.js +4 -1
- package/src/config/misc-interfaces.d.ts +2 -1
- package/src/core/graph/main.js +1 -1
- package/src/daemon/client/client.js +5 -3
- package/src/daemon/server/server.js +3 -3
- package/src/daemon/server/watcher.js +4 -1
- package/src/daemon/socket-utils.d.ts +2 -2
- package/src/daemon/socket-utils.js +9 -8
- package/src/daemon/tmp-dir.d.ts +6 -2
- package/src/daemon/tmp-dir.js +6 -5
- package/src/devkit-internals.d.ts +2 -3
- package/src/devkit-internals.js +1 -5
- package/src/executors/run-commands/run-commands.impl.js +3 -1
- package/src/generators/utils/json.js +2 -1
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.js +8 -1
- package/src/native/index.js +6 -5
- package/src/native/native-file-cache-location.d.ts +1 -0
- package/src/native/native-file-cache-location.js +8 -0
- package/src/plugins/js/lock-file/npm-parser.js +10 -1
- package/src/plugins/js/lock-file/utils/pnpm-normalizer.js +3 -3
- package/src/project-graph/affected/locators/workspace-projects.js +1 -1
- package/src/project-graph/plugins/internal-api.d.ts +1 -1
- package/src/project-graph/plugins/internal-api.js +2 -4
- package/src/tasks-runner/life-cycles/dynamic-run-many-terminal-output-life-cycle.js +1 -1
- package/src/tasks-runner/pseudo-terminal.js +1 -1
- package/src/utils/json.js +1 -1
- package/src/utils/package-manager.js +14 -5
- package/src/utils/plugins/plugin-capabilities.js +24 -1
package/.eslintrc.json
CHANGED
@@ -100,7 +100,8 @@
|
|
100
100
|
"events", // This is coming from @storybook/builder-manager since it uses the browser polyfill
|
101
101
|
"process", // This is coming from @storybook/builder-manager since it uses the browser polyfill
|
102
102
|
"prettier", // This is coming from @storybook/builder-manager since it uses the browser polyfill
|
103
|
-
"util" // This is coming from @storybook/builder-manager since it uses the browser polyfill
|
103
|
+
"util", // This is coming from @storybook/builder-manager since it uses the browser polyfill
|
104
|
+
"js-yaml" // The rule is failing with alias dependencies
|
104
105
|
]
|
105
106
|
}
|
106
107
|
]
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "nx",
|
3
|
-
"version": "19.0.
|
3
|
+
"version": "19.0.5",
|
4
4
|
"private": false,
|
5
5
|
"description": "The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.",
|
6
6
|
"repository": {
|
@@ -35,7 +35,6 @@
|
|
35
35
|
"dependencies": {
|
36
36
|
"@yarnpkg/lockfile": "^1.1.0",
|
37
37
|
"@yarnpkg/parsers": "3.0.0-rc.46",
|
38
|
-
"@zkochan/js-yaml": "0.0.6",
|
39
38
|
"axios": "^1.6.0",
|
40
39
|
"chalk": "^4.1.0",
|
41
40
|
"cli-cursor": "3.1.0",
|
@@ -49,7 +48,7 @@
|
|
49
48
|
"fs-extra": "^11.1.0",
|
50
49
|
"ignore": "^5.0.4",
|
51
50
|
"jest-diff": "^29.4.1",
|
52
|
-
"js-yaml": "
|
51
|
+
"js-yaml": "npm:@zkochan/js-yaml@0.0.7",
|
53
52
|
"jsonc-parser": "3.2.0",
|
54
53
|
"lines-and-columns": "~2.0.3",
|
55
54
|
"minimatch": "9.0.3",
|
@@ -66,7 +65,7 @@
|
|
66
65
|
"yargs-parser": "21.1.1",
|
67
66
|
"node-machine-id": "1.1.12",
|
68
67
|
"ora": "5.3.0",
|
69
|
-
"@nrwl/tao": "19.0.
|
68
|
+
"@nrwl/tao": "19.0.5"
|
70
69
|
},
|
71
70
|
"peerDependencies": {
|
72
71
|
"@swc-node/register": "^1.8.0",
|
@@ -81,16 +80,16 @@
|
|
81
80
|
}
|
82
81
|
},
|
83
82
|
"optionalDependencies": {
|
84
|
-
"@nx/nx-darwin-x64": "19.0.
|
85
|
-
"@nx/nx-darwin-arm64": "19.0.
|
86
|
-
"@nx/nx-linux-x64-gnu": "19.0.
|
87
|
-
"@nx/nx-linux-x64-musl": "19.0.
|
88
|
-
"@nx/nx-win32-x64-msvc": "19.0.
|
89
|
-
"@nx/nx-linux-arm64-gnu": "19.0.
|
90
|
-
"@nx/nx-linux-arm64-musl": "19.0.
|
91
|
-
"@nx/nx-linux-arm-gnueabihf": "19.0.
|
92
|
-
"@nx/nx-win32-arm64-msvc": "19.0.
|
93
|
-
"@nx/nx-freebsd-x64": "19.0.
|
83
|
+
"@nx/nx-darwin-x64": "19.0.5",
|
84
|
+
"@nx/nx-darwin-arm64": "19.0.5",
|
85
|
+
"@nx/nx-linux-x64-gnu": "19.0.5",
|
86
|
+
"@nx/nx-linux-x64-musl": "19.0.5",
|
87
|
+
"@nx/nx-win32-x64-msvc": "19.0.5",
|
88
|
+
"@nx/nx-linux-arm64-gnu": "19.0.5",
|
89
|
+
"@nx/nx-linux-arm64-musl": "19.0.5",
|
90
|
+
"@nx/nx-linux-arm-gnueabihf": "19.0.5",
|
91
|
+
"@nx/nx-win32-arm64-msvc": "19.0.5",
|
92
|
+
"@nx/nx-freebsd-x64": "19.0.5"
|
94
93
|
},
|
95
94
|
"nx-migrations": {
|
96
95
|
"migrations": "./migrations.json",
|
@@ -791,12 +791,10 @@ async function getWrappedWorkspaceNodeModulesArchitectHost(workspace, root, proj
|
|
791
791
|
const [packageName, builderName] = builderStr.split(':');
|
792
792
|
const { executorsFilePath, executorConfig } = this.readExecutorsJson(packageName, builderName);
|
793
793
|
const builderInfo = this.readExecutor(packageName, builderName);
|
794
|
-
const { builders, executors } = (0, fileutils_1.readJsonFile)(executorsFilePath);
|
795
794
|
return {
|
796
795
|
name: builderStr,
|
797
796
|
builderName,
|
798
|
-
description:
|
799
|
-
executors?.[builderName]?.description,
|
797
|
+
description: executorConfig.description,
|
800
798
|
optionSchema: builderInfo.schema,
|
801
799
|
import: (0, schema_utils_1.resolveImplementation)(executorConfig.implementation, (0, path_1.dirname)(executorsFilePath)),
|
802
800
|
};
|
@@ -813,6 +811,11 @@ async function getWrappedWorkspaceNodeModulesArchitectHost(workspace, root, proj
|
|
813
811
|
if (!executorConfig) {
|
814
812
|
throw new Error(`Cannot find builder '${builder}' in ${executorsFilePath}.`);
|
815
813
|
}
|
814
|
+
if (typeof executorConfig === 'string') {
|
815
|
+
// Angular CLI can have a builder pointing to another package:builder
|
816
|
+
const [packageName, executorName] = executorConfig.split(':');
|
817
|
+
return this.readExecutorsJson(packageName, executorName);
|
818
|
+
}
|
816
819
|
return { executorsFilePath, executorConfig, isNgCompat: true };
|
817
820
|
}
|
818
821
|
readExecutor(nodeModule, executor) {
|
@@ -3,5 +3,8 @@ import { ProjectGraph, ProjectGraphProjectNode } from '../../config/project-grap
|
|
3
3
|
import { TargetDependencyConfig } from '../../config/workspace-json-project-json';
|
4
4
|
export declare function affected(command: 'graph' | 'print-affected' | 'affected', args: {
|
5
5
|
[k: string]: any;
|
6
|
-
}, extraTargetDependencies?: Record<string, (TargetDependencyConfig | string)[]
|
6
|
+
}, extraTargetDependencies?: Record<string, (TargetDependencyConfig | string)[]>, extraOptions?: {
|
7
|
+
excludeTaskDependencies: boolean;
|
8
|
+
loadDotEnvFiles: boolean;
|
9
|
+
}): Promise<void>;
|
7
10
|
export declare function getAffectedGraphNodes(nxArgs: NxArgs, projectGraph: ProjectGraph): Promise<ProjectGraphProjectNode[]>;
|
@@ -15,7 +15,10 @@ const workspace_configuration_check_1 = require("../../utils/workspace-configura
|
|
15
15
|
const find_matching_projects_1 = require("../../utils/find-matching-projects");
|
16
16
|
const graph_1 = require("../graph/graph");
|
17
17
|
const all_file_data_1 = require("../../utils/all-file-data");
|
18
|
-
async function affected(command, args, extraTargetDependencies = {}
|
18
|
+
async function affected(command, args, extraTargetDependencies = {}, extraOptions = {
|
19
|
+
excludeTaskDependencies: false,
|
20
|
+
loadDotEnvFiles: process.env.NX_LOAD_DOT_ENV_FILES !== 'false',
|
21
|
+
}) {
|
19
22
|
perf_hooks_1.performance.mark('code-loading:end');
|
20
23
|
perf_hooks_1.performance.measure('code-loading', 'init-local', 'code-loading:end');
|
21
24
|
(0, workspace_configuration_check_1.workspaceConfigurationCheck)();
|
@@ -46,7 +49,7 @@ async function affected(command, args, extraTargetDependencies = {}) {
|
|
46
49
|
}, projectNames);
|
47
50
|
}
|
48
51
|
else {
|
49
|
-
const status = await (0, run_command_1.runCommand)(projectsWithTarget, projectGraph, { nxJson }, nxArgs, overrides, null, extraTargetDependencies,
|
52
|
+
const status = await (0, run_command_1.runCommand)(projectsWithTarget, projectGraph, { nxJson }, nxArgs, overrides, null, extraTargetDependencies, extraOptions);
|
50
53
|
process.exit(status);
|
51
54
|
}
|
52
55
|
break;
|
@@ -255,7 +255,7 @@ async function generateGraph(args, affectedProjects) {
|
|
255
255
|
const environmentJs = buildEnvironmentJs(args.exclude || [], args.watch, !!args.file && args.file.endsWith('html') ? 'build' : 'serve', projectGraphClientResponse, taskGraphClientResponse, taskInputsReponse, sourceMaps);
|
256
256
|
html = html.replace(/src="/g, 'src="static/');
|
257
257
|
html = html.replace(/href="styles/g, 'href="static/styles');
|
258
|
-
html = html.replace(
|
258
|
+
html = html.replace(/<base href="\/".*>/g, '');
|
259
259
|
html = html.replace(/type="module"/g, '');
|
260
260
|
(0, fs_1.writeFileSync)(fullFilePath, html);
|
261
261
|
(0, fs_1.writeFileSync)((0, path_1.join)(assetsFolder, 'environment.js'), environmentJs);
|
@@ -377,9 +377,9 @@ const LEGACY_NRWL_PACKAGE_GROUP = [
|
|
377
377
|
];
|
378
378
|
async function normalizeVersionWithTagCheck(pkg, version) {
|
379
379
|
// This doesn't seem like a valid version, lets check if its a tag on the registry.
|
380
|
-
if (version && !(0, semver_1.
|
380
|
+
if (version && !(0, semver_1.parse)(version)) {
|
381
381
|
try {
|
382
|
-
return (0, package_manager_1.
|
382
|
+
return (0, package_manager_1.resolvePackageVersionUsingRegistry)(pkg, version);
|
383
383
|
}
|
384
384
|
catch {
|
385
385
|
// fall through to old logic
|
@@ -634,6 +634,9 @@ async function getPackageMigrationsUsingInstall(packageName, packageVersion) {
|
|
634
634
|
}
|
635
635
|
result = { ...migrations, packageGroup, version: packageJson.version };
|
636
636
|
}
|
637
|
+
catch (e) {
|
638
|
+
logger_1.logger.warn(`Unable to fetch migrations for ${packageName}@${packageVersion}: ${e.message}`);
|
639
|
+
}
|
637
640
|
finally {
|
638
641
|
await cleanup();
|
639
642
|
}
|
@@ -871,7 +874,14 @@ function runInstall() {
|
|
871
874
|
(0, child_process_1.execSync)(pmCommands.install, { stdio: [0, 1, 2] });
|
872
875
|
}
|
873
876
|
async function executeMigrations(root, migrations, isVerbose, shouldCreateCommits, commitPrefix) {
|
874
|
-
|
877
|
+
let initialDeps = getStringifiedPackageJsonDeps(root);
|
878
|
+
const installDepsIfChanged = () => {
|
879
|
+
const currentDeps = getStringifiedPackageJsonDeps(root);
|
880
|
+
if (initialDeps !== currentDeps) {
|
881
|
+
runInstall();
|
882
|
+
}
|
883
|
+
initialDeps = currentDeps;
|
884
|
+
};
|
875
885
|
const migrationsWithNoChanges = [];
|
876
886
|
const sortedMigrations = migrations.sort((a, b) => {
|
877
887
|
// special case for the split configuration migration to run first
|
@@ -912,6 +922,7 @@ async function executeMigrations(root, migrations, isVerbose, shouldCreateCommit
|
|
912
922
|
loggingQueue.forEach((log) => logger_1.logger.info(' ' + log));
|
913
923
|
}
|
914
924
|
if (shouldCreateCommits) {
|
925
|
+
installDepsIfChanged();
|
915
926
|
const commitMessage = `${commitPrefix}${m.name}`;
|
916
927
|
try {
|
917
928
|
const committedSha = commitChanges(commitMessage);
|
@@ -935,9 +946,8 @@ async function executeMigrations(root, migrations, isVerbose, shouldCreateCommit
|
|
935
946
|
throw e;
|
936
947
|
}
|
937
948
|
}
|
938
|
-
|
939
|
-
|
940
|
-
runInstall();
|
949
|
+
if (!shouldCreateCommits) {
|
950
|
+
installDepsIfChanged();
|
941
951
|
}
|
942
952
|
return migrationsWithNoChanges;
|
943
953
|
}
|
@@ -54,7 +54,10 @@ async function releasePublish(args, isCLI = false) {
|
|
54
54
|
* Run publishing for all remaining release groups and filtered projects within them
|
55
55
|
*/
|
56
56
|
for (const releaseGroup of releaseGroups) {
|
57
|
-
const status = await runPublishOnProjects(_args, projectGraph, nxJson, Array.from(releaseGroupToFilteredProjects.get(releaseGroup)),
|
57
|
+
const status = await runPublishOnProjects(_args, projectGraph, nxJson, Array.from(releaseGroupToFilteredProjects.get(releaseGroup)), isCLI, {
|
58
|
+
excludeTaskDependencies: shouldExcludeTaskDependencies,
|
59
|
+
loadDotEnvFiles: process.env.NX_LOAD_DOT_ENV_FILES !== 'false',
|
60
|
+
});
|
58
61
|
if (status !== 0) {
|
59
62
|
overallExitStatus = status || 1;
|
60
63
|
}
|
@@ -65,7 +68,10 @@ async function releasePublish(args, isCLI = false) {
|
|
65
68
|
* Run publishing for all remaining release groups
|
66
69
|
*/
|
67
70
|
for (const releaseGroup of releaseGroups) {
|
68
|
-
const status = await runPublishOnProjects(_args, projectGraph, nxJson, releaseGroup.projects,
|
71
|
+
const status = await runPublishOnProjects(_args, projectGraph, nxJson, releaseGroup.projects, isCLI, {
|
72
|
+
excludeTaskDependencies: shouldExcludeTaskDependencies,
|
73
|
+
loadDotEnvFiles: process.env.NX_LOAD_DOT_ENV_FILES !== 'false',
|
74
|
+
});
|
69
75
|
if (status !== 0) {
|
70
76
|
overallExitStatus = status || 1;
|
71
77
|
}
|
@@ -73,7 +79,7 @@ async function releasePublish(args, isCLI = false) {
|
|
73
79
|
return overallExitStatus;
|
74
80
|
}
|
75
81
|
exports.releasePublish = releasePublish;
|
76
|
-
async function runPublishOnProjects(args, projectGraph, nxJson, projectNames,
|
82
|
+
async function runPublishOnProjects(args, projectGraph, nxJson, projectNames, isCLI, extraOptions) {
|
77
83
|
const projectsToRun = projectNames.map((projectName) => projectGraph.nodes[projectName]);
|
78
84
|
const overrides = (0, command_line_utils_1.createOverrides)(args.__overrides_unparsed__);
|
79
85
|
if (args.registry) {
|
@@ -131,10 +137,7 @@ async function runPublishOnProjects(args, projectGraph, nxJson, projectNames, sh
|
|
131
137
|
targets: [requiredTargetName],
|
132
138
|
outputStyle: 'static',
|
133
139
|
...args,
|
134
|
-
}, overrides, null, {},
|
135
|
-
excludeTaskDependencies: shouldExcludeTaskDependencies,
|
136
|
-
loadDotEnvFiles: true,
|
137
|
-
});
|
140
|
+
}, overrides, null, {}, extraOptions);
|
138
141
|
if (status !== 0) {
|
139
142
|
// In order to not add noise to the overall CLI output, do not throw an additional error
|
140
143
|
if (isCLI) {
|
@@ -223,7 +223,7 @@ async function resolveGithubToken() {
|
|
223
223
|
const ghCLIPath = (0, path_1.joinPathFragments)(process.env.XDG_CONFIG_HOME || (0, path_1.joinPathFragments)((0, node_os_1.homedir)(), '.config'), 'gh', 'hosts.yml');
|
224
224
|
if ((0, node_fs_1.existsSync)(ghCLIPath)) {
|
225
225
|
const yamlContents = await node_fs_1.promises.readFile(ghCLIPath, 'utf8');
|
226
|
-
const { load } = require('
|
226
|
+
const { load } = require('js-yaml');
|
227
227
|
const ghCLIConfig = load(yamlContents);
|
228
228
|
if (ghCLIConfig['github.com']) {
|
229
229
|
// Web based session (the token is already embedded in the config)
|
@@ -162,9 +162,11 @@ function createGitTagValues(releaseGroups, releaseGroupToFilteredProjects, versi
|
|
162
162
|
}
|
163
163
|
// For fixed groups we want one tag for the overall group
|
164
164
|
const projectVersionData = versionData[releaseGroupProjectNames[0]]; // all at the same version, so we can just pick the first one
|
165
|
-
|
166
|
-
|
167
|
-
|
165
|
+
if (projectVersionData.newVersion !== null) {
|
166
|
+
tags.push((0, utils_1.interpolate)(releaseGroup.releaseTagPattern, {
|
167
|
+
version: projectVersionData.newVersion,
|
168
|
+
}));
|
169
|
+
}
|
168
170
|
}
|
169
171
|
return tags;
|
170
172
|
}
|
@@ -5,6 +5,7 @@ const fs_extra_1 = require("fs-extra");
|
|
5
5
|
const client_1 = require("../../daemon/client/client");
|
6
6
|
const cache_directory_1 = require("../../utils/cache-directory");
|
7
7
|
const output_1 = require("../../utils/output");
|
8
|
+
const native_file_cache_location_1 = require("../../native/native-file-cache-location");
|
8
9
|
async function resetHandler() {
|
9
10
|
output_1.output.note({
|
10
11
|
title: 'Resetting the Nx workspace cache and stopping the Nx Daemon.',
|
@@ -12,6 +13,12 @@ async function resetHandler() {
|
|
12
13
|
});
|
13
14
|
await client_1.daemonClient.stop();
|
14
15
|
output_1.output.log({ title: 'Daemon Server - Stopped' });
|
16
|
+
try {
|
17
|
+
(0, fs_extra_1.rmSync)(native_file_cache_location_1.nativeFileCacheLocation, { recursive: true, force: true });
|
18
|
+
}
|
19
|
+
catch (e) {
|
20
|
+
// ignore, deleting the native file cache is not critical and can fail if another process is locking the file
|
21
|
+
}
|
15
22
|
(0, fs_extra_1.rmSync)(cache_directory_1.cacheDir, { recursive: true, force: true });
|
16
23
|
if (cache_directory_1.projectGraphCacheDirectory !== cache_directory_1.cacheDir) {
|
17
24
|
(0, fs_extra_1.rmSync)(cache_directory_1.projectGraphCacheDirectory, { recursive: true, force: true });
|
@@ -68,6 +68,11 @@ function readExecutorJson(nodeModule, executor, root, projects) {
|
|
68
68
|
if (!executorConfig) {
|
69
69
|
throw new Error(`Cannot find executor '${executor}' in ${executorsFilePath}.`);
|
70
70
|
}
|
71
|
+
if (typeof executorConfig === 'string') {
|
72
|
+
// Angular CLI can have a builder pointing to another package:builder
|
73
|
+
const [packageName, executorName] = executorConfig.split(':');
|
74
|
+
return readExecutorJson(packageName, executorName, root, projects);
|
75
|
+
}
|
71
76
|
const isNgCompat = !executorsJson.executors?.[executor];
|
72
77
|
return { executorsFilePath, executorConfig, isNgCompat };
|
73
78
|
}
|
@@ -13,7 +13,10 @@ const configuration_1 = require("../../config/configuration");
|
|
13
13
|
const calculate_default_project_name_1 = require("../../config/calculate-default-project-name");
|
14
14
|
const workspace_configuration_check_1 = require("../../utils/workspace-configuration-check");
|
15
15
|
const graph_1 = require("../graph/graph");
|
16
|
-
async function runOne(cwd, args, extraTargetDependencies = {}, extraOptions = {
|
16
|
+
async function runOne(cwd, args, extraTargetDependencies = {}, extraOptions = {
|
17
|
+
excludeTaskDependencies: false,
|
18
|
+
loadDotEnvFiles: process.env.NX_LOAD_DOT_ENV_FILES !== 'false',
|
19
|
+
}) {
|
17
20
|
perf_hooks_1.performance.mark('code-loading:end');
|
18
21
|
perf_hooks_1.performance.measure('code-loading', 'init-local', 'code-loading:end');
|
19
22
|
(0, workspace_configuration_check_1.workspaceConfigurationCheck)();
|
@@ -1,6 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.run = exports.printTargetRunHelp = exports.runExecutor = exports.validateProject = exports.printRunHelp = void 0;
|
4
|
+
const npm_run_path_1 = require("npm-run-path");
|
4
5
|
const params_1 = require("../../utils/params");
|
5
6
|
const print_help_1 = require("../../utils/print-help");
|
6
7
|
const path_1 = require("path");
|
@@ -68,17 +69,24 @@ async function printTargetRunHelpInternal({ project, target }, root, projectsCon
|
|
68
69
|
targetConfig.options.command) {
|
69
70
|
const command = targetConfig.options.command.split(' ')[0];
|
70
71
|
const helpCommand = `${command} --help`;
|
72
|
+
const localEnv = (0, npm_run_path_1.env)();
|
73
|
+
const env = {
|
74
|
+
...process.env,
|
75
|
+
...localEnv,
|
76
|
+
};
|
71
77
|
if (pseudo_terminal_1.PseudoTerminal.isSupported()) {
|
72
78
|
const terminal = (0, pseudo_terminal_1.getPseudoTerminal)();
|
73
79
|
await new Promise(() => {
|
74
|
-
const cp = terminal.runCommand(helpCommand);
|
80
|
+
const cp = terminal.runCommand(helpCommand, { jsEnv: env });
|
75
81
|
cp.onExit((code) => {
|
76
82
|
process.exit(code);
|
77
83
|
});
|
78
84
|
});
|
79
85
|
}
|
80
86
|
else {
|
81
|
-
const cp = (0, child_process_1.exec)(helpCommand
|
87
|
+
const cp = (0, child_process_1.exec)(helpCommand, {
|
88
|
+
env,
|
89
|
+
});
|
82
90
|
cp.on('exit', (code) => {
|
83
91
|
process.exit(code);
|
84
92
|
});
|
@@ -13,7 +13,10 @@ const output_1 = require("../../utils/output");
|
|
13
13
|
const find_matching_projects_1 = require("../../utils/find-matching-projects");
|
14
14
|
const workspace_configuration_check_1 = require("../../utils/workspace-configuration-check");
|
15
15
|
const graph_1 = require("../graph/graph");
|
16
|
-
async function runMany(args, extraTargetDependencies = {}, extraOptions = {
|
16
|
+
async function runMany(args, extraTargetDependencies = {}, extraOptions = {
|
17
|
+
excludeTaskDependencies: false,
|
18
|
+
loadDotEnvFiles: process.env.NX_LOAD_DOT_ENV_FILES !== 'false',
|
19
|
+
}) {
|
17
20
|
perf_hooks_1.performance.mark('code-loading:end');
|
18
21
|
perf_hooks_1.performance.measure('code-loading', 'init-local', 'code-loading:end');
|
19
22
|
(0, workspace_configuration_check_1.workspaceConfigurationCheck)();
|
@@ -25,13 +25,14 @@ export interface GeneratorsJsonEntry {
|
|
25
25
|
'x-use-standalone-layout'?: boolean;
|
26
26
|
}
|
27
27
|
export type OutputCaptureMethod = 'direct-nodejs' | 'pipe';
|
28
|
-
export interface
|
28
|
+
export interface ExecutorJsonEntryConfig {
|
29
29
|
schema: string;
|
30
30
|
implementation: string;
|
31
31
|
batchImplementation?: string;
|
32
32
|
description?: string;
|
33
33
|
hasher?: string;
|
34
34
|
}
|
35
|
+
export type ExecutorsJsonEntry = string | ExecutorJsonEntryConfig;
|
35
36
|
export type Dependencies = 'dependencies' | 'devDependencies';
|
36
37
|
export interface PackageJsonUpdateForPackage {
|
37
38
|
version: string;
|