@nx/js 16.8.0-beta.4 → 16.8.0-beta.6

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 (46) 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/swc/swc.impl.js +82 -70
  6. package/src/executors/tsc/lib/batch/build-task-info-per-tsconfig-map.js +7 -4
  7. package/src/executors/tsc/lib/batch/watch.js +42 -49
  8. package/src/executors/tsc/lib/get-task-options.js +8 -6
  9. package/src/executors/tsc/lib/get-tsconfig.js +16 -5
  10. package/src/executors/tsc/lib/normalize-options.js +9 -2
  11. package/src/executors/tsc/lib/typescript-compilation.js +21 -24
  12. package/src/executors/tsc/tsc.batch-impl.js +133 -132
  13. package/src/executors/tsc/tsc.impl.js +54 -50
  14. package/src/executors/verdaccio/verdaccio.impl.js +64 -55
  15. package/src/generators/convert-to-swc/convert-to-swc.js +6 -9
  16. package/src/generators/init/init.js +86 -92
  17. package/src/generators/library/library.js +289 -245
  18. package/src/generators/setup-build/generator.js +119 -123
  19. package/src/generators/setup-verdaccio/generator.js +45 -50
  20. package/src/migrations/update-13-8-5/update-node-executor.js +17 -21
  21. package/src/migrations/update-13-8-5/update-swcrc.js +23 -27
  22. package/src/migrations/update-14-1-5/update-swcrc-path.js +17 -20
  23. package/src/migrations/update-15-8-0/rename-swcrc-config.js +57 -60
  24. package/src/migrations/update-16-0-0-add-nx-packages/update-16-0-0-add-nx-packages.js +3 -6
  25. package/src/migrations/update-16-6-0/explicitly-set-projects-to-update-buildable-deps.js +19 -24
  26. package/src/plugins/jest/start-local-registry.js +4 -6
  27. package/src/plugins/rollup/type-definitions.js +21 -24
  28. package/src/utils/add-babel-inputs.js +1 -2
  29. package/src/utils/assets/assets.js +1 -2
  30. package/src/utils/assets/copy-assets-handler.js +48 -59
  31. package/src/utils/assets/index.js +20 -23
  32. package/src/utils/buildable-libs-utils.js +9 -13
  33. package/src/utils/find-npm-dependencies.js +9 -11
  34. package/src/utils/generate-globs.js +3 -3
  35. package/src/utils/inline.js +5 -10
  36. package/src/utils/package-json/get-npm-scope.js +2 -2
  37. package/src/utils/package-json/index.js +22 -25
  38. package/src/utils/package-json/update-package-json.js +23 -21
  39. package/src/utils/prettier.js +21 -24
  40. package/src/utils/swc/compile-swc.js +101 -106
  41. package/src/utils/typescript/compile-typescript-files.js +7 -8
  42. package/src/utils/typescript/print-diagnostics.js +13 -16
  43. package/src/utils/typescript/run-type-check.js +62 -59
  44. package/src/utils/typescript/ts-config.js +3 -5
  45. package/src/utils/typescript/tsnode-register.js +1 -1
  46. package/src/utils/watch-for-single-file-changes.js +13 -17
@@ -1,23 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.convertToSwcSchematic = exports.convertToSwcGenerator = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  const path_1 = require("path");
7
6
  const add_swc_config_1 = require("../../utils/swc/add-swc-config");
8
7
  const add_swc_dependencies_1 = require("../../utils/swc/add-swc-dependencies");
9
8
  const versions_1 = require("../../utils/versions");
10
- function convertToSwcGenerator(tree, schema) {
11
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
- const options = normalizeOptions(schema);
13
- const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, options.project);
14
- updateProjectBuildTargets(tree, projectConfiguration, options.project, options.targets);
15
- return checkSwcDependencies(tree, projectConfiguration);
16
- });
9
+ async function convertToSwcGenerator(tree, schema) {
10
+ const options = normalizeOptions(schema);
11
+ const projectConfiguration = (0, devkit_1.readProjectConfiguration)(tree, options.project);
12
+ updateProjectBuildTargets(tree, projectConfiguration, options.project, options.targets);
13
+ return checkSwcDependencies(tree, projectConfiguration);
17
14
  }
18
15
  exports.convertToSwcGenerator = convertToSwcGenerator;
19
16
  function normalizeOptions(schema) {
20
- const options = Object.assign({}, schema);
17
+ const options = { ...schema };
21
18
  if (!options.targets) {
22
19
  options.targets = ['build'];
23
20
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initSchematic = exports.initGenerator = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const devkit_1 = require("@nx/devkit");
6
5
  const semver_1 = require("@nx/devkit/src/utils/semver");
7
6
  const package_json_1 = require("nx/src/utils/package-json");
@@ -9,106 +8,101 @@ const semver_2 = require("semver");
9
8
  const ts_config_1 = require("../../utils/typescript/ts-config");
10
9
  const versions_1 = require("../../utils/versions");
11
10
  const path_1 = require("path");
12
- function getInstalledTypescriptVersion(tree) {
13
- var _a, _b, _c, _d, _e, _f;
14
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
15
- const rootPackageJson = (0, devkit_1.readJson)(tree, 'package.json');
16
- const tsVersionInRootPackageJson = (_b = (_a = rootPackageJson.devDependencies) === null || _a === void 0 ? void 0 : _a['typescript']) !== null && _b !== void 0 ? _b : (_c = rootPackageJson.dependencies) === null || _c === void 0 ? void 0 : _c['typescript'];
17
- if (!tsVersionInRootPackageJson) {
18
- return null;
11
+ async function getInstalledTypescriptVersion(tree) {
12
+ const rootPackageJson = (0, devkit_1.readJson)(tree, 'package.json');
13
+ const tsVersionInRootPackageJson = rootPackageJson.devDependencies?.['typescript'] ??
14
+ rootPackageJson.dependencies?.['typescript'];
15
+ if (!tsVersionInRootPackageJson) {
16
+ return null;
17
+ }
18
+ if ((0, semver_2.valid)(tsVersionInRootPackageJson)) {
19
+ // it's a pinned version, return it
20
+ return tsVersionInRootPackageJson;
21
+ }
22
+ // it's a version range, check whether the installed version matches it
23
+ try {
24
+ const tsPackageJson = (0, package_json_1.readModulePackageJson)('typescript').packageJson;
25
+ const installedTsVersion = tsPackageJson.devDependencies?.['typescript'] ??
26
+ tsPackageJson.dependencies?.['typescript'];
27
+ // the installed version matches the package.json version range
28
+ if (installedTsVersion &&
29
+ (0, semver_2.satisfies)(installedTsVersion, tsVersionInRootPackageJson)) {
30
+ return installedTsVersion;
19
31
  }
20
- if ((0, semver_2.valid)(tsVersionInRootPackageJson)) {
21
- // it's a pinned version, return it
22
- return tsVersionInRootPackageJson;
23
- }
24
- // it's a version range, check whether the installed version matches it
25
- try {
26
- const tsPackageJson = (0, package_json_1.readModulePackageJson)('typescript').packageJson;
27
- const installedTsVersion = (_e = (_d = tsPackageJson.devDependencies) === null || _d === void 0 ? void 0 : _d['typescript']) !== null && _e !== void 0 ? _e : (_f = tsPackageJson.dependencies) === null || _f === void 0 ? void 0 : _f['typescript'];
28
- // the installed version matches the package.json version range
29
- if (installedTsVersion &&
30
- (0, semver_2.satisfies)(installedTsVersion, tsVersionInRootPackageJson)) {
31
- return installedTsVersion;
32
- }
33
- }
34
- finally {
35
- return (0, semver_1.checkAndCleanWithSemver)('typescript', tsVersionInRootPackageJson);
36
- }
37
- });
32
+ }
33
+ finally {
34
+ return (0, semver_1.checkAndCleanWithSemver)('typescript', tsVersionInRootPackageJson);
35
+ }
38
36
  }
39
- function initGenerator(tree, schema) {
40
- var _a;
41
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
42
- const tasks = [];
43
- // add tsconfig.base.json
44
- if (!(0, ts_config_1.getRootTsConfigFileName)(tree)) {
45
- (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, './files'), '.', {
46
- fileName: (_a = schema.tsConfigName) !== null && _a !== void 0 ? _a : 'tsconfig.base.json',
47
- });
48
- }
49
- const devDependencies = {
50
- '@nx/js': versions_1.nxVersion,
51
- prettier: versions_1.prettierVersion,
52
- };
53
- if (!schema.js) {
54
- const installedTsVersion = yield getInstalledTypescriptVersion(tree);
55
- if (!installedTsVersion ||
56
- !(0, semver_2.satisfies)(installedTsVersion, versions_1.supportedTypescriptVersions, {
57
- includePrerelease: true,
58
- })) {
59
- devDependencies['typescript'] = versions_1.typescriptVersion;
60
- }
61
- }
62
- // https://prettier.io/docs/en/configuration.html
63
- const prettierrcNameOptions = [
64
- '.prettierrc',
65
- '.prettierrc.json',
66
- '.prettierrc.yml',
67
- '.prettierrc.yaml',
68
- '.prettierrc.json5',
69
- '.prettierrc.js',
70
- '.prettierrc.cjs',
71
- 'prettier.config.js',
72
- 'prettier.config.cjs',
73
- '.prettierrc.toml',
74
- ];
75
- if (prettierrcNameOptions.every((name) => !tree.exists(name))) {
76
- (0, devkit_1.writeJson)(tree, '.prettierrc', {
77
- singleQuote: true,
78
- });
37
+ async function initGenerator(tree, schema) {
38
+ const tasks = [];
39
+ // add tsconfig.base.json
40
+ if (!(0, ts_config_1.getRootTsConfigFileName)(tree)) {
41
+ (0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, './files'), '.', {
42
+ fileName: schema.tsConfigName ?? 'tsconfig.base.json',
43
+ });
44
+ }
45
+ const devDependencies = {
46
+ '@nx/js': versions_1.nxVersion,
47
+ prettier: versions_1.prettierVersion,
48
+ };
49
+ if (!schema.js) {
50
+ const installedTsVersion = await getInstalledTypescriptVersion(tree);
51
+ if (!installedTsVersion ||
52
+ !(0, semver_2.satisfies)(installedTsVersion, versions_1.supportedTypescriptVersions, {
53
+ includePrerelease: true,
54
+ })) {
55
+ devDependencies['typescript'] = versions_1.typescriptVersion;
79
56
  }
80
- if (!tree.exists(`.prettierignore`)) {
81
- tree.write('.prettierignore', (0, devkit_1.stripIndents) `
57
+ }
58
+ // https://prettier.io/docs/en/configuration.html
59
+ const prettierrcNameOptions = [
60
+ '.prettierrc',
61
+ '.prettierrc.json',
62
+ '.prettierrc.yml',
63
+ '.prettierrc.yaml',
64
+ '.prettierrc.json5',
65
+ '.prettierrc.js',
66
+ '.prettierrc.cjs',
67
+ 'prettier.config.js',
68
+ 'prettier.config.cjs',
69
+ '.prettierrc.toml',
70
+ ];
71
+ if (prettierrcNameOptions.every((name) => !tree.exists(name))) {
72
+ (0, devkit_1.writeJson)(tree, '.prettierrc', {
73
+ singleQuote: true,
74
+ });
75
+ }
76
+ if (!tree.exists(`.prettierignore`)) {
77
+ tree.write('.prettierignore', (0, devkit_1.stripIndents) `
82
78
  # Add files here to ignore them from prettier formatting
83
79
  /dist
84
80
  /coverage
85
81
  `);
86
- }
87
- if (tree.exists('.vscode/extensions.json')) {
88
- (0, devkit_1.updateJson)(tree, '.vscode/extensions.json', (json) => {
89
- var _a;
90
- (_a = json.recommendations) !== null && _a !== void 0 ? _a : (json.recommendations = []);
91
- const extension = 'esbenp.prettier-vscode';
92
- if (!json.recommendations.includes(extension)) {
93
- json.recommendations.push(extension);
94
- }
95
- return json;
96
- });
97
- }
98
- const installTask = !schema.skipPackageJson
99
- ? (0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDependencies)
100
- : () => { };
101
- tasks.push(installTask);
102
- (0, devkit_1.ensurePackage)('prettier', versions_1.prettierVersion);
103
- if (!schema.skipFormat) {
104
- yield (0, devkit_1.formatFiles)(tree);
105
- }
106
- return () => tslib_1.__awaiter(this, void 0, void 0, function* () {
107
- for (const task of tasks) {
108
- yield task();
82
+ }
83
+ if (tree.exists('.vscode/extensions.json')) {
84
+ (0, devkit_1.updateJson)(tree, '.vscode/extensions.json', (json) => {
85
+ json.recommendations ??= [];
86
+ const extension = 'esbenp.prettier-vscode';
87
+ if (!json.recommendations.includes(extension)) {
88
+ json.recommendations.push(extension);
109
89
  }
90
+ return json;
110
91
  });
111
- });
92
+ }
93
+ const installTask = !schema.skipPackageJson
94
+ ? (0, devkit_1.addDependenciesToPackageJson)(tree, {}, devDependencies)
95
+ : () => { };
96
+ tasks.push(installTask);
97
+ (0, devkit_1.ensurePackage)('prettier', versions_1.prettierVersion);
98
+ if (!schema.skipFormat) {
99
+ await (0, devkit_1.formatFiles)(tree);
100
+ }
101
+ return async () => {
102
+ for (const task of tasks) {
103
+ await task();
104
+ }
105
+ };
112
106
  }
113
107
  exports.initGenerator = initGenerator;
114
108
  exports.default = initGenerator;