@nrwl/js 14.8.8 → 14.9.0-beta.1

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 (129) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/LICENSE +22 -22
  3. package/README.md +5 -26
  4. package/babel.d.ts +10 -0
  5. package/babel.js +89 -0
  6. package/babel.js.map +1 -0
  7. package/generators.json +4 -2
  8. package/migrations.json +20 -1
  9. package/package.json +19 -10
  10. package/src/executors/node/node.impl.js +36 -28
  11. package/src/executors/node/node.impl.js.map +1 -1
  12. package/src/executors/node/schema.json +3 -1
  13. package/src/executors/swc/schema.json +39 -5
  14. package/src/executors/swc/swc.impl.d.ts +4 -0
  15. package/src/executors/swc/swc.impl.js +56 -6
  16. package/src/executors/swc/swc.impl.js.map +1 -1
  17. package/src/executors/tsc/schema.json +36 -3
  18. package/src/executors/tsc/tsc.impl.d.ts +2 -5
  19. package/src/executors/tsc/tsc.impl.js +35 -13
  20. package/src/executors/tsc/tsc.impl.js.map +1 -1
  21. package/src/generators/convert-to-swc/convert-to-swc.js +2 -4
  22. package/src/generators/convert-to-swc/convert-to-swc.js.map +1 -1
  23. package/src/generators/init/files/__fileName__ +20 -0
  24. package/src/generators/init/init.d.ts +4 -2
  25. package/src/generators/init/init.js +59 -2
  26. package/src/generators/init/init.js.map +1 -1
  27. package/src/generators/init/schema.d.ts +6 -0
  28. package/src/generators/init/schema.json +24 -1
  29. package/src/generators/library/files/jest-config/jest.config.__ext__ +8 -1
  30. package/src/generators/library/files/lib/tsconfig.lib.json__tmpl__ +2 -2
  31. package/src/generators/library/library.js +136 -85
  32. package/src/generators/library/library.js.map +1 -1
  33. package/src/generators/library/schema.json +29 -19
  34. package/src/index.d.ts +8 -0
  35. package/src/index.js +12 -1
  36. package/src/index.js.map +1 -1
  37. package/src/migrations/update-13-10-1/update-lib-swcrc-exclude.js +1 -1
  38. package/src/migrations/update-13-10-1/update-lib-swcrc-exclude.js.map +1 -1
  39. package/src/migrations/update-13-8-5/update-swcrc.js +2 -2
  40. package/src/migrations/update-13-8-5/update-swcrc.js.map +1 -1
  41. package/src/migrations/update-14-0-0/exclude-jest-config-swcrc.js +1 -1
  42. package/src/migrations/update-14-0-0/exclude-jest-config-swcrc.js.map +1 -1
  43. package/src/migrations/update-14-1-5/update-swcrc-path.js +1 -1
  44. package/src/migrations/update-14-1-5/update-swcrc-path.js.map +1 -1
  45. package/src/migrations/update-15-8-0/rename-swcrc-config.d.ts +2 -0
  46. package/src/migrations/update-15-8-0/rename-swcrc-config.js +81 -0
  47. package/src/migrations/update-15-8-0/rename-swcrc-config.js.map +1 -0
  48. package/src/utils/add-babel-inputs.d.ts +2 -0
  49. package/src/utils/add-babel-inputs.js +27 -0
  50. package/src/utils/add-babel-inputs.js.map +1 -0
  51. package/src/utils/assets/copy-assets-handler.d.ts +2 -2
  52. package/src/utils/assets/copy-assets-handler.js +12 -5
  53. package/src/utils/assets/copy-assets-handler.js.map +1 -1
  54. package/src/utils/assets/index.js +11 -14
  55. package/src/utils/assets/index.js.map +1 -1
  56. package/src/utils/buildable-libs-utils.d.ts +32 -0
  57. package/src/utils/buildable-libs-utils.js +309 -0
  58. package/src/utils/buildable-libs-utils.js.map +1 -0
  59. package/src/utils/check-dependencies.d.ts +2 -2
  60. package/src/utils/check-dependencies.js +1 -1
  61. package/src/utils/check-dependencies.js.map +1 -1
  62. package/src/utils/code-frames/identifiers.d.ts +0 -20
  63. package/src/utils/code-frames/identifiers.js +38 -184
  64. package/src/utils/code-frames/identifiers.js.map +1 -1
  65. package/src/utils/compiler-helper-dependency.d.ts +1 -1
  66. package/src/utils/compiler-helper-dependency.js +2 -2
  67. package/src/utils/compiler-helper-dependency.js.map +1 -1
  68. package/src/utils/generate-globs.d.ts +6 -0
  69. package/src/utils/generate-globs.js +81 -0
  70. package/src/utils/generate-globs.js.map +1 -0
  71. package/src/utils/inline.d.ts +19 -0
  72. package/src/utils/inline.js +210 -0
  73. package/src/utils/inline.js.map +1 -0
  74. package/src/utils/package-json/index.d.ts +2 -1
  75. package/src/utils/package-json/index.js +6 -5
  76. package/src/utils/package-json/index.js.map +1 -1
  77. package/src/utils/package-json/update-package-json.d.ts +4 -2
  78. package/src/utils/package-json/update-package-json.js +96 -16
  79. package/src/utils/package-json/update-package-json.js.map +1 -1
  80. package/src/utils/prettier.d.ts +6 -0
  81. package/src/utils/prettier.js +38 -0
  82. package/src/utils/prettier.js.map +1 -0
  83. package/src/utils/schema.d.ts +8 -3
  84. package/src/utils/swc/add-swc-config.d.ts +1 -1
  85. package/src/utils/swc/add-swc-config.js +7 -7
  86. package/src/utils/swc/add-swc-config.js.map +1 -1
  87. package/src/utils/swc/compile-swc.d.ts +4 -0
  88. package/src/utils/swc/compile-swc.js +10 -7
  89. package/src/utils/swc/compile-swc.js.map +1 -1
  90. package/src/utils/swc/get-swcrc-path.d.ts +1 -1
  91. package/src/utils/swc/get-swcrc-path.js +7 -4
  92. package/src/utils/swc/get-swcrc-path.js.map +1 -1
  93. package/src/utils/swc/inline.d.ts +2 -0
  94. package/src/utils/swc/inline.js +13 -0
  95. package/src/utils/swc/inline.js.map +1 -0
  96. package/src/utils/typescript/ast-utils.d.ts +22 -0
  97. package/src/utils/typescript/ast-utils.js +199 -0
  98. package/src/utils/typescript/ast-utils.js.map +1 -0
  99. package/src/utils/typescript/compile-typescript-files.d.ts +6 -2
  100. package/src/utils/typescript/compile-typescript-files.js +16 -10
  101. package/src/utils/typescript/compile-typescript-files.js.map +1 -1
  102. package/src/utils/typescript/create-ts-config.d.ts +17 -0
  103. package/src/utils/typescript/create-ts-config.js +48 -0
  104. package/src/utils/typescript/create-ts-config.js.map +1 -0
  105. package/src/utils/typescript/ensure-typescript.d.ts +1 -0
  106. package/src/utils/typescript/ensure-typescript.js +10 -0
  107. package/src/utils/typescript/ensure-typescript.js.map +1 -0
  108. package/src/utils/typescript/get-source-nodes.d.ts +2 -0
  109. package/src/utils/typescript/get-source-nodes.js +19 -0
  110. package/src/utils/typescript/get-source-nodes.js.map +1 -0
  111. package/src/utils/typescript/run-type-check.d.ts +2 -2
  112. package/src/utils/typescript/run-type-check.js +7 -5
  113. package/src/utils/typescript/run-type-check.js.map +1 -1
  114. package/src/utils/typescript/ts-config.d.ts +11 -0
  115. package/src/utils/typescript/ts-config.js +55 -0
  116. package/src/utils/typescript/ts-config.js.map +1 -0
  117. package/src/utils/typescript/types.d.ts +2 -2
  118. package/src/utils/versions.d.ts +4 -2
  119. package/src/utils/versions.js +5 -3
  120. package/src/utils/versions.js.map +1 -1
  121. package/src/utils/watch-for-single-file-changes.d.ts +1 -1
  122. package/src/utils/watch-for-single-file-changes.js +11 -13
  123. package/src/utils/watch-for-single-file-changes.js.map +1 -1
  124. package/src/utils/code-frames/code-frames.d.ts +0 -14
  125. package/src/utils/code-frames/code-frames.js +0 -125
  126. package/src/utils/code-frames/code-frames.js.map +0 -1
  127. package/src/utils/create-async-iterable/create-async-iteratable.d.ts +0 -6
  128. package/src/utils/create-async-iterable/create-async-iteratable.js +0 -62
  129. package/src/utils/create-async-iterable/create-async-iteratable.js.map +0 -1
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRootTsConfigPath = exports.postProcessInlinedDependencies = exports.handleInliningBuild = exports.isInlineGraphEmpty = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ const fs_extra_1 = require("fs-extra");
6
+ const path_1 = require("path");
7
+ const fs_1 = require("fs");
8
+ function isInlineGraphEmpty(inlineGraph) {
9
+ return Object.keys(inlineGraph.nodes).length === 0;
10
+ }
11
+ exports.isInlineGraphEmpty = isInlineGraphEmpty;
12
+ function handleInliningBuild(context, options, tsConfigPath) {
13
+ const tsConfigJson = (0, devkit_1.readJsonFile)(tsConfigPath);
14
+ const pathAliases = tsConfigJson['compilerOptions']['paths'] || readBasePathAliases(context);
15
+ const inlineGraph = createInlineGraph(context, options, pathAliases);
16
+ if (isInlineGraphEmpty(inlineGraph)) {
17
+ return inlineGraph;
18
+ }
19
+ buildInlineGraphExternals(context, inlineGraph, pathAliases);
20
+ return inlineGraph;
21
+ }
22
+ exports.handleInliningBuild = handleInliningBuild;
23
+ function postProcessInlinedDependencies(outputPath, parentOutputPath, inlineGraph) {
24
+ if (isInlineGraphEmpty(inlineGraph)) {
25
+ return;
26
+ }
27
+ const parentDistPath = (0, path_1.join)(outputPath, parentOutputPath);
28
+ // move parentOutput
29
+ movePackage(parentDistPath, outputPath);
30
+ const inlinedDepsDestOutputRecord = {};
31
+ // move inlined outputs
32
+ for (const inlineDependenciesNames of Object.values(inlineGraph.dependencies)) {
33
+ for (const inlineDependenciesName of inlineDependenciesNames) {
34
+ const inlineDependency = inlineGraph.nodes[inlineDependenciesName];
35
+ const depOutputPath = inlineDependency.buildOutputPath ||
36
+ (0, path_1.join)(outputPath, inlineDependency.root);
37
+ const destDepOutputPath = (0, path_1.join)(outputPath, inlineDependency.name);
38
+ const isBuildable = !!inlineDependency.buildOutputPath;
39
+ if (isBuildable) {
40
+ (0, fs_extra_1.copySync)(depOutputPath, destDepOutputPath, { overwrite: true });
41
+ }
42
+ else {
43
+ movePackage(depOutputPath, destDepOutputPath);
44
+ }
45
+ // TODO: hard-coded "src"
46
+ inlinedDepsDestOutputRecord[inlineDependency.pathAlias] =
47
+ destDepOutputPath + '/src';
48
+ }
49
+ }
50
+ updateImports(outputPath, inlinedDepsDestOutputRecord);
51
+ }
52
+ exports.postProcessInlinedDependencies = postProcessInlinedDependencies;
53
+ function readBasePathAliases(context) {
54
+ var _a;
55
+ return (_a = (0, devkit_1.readJsonFile)(getRootTsConfigPath(context))) === null || _a === void 0 ? void 0 : _a['compilerOptions']['paths'];
56
+ }
57
+ function getRootTsConfigPath(context) {
58
+ for (const tsConfigName of ['tsconfig.base.json', 'tsconfig.json']) {
59
+ const tsConfigPath = (0, path_1.join)(context.root, tsConfigName);
60
+ if ((0, fs_1.existsSync)(tsConfigPath)) {
61
+ return tsConfigPath;
62
+ }
63
+ }
64
+ throw new Error('Could not find a root tsconfig.json or tsconfig.base.json file.');
65
+ }
66
+ exports.getRootTsConfigPath = getRootTsConfigPath;
67
+ function emptyInlineGraph() {
68
+ return { nodes: {}, externals: {}, dependencies: {} };
69
+ }
70
+ function projectNodeToInlineProjectNode(projectNode, pathAlias = '', buildOutputPath = '') {
71
+ return {
72
+ name: projectNode.name,
73
+ root: projectNode.data.root,
74
+ sourceRoot: projectNode.data.sourceRoot,
75
+ pathAlias,
76
+ buildOutputPath,
77
+ };
78
+ }
79
+ function createInlineGraph(context, options, pathAliases, projectName = context.projectName, inlineGraph = emptyInlineGraph()) {
80
+ var _a;
81
+ var _b;
82
+ if (options.external == null)
83
+ return inlineGraph;
84
+ const projectDependencies = context.projectGraph.dependencies[projectName] || [];
85
+ if (projectDependencies.length === 0)
86
+ return inlineGraph;
87
+ if (!inlineGraph.nodes[projectName]) {
88
+ inlineGraph.nodes[projectName] = projectNodeToInlineProjectNode(context.projectGraph.nodes[projectName]);
89
+ }
90
+ const implicitDependencies = context.projectGraph.nodes[projectName].data.implicitDependencies || [];
91
+ for (const projectDependency of projectDependencies) {
92
+ // skip npm packages
93
+ if (projectDependency.target.startsWith('npm')) {
94
+ continue;
95
+ }
96
+ // skip implicitDependencies
97
+ if (implicitDependencies.includes(projectDependency.target)) {
98
+ continue;
99
+ }
100
+ const pathAlias = getPathAliasForPackage(context.projectGraph.nodes[projectDependency.target], pathAliases);
101
+ const buildOutputPath = getBuildOutputPath(projectDependency.target, context, options);
102
+ const shouldInline =
103
+ /**
104
+ * if all buildable libraries are marked as external,
105
+ * then push the project dependency that doesn't have a build target
106
+ */
107
+ (options.external === 'all' && !buildOutputPath) ||
108
+ /**
109
+ * if all buildable libraries are marked as internal,
110
+ * then push every project dependency to be inlined
111
+ */
112
+ options.external === 'none' ||
113
+ /**
114
+ * if some buildable libraries are marked as external,
115
+ * then push the project dependency that IS NOT marked as external OR doesn't have a build target
116
+ */
117
+ (Array.isArray(options.external) &&
118
+ options.external.length > 0 &&
119
+ !options.external.includes(projectDependency.target)) ||
120
+ !buildOutputPath;
121
+ if (shouldInline) {
122
+ (_a = (_b = inlineGraph.dependencies)[projectName]) !== null && _a !== void 0 ? _a : (_b[projectName] = []);
123
+ inlineGraph.dependencies[projectName].push(projectDependency.target);
124
+ }
125
+ inlineGraph.nodes[projectDependency.target] =
126
+ projectNodeToInlineProjectNode(context.projectGraph.nodes[projectDependency.target], pathAlias, buildOutputPath);
127
+ if (context.projectGraph.dependencies[projectDependency.target].length > 0) {
128
+ inlineGraph = createInlineGraph(context, options, pathAliases, projectDependency.target, inlineGraph);
129
+ }
130
+ }
131
+ return inlineGraph;
132
+ }
133
+ function buildInlineGraphExternals(context, inlineProjectGraph, pathAliases) {
134
+ const allNodes = Object.assign({}, context.projectGraph.nodes);
135
+ for (const [parent, dependencies] of Object.entries(inlineProjectGraph.dependencies)) {
136
+ if (allNodes[parent]) {
137
+ delete allNodes[parent];
138
+ }
139
+ for (const dependencyName of dependencies) {
140
+ const dependencyNode = inlineProjectGraph.nodes[dependencyName];
141
+ // buildable is still external even if it is a dependency
142
+ if (dependencyNode.buildOutputPath) {
143
+ continue;
144
+ }
145
+ if (allNodes[dependencyName]) {
146
+ delete allNodes[dependencyName];
147
+ }
148
+ }
149
+ }
150
+ for (const [projectName, projectNode] of Object.entries(allNodes)) {
151
+ if (!inlineProjectGraph.externals[projectName]) {
152
+ inlineProjectGraph.externals[projectName] =
153
+ projectNodeToInlineProjectNode(projectNode, getPathAliasForPackage(projectNode, pathAliases));
154
+ }
155
+ }
156
+ }
157
+ function movePackage(from, to) {
158
+ if (from === to)
159
+ return;
160
+ (0, fs_extra_1.copySync)(from, to, { overwrite: true });
161
+ (0, fs_extra_1.removeSync)(from);
162
+ }
163
+ function updateImports(destOutputPath, inlinedDepsDestOutputRecord) {
164
+ const importRegex = new RegExp(Object.keys(inlinedDepsDestOutputRecord)
165
+ .map((pathAlias) => `["'](${pathAlias})["']`)
166
+ .join('|'), 'g');
167
+ recursiveUpdateImport(destOutputPath, importRegex, inlinedDepsDestOutputRecord);
168
+ }
169
+ function recursiveUpdateImport(dirPath, importRegex, inlinedDepsDestOutputRecord, rootParentDir) {
170
+ const files = (0, fs_extra_1.readdirSync)(dirPath, { withFileTypes: true });
171
+ for (const file of files) {
172
+ // only check .js and .d.ts files
173
+ if (file.isFile() &&
174
+ (file.name.endsWith('.js') || file.name.endsWith('.d.ts'))) {
175
+ const filePath = (0, path_1.join)(dirPath, file.name);
176
+ const fileContent = (0, fs_extra_1.readFileSync)(filePath, 'utf-8');
177
+ const updatedContent = fileContent.replace(importRegex, (matched) => {
178
+ const result = matched.replace(/['"]/g, '');
179
+ // If a match is the same as the rootParentDir, we're checking its own files so we return the matched as in no changes.
180
+ if (result === rootParentDir)
181
+ return matched;
182
+ const importPath = `"${(0, path_1.relative)(dirPath, inlinedDepsDestOutputRecord[result])}"`;
183
+ return (0, devkit_1.normalizePath)(importPath);
184
+ });
185
+ (0, fs_extra_1.writeFileSync)(filePath, updatedContent);
186
+ }
187
+ else if (file.isDirectory()) {
188
+ recursiveUpdateImport((0, path_1.join)(dirPath, file.name), importRegex, inlinedDepsDestOutputRecord, rootParentDir || file.name);
189
+ }
190
+ }
191
+ }
192
+ function getPathAliasForPackage(packageNode, pathAliases) {
193
+ if (!packageNode)
194
+ return '';
195
+ for (const [alias, paths] of Object.entries(pathAliases)) {
196
+ if (paths.some((path) => path.includes(packageNode.data.root))) {
197
+ return alias;
198
+ }
199
+ }
200
+ return '';
201
+ }
202
+ function getBuildOutputPath(projectName, context, options) {
203
+ var _a, _b;
204
+ const projectTargets = (_b = (_a = context.projectGraph.nodes[projectName]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.targets;
205
+ if (!projectTargets)
206
+ return '';
207
+ const buildTarget = options.externalBuildTargets.find((buildTarget) => projectTargets[buildTarget]);
208
+ return buildTarget ? projectTargets[buildTarget].options['outputPath'] : '';
209
+ }
210
+ //# sourceMappingURL=inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline.js","sourceRoot":"","sources":["../../../../../packages/js/src/utils/inline.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { ExecutorContext } from '@nrwl/devkit';
2
- import { DependentBuildableProjectNode } from '@nrwl/workspace/src/utilities/buildable-libs-utils';
2
+ import { DependentBuildableProjectNode } from '../buildable-libs-utils';
3
3
  import type { UpdatePackageJsonOption } from './update-package-json';
4
4
  export interface CopyPackageJsonOptions extends Omit<UpdatePackageJsonOption, 'projectRoot'> {
5
5
  watch?: boolean;
6
6
  extraDependencies?: DependentBuildableProjectNode[];
7
+ overrideDependencies?: DependentBuildableProjectNode[];
7
8
  }
8
9
  export interface CopyPackageJsonResult {
9
10
  success?: boolean;
@@ -2,23 +2,24 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.copyPackageJson = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const path_1 = require("path");
6
5
  const watch_for_single_file_changes_1 = require("../watch-for-single-file-changes");
7
6
  const update_package_json_1 = require("./update-package-json");
8
7
  const check_dependencies_1 = require("../check-dependencies");
9
8
  function copyPackageJson(_options, context) {
10
- var _a;
11
9
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
10
  if (!context.target.options.tsConfig) {
13
11
  throw new Error(`Could not find tsConfig option for "${context.targetName}" target of "${context.projectName}" project. Check that your project configuration is correct.`);
14
12
  }
15
- const { target, dependencies, projectRoot } = (0, check_dependencies_1.checkDependencies)(context, context.target.options.tsConfig);
13
+ let { target, dependencies, projectRoot } = (0, check_dependencies_1.checkDependencies)(context, context.target.options.tsConfig);
16
14
  const options = Object.assign(Object.assign({}, _options), { projectRoot });
17
- if ((_a = options.extraDependencies) === null || _a === void 0 ? void 0 : _a.length) {
15
+ if (options.extraDependencies) {
18
16
  dependencies.push(...options.extraDependencies);
19
17
  }
18
+ if (options.overrideDependencies) {
19
+ dependencies = options.overrideDependencies;
20
+ }
20
21
  if (options.watch) {
21
- const dispose = yield (0, watch_for_single_file_changes_1.watchForSingleFileChanges)((0, path_1.join)(context.root, projectRoot), 'package.json', () => (0, update_package_json_1.updatePackageJson)(options, context, target, dependencies));
22
+ const dispose = yield (0, watch_for_single_file_changes_1.watchForSingleFileChanges)(context.projectName, options.projectRoot, 'package.json', () => (0, update_package_json_1.updatePackageJson)(options, context, target, dependencies));
22
23
  // Copy it once before changes
23
24
  (0, update_package_json_1.updatePackageJson)(options, context, target, dependencies);
24
25
  return { success: true, stop: dispose };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/package-json/index.ts"],"names":[],"mappings":";;;;AAAA,+BAA4B;AAI5B,oFAA6E;AAE7E,+DAA0D;AAC1D,8DAA0D;AAc1D,SAAsB,eAAe,CACnC,QAAgC,EAChC,OAAwB;;;QAExB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,CAAC,UAAU,gBAAgB,OAAO,CAAC,WAAW,8DAA8D,CAC3J,CAAC;SACH;QACD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAA,sCAAiB,EAC7D,OAAO,EACP,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAChC,CAAC;QACF,MAAM,OAAO,mCAAQ,QAAQ,KAAE,WAAW,GAAE,CAAC;QAC7C,IAAI,MAAA,OAAO,CAAC,iBAAiB,0CAAE,MAAM,EAAE;YACrC,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;SACjD;QACD,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,IAAA,yDAAyB,EAC7C,IAAA,WAAI,EAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,EAC/B,cAAc,EACd,GAAG,EAAE,CAAC,IAAA,uCAAiB,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAChE,CAAC;YACF,8BAA8B;YAC9B,IAAA,uCAAiB,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SACzC;aAAM;YACL,IAAA,uCAAiB,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC1B;;CACF;AA9BD,0CA8BC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/package-json/index.ts"],"names":[],"mappings":";;;;AAGA,oFAA6E;AAE7E,+DAA0D;AAC1D,8DAA0D;AAe1D,SAAsB,eAAe,CACnC,QAAgC,EAChC,OAAwB;;QAExB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,CAAC,UAAU,gBAAgB,OAAO,CAAC,WAAW,8DAA8D,CAC3J,CAAC;SACH;QACD,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,IAAA,sCAAiB,EAC3D,OAAO,EACP,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAChC,CAAC;QACF,MAAM,OAAO,mCAAQ,QAAQ,KAAE,WAAW,GAAE,CAAC;QAE7C,IAAI,OAAO,CAAC,iBAAiB,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;SACjD;QACD,IAAI,OAAO,CAAC,oBAAoB,EAAE;YAChC,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;SAC7C;QAED,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,IAAA,yDAAyB,EAC7C,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,EACnB,cAAc,EACd,GAAG,EAAE,CAAC,IAAA,uCAAiB,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAChE,CAAC;YACF,8BAA8B;YAC9B,IAAA,uCAAiB,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SACzC;aAAM;YACL,IAAA,uCAAiB,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC1B;IACH,CAAC;CAAA;AApCD,0CAoCC"}
@@ -1,7 +1,7 @@
1
1
  import { ExecutorContext, ProjectGraphProjectNode } from '@nrwl/devkit';
2
- import { DependentBuildableProjectNode } from '@nrwl/workspace/src/utilities/buildable-libs-utils';
2
+ import { DependentBuildableProjectNode } from '../buildable-libs-utils';
3
3
  import type { PackageJson } from 'nx/src/utils/package-json';
4
- export declare type SupportedFormat = 'cjs' | 'esm';
4
+ export type SupportedFormat = 'cjs' | 'esm';
5
5
  export interface UpdatePackageJsonOption {
6
6
  projectRoot: string;
7
7
  main: string;
@@ -11,8 +11,10 @@ export interface UpdatePackageJsonOption {
11
11
  outputFileExtensionForCjs?: `.${string}`;
12
12
  skipTypings?: boolean;
13
13
  generateExportsField?: boolean;
14
+ excludeLibsInPackageJson?: boolean;
14
15
  updateBuildableProjectDepsInPackageJson?: boolean;
15
16
  buildableProjectDepsInPackageJsonType?: 'dependencies' | 'peerDependencies';
17
+ generateLockfile?: boolean;
16
18
  }
17
19
  export declare function updatePackageJson(options: UpdatePackageJsonOption, context: ExecutorContext, target: ProjectGraphProjectNode, dependencies: DependentBuildableProjectNode[]): void;
18
20
  export declare function getUpdatedPackageJsonContent(packageJson: PackageJson, options: UpdatePackageJsonOption): PackageJson;
@@ -1,36 +1,102 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getUpdatedPackageJsonContent = exports.updatePackageJson = void 0;
4
+ const lock_file_1 = require("nx/src/lock-file/lock-file");
5
+ const create_package_json_1 = require("nx/src/utils/create-package-json");
4
6
  const devkit_1 = require("@nrwl/devkit");
5
- const buildable_libs_utils_1 = require("@nrwl/workspace/src/utilities/buildable-libs-utils");
6
7
  const path_1 = require("path");
8
+ const fs_extra_1 = require("fs-extra");
9
+ const operators_1 = require("nx/src/project-graph/operators");
7
10
  const fileutils_1 = require("nx/src/utils/fileutils");
11
+ const fs_1 = require("fs");
8
12
  function getMainFileDirRelativeToProjectRoot(main, projectRoot) {
9
13
  const mainFileDir = (0, path_1.dirname)(main);
10
14
  const relativeDir = (0, devkit_1.normalizePath)((0, path_1.relative)(projectRoot, mainFileDir));
11
15
  return relativeDir === '' ? `./` : `./${relativeDir}/`;
12
16
  }
13
17
  function updatePackageJson(options, context, target, dependencies) {
14
- const pathToPackageJson = (0, path_1.join)(context.root, options.projectRoot, 'package.json');
15
- const packageJson = (0, fileutils_1.fileExists)(pathToPackageJson)
16
- ? (0, devkit_1.readJsonFile)(pathToPackageJson)
17
- : { name: context.projectName };
18
- (0, devkit_1.writeJsonFile)(`${options.outputPath}/package.json`, getUpdatedPackageJsonContent(packageJson, options));
19
- if (dependencies.length > 0 &&
20
- options.updateBuildableProjectDepsInPackageJson) {
21
- (0, buildable_libs_utils_1.updateBuildableProjectPackageJsonDependencies)(context.root, context.projectName, context.targetName, context.configurationName, target, dependencies, options.buildableProjectDepsInPackageJsonType);
18
+ let packageJson;
19
+ if (options.updateBuildableProjectDepsInPackageJson) {
20
+ packageJson = (0, create_package_json_1.createPackageJson)(context.projectName, context.projectGraph, {
21
+ target: context.targetName,
22
+ root: context.root,
23
+ // By default we remove devDependencies since this is a production build.
24
+ isProduction: true,
25
+ });
26
+ if (options.excludeLibsInPackageJson) {
27
+ dependencies = dependencies.filter((dep) => dep.node.type !== 'lib');
28
+ }
29
+ addMissingDependencies(packageJson, context, dependencies, options.buildableProjectDepsInPackageJsonType);
30
+ }
31
+ else {
32
+ const pathToPackageJson = (0, path_1.join)(context.root, options.projectRoot, 'package.json');
33
+ packageJson = (0, fileutils_1.fileExists)(pathToPackageJson)
34
+ ? (0, devkit_1.readJsonFile)(pathToPackageJson)
35
+ : { name: context.projectName, version: '0.0.1' };
36
+ }
37
+ // update package specific settings
38
+ packageJson = getUpdatedPackageJsonContent(packageJson, options);
39
+ // save files
40
+ (0, devkit_1.writeJsonFile)(`${options.outputPath}/package.json`, packageJson);
41
+ if (options.generateLockfile) {
42
+ const lockFile = (0, lock_file_1.createLockFile)(packageJson);
43
+ (0, fs_extra_1.writeFileSync)(`${options.outputPath}/${(0, lock_file_1.getLockFileName)()}`, lockFile, {
44
+ encoding: 'utf-8',
45
+ });
22
46
  }
23
47
  }
24
48
  exports.updatePackageJson = updatePackageJson;
49
+ function addMissingDependencies(packageJson, { projectName, targetName, configurationName, root }, dependencies, propType = 'dependencies') {
50
+ const workspacePackageJson = (0, devkit_1.readJsonFile)((0, devkit_1.joinPathFragments)(devkit_1.workspaceRoot, 'package.json'));
51
+ dependencies.forEach((entry) => {
52
+ var _a, _b, _c, _d, _e, _f, _g, _h;
53
+ if ((0, operators_1.isNpmProject)(entry.node)) {
54
+ const { packageName, version } = entry.node.data;
55
+ if (((_a = packageJson.dependencies) === null || _a === void 0 ? void 0 : _a[packageName]) ||
56
+ ((_b = packageJson.devDependencies) === null || _b === void 0 ? void 0 : _b[packageName]) ||
57
+ ((_c = packageJson.peerDependencies) === null || _c === void 0 ? void 0 : _c[packageName])) {
58
+ return;
59
+ }
60
+ if ((_d = workspacePackageJson.devDependencies) === null || _d === void 0 ? void 0 : _d[packageName]) {
61
+ return;
62
+ }
63
+ (_e = packageJson[propType]) !== null && _e !== void 0 ? _e : (packageJson[propType] = {});
64
+ packageJson[propType][packageName] = version;
65
+ }
66
+ else {
67
+ const packageName = entry.name;
68
+ if (!((_f = packageJson.dependencies) === null || _f === void 0 ? void 0 : _f[packageName]) &&
69
+ !((_g = packageJson.peerDependencies) === null || _g === void 0 ? void 0 : _g[packageName])) {
70
+ const outputs = (0, devkit_1.getOutputsForTargetAndConfiguration)({
71
+ overrides: {},
72
+ target: {
73
+ project: projectName,
74
+ target: targetName,
75
+ configuration: configurationName,
76
+ },
77
+ }, entry.node);
78
+ const depPackageJsonPath = (0, path_1.join)(root, outputs[0], 'package.json');
79
+ if ((0, fs_1.existsSync)(depPackageJsonPath)) {
80
+ const version = (0, devkit_1.readJsonFile)(depPackageJsonPath).version;
81
+ (_h = packageJson[propType]) !== null && _h !== void 0 ? _h : (packageJson[propType] = {});
82
+ packageJson[propType][packageName] = version;
83
+ }
84
+ }
85
+ }
86
+ });
87
+ }
25
88
  function getUpdatedPackageJsonContent(packageJson, options) {
26
- var _a, _b, _c, _d, _e, _f, _g, _h;
89
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
90
+ var _o, _p;
27
91
  // Default is CJS unless esm is explicitly passed.
28
92
  const hasCjsFormat = !options.format || ((_a = options.format) === null || _a === void 0 ? void 0 : _a.includes('cjs'));
29
93
  const hasEsmFormat = (_b = options.format) === null || _b === void 0 ? void 0 : _b.includes('esm');
30
94
  const mainFile = (0, path_1.basename)(options.main).replace(/\.[tj]s$/, '');
31
95
  const relativeMainFileDir = getMainFileDirRelativeToProjectRoot(options.main, options.projectRoot);
32
96
  const typingsFile = `${relativeMainFileDir}${mainFile}.d.ts`;
33
- const exports = Object.assign({ '.': {} }, packageJson.exports);
97
+ const exports = typeof packageJson.exports === 'string'
98
+ ? packageJson.exports
99
+ : Object.assign({ '.': {} }, packageJson.exports);
34
100
  const mainJsFile = (_c = options.outputFileName) !== null && _c !== void 0 ? _c : `${relativeMainFileDir}${mainFile}.js`;
35
101
  if (hasEsmFormat) {
36
102
  // Unofficial field for backwards compat.
@@ -39,22 +105,36 @@ function getUpdatedPackageJsonContent(packageJson, options) {
39
105
  packageJson.type = 'module';
40
106
  (_e = packageJson.main) !== null && _e !== void 0 ? _e : (packageJson.main = mainJsFile);
41
107
  }
42
- exports['.']['import'] = mainJsFile;
108
+ if (typeof exports !== 'string') {
109
+ if (typeof exports['.'] !== 'string') {
110
+ (_f = (_o = exports['.'])['import']) !== null && _f !== void 0 ? _f : (_o['import'] = mainJsFile);
111
+ }
112
+ else if (!hasCjsFormat) {
113
+ (_g = exports['.']) !== null && _g !== void 0 ? _g : (exports['.'] = mainJsFile);
114
+ }
115
+ }
43
116
  }
44
117
  // CJS output may have .cjs or .js file extensions.
45
118
  // Bundlers like rollup and esbuild supports .cjs for CJS and .js for ESM.
46
119
  // Bundlers/Compilers like webpack, tsc, swc do not have different file extensions.
47
120
  if (hasCjsFormat) {
48
121
  const { dir, name } = (0, path_1.parse)(mainJsFile);
49
- const cjsMain = `${dir}/${name}${(_f = options.outputFileExtensionForCjs) !== null && _f !== void 0 ? _f : '.js'}`;
50
- (_g = packageJson.main) !== null && _g !== void 0 ? _g : (packageJson.main = cjsMain);
51
- exports['.']['require'] = cjsMain;
122
+ const cjsMain = `${dir ? dir : '.'}/${name}${(_h = options.outputFileExtensionForCjs) !== null && _h !== void 0 ? _h : '.js'}`;
123
+ (_j = packageJson.main) !== null && _j !== void 0 ? _j : (packageJson.main = cjsMain);
124
+ if (typeof exports !== 'string') {
125
+ if (typeof exports['.'] !== 'string') {
126
+ (_k = (_p = exports['.'])['require']) !== null && _k !== void 0 ? _k : (_p['require'] = cjsMain);
127
+ }
128
+ else if (!hasEsmFormat) {
129
+ (_l = exports['.']) !== null && _l !== void 0 ? _l : (exports['.'] = cjsMain);
130
+ }
131
+ }
52
132
  }
53
133
  if (options.generateExportsField) {
54
134
  packageJson.exports = exports;
55
135
  }
56
136
  if (!options.skipTypings) {
57
- packageJson.types = (_h = packageJson.types) !== null && _h !== void 0 ? _h : typingsFile;
137
+ packageJson.types = (_m = packageJson.types) !== null && _m !== void 0 ? _m : typingsFile;
58
138
  }
59
139
  return packageJson;
60
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"update-package-json.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/package-json/update-package-json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-package-json.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/package-json/update-package-json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Options } from 'prettier';
2
+ export interface ExistingPrettierConfig {
3
+ sourceFilepath: string;
4
+ config: Options;
5
+ }
6
+ export declare function resolveUserExistingPrettierConfig(): Promise<ExistingPrettierConfig | null>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveUserExistingPrettierConfig = void 0;
4
+ const tslib_1 = require("tslib");
5
+ let prettier;
6
+ try {
7
+ prettier = require('prettier');
8
+ }
9
+ catch (_a) { }
10
+ function resolveUserExistingPrettierConfig() {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ if (!prettier) {
13
+ return null;
14
+ }
15
+ try {
16
+ const filepath = yield prettier.resolveConfigFile();
17
+ if (!filepath) {
18
+ return null;
19
+ }
20
+ const config = yield prettier.resolveConfig(process.cwd(), {
21
+ useCache: false,
22
+ config: filepath,
23
+ });
24
+ if (!config) {
25
+ return null;
26
+ }
27
+ return {
28
+ sourceFilepath: filepath,
29
+ config: config,
30
+ };
31
+ }
32
+ catch (_a) {
33
+ return null;
34
+ }
35
+ });
36
+ }
37
+ exports.resolveUserExistingPrettierConfig = resolveUserExistingPrettierConfig;
38
+ //# sourceMappingURL=prettier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prettier.js","sourceRoot":"","sources":["../../../../../packages/js/src/utils/prettier.ts"],"names":[],"mappings":";;;;AAEA,IAAI,QAAmC,CAAC;AACxC,IAAI;IACF,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChC;AAAC,WAAM,GAAE;AAOV,SAAsB,iCAAiC;;QACrD,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC;SACb;QACD,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YACpD,IAAI,CAAC,QAAQ,EAAE;gBACb,OAAO,IAAI,CAAC;aACb;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;gBACzD,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO,IAAI,CAAC;aACb;YAED,OAAO;gBACL,cAAc,EAAE,QAAQ;gBACxB,MAAM,EAAE,MAAM;aACf,CAAC;SACH;QAAC,WAAM;YACN,OAAO,IAAI,CAAC;SACb;IACH,CAAC;CAAA;AAzBD,8EAyBC"}
@@ -1,5 +1,5 @@
1
1
  // nx-ignore-next-line
2
- const { Linter } = require('@nrwl/linter');
2
+ const { Linter } = require('@nrwl/linter'); // use require to import to avoid circular dependency
3
3
  import type {
4
4
  AssetGlob,
5
5
  FileInputOutput,
@@ -7,7 +7,7 @@ import type {
7
7
  import { TransformerEntry } from './typescript/types';
8
8
 
9
9
  export type Compiler = 'tsc' | 'swc';
10
- export type Bundler = 'none' | 'rollup' | 'esbuild' | 'webpack';
10
+ export type Bundler = 'swc' | 'tsc' | 'rollup' | 'vite' | 'esbuild' | 'none';
11
11
 
12
12
  export interface LibraryGeneratorSchema {
13
13
  name: string;
@@ -17,7 +17,7 @@ export interface LibraryGeneratorSchema {
17
17
  simpleModuleName?: boolean;
18
18
  skipTsConfig?: boolean;
19
19
  includeBabelRc?: boolean;
20
- unitTestRunner?: 'jest' | 'none';
20
+ unitTestRunner?: 'jest' | 'vitest' | 'none';
21
21
  linter?: Linter;
22
22
  testEnvironment?: 'jsdom' | 'node';
23
23
  importPath?: string;
@@ -31,6 +31,7 @@ export interface LibraryGeneratorSchema {
31
31
  compiler?: Compiler;
32
32
  bundler?: Bundler;
33
33
  skipTypeCheck?: boolean;
34
+ minimal?: boolean;
34
35
  }
35
36
 
36
37
  export interface ExecutorOptions {
@@ -45,6 +46,9 @@ export interface ExecutorOptions {
45
46
  transformers: TransformerEntry[];
46
47
  updateBuildableProjectDepsInPackageJson?: boolean;
47
48
  buildableProjectDepsInPackageJsonType?: 'dependencies' | 'peerDependencies';
49
+ external?: 'all' | 'none' | string[];
50
+ externalBuildTargets?: string[];
51
+ generateLockfile?: boolean;
48
52
  }
49
53
 
50
54
  export interface NormalizedExecutorOptions extends ExecutorOptions {
@@ -72,6 +76,7 @@ export interface SwcCliOptions {
72
76
 
73
77
  export interface NormalizedSwcExecutorOptions
74
78
  extends NormalizedExecutorOptions {
79
+ originalProjectRoot: string;
75
80
  swcExclude: string[];
76
81
  skipTypeCheck: boolean;
77
82
  swcCliOptions: SwcCliOptions;
@@ -1,3 +1,3 @@
1
1
  import { Tree } from '@nrwl/devkit';
2
2
  export declare const defaultExclude: string[];
3
- export declare function addSwcConfig(tree: Tree, projectDir: string): void;
3
+ export declare function addSwcConfig(tree: Tree, projectDir: string, type?: 'commonjs' | 'es6'): void;
@@ -4,13 +4,13 @@ exports.addSwcConfig = exports.defaultExclude = void 0;
4
4
  const path_1 = require("path");
5
5
  exports.defaultExclude = [
6
6
  'jest.config.ts',
7
- '.*.spec.tsx?$',
8
- '.*.test.tsx?$',
7
+ '.*\\.spec.tsx?$',
8
+ '.*\\.test.tsx?$',
9
9
  './src/jest-setup.ts$',
10
10
  './**/jest-setup.ts$',
11
11
  '.*.js$',
12
12
  ];
13
- const swcOptionsString = () => `{
13
+ const swcOptionsString = (type = 'commonjs') => `{
14
14
  "jsc": {
15
15
  "target": "es2017",
16
16
  "parser": {
@@ -27,18 +27,18 @@ const swcOptionsString = () => `{
27
27
  "loose": true
28
28
  },
29
29
  "module": {
30
- "type": "commonjs",
30
+ "type": "${type}",
31
31
  "strict": true,
32
32
  "noInterop": true
33
33
  },
34
34
  "sourceMaps": true,
35
35
  "exclude": ${JSON.stringify(exports.defaultExclude)}
36
36
  }`;
37
- function addSwcConfig(tree, projectDir) {
38
- const swcrcPath = (0, path_1.join)(projectDir, '.lib.swcrc');
37
+ function addSwcConfig(tree, projectDir, type = 'commonjs') {
38
+ const swcrcPath = (0, path_1.join)(projectDir, '.swcrc');
39
39
  if (tree.exists(swcrcPath))
40
40
  return;
41
- tree.write(swcrcPath, swcOptionsString());
41
+ tree.write(swcrcPath, swcOptionsString(type));
42
42
  }
43
43
  exports.addSwcConfig = addSwcConfig;
44
44
  //# sourceMappingURL=add-swc-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-swc-config.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/add-swc-config.ts"],"names":[],"mappings":";;;AAGA,+BAA4B;AAEf,QAAA,cAAc,GAAG;IAC5B,gBAAgB;IAChB,eAAe;IACf,eAAe;IACf,sBAAsB;IACtB,qBAAqB;IACrB,QAAQ;CACT,CAAC;AAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;eAsBhB,IAAI,CAAC,SAAS,CAAC,sBAAc,CAAC;EAC3C,CAAC;AAEH,SAAgB,YAAY,CAAC,IAAU,EAAE,UAAkB;IACzD,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO;IACnC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAC5C,CAAC;AAJD,oCAIC"}
1
+ {"version":3,"file":"add-swc-config.js","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/swc/add-swc-config.ts"],"names":[],"mappings":";;;AAGA,+BAA4B;AAEf,QAAA,cAAc,GAAG;IAC5B,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,qBAAqB;IACrB,QAAQ;CACT,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,OAA2B,UAAU,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;eAiBrD,IAAI;;;;;eAKJ,IAAI,CAAC,SAAS,CAAC,sBAAc,CAAC;EAC3C,CAAC;AAEH,SAAgB,YAAY,CAC1B,IAAU,EACV,UAAkB,EAClB,OAA2B,UAAU;IAErC,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAAE,OAAO;IACnC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC;AARD,oCAQC"}