@nx/js 23.3.0-beta.1 → 23.3.0-beta.3
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/dist/internal.d.ts +1 -1
- package/dist/internal.js +3 -2
- package/dist/src/executors/release-publish/release-publish.impl.js +57 -39
- package/dist/src/generators/library/library.js +6 -0
- package/dist/src/utils/swc/add-swc-dependencies.d.ts +1 -0
- package/dist/src/utils/swc/add-swc-dependencies.js +6 -2
- package/package.json +11 -11
package/dist/internal.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { getNeededCompilerOptionOverrides } from './src/utils/typescript/configu
|
|
|
15
15
|
export { compileTypeScript, type TypeScriptCompilationOptions, } from './src/utils/typescript/compilation';
|
|
16
16
|
export { calculateProjectBuildableDependencies, calculateProjectDependencies, computeCompilerOptionsPaths, createTmpTsConfig, type DependentBuildableProjectNode, } from './src/utils/buildable-libs-utils';
|
|
17
17
|
export { addSwcConfig, addSwcTestConfig } from './src/utils/swc/add-swc-config';
|
|
18
|
-
export { addSwcDependencies, addSwcRegisterDependencies, } from './src/utils/swc/add-swc-dependencies';
|
|
18
|
+
export { acknowledgeSwcBuildScripts, addSwcDependencies, addSwcRegisterDependencies, } from './src/utils/swc/add-swc-dependencies';
|
|
19
19
|
export { type AssetGlob } from './src/utils/assets/assets';
|
|
20
20
|
export { CopyAssetsHandler } from './src/utils/assets/copy-assets-handler';
|
|
21
21
|
export { sortPackageJsonFields } from './src/utils/package-json/sort-fields';
|
package/dist/internal.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// internal consumers and may change without semver protection. Consider it
|
|
6
6
|
// the @nx/js equivalent of `@nx/devkit/internal`.
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.
|
|
9
|
-
exports.typesNodeVersion = exports.tsLibVersion = exports.swcNodeVersion = exports.swcHelpersVersion = exports.swcCoreVersion = exports.swcCliVersion = exports.prettierVersion = exports.esbuildVersion = exports.nxVersion = exports.releaseTasks = exports.addReleaseConfigForTsSolution = exports.addReleaseConfigForNonTsSolution = exports.addLocalRegistryScripts = exports.stripGlobToBaseDir = exports.getImportPath = exports.createGlobPatternsForDependencies = exports.addLintingToProject = exports.detectLinters = exports.normalizeUnitTestRunnerOption = void 0;
|
|
8
|
+
exports.isValidPackageJsonBuildConfig = exports.addBuildAndWatchDepsTargets = exports.findNpmDependencies = exports.getProjectPackageManagerWorkspaceStateWarningTask = exports.getProjectPackageManagerWorkspaceState = exports.getNpmScope = exports.sortPackageJsonFields = exports.CopyAssetsHandler = exports.addSwcRegisterDependencies = exports.addSwcDependencies = exports.acknowledgeSwcBuildScripts = exports.addSwcTestConfig = exports.addSwcConfig = exports.createTmpTsConfig = exports.computeCompilerOptionsPaths = exports.calculateProjectDependencies = exports.calculateProjectBuildableDependencies = exports.compileTypeScript = exports.getNeededCompilerOptionOverrides = exports.isTypescriptVersionAtLeast = exports.getTsConfigModuleResolution = exports.getRangeMinimum = exports.ensureTypescript = exports.createTreeParseConfigHost = exports.getTsConfigBaseOptions = exports.updateTsconfigFiles = exports.shouldConfigureTsSolutionSetup = exports.isUsingTsSolutionSetup = exports.getProjectType = exports.getProjectSourceRoot = exports.getDefinedCustomConditionName = exports.findRuntimeTsConfigName = exports.assertNotUsingTsSolutionSetup = exports.addProjectToTsSolutionWorkspace = exports.TS_SOLUTION_SETUP_TSCONFIG_INPUT = exports.addPnpmDeployOutputCacheInputs = exports.shouldIncludePnpmMajorRuntimeInput = exports.pnpmInstallSettingsInputsForInferredTarget = exports.PNPM_MAJOR_RUNTIME_INPUT = exports.PNPM_INSTALL_SETTINGS_INPUTS = exports.isEsmProject = exports.walkTsconfigExtendsChain = exports.findProjectsNpmDependencies = exports.isBuiltinModuleImport = exports.TargetProjectLocator = exports.requireWithTsconfigFallback = exports.registerTsConfigPaths = exports.registerTsProject = exports.loadTsFile = exports.forceRegisterEsmLoader = void 0;
|
|
9
|
+
exports.typesNodeVersion = exports.tsLibVersion = exports.swcNodeVersion = exports.swcHelpersVersion = exports.swcCoreVersion = exports.swcCliVersion = exports.prettierVersion = exports.esbuildVersion = exports.nxVersion = exports.releaseTasks = exports.addReleaseConfigForTsSolution = exports.addReleaseConfigForNonTsSolution = exports.addLocalRegistryScripts = exports.stripGlobToBaseDir = exports.getImportPath = exports.createGlobPatternsForDependencies = exports.addLintingToProject = exports.detectLinters = exports.normalizeUnitTestRunnerOption = exports.normalizeLinterOption = void 0;
|
|
10
10
|
// Re-exports of nx-source internals.
|
|
11
11
|
var internal_1 = require("@nx/devkit/internal");
|
|
12
12
|
Object.defineProperty(exports, "forceRegisterEsmLoader", { enumerable: true, get: function () { return internal_1.forceRegisterEsmLoader; } });
|
|
@@ -75,6 +75,7 @@ var add_swc_config_1 = require("./src/utils/swc/add-swc-config");
|
|
|
75
75
|
Object.defineProperty(exports, "addSwcConfig", { enumerable: true, get: function () { return add_swc_config_1.addSwcConfig; } });
|
|
76
76
|
Object.defineProperty(exports, "addSwcTestConfig", { enumerable: true, get: function () { return add_swc_config_1.addSwcTestConfig; } });
|
|
77
77
|
var add_swc_dependencies_1 = require("./src/utils/swc/add-swc-dependencies");
|
|
78
|
+
Object.defineProperty(exports, "acknowledgeSwcBuildScripts", { enumerable: true, get: function () { return add_swc_dependencies_1.acknowledgeSwcBuildScripts; } });
|
|
78
79
|
Object.defineProperty(exports, "addSwcDependencies", { enumerable: true, get: function () { return add_swc_dependencies_1.addSwcDependencies; } });
|
|
79
80
|
Object.defineProperty(exports, "addSwcRegisterDependencies", { enumerable: true, get: function () { return add_swc_dependencies_1.addSwcRegisterDependencies; } });
|
|
80
81
|
var copy_assets_handler_1 = require("./src/utils/assets/copy-assets-handler");
|
|
@@ -39,6 +39,19 @@ function isAlreadyPublishedPublishError(stdoutData, stderr = '', stdout = '') {
|
|
|
39
39
|
(error?.code === 'E409' &&
|
|
40
40
|
errorMessage.includes('this package is already present')));
|
|
41
41
|
}
|
|
42
|
+
function isNpmViewNotFoundError(err) {
|
|
43
|
+
if (err.code === 'ENOBUFS' || err.signal) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
try {
|
|
47
|
+
const errorCode = JSON.parse(err.stdout?.toString() || '{}').error?.code;
|
|
48
|
+
if (errorCode) {
|
|
49
|
+
return errorCode === 'E404';
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch { }
|
|
53
|
+
return /(?:^|\n)npm (?:ERR!|error) code E404(?:\n|$)/i.test(err.stderr?.toString() || '');
|
|
54
|
+
}
|
|
42
55
|
async function runExecutor(options, context) {
|
|
43
56
|
const pm = (0, devkit_1.detectPackageManager)();
|
|
44
57
|
// Check if npm is installed (needed for dist-tag management and as fallback for view command)
|
|
@@ -146,10 +159,11 @@ Please update the local dependency on "${depName}" to be a valid semantic versio
|
|
|
146
159
|
}, warnFn);
|
|
147
160
|
// Use bun info when bun is the package manager, otherwise use npm view
|
|
148
161
|
// (npm view works across npm/pnpm/yarn environments and is the established default)
|
|
162
|
+
const npmViewDistTagField = `dist-tags[${tag}]`;
|
|
149
163
|
const npmViewCommandSegments = pm === 'bun'
|
|
150
164
|
? ['bun info', packageName, `--json --"${registryConfigKey}=${registry}"`]
|
|
151
165
|
: [
|
|
152
|
-
`npm view ${packageName}
|
|
166
|
+
`npm view ${packageName}@${packageJson.version} name version "${npmViewDistTagField}" --json --"${registryConfigKey}=${registry}"`,
|
|
153
167
|
];
|
|
154
168
|
const npmDistTagAddCommandSegments = [
|
|
155
169
|
`npm dist-tag add ${packageName}@${packageJson.version} ${tag} --"${registryConfigKey}=${registry}"`,
|
|
@@ -172,22 +186,46 @@ Please update the local dependency on "${depName}" to be a valid semantic versio
|
|
|
172
186
|
windowsHide: true,
|
|
173
187
|
});
|
|
174
188
|
// `npm view`/`bun info` can exit 0 with empty stdout when the package exists in the registry but has
|
|
175
|
-
// no published versions or dist-tags yet (e.g. GitHub packages). Treat empty output the
|
|
189
|
+
// no published versions or dist-tags yet (e.g. GitHub packages). Treat empty output the same as
|
|
176
190
|
// package not existing yet and continue to the publish step.
|
|
177
|
-
const
|
|
178
|
-
|
|
179
|
-
|
|
191
|
+
const output = result.toString().trim();
|
|
192
|
+
let distTagVersion;
|
|
193
|
+
let versionExists;
|
|
194
|
+
if (!output) {
|
|
195
|
+
versionExists = false;
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
const resultJson = JSON.parse(output);
|
|
199
|
+
if (pm === 'bun') {
|
|
200
|
+
distTagVersion = resultJson['dist-tags']?.[tag];
|
|
201
|
+
versionExists = (Array.isArray(resultJson.versions)
|
|
202
|
+
? resultJson.versions
|
|
203
|
+
: [resultJson.versions]).includes(currentVersion);
|
|
204
|
+
}
|
|
205
|
+
else {
|
|
206
|
+
const metadataEntries = Array.isArray(resultJson)
|
|
207
|
+
? resultJson
|
|
208
|
+
: [resultJson];
|
|
209
|
+
const currentVersionMetadata = metadataEntries.find((metadata) => metadata?.name === packageName &&
|
|
210
|
+
metadata?.version === currentVersion);
|
|
211
|
+
if (!currentVersionMetadata) {
|
|
212
|
+
console.error(`Something unexpected went wrong when checking for existing dist-tags. The registry returned metadata that did not match ${packageName}@${currentVersion}.`);
|
|
213
|
+
return {
|
|
214
|
+
success: false,
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
distTagVersion = currentVersionMetadata[npmViewDistTagField];
|
|
218
|
+
versionExists = true;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
if (distTagVersion === currentVersion) {
|
|
180
222
|
console.warn(`Skipped ${packageTxt} because v${currentVersion} already exists in ${registry} with tag "${tag}"`);
|
|
181
223
|
return {
|
|
182
224
|
success: true,
|
|
183
225
|
};
|
|
184
226
|
}
|
|
185
227
|
if (isNpmInstalled) {
|
|
186
|
-
|
|
187
|
-
const versions = Array.isArray(resultJson.versions)
|
|
188
|
-
? resultJson.versions
|
|
189
|
-
: [resultJson.versions];
|
|
190
|
-
if (versions.includes(currentVersion)) {
|
|
228
|
+
if (versionExists) {
|
|
191
229
|
try {
|
|
192
230
|
if (!isDryRun) {
|
|
193
231
|
(0, child_process_1.execSync)(npmDistTagAddCommandSegments.join(' '), {
|
|
@@ -248,35 +286,15 @@ Please update the local dependency on "${depName}" to be a valid semantic versio
|
|
|
248
286
|
}
|
|
249
287
|
}
|
|
250
288
|
catch (err) {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
err.stderr?.toString().toLowerCase().includes('not found'))) {
|
|
261
|
-
console.error(`Something unexpected went wrong when checking for existing dist-tags.\n`, err);
|
|
262
|
-
return {
|
|
263
|
-
success: false,
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
catch {
|
|
268
|
-
// JSON parse failed entirely — check stderr/stdout for plain 404
|
|
269
|
-
const stderrStr = err.stderr?.toString() || '';
|
|
270
|
-
const stdoutStr = err.stdout?.toString() || '';
|
|
271
|
-
if (!((stderrStr.includes('404') &&
|
|
272
|
-
stderrStr.toLowerCase().includes('not found')) ||
|
|
273
|
-
(stdoutStr.includes('404') &&
|
|
274
|
-
stdoutStr.toLowerCase().includes('not found')))) {
|
|
275
|
-
console.error(`Something unexpected went wrong when checking for existing dist-tags.\n`, err);
|
|
276
|
-
return {
|
|
277
|
-
success: false,
|
|
278
|
-
};
|
|
279
|
-
}
|
|
289
|
+
const isNotFound = pm === 'bun'
|
|
290
|
+
? [err.stderr?.toString(), err.stdout?.toString()].some((output) => output?.includes('404') &&
|
|
291
|
+
output.toLowerCase().includes('not found'))
|
|
292
|
+
: isNpmViewNotFoundError(err);
|
|
293
|
+
if (!isNotFound) {
|
|
294
|
+
console.error(`Something unexpected went wrong when checking for existing dist-tags.\n`, err);
|
|
295
|
+
return {
|
|
296
|
+
success: false,
|
|
297
|
+
};
|
|
280
298
|
}
|
|
281
299
|
}
|
|
282
300
|
}
|
|
@@ -665,6 +665,11 @@ async function normalizeOptions(tree, options) {
|
|
|
665
665
|
}
|
|
666
666
|
function addProjectDependencies(tree, options) {
|
|
667
667
|
if (options.bundler == 'esbuild') {
|
|
668
|
+
// esbuild's install script only validates the prebuilt binary that ships as
|
|
669
|
+
// an optional dependency.
|
|
670
|
+
(0, internal_1.acknowledgeBuildScripts)(tree, (0, devkit_1.detectPackageManager)(tree.root), {
|
|
671
|
+
esbuild: false,
|
|
672
|
+
});
|
|
668
673
|
return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, {
|
|
669
674
|
'@nx/esbuild': versions_1.nxVersion,
|
|
670
675
|
'@types/node': versions_1.typesNodeVersion,
|
|
@@ -684,6 +689,7 @@ function addProjectDependencies(tree, options) {
|
|
|
684
689
|
return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { tslib: versions_1.tsLibVersion, '@types/node': versions_1.typesNodeVersion }, undefined, true);
|
|
685
690
|
}
|
|
686
691
|
else if (options.bundler === 'swc') {
|
|
692
|
+
(0, add_swc_dependencies_1.acknowledgeSwcBuildScripts)(tree);
|
|
687
693
|
const { dependencies, devDependencies } = (0, add_swc_dependencies_1.getSwcDependencies)();
|
|
688
694
|
return (0, devkit_1.addDependenciesToPackageJson)(tree, { ...dependencies }, { ...devDependencies, '@types/node': versions_1.typesNodeVersion }, undefined, true);
|
|
689
695
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.acknowledgeSwcBuildScripts = acknowledgeSwcBuildScripts;
|
|
3
4
|
exports.getSwcDependencies = getSwcDependencies;
|
|
4
5
|
exports.addSwcDependencies = addSwcDependencies;
|
|
5
6
|
exports.addSwcRegisterDependencies = addSwcRegisterDependencies;
|
|
@@ -9,6 +10,9 @@ const versions_1 = require("../versions");
|
|
|
9
10
|
// @swc/core's postinstall only installs a wasm fallback for platforms not
|
|
10
11
|
// covered by its prebuilt optional dependencies, so skip it.
|
|
11
12
|
const swcAllowBuilds = { '@swc/core': false };
|
|
13
|
+
function acknowledgeSwcBuildScripts(tree) {
|
|
14
|
+
(0, internal_1.acknowledgeBuildScripts)(tree, (0, devkit_1.detectPackageManager)(tree.root), swcAllowBuilds);
|
|
15
|
+
}
|
|
12
16
|
function getSwcDependencies() {
|
|
13
17
|
const dependencies = {
|
|
14
18
|
'@swc/helpers': versions_1.swcHelpersVersion,
|
|
@@ -21,10 +25,10 @@ function getSwcDependencies() {
|
|
|
21
25
|
}
|
|
22
26
|
function addSwcDependencies(tree) {
|
|
23
27
|
const { dependencies, devDependencies } = getSwcDependencies();
|
|
24
|
-
(
|
|
28
|
+
acknowledgeSwcBuildScripts(tree);
|
|
25
29
|
return (0, devkit_1.addDependenciesToPackageJson)(tree, dependencies, devDependencies, undefined, true);
|
|
26
30
|
}
|
|
27
31
|
function addSwcRegisterDependencies(tree) {
|
|
28
|
-
(
|
|
32
|
+
acknowledgeSwcBuildScripts(tree);
|
|
29
33
|
return (0, devkit_1.addDependenciesToPackageJson)(tree, {}, { '@swc-node/register': versions_1.swcNodeVersion, '@swc/core': versions_1.swcCoreVersion }, undefined, true);
|
|
30
34
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/js",
|
|
3
|
-
"version": "23.3.0-beta.
|
|
3
|
+
"version": "23.3.0-beta.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"files": [
|
|
@@ -147,18 +147,18 @@
|
|
|
147
147
|
"source-map-support": "0.5.19",
|
|
148
148
|
"tinyglobby": "^0.2.12",
|
|
149
149
|
"tslib": "^2.3.0",
|
|
150
|
-
"@nx/devkit": "23.3.0-beta.
|
|
151
|
-
"@nx/workspace": "23.3.0-beta.
|
|
150
|
+
"@nx/devkit": "23.3.0-beta.3",
|
|
151
|
+
"@nx/workspace": "23.3.0-beta.3"
|
|
152
152
|
},
|
|
153
153
|
"devDependencies": {
|
|
154
|
-
"@nx/
|
|
155
|
-
"@nx/
|
|
156
|
-
"@nx/
|
|
157
|
-
"@nx/
|
|
158
|
-
"@nx/
|
|
159
|
-
"@nx/vite": "23.3.0-beta.
|
|
160
|
-
"
|
|
161
|
-
"nx": "23.3.0-beta.
|
|
154
|
+
"@nx/eslint": "23.3.0-beta.3",
|
|
155
|
+
"@nx/jest": "23.3.0-beta.3",
|
|
156
|
+
"@nx/oxlint": "23.3.0-beta.3",
|
|
157
|
+
"@nx/rollup": "23.3.0-beta.3",
|
|
158
|
+
"@nx/vitest": "23.3.0-beta.3",
|
|
159
|
+
"@nx/vite": "23.3.0-beta.3",
|
|
160
|
+
"nx": "23.3.0-beta.3",
|
|
161
|
+
"@nx/esbuild": "23.3.0-beta.3"
|
|
162
162
|
},
|
|
163
163
|
"peerDependencies": {
|
|
164
164
|
"@swc/cli": ">=0.6.0 <0.9.0",
|