@nrwl/js 14.8.7 → 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.
- package/CHANGELOG.md +1 -1
- package/LICENSE +22 -22
- package/README.md +5 -26
- package/babel.d.ts +10 -0
- package/babel.js +89 -0
- package/babel.js.map +1 -0
- package/generators.json +4 -2
- package/migrations.json +20 -1
- package/package.json +19 -10
- package/src/executors/node/node.impl.js +36 -28
- package/src/executors/node/node.impl.js.map +1 -1
- package/src/executors/node/schema.json +3 -1
- package/src/executors/swc/schema.json +39 -5
- package/src/executors/swc/swc.impl.d.ts +4 -0
- package/src/executors/swc/swc.impl.js +56 -6
- package/src/executors/swc/swc.impl.js.map +1 -1
- package/src/executors/tsc/schema.json +36 -3
- package/src/executors/tsc/tsc.impl.d.ts +2 -5
- package/src/executors/tsc/tsc.impl.js +35 -13
- package/src/executors/tsc/tsc.impl.js.map +1 -1
- package/src/generators/convert-to-swc/convert-to-swc.js +2 -4
- package/src/generators/convert-to-swc/convert-to-swc.js.map +1 -1
- package/src/generators/init/files/__fileName__ +20 -0
- package/src/generators/init/init.d.ts +4 -2
- package/src/generators/init/init.js +59 -2
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/schema.d.ts +6 -0
- package/src/generators/init/schema.json +24 -1
- package/src/generators/library/files/jest-config/jest.config.__ext__ +8 -1
- package/src/generators/library/files/lib/tsconfig.lib.json__tmpl__ +2 -2
- package/src/generators/library/library.js +136 -85
- package/src/generators/library/library.js.map +1 -1
- package/src/generators/library/schema.json +29 -19
- package/src/index.d.ts +8 -0
- package/src/index.js +12 -1
- package/src/index.js.map +1 -1
- package/src/migrations/update-13-10-1/update-lib-swcrc-exclude.js +1 -1
- package/src/migrations/update-13-10-1/update-lib-swcrc-exclude.js.map +1 -1
- package/src/migrations/update-13-8-5/update-swcrc.js +2 -2
- package/src/migrations/update-13-8-5/update-swcrc.js.map +1 -1
- package/src/migrations/update-14-0-0/exclude-jest-config-swcrc.js +1 -1
- package/src/migrations/update-14-0-0/exclude-jest-config-swcrc.js.map +1 -1
- package/src/migrations/update-14-1-5/update-swcrc-path.js +1 -1
- package/src/migrations/update-14-1-5/update-swcrc-path.js.map +1 -1
- package/src/migrations/update-15-8-0/rename-swcrc-config.d.ts +2 -0
- package/src/migrations/update-15-8-0/rename-swcrc-config.js +81 -0
- package/src/migrations/update-15-8-0/rename-swcrc-config.js.map +1 -0
- package/src/utils/add-babel-inputs.d.ts +2 -0
- package/src/utils/add-babel-inputs.js +27 -0
- package/src/utils/add-babel-inputs.js.map +1 -0
- package/src/utils/assets/copy-assets-handler.d.ts +2 -2
- package/src/utils/assets/copy-assets-handler.js +12 -5
- package/src/utils/assets/copy-assets-handler.js.map +1 -1
- package/src/utils/assets/index.js +11 -14
- package/src/utils/assets/index.js.map +1 -1
- package/src/utils/buildable-libs-utils.d.ts +32 -0
- package/src/utils/buildable-libs-utils.js +309 -0
- package/src/utils/buildable-libs-utils.js.map +1 -0
- package/src/utils/check-dependencies.d.ts +2 -2
- package/src/utils/check-dependencies.js +1 -1
- package/src/utils/check-dependencies.js.map +1 -1
- package/src/utils/code-frames/identifiers.d.ts +0 -20
- package/src/utils/code-frames/identifiers.js +38 -184
- package/src/utils/code-frames/identifiers.js.map +1 -1
- package/src/utils/compiler-helper-dependency.d.ts +1 -1
- package/src/utils/compiler-helper-dependency.js +2 -2
- package/src/utils/compiler-helper-dependency.js.map +1 -1
- package/src/utils/generate-globs.d.ts +6 -0
- package/src/utils/generate-globs.js +81 -0
- package/src/utils/generate-globs.js.map +1 -0
- package/src/utils/inline.d.ts +19 -0
- package/src/utils/inline.js +210 -0
- package/src/utils/inline.js.map +1 -0
- package/src/utils/package-json/index.d.ts +2 -1
- package/src/utils/package-json/index.js +6 -5
- package/src/utils/package-json/index.js.map +1 -1
- package/src/utils/package-json/update-package-json.d.ts +4 -2
- package/src/utils/package-json/update-package-json.js +96 -16
- package/src/utils/package-json/update-package-json.js.map +1 -1
- package/src/utils/prettier.d.ts +6 -0
- package/src/utils/prettier.js +38 -0
- package/src/utils/prettier.js.map +1 -0
- package/src/utils/schema.d.ts +8 -3
- package/src/utils/swc/add-swc-config.d.ts +1 -1
- package/src/utils/swc/add-swc-config.js +7 -7
- package/src/utils/swc/add-swc-config.js.map +1 -1
- package/src/utils/swc/compile-swc.d.ts +4 -0
- package/src/utils/swc/compile-swc.js +10 -7
- package/src/utils/swc/compile-swc.js.map +1 -1
- package/src/utils/swc/get-swcrc-path.d.ts +1 -1
- package/src/utils/swc/get-swcrc-path.js +7 -4
- package/src/utils/swc/get-swcrc-path.js.map +1 -1
- package/src/utils/swc/inline.d.ts +2 -0
- package/src/utils/swc/inline.js +13 -0
- package/src/utils/swc/inline.js.map +1 -0
- package/src/utils/typescript/ast-utils.d.ts +22 -0
- package/src/utils/typescript/ast-utils.js +199 -0
- package/src/utils/typescript/ast-utils.js.map +1 -0
- package/src/utils/typescript/compile-typescript-files.d.ts +6 -2
- package/src/utils/typescript/compile-typescript-files.js +16 -10
- package/src/utils/typescript/compile-typescript-files.js.map +1 -1
- package/src/utils/typescript/create-ts-config.d.ts +17 -0
- package/src/utils/typescript/create-ts-config.js +48 -0
- package/src/utils/typescript/create-ts-config.js.map +1 -0
- package/src/utils/typescript/ensure-typescript.d.ts +1 -0
- package/src/utils/typescript/ensure-typescript.js +10 -0
- package/src/utils/typescript/ensure-typescript.js.map +1 -0
- package/src/utils/typescript/get-source-nodes.d.ts +2 -0
- package/src/utils/typescript/get-source-nodes.js +19 -0
- package/src/utils/typescript/get-source-nodes.js.map +1 -0
- package/src/utils/typescript/run-type-check.d.ts +2 -2
- package/src/utils/typescript/run-type-check.js +7 -5
- package/src/utils/typescript/run-type-check.js.map +1 -1
- package/src/utils/typescript/ts-config.d.ts +11 -0
- package/src/utils/typescript/ts-config.js +55 -0
- package/src/utils/typescript/ts-config.js.map +1 -0
- package/src/utils/typescript/types.d.ts +2 -2
- package/src/utils/versions.d.ts +4 -2
- package/src/utils/versions.js +5 -3
- package/src/utils/versions.js.map +1 -1
- package/src/utils/watch-for-single-file-changes.d.ts +1 -1
- package/src/utils/watch-for-single-file-changes.js +11 -13
- package/src/utils/watch-for-single-file-changes.js.map +1 -1
- package/src/utils/code-frames/code-frames.d.ts +0 -14
- package/src/utils/code-frames/code-frames.js +0 -125
- package/src/utils/code-frames/code-frames.js.map +0 -1
- package/src/utils/create-async-iterable/create-async-iteratable.d.ts +0 -6
- package/src/utils/create-async-iterable/create-async-iteratable.js +0 -62
- 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 '
|
|
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
|
-
|
|
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 (
|
|
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)(
|
|
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":";;;;
|
|
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 '
|
|
2
|
+
import { DependentBuildableProjectNode } from '../buildable-libs-utils';
|
|
3
3
|
import type { PackageJson } from 'nx/src/utils/package-json';
|
|
4
|
-
export
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 =
|
|
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
|
|
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}${(
|
|
50
|
-
(
|
|
51
|
-
exports
|
|
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 = (
|
|
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":";;;AAAA,
|
|
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,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"}
|
package/src/utils/schema.d.ts
CHANGED
|
@@ -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 = '
|
|
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;
|
|
@@ -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
|
-
'
|
|
8
|
-
'
|
|
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": "
|
|
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, '.
|
|
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,
|
|
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"}
|