@nx/js 0.0.0-pr-32490-e4fdfa9 → 0.0.0-pr-32868-a65a4a2
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/README.md +1 -1
- package/migrations.json +20 -1
- package/package.json +4 -4
- package/spec/src/migrations/update-21-5-0/migrate-development-custom-condition.spec.d.ts +2 -0
- package/spec/src/migrations/update-21-5-0/migrate-development-custom-condition.spec.d.ts.map +1 -0
- package/spec/src/release/utils/semver.spec.d.ts +2 -0
- package/spec/src/release/utils/semver.spec.d.ts.map +1 -0
- package/src/generators/init/files/ts-solution/tsconfig.base.json__tmpl__ +1 -1
- package/src/generators/init/init.d.ts.map +1 -1
- package/src/generators/init/init.js +2 -0
- package/src/generators/library/library.d.ts +1 -1
- package/src/generators/library/library.d.ts.map +1 -1
- package/src/generators/library/library.js +7 -6
- package/src/generators/setup-build/generator.d.ts.map +1 -1
- package/src/generators/setup-build/generator.js +1 -4
- package/src/generators/typescript-sync/typescript-sync.js +5 -3
- package/src/migrations/update-21-5-0/migrate-development-custom-condition.d.ts +3 -0
- package/src/migrations/update-21-5-0/migrate-development-custom-condition.d.ts.map +1 -0
- package/src/migrations/update-21-5-0/migrate-development-custom-condition.js +147 -0
- package/src/plugins/typescript/plugin.js +0 -3
- package/src/release/utils/semver.d.ts +3 -0
- package/src/release/utils/semver.d.ts.map +1 -0
- package/src/release/utils/semver.js +14 -0
- package/src/release/version-actions.d.ts.map +1 -1
- package/src/release/version-actions.js +20 -0
- package/src/utils/package-json/update-package-json.d.ts +1 -1
- package/src/utils/package-json/update-package-json.d.ts.map +1 -1
- package/src/utils/package-json/update-package-json.js +6 -7
- package/src/utils/typescript/ts-solution-setup.d.ts +12 -0
- package/src/utils/typescript/ts-solution-setup.d.ts.map +1 -1
- package/src/utils/typescript/ts-solution-setup.js +69 -0
- package/src/utils/versions.d.ts +1 -1
- package/src/utils/versions.js +1 -1
- package/spec/tsconfig.spec.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
# Nx: Smart Repos · Fast Builds
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Get to green PRs in half the time. Nx optimizes your builds, scales your CI, and fixes failed PRs. Built for developers and AI agents.
|
|
26
26
|
|
|
27
27
|
This package is a [JavaScript/TypeScript plugin for Nx](https://nx.dev/js/overview).
|
|
28
28
|
|
package/migrations.json
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"generators": {
|
|
2
|
+
"generators": {
|
|
3
|
+
"migrate-development-custom-condition": {
|
|
4
|
+
"version": "21.5.0-beta.2",
|
|
5
|
+
"description": "Migrate the legacy 'development' custom condition to a workspace-unique custom condition name.",
|
|
6
|
+
"factory": "./src/migrations/update-21-5-0/migrate-development-custom-condition"
|
|
7
|
+
}
|
|
8
|
+
},
|
|
3
9
|
"packageJsonUpdates": {
|
|
4
10
|
"19.0.0": {
|
|
5
11
|
"version": "19.0.0-beta.0",
|
|
@@ -96,6 +102,19 @@
|
|
|
96
102
|
"alwaysAddToPackageJson": false
|
|
97
103
|
}
|
|
98
104
|
}
|
|
105
|
+
},
|
|
106
|
+
"21.5.0": {
|
|
107
|
+
"version": "21.5.0-beta.2",
|
|
108
|
+
"x-prompt": "Do you want to update to TypeScript v5.9?",
|
|
109
|
+
"requires": {
|
|
110
|
+
"typescript": ">=5.8.0 <5.9.0"
|
|
111
|
+
},
|
|
112
|
+
"packages": {
|
|
113
|
+
"typescript": {
|
|
114
|
+
"version": "~5.9.2",
|
|
115
|
+
"alwaysAddToPackageJson": false
|
|
116
|
+
}
|
|
117
|
+
}
|
|
99
118
|
}
|
|
100
119
|
}
|
|
101
120
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/js",
|
|
3
|
-
"version": "0.0.0-pr-
|
|
3
|
+
"version": "0.0.0-pr-32868-a65a4a2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "The JS plugin for Nx contains executors and generators that provide the best experience for developing JavaScript and TypeScript projects. ",
|
|
6
6
|
"repository": {
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"@babel/preset-env": "^7.23.2",
|
|
40
40
|
"@babel/preset-typescript": "^7.22.5",
|
|
41
41
|
"@babel/runtime": "^7.22.6",
|
|
42
|
-
"@nx/devkit": "0.0.0-pr-
|
|
43
|
-
"@nx/workspace": "0.0.0-pr-
|
|
42
|
+
"@nx/devkit": "0.0.0-pr-32868-a65a4a2",
|
|
43
|
+
"@nx/workspace": "0.0.0-pr-32868-a65a4a2",
|
|
44
44
|
"@zkochan/js-yaml": "0.0.7",
|
|
45
45
|
"babel-plugin-const-enum": "^1.0.1",
|
|
46
46
|
"babel-plugin-macros": "^3.1.0",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"tslib": "^2.3.0"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
|
-
"nx": "0.0.0-pr-
|
|
66
|
+
"nx": "0.0.0-pr-32868-a65a4a2"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
69
|
"verdaccio": "^6.0.5"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-development-custom-condition.spec.d.ts","sourceRoot":"","sources":["../../../../../../../packages/js/src/migrations/update-21-5-0/migrate-development-custom-condition.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.spec.d.ts","sourceRoot":"","sources":["../../../../../../../packages/js/src/release/utils/semver.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/generators/init/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,iBAAiB,EAIjB,IAAI,EACL,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/generators/init/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,iBAAiB,EAIjB,IAAI,EACL,MAAM,YAAY,CAAC;AAuBpB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAoCtC,wBAAsB,aAAa,CACjC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAS5B;AAED,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,iBAAiB,CAAC,CAgI5B;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -87,8 +87,10 @@ async function initGeneratorInternal(tree, schema) {
|
|
|
87
87
|
if (schema.addTsConfigBase && !(0, ts_config_1.getRootTsConfigFileName)(tree)) {
|
|
88
88
|
if (schema.addTsPlugin) {
|
|
89
89
|
const platform = schema.platform ?? 'node';
|
|
90
|
+
const customCondition = (0, ts_solution_setup_1.getCustomConditionName)(tree);
|
|
90
91
|
(0, devkit_1.generateFiles)(tree, (0, path_1.join)(__dirname, './files/ts-solution'), '.', {
|
|
91
92
|
platform,
|
|
93
|
+
customCondition,
|
|
92
94
|
tmpl: '',
|
|
93
95
|
});
|
|
94
96
|
}
|
|
@@ -2,7 +2,7 @@ import { GeneratorCallback, Tree } from '@nx/devkit';
|
|
|
2
2
|
import type { LibraryGeneratorSchema, NormalizedLibraryGeneratorOptions } from './schema';
|
|
3
3
|
export declare function libraryGenerator(tree: Tree, schema: LibraryGeneratorSchema): Promise<GeneratorCallback>;
|
|
4
4
|
export declare function libraryGeneratorInternal(tree: Tree, schema: LibraryGeneratorSchema): Promise<GeneratorCallback>;
|
|
5
|
-
export type AddLintOptions = Pick<NormalizedLibraryGeneratorOptions, 'name' | 'linter' | 'projectRoot' | 'unitTestRunner' | 'js' | 'setParserOptionsProject' | 'rootProject' | 'bundler' | 'addPlugin'>;
|
|
5
|
+
export type AddLintOptions = Pick<NormalizedLibraryGeneratorOptions, 'name' | 'linter' | 'projectRoot' | 'unitTestRunner' | 'js' | 'setParserOptionsProject' | 'rootProject' | 'bundler' | 'addPlugin' | 'isUsingTsSolutionConfig'>;
|
|
6
6
|
export declare function addLint(tree: Tree, options: AddLintOptions): Promise<GeneratorCallback>;
|
|
7
7
|
export default libraryGenerator;
|
|
8
8
|
//# sourceMappingURL=library.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/generators/library/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,iBAAiB,EAYjB,IAAI,EAKL,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"library.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/generators/library/library.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,iBAAiB,EAYjB,IAAI,EAKL,MAAM,YAAY,CAAC;AA0CpB,OAAO,KAAK,EAEV,sBAAsB,EACtB,iCAAiC,EAClC,MAAM,UAAU,CAAC;AASlB,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,sBAAsB,8BAO/B;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,sBAAsB,8BAsL/B;AA4HD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,iCAAiC,EAC/B,MAAM,GACN,QAAQ,GACR,aAAa,GACb,gBAAgB,GAChB,IAAI,GACJ,yBAAyB,GACzB,aAAa,GACb,SAAS,GACT,WAAW,GACX,yBAAyB,CAC5B,CAAC;AAEF,wBAAsB,OAAO,CAC3B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA4G5B;AAivBD,eAAe,gBAAgB,CAAC"}
|
|
@@ -272,7 +272,7 @@ async function addLint(tree, options) {
|
|
|
272
272
|
// Since the build target is inferred now, we need to let the generator know to add @nx/dependency-checks regardless.
|
|
273
273
|
addPackageJsonDependencyChecks: options.bundler !== 'none',
|
|
274
274
|
});
|
|
275
|
-
const { addOverrideToLintConfig, lintConfigHasOverride, isEslintConfigSupported, updateOverrideInLintConfig,
|
|
275
|
+
const { addOverrideToLintConfig, lintConfigHasOverride, isEslintConfigSupported, updateOverrideInLintConfig, addIgnoresToLintConfig,
|
|
276
276
|
// nx-ignore-next-line
|
|
277
277
|
} = require('@nx/eslint/src/generators/utils/eslint-file');
|
|
278
278
|
// if config is not supported, we don't need to do anything
|
|
@@ -334,6 +334,10 @@ async function addLint(tree, options) {
|
|
|
334
334
|
return o;
|
|
335
335
|
});
|
|
336
336
|
}
|
|
337
|
+
// Add out-tsc ignore pattern when using TS solution setup
|
|
338
|
+
if (options.isUsingTsSolutionConfig) {
|
|
339
|
+
addIgnoresToLintConfig(tree, options.projectRoot, ['**/out-tsc']);
|
|
340
|
+
}
|
|
337
341
|
return task;
|
|
338
342
|
}
|
|
339
343
|
function addBabelRc(tree, options) {
|
|
@@ -432,8 +436,6 @@ function createFiles(tree, options) {
|
|
|
432
436
|
};
|
|
433
437
|
if (options.isUsingTsSolutionConfig &&
|
|
434
438
|
!['none', 'rollup', 'vite'].includes(options.bundler)) {
|
|
435
|
-
// the file must exist in the TS solution setup
|
|
436
|
-
const tsconfigBase = (0, devkit_1.readJson)(tree, 'tsconfig.base.json');
|
|
437
439
|
return (0, update_package_json_1.getUpdatedPackageJsonContent)(updatedPackageJson, {
|
|
438
440
|
main: (0, path_1.join)(options.projectRoot, 'src/index.ts'),
|
|
439
441
|
outputPath: (0, devkit_1.joinPathFragments)(options.projectRoot, 'dist'),
|
|
@@ -442,7 +444,7 @@ function createFiles(tree, options) {
|
|
|
442
444
|
generateExportsField: true,
|
|
443
445
|
packageJsonPath,
|
|
444
446
|
format: ['esm'],
|
|
445
|
-
|
|
447
|
+
developmentConditionName: (0, ts_solution_setup_1.getDefinedCustomConditionName)(tree),
|
|
446
448
|
});
|
|
447
449
|
}
|
|
448
450
|
return updatedPackageJson;
|
|
@@ -465,7 +467,6 @@ function createFiles(tree, options) {
|
|
|
465
467
|
}
|
|
466
468
|
if (options.isUsingTsSolutionConfig &&
|
|
467
469
|
!['none', 'rollup', 'vite'].includes(options.bundler)) {
|
|
468
|
-
const tsconfigBase = (0, devkit_1.readJson)(tree, 'tsconfig.base.json');
|
|
469
470
|
packageJson = (0, update_package_json_1.getUpdatedPackageJsonContent)(packageJson, {
|
|
470
471
|
main: (0, path_1.join)(options.projectRoot, 'src/index.ts'),
|
|
471
472
|
outputPath: (0, devkit_1.joinPathFragments)(options.projectRoot, 'dist'),
|
|
@@ -474,7 +475,7 @@ function createFiles(tree, options) {
|
|
|
474
475
|
generateExportsField: true,
|
|
475
476
|
packageJsonPath,
|
|
476
477
|
format: ['esm'],
|
|
477
|
-
|
|
478
|
+
developmentConditionName: (0, ts_solution_setup_1.getDefinedCustomConditionName)(tree),
|
|
478
479
|
});
|
|
479
480
|
}
|
|
480
481
|
if (!options.useProjectJson && options.name !== options.importPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/generators/setup-build/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,iBAAiB,EAEtB,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/generators/setup-build/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,iBAAiB,EAEtB,KAAK,IAAI,EACV,MAAM,YAAY,CAAC;AAqBpB,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAIrD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,iBAAiB,CAAC,CAkL5B;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -232,9 +232,6 @@ function updatePackageJson(tree, projectName, projectRoot, main, outputPath, roo
|
|
|
232
232
|
version: '0.0.1',
|
|
233
233
|
};
|
|
234
234
|
}
|
|
235
|
-
// the file must exist in the TS solution setup, which is the only case this
|
|
236
|
-
// function is called
|
|
237
|
-
const tsconfigBase = (0, devkit_1.readJson)(tree, 'tsconfig.base.json');
|
|
238
235
|
packageJson = (0, update_package_json_1.getUpdatedPackageJsonContent)(packageJson, {
|
|
239
236
|
main,
|
|
240
237
|
outputPath,
|
|
@@ -243,7 +240,7 @@ function updatePackageJson(tree, projectName, projectRoot, main, outputPath, roo
|
|
|
243
240
|
packageJsonPath,
|
|
244
241
|
rootDir,
|
|
245
242
|
format,
|
|
246
|
-
|
|
243
|
+
developmentConditionName: (0, ts_solution_setup_1.getDefinedCustomConditionName)(tree),
|
|
247
244
|
});
|
|
248
245
|
(0, devkit_1.writeJson)(tree, packageJsonPath, packageJson);
|
|
249
246
|
}
|
|
@@ -221,9 +221,6 @@ function updateTsConfigReferences(tree, tsSysFromTree, tsconfigInfoCaches, tsCon
|
|
|
221
221
|
references.push(ref);
|
|
222
222
|
newReferencesSet.add(normalizedPath);
|
|
223
223
|
}
|
|
224
|
-
if (!newReferencesSet.has(normalizedPath)) {
|
|
225
|
-
addChangedFile(changedFiles, tsConfigPath, resolvedRefPath, 'stale');
|
|
226
|
-
}
|
|
227
224
|
}
|
|
228
225
|
for (const dep of dependencies) {
|
|
229
226
|
// Ensure the project reference for the target is set if we can find the
|
|
@@ -280,6 +277,11 @@ function updateTsConfigReferences(tree, tsSysFromTree, tsconfigInfoCaches, tsCon
|
|
|
280
277
|
addChangedFile(changedFiles, tsConfigPath, toFullProjectReferencePath(referencePath), 'missing');
|
|
281
278
|
}
|
|
282
279
|
}
|
|
280
|
+
for (const ref of originalReferencesSet) {
|
|
281
|
+
if (!newReferencesSet.has(ref)) {
|
|
282
|
+
addChangedFile(changedFiles, tsConfigPath, toFullProjectReferencePath((0, devkit_1.joinPathFragments)(projectRoot, ref)), 'stale');
|
|
283
|
+
}
|
|
284
|
+
}
|
|
283
285
|
hasChanges ||= newReferencesSet.size !== originalReferencesSet.size;
|
|
284
286
|
if (hasChanges) {
|
|
285
287
|
patchTsconfigJsonReferences(tree, tsconfigInfoCaches, tsConfigPath, references);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate-development-custom-condition.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/migrations/update-21-5-0/migrate-development-custom-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,IAAI,EAEV,MAAM,YAAY,CAAC;AAIpB,yBAA+B,IAAI,EAAE,IAAI,iBAkBxC"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = default_1;
|
|
4
|
+
const devkit_1 = require("@nx/devkit");
|
|
5
|
+
const ts_solution_setup_1 = require("../../utils/typescript/ts-solution-setup");
|
|
6
|
+
async function default_1(tree) {
|
|
7
|
+
if (!isDevelopmentCustomConditionDefined(tree)) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const packageJsonFiles = await getPackageJsonFiles(tree);
|
|
11
|
+
if (!(await doDevelopmentExportsPointToTsFiles(tree, packageJsonFiles))) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
// Get the new custom condition name
|
|
15
|
+
const newCustomCondition = (0, ts_solution_setup_1.getCustomConditionName)(tree, {
|
|
16
|
+
skipDevelopmentFallback: true,
|
|
17
|
+
});
|
|
18
|
+
updateTsconfigBaseCustomCondition(tree, newCustomCondition);
|
|
19
|
+
await updatePackageJsonExports(tree, newCustomCondition, packageJsonFiles);
|
|
20
|
+
await (0, devkit_1.formatFiles)(tree);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Check if the development custom condition is defined in the repo:
|
|
24
|
+
* - Both tsconfig.base.json and tsconfig.json exist
|
|
25
|
+
* - customConditions is set in tsconfig.base.json
|
|
26
|
+
* - There's a single custom condition and it's named 'development'
|
|
27
|
+
*/
|
|
28
|
+
function isDevelopmentCustomConditionDefined(tree) {
|
|
29
|
+
if (!tree.exists('tsconfig.base.json') || !tree.exists('tsconfig.json')) {
|
|
30
|
+
// if any of them don't exist, it means the repo is not using or has deviated
|
|
31
|
+
// from the TS solution setup, let's leave things as is
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
const tsconfigBase = (0, devkit_1.readJson)(tree, 'tsconfig.base.json');
|
|
35
|
+
const customConditions = tsconfigBase.compilerOptions?.customConditions;
|
|
36
|
+
if (!Array.isArray(customConditions) ||
|
|
37
|
+
customConditions.length !== 1 ||
|
|
38
|
+
customConditions[0] !== 'development') {
|
|
39
|
+
// no custom conditions, or more than one, or not named 'development', this
|
|
40
|
+
// means the repo is not using or has deviated from the TS solution setup
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Validate that all 'development' conditional exports in workspace package.json files
|
|
47
|
+
* point to TypeScript files (.ts, .tsx, .mts, .cts)
|
|
48
|
+
*/
|
|
49
|
+
async function doDevelopmentExportsPointToTsFiles(tree, packageJsonFiles) {
|
|
50
|
+
for (const filePath of packageJsonFiles) {
|
|
51
|
+
try {
|
|
52
|
+
const packageJson = (0, devkit_1.readJson)(tree, filePath);
|
|
53
|
+
if (!packageJson.exports || typeof packageJson.exports !== 'object') {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
if (!checkExportsRecursively(packageJson.exports)) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Check if the `development` conditional exports in the package.json file
|
|
68
|
+
* point to TS files.
|
|
69
|
+
*/
|
|
70
|
+
function checkExportsRecursively(exports) {
|
|
71
|
+
if (typeof exports !== 'object' ||
|
|
72
|
+
exports === null ||
|
|
73
|
+
Array.isArray(exports)) {
|
|
74
|
+
// there's no conditional exports, so we're good
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
for (const [key, value] of Object.entries(exports)) {
|
|
78
|
+
if (key === 'development') {
|
|
79
|
+
// check if the development export points to a TS file
|
|
80
|
+
if (typeof value !== 'string' || !isTypeScriptFile(value)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
// recursively check nested objects
|
|
86
|
+
if (!checkExportsRecursively(value)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
function isTypeScriptFile(filePath) {
|
|
94
|
+
return /\.m?ts$|\.tsx$|\.cts$/.test(filePath);
|
|
95
|
+
}
|
|
96
|
+
function updateTsconfigBaseCustomCondition(tree, newCustomCondition) {
|
|
97
|
+
(0, devkit_1.updateJson)(tree, 'tsconfig.base.json', (json) => {
|
|
98
|
+
json.compilerOptions.customConditions =
|
|
99
|
+
json.compilerOptions.customConditions.map((condition) => condition === 'development' ? newCustomCondition : condition);
|
|
100
|
+
return json;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
async function updatePackageJsonExports(tree, newCustomCondition, packageJsonFiles) {
|
|
104
|
+
for (const filePath of packageJsonFiles) {
|
|
105
|
+
try {
|
|
106
|
+
const packageJson = (0, devkit_1.readJson)(tree, filePath);
|
|
107
|
+
if (!packageJson.exports || typeof packageJson.exports !== 'object') {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
const updatedExports = updateExportsRecursively(packageJson.exports, newCustomCondition);
|
|
111
|
+
if (JSON.stringify(updatedExports) !== JSON.stringify(packageJson.exports)) {
|
|
112
|
+
(0, devkit_1.updateJson)(tree, filePath, (json) => {
|
|
113
|
+
json.exports = updatedExports;
|
|
114
|
+
return json;
|
|
115
|
+
});
|
|
116
|
+
devkit_1.logger.info(`Updated exports in ${filePath}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
continue;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function updateExportsRecursively(exports, newCustomCondition) {
|
|
125
|
+
if (typeof exports !== 'object' ||
|
|
126
|
+
exports === null ||
|
|
127
|
+
Array.isArray(exports)) {
|
|
128
|
+
// no conditional exports, nothing to do
|
|
129
|
+
return exports;
|
|
130
|
+
}
|
|
131
|
+
const updated = {};
|
|
132
|
+
for (const [key, value] of Object.entries(exports)) {
|
|
133
|
+
if (key === 'development') {
|
|
134
|
+
// Replace 'development' key with new custom condition
|
|
135
|
+
updated[newCustomCondition] = value;
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// Recursively process nested objects
|
|
139
|
+
updated[key] = updateExportsRecursively(value, newCustomCondition);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return updated;
|
|
143
|
+
}
|
|
144
|
+
async function getPackageJsonFiles(tree) {
|
|
145
|
+
const packageJsonFiles = await (0, devkit_1.globAsync)(tree, ['**/package.json']);
|
|
146
|
+
return packageJsonFiles.filter((file) => file !== 'package.json');
|
|
147
|
+
}
|
|
@@ -173,9 +173,6 @@ async function getConfigFileHash(configFilePath, workspaceRoot, projectRoot, opt
|
|
|
173
173
|
lockFileHash,
|
|
174
174
|
optionsHash,
|
|
175
175
|
...(packageJson ? [(0, file_hasher_1.hashObject)(packageJson)] : []),
|
|
176
|
-
// change this to bust the cache when making changes that would yield
|
|
177
|
-
// different results for the same hash
|
|
178
|
-
(0, file_hasher_1.hashObject)({ bust: 3 }),
|
|
179
176
|
]);
|
|
180
177
|
}
|
|
181
178
|
function checkIfConfigFileShouldBeProject(configFilePath, projectRoot, context) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/release/utils/semver.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,WAIzC;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,WAGvE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidRange = isValidRange;
|
|
4
|
+
exports.isMatchingDependencyRange = isMatchingDependencyRange;
|
|
5
|
+
const semver_1 = require("semver");
|
|
6
|
+
function isValidRange(range) {
|
|
7
|
+
// valid() will return null if a range (including ~,^,*) is used
|
|
8
|
+
// Check that it is null, and therefore a range
|
|
9
|
+
return !(0, semver_1.valid)(range) && (0, semver_1.validRange)(range) !== null;
|
|
10
|
+
}
|
|
11
|
+
function isMatchingDependencyRange(version, range) {
|
|
12
|
+
const coercedVersion = (0, semver_1.coerce)(version, { includePrerelease: true })?.version;
|
|
13
|
+
return isValidRange(range) && (0, semver_1.satisfies)(coercedVersion, range);
|
|
14
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-actions.d.ts","sourceRoot":"","sources":["../../../../../packages/js/src/release/version-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAEZ,IAAI,EAGL,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"version-actions.d.ts","sourceRoot":"","sources":["../../../../../packages/js/src/release/version-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EAEZ,IAAI,EAGL,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAM3E,eAAO,MAAM,yBAAyB,EAAE,yBAmBvC,CAAC;AAKF,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,cAAc;IAC1D,sBAAsB,WAAoB;IAEpC,oCAAoC,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;QAC9D,cAAc,EAAE,MAAM,CAAC;QACvB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAkBI,8BAA8B,CAClC,IAAI,EAAE,IAAI,EACV,8BAA8B,EAAE,6BAA6B,CAAC,gCAAgC,CAAC,GAC9F,OAAO,CAAC;QACT,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAkEI,8BAA8B,CAClC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,MAAM,GAC5B,OAAO,CAAC;QACT,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC,CAAC;IA+BI,oBAAoB,CACxB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC;IAcd,yBAAyB,CAC7B,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3C,OAAO,CAAC,MAAM,EAAE,CAAC;IAuFpB,OAAO,CAAC,yBAAyB;CAyClC"}
|
|
@@ -8,6 +8,7 @@ const release_1 = require("nx/release");
|
|
|
8
8
|
const npm_config_1 = require("../utils/npm-config");
|
|
9
9
|
const update_lock_file_1 = require("./utils/update-lock-file");
|
|
10
10
|
const chalk = require("chalk");
|
|
11
|
+
const semver_1 = require("./utils/semver");
|
|
11
12
|
const afterAllProjectsVersioned = async (cwd, { rootVersionActionsOptions, ...opts }) => {
|
|
12
13
|
return {
|
|
13
14
|
changedFiles: await (0, update_lock_file_1.updateLockFile)(cwd, {
|
|
@@ -136,6 +137,13 @@ class JsVersionActions extends release_1.VersionActions {
|
|
|
136
137
|
'peerDependencies',
|
|
137
138
|
'optionalDependencies',
|
|
138
139
|
];
|
|
140
|
+
// TODO(v22): Flip this to all by default
|
|
141
|
+
const preserveMatchingDependencyRanges = this.finalConfigForProject.preserveMatchingDependencyRanges === true
|
|
142
|
+
? dependencyTypes
|
|
143
|
+
: this.finalConfigForProject.preserveMatchingDependencyRanges ===
|
|
144
|
+
false
|
|
145
|
+
? []
|
|
146
|
+
: this.finalConfigForProject.preserveMatchingDependencyRanges || [];
|
|
139
147
|
for (const depType of dependencyTypes) {
|
|
140
148
|
if (json[depType]) {
|
|
141
149
|
for (const [dep, version] of Object.entries(dependenciesToUpdate)) {
|
|
@@ -153,6 +161,18 @@ class JsVersionActions extends release_1.VersionActions {
|
|
|
153
161
|
numDependenciesToUpdate--;
|
|
154
162
|
continue;
|
|
155
163
|
}
|
|
164
|
+
else if (preserveMatchingDependencyRanges.includes(depType) &&
|
|
165
|
+
!this.isLocalDependencyProtocol(currentVersion)) {
|
|
166
|
+
// If the dependency is specified using a range, do some additional processing to determine whether to update the version
|
|
167
|
+
if ((0, semver_1.isValidRange)(currentVersion) &&
|
|
168
|
+
!(0, semver_1.isMatchingDependencyRange)(version, currentVersion)) {
|
|
169
|
+
throw new Error(`"preserveMatchingDependencyRanges" is enabled for "${depType}" and the new version "${version}" is outside the current range for "${packageName}" in manifest "${manifestToUpdate.manifestPath}". Please update the range before releasing.`);
|
|
170
|
+
}
|
|
171
|
+
else if ((0, semver_1.isValidRange)(currentVersion)) {
|
|
172
|
+
// it is a range, but it is valid
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
156
176
|
json[depType][packageName] = version;
|
|
157
177
|
}
|
|
158
178
|
}
|
|
@@ -19,7 +19,7 @@ export interface UpdatePackageJsonOption {
|
|
|
19
19
|
buildableProjectDepsInPackageJsonType?: 'dependencies' | 'peerDependencies';
|
|
20
20
|
generateLockfile?: boolean;
|
|
21
21
|
packageJsonPath?: string;
|
|
22
|
-
|
|
22
|
+
developmentConditionName?: string | null;
|
|
23
23
|
}
|
|
24
24
|
export declare function updatePackageJson(options: UpdatePackageJsonOption, context: ExecutorContext, target: ProjectGraphProjectNode, dependencies: DependentBuildableProjectNode[], fileMap?: ProjectFileMap): void;
|
|
25
25
|
interface Exports {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-package-json.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/package-json/update-package-json.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,eAAe,EAIf,cAAc,EAGd,uBAAuB,EAIxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK7D,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5C,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yBAAyB,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACzC,yBAAyB,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAClD,qCAAqC,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,
|
|
1
|
+
{"version":3,"file":"update-package-json.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/package-json/update-package-json.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,eAAe,EAIf,cAAc,EAGd,uBAAuB,EAIxB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAIxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAK7D,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,CAAC;AAE5C,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yBAAyB,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACzC,yBAAyB,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,uCAAuC,CAAC,EAAE,OAAO,CAAC;IAClD,qCAAqC,CAAC,EAAE,cAAc,GAAG,kBAAkB,CAAC;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,uBAAuB,EAC/B,YAAY,EAAE,6BAA6B,EAAE,EAC7C,OAAO,GAAE,cAAqB,GAC7B,IAAI,CAmFN;AAiFD,UAAU,OAAO;IACf,GAAG,EAAE,MAAM,CAAC;IAEZ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,IAAI,CACX,uBAAuB,EACrB,MAAM,GACN,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,uBAAuB,GACvB,YAAY,GACZ,iBAAiB,CACpB,GAAG;IACF,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAgCT;AAED,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,uBAAuB,GAC/B,WAAW,CAuGb;AA2CD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,IAAI,CACX,uBAAuB,EACrB,MAAM,GACN,SAAS,GACT,aAAa,GACb,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,CACpB,GACA,MAAM,CAWR"}
|
|
@@ -50,10 +50,7 @@ function updatePackageJson(options, context, target, dependencies, fileMap = nul
|
|
|
50
50
|
options.format = ['cjs'];
|
|
51
51
|
}
|
|
52
52
|
// update package specific settings
|
|
53
|
-
packageJson = getUpdatedPackageJsonContent(packageJson,
|
|
54
|
-
skipDevelopmentExports: true,
|
|
55
|
-
...options,
|
|
56
|
-
});
|
|
53
|
+
packageJson = getUpdatedPackageJsonContent(packageJson, options);
|
|
57
54
|
// save files
|
|
58
55
|
(0, devkit_1.writeJsonFile)(`${options.outputPath}/package.json`, packageJson);
|
|
59
56
|
if (options.generateLockfile) {
|
|
@@ -149,16 +146,18 @@ function getUpdatedPackageJsonContent(packageJson, options) {
|
|
|
149
146
|
packageJson.exports ??=
|
|
150
147
|
typeof packageJson.exports === 'string' ? {} : { ...packageJson.exports };
|
|
151
148
|
packageJson.exports['./package.json'] ??= './package.json';
|
|
152
|
-
if (
|
|
149
|
+
if (options.developmentConditionName && (hasCjsFormat || hasEsmFormat)) {
|
|
153
150
|
packageJson.exports['.'] ??= {};
|
|
154
151
|
const developmentExports = getDevelopmentExports(options);
|
|
155
152
|
for (const [exportEntry, filePath] of Object.entries(developmentExports)) {
|
|
156
153
|
if (!packageJson.exports[exportEntry]) {
|
|
157
154
|
packageJson.exports[exportEntry] ??= {};
|
|
158
|
-
packageJson.exports[exportEntry][
|
|
155
|
+
packageJson.exports[exportEntry][options.developmentConditionName] ??=
|
|
156
|
+
filePath;
|
|
159
157
|
}
|
|
160
158
|
else if (typeof packageJson.exports[exportEntry] === 'object') {
|
|
161
|
-
packageJson.exports[exportEntry].
|
|
159
|
+
packageJson.exports[exportEntry][options.developmentConditionName] ??=
|
|
160
|
+
filePath;
|
|
162
161
|
}
|
|
163
162
|
}
|
|
164
163
|
}
|
|
@@ -8,4 +8,16 @@ export declare function updateTsconfigFiles(tree: Tree, projectRoot: string, run
|
|
|
8
8
|
export declare function addProjectToTsSolutionWorkspace(tree: Tree, projectDir: string): Promise<void>;
|
|
9
9
|
export declare function getProjectType(tree: Tree, projectRoot: string, projectType?: 'library' | 'application'): 'library' | 'application';
|
|
10
10
|
export declare function getProjectSourceRoot(project: ProjectConfiguration, tree?: Tree): string;
|
|
11
|
+
/**
|
|
12
|
+
* Get the already defined or expected custom condition name. In case it's not
|
|
13
|
+
* yet defined, it returns the workspace package name or '@nx/source' in case
|
|
14
|
+
* it's not defined.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getCustomConditionName(tree: Tree, options?: {
|
|
17
|
+
skipDevelopmentFallback?: boolean;
|
|
18
|
+
}): string;
|
|
19
|
+
/**
|
|
20
|
+
* Get the already defined custom condition name or null if none is defined.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getDefinedCustomConditionName(tree: Tree): string | null;
|
|
11
23
|
//# sourceMappingURL=ts-solution-setup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-solution-setup.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/typescript/ts-solution-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,oBAAoB,EAGzB,KAAK,IAAI,EAGV,MAAM,YAAY,CAAC;AAWpB,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAU3D;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,OAAO,EACnB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAsBT;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAO3D;AAuDD,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,IAAI,CAsBN;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,IAAI,GACV,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,uBAAuB,EAAE,MAAM,EAC/B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,EAC5D,OAAO,GAAE,MAAM,EAAO,EACtB,OAAO,SAAQ,QAoFhB;AAED,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,iBAqDnB;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,GACtC,SAAS,GAAG,aAAa,CAoB3B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,IAAI,CAAC,EAAE,IAAI,GACV,MAAM,CAgBR"}
|
|
1
|
+
{"version":3,"file":"ts-solution-setup.d.ts","sourceRoot":"","sources":["../../../../../../packages/js/src/utils/typescript/ts-solution-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,oBAAoB,EAGzB,KAAK,IAAI,EAGV,MAAM,YAAY,CAAC;AAWpB,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAU3D;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,OAAO,EACnB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAsBT;AAED,wBAAgB,sBAAsB,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,OAAO,CAO3D;AAuDD,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,GACpB,IAAI,CAsBN;AAED,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,IAAI,GACV,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,uBAAuB,EAAE,MAAM,EAC/B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,EAC5D,OAAO,GAAE,MAAM,EAAO,EACtB,OAAO,SAAQ,QAoFhB;AAED,wBAAsB,+BAA+B,CACnD,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,MAAM,iBAqDnB;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,SAAS,GAAG,aAAa,GACtC,SAAS,GAAG,aAAa,CAoB3B;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,oBAAoB,EAC7B,IAAI,CAAC,EAAE,IAAI,GACV,MAAM,CAgBR;AAKD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,OAAO,GAAE;IAAE,uBAAuB,CAAC,EAAE,OAAO,CAAA;CAAO,GAClD,MAAM,CAqCR;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAqCvE"}
|