@nrwl/workspace 15.8.4 → 15.9.0-beta.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/index.d.ts +3 -8
  2. package/index.js +2 -36
  3. package/index.js.map +1 -1
  4. package/package.json +30 -39
  5. package/src/generators/ci-workflow/files/github/.github/workflows/__workflowFileName__.yml__tmpl__ +1 -0
  6. package/src/generators/library/library.js +1 -2
  7. package/src/generators/library/library.js.map +1 -1
  8. package/src/generators/new/files-integrated-repo/package.json__tmpl__ +1 -2
  9. package/src/generators/new/files-package-based-repo/__dot__vscode/extensions.json__tmpl__ +1 -2
  10. package/src/generators/new/files-package-based-repo/package.json__tmpl__ +1 -2
  11. package/src/generators/new/files-root-app/__dot__vscode/extensions.json__tmpl__ +1 -2
  12. package/src/generators/new/files-root-app/package.json__tmpl__ +1 -2
  13. package/src/generators/new/generate-workspace-files.d.ts +0 -3
  14. package/src/generators/new/generate-workspace-files.js +2 -9
  15. package/src/generators/new/generate-workspace-files.js.map +1 -1
  16. package/src/generators/new/new.js +0 -1
  17. package/src/generators/new/new.js.map +1 -1
  18. package/src/generators/new/schema.json +1 -1
  19. package/src/generators/preset/preset.d.ts +1 -1
  20. package/src/generators/preset/preset.js +18 -15
  21. package/src/generators/preset/preset.js.map +1 -1
  22. package/src/generators/preset/schema.json +1 -1
  23. package/src/migrations/update-14-0-0/change-npm-script-executor.js +1 -1
  24. package/src/migrations/update-14-0-0/change-npm-script-executor.js.map +1 -1
  25. package/src/migrations/update-14-8-0/change-run-commands-executor.js +1 -1
  26. package/src/migrations/update-14-8-0/change-run-commands-executor.js.map +1 -1
  27. package/src/utilities/buildable-libs-utils.d.ts +17 -6
  28. package/src/utilities/buildable-libs-utils.js +17 -8
  29. package/src/utilities/buildable-libs-utils.js.map +1 -1
  30. package/src/utilities/run-tasks-in-serial.d.ts +6 -0
  31. package/src/utilities/run-tasks-in-serial.js +6 -0
  32. package/src/utilities/run-tasks-in-serial.js.map +1 -1
  33. package/src/utilities/typescript/get-source-nodes.d.ts +3 -0
  34. package/src/utilities/typescript/get-source-nodes.js +3 -0
  35. package/src/utilities/typescript/get-source-nodes.js.map +1 -1
  36. package/src/utilities/version-utils.d.ts +3 -0
  37. package/src/utilities/version-utils.js +7 -12
  38. package/src/utilities/version-utils.js.map +1 -1
  39. package/src/utils/ast-utils.d.ts +0 -118
  40. package/src/utils/ast-utils.js +3 -543
  41. package/src/utils/ast-utils.js.map +1 -1
  42. package/src/utils/cli-config-utils.d.ts +0 -2
  43. package/src/utils/cli-config-utils.js +1 -47
  44. package/src/utils/cli-config-utils.js.map +1 -1
  45. package/src/utils/lint.d.ts +0 -22
  46. package/src/utils/lint.js +0 -164
  47. package/src/utils/lint.js.map +1 -1
  48. package/src/utils/project-type.d.ts +1 -3
  49. package/src/utils/project-type.js +1 -8
  50. package/src/utils/project-type.js.map +1 -1
  51. package/src/utils/strings.d.ts +12 -0
  52. package/src/utils/strings.js +12 -0
  53. package/src/utils/strings.js.map +1 -1
  54. package/src/utils/versions.d.ts +0 -1
  55. package/src/utils/versions.js +1 -2
  56. package/src/utils/versions.js.map +1 -1
  57. package/src/generators/new/files-integrated-repo/__dot__prettierignore +0 -4
  58. package/src/generators/new/files-package-based-repo/__dot__prettierignore +0 -4
  59. package/src/generators/new/files-root-app/__dot__prettierignore +0 -4
  60. package/src/utilities/ast-utils.d.ts +0 -22
  61. package/src/utilities/ast-utils.js +0 -197
  62. package/src/utilities/ast-utils.js.map +0 -1
  63. package/src/utilities/executor-options-utils.d.ts +0 -20
  64. package/src/utilities/executor-options-utils.js +0 -49
  65. package/src/utilities/executor-options-utils.js.map +0 -1
  66. package/src/utilities/generate-globs.d.ts +0 -6
  67. package/src/utilities/generate-globs.js +0 -81
  68. package/src/utilities/generate-globs.js.map +0 -1
  69. package/src/utilities/prettier.d.ts +0 -6
  70. package/src/utilities/prettier.js +0 -38
  71. package/src/utilities/prettier.js.map +0 -1
  72. package/src/utils/rules/move-npm-packages.d.ts +0 -11
  73. package/src/utils/rules/move-npm-packages.js +0 -76
  74. package/src/utils/rules/move-npm-packages.js.map +0 -1
  75. package/src/utils/rules/to-js.d.ts +0 -8
  76. package/src/utils/rules/to-js.js +0 -82
  77. package/src/utils/rules/to-js.js.map +0 -1
  78. package/src/utils/rules/update-karma-conf.d.ts +0 -8
  79. package/src/utils/rules/update-karma-conf.js +0 -36
  80. package/src/utils/rules/update-karma-conf.js.map +0 -1
  81. package/src/utils/update-packages-in-package-json.d.ts +0 -3
  82. package/src/utils/update-packages-in-package-json.js +0 -56
  83. package/src/utils/update-packages-in-package-json.js.map +0 -1
  84. package/src/utils/update-task.d.ts +0 -2
  85. package/src/utils/update-task.js +0 -83
  86. package/src/utils/update-task.js.map +0 -1
@@ -1,548 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyWithSkipExisting = exports.renameDirSyncInTree = exports.renameSyncInTree = exports.replaceNodeValue = exports.insertImport = exports.createOrUpdate = exports.getProjectConfig = exports.updatePackageJsonDependencies = exports.addDepsToPackageJson = exports.readWorkspace = exports.updateNxJsonInTree = exports.appsDir = exports.libsDir = exports.readNxJsonInTree = exports.updateWorkspaceInTree = exports.updateJsonInTree = exports.allFilesInDirInHost = exports.readJsonInTree = exports.insert = exports.addGlobal = exports.getImport = exports.addIncludeToTsConfig = exports.offset = exports.findClass = exports.addMethod = exports.addParameterToConstructor = exports.ReplaceChange = exports.RemoveChange = exports.InsertChange = exports.NoopChange = exports.getSourceNodes = exports.findNodes = exports.sortObjectByKeys = void 0;
4
- const devkit_1 = require("@nrwl/devkit");
5
- const cli_config_utils_1 = require("./cli-config-utils");
6
- const add_install_task_1 = require("./rules/add-install-task");
7
- const typescript_1 = require("nx/src/utils/typescript");
8
- const get_source_nodes_1 = require("../utilities/typescript/get-source-nodes");
9
- const typescript_2 = require("../utilities/typescript");
10
- let tsModule;
11
- function nodesByPosition(first, second) {
12
- return first.getStart() - second.getStart();
13
- }
14
- function insertAfterLastOccurrence(nodes, toInsert, file, fallbackPos, syntaxKind) {
15
- // sort() has a side effect, so make a copy so that we won't overwrite the parent's object.
16
- let lastItem = [...nodes].sort(nodesByPosition).pop();
17
- if (!lastItem) {
18
- throw new Error();
19
- }
20
- if (syntaxKind) {
21
- lastItem = (0, typescript_1.findNodes)(lastItem, syntaxKind).sort(nodesByPosition).pop();
22
- }
23
- if (!lastItem && fallbackPos == undefined) {
24
- throw new Error(`tried to insert ${toInsert} as first occurrence with no fallback position`);
25
- }
26
- const lastItemPosition = lastItem ? lastItem.getEnd() : fallbackPos;
27
- return new InsertChange(file, lastItemPosition, toInsert);
28
- }
29
- function sortObjectByKeys(obj) {
30
- return Object.keys(obj)
31
- .sort()
32
- .reduce((result, key) => {
33
- return Object.assign(Object.assign({}, result), { [key]: obj[key] });
34
- }, {});
35
- }
36
- exports.sortObjectByKeys = sortObjectByKeys;
3
+ exports.getSourceNodes = exports.findNodes = void 0;
37
4
  var find_nodes_1 = require("../utilities/typescript/find-nodes"); // TODO(v16): Remove this
38
5
  Object.defineProperty(exports, "findNodes", { enumerable: true, get: function () { return find_nodes_1.findNodes; } });
39
- var get_source_nodes_2 = require("../utilities/typescript/get-source-nodes");
40
- Object.defineProperty(exports, "getSourceNodes", { enumerable: true, get: function () { return get_source_nodes_2.getSourceNodes; } });
41
- class NoopChange {
42
- constructor() {
43
- this.type = 'noop';
44
- this.description = 'No operation.';
45
- this.order = Infinity;
46
- this.path = null;
47
- }
48
- apply() {
49
- return Promise.resolve();
50
- }
51
- }
52
- exports.NoopChange = NoopChange;
53
- class InsertChange {
54
- constructor(path, pos, toAdd) {
55
- this.path = path;
56
- this.pos = pos;
57
- this.toAdd = toAdd;
58
- this.type = 'insert';
59
- if (pos < 0) {
60
- throw new Error('Negative positions are invalid');
61
- }
62
- this.description = `Inserted ${toAdd} into position ${pos} of ${path}`;
63
- this.order = pos;
64
- }
65
- apply(host) {
66
- return host.read(this.path).then((content) => {
67
- const prefix = content.substring(0, this.pos);
68
- const suffix = content.substring(this.pos);
69
- return host.write(this.path, `${prefix}${this.toAdd}${suffix}`);
70
- });
71
- }
72
- }
73
- exports.InsertChange = InsertChange;
74
- class RemoveChange {
75
- constructor(path, pos, toRemove) {
76
- this.path = path;
77
- this.pos = pos;
78
- this.toRemove = toRemove;
79
- this.type = 'remove';
80
- if (pos < 0) {
81
- throw new Error('Negative positions are invalid');
82
- }
83
- this.description = `Removed ${toRemove} into position ${pos} of ${path}`;
84
- this.order = pos;
85
- }
86
- apply(host) {
87
- return host.read(this.path).then((content) => {
88
- const prefix = content.substring(0, this.pos);
89
- const suffix = content.substring(this.pos + this.toRemove.length);
90
- return host.write(this.path, `${prefix}${suffix}`);
91
- });
92
- }
93
- }
94
- exports.RemoveChange = RemoveChange;
95
- class ReplaceChange {
96
- constructor(path, pos, oldText, newText) {
97
- this.path = path;
98
- this.pos = pos;
99
- this.oldText = oldText;
100
- this.newText = newText;
101
- this.type = 'replace';
102
- if (pos < 0) {
103
- throw new Error('Negative positions are invalid');
104
- }
105
- this.description = `Replaced ${oldText} into position ${pos} of ${path} with ${newText}`;
106
- this.order = pos;
107
- }
108
- apply(host) {
109
- return host.read(this.path).then((content) => {
110
- const prefix = content.substring(0, this.pos);
111
- const suffix = content.substring(this.pos + this.oldText.length);
112
- const text = content.substring(this.pos, this.pos + this.oldText.length);
113
- if (text !== this.oldText) {
114
- return Promise.reject(new Error(`Invalid replace: "${text}" != "${this.oldText}".`));
115
- }
116
- return host.write(this.path, `${prefix}${this.newText}${suffix}`);
117
- });
118
- }
119
- }
120
- exports.ReplaceChange = ReplaceChange;
121
- function addParameterToConstructor(source, modulePath, opts) {
122
- if (!tsModule) {
123
- tsModule = (0, typescript_2.ensureTypescript)();
124
- }
125
- const clazz = findClass(source, opts.className);
126
- const constructor = clazz.members.filter((m) => m.kind === tsModule.SyntaxKind.Constructor)[0];
127
- if (constructor) {
128
- throw new Error('Should be tested');
129
- }
130
- else {
131
- const methodHeader = `constructor(${opts.param})`;
132
- return addMethod(source, modulePath, {
133
- className: opts.className,
134
- methodHeader,
135
- body: null,
136
- });
137
- }
138
- }
139
- exports.addParameterToConstructor = addParameterToConstructor;
140
- function addMethod(source, modulePath, opts) {
141
- const clazz = findClass(source, opts.className);
142
- const body = opts.body
143
- ? `
144
- ${opts.methodHeader} {
145
- ${offset(opts.body, 1, false)}
146
- }
147
- `
148
- : `
149
- ${opts.methodHeader} {}
150
- `;
151
- return [new InsertChange(modulePath, clazz.end - 1, offset(body, 1, true))];
152
- }
153
- exports.addMethod = addMethod;
154
- function findClass(source, className, silent = false) {
155
- if (!tsModule) {
156
- tsModule = (0, typescript_2.ensureTypescript)();
157
- }
158
- const nodes = (0, get_source_nodes_1.getSourceNodes)(source);
159
- const clazz = (nodes.filter((n) => n.kind === tsModule.SyntaxKind.ClassDeclaration &&
160
- n.name.text === className)[0]);
161
- if (!clazz && !silent) {
162
- throw new Error(`Cannot find class '${className}'`);
163
- }
164
- return clazz;
165
- }
166
- exports.findClass = findClass;
167
- function offset(text, numberOfTabs, wrap) {
168
- const lines = text
169
- .trim()
170
- .split('\n')
171
- .map((line) => {
172
- let tabs = '';
173
- for (let c = 0; c < numberOfTabs; ++c) {
174
- tabs += ' ';
175
- }
176
- return `${tabs}${line}`;
177
- })
178
- .join('\n');
179
- return wrap ? `\n${lines}\n` : lines;
180
- }
181
- exports.offset = offset;
182
- function addIncludeToTsConfig(tsConfigPath, source, include) {
183
- const includeKeywordPos = source.text.indexOf('"include":');
184
- if (includeKeywordPos > -1) {
185
- const includeArrayEndPos = source.text.indexOf(']', includeKeywordPos);
186
- return [new InsertChange(tsConfigPath, includeArrayEndPos, include)];
187
- }
188
- else {
189
- return [];
190
- }
191
- }
192
- exports.addIncludeToTsConfig = addIncludeToTsConfig;
193
- function getImport(source, predicate) {
194
- if (!tsModule) {
195
- tsModule = (0, typescript_2.ensureTypescript)();
196
- }
197
- const allImports = (0, typescript_1.findNodes)(source, tsModule.SyntaxKind.ImportDeclaration);
198
- const matching = allImports.filter((i) => predicate(i.moduleSpecifier.getText()));
199
- return matching.map((i) => {
200
- const moduleSpec = i.moduleSpecifier
201
- .getText()
202
- .substring(1, i.moduleSpecifier.getText().length - 1);
203
- const t = i.importClause.namedBindings.getText();
204
- const bindings = t
205
- .replace('{', '')
206
- .replace('}', '')
207
- .split(',')
208
- .map((q) => q.trim());
209
- return { moduleSpec, bindings };
210
- });
211
- }
212
- exports.getImport = getImport;
213
- function addGlobal(source, modulePath, statement) {
214
- if (!tsModule) {
215
- tsModule = (0, typescript_2.ensureTypescript)();
216
- }
217
- const allImports = (0, typescript_1.findNodes)(source, tsModule.SyntaxKind.ImportDeclaration);
218
- if (allImports.length > 0) {
219
- const lastImport = allImports[allImports.length - 1];
220
- return [
221
- new InsertChange(modulePath, lastImport.end + 1, `\n${statement}\n`),
222
- ];
223
- }
224
- else {
225
- return [new InsertChange(modulePath, 0, `${statement}\n`)];
226
- }
227
- }
228
- exports.addGlobal = addGlobal;
229
- function insert(host, modulePath, changes) {
230
- if (changes.length < 1) {
231
- return;
232
- }
233
- // sort changes so that the highest pos goes first
234
- const orderedChanges = changes.sort((a, b) => b.order - a.order);
235
- const recorder = host.beginUpdate(modulePath);
236
- for (const change of orderedChanges) {
237
- if (change.type == 'insert') {
238
- recorder.insertLeft(change.pos, change.toAdd);
239
- }
240
- else if (change.type == 'remove') {
241
- recorder.remove(change.pos - 1, change.toRemove.length + 1);
242
- }
243
- else if (change.type == 'replace') {
244
- recorder.remove(change.pos, change.oldText.length);
245
- recorder.insertLeft(change.pos, change.newText);
246
- }
247
- else if (change.type === 'noop') {
248
- // do nothing
249
- }
250
- else {
251
- throw new Error(`Unexpected Change '${change.constructor.name}'`);
252
- }
253
- }
254
- host.commitUpdate(recorder);
255
- }
256
- exports.insert = insert;
257
- /**
258
- * This method is specifically for reading JSON files in a Tree
259
- * @param host The host tree
260
- * @param path The path to the JSON file
261
- * @returns The JSON data in the file.
262
- */
263
- function readJsonInTree(host, path) {
264
- if (!host.exists(path)) {
265
- throw new Error(`Cannot find ${path}`);
266
- }
267
- try {
268
- return (0, devkit_1.parseJson)(host.read(path).toString('utf-8'));
269
- }
270
- catch (e) {
271
- throw new Error(`Cannot parse ${path}: ${e.message}`);
272
- }
273
- }
274
- exports.readJsonInTree = readJsonInTree;
275
- function allFilesInDirInHost(host, path, options = { recursive: true }) {
276
- const { join } = require('@angular-devkit/core');
277
- const dir = host.getDir(path);
278
- const res = [];
279
- dir.subfiles.forEach((p) => {
280
- res.push(join(path, p));
281
- });
282
- if (!options.recursive) {
283
- return res;
284
- }
285
- dir.subdirs.forEach((p) => {
286
- res.push(...allFilesInDirInHost(host, join(path, p)));
287
- });
288
- return res;
289
- }
290
- exports.allFilesInDirInHost = allFilesInDirInHost;
291
- /**
292
- * This method is specifically for updating JSON in a Tree
293
- * @param path Path of JSON file in the Tree
294
- * @param callback Manipulation of the JSON data
295
- * @returns A rule which updates a JSON file file in a Tree
296
- */
297
- function updateJsonInTree(path, callback) {
298
- return (host, context) => {
299
- if (!host.exists(path)) {
300
- host.create(path, (0, devkit_1.serializeJson)(callback({}, context)));
301
- return host;
302
- }
303
- host.overwrite(path, (0, devkit_1.serializeJson)(callback(readJsonInTree(host, path), context)));
304
- return host;
305
- };
306
- }
307
- exports.updateJsonInTree = updateJsonInTree;
308
- function updateWorkspaceInTree(callback) {
309
- return (host, context = undefined) => {
310
- const path = (0, cli_config_utils_1.getWorkspacePath)(host);
311
- host.overwrite(path, (0, devkit_1.serializeJson)(callback(readJsonInTree(host, path), context, host)));
312
- return host;
313
- };
314
- }
315
- exports.updateWorkspaceInTree = updateWorkspaceInTree;
316
- function readNxJsonInTree(host) {
317
- return readJsonInTree(host, 'nx.json');
318
- }
319
- exports.readNxJsonInTree = readNxJsonInTree;
320
- function libsDir(host) {
321
- var _a, _b;
322
- const json = readJsonInTree(host, 'nx.json');
323
- return (_b = (_a = json === null || json === void 0 ? void 0 : json.workspaceLayout) === null || _a === void 0 ? void 0 : _a.libsDir) !== null && _b !== void 0 ? _b : 'libs';
324
- }
325
- exports.libsDir = libsDir;
326
- function appsDir(host) {
327
- var _a, _b;
328
- const json = readJsonInTree(host, 'nx.json');
329
- return (_b = (_a = json === null || json === void 0 ? void 0 : json.workspaceLayout) === null || _a === void 0 ? void 0 : _a.appsDir) !== null && _b !== void 0 ? _b : 'apps';
330
- }
331
- exports.appsDir = appsDir;
332
- function updateNxJsonInTree(callback) {
333
- return (host, context) => {
334
- host.overwrite('nx.json', (0, devkit_1.serializeJson)(callback(readJsonInTree(host, 'nx.json'), context)));
335
- return host;
336
- };
337
- }
338
- exports.updateNxJsonInTree = updateNxJsonInTree;
339
- function readWorkspace(host) {
340
- const path = (0, cli_config_utils_1.getWorkspacePath)(host);
341
- return readJsonInTree(host, path);
342
- }
343
- exports.readWorkspace = readWorkspace;
344
- /**
345
- * verifies whether the given packageJson dependencies require an update
346
- * given the deps & devDeps passed in
347
- */
348
- function requiresAddingOfPackages(packageJsonFile, deps, devDeps) {
349
- let needsDepsUpdate = false;
350
- let needsDevDepsUpdate = false;
351
- packageJsonFile.dependencies = packageJsonFile.dependencies || {};
352
- packageJsonFile.devDependencies = packageJsonFile.devDependencies || {};
353
- if (Object.keys(deps).length > 0) {
354
- needsDepsUpdate = Object.keys(deps).some((entry) => !packageJsonFile.dependencies[entry]);
355
- }
356
- if (Object.keys(devDeps).length > 0) {
357
- needsDevDepsUpdate = Object.keys(devDeps).some((entry) => !packageJsonFile.devDependencies[entry]);
358
- }
359
- return needsDepsUpdate || needsDevDepsUpdate;
360
- }
361
- /**
362
- * Updates the package.json given the passed deps and/or devDeps. Only updates
363
- * if the packages are not yet present
364
- *
365
- * @param deps the package.json dependencies to add
366
- * @param devDeps the package.json devDependencies to add
367
- * @param addInstall default `true`; set to false to avoid installs
368
- */
369
- function addDepsToPackageJson(deps, devDeps, addInstall = true) {
370
- const { chain, noop } = require('@angular-devkit/schematics');
371
- return (host, context) => {
372
- const currentPackageJson = readJsonInTree(host, 'package.json');
373
- if (requiresAddingOfPackages(currentPackageJson, deps, devDeps)) {
374
- return chain([
375
- updateJsonInTree('package.json', (json, context) => {
376
- json.dependencies = Object.assign(Object.assign(Object.assign({}, (json.dependencies || {})), deps), (json.dependencies || {}));
377
- json.devDependencies = Object.assign(Object.assign(Object.assign({}, (json.devDependencies || {})), devDeps), (json.devDependencies || {}));
378
- json.dependencies = sortObjectByKeys(json.dependencies);
379
- json.devDependencies = sortObjectByKeys(json.devDependencies);
380
- return json;
381
- }),
382
- (0, add_install_task_1.addInstallTask)({
383
- skipInstall: !addInstall,
384
- }),
385
- ]);
386
- }
387
- else {
388
- return noop();
389
- }
390
- };
391
- }
392
- exports.addDepsToPackageJson = addDepsToPackageJson;
393
- function updatePackageJsonDependencies(deps, devDeps, addInstall = true) {
394
- const { chain } = require('@angular-devkit/schematics');
395
- return chain([
396
- updateJsonInTree('package.json', (json, context) => {
397
- json.dependencies = Object.assign(Object.assign({}, (json.dependencies || {})), deps);
398
- json.devDependencies = Object.assign(Object.assign({}, (json.devDependencies || {})), devDeps);
399
- json.dependencies = sortObjectByKeys(json.dependencies);
400
- json.devDependencies = sortObjectByKeys(json.devDependencies);
401
- return json;
402
- }),
403
- (0, add_install_task_1.addInstallTask)({
404
- skipInstall: !addInstall,
405
- }),
406
- ]);
407
- }
408
- exports.updatePackageJsonDependencies = updatePackageJsonDependencies;
409
- function getProjectConfig(host, name) {
410
- const workspaceJson = readJsonInTree(host, (0, cli_config_utils_1.getWorkspacePath)(host));
411
- const projectConfig = workspaceJson.projects[name];
412
- if (!projectConfig) {
413
- throw new Error(`Cannot find project '${name}'`);
414
- }
415
- else if (typeof projectConfig === 'string') {
416
- return readJsonInTree(host, projectConfig);
417
- }
418
- else {
419
- return projectConfig;
420
- }
421
- }
422
- exports.getProjectConfig = getProjectConfig;
423
- function createOrUpdate(host, path, content) {
424
- if (host.exists(path)) {
425
- host.overwrite(path, content);
426
- }
427
- else {
428
- host.create(path, content);
429
- }
430
- }
431
- exports.createOrUpdate = createOrUpdate;
432
- function insertImport(source, fileToEdit, symbolName, fileName, isDefault = false) {
433
- if (!tsModule) {
434
- tsModule = (0, typescript_2.ensureTypescript)();
435
- }
436
- const rootNode = source;
437
- const allImports = (0, typescript_1.findNodes)(rootNode, tsModule.SyntaxKind.ImportDeclaration);
438
- // get nodes that map to import statements from the file fileName
439
- const relevantImports = allImports.filter((node) => {
440
- // StringLiteral of the ImportDeclaration is the import file (fileName in this case).
441
- const importFiles = node
442
- .getChildren()
443
- .filter((child) => child.kind === tsModule.SyntaxKind.StringLiteral)
444
- .map((n) => n.text);
445
- return importFiles.filter((file) => file === fileName).length === 1;
446
- });
447
- if (relevantImports.length > 0) {
448
- let importsAsterisk = false;
449
- // imports from import file
450
- const imports = [];
451
- relevantImports.forEach((n) => {
452
- Array.prototype.push.apply(imports, (0, typescript_1.findNodes)(n, tsModule.SyntaxKind.Identifier));
453
- if ((0, typescript_1.findNodes)(n, tsModule.SyntaxKind.AsteriskToken).length > 0) {
454
- importsAsterisk = true;
455
- }
456
- });
457
- // if imports * from fileName, don't add symbolName
458
- if (importsAsterisk) {
459
- return new NoopChange();
460
- }
461
- const importTextNodes = imports.filter((n) => n.text === symbolName);
462
- // insert import if it's not there
463
- if (importTextNodes.length === 0) {
464
- const fallbackPos = (0, typescript_1.findNodes)(relevantImports[0], tsModule.SyntaxKind.CloseBraceToken)[0].getStart() ||
465
- (0, typescript_1.findNodes)(relevantImports[0], tsModule.SyntaxKind.FromKeyword)[0].getStart();
466
- return insertAfterLastOccurrence(imports, `, ${symbolName}`, fileToEdit, fallbackPos);
467
- }
468
- return new NoopChange();
469
- }
470
- // no such import declaration exists
471
- const useStrict = (0, typescript_1.findNodes)(rootNode, tsModule.SyntaxKind.StringLiteral).filter((n) => n.text === 'use strict');
472
- let fallbackPos = 0;
473
- if (useStrict.length > 0) {
474
- fallbackPos = useStrict[0].end;
475
- }
476
- const open = isDefault ? '' : '{ ';
477
- const close = isDefault ? '' : ' }';
478
- // if there are no imports or 'use strict' statement, insert import at beginning of file
479
- const insertAtBeginning = allImports.length === 0 && useStrict.length === 0;
480
- const separator = insertAtBeginning ? '' : ';\n';
481
- const toInsert = `${separator}import ${open}${symbolName}${close}` +
482
- ` from '${fileName}'${insertAtBeginning ? ';\n' : ''}`;
483
- return insertAfterLastOccurrence(allImports, toInsert, fileToEdit, fallbackPos, tsModule.SyntaxKind.StringLiteral);
484
- }
485
- exports.insertImport = insertImport;
486
- function replaceNodeValue(host, modulePath, node, content) {
487
- insert(host, modulePath, [
488
- new ReplaceChange(modulePath, node.getStart(node.getSourceFile()), node.getFullText(), content),
489
- ]);
490
- }
491
- exports.replaceNodeValue = replaceNodeValue;
492
- function renameSyncInTree(tree, from, to, cb) {
493
- if (!tree.exists(from)) {
494
- cb(`Path: ${from} does not exist`);
495
- }
496
- else if (tree.exists(to)) {
497
- cb(`Path: ${to} already exists`);
498
- }
499
- else {
500
- renameFile(tree, from, to);
501
- cb(null);
502
- }
503
- }
504
- exports.renameSyncInTree = renameSyncInTree;
505
- function renameDirSyncInTree(tree, from, to, cb) {
506
- const dir = tree.getDir(from);
507
- if (!dirExists(dir)) {
508
- cb(`Path: ${from} does not exist`);
509
- return;
510
- }
511
- dir.visit((path) => {
512
- const destination = path.replace(from, to);
513
- renameFile(tree, path, destination);
514
- });
515
- cb(null);
516
- }
517
- exports.renameDirSyncInTree = renameDirSyncInTree;
518
- function dirExists(dir) {
519
- return dir.subdirs.length + dir.subfiles.length !== 0;
520
- }
521
- function renameFile(tree, from, to) {
522
- const buffer = tree.read(from);
523
- if (!buffer) {
524
- return;
525
- }
526
- tree.create(to, buffer);
527
- tree.delete(from);
528
- }
529
- /**
530
- * Applies a template merge but skips for already existing entries
531
- */
532
- function applyWithSkipExisting(source, rules) {
533
- const { mergeWith, apply, forEach } = require('@angular-devkit/schematics');
534
- return (tree, _context) => {
535
- const rule = mergeWith(apply(source, [
536
- ...rules,
537
- forEach((fileEntry) => {
538
- if (tree.exists(fileEntry.path)) {
539
- return null;
540
- }
541
- return fileEntry;
542
- }),
543
- ]));
544
- return rule(tree, _context);
545
- };
546
- }
547
- exports.applyWithSkipExisting = applyWithSkipExisting;
6
+ var get_source_nodes_1 = require("../utilities/typescript/get-source-nodes");
7
+ Object.defineProperty(exports, "getSourceNodes", { enumerable: true, get: function () { return get_source_nodes_1.getSourceNodes; } });
548
8
  //# sourceMappingURL=ast-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/utils/ast-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/utils/ast-utils.ts"],"names":[],"mappings":";;;AAEA,iEAA+D,CAAC,yBAAyB;AAAhF,uGAAA,SAAS,OAAA;AAClB,6EAA0E;AAAjE,kHAAA,cAAc,OAAA"}
@@ -3,7 +3,6 @@ import type { Tree } from '@angular-devkit/schematics';
3
3
  * @deprecated Nx no longer supports workspace.json
4
4
  */
5
5
  export declare function getWorkspacePath(host: Tree): string;
6
- export declare function getNpmScope(host: Tree): string;
7
6
  export declare function parseTarget(targetString: string): {
8
7
  project: string;
9
8
  target: string;
@@ -15,4 +14,3 @@ export declare function serializeTarget({ project, target, config }: {
15
14
  target: any;
16
15
  config: any;
17
16
  }): string;
18
- export declare function replaceAppNameWithPath(node: any, appName: string, root: string): any;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.replaceAppNameWithPath = exports.serializeTarget = exports.editTarget = exports.parseTarget = exports.getNpmScope = exports.getWorkspacePath = void 0;
4
- const ast_utils_1 = require("./ast-utils");
3
+ exports.serializeTarget = exports.editTarget = exports.parseTarget = exports.getWorkspacePath = void 0;
5
4
  /**
6
5
  * @deprecated Nx no longer supports workspace.json
7
6
  */
@@ -10,10 +9,6 @@ function getWorkspacePath(host) {
10
9
  return possibleFiles.filter((path) => host.exists(path))[0];
11
10
  }
12
11
  exports.getWorkspacePath = getWorkspacePath;
13
- function getNpmScope(host) {
14
- return (0, ast_utils_1.readJsonInTree)(host, 'nx.json').npmScope;
15
- }
16
- exports.getNpmScope = getNpmScope;
17
12
  function parseTarget(targetString) {
18
13
  const [project, target, config] = targetString.split(':');
19
14
  return {
@@ -32,45 +27,4 @@ function serializeTarget({ project, target, config }) {
32
27
  return [project, target, config].filter((part) => !!part).join(':');
33
28
  }
34
29
  exports.serializeTarget = serializeTarget;
35
- function replaceAppNameWithPath(node, appName, root) {
36
- if (typeof node === 'string') {
37
- const matchPattern = new RegExp(`([^a-z0-9]*(${appName}))|((${appName})[^a-z0-9:]*)`, 'gi');
38
- if (!!node.match(matchPattern) &&
39
- node !== 'application' &&
40
- node !== 'library') {
41
- const r = node.replace(appName, root);
42
- return r.startsWith('/apps') || r.startsWith('/libs')
43
- ? r.substring(1)
44
- : r;
45
- }
46
- else {
47
- return node;
48
- }
49
- }
50
- else if (Array.isArray(node)) {
51
- return node.map((j) => replaceAppNameWithPath(j, appName, root));
52
- }
53
- else if (typeof node === 'object' && node) {
54
- const forbiddenPropertyList = [
55
- 'prefix',
56
- 'builder',
57
- 'executor',
58
- 'browserTarget',
59
- 'tags',
60
- 'defaultConfiguration',
61
- 'maximumError',
62
- 'name',
63
- 'type',
64
- 'outputHashing',
65
- ]; // Some of the properties should not be renamed
66
- return Object.keys(node).reduce((m, c) => ((m[c] = !forbiddenPropertyList.includes(c)
67
- ? replaceAppNameWithPath(node[c], appName, root)
68
- : node[c]),
69
- m), {});
70
- }
71
- else {
72
- return node;
73
- }
74
- }
75
- exports.replaceAppNameWithPath = replaceAppNameWithPath;
76
30
  //# sourceMappingURL=cli-config-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli-config-utils.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/utils/cli-config-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-config-utils.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/utils/cli-config-utils.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,SAAgB,gBAAgB,CAAC,IAAU;IACzC,MAAM,aAAa,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAC3D,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAHD,4CAGC;AAED,SAAgB,WAAW,CAAC,YAAoB;IAC9C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,OAAO;QACL,OAAO;QACP,MAAM;QACN,MAAM;KACP,CAAC;AACJ,CAAC;AAPD,kCAOC;AAED,SAAgB,UAAU,CAAC,YAAoB,EAAE,QAAQ;IACvD,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AACjD,CAAC;AAHD,gCAGC;AAED,SAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;IACzD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC;AAFD,0CAEC"}