@nx/js 16.4.0-beta.0 → 16.4.0-beta.2

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 (156) hide show
  1. package/babel.js +0 -1
  2. package/executors.json +1 -0
  3. package/package.json +6 -5
  4. package/src/executors/node/compat.js +0 -1
  5. package/src/executors/node/lib/kill-tree.js +0 -1
  6. package/src/executors/node/node-with-require-overrides.js +0 -1
  7. package/src/executors/node/node.impl.js +14 -10
  8. package/src/executors/swc/compat.js +0 -1
  9. package/src/executors/swc/swc.impl.js +0 -1
  10. package/src/executors/tsc/compat.js +0 -1
  11. package/src/executors/tsc/lib/batch/build-task-info-per-tsconfig-map.d.ts +4 -0
  12. package/src/executors/tsc/lib/batch/build-task-info-per-tsconfig-map.js +54 -0
  13. package/src/executors/tsc/lib/batch/generate-temp-tsconfig.d.ts +3 -0
  14. package/src/executors/tsc/lib/batch/generate-temp-tsconfig.js +52 -0
  15. package/src/executors/tsc/lib/batch/get-task-options.d.ts +3 -0
  16. package/src/executors/tsc/lib/batch/get-task-options.js +24 -0
  17. package/src/executors/tsc/lib/batch/index.d.ts +8 -0
  18. package/src/executors/tsc/lib/batch/index.js +11 -0
  19. package/src/executors/tsc/lib/batch/normalize-tasks-options.d.ts +3 -0
  20. package/src/executors/tsc/lib/batch/normalize-tasks-options.js +14 -0
  21. package/src/executors/tsc/lib/batch/types.d.ts +12 -0
  22. package/src/executors/tsc/lib/batch/types.js +2 -0
  23. package/src/executors/tsc/lib/batch/typescript-compilation.d.ts +7 -0
  24. package/src/executors/tsc/lib/batch/typescript-compilation.js +195 -0
  25. package/src/executors/tsc/lib/batch/typescript-diagnostic-reporters.d.ts +4 -0
  26. package/src/executors/tsc/lib/batch/typescript-diagnostic-reporters.js +44 -0
  27. package/src/executors/tsc/lib/batch/watch.d.ts +3 -0
  28. package/src/executors/tsc/lib/batch/watch.js +63 -0
  29. package/src/executors/tsc/lib/get-custom-transformers-factory.d.ts +3 -0
  30. package/src/executors/tsc/lib/get-custom-transformers-factory.js +13 -0
  31. package/src/executors/tsc/lib/index.d.ts +2 -0
  32. package/src/executors/tsc/lib/index.js +5 -0
  33. package/src/executors/tsc/lib/normalize-options.d.ts +2 -0
  34. package/src/executors/tsc/lib/normalize-options.js +32 -0
  35. package/src/executors/tsc/tsc.batch-impl.d.ts +4 -0
  36. package/src/executors/tsc/tsc.batch-impl.js +47 -0
  37. package/src/executors/tsc/tsc.impl.d.ts +0 -1
  38. package/src/executors/tsc/tsc.impl.js +4 -40
  39. package/src/executors/verdaccio/compat.js +0 -1
  40. package/src/executors/verdaccio/verdaccio.impl.d.ts +1 -0
  41. package/src/executors/verdaccio/verdaccio.impl.js +18 -8
  42. package/src/generators/convert-to-swc/convert-to-swc.js +0 -1
  43. package/src/generators/init/init.js +0 -1
  44. package/src/generators/library/library.js +0 -11
  45. package/src/generators/setup-verdaccio/generator.js +0 -1
  46. package/src/index.js +0 -1
  47. package/src/internal.js +0 -1
  48. package/src/migrations/update-13-10-1/update-lib-swcrc-exclude.js +0 -1
  49. package/src/migrations/update-13-8-5/update-node-executor.js +0 -1
  50. package/src/migrations/update-13-8-5/update-swcrc.js +0 -1
  51. package/src/migrations/update-14-0-0/exclude-jest-config-swcrc.js +0 -1
  52. package/src/migrations/update-14-1-5/update-swcrc-path.js +0 -1
  53. package/src/migrations/update-15-8-0/rename-swcrc-config.js +0 -1
  54. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +0 -1
  55. package/src/utils/add-babel-inputs.d.ts +1 -0
  56. package/src/utils/add-babel-inputs.js +2 -1
  57. package/src/utils/assets/assets.js +0 -1
  58. package/src/utils/assets/copy-assets-handler.d.ts +5 -1
  59. package/src/utils/assets/copy-assets-handler.js +34 -24
  60. package/src/utils/assets/index.js +0 -1
  61. package/src/utils/buildable-libs-utils.js +0 -1
  62. package/src/utils/check-dependencies.js +0 -1
  63. package/src/utils/code-frames/highlight.js +0 -1
  64. package/src/utils/code-frames/identifiers.js +0 -1
  65. package/src/utils/compiler-helper-dependency.js +0 -1
  66. package/src/utils/generate-globs.js +0 -1
  67. package/src/utils/get-import-path.js +0 -1
  68. package/src/utils/inline.d.ts +1 -1
  69. package/src/utils/inline.js +3 -4
  70. package/src/utils/minimal-publish-script.js +0 -1
  71. package/src/utils/package-json/get-npm-scope.js +0 -1
  72. package/src/utils/package-json/index.js +0 -1
  73. package/src/utils/package-json/update-package-json.js +0 -1
  74. package/src/utils/prettier.js +0 -1
  75. package/src/utils/schema.d.ts +3 -2
  76. package/src/utils/swc/add-swc-config.js +0 -1
  77. package/src/utils/swc/add-swc-dependencies.js +0 -1
  78. package/src/utils/swc/compile-swc.js +0 -1
  79. package/src/utils/swc/get-swcrc-path.js +0 -1
  80. package/src/utils/swc/inline.js +0 -1
  81. package/src/utils/typescript/__mocks__/plugin-a.js +0 -1
  82. package/src/utils/typescript/__mocks__/plugin-b.js +0 -1
  83. package/src/utils/typescript/add-tslib-dependencies.js +0 -1
  84. package/src/utils/typescript/ast-utils.js +0 -1
  85. package/src/utils/typescript/compile-typescript-files.js +0 -1
  86. package/src/utils/typescript/create-ts-config.js +0 -1
  87. package/src/utils/typescript/ensure-typescript.js +0 -1
  88. package/src/utils/typescript/get-source-nodes.js +0 -1
  89. package/src/utils/typescript/load-ts-transformers.js +0 -1
  90. package/src/utils/typescript/print-diagnostics.js +0 -1
  91. package/src/utils/typescript/run-type-check.js +0 -1
  92. package/src/utils/typescript/ts-config.js +0 -1
  93. package/src/utils/typescript/types.js +0 -1
  94. package/src/utils/versions.js +0 -1
  95. package/src/utils/watch-for-single-file-changes.js +0 -1
  96. package/babel.js.map +0 -1
  97. package/src/executors/node/compat.js.map +0 -1
  98. package/src/executors/node/lib/kill-tree.js.map +0 -1
  99. package/src/executors/node/node-with-require-overrides.js.map +0 -1
  100. package/src/executors/node/node.impl.js.map +0 -1
  101. package/src/executors/swc/compat.js.map +0 -1
  102. package/src/executors/swc/swc.impl.js.map +0 -1
  103. package/src/executors/tsc/compat.js.map +0 -1
  104. package/src/executors/tsc/tsc.impl.js.map +0 -1
  105. package/src/executors/verdaccio/compat.js.map +0 -1
  106. package/src/executors/verdaccio/verdaccio.impl.js.map +0 -1
  107. package/src/generators/convert-to-swc/convert-to-swc.js.map +0 -1
  108. package/src/generators/init/init.js.map +0 -1
  109. package/src/generators/library/library.js.map +0 -1
  110. package/src/generators/setup-verdaccio/generator.js.map +0 -1
  111. package/src/index.js.map +0 -1
  112. package/src/internal.js.map +0 -1
  113. package/src/migrations/update-13-10-1/update-lib-swcrc-exclude.js.map +0 -1
  114. package/src/migrations/update-13-8-5/update-node-executor.js.map +0 -1
  115. package/src/migrations/update-13-8-5/update-swcrc.js.map +0 -1
  116. package/src/migrations/update-14-0-0/exclude-jest-config-swcrc.js.map +0 -1
  117. package/src/migrations/update-14-1-5/update-swcrc-path.js.map +0 -1
  118. package/src/migrations/update-15-8-0/rename-swcrc-config.js.map +0 -1
  119. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js.map +0 -1
  120. package/src/utils/add-babel-inputs.js.map +0 -1
  121. package/src/utils/assets/assets.js.map +0 -1
  122. package/src/utils/assets/copy-assets-handler.js.map +0 -1
  123. package/src/utils/assets/index.js.map +0 -1
  124. package/src/utils/buildable-libs-utils.js.map +0 -1
  125. package/src/utils/check-dependencies.js.map +0 -1
  126. package/src/utils/code-frames/highlight.js.map +0 -1
  127. package/src/utils/code-frames/identifiers.js.map +0 -1
  128. package/src/utils/compiler-helper-dependency.js.map +0 -1
  129. package/src/utils/generate-globs.js.map +0 -1
  130. package/src/utils/get-import-path.js.map +0 -1
  131. package/src/utils/inline.js.map +0 -1
  132. package/src/utils/minimal-publish-script.js.map +0 -1
  133. package/src/utils/package-json/get-npm-scope.js.map +0 -1
  134. package/src/utils/package-json/index.js.map +0 -1
  135. package/src/utils/package-json/update-package-json.js.map +0 -1
  136. package/src/utils/prettier.js.map +0 -1
  137. package/src/utils/swc/add-swc-config.js.map +0 -1
  138. package/src/utils/swc/add-swc-dependencies.js.map +0 -1
  139. package/src/utils/swc/compile-swc.js.map +0 -1
  140. package/src/utils/swc/get-swcrc-path.js.map +0 -1
  141. package/src/utils/swc/inline.js.map +0 -1
  142. package/src/utils/typescript/__mocks__/plugin-a.js.map +0 -1
  143. package/src/utils/typescript/__mocks__/plugin-b.js.map +0 -1
  144. package/src/utils/typescript/add-tslib-dependencies.js.map +0 -1
  145. package/src/utils/typescript/ast-utils.js.map +0 -1
  146. package/src/utils/typescript/compile-typescript-files.js.map +0 -1
  147. package/src/utils/typescript/create-ts-config.js.map +0 -1
  148. package/src/utils/typescript/ensure-typescript.js.map +0 -1
  149. package/src/utils/typescript/get-source-nodes.js.map +0 -1
  150. package/src/utils/typescript/load-ts-transformers.js.map +0 -1
  151. package/src/utils/typescript/print-diagnostics.js.map +0 -1
  152. package/src/utils/typescript/run-type-check.js.map +0 -1
  153. package/src/utils/typescript/ts-config.js.map +0 -1
  154. package/src/utils/typescript/types.js.map +0 -1
  155. package/src/utils/versions.js.map +0 -1
  156. package/src/utils/watch-for-single-file-changes.js.map +0 -1
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.watchTaskProjectsFileChangesForAssets = exports.watchTaskProjectsPackageJsonFileChanges = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const devkit_1 = require("@nx/devkit");
6
+ const client_1 = require("nx/src/daemon/client/client");
7
+ const path_1 = require("path");
8
+ function watchTaskProjectsPackageJsonFileChanges(taskInfos, callback) {
9
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
10
+ const projects = [];
11
+ const packageJsonTaskInfoMap = new Map();
12
+ taskInfos.forEach((t) => {
13
+ projects.push(t.context.projectName);
14
+ packageJsonTaskInfoMap.set((0, path_1.join)(t.options.projectRoot, 'package.json'), t);
15
+ });
16
+ const unregisterFileWatcher = yield client_1.daemonClient.registerFileWatcher({ watchProjects: projects }, (err, data) => {
17
+ var _a;
18
+ if (err === 'closed') {
19
+ devkit_1.logger.error(`Watch error: Daemon closed the connection`);
20
+ process.exit(1);
21
+ }
22
+ else if (err) {
23
+ devkit_1.logger.error(`Watch error: ${(_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : 'Unknown'}`);
24
+ }
25
+ else {
26
+ const changedTasks = [];
27
+ data.changedFiles.forEach((file) => {
28
+ if (packageJsonTaskInfoMap.has(file.path)) {
29
+ changedTasks.push(packageJsonTaskInfoMap.get(file.path));
30
+ }
31
+ });
32
+ if (changedTasks.length) {
33
+ callback(changedTasks);
34
+ }
35
+ }
36
+ });
37
+ return () => unregisterFileWatcher();
38
+ });
39
+ }
40
+ exports.watchTaskProjectsPackageJsonFileChanges = watchTaskProjectsPackageJsonFileChanges;
41
+ function watchTaskProjectsFileChangesForAssets(taskInfos) {
42
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
43
+ const unregisterFileWatcher = yield client_1.daemonClient.registerFileWatcher({
44
+ watchProjects: taskInfos.map((t) => t.context.projectName),
45
+ includeDependentProjects: true,
46
+ includeGlobalWorkspaceFiles: true,
47
+ }, (err, data) => {
48
+ var _a;
49
+ if (err === 'closed') {
50
+ devkit_1.logger.error(`Watch error: Daemon closed the connection`);
51
+ process.exit(1);
52
+ }
53
+ else if (err) {
54
+ devkit_1.logger.error(`Watch error: ${(_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : 'Unknown'}`);
55
+ }
56
+ else {
57
+ taskInfos.forEach((t) => t.assetsHandler.processWatchEvents(data.changedFiles));
58
+ }
59
+ });
60
+ return () => unregisterFileWatcher();
61
+ });
62
+ }
63
+ exports.watchTaskProjectsFileChangesForAssets = watchTaskProjectsFileChangesForAssets;
@@ -0,0 +1,3 @@
1
+ import * as ts from 'typescript';
2
+ import type { TransformerEntry } from '../../../utils/typescript/types';
3
+ export declare function getCustomTrasformersFactory(transformers: TransformerEntry[]): (program: ts.Program) => ts.CustomTransformers;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCustomTrasformersFactory = void 0;
4
+ const load_ts_transformers_1 = require("../../../utils/typescript/load-ts-transformers");
5
+ function getCustomTrasformersFactory(transformers) {
6
+ const { compilerPluginHooks } = (0, load_ts_transformers_1.loadTsTransformers)(transformers);
7
+ return (program) => ({
8
+ before: compilerPluginHooks.beforeHooks.map((hook) => hook(program)),
9
+ after: compilerPluginHooks.afterHooks.map((hook) => hook(program)),
10
+ afterDeclarations: compilerPluginHooks.afterDeclarationsHooks.map((hook) => hook(program)),
11
+ });
12
+ }
13
+ exports.getCustomTrasformersFactory = getCustomTrasformersFactory;
@@ -0,0 +1,2 @@
1
+ export * from './get-custom-transformers-factory';
2
+ export * from './normalize-options';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./get-custom-transformers-factory"), exports);
5
+ tslib_1.__exportStar(require("./normalize-options"), exports);
@@ -0,0 +1,2 @@
1
+ import type { ExecutorOptions, NormalizedExecutorOptions } from '../../../utils/schema';
2
+ export declare function normalizeOptions(options: ExecutorOptions, contextRoot: string, sourceRoot: string, projectRoot: string): NormalizedExecutorOptions;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeOptions = void 0;
4
+ const path_1 = require("path");
5
+ const assets_1 = require("../../../utils/assets/assets");
6
+ function normalizeOptions(options, contextRoot, sourceRoot, projectRoot) {
7
+ const outputPath = (0, path_1.join)(contextRoot, options.outputPath);
8
+ const rootDir = options.rootDir
9
+ ? (0, path_1.join)(contextRoot, options.rootDir)
10
+ : (0, path_1.join)(contextRoot, projectRoot);
11
+ if (options.watch == null) {
12
+ options.watch = false;
13
+ }
14
+ // TODO: put back when inlining story is more stable
15
+ // if (options.external == null) {
16
+ // options.external = 'all';
17
+ // } else if (Array.isArray(options.external) && options.external.length === 0) {
18
+ // options.external = 'none';
19
+ // }
20
+ if (Array.isArray(options.external) && options.external.length > 0) {
21
+ const firstItem = options.external[0];
22
+ if (firstItem === 'all' || firstItem === 'none') {
23
+ options.external = firstItem;
24
+ }
25
+ }
26
+ const files = (0, assets_1.assetGlobsToFiles)(options.assets, contextRoot, outputPath);
27
+ return Object.assign(Object.assign({}, options), { root: contextRoot, sourceRoot,
28
+ projectRoot,
29
+ files,
30
+ outputPath, tsConfig: (0, path_1.join)(contextRoot, options.tsConfig), rootDir, mainOutputPath: (0, path_1.resolve)(outputPath, options.main.replace(`${projectRoot}/`, '').replace('.ts', '.js')) });
31
+ }
32
+ exports.normalizeOptions = normalizeOptions;
@@ -0,0 +1,4 @@
1
+ import type { ExecutorContext, TaskGraph } from '@nx/devkit';
2
+ import type { ExecutorOptions } from '../../utils/schema';
3
+ export declare function tscBatchExecutor(taskGraph: TaskGraph, inputs: Record<string, ExecutorOptions>, overrides: ExecutorOptions, context: ExecutorContext): AsyncGenerator<import("../../../../../build/packages/nx/src/tasks-runner/batch/batch-messages").BatchResults, any, undefined>;
4
+ export default tscBatchExecutor;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tscBatchExecutor = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const fs_1 = require("fs");
6
+ const update_package_json_1 = require("../../utils/package-json/update-package-json");
7
+ const batch_1 = require("./lib/batch");
8
+ function tscBatchExecutor(taskGraph, inputs, overrides, context) {
9
+ return tslib_1.__asyncGenerator(this, arguments, function* tscBatchExecutor_1() {
10
+ const tasksOptions = (0, batch_1.normalizeTasksOptions)(inputs, context);
11
+ let shouldWatch = false;
12
+ Object.values(tasksOptions).forEach((taskOptions) => {
13
+ if (taskOptions.clean) {
14
+ (0, fs_1.rmSync)(taskOptions.outputPath, { force: true, recursive: true });
15
+ }
16
+ if (taskOptions.watch) {
17
+ shouldWatch = true;
18
+ }
19
+ });
20
+ const tsConfigTaskInfoMap = {};
21
+ (0, batch_1.buildTaskInfoPerTsConfigMap)(tsConfigTaskInfoMap, tasksOptions, context, Object.keys(taskGraph.tasks), shouldWatch);
22
+ const typescriptCompilation = (0, batch_1.compileBatchTypescript)(tsConfigTaskInfoMap, taskGraph, shouldWatch, (taskInfo) => {
23
+ taskInfo.assetsHandler.processAllAssetsOnceSync();
24
+ (0, update_package_json_1.updatePackageJson)(taskInfo.options, taskInfo.context, taskInfo.projectGraphNode, taskInfo.buildableProjectNodeDependencies);
25
+ });
26
+ if (shouldWatch) {
27
+ const taskInfos = Object.values(tsConfigTaskInfoMap);
28
+ const watchAssetsChangesDisposer = yield tslib_1.__await((0, batch_1.watchTaskProjectsFileChangesForAssets)(taskInfos));
29
+ const watchProjectsChangesDisposer = yield tslib_1.__await((0, batch_1.watchTaskProjectsPackageJsonFileChanges)(taskInfos, (changedTaskInfos) => {
30
+ for (const t of changedTaskInfos) {
31
+ (0, update_package_json_1.updatePackageJson)(t.options, t.context, t.projectGraphNode, t.buildableProjectNodeDependencies);
32
+ }
33
+ }));
34
+ const handleTermination = (exitCode) => tslib_1.__awaiter(this, void 0, void 0, function* () {
35
+ yield typescriptCompilation.close();
36
+ watchAssetsChangesDisposer();
37
+ watchProjectsChangesDisposer();
38
+ process.exit(exitCode);
39
+ });
40
+ process.on('SIGINT', () => handleTermination(128 + 2));
41
+ process.on('SIGTERM', () => handleTermination(128 + 15));
42
+ }
43
+ return yield tslib_1.__await(yield tslib_1.__await(yield* tslib_1.__asyncDelegator(tslib_1.__asyncValues(typescriptCompilation.iterator))));
44
+ });
45
+ }
46
+ exports.tscBatchExecutor = tscBatchExecutor;
47
+ exports.default = tscBatchExecutor;
@@ -1,7 +1,6 @@
1
1
  import { ExecutorContext } from '@nx/devkit';
2
2
  import type { TypeScriptCompilationOptions } from '@nx/workspace/src/utilities/typescript/compilation';
3
3
  import { ExecutorOptions, NormalizedExecutorOptions } from '../../utils/schema';
4
- export declare function normalizeOptions(options: ExecutorOptions, contextRoot: string, sourceRoot: string, projectRoot: string): NormalizedExecutorOptions;
5
4
  export declare function createTypeScriptCompilationOptions(normalizedOptions: NormalizedExecutorOptions, context: ExecutorContext): TypeScriptCompilationOptions;
6
5
  export declare function tscExecutor(_options: ExecutorOptions, context: ExecutorContext): AsyncGenerator<import("../../utils/typescript/compile-typescript-files").TypescriptCompilationResult, any, undefined>;
7
6
  export default tscExecutor;
@@ -1,51 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tscExecutor = exports.createTypeScriptCompilationOptions = exports.normalizeOptions = void 0;
3
+ exports.tscExecutor = exports.createTypeScriptCompilationOptions = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const assets_1 = require("../../utils/assets/assets");
6
- const path_1 = require("path");
7
5
  const copy_assets_handler_1 = require("../../utils/assets/copy-assets-handler");
8
6
  const check_dependencies_1 = require("../../utils/check-dependencies");
9
7
  const compiler_helper_dependency_1 = require("../../utils/compiler-helper-dependency");
10
8
  const inline_1 = require("../../utils/inline");
11
9
  const update_package_json_1 = require("../../utils/package-json/update-package-json");
12
10
  const compile_typescript_files_1 = require("../../utils/typescript/compile-typescript-files");
13
- const load_ts_transformers_1 = require("../../utils/typescript/load-ts-transformers");
14
11
  const watch_for_single_file_changes_1 = require("../../utils/watch-for-single-file-changes");
15
- function normalizeOptions(options, contextRoot, sourceRoot, projectRoot) {
16
- const outputPath = (0, path_1.join)(contextRoot, options.outputPath);
17
- const rootDir = options.rootDir
18
- ? (0, path_1.join)(contextRoot, options.rootDir)
19
- : projectRoot;
20
- if (options.watch == null) {
21
- options.watch = false;
22
- }
23
- // TODO: put back when inlining story is more stable
24
- // if (options.external == null) {
25
- // options.external = 'all';
26
- // } else if (Array.isArray(options.external) && options.external.length === 0) {
27
- // options.external = 'none';
28
- // }
29
- if (Array.isArray(options.external) && options.external.length > 0) {
30
- const firstItem = options.external[0];
31
- if (firstItem === 'all' || firstItem === 'none') {
32
- options.external = firstItem;
33
- }
34
- }
35
- const files = (0, assets_1.assetGlobsToFiles)(options.assets, contextRoot, outputPath);
36
- return Object.assign(Object.assign({}, options), { root: contextRoot, sourceRoot,
37
- projectRoot,
38
- files,
39
- outputPath, tsConfig: (0, path_1.join)(contextRoot, options.tsConfig), rootDir, mainOutputPath: (0, path_1.resolve)(outputPath, options.main.replace(`${projectRoot}/`, '').replace('.ts', '.js')) });
40
- }
41
- exports.normalizeOptions = normalizeOptions;
12
+ const lib_1 = require("./lib");
42
13
  function createTypeScriptCompilationOptions(normalizedOptions, context) {
43
- const { compilerPluginHooks } = (0, load_ts_transformers_1.loadTsTransformers)(normalizedOptions.transformers);
44
- const getCustomTransformers = (program) => ({
45
- before: compilerPluginHooks.beforeHooks.map((hook) => hook(program)),
46
- after: compilerPluginHooks.afterHooks.map((hook) => hook(program)),
47
- afterDeclarations: compilerPluginHooks.afterDeclarationsHooks.map((hook) => hook(program)),
48
- });
49
14
  return {
50
15
  outputPath: normalizedOptions.outputPath,
51
16
  projectName: context.projectName,
@@ -54,14 +19,14 @@ function createTypeScriptCompilationOptions(normalizedOptions, context) {
54
19
  tsConfig: normalizedOptions.tsConfig,
55
20
  watch: normalizedOptions.watch,
56
21
  deleteOutputPath: normalizedOptions.clean,
57
- getCustomTransformers,
22
+ getCustomTransformers: (0, lib_1.getCustomTrasformersFactory)(normalizedOptions.transformers),
58
23
  };
59
24
  }
60
25
  exports.createTypeScriptCompilationOptions = createTypeScriptCompilationOptions;
61
26
  function tscExecutor(_options, context) {
62
27
  return tslib_1.__asyncGenerator(this, arguments, function* tscExecutor_1() {
63
28
  const { sourceRoot, root } = context.projectsConfigurations.projects[context.projectName];
64
- const options = normalizeOptions(_options, context.root, sourceRoot, root);
29
+ const options = (0, lib_1.normalizeOptions)(_options, context.root, sourceRoot, root);
65
30
  const { projectRoot, tmpTsConfig, target, dependencies } = (0, check_dependencies_1.checkDependencies)(context, _options.tsConfig);
66
31
  if (tmpTsConfig) {
67
32
  options.tsConfig = tmpTsConfig;
@@ -103,4 +68,3 @@ function tscExecutor(_options, context) {
103
68
  }
104
69
  exports.tscExecutor = tscExecutor;
105
70
  exports.default = tscExecutor;
106
- //# sourceMappingURL=tsc.impl.js.map
@@ -3,4 +3,3 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const devkit_1 = require("@nx/devkit");
4
4
  const verdaccio_impl_1 = require("./verdaccio.impl");
5
5
  exports.default = (0, devkit_1.convertNxExecutor)(verdaccio_impl_1.verdaccioExecutor);
6
- //# sourceMappingURL=compat.js.map
@@ -7,5 +7,6 @@ import { VerdaccioExecutorSchema } from './schema';
7
7
  */
8
8
  export declare function verdaccioExecutor(options: VerdaccioExecutorSchema, context: ExecutorContext): Promise<{
9
9
  success: boolean;
10
+ port: number;
10
11
  }>;
11
12
  export default verdaccioExecutor;
@@ -5,6 +5,8 @@ const tslib_1 = require("tslib");
5
5
  const devkit_1 = require("@nx/devkit");
6
6
  const fs_extra_1 = require("fs-extra");
7
7
  const child_process_1 = require("child_process");
8
+ const detectPort = require("detect-port");
9
+ const path_1 = require("path");
8
10
  let childProcess;
9
11
  /**
10
12
  * - set npm and yarn to use local registry
@@ -36,16 +38,23 @@ function verdaccioExecutor(options, context) {
36
38
  process.on('SIGINT', processExitListener);
37
39
  process.on('SIGHUP', processExitListener);
38
40
  try {
39
- yield startVerdaccio(options);
41
+ const port = yield detectPort(options.port);
42
+ if (port === options.port) {
43
+ devkit_1.logger.info(`Port ${options.port} was occupied. Using port ${port}.`);
44
+ options.port = port;
45
+ }
46
+ yield startVerdaccio(options, context.root);
40
47
  }
41
48
  catch (e) {
42
- devkit_1.logger.error('Failed to start verdaccio: ' + e.toString());
49
+ devkit_1.logger.error('Failed to start verdaccio: ' + (e === null || e === void 0 ? void 0 : e.toString()));
43
50
  return {
44
51
  success: false,
52
+ port: options.port,
45
53
  };
46
54
  }
47
55
  return {
48
56
  success: true,
57
+ port: options.port,
49
58
  };
50
59
  });
51
60
  }
@@ -53,10 +62,12 @@ exports.verdaccioExecutor = verdaccioExecutor;
53
62
  /**
54
63
  * Fork the verdaccio process: https://verdaccio.org/docs/verdaccio-programmatically/#using-fork-from-child_process-module
55
64
  */
56
- function startVerdaccio(options) {
65
+ function startVerdaccio(options, workspaceRoot) {
57
66
  return new Promise((resolve, reject) => {
58
- childProcess = (0, child_process_1.fork)(require.resolve('verdaccio/bin/verdaccio'), createVerdaccioOptions(options), {
59
- env: Object.assign(Object.assign({}, process.env), { VERDACCIO_HANDLE_KILL_SIGNALS: 'true' }),
67
+ childProcess = (0, child_process_1.fork)(require.resolve('verdaccio/bin/verdaccio'), createVerdaccioOptions(options, workspaceRoot), {
68
+ env: Object.assign(Object.assign(Object.assign({}, process.env), { VERDACCIO_HANDLE_KILL_SIGNALS: 'true' }), (options.storage
69
+ ? { VERDACCIO_STORAGE_PATH: options.storage }
70
+ : {})),
60
71
  stdio: ['inherit', 'pipe', 'pipe', 'ipc'],
61
72
  });
62
73
  childProcess.stdout.on('data', (data) => {
@@ -87,13 +98,13 @@ function startVerdaccio(options) {
87
98
  });
88
99
  });
89
100
  }
90
- function createVerdaccioOptions(options) {
101
+ function createVerdaccioOptions(options, workspaceRoot) {
91
102
  const verdaccioArgs = [];
92
103
  if (options.port) {
93
104
  verdaccioArgs.push('--listen', options.port.toString());
94
105
  }
95
106
  if (options.config) {
96
- verdaccioArgs.push('--config', options.config);
107
+ verdaccioArgs.push('--config', (0, path_1.join)(workspaceRoot, options.config));
97
108
  }
98
109
  return verdaccioArgs;
99
110
  }
@@ -164,4 +175,3 @@ function setupYarn(options) {
164
175
  };
165
176
  }
166
177
  exports.default = verdaccioExecutor;
167
- //# sourceMappingURL=verdaccio.impl.js.map
@@ -61,4 +61,3 @@ function checkSwcDependencies(tree, projectConfiguration) {
61
61
  }
62
62
  exports.default = convertToSwcGenerator;
63
63
  exports.convertToSwcSchematic = (0, devkit_1.convertNxGenerator)(convertToSwcGenerator);
64
- //# sourceMappingURL=convert-to-swc.js.map
@@ -112,4 +112,3 @@ function initGenerator(tree, schema) {
112
112
  exports.initGenerator = initGenerator;
113
113
  exports.default = initGenerator;
114
114
  exports.initSchematic = (0, devkit_1.convertNxGenerator)(initGenerator);
115
- //# sourceMappingURL=init.js.map
@@ -47,9 +47,6 @@ function projectGenerator(tree, schema, destinationDir, filesDir) {
47
47
  });
48
48
  tasks.push(viteTask);
49
49
  }
50
- if (options.bundler === 'rollup') {
51
- ensureBabelRootConfigExists(tree);
52
- }
53
50
  if (options.linter !== 'none') {
54
51
  const lintCallback = yield addLint(tree, options);
55
52
  tasks.push(lintCallback);
@@ -384,13 +381,6 @@ function getBuildExecutor(bundler) {
384
381
  return undefined;
385
382
  }
386
383
  }
387
- function ensureBabelRootConfigExists(tree) {
388
- if (tree.exists('babel.config.json'))
389
- return;
390
- (0, devkit_1.writeJson)(tree, 'babel.config.json', {
391
- babelrcRoots: ['*'],
392
- });
393
- }
394
384
  function getOutputPath(options, destinationDir) {
395
385
  const parts = ['dist'];
396
386
  if (destinationDir) {
@@ -422,4 +412,3 @@ function createProjectTsConfigJson(tree, options) {
422
412
  }
423
413
  exports.default = libraryGenerator;
424
414
  exports.librarySchematic = (0, devkit_1.convertNxGenerator)(libraryGenerator);
425
- //# sourceMappingURL=library.js.map
@@ -48,4 +48,3 @@ function setupVerdaccio(tree, options) {
48
48
  exports.setupVerdaccio = setupVerdaccio;
49
49
  exports.default = setupVerdaccio;
50
50
  exports.setupVerdaccioSchematic = (0, devkit_1.convertNxGenerator)(setupVerdaccio);
51
- //# sourceMappingURL=generator.js.map
package/src/index.js CHANGED
@@ -24,4 +24,3 @@ Object.defineProperty(exports, "getLockFileName", { enumerable: true, get: funct
24
24
  // eslint-disable-next-line @typescript-eslint/no-restricted-imports
25
25
  var create_package_json_1 = require("nx/src/plugins/js/package-json/create-package-json");
26
26
  Object.defineProperty(exports, "createPackageJson", { enumerable: true, get: function () { return create_package_json_1.createPackageJson; } });
27
- //# sourceMappingURL=index.js.map
package/src/internal.js CHANGED
@@ -10,4 +10,3 @@ Object.defineProperty(exports, "registerTsConfigPaths", { enumerable: true, get:
10
10
  // eslint-disable-next-line @typescript-eslint/no-restricted-imports
11
11
  var target_project_locator_1 = require("nx/src/plugins/js/project-graph/build-dependencies/target-project-locator");
12
12
  Object.defineProperty(exports, "TargetProjectLocator", { enumerable: true, get: function () { return target_project_locator_1.TargetProjectLocator; } });
13
- //# sourceMappingURL=internal.js.map
@@ -29,4 +29,3 @@ function updateSwcRcExclude(tree) {
29
29
  });
30
30
  }
31
31
  exports.default = updateSwcRcExclude;
32
- //# sourceMappingURL=update-lib-swcrc-exclude.js.map
@@ -25,4 +25,3 @@ function update(host) {
25
25
  });
26
26
  }
27
27
  exports.default = update;
28
- //# sourceMappingURL=update-node-executor.js.map
@@ -32,4 +32,3 @@ function update(host) {
32
32
  });
33
33
  }
34
34
  exports.default = update;
35
- //# sourceMappingURL=update-swcrc.js.map
@@ -24,4 +24,3 @@ function excludeJestConfigSwcrc(tree) {
24
24
  }
25
25
  exports.excludeJestConfigSwcrc = excludeJestConfigSwcrc;
26
26
  exports.default = excludeJestConfigSwcrc;
27
- //# sourceMappingURL=exclude-jest-config-swcrc.js.map
@@ -27,4 +27,3 @@ function updateSwcrcPath(tree) {
27
27
  }
28
28
  exports.updateSwcrcPath = updateSwcrcPath;
29
29
  exports.default = updateSwcrcPath;
30
- //# sourceMappingURL=update-swcrc-path.js.map
@@ -78,4 +78,3 @@ ${node.getFullText()}
78
78
  });
79
79
  }
80
80
  exports.default = default_1;
81
- //# sourceMappingURL=rename-swcrc-config.js.map
@@ -10,4 +10,3 @@ function replacePackage(tree) {
10
10
  });
11
11
  }
12
12
  exports.default = replacePackage;
13
- //# sourceMappingURL=update-16-0-0-add-nx-packages.js.map
@@ -1,2 +1,3 @@
1
1
  import { Tree } from '@nx/devkit';
2
+ /** @deprecated Do not use this function as the root babel.config.json file is no longer needed */
2
3
  export declare function addBabelInputs(tree: Tree): void;
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addBabelInputs = void 0;
4
4
  const devkit_1 = require("@nx/devkit");
5
+ /** @deprecated Do not use this function as the root babel.config.json file is no longer needed */
6
+ // TODO(jack): Remove This in Nx 17 once we don't need to support Nx 15 anymore. Currently this function is used in v15 migrations.
5
7
  function addBabelInputs(tree) {
6
8
  var _a;
7
9
  const nxJson = (0, devkit_1.readNxJson)(tree);
@@ -20,4 +22,3 @@ function addBabelInputs(tree) {
20
22
  (0, devkit_1.updateNxJson)(tree, nxJson);
21
23
  }
22
24
  exports.addBabelInputs = addBabelInputs;
23
- //# sourceMappingURL=add-babel-inputs.js.map
@@ -35,4 +35,3 @@ function assetGlobsToFiles(assets, rootDir, outDir) {
35
35
  return files;
36
36
  }
37
37
  exports.assetGlobsToFiles = assetGlobsToFiles;
38
- //# sourceMappingURL=assets.js.map
@@ -1,4 +1,5 @@
1
1
  import { AssetGlob } from './assets';
2
+ import { ChangedFile } from 'nx/src/daemon/client/client';
2
3
  export type FileEventType = 'create' | 'update' | 'delete';
3
4
  export interface FileEvent {
4
5
  type: FileEventType;
@@ -22,7 +23,10 @@ export declare class CopyAssetsHandler {
22
23
  private readonly callback;
23
24
  constructor(opts: CopyAssetHandlerOptions);
24
25
  processAllAssetsOnce(): Promise<void>;
26
+ processAllAssetsOnceSync(): void;
25
27
  watchAndProcessOnAssetChange(): Promise<() => void>;
26
- private processEvents;
28
+ processWatchEvents(events: ChangedFile[]): Promise<void>;
29
+ private filesToEvent;
30
+ private normalizeAssetPattern;
27
31
  }
28
32
  export {};
@@ -74,35 +74,27 @@ class CopyAssetsHandler {
74
74
  processAllAssetsOnce() {
75
75
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
76
76
  yield Promise.all(this.assetGlobs.map((ag) => tslib_1.__awaiter(this, void 0, void 0, function* () {
77
- let pattern;
78
- if (typeof ag === 'string') {
79
- pattern = ag;
80
- }
81
- else {
82
- pattern = ag.pattern;
83
- }
77
+ const pattern = this.normalizeAssetPattern(ag);
84
78
  // fast-glob only supports Unix paths
85
79
  const files = yield fg(pattern.replace(/\\/g, '/'), {
86
80
  cwd: this.rootDir,
87
81
  dot: true, // enable hidden files
88
82
  });
89
- this.callback(files.reduce((acc, src) => {
90
- var _a;
91
- if (!((_a = ag.ignore) === null || _a === void 0 ? void 0 : _a.some((ig) => minimatch(src, ig))) &&
92
- !this.ignore.ignores(src)) {
93
- const relPath = path.relative(ag.input, src);
94
- const dest = relPath.startsWith('..') ? src : relPath;
95
- acc.push({
96
- type: 'create',
97
- src: path.join(this.rootDir, src),
98
- dest: path.join(this.rootDir, ag.output, dest),
99
- });
100
- }
101
- return acc;
102
- }, []));
83
+ this.callback(this.filesToEvent(files, ag));
103
84
  })));
104
85
  });
105
86
  }
87
+ processAllAssetsOnceSync() {
88
+ this.assetGlobs.forEach((ag) => {
89
+ const pattern = this.normalizeAssetPattern(ag);
90
+ // fast-glob only supports Unix paths
91
+ const files = fg.sync(pattern.replace(/\\/g, '/'), {
92
+ cwd: this.rootDir,
93
+ dot: true, // enable hidden files
94
+ });
95
+ this.callback(this.filesToEvent(files, ag));
96
+ });
97
+ }
106
98
  watchAndProcessOnAssetChange() {
107
99
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
108
100
  const unregisterFileWatcher = yield client_1.daemonClient.registerFileWatcher({
@@ -118,13 +110,13 @@ class CopyAssetsHandler {
118
110
  devkit_1.logger.error(`Watch error: ${(_a = err === null || err === void 0 ? void 0 : err.message) !== null && _a !== void 0 ? _a : 'Unknown'}`);
119
111
  }
120
112
  else {
121
- this.processEvents(data.changedFiles);
113
+ this.processWatchEvents(data.changedFiles);
122
114
  }
123
115
  });
124
116
  return () => unregisterFileWatcher();
125
117
  });
126
118
  }
127
- processEvents(events) {
119
+ processWatchEvents(events) {
128
120
  var _a;
129
121
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
130
122
  const fileEvents = [];
@@ -150,6 +142,24 @@ class CopyAssetsHandler {
150
142
  this.callback(fileEvents);
151
143
  });
152
144
  }
145
+ filesToEvent(files, assetGlob) {
146
+ return files.reduce((acc, src) => {
147
+ var _a;
148
+ if (!((_a = assetGlob.ignore) === null || _a === void 0 ? void 0 : _a.some((ig) => minimatch(src, ig))) &&
149
+ !this.ignore.ignores(src)) {
150
+ const relPath = path.relative(assetGlob.input, src);
151
+ const dest = relPath.startsWith('..') ? src : relPath;
152
+ acc.push({
153
+ type: 'create',
154
+ src: path.join(this.rootDir, src),
155
+ dest: path.join(this.rootDir, assetGlob.output, dest),
156
+ });
157
+ }
158
+ return acc;
159
+ }, []);
160
+ }
161
+ normalizeAssetPattern(assetEntry) {
162
+ return typeof assetEntry === 'string' ? assetEntry : assetEntry.pattern;
163
+ }
153
164
  }
154
165
  exports.CopyAssetsHandler = CopyAssetsHandler;
155
- //# sourceMappingURL=copy-assets-handler.js.map
@@ -28,4 +28,3 @@ function copyAssets(options, context) {
28
28
  });
29
29
  }
30
30
  exports.copyAssets = copyAssets;
31
- //# sourceMappingURL=index.js.map
@@ -281,4 +281,3 @@ function hasDependency(outputJson, depConfigName, packageName) {
281
281
  return false;
282
282
  }
283
283
  }
284
- //# sourceMappingURL=buildable-libs-utils.js.map
@@ -21,4 +21,3 @@ function checkDependencies(context, tsConfigPath) {
21
21
  };
22
22
  }
23
23
  exports.checkDependencies = checkDependencies;
24
- //# sourceMappingURL=check-dependencies.js.map
@@ -84,4 +84,3 @@ function highlight(code) {
84
84
  return highlightTokens(defs, code);
85
85
  }
86
86
  exports.highlight = highlight;
87
- //# sourceMappingURL=highlight.js.map
@@ -50,4 +50,3 @@ function isKeyword(word) {
50
50
  return keywords.has(word);
51
51
  }
52
52
  exports.isKeyword = isKeyword;
53
- //# sourceMappingURL=identifiers.js.map
@@ -108,4 +108,3 @@ function getHelperDependenciesFromProjectGraph(contextRoot, sourceProject, proje
108
108
  }, []);
109
109
  }
110
110
  exports.getHelperDependenciesFromProjectGraph = getHelperDependenciesFromProjectGraph;
111
- //# sourceMappingURL=compiler-helper-dependency.js.map
@@ -78,4 +78,3 @@ due to missing "sourceRoot" in the dependencies' project configuration
78
78
  }
79
79
  }
80
80
  exports.createGlobPatternsForDependencies = createGlobPatternsForDependencies;
81
- //# sourceMappingURL=generate-globs.js.map