@nx/js 16.8.0-beta.3 → 16.8.0-beta.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 (49) hide show
  1. package/babel.js +7 -8
  2. package/package.json +5 -5
  3. package/src/executors/node/lib/kill-tree.js +42 -45
  4. package/src/executors/node/node.impl.js +190 -189
  5. package/src/executors/node/schema.json +1 -1
  6. package/src/executors/swc/swc.impl.js +82 -70
  7. package/src/executors/tsc/lib/batch/build-task-info-per-tsconfig-map.js +7 -4
  8. package/src/executors/tsc/lib/batch/watch.js +42 -49
  9. package/src/executors/tsc/lib/get-task-options.js +8 -6
  10. package/src/executors/tsc/lib/get-tsconfig.js +16 -5
  11. package/src/executors/tsc/lib/normalize-options.js +9 -2
  12. package/src/executors/tsc/lib/typescript-compilation.js +21 -24
  13. package/src/executors/tsc/tsc.batch-impl.js +133 -132
  14. package/src/executors/tsc/tsc.impl.js +54 -50
  15. package/src/executors/verdaccio/verdaccio.impl.js +64 -55
  16. package/src/generators/convert-to-swc/convert-to-swc.js +6 -9
  17. package/src/generators/init/init.js +86 -92
  18. package/src/generators/library/library.d.ts +1 -1
  19. package/src/generators/library/library.js +290 -203
  20. package/src/generators/setup-build/generator.js +120 -113
  21. package/src/generators/setup-verdaccio/generator.js +45 -50
  22. package/src/migrations/update-13-8-5/update-node-executor.js +17 -21
  23. package/src/migrations/update-13-8-5/update-swcrc.js +23 -27
  24. package/src/migrations/update-14-1-5/update-swcrc-path.js +17 -20
  25. package/src/migrations/update-15-8-0/rename-swcrc-config.js +57 -60
  26. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +3 -6
  27. package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.js +19 -24
  28. package/src/plugins/jest/start-local-registry.js +4 -6
  29. package/src/plugins/rollup/type-definitions.js +21 -24
  30. package/src/utils/add-babel-inputs.js +1 -2
  31. package/src/utils/assets/assets.js +1 -2
  32. package/src/utils/assets/copy-assets-handler.js +48 -59
  33. package/src/utils/assets/index.js +20 -23
  34. package/src/utils/buildable-libs-utils.js +9 -13
  35. package/src/utils/find-npm-dependencies.d.ts +1 -0
  36. package/src/utils/find-npm-dependencies.js +25 -15
  37. package/src/utils/generate-globs.js +3 -3
  38. package/src/utils/inline.js +5 -10
  39. package/src/utils/package-json/get-npm-scope.js +2 -2
  40. package/src/utils/package-json/index.js +22 -25
  41. package/src/utils/package-json/update-package-json.js +26 -23
  42. package/src/utils/prettier.js +21 -24
  43. package/src/utils/swc/compile-swc.js +101 -106
  44. package/src/utils/typescript/compile-typescript-files.js +7 -8
  45. package/src/utils/typescript/print-diagnostics.js +13 -16
  46. package/src/utils/typescript/run-type-check.js +62 -59
  47. package/src/utils/typescript/ts-config.js +3 -5
  48. package/src/utils/typescript/tsnode-register.js +1 -1
  49. package/src/utils/watch-for-single-file-changes.js +13 -17
@@ -1,132 +1,139 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setupBuildSchematic = exports.setupBuildGenerator = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  const add_swc_config_1 = require("../../utils/swc/add-swc-config");
7
6
  const add_swc_dependencies_1 = require("../../utils/swc/add-swc-dependencies");
8
7
  const versions_1 = require("../../utils/versions");
9
- function setupBuildGenerator(tree, options) {
10
- var _a, _b, _c;
11
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
- const tasks = [];
13
- const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
14
- const buildTarget = (_a = options.buildTarget) !== null && _a !== void 0 ? _a : 'build';
15
- (_b = project.targets) !== null && _b !== void 0 ? _b : (project.targets = {});
16
- let mainFile;
17
- if (options.main) {
18
- mainFile = options.main;
19
- }
20
- else {
21
- const root = (_c = project.sourceRoot) !== null && _c !== void 0 ? _c : project.root;
22
- for (const f of [
23
- (0, devkit_1.joinPathFragments)(root, 'main.ts'),
24
- (0, devkit_1.joinPathFragments)(root, 'main.js'),
25
- (0, devkit_1.joinPathFragments)(root, 'index.ts'),
26
- (0, devkit_1.joinPathFragments)(root, 'index.js'),
27
- ]) {
28
- if (tree.exists(f)) {
29
- mainFile = f;
30
- break;
31
- }
8
+ async function setupBuildGenerator(tree, options) {
9
+ const tasks = [];
10
+ const project = (0, devkit_1.readProjectConfiguration)(tree, options.project);
11
+ const buildTarget = options.buildTarget ?? 'build';
12
+ const prevBuildOptions = project.targets?.[buildTarget]?.options;
13
+ project.targets ??= {};
14
+ let mainFile;
15
+ if (prevBuildOptions?.main) {
16
+ mainFile = prevBuildOptions.main;
17
+ }
18
+ else if (options.main) {
19
+ mainFile = options.main;
20
+ }
21
+ else {
22
+ const root = project.sourceRoot ?? project.root;
23
+ for (const f of [
24
+ (0, devkit_1.joinPathFragments)(root, 'main.ts'),
25
+ (0, devkit_1.joinPathFragments)(root, 'main.js'),
26
+ (0, devkit_1.joinPathFragments)(root, 'index.ts'),
27
+ (0, devkit_1.joinPathFragments)(root, 'index.js'),
28
+ ]) {
29
+ if (tree.exists(f)) {
30
+ mainFile = f;
31
+ break;
32
32
  }
33
33
  }
34
- if (!mainFile || !tree.exists(mainFile)) {
35
- throw new Error(`Cannot locate a main file for ${options.project}. Please specify one using --main=<file-path>.`);
34
+ }
35
+ if (!mainFile || !tree.exists(mainFile)) {
36
+ throw new Error(`Cannot locate a main file for ${options.project}. Please specify one using --main=<file-path>.`);
37
+ }
38
+ let tsConfigFile;
39
+ if (prevBuildOptions?.tsConfig) {
40
+ tsConfigFile = prevBuildOptions.tsConfig;
41
+ }
42
+ else if (options.tsConfig) {
43
+ tsConfigFile = options.tsConfig;
44
+ }
45
+ else {
46
+ for (const f of [
47
+ 'tsconfig.lib.json',
48
+ 'tsconfig.app.json',
49
+ 'tsconfig.json',
50
+ ]) {
51
+ const candidate = (0, devkit_1.joinPathFragments)(project.root, f);
52
+ if (tree.exists(candidate)) {
53
+ tsConfigFile = candidate;
54
+ break;
55
+ }
36
56
  }
37
- let tsConfigFile;
38
- if (options.tsConfig) {
39
- tsConfigFile = options.tsConfig;
57
+ }
58
+ if (!tsConfigFile || !tree.exists(tsConfigFile)) {
59
+ throw new Error(`Cannot locate a tsConfig file for ${options.project}. Please specify one using --tsConfig=<file-path>.`);
60
+ }
61
+ switch (options.bundler) {
62
+ case 'vite': {
63
+ const { viteConfigurationGenerator } = (0, devkit_1.ensurePackage)('@nx/vite', versions_1.nxVersion);
64
+ const task = await viteConfigurationGenerator(tree, {
65
+ buildTarget: options.buildTarget,
66
+ project: options.project,
67
+ newProject: true,
68
+ uiFramework: 'none',
69
+ includeVitest: false,
70
+ includeLib: true,
71
+ skipFormat: true,
72
+ });
73
+ tasks.push(task);
74
+ break;
40
75
  }
41
- else {
42
- for (const f of [
43
- 'tsconfig.lib.json',
44
- 'tsconfig.app.json',
45
- 'tsconfig.json',
46
- ]) {
47
- const candidate = (0, devkit_1.joinPathFragments)(project.root, f);
48
- if (tree.exists(candidate)) {
49
- tsConfigFile = candidate;
50
- break;
51
- }
52
- }
76
+ case 'esbuild': {
77
+ const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/esbuild', versions_1.nxVersion);
78
+ const task = await configurationGenerator(tree, {
79
+ main: mainFile,
80
+ buildTarget: options.buildTarget,
81
+ project: options.project,
82
+ skipFormat: true,
83
+ skipValidation: true,
84
+ });
85
+ tasks.push(task);
86
+ break;
53
87
  }
54
- if (!tsConfigFile || !tree.exists(tsConfigFile)) {
55
- throw new Error(`Cannot locate a tsConfig file for ${options.project}. Please specify one using --tsConfig=<file-path>.`);
88
+ case 'rollup': {
89
+ const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/rollup', versions_1.nxVersion);
90
+ const task = await configurationGenerator(tree, {
91
+ buildTarget: options.buildTarget,
92
+ main: mainFile,
93
+ tsConfig: tsConfigFile,
94
+ project: options.project,
95
+ compiler: 'tsc',
96
+ format: ['cjs', 'esm'],
97
+ skipFormat: true,
98
+ skipValidation: true,
99
+ });
100
+ tasks.push(task);
101
+ break;
56
102
  }
57
- switch (options.bundler) {
58
- case 'vite': {
59
- const { viteConfigurationGenerator } = (0, devkit_1.ensurePackage)('@nx/vite', versions_1.nxVersion);
60
- const task = yield viteConfigurationGenerator(tree, {
61
- buildTarget: options.buildTarget,
62
- project: options.project,
63
- newProject: true,
64
- uiFramework: 'none',
65
- includeVitest: false,
66
- includeLib: true,
67
- skipFormat: true,
68
- });
69
- tasks.push(task);
70
- break;
71
- }
72
- case 'esbuild': {
73
- const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/esbuild', versions_1.nxVersion);
74
- const task = yield configurationGenerator(tree, {
103
+ case 'tsc': {
104
+ const outputPath = (0, devkit_1.joinPathFragments)('dist', project.root);
105
+ project.targets[buildTarget] = {
106
+ executor: `@nx/js:tsc`,
107
+ outputs: ['{options.outputPath}'],
108
+ options: {
109
+ outputPath,
75
110
  main: mainFile,
76
- buildTarget: options.buildTarget,
77
- project: options.project,
78
- skipFormat: true,
79
- });
80
- tasks.push(task);
81
- break;
82
- }
83
- case 'rollup': {
84
- const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nx/rollup', versions_1.nxVersion);
85
- const task = yield configurationGenerator(tree, {
86
- buildTarget: options.buildTarget,
111
+ tsConfig: tsConfigFile,
112
+ assets: [],
113
+ },
114
+ };
115
+ (0, devkit_1.updateProjectConfiguration)(tree, options.project, project);
116
+ break;
117
+ }
118
+ case 'swc': {
119
+ const outputPath = (0, devkit_1.joinPathFragments)('dist', project.root);
120
+ project.targets[buildTarget] = {
121
+ executor: `@nx/js:swc`,
122
+ outputs: ['{options.outputPath}'],
123
+ options: {
124
+ outputPath,
87
125
  main: mainFile,
88
- project: options.project,
89
- skipFormat: true,
90
- compiler: 'tsc',
91
- });
92
- tasks.push(task);
93
- break;
94
- }
95
- case 'tsc': {
96
- const outputPath = (0, devkit_1.joinPathFragments)('dist', project.root);
97
- project.targets[buildTarget] = {
98
- executor: `@nx/js:tsc`,
99
- outputs: ['{options.outputPath}'],
100
- options: {
101
- outputPath,
102
- main: mainFile,
103
- tsConfig: tsConfigFile,
104
- assets: [],
105
- },
106
- };
107
- (0, devkit_1.updateProjectConfiguration)(tree, options.project, project);
108
- break;
109
- }
110
- case 'swc': {
111
- const outputPath = (0, devkit_1.joinPathFragments)('dist', project.root);
112
- project.targets[buildTarget] = {
113
- executor: `@nx/js:swc`,
114
- outputs: ['{options.outputPath}'],
115
- options: {
116
- outputPath,
117
- main: mainFile,
118
- tsConfig: tsConfigFile,
119
- assets: [],
120
- },
121
- };
122
- (0, devkit_1.updateProjectConfiguration)(tree, options.project, project);
123
- (0, add_swc_dependencies_1.addSwcDependencies)(tree);
124
- (0, add_swc_config_1.addSwcConfig)(tree, project.root, 'es6');
125
- }
126
+ tsConfig: tsConfigFile,
127
+ assets: [],
128
+ },
129
+ };
130
+ (0, devkit_1.updateProjectConfiguration)(tree, options.project, project);
131
+ (0, add_swc_dependencies_1.addSwcDependencies)(tree);
132
+ (0, add_swc_config_1.addSwcConfig)(tree, project.root, 'es6');
126
133
  }
127
- yield (0, devkit_1.formatFiles)(tree);
128
- return (0, devkit_1.runTasksInSerial)(...tasks);
129
- });
134
+ }
135
+ await (0, devkit_1.formatFiles)(tree);
136
+ return (0, devkit_1.runTasksInSerial)(...tasks);
130
137
  }
131
138
  exports.setupBuildGenerator = setupBuildGenerator;
132
139
  exports.default = setupBuildGenerator;
@@ -1,61 +1,56 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setupVerdaccioSchematic = exports.setupVerdaccio = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  const path = require("path");
7
6
  const versions_1 = require("../../utils/versions");
8
7
  const child_process_1 = require("child_process");
9
- function setupVerdaccio(tree, options) {
10
- var _a, _b, _c;
11
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
- if (!tree.exists('.verdaccio/config.yml')) {
13
- (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), '.verdaccio', {
14
- npmUplinkRegistry: (_c = (_b = (_a = (0, child_process_1.execSync)('npm config get registry')) === null || _a === void 0 ? void 0 : _a.toString()) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : 'https://registry.npmjs.org',
15
- });
16
- }
17
- const verdaccioTarget = {
18
- executor: '@nx/js:verdaccio',
19
- options: {
20
- port: 4873,
21
- config: '.verdaccio/config.yml',
22
- storage: 'tmp/local-registry/storage',
8
+ async function setupVerdaccio(tree, options) {
9
+ if (!tree.exists('.verdaccio/config.yml')) {
10
+ (0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), '.verdaccio', {
11
+ npmUplinkRegistry: (0, child_process_1.execSync)('npm config get registry')?.toString()?.trim() ??
12
+ 'https://registry.npmjs.org',
13
+ });
14
+ }
15
+ const verdaccioTarget = {
16
+ executor: '@nx/js:verdaccio',
17
+ options: {
18
+ port: 4873,
19
+ config: '.verdaccio/config.yml',
20
+ storage: 'tmp/local-registry/storage',
21
+ },
22
+ };
23
+ if (!tree.exists('project.json')) {
24
+ const { name } = (0, devkit_1.readJson)(tree, 'package.json');
25
+ (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
26
+ if (!json.nx) {
27
+ json.nx = {
28
+ includedScripts: [],
29
+ };
30
+ }
31
+ return json;
32
+ });
33
+ (0, devkit_1.addProjectConfiguration)(tree, name, {
34
+ root: '.',
35
+ targets: {
36
+ ['local-registry']: verdaccioTarget,
23
37
  },
24
- };
25
- if (!tree.exists('project.json')) {
26
- const { name } = (0, devkit_1.readJson)(tree, 'package.json');
27
- (0, devkit_1.updateJson)(tree, 'package.json', (json) => {
28
- if (!json.nx) {
29
- json.nx = {
30
- includedScripts: [],
31
- };
32
- }
33
- return json;
34
- });
35
- (0, devkit_1.addProjectConfiguration)(tree, name, {
36
- root: '.',
37
- targets: {
38
- ['local-registry']: verdaccioTarget,
39
- },
40
- });
41
- }
42
- else {
43
- // use updateJson instead of updateProjectConfiguration due to unknown project name
44
- (0, devkit_1.updateJson)(tree, 'project.json', (json) => {
45
- var _a;
46
- var _b;
47
- if (!json.targets) {
48
- json.targets = {};
49
- }
50
- (_a = (_b = json.targets)['local-registry']) !== null && _a !== void 0 ? _a : (_b['local-registry'] = verdaccioTarget);
51
- return json;
52
- });
53
- }
54
- if (!options.skipFormat) {
55
- yield (0, devkit_1.formatFiles)(tree);
56
- }
57
- return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { verdaccio: versions_1.verdaccioVersion });
58
- });
38
+ });
39
+ }
40
+ else {
41
+ // use updateJson instead of updateProjectConfiguration due to unknown project name
42
+ (0, devkit_1.updateJson)(tree, 'project.json', (json) => {
43
+ if (!json.targets) {
44
+ json.targets = {};
45
+ }
46
+ json.targets['local-registry'] ??= verdaccioTarget;
47
+ return json;
48
+ });
49
+ }
50
+ if (!options.skipFormat) {
51
+ await (0, devkit_1.formatFiles)(tree);
52
+ }
53
+ return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { verdaccio: versions_1.verdaccioVersion });
59
54
  }
60
55
  exports.setupVerdaccio = setupVerdaccio;
61
56
  exports.default = setupVerdaccio;
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
3
  const devkit_1 = require("@nx/devkit");
5
4
  const versions_1 = require("@nx/workspace/src/utils/versions");
6
- function update(host) {
7
- var _a, _b;
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- const projects = (0, devkit_1.getProjects)(host);
10
- let installNeeded = false;
11
- for (const [name, config] of projects.entries()) {
12
- if (((_b = (_a = config === null || config === void 0 ? void 0 : config.targets) === null || _a === void 0 ? void 0 : _a.serve) === null || _b === void 0 ? void 0 : _b.executor) !== '@nrwl/js:node')
13
- continue;
14
- config.targets.serve.executor = '@nrwl/node:node';
15
- installNeeded = true;
16
- (0, devkit_1.updateProjectConfiguration)(host, name, config);
17
- }
18
- const task = installNeeded
19
- ? (0, devkit_1.addDependenciesToPackageJson)(host, {}, {
20
- '@nrwl/node': versions_1.nxVersion,
21
- })
22
- : undefined;
23
- yield (0, devkit_1.formatFiles)(host);
24
- return task;
25
- });
5
+ async function update(host) {
6
+ const projects = (0, devkit_1.getProjects)(host);
7
+ let installNeeded = false;
8
+ for (const [name, config] of projects.entries()) {
9
+ if (config?.targets?.serve?.executor !== '@nrwl/js:node')
10
+ continue;
11
+ config.targets.serve.executor = '@nrwl/node:node';
12
+ installNeeded = true;
13
+ (0, devkit_1.updateProjectConfiguration)(host, name, config);
14
+ }
15
+ const task = installNeeded
16
+ ? (0, devkit_1.addDependenciesToPackageJson)(host, {}, {
17
+ '@nrwl/node': versions_1.nxVersion,
18
+ })
19
+ : undefined;
20
+ await (0, devkit_1.formatFiles)(host);
21
+ return task;
26
22
  }
27
23
  exports.default = update;
@@ -1,34 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
3
  const devkit_1 = require("@nx/devkit");
5
4
  const path_1 = require("path");
6
5
  const add_swc_config_1 = require("../../utils/swc/add-swc-config");
7
- function update(host) {
8
- var _a, _b, _c, _d, _e;
9
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
- const projects = (0, devkit_1.getProjects)(host);
11
- for (const config of projects.values()) {
12
- if (((_b = (_a = config === null || config === void 0 ? void 0 : config.targets) === null || _a === void 0 ? void 0 : _a.build) === null || _b === void 0 ? void 0 : _b.executor) !== '@nrwl/js:swc')
13
- continue;
14
- const swcrcPath = (0, path_1.join)(config.root, '.swcrc');
15
- if (!host.exists(swcrcPath))
16
- continue;
17
- // rename
18
- const libSwcrcPath = (0, path_1.join)(config.root, '.lib.swcrc');
19
- host.rename(swcrcPath, libSwcrcPath);
20
- const swcrcContent = (0, devkit_1.readJson)(host, libSwcrcPath);
21
- // skip if swcrc already has "exclude" field
22
- if (swcrcContent['exclude'])
23
- continue;
24
- // check swcExclude build options
25
- const exclude = ((_e = (_d = (_c = config === null || config === void 0 ? void 0 : config.targets) === null || _c === void 0 ? void 0 : _c.build) === null || _d === void 0 ? void 0 : _d.options) === null || _e === void 0 ? void 0 : _e['swcExclude']) || add_swc_config_1.defaultExclude;
26
- (0, devkit_1.updateJson)(host, libSwcrcPath, (swcrc) => {
27
- swcrc['exclude'] = exclude;
28
- return swcrc;
29
- });
30
- }
31
- yield (0, devkit_1.formatFiles)(host);
32
- });
6
+ async function update(host) {
7
+ const projects = (0, devkit_1.getProjects)(host);
8
+ for (const config of projects.values()) {
9
+ if (config?.targets?.build?.executor !== '@nrwl/js:swc')
10
+ continue;
11
+ const swcrcPath = (0, path_1.join)(config.root, '.swcrc');
12
+ if (!host.exists(swcrcPath))
13
+ continue;
14
+ // rename
15
+ const libSwcrcPath = (0, path_1.join)(config.root, '.lib.swcrc');
16
+ host.rename(swcrcPath, libSwcrcPath);
17
+ const swcrcContent = (0, devkit_1.readJson)(host, libSwcrcPath);
18
+ // skip if swcrc already has "exclude" field
19
+ if (swcrcContent['exclude'])
20
+ continue;
21
+ // check swcExclude build options
22
+ const exclude = config?.targets?.build?.options?.['swcExclude'] || add_swc_config_1.defaultExclude;
23
+ (0, devkit_1.updateJson)(host, libSwcrcPath, (swcrc) => {
24
+ swcrc['exclude'] = exclude;
25
+ return swcrc;
26
+ });
27
+ }
28
+ await (0, devkit_1.formatFiles)(host);
33
29
  }
34
30
  exports.default = update;
@@ -1,29 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateSwcrcPath = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  const executor_options_utils_1 = require("@nx/devkit/src/generators/executor-options-utils");
7
- function updateSwcrcPath(tree) {
8
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
9
- let changesMade = false;
10
- (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nrwl/js:swc', (_, projectName, targetName, configurationName) => {
11
- const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, projectName);
12
- const executorOptions = configurationName
13
- ? projectConfig.targets[targetName].configurations[configurationName]
14
- : projectConfig.targets[targetName].options;
15
- if (!executorOptions.swcrcPath)
16
- return;
17
- const newSwcrcPath = (0, devkit_1.joinPathFragments)(projectConfig.root, executorOptions.swcrcPath);
18
- delete executorOptions.swcrcPath;
19
- executorOptions.swcrc = newSwcrcPath;
20
- (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfig);
21
- changesMade = true;
22
- });
23
- if (changesMade) {
24
- yield (0, devkit_1.formatFiles)(tree);
25
- }
6
+ async function updateSwcrcPath(tree) {
7
+ let changesMade = false;
8
+ (0, executor_options_utils_1.forEachExecutorOptions)(tree, '@nrwl/js:swc', (_, projectName, targetName, configurationName) => {
9
+ const projectConfig = (0, devkit_1.readProjectConfiguration)(tree, projectName);
10
+ const executorOptions = configurationName
11
+ ? projectConfig.targets[targetName].configurations[configurationName]
12
+ : projectConfig.targets[targetName].options;
13
+ if (!executorOptions.swcrcPath)
14
+ return;
15
+ const newSwcrcPath = (0, devkit_1.joinPathFragments)(projectConfig.root, executorOptions.swcrcPath);
16
+ delete executorOptions.swcrcPath;
17
+ executorOptions.swcrc = newSwcrcPath;
18
+ (0, devkit_1.updateProjectConfiguration)(tree, projectName, projectConfig);
19
+ changesMade = true;
26
20
  });
21
+ if (changesMade) {
22
+ await (0, devkit_1.formatFiles)(tree);
23
+ }
27
24
  }
28
25
  exports.updateSwcrcPath = updateSwcrcPath;
29
26
  exports.default = updateSwcrcPath;