nx 20.0.0-canary.20241002-1d10a19 → 20.0.0-rc.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.json +12 -2
- package/bin/init-local.js +0 -39
- package/bin/nx.js +3 -13
- package/migrations.json +5 -37
- package/package.json +11 -11
- package/release/changelog-renderer/index.d.ts +60 -38
- package/release/changelog-renderer/index.js +260 -236
- package/src/adapter/compat.d.ts +1 -1
- package/src/adapter/compat.js +1 -1
- package/src/command-line/add/add.js +2 -2
- package/src/command-line/affected/affected.js +0 -2
- package/src/command-line/nx-commands.js +31 -10
- package/src/command-line/release/changelog.d.ts +2 -2
- package/src/command-line/release/changelog.js +28 -29
- package/src/command-line/release/index.d.ts +5 -2
- package/src/command-line/release/publish.d.ts +6 -1
- package/src/command-line/release/publish.js +31 -25
- package/src/command-line/release/utils/git.js +2 -2
- package/src/command-line/release/utils/print-changes.js +6 -4
- package/src/command-line/release/utils/resolve-changelog-renderer.d.ts +2 -2
- package/src/command-line/release/utils/resolve-changelog-renderer.js +3 -3
- package/src/command-line/release/utils/resolve-nx-json-error-message.js +4 -3
- package/src/command-line/release/version.d.ts +3 -3
- package/src/command-line/run/run-one.js +0 -2
- package/src/command-line/run/run.js +0 -1
- package/src/command-line/run-many/run-many.js +1 -4
- package/src/command-line/yargs-utils/shared-options.js +2 -2
- package/src/config/misc-interfaces.d.ts +3 -15
- package/src/config/nx-json.d.ts +4 -3
- package/src/config/project-graph.d.ts +0 -2
- package/src/core/graph/main.js +1 -1
- package/src/daemon/client/client.js +1 -3
- package/src/devkit-exports.d.ts +3 -4
- package/src/devkit-exports.js +3 -6
- package/src/executors/utils/convert-nx-executor.js +0 -1
- package/src/generators/utils/nx-json.d.ts +1 -1
- package/src/migrations/update-20-0-0/move-use-daemon-process.d.ts +2 -0
- package/src/migrations/update-20-0-0/move-use-daemon-process.js +25 -0
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/nx-cloud/generators/connect-to-nx-cloud/connect-to-nx-cloud.js +54 -6
- package/src/nx-cloud/utilities/axios.js +1 -2
- package/src/nx-cloud/utilities/onboarding.js +2 -2
- package/src/nx-cloud/utilities/url-shorten.js +5 -5
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +2 -12
- package/src/project-graph/build-project-graph.js +3 -41
- package/src/project-graph/error-types.d.ts +4 -10
- package/src/project-graph/error-types.js +1 -12
- package/src/project-graph/file-utils.d.ts +2 -2
- package/src/project-graph/file-utils.js +3 -3
- package/src/project-graph/nx-deps-cache.d.ts +0 -1
- package/src/project-graph/nx-deps-cache.js +0 -1
- package/src/project-graph/plugins/internal-api.d.ts +2 -5
- package/src/project-graph/plugins/internal-api.js +0 -1
- package/src/project-graph/plugins/isolation/messaging.d.ts +3 -23
- package/src/project-graph/plugins/isolation/plugin-pool.js +0 -23
- package/src/project-graph/plugins/isolation/plugin-worker.js +0 -19
- package/src/project-graph/plugins/loader.js +2 -3
- package/src/project-graph/plugins/public-api.d.ts +6 -7
- package/src/project-graph/plugins/utils.d.ts +1 -7
- package/src/project-graph/plugins/utils.js +0 -37
- package/src/project-graph/utils/project-configuration-utils.js +1 -1
- package/src/tasks-runner/batch/run-batch.js +0 -1
- package/src/tasks-runner/cache.d.ts +2 -1
- package/src/tasks-runner/cache.js +11 -6
- package/src/tasks-runner/create-task-graph.d.ts +2 -0
- package/src/tasks-runner/create-task-graph.js +39 -5
- package/src/tasks-runner/init-tasks-runner.js +0 -2
- package/src/tasks-runner/run-command.js +15 -2
- package/src/tasks-runner/task-orchestrator.js +1 -1
- package/src/utils/command-line-utils.d.ts +3 -0
- package/src/utils/command-line-utils.js +24 -33
- package/src/utils/git-utils.js +2 -2
- package/src/utils/plugins/plugin-capabilities.js +2 -3
- package/src/migrations/update-15-0-0/prefix-outputs.d.ts +0 -2
- package/src/migrations/update-15-0-0/prefix-outputs.js +0 -49
- package/src/migrations/update-16-0-0/remove-nrwl-cli.d.ts +0 -2
- package/src/migrations/update-16-0-0/remove-nrwl-cli.js +0 -16
- package/src/migrations/update-16-0-0/update-depends-on-to-tokens.d.ts +0 -2
- package/src/migrations/update-16-0-0/update-depends-on-to-tokens.js +0 -97
- package/src/migrations/update-16-0-0/update-nx-cloud-runner.d.ts +0 -2
- package/src/migrations/update-16-0-0/update-nx-cloud-runner.js +0 -29
- package/src/migrations/update-16-2-0/remove-run-commands-output-path.d.ts +0 -2
- package/src/migrations/update-16-2-0/remove-run-commands-output-path.js +0 -45
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.d.ts +0 -12
- package/src/migrations/update-16-8-0/escape-dollar-sign-env-variables.js +0 -67
- package/src/utils/app-root.d.ts +0 -8
- package/src/utils/app-root.js +0 -12
- package/src/utils/nx-plugin.deprecated.d.ts +0 -31
- package/src/utils/nx-plugin.deprecated.js +0 -20
- package/src/utils/workspace-configuration-check.d.ts +0 -1
- package/src/utils/workspace-configuration-check.js +0 -36
@@ -1,97 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = default_1;
|
4
|
-
const project_configuration_1 = require("../../generators/utils/project-configuration");
|
5
|
-
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
|
6
|
-
async function default_1(tree) {
|
7
|
-
updateDependsOnAndInputsInsideNxJson(tree);
|
8
|
-
const projectsConfigurations = (0, project_configuration_1.getProjects)(tree);
|
9
|
-
for (const [projectName, projectConfiguration] of projectsConfigurations) {
|
10
|
-
let projectChanged = false;
|
11
|
-
for (const [targetName, targetConfiguration] of Object.entries(projectConfiguration.targets ?? {})) {
|
12
|
-
for (const dependency of targetConfiguration.dependsOn ?? []) {
|
13
|
-
if (typeof dependency !== 'string') {
|
14
|
-
if (dependency.projects === 'self' ||
|
15
|
-
dependency.projects === '{self}') {
|
16
|
-
delete dependency.projects;
|
17
|
-
projectChanged = true;
|
18
|
-
}
|
19
|
-
else if (dependency.projects === 'dependencies' ||
|
20
|
-
dependency.projects === '{dependencies}') {
|
21
|
-
delete dependency.projects;
|
22
|
-
dependency.dependencies = true;
|
23
|
-
projectChanged = true;
|
24
|
-
}
|
25
|
-
}
|
26
|
-
}
|
27
|
-
for (let i = 0; i < targetConfiguration.inputs?.length ?? 0; i++) {
|
28
|
-
const input = targetConfiguration.inputs[i];
|
29
|
-
if (typeof input !== 'string') {
|
30
|
-
if ('projects' in input &&
|
31
|
-
(input.projects === 'self' || input.projects === '{self}')) {
|
32
|
-
delete input.projects;
|
33
|
-
projectChanged = true;
|
34
|
-
}
|
35
|
-
else if ('projects' in input &&
|
36
|
-
(input.projects === 'dependencies' ||
|
37
|
-
input.projects === '{dependencies}')) {
|
38
|
-
delete input.projects;
|
39
|
-
targetConfiguration.inputs[i] = {
|
40
|
-
...input,
|
41
|
-
dependencies: true,
|
42
|
-
};
|
43
|
-
projectChanged = true;
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
}
|
48
|
-
if (projectChanged) {
|
49
|
-
(0, project_configuration_1.updateProjectConfiguration)(tree, projectName, projectConfiguration);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
|
53
|
-
}
|
54
|
-
function updateDependsOnAndInputsInsideNxJson(tree) {
|
55
|
-
const nxJson = (0, project_configuration_1.readNxJson)(tree);
|
56
|
-
let nxJsonChanged = false;
|
57
|
-
for (const [target, defaults] of Object.entries(nxJson?.targetDefaults ?? {})) {
|
58
|
-
for (const dependency of defaults.dependsOn ?? []) {
|
59
|
-
if (typeof dependency !== 'string') {
|
60
|
-
if (dependency.projects === 'self' ||
|
61
|
-
dependency.projects === '{self}') {
|
62
|
-
delete dependency.projects;
|
63
|
-
nxJsonChanged = true;
|
64
|
-
}
|
65
|
-
else if (dependency.projects === 'dependencies' ||
|
66
|
-
dependency.projects === '{dependencies}') {
|
67
|
-
delete dependency.projects;
|
68
|
-
dependency.dependencies = true;
|
69
|
-
nxJsonChanged = true;
|
70
|
-
}
|
71
|
-
}
|
72
|
-
}
|
73
|
-
for (let i = 0; i < defaults.inputs?.length ?? 0; i++) {
|
74
|
-
const input = defaults.inputs[i];
|
75
|
-
if (typeof input !== 'string') {
|
76
|
-
if ('projects' in input &&
|
77
|
-
(input.projects === 'self' || input.projects === '{self}')) {
|
78
|
-
delete input.projects;
|
79
|
-
nxJsonChanged = true;
|
80
|
-
}
|
81
|
-
else if ('projects' in input &&
|
82
|
-
(input.projects === 'dependencies' ||
|
83
|
-
input.projects === '{dependencies}')) {
|
84
|
-
delete input.projects;
|
85
|
-
defaults.inputs[i] = {
|
86
|
-
...input,
|
87
|
-
dependencies: true,
|
88
|
-
};
|
89
|
-
nxJsonChanged = true;
|
90
|
-
}
|
91
|
-
}
|
92
|
-
}
|
93
|
-
}
|
94
|
-
if (nxJsonChanged) {
|
95
|
-
(0, project_configuration_1.updateNxJson)(tree, nxJson);
|
96
|
-
}
|
97
|
-
}
|
@@ -1,29 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = default_1;
|
4
|
-
const project_configuration_1 = require("../../generators/utils/project-configuration");
|
5
|
-
const json_1 = require("../../generators/utils/json");
|
6
|
-
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
|
7
|
-
async function default_1(tree) {
|
8
|
-
(0, json_1.updateJson)(tree, 'package.json', (json) => {
|
9
|
-
if (json.dependencies && json.dependencies['@nrwl/nx-cloud']) {
|
10
|
-
json.dependencies['nx-cloud'] = json.dependencies['@nrwl/nx-cloud'];
|
11
|
-
delete json.dependencies['@nrwl/nx-cloud'];
|
12
|
-
}
|
13
|
-
if (json.devDependencies && json.devDependencies['@nrwl/nx-cloud']) {
|
14
|
-
json.devDependencies['nx-cloud'] = json.devDependencies['@nrwl/nx-cloud'];
|
15
|
-
delete json.devDependencies['@nrwl/nx-cloud'];
|
16
|
-
}
|
17
|
-
return json;
|
18
|
-
});
|
19
|
-
const nxJson = (0, project_configuration_1.readNxJson)(tree);
|
20
|
-
if (!nxJson)
|
21
|
-
return;
|
22
|
-
for (let opts of Object.values(nxJson.tasksRunnerOptions ?? {})) {
|
23
|
-
if (opts.runner === '@nrwl/nx-cloud') {
|
24
|
-
opts.runner = 'nx-cloud';
|
25
|
-
}
|
26
|
-
}
|
27
|
-
(0, project_configuration_1.updateNxJson)(tree, nxJson);
|
28
|
-
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
|
29
|
-
}
|
@@ -1,45 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = removeRunCommandsOutputPath;
|
4
|
-
const path_1 = require("../../utils/path");
|
5
|
-
const format_changed_files_with_prettier_if_available_1 = require("../../generators/internal-utils/format-changed-files-with-prettier-if-available");
|
6
|
-
const json_1 = require("../../generators/utils/json");
|
7
|
-
const project_configuration_1 = require("../../generators/utils/project-configuration");
|
8
|
-
async function removeRunCommandsOutputPath(tree) {
|
9
|
-
for (const [project, configuration] of (0, project_configuration_1.getProjects)(tree).entries()) {
|
10
|
-
const targets = configuration.targets ?? {};
|
11
|
-
let changed = false;
|
12
|
-
for (const [, target] of Object.entries(targets)) {
|
13
|
-
changed ||= updateTargetBlock(target);
|
14
|
-
}
|
15
|
-
if (changed) {
|
16
|
-
(0, project_configuration_1.updateProjectConfiguration)(tree, project, configuration);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
if (tree.exists('nx.json')) {
|
20
|
-
(0, json_1.updateJson)(tree, 'nx.json', (json) => {
|
21
|
-
for (const [, target] of Object.entries(json.targetDefaults ?? {})) {
|
22
|
-
updateTargetBlock(target);
|
23
|
-
}
|
24
|
-
return json;
|
25
|
-
});
|
26
|
-
}
|
27
|
-
await (0, format_changed_files_with_prettier_if_available_1.formatChangedFilesWithPrettierIfAvailable)(tree);
|
28
|
-
}
|
29
|
-
function updateTargetBlock(target) {
|
30
|
-
let changed = false;
|
31
|
-
if (target.executor === 'nx:run-commands' && target.options?.outputPath) {
|
32
|
-
changed = true;
|
33
|
-
const outputs = new Set(target.outputs ?? []);
|
34
|
-
outputs.delete('{options.outputPath}');
|
35
|
-
const newOutputs = Array.isArray(target.options.outputPath)
|
36
|
-
? target.options.outputPath.map((p) => (0, path_1.joinPathFragments)('{workspaceRoot}', p))
|
37
|
-
: [(0, path_1.joinPathFragments)('{workspaceRoot}', target.options.outputPath)];
|
38
|
-
for (const outputPath of newOutputs) {
|
39
|
-
outputs.add(outputPath);
|
40
|
-
}
|
41
|
-
delete target.options.outputPath;
|
42
|
-
target.outputs = Array.from(outputs);
|
43
|
-
}
|
44
|
-
return changed;
|
45
|
-
}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
import { Tree } from '../../generators/tree';
|
2
|
-
/**
|
3
|
-
* This function escapes dollar sign in env variables
|
4
|
-
* It will go through:
|
5
|
-
* - '.env', '.local.env', '.env.local'
|
6
|
-
* - .env.[target-name], .[target-name].env
|
7
|
-
* - .env.[target-name].[configuration-name], .[target-name].[configuration-name].env
|
8
|
-
* - .env.[configuration-name], .[configuration-name].env
|
9
|
-
* at each project root and workspace root
|
10
|
-
* @param tree
|
11
|
-
*/
|
12
|
-
export default function escapeDollarSignEnvVariables(tree: Tree): void;
|
@@ -1,67 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.default = escapeDollarSignEnvVariables;
|
4
|
-
const logger_1 = require("../../utils/logger");
|
5
|
-
const project_configuration_1 = require("../../generators/utils/project-configuration");
|
6
|
-
/**
|
7
|
-
* This function escapes dollar sign in env variables
|
8
|
-
* It will go through:
|
9
|
-
* - '.env', '.local.env', '.env.local'
|
10
|
-
* - .env.[target-name], .[target-name].env
|
11
|
-
* - .env.[target-name].[configuration-name], .[target-name].[configuration-name].env
|
12
|
-
* - .env.[configuration-name], .[configuration-name].env
|
13
|
-
* at each project root and workspace root
|
14
|
-
* @param tree
|
15
|
-
*/
|
16
|
-
function escapeDollarSignEnvVariables(tree) {
|
17
|
-
const envFiles = ['.env', '.local.env', '.env.local'];
|
18
|
-
for (const [_, configuration] of (0, project_configuration_1.getProjects)(tree).entries()) {
|
19
|
-
envFiles.push(`${configuration.root}/.env`, `${configuration.root}/.local.env`, `${configuration.root}/.env.local`);
|
20
|
-
for (const targetName in configuration.targets) {
|
21
|
-
const task = configuration.targets[targetName];
|
22
|
-
envFiles.push(`.env.${targetName}`, `.${targetName}.env`, `${configuration.root}/.env.${targetName}`, `${configuration.root}/.${targetName}.env`);
|
23
|
-
if (task.configurations) {
|
24
|
-
for (const configurationName in task.configurations) {
|
25
|
-
envFiles.push(`.env.${targetName}.${configurationName}`, `.${targetName}.${configurationName}.env`, `.env.${configurationName}`, `.${configurationName}.env`, `${configuration.root}/.env.${targetName}.${configurationName}`, `${configuration.root}/.${targetName}.${configurationName}.env`, `${configuration.root}/.env.${configurationName}`, `${configuration.root}/.${configurationName}.env`);
|
26
|
-
}
|
27
|
-
}
|
28
|
-
}
|
29
|
-
}
|
30
|
-
for (const envFile of new Set(envFiles)) {
|
31
|
-
parseEnvFile(tree, envFile);
|
32
|
-
}
|
33
|
-
}
|
34
|
-
/**
|
35
|
-
* This function parse the env file and escape dollar sign
|
36
|
-
* @param tree
|
37
|
-
* @param envFilePath
|
38
|
-
* @returns
|
39
|
-
*/
|
40
|
-
function parseEnvFile(tree, envFilePath) {
|
41
|
-
if (!tree.exists(envFilePath)) {
|
42
|
-
return;
|
43
|
-
}
|
44
|
-
let envFileContent = tree.read(envFilePath, 'utf-8');
|
45
|
-
if (!envFileContent) {
|
46
|
-
// envFileContent is null if we fail to read the file for any reason
|
47
|
-
// e.g. the file is not utf-8 encoded
|
48
|
-
logger_1.logger.info(`Unable to update ${envFilePath}. Nx interpolates environment variables in the form of $VAR_NAME. To escape the dollar sign, use \\$VAR_NAME.`);
|
49
|
-
return;
|
50
|
-
}
|
51
|
-
envFileContent = envFileContent
|
52
|
-
.split('\n')
|
53
|
-
.map((line) => {
|
54
|
-
line = line.trim();
|
55
|
-
if (!line || !line.includes('$')) {
|
56
|
-
return line;
|
57
|
-
}
|
58
|
-
const declarations = line.split('=');
|
59
|
-
if (declarations[1].includes('$') && !declarations[1].includes(`\\$`)) {
|
60
|
-
declarations[1] = declarations[1].replace('$', `\\$`);
|
61
|
-
line = declarations.join('=');
|
62
|
-
}
|
63
|
-
return line;
|
64
|
-
})
|
65
|
-
.join('\n');
|
66
|
-
tree.write(envFilePath, envFileContent);
|
67
|
-
}
|
package/src/utils/app-root.d.ts
DELETED
package/src/utils/app-root.js
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.workspaceRoot = exports.appRootPath = void 0;
|
4
|
-
// TODO(v16): Remove this file
|
5
|
-
const workspace_root_1 = require("./workspace-root");
|
6
|
-
Object.defineProperty(exports, "workspaceRoot", { enumerable: true, get: function () { return workspace_root_1.workspaceRoot; } });
|
7
|
-
/**
|
8
|
-
* The root of the workspace.
|
9
|
-
*
|
10
|
-
* @deprecated use workspaceRoot instead
|
11
|
-
*/
|
12
|
-
exports.appRootPath = workspace_root_1.workspaceRoot;
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import { ProjectGraphProcessor } from '../config/project-graph';
|
2
|
-
import { TargetConfiguration } from '../config/workspace-json-project-json';
|
3
|
-
import { NxPluginV2 } from '../project-graph/plugins';
|
4
|
-
/**
|
5
|
-
* @deprecated Add targets to the projects in a {@link CreateNodes} function instead. This will be removed in Nx 20
|
6
|
-
*/
|
7
|
-
export type ProjectTargetConfigurator = (file: string) => Record<string, TargetConfiguration>;
|
8
|
-
/**
|
9
|
-
* @deprecated Use {@link NxPluginV2} instead. This will be removed in Nx 20
|
10
|
-
*/
|
11
|
-
export type NxPluginV1 = {
|
12
|
-
name: string;
|
13
|
-
/**
|
14
|
-
* @deprecated Use {@link CreateNodes} and {@link CreateDependencies} instead. This will be removed in Nx 20
|
15
|
-
*/
|
16
|
-
processProjectGraph?: ProjectGraphProcessor;
|
17
|
-
/**
|
18
|
-
* @deprecated Add targets to the projects inside of {@link CreateNodes} instead. This will be removed in Nx 20
|
19
|
-
*/
|
20
|
-
registerProjectTargets?: ProjectTargetConfigurator;
|
21
|
-
/**
|
22
|
-
* A glob pattern to search for non-standard project files.
|
23
|
-
* @example: ["*.csproj", "pom.xml"]
|
24
|
-
* @deprecated Use {@link CreateNodes} instead. This will be removed in Nx 20
|
25
|
-
*/
|
26
|
-
projectFilePatterns?: string[];
|
27
|
-
};
|
28
|
-
/**
|
29
|
-
* @todo(@agentender) v20: Remove this fn when we remove readWorkspaceConfig
|
30
|
-
*/
|
31
|
-
export declare function getDefaultPluginsSync(root: string): NxPluginV2[];
|
@@ -1,20 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getDefaultPluginsSync = getDefaultPluginsSync;
|
4
|
-
const angular_json_1 = require("../adapter/angular-json");
|
5
|
-
const project_json_1 = require("../plugins/project-json/build-nodes/project-json");
|
6
|
-
const PackageJsonWorkspacesPlugin = require("../plugins/package-json");
|
7
|
-
/**
|
8
|
-
* @todo(@agentender) v20: Remove this fn when we remove readWorkspaceConfig
|
9
|
-
*/
|
10
|
-
function getDefaultPluginsSync(root) {
|
11
|
-
const plugins = [
|
12
|
-
require('../plugins/js'),
|
13
|
-
...((0, angular_json_1.shouldMergeAngularProjects)(root, false)
|
14
|
-
? [require('../adapter/angular-json').NxAngularJsonPlugin]
|
15
|
-
: []),
|
16
|
-
PackageJsonWorkspacesPlugin,
|
17
|
-
project_json_1.default,
|
18
|
-
];
|
19
|
-
return plugins;
|
20
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export declare function workspaceConfigurationCheck(): void;
|
@@ -1,36 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.workspaceConfigurationCheck = workspaceConfigurationCheck;
|
4
|
-
const workspace_root_1 = require("./workspace-root");
|
5
|
-
const fs_1 = require("fs");
|
6
|
-
const path_1 = require("path");
|
7
|
-
const output_1 = require("./output");
|
8
|
-
const fileutils_1 = require("../utils/fileutils");
|
9
|
-
//TODO: vsavkin remove after Nx 19
|
10
|
-
function workspaceConfigurationCheck() {
|
11
|
-
if ((0, fs_1.existsSync)((0, path_1.join)(workspace_root_1.workspaceRoot, 'workspace.json'))) {
|
12
|
-
output_1.output.warn({
|
13
|
-
title: 'workspace.json is ignored',
|
14
|
-
bodyLines: [
|
15
|
-
'Nx no longer reads configuration from workspace.json.',
|
16
|
-
'Run "nx g @nx/workspace:fix-configuration" to split workspace.json into individual project.json files.',
|
17
|
-
],
|
18
|
-
});
|
19
|
-
return;
|
20
|
-
}
|
21
|
-
if ((0, fs_1.existsSync)((0, path_1.join)(workspace_root_1.workspaceRoot, 'angular.json'))) {
|
22
|
-
const angularJson = (0, fileutils_1.readJsonFile)((0, path_1.join)(workspace_root_1.workspaceRoot, 'angular.json'));
|
23
|
-
const v2Props = Object.values(angularJson.projects).find((p) => !!p.targets);
|
24
|
-
if (angularJson.version === 2 || v2Props) {
|
25
|
-
output_1.output.error({
|
26
|
-
title: 'angular.json format is incorrect',
|
27
|
-
bodyLines: [
|
28
|
-
'Nx no longer supports the v2 format of angular.json.',
|
29
|
-
'Run "nx g @nx/workspace:fix-configuration" to split angular.json into individual project.json files. (Recommended)',
|
30
|
-
'If you want to preserve angular.json, run "nx g @nx/workspace:fix-configuration --reformat"',
|
31
|
-
],
|
32
|
-
});
|
33
|
-
process.exit(1);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
}
|