@nx/devkit 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
CHANGED
|
@@ -18,6 +18,7 @@ export { assertSupportedInstalledPackageVersion, assertSupportedPackageVersion,
|
|
|
18
18
|
export { createAsyncIterable, combineAsyncIterables, mapAsyncIterable, } from './src/utils/async-iterable';
|
|
19
19
|
export { calculateHashForCreateNodes, calculateHashesForCreateNodes, } from './src/utils/calculate-hash-for-create-nodes';
|
|
20
20
|
export { loadConfigFile, clearRequireCache } from './src/utils/config-utils';
|
|
21
|
+
export { isRequireEsmRaceError, retryOnRequireEsmRace, } from './src/utils/require-esm-race';
|
|
21
22
|
export { findPluginForConfigFile } from './src/utils/find-plugin-for-config-file';
|
|
22
23
|
export { getNamedInputs } from './src/utils/get-named-inputs';
|
|
23
24
|
export { logShowProjectCommand } from './src/utils/log-show-project-command';
|
package/dist/internal.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.assertSupportedPackageVersion = exports.assertSupportedInstalledPackageVersion = exports.getInstalledPackageVersionFromTree = exports.getInstalledPackageVersion = exports.getDeclaredPackageVersion = exports.addPlugin = exports.upsertTargetDefault = exports.updateTargetDefault = exports.readTargetDefaultsForTarget = exports.findTargetDefault = exports.addE2eCiTargetDefaults = exports.addBuildTargetDefaults = exports.isInteractive = exports.resolveImportPath = exports.ensureRootProjectName = exports.determineProjectNameAndRootOptions = exports.toProjectRelativePath = exports.deleteMatchingProperties = exports.processTargetOutputs = exports.NoTargetsToMigrateError = exports.migrateProjectExecutorsToPluginV1 = exports.migrateProjectExecutorsToPlugin = exports.openBatchConversionSession = exports.finalizeBatchConversion = exports.AggregatedLog = exports.forEachExecutorOptions = exports.getE2EWebServerInfo = exports.getRelativeCwd = exports.determineArtifactNameAndDirectoryOptions = exports.oxfmtConfigFiles = exports.prettierConfigFiles = exports.detectFormatterInTree = exports.hashDaemonClientEnv = exports.getGraphTimeDotEnvForTask = exports.applyDaemonEnvFromClient = exports.getAppliedDaemonClientEnv = exports.getDaemonClientEnvGeneration = exports.getCatalogManager = exports.acknowledgeBuildScripts = exports.PromptResolutionError = exports.resolvePrompt = exports.SchemaResolutionError = exports.ImplementationResolutionError = exports.resolveSchema = exports.resolveImplementation = exports.emitPluginWorkerLog = exports.safeWriteFileCache = exports.PluginCache = exports.createProjectRootMappingsFromProjectConfigurations = exports.signalToCode = void 0;
|
|
4
|
-
exports.
|
|
5
|
-
exports.
|
|
6
|
-
exports.
|
|
7
|
-
exports.workspaceRootInner = exports.workspaceDataDirectory = exports.warnUnshippableLocalPathSpec = exports.validateOutputs = exports.unparse = exports.textPrompt = exports.transformLegacyOutputs = exports.toOldFormat = exports.toNewFormat = exports.shouldStreamOutput = exports.setupWorkspaceContext = exports.setupAiAgentsGenerator = exports.setWorkspaceRoot = exports.selectPrompt = void 0;
|
|
4
|
+
exports.createProjectRootMappings = exports.createProjectGraphAndSourceMapsAsync = exports.createPackageJson = exports.createNxCloudOnboardingURLForWelcomeApp = exports.createNxCloudOnboardingURL = exports.createLockFile = exports.createDirectory = exports.connectToNxCloud = exports.combineGlobPatterns = exports.codeFrameColumns = exports.calculateReverseDeps = exports.calculateFileChanges = exports.buildProjectGraphAndSourceMapsWithoutDaemon = exports.buildPackageJsonWorkspacesMatcher = exports.buildPackageJsonPatterns = exports.WholeFileChange = exports.TargetProjectLocator = exports.TEN_MEGABYTES = exports.SyncError = exports.RemoteCacheV2 = exports.NX_PREFIX = exports.LockFileChange = exports.LARGE_BUFFER = exports.FsTree = exports.confirmationPrompt = exports.DeletedFileChange = exports.CompositeLifeCycle = exports.Cache = exports.BatchFunctionRunner = exports.runCommandsExecutor = exports.dasherize = exports.classify = exports.capitalize = exports.camelize = exports.checkAndCleanWithSemver = exports.eachValueFrom = exports.logShowProjectCommand = exports.getNamedInputs = exports.findPluginForConfigFile = exports.retryOnRequireEsmRace = exports.isRequireEsmRaceError = exports.clearRequireCache = exports.loadConfigFile = exports.calculateHashesForCreateNodes = exports.calculateHashForCreateNodes = exports.mapAsyncIterable = exports.combineAsyncIterables = exports.createAsyncIterable = exports.getSatisfyingInstalledPackageVersion = exports.getResolvedPackageVersion = void 0;
|
|
5
|
+
exports.getUnparsedOverrideArgs = exports.getTargetInputs = exports.getTargetConfigurationForTask = exports.getSourceDirOfDependentProjects = exports.getSerializedArgsForTask = exports.getRelativeProjectJsonSchemaPath = exports.getPrintableCommandArgsForTask = exports.getOutputs = exports.getNxRequirePaths = exports.getNxCloudUrl = exports.getNxCloudAppOnBoardingUrl = exports.getLockFileName = exports.getLatestCommitSha = exports.getLastValueFromAsyncIterableIterator = exports.getGlobPatternsFromPackageManagerWorkspaces = exports.getGeneratorInformation = exports.getFilesInDirectoryUsingContext = exports.getExecutorNameForTask = exports.getExecutorInformation = exports.getExecutorForTask = exports.getEnvPathsForTask = exports.getEnvFilesForTask = exports.getDependencyConfigs = exports.getCustomHasher = exports.getCliPath = exports.generatePrunedDeployOutput = exports.forceRegisterEsmLoader = exports.findProjectsNpmDependencies = exports.findProjectForPath = exports.findMatchingTargetNames = exports.findMatchingProjects = exports.findMatchingConfigFiles = exports.findInstalledPlugins = exports.findAllProjectNodeDependencies = exports.filterUsingGlobPatterns = exports.fileExists = exports.fileDataDepType = exports.fileDataDepTarget = exports.expandWildcardTargetConfiguration = exports.expandInitiatingTasksThroughNoop = exports.expandDependencyConfigSyntaxSugar = exports.dropEmptyPeerDependencySections = exports.directoryExists = exports.deriveGroupNameFromTarget = exports.defaultFileRead = exports.deduceDefaultBase = exports.daemonClient = exports.createTaskId = exports.createTargetDefaultsResults = exports.createRunManyDynamicOutputRenderer = void 0;
|
|
6
|
+
exports.runNxSync = exports.resolveCommandSyntacticSugar = exports.resetWorkspaceContext = exports.requireWithTsconfigFallback = exports.removeTasksFromTaskGraph = exports.relocatePrunedLocalPathSpec = exports.registerTsProject = exports.registerTsConfigPaths = exports.readProjectAndTargetFromTargetString = exports.readPackageJson = exports.readNxMigrateConfig = exports.readNxJsonFromDisk = exports.readModulePackageJson = exports.readFileMapCache = exports.readFileIfExisting = exports.readCachedProjectConfiguration = exports.quoteShellArg = exports.preventRecursionInGraphConstruction = exports.parseVersionFromPackageManagerField = exports.parseExecutor = exports.orange = exports.nxVersion = exports.normalizeTargetDependencyWithStringProjects = exports.normalizeDependencyConfigProjects = exports.normalizeDependencyConfigDefinition = exports.multiselectPrompt = exports.movePeerDependencyToDependencies = exports.mergeTargetConfigurations = exports.loadTsFile = exports.killProcessTreeGraceful = exports.killChildOnHostExit = exports.isWholeFileChange = exports.isRelativePath = exports.isProjectGraphProjectNode = exports.isProjectGraphExternalNode = exports.isNxCloudUsed = exports.isNpmProject = exports.isLockFileChange = exports.isDeletedFileChange = exports.isCacheableTask = exports.isCI = exports.isBuiltinModuleImport = exports.interpolate = exports.hashWithWorkspaceContext = exports.hashObject = exports.hashFile = exports.handleProjectGraphError = exports.handleImport = exports.globWithWorkspaceContext = exports.getWorkspacePackagesFromGraph = void 0;
|
|
7
|
+
exports.workspaceRootInner = exports.workspaceDataDirectory = exports.warnUnshippableLocalPathSpec = exports.validateOutputs = exports.unparse = exports.textPrompt = exports.transformLegacyOutputs = exports.toOldFormat = exports.toNewFormat = exports.shouldStreamOutput = exports.setupWorkspaceContext = exports.setupAiAgentsGenerator = exports.setWorkspaceRoot = exports.selectPrompt = exports.safeSpawn = exports.safeExecFileSync = void 0;
|
|
8
8
|
var devkit_internals_1 = require("nx/src/devkit-internals");
|
|
9
9
|
Object.defineProperty(exports, "signalToCode", { enumerable: true, get: function () { return devkit_internals_1.signalToCode; } });
|
|
10
10
|
Object.defineProperty(exports, "createProjectRootMappingsFromProjectConfigurations", { enumerable: true, get: function () { return devkit_internals_1.createProjectRootMappingsFromProjectConfigurations; } });
|
|
@@ -96,6 +96,9 @@ Object.defineProperty(exports, "calculateHashesForCreateNodes", { enumerable: tr
|
|
|
96
96
|
var config_utils_1 = require("./src/utils/config-utils");
|
|
97
97
|
Object.defineProperty(exports, "loadConfigFile", { enumerable: true, get: function () { return config_utils_1.loadConfigFile; } });
|
|
98
98
|
Object.defineProperty(exports, "clearRequireCache", { enumerable: true, get: function () { return config_utils_1.clearRequireCache; } });
|
|
99
|
+
var require_esm_race_1 = require("./src/utils/require-esm-race");
|
|
100
|
+
Object.defineProperty(exports, "isRequireEsmRaceError", { enumerable: true, get: function () { return require_esm_race_1.isRequireEsmRaceError; } });
|
|
101
|
+
Object.defineProperty(exports, "retryOnRequireEsmRace", { enumerable: true, get: function () { return require_esm_race_1.retryOnRequireEsmRace; } });
|
|
99
102
|
var find_plugin_for_config_file_1 = require("./src/utils/find-plugin-for-config-file");
|
|
100
103
|
Object.defineProperty(exports, "findPluginForConfigFile", { enumerable: true, get: function () { return find_plugin_for_config_file_1.findPluginForConfigFile; } });
|
|
101
104
|
var get_named_inputs_1 = require("./src/utils/get-named-inputs");
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRequireEsmRaceError = isRequireEsmRaceError;
|
|
4
|
+
exports.retryOnRequireEsmRace = retryOnRequireEsmRace;
|
|
5
|
+
const node_url_1 = require("node:url");
|
|
6
|
+
const dynamicImport = (modulePath) => import(modulePath);
|
|
7
|
+
const REQUIRE_ESM_RACE_MESSAGE = /Cannot require\(\) ES Module (.+) because it is not yet fully loaded\.(?:\r?\n|$)/;
|
|
8
|
+
const MAX_RETRIES = 20;
|
|
9
|
+
const CONFIG_EXTENSION_HINT = 'Rename your Vite or Vitest config file to use the .mts or .mjs extension to avoid this error.';
|
|
10
|
+
// Node rejects require() of an ES module while an import() of it is still
|
|
11
|
+
// linking. Newer Node versions expose ERR_REQUIRE_ESM_RACE_CONDITION
|
|
12
|
+
// (https://github.com/nodejs/node/pull/62462). Older versions report an
|
|
13
|
+
// ERR_INTERNAL_ASSERTION, so its known message is the only way to distinguish
|
|
14
|
+
// this race from unrelated internal assertions. Matching that legacy format is
|
|
15
|
+
// safe for the releases that emitted it.
|
|
16
|
+
function isRequireEsmRaceError(e) {
|
|
17
|
+
const { code, message } = (e ?? {});
|
|
18
|
+
return (code === 'ERR_REQUIRE_ESM_RACE_CONDITION' ||
|
|
19
|
+
(code === 'ERR_INTERNAL_ASSERTION' &&
|
|
20
|
+
/not yet fully loaded/.test(message ?? '')));
|
|
21
|
+
}
|
|
22
|
+
function getRacedModulePath(e) {
|
|
23
|
+
if (!isRequireEsmRaceError(e)) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
const { message } = e;
|
|
27
|
+
return message?.match(REQUIRE_ESM_RACE_MESSAGE)?.[1];
|
|
28
|
+
}
|
|
29
|
+
async function retryOnRequireEsmRace(load, importModule = dynamicImport) {
|
|
30
|
+
let retries = 0;
|
|
31
|
+
while (true) {
|
|
32
|
+
try {
|
|
33
|
+
return await load();
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
if (!isRequireEsmRaceError(e) || retries >= MAX_RETRIES) {
|
|
37
|
+
throw e;
|
|
38
|
+
}
|
|
39
|
+
const racedModulePath = getRacedModulePath(e);
|
|
40
|
+
if (!racedModulePath) {
|
|
41
|
+
const error = e;
|
|
42
|
+
error.message += `\n\n${CONFIG_EXTENSION_HINT}`;
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
retries++;
|
|
46
|
+
// This joins the cached module job instead of guessing when it settles.
|
|
47
|
+
await importModule((0, node_url_1.pathToFileURL)(racedModulePath).href);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx/devkit",
|
|
3
|
-
"version": "23.3.0-beta.
|
|
3
|
+
"version": "23.3.0-beta.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"files": [
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"jest": "30.3.0",
|
|
70
|
-
"nx": "23.3.0-beta.
|
|
70
|
+
"nx": "23.3.0-beta.3"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
73
|
"nx": ">= 22 <= 24 || ^23.0.0-0"
|