nx 14.0.4 → 14.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.
Files changed (34) hide show
  1. package/migrations.json +1 -8
  2. package/package.json +3 -3
  3. package/src/adapter/ngcli-adapter.d.ts +1 -1
  4. package/src/adapter/ngcli-adapter.js +2 -4
  5. package/src/adapter/ngcli-adapter.js.map +1 -1
  6. package/src/command-line/generate.js +1 -1
  7. package/src/command-line/generate.js.map +1 -1
  8. package/src/command-line/migrate.js +1 -1
  9. package/src/command-line/migrate.js.map +1 -1
  10. package/src/{generators → config}/tree.d.ts +0 -0
  11. package/src/{generators → config}/tree.js +0 -0
  12. package/src/config/tree.js.map +1 -0
  13. package/src/config/workspaces.js +2 -8
  14. package/src/config/workspaces.js.map +1 -1
  15. package/src/utils/versions.js +1 -1
  16. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.d.ts +0 -6
  17. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js +0 -46
  18. package/src/generators/internal-utils/format-changed-files-with-prettier-if-available.js.map +0 -1
  19. package/src/generators/testing-utils/create-tree-with-empty-workspace.d.ts +0 -5
  20. package/src/generators/testing-utils/create-tree-with-empty-workspace.js +0 -35
  21. package/src/generators/testing-utils/create-tree-with-empty-workspace.js.map +0 -1
  22. package/src/generators/testing-utils/create-tree.d.ts +0 -5
  23. package/src/generators/testing-utils/create-tree.js +0 -12
  24. package/src/generators/testing-utils/create-tree.js.map +0 -1
  25. package/src/generators/tree.js.map +0 -1
  26. package/src/generators/utils/json.d.ts +0 -28
  27. package/src/generators/utils/json.js +0 -49
  28. package/src/generators/utils/json.js.map +0 -1
  29. package/src/generators/utils/project-configuration.d.ts +0 -77
  30. package/src/generators/utils/project-configuration.js +0 -383
  31. package/src/generators/utils/project-configuration.js.map +0 -1
  32. package/src/migrations/update-14-0-4/remove-roots.d.ts +0 -2
  33. package/src/migrations/update-14-0-4/remove-roots.js +0 -16
  34. package/src/migrations/update-14-0-4/remove-roots.js.map +0 -1
@@ -1,5 +0,0 @@
1
- import type { Tree } from 'nx/src/generators/tree';
2
- /**
3
- * Creates a host for testing.
4
- */
5
- export declare function createTreeWithEmptyWorkspace(version?: number): Tree;
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTreeWithEmptyWorkspace = void 0;
4
- const tree_1 = require("nx/src/generators/tree");
5
- /**
6
- * Creates a host for testing.
7
- */
8
- function createTreeWithEmptyWorkspace(version = 1) {
9
- const tree = new tree_1.FsTree('/virtual', false);
10
- tree.write('/workspace.json', JSON.stringify({ version, projects: {} }));
11
- tree.write('./.prettierrc', JSON.stringify({ singleQuote: true }));
12
- tree.write('/package.json', JSON.stringify({
13
- name: 'test-name',
14
- dependencies: {},
15
- devDependencies: {},
16
- }));
17
- tree.write('/nx.json', JSON.stringify({
18
- npmScope: 'proj',
19
- affected: {
20
- defaultBase: 'main',
21
- },
22
- tasksRunnerOptions: {
23
- default: {
24
- runner: 'nx/tasks-runners/default',
25
- options: {
26
- cacheableOperations: ['build', 'lint', 'test', 'e2e'],
27
- },
28
- },
29
- },
30
- }));
31
- tree.write('/tsconfig.base.json', JSON.stringify({ compilerOptions: { paths: {} } }));
32
- return tree;
33
- }
34
- exports.createTreeWithEmptyWorkspace = createTreeWithEmptyWorkspace;
35
- //# sourceMappingURL=create-tree-with-empty-workspace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-tree-with-empty-workspace.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/testing-utils/create-tree-with-empty-workspace.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAGhD;;GAEG;AACH,SAAgB,4BAA4B,CAAC,OAAO,GAAG,CAAC;IACtD,MAAM,IAAI,GAAG,IAAI,aAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE3C,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,KAAK,CACR,eAAe,EACf,IAAI,CAAC,SAAS,CAAC;QACb,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;KACpB,CAAC,CACH,CAAC;IACF,IAAI,CAAC,KAAK,CACR,UAAU,EACV,IAAI,CAAC,SAAS,CAAC;QACb,QAAQ,EAAE,MAAM;QAChB,QAAQ,EAAE;YACR,WAAW,EAAE,MAAM;SACpB;QACD,kBAAkB,EAAE;YAClB,OAAO,EAAE;gBACP,MAAM,EAAE,0BAA0B;gBAClC,OAAO,EAAE;oBACP,mBAAmB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;iBACtD;aACF;SACF;KACF,CAAC,CACH,CAAC;IACF,IAAI,CAAC,KAAK,CACR,qBAAqB,EACrB,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CACnD,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AApCD,oEAoCC"}
@@ -1,5 +0,0 @@
1
- import type { Tree } from 'nx/src/generators/tree';
2
- /**
3
- * Creates a host for testing.
4
- */
5
- export declare function createTree(): Tree;
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTree = void 0;
4
- const tree_1 = require("nx/src/generators/tree");
5
- /**
6
- * Creates a host for testing.
7
- */
8
- function createTree() {
9
- return new tree_1.FsTree('/virtual', false);
10
- }
11
- exports.createTree = createTree;
12
- //# sourceMappingURL=create-tree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-tree.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/testing-utils/create-tree.ts"],"names":[],"mappings":";;;AAAA,iDAAgD;AAGhD;;GAEG;AACH,SAAgB,UAAU;IACxB,OAAO,IAAI,aAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC;AAFD,gCAEC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../../../packages/nx/src/generators/tree.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import type { Tree } from '../tree';
2
- import type { JsonParseOptions, JsonSerializeOptions } from '../../utils/json';
3
- /**
4
- * Reads a json file, removes all comments and parses JSON.
5
- *
6
- * @param tree - file system tree
7
- * @param path - file path
8
- * @param options - Optional JSON Parse Options
9
- */
10
- export declare function readJson<T extends object = any>(tree: Tree, path: string, options?: JsonParseOptions): T;
11
- /**
12
- * Writes a JSON value to the file system tree
13
-
14
- * @param tree File system tree
15
- * @param path Path of JSON file in the Tree
16
- * @param value Serializable value to write
17
- * @param options Optional JSON Serialize Options
18
- */
19
- export declare function writeJson<T extends object = object>(tree: Tree, path: string, value: T, options?: JsonSerializeOptions): void;
20
- /**
21
- * Updates a JSON value to the file system tree
22
- *
23
- * @param tree File system tree
24
- * @param path Path of JSON file in the Tree
25
- * @param updater Function that maps the current value of a JSON document to a new value to be written to the document
26
- * @param options Optional JSON Parse and Serialize Options
27
- */
28
- export declare function updateJson<T extends object = any, U extends object = T>(tree: Tree, path: string, updater: (value: T) => U, options?: JsonParseOptions & JsonSerializeOptions): void;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateJson = exports.writeJson = exports.readJson = void 0;
4
- const json_1 = require("../../utils/json");
5
- /**
6
- * Reads a json file, removes all comments and parses JSON.
7
- *
8
- * @param tree - file system tree
9
- * @param path - file path
10
- * @param options - Optional JSON Parse Options
11
- */
12
- function readJson(tree, path, options) {
13
- if (!tree.exists(path)) {
14
- throw new Error(`Cannot find ${path}`);
15
- }
16
- try {
17
- return (0, json_1.parseJson)(tree.read(path, 'utf-8'), options);
18
- }
19
- catch (e) {
20
- throw new Error(`Cannot parse ${path}: ${e.message}`);
21
- }
22
- }
23
- exports.readJson = readJson;
24
- /**
25
- * Writes a JSON value to the file system tree
26
-
27
- * @param tree File system tree
28
- * @param path Path of JSON file in the Tree
29
- * @param value Serializable value to write
30
- * @param options Optional JSON Serialize Options
31
- */
32
- function writeJson(tree, path, value, options) {
33
- tree.write(path, (0, json_1.serializeJson)(value, options));
34
- }
35
- exports.writeJson = writeJson;
36
- /**
37
- * Updates a JSON value to the file system tree
38
- *
39
- * @param tree File system tree
40
- * @param path Path of JSON file in the Tree
41
- * @param updater Function that maps the current value of a JSON document to a new value to be written to the document
42
- * @param options Optional JSON Parse and Serialize Options
43
- */
44
- function updateJson(tree, path, updater, options) {
45
- const updatedValue = updater(readJson(tree, path, options));
46
- writeJson(tree, path, updatedValue, options);
47
- }
48
- exports.updateJson = updateJson;
49
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/utils/json.ts"],"names":[],"mappings":";;;AACA,2CAA4D;AAG5D;;;;;;GAMG;AACH,SAAgB,QAAQ,CACtB,IAAU,EACV,IAAY,EACZ,OAA0B;IAE1B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;KACxC;IACD,IAAI;QACF,OAAO,IAAA,gBAAS,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;KACrD;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KACvD;AACH,CAAC;AAbD,4BAaC;AAED;;;;;;;GAOG;AACH,SAAgB,SAAS,CACvB,IAAU,EACV,IAAY,EACZ,KAAQ,EACR,OAA8B;IAE9B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAA,oBAAa,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC;AAPD,8BAOC;AAED;;;;;;;GAOG;AACH,SAAgB,UAAU,CACxB,IAAU,EACV,IAAY,EACZ,OAAwB,EACxB,OAAiD;IAEjD,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AARD,gCAQC"}
@@ -1,77 +0,0 @@
1
- import type { Tree } from '../tree';
2
- import type { NxJsonConfiguration } from '../../config/nx-json';
3
- import { ProjectConfiguration, WorkspaceJsonConfiguration } from '../../config/workspace-json-project-json';
4
- export declare type WorkspaceConfiguration = Omit<WorkspaceJsonConfiguration, 'projects'> & Partial<NxJsonConfiguration>;
5
- /**
6
- * Adds project configuration to the Nx workspace.
7
- *
8
- * The project configuration is stored in workspace.json or the associated project.json file.
9
- * The utility will update either files.
10
- *
11
- * @param tree - the file system tree
12
- * @param projectName - unique name. Often directories are part of the name (e.g., mydir-mylib)
13
- * @param projectConfiguration - project configuration
14
- * @param standalone - should the project use package.json? If false, the project config is inside workspace.json
15
- */
16
- export declare function addProjectConfiguration(tree: Tree, projectName: string, projectConfiguration: ProjectConfiguration, standalone?: boolean): void;
17
- /**
18
- * Updates the configuration of an existing project.
19
- *
20
- * The project configuration is stored in workspace.json or the associated project.json file.
21
- * The utility will update either files.
22
- *
23
- * @param tree - the file system tree
24
- * @param projectName - unique name. Often directories are part of the name (e.g., mydir-mylib)
25
- * @param projectConfiguration - project configuration
26
- */
27
- export declare function updateProjectConfiguration(tree: Tree, projectName: string, projectConfiguration: ProjectConfiguration): void;
28
- /**
29
- * Removes the configuration of an existing project.
30
- *
31
- * The project configuration is stored in workspace.json or the associated project.json file.
32
- * The utility will update either file.
33
- */
34
- export declare function removeProjectConfiguration(tree: Tree, projectName: string): void;
35
- /**
36
- * Get a map of all projects in a workspace.
37
- *
38
- * Use {@link readProjectConfiguration} if only one project is needed.
39
- */
40
- export declare function getProjects(tree: Tree): Map<string, ProjectConfiguration>;
41
- /**
42
- * Read general workspace configuration such as the default project or cli settings
43
- *
44
- * This does _not_ provide projects configuration, use {@link readProjectConfiguration} instead.
45
- */
46
- export declare function readWorkspaceConfiguration(tree: Tree): WorkspaceConfiguration;
47
- /**
48
- * Update general workspace configuration such as the default project or cli settings.
49
- *
50
- * This does _not_ update projects configuration, use {@link updateProjectConfiguration} or {@link addProjectConfiguration} instead.
51
- */
52
- export declare function updateWorkspaceConfiguration(tree: Tree, workspaceConfig: WorkspaceConfiguration): void;
53
- /**
54
- * Reads a project configuration.
55
- *
56
- * The project configuration is stored in workspace.json or the associated project.json file.
57
- * The utility will read from either file.
58
- *
59
- * @param tree - the file system tree
60
- * @param projectName - unique name. Often directories are part of the name (e.g., mydir-mylib)
61
- * @throws If supplied projectName cannot be found
62
- */
63
- export declare function readProjectConfiguration(tree: Tree, projectName: string): ProjectConfiguration;
64
- export declare function readNxJson(tree: Tree): NxJsonConfiguration | null;
65
- /**
66
- * Returns if a project has a standalone configuration (project.json).
67
- *
68
- * @param tree - the file system tree
69
- * @param project - the project name
70
- */
71
- export declare function isStandaloneProject(tree: Tree, project: string): boolean;
72
- /**
73
- * Read the workspace configuration, including projects.
74
- */
75
- export declare function readWorkspace(tree: Tree): WorkspaceJsonConfiguration;
76
- export declare function shouldDefaultToUsingStandaloneConfigs(tree: Tree): boolean;
77
- export declare function getWorkspacePath(tree: Tree): '/angular.json' | '/workspace.json' | null;
@@ -1,383 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getWorkspacePath = exports.shouldDefaultToUsingStandaloneConfigs = exports.readWorkspace = exports.isStandaloneProject = exports.readNxJson = exports.readProjectConfiguration = exports.updateWorkspaceConfiguration = exports.readWorkspaceConfiguration = exports.getProjects = exports.removeProjectConfiguration = exports.updateProjectConfiguration = exports.addProjectConfiguration = void 0;
4
- const tslib_1 = require("tslib");
5
- const workspaces_1 = require("../../config/workspaces");
6
- const path_1 = require("path");
7
- const json_1 = require("./json");
8
- const path_2 = require("../../utils/path");
9
- /**
10
- * Adds project configuration to the Nx workspace.
11
- *
12
- * The project configuration is stored in workspace.json or the associated project.json file.
13
- * The utility will update either files.
14
- *
15
- * @param tree - the file system tree
16
- * @param projectName - unique name. Often directories are part of the name (e.g., mydir-mylib)
17
- * @param projectConfiguration - project configuration
18
- * @param standalone - should the project use package.json? If false, the project config is inside workspace.json
19
- */
20
- function addProjectConfiguration(tree, projectName, projectConfiguration, standalone) {
21
- standalone = standalone !== null && standalone !== void 0 ? standalone : shouldDefaultToUsingStandaloneConfigs(tree);
22
- setProjectConfiguration(tree, projectName, projectConfiguration, 'create', standalone);
23
- }
24
- exports.addProjectConfiguration = addProjectConfiguration;
25
- /**
26
- * Updates the configuration of an existing project.
27
- *
28
- * The project configuration is stored in workspace.json or the associated project.json file.
29
- * The utility will update either files.
30
- *
31
- * @param tree - the file system tree
32
- * @param projectName - unique name. Often directories are part of the name (e.g., mydir-mylib)
33
- * @param projectConfiguration - project configuration
34
- */
35
- function updateProjectConfiguration(tree, projectName, projectConfiguration) {
36
- setProjectConfiguration(tree, projectName, projectConfiguration, 'update');
37
- }
38
- exports.updateProjectConfiguration = updateProjectConfiguration;
39
- /**
40
- * Removes the configuration of an existing project.
41
- *
42
- * The project configuration is stored in workspace.json or the associated project.json file.
43
- * The utility will update either file.
44
- */
45
- function removeProjectConfiguration(tree, projectName) {
46
- setProjectConfiguration(tree, projectName, undefined, 'delete');
47
- }
48
- exports.removeProjectConfiguration = removeProjectConfiguration;
49
- /**
50
- * Get a map of all projects in a workspace.
51
- *
52
- * Use {@link readProjectConfiguration} if only one project is needed.
53
- */
54
- function getProjects(tree) {
55
- const workspace = readWorkspace(tree);
56
- return new Map(Object.keys(workspace.projects || {}).map((projectName) => {
57
- return [projectName, getProjectConfiguration(projectName, workspace)];
58
- }));
59
- }
60
- exports.getProjects = getProjects;
61
- /**
62
- * Read general workspace configuration such as the default project or cli settings
63
- *
64
- * This does _not_ provide projects configuration, use {@link readProjectConfiguration} instead.
65
- */
66
- function readWorkspaceConfiguration(tree) {
67
- const _a = readRawWorkspaceJson(tree), { projects } = _a, workspace = tslib_1.__rest(_a, ["projects"]); // Create a new object, without projects
68
- let nxJson = readNxJson(tree);
69
- if (nxJson === null) {
70
- return workspace;
71
- }
72
- return Object.assign(Object.assign({}, workspace), nxJson);
73
- }
74
- exports.readWorkspaceConfiguration = readWorkspaceConfiguration;
75
- /**
76
- * Update general workspace configuration such as the default project or cli settings.
77
- *
78
- * This does _not_ update projects configuration, use {@link updateProjectConfiguration} or {@link addProjectConfiguration} instead.
79
- */
80
- function updateWorkspaceConfiguration(tree, workspaceConfig) {
81
- const {
82
- // Nx Json Properties
83
- cli, defaultProject, generators, implicitDependencies, plugins, pluginsConfig, npmScope, targetDependencies, workspaceLayout, tasksRunnerOptions, affected, extends: ext, } = workspaceConfig;
84
- const nxJson = {
85
- implicitDependencies,
86
- plugins,
87
- pluginsConfig,
88
- npmScope,
89
- targetDependencies,
90
- workspaceLayout,
91
- tasksRunnerOptions,
92
- affected,
93
- cli,
94
- generators,
95
- defaultProject,
96
- extends: ext,
97
- };
98
- if (tree.exists('nx.json')) {
99
- (0, json_1.updateJson)(tree, 'nx.json', (json) => {
100
- if (json.extends) {
101
- const nxJsonExtends = readNxJsonExtends(tree, json.extends);
102
- const changedPropsOfNxJson = {};
103
- Object.keys(nxJson).forEach((prop) => {
104
- if (JSON.stringify(nxJson[prop], null, 2) !=
105
- JSON.stringify(nxJsonExtends[prop], null, 2)) {
106
- changedPropsOfNxJson[prop] = nxJson[prop];
107
- }
108
- });
109
- return Object.assign(Object.assign({}, json), changedPropsOfNxJson);
110
- }
111
- else {
112
- return Object.assign(Object.assign({}, json), nxJson);
113
- }
114
- });
115
- }
116
- // Only prop in workspace.json is version. If there is no
117
- // workspace.json file, this f(x) doesn't update anything
118
- // in project config.
119
- const workspacePath = getWorkspacePath(tree);
120
- if (workspacePath) {
121
- (0, json_1.updateJson)(tree, workspacePath, (json) => {
122
- const config = Object.assign(Object.assign({}, json), { version: workspaceConfig.version });
123
- if (!workspaceConfig.newProjectRoot) {
124
- delete config.newProjectRoot;
125
- }
126
- return config;
127
- });
128
- }
129
- }
130
- exports.updateWorkspaceConfiguration = updateWorkspaceConfiguration;
131
- function readNxJsonExtends(tree, extendsPath) {
132
- try {
133
- return (0, json_1.readJson)(tree, (0, path_1.relative)(tree.root, require.resolve(extendsPath, {
134
- paths: [tree.root],
135
- })));
136
- }
137
- catch (e) {
138
- throw new Error(`Unable to resolve nx.json extends. Error: ${e.message}`);
139
- }
140
- }
141
- /**
142
- * Reads a project configuration.
143
- *
144
- * The project configuration is stored in workspace.json or the associated project.json file.
145
- * The utility will read from either file.
146
- *
147
- * @param tree - the file system tree
148
- * @param projectName - unique name. Often directories are part of the name (e.g., mydir-mylib)
149
- * @throws If supplied projectName cannot be found
150
- */
151
- function readProjectConfiguration(tree, projectName) {
152
- const workspace = readWorkspace(tree);
153
- if (!workspace.projects[projectName]) {
154
- throw new Error(`Cannot find configuration for '${projectName}' in ${getWorkspacePath(tree)}.`);
155
- }
156
- return getProjectConfiguration(projectName, workspace);
157
- }
158
- exports.readProjectConfiguration = readProjectConfiguration;
159
- function readNxJson(tree) {
160
- if (!tree.exists('nx.json')) {
161
- return null;
162
- }
163
- let nxJson = (0, json_1.readJson)(tree, 'nx.json');
164
- if (nxJson.extends) {
165
- nxJson = Object.assign(Object.assign({}, readNxJsonExtends(tree, nxJson.extends)), nxJson);
166
- }
167
- return nxJson;
168
- }
169
- exports.readNxJson = readNxJson;
170
- /**
171
- * Returns if a project has a standalone configuration (project.json).
172
- *
173
- * @param tree - the file system tree
174
- * @param project - the project name
175
- */
176
- function isStandaloneProject(tree, project) {
177
- var _a;
178
- const path = getWorkspacePath(tree);
179
- const rawWorkspace = path && tree.exists(path)
180
- ? (0, json_1.readJson)(tree, path)
181
- : null;
182
- if (rawWorkspace) {
183
- const projectConfig = (_a = rawWorkspace.projects) === null || _a === void 0 ? void 0 : _a[project];
184
- return typeof projectConfig === 'string';
185
- }
186
- return true;
187
- }
188
- exports.isStandaloneProject = isStandaloneProject;
189
- function getProjectConfiguration(projectName, workspace) {
190
- return Object.assign({}, readWorkspaceSection(workspace, projectName));
191
- }
192
- function readWorkspaceSection(workspace, projectName) {
193
- return workspace.projects[projectName];
194
- }
195
- function setProjectConfiguration(tree, projectName, projectConfiguration, mode, standalone = false) {
196
- if (mode === 'delete') {
197
- addProjectToWorkspaceJson(tree, projectName, readProjectConfiguration(tree, projectName), mode);
198
- return;
199
- }
200
- if (!projectConfiguration) {
201
- throw new Error(`Cannot ${mode} "${projectName}" with value ${projectConfiguration}`);
202
- }
203
- addProjectToWorkspaceJson(tree, projectName, projectConfiguration, mode, standalone);
204
- }
205
- function addProjectToWorkspaceJson(tree, projectName, project, mode, standalone = false) {
206
- var _a;
207
- const workspaceConfigPath = getWorkspacePath(tree);
208
- const workspaceJson = readRawWorkspaceJson(tree);
209
- if (workspaceConfigPath) {
210
- validateProjectConfigurationOperationsGivenWorkspaceJson(mode, workspaceJson, projectName);
211
- }
212
- else {
213
- validateProjectConfigurationOperationsWithoutWorkspaceJson(mode, projectName, project.root, tree);
214
- }
215
- const configFile = (mode === 'create' && standalone) || !workspaceConfigPath
216
- ? (0, path_2.joinPathFragments)(project.root, 'project.json')
217
- : getProjectFileLocation(tree, projectName);
218
- if (configFile) {
219
- if (mode === 'delete') {
220
- tree.delete(configFile);
221
- delete workspaceJson.projects[projectName];
222
- }
223
- else {
224
- // keep real workspace up to date
225
- if (workspaceConfigPath && mode === 'create') {
226
- workspaceJson.projects[projectName] = project.root;
227
- }
228
- // update the project.json file
229
- (0, json_1.writeJson)(tree, configFile, Object.assign(Object.assign({}, project), { root: undefined }));
230
- }
231
- }
232
- else if (mode === 'delete') {
233
- delete workspaceJson.projects[projectName];
234
- }
235
- else {
236
- workspaceJson.projects[projectName] = project;
237
- }
238
- if (workspaceConfigPath && tree.exists(workspaceConfigPath)) {
239
- (0, json_1.writeJson)(tree, workspaceConfigPath, (_a = (0, workspaces_1.reformattedWorkspaceJsonOrNull)(workspaceJson)) !== null && _a !== void 0 ? _a : workspaceJson);
240
- }
241
- }
242
- /**
243
- * Read the workspace configuration, including projects.
244
- */
245
- function readWorkspace(tree) {
246
- const workspaceJson = inlineProjectConfigurationsWithTree(tree);
247
- const originalVersion = workspaceJson.version;
248
- return Object.assign(Object.assign({}, (0, workspaces_1.toNewFormat)(workspaceJson)), { version: originalVersion });
249
- }
250
- exports.readWorkspace = readWorkspace;
251
- /**
252
- * This has to be separate from the inline functionality inside nx,
253
- * as the functionality in nx does not use a Tree. Changes made during
254
- * a generator would not be present during runtime execution.
255
- * @returns
256
- */
257
- function inlineProjectConfigurationsWithTree(tree) {
258
- const workspaceJson = readRawWorkspaceJson(tree);
259
- Object.entries(workspaceJson.projects || {}).forEach(([project, config]) => {
260
- if (typeof config === 'string') {
261
- const configFileLocation = (0, path_2.joinPathFragments)(config, 'project.json');
262
- workspaceJson.projects[project] = Object.assign({ root: config }, (0, json_1.readJson)(tree, configFileLocation));
263
- }
264
- });
265
- return workspaceJson;
266
- }
267
- /**
268
- * Used to ensure that projects created during
269
- * the same devkit generator run show up when
270
- * there is no workspace.json file, as `glob`
271
- * cannot find them.
272
- */
273
- function findCreatedProjects(tree) {
274
- const files = tree
275
- .listChanges()
276
- .filter((f) => {
277
- const fileName = (0, path_1.basename)(f.path);
278
- return (f.type === 'CREATE' &&
279
- (fileName === 'project.json' || fileName === 'package.json'));
280
- })
281
- .map((x) => x.path);
282
- return (0, workspaces_1.deduplicateProjectFiles)(files);
283
- }
284
- /**
285
- * Used to ensure that projects created during
286
- * the same devkit generator run show up when
287
- * there is no workspace.json file, as `glob`
288
- * cannot find them.
289
- */
290
- function findDeletedProjects(tree) {
291
- return tree.listChanges().filter((f) => {
292
- const fileName = (0, path_1.basename)(f.path);
293
- return (f.type === 'DELETE' &&
294
- (fileName === 'project.json' || fileName === 'package.json'));
295
- });
296
- }
297
- let staticFSWorkspace;
298
- function readRawWorkspaceJson(tree) {
299
- const path = getWorkspacePath(tree);
300
- if (path && tree.exists(path)) {
301
- // `workspace.json` exists, use it.
302
- return (0, json_1.readJson)(tree, path);
303
- }
304
- else {
305
- const nxJson = readNxJson(tree);
306
- const createdProjects = (0, workspaces_1.buildWorkspaceConfigurationFromGlobs)(nxJson, findCreatedProjects(tree), (file) => (0, json_1.readJson)(tree, file)).projects;
307
- // We already have built a cache
308
- if (!staticFSWorkspace) {
309
- staticFSWorkspace = (0, workspaces_1.buildWorkspaceConfigurationFromGlobs)(nxJson, [...(0, workspaces_1.globForProjectFiles)(tree.root, nxJson)], (file) => (0, json_1.readJson)(tree, file));
310
- }
311
- const projects = Object.assign(Object.assign({}, staticFSWorkspace.projects), createdProjects);
312
- findDeletedProjects(tree).forEach((file) => {
313
- const matchingStaticProject = Object.entries(projects).find(([, config]) => typeof config === 'string'
314
- ? config === (0, path_1.dirname)(file.path)
315
- : config.root === (0, path_1.dirname)(file.path));
316
- if (matchingStaticProject) {
317
- delete projects[matchingStaticProject[0]];
318
- }
319
- });
320
- return Object.assign(Object.assign({}, staticFSWorkspace), { projects });
321
- }
322
- }
323
- /**
324
- * @description Determine where a project's configuration is located.
325
- * @returns file path if separate from root config, null otherwise.
326
- */
327
- function getProjectFileLocation(tree, project) {
328
- var _a;
329
- const rawWorkspace = readRawWorkspaceJson(tree);
330
- const projectConfig = (_a = rawWorkspace.projects) === null || _a === void 0 ? void 0 : _a[project];
331
- return typeof projectConfig === 'string'
332
- ? (0, path_2.joinPathFragments)(projectConfig, 'project.json')
333
- : null;
334
- }
335
- function validateProjectConfigurationOperationsGivenWorkspaceJson(mode, workspaceJson, projectName) {
336
- if (mode == 'create' && workspaceJson.projects[projectName]) {
337
- throw new Error(`Cannot create Project '${projectName}'. It already exists.`);
338
- }
339
- if (mode == 'update' && !workspaceJson.projects[projectName]) {
340
- throw new Error(`Cannot update Project '${projectName}'. It does not exist.`);
341
- }
342
- if (mode == 'delete' && !workspaceJson.projects[projectName]) {
343
- throw new Error(`Cannot delete Project '${projectName}'. It does not exist.`);
344
- }
345
- }
346
- function validateProjectConfigurationOperationsWithoutWorkspaceJson(mode, projectName, projectRoot, tree) {
347
- if (mode == 'create' &&
348
- tree.exists((0, path_2.joinPathFragments)(projectRoot, 'project.json'))) {
349
- throw new Error(`Cannot create a new project at ${projectRoot}. It already exists.`);
350
- }
351
- if (mode == 'update' &&
352
- !tree.exists((0, path_2.joinPathFragments)(projectRoot, 'project.json'))) {
353
- throw new Error(`Cannot update Project ${projectName} at ${projectRoot}. It doesn't exist or uses package.json configuration.`);
354
- }
355
- if (mode == 'delete' && !tree.exists((0, path_2.joinPathFragments)(projectRoot))) {
356
- throw new Error(`Cannot delete Project ${projectName}. It doesn't exist or uses package.json configuration.`);
357
- }
358
- }
359
- function shouldDefaultToUsingStandaloneConfigs(tree) {
360
- const workspacePath = getWorkspacePath(tree);
361
- const rawWorkspace = workspacePath && tree.exists(workspacePath)
362
- ? (0, json_1.readJson)(tree, workspacePath)
363
- : null;
364
- return !rawWorkspace
365
- ? true // if workspace.json doesn't exist, all projects **must** be standalone
366
- : Object.values(rawWorkspace.projects).reduce(
367
- // default for second, third... projects should be based on all projects being defined as a path
368
- // for configuration read from ng schematics, this is determined by configFilePath's presence
369
- (allStandalone, next) => allStandalone &&
370
- (typeof next === 'string' || 'configFilePath' in next),
371
- // default for first project should be true if using Nx Schema
372
- rawWorkspace.version > 1);
373
- }
374
- exports.shouldDefaultToUsingStandaloneConfigs = shouldDefaultToUsingStandaloneConfigs;
375
- function getWorkspacePath(tree) {
376
- const possibleFiles = [
377
- '/angular.json',
378
- '/workspace.json',
379
- ];
380
- return possibleFiles.filter((path) => tree.exists(path))[0];
381
- }
382
- exports.getWorkspacePath = getWorkspacePath;
383
- //# sourceMappingURL=project-configuration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-configuration.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/utils/project-configuration.ts"],"names":[],"mappings":"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"}