nx 20.7.2 → 20.8.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/.eslintrc.json +3 -1
- package/package.json +11 -11
- package/release/index.d.ts +1 -1
- package/release/index.js +2 -1
- package/schemas/nx-schema.json +133 -33
- package/src/command-line/release/changelog.js +15 -10
- package/src/command-line/release/command-object.d.ts +1 -0
- package/src/command-line/release/command-object.js +4 -0
- package/src/command-line/release/config/config.d.ts +8 -7
- package/src/command-line/release/config/config.js +122 -42
- package/src/command-line/release/config/use-legacy-versioning.d.ts +2 -0
- package/src/command-line/release/config/use-legacy-versioning.js +9 -0
- package/src/command-line/release/index.d.ts +4 -0
- package/src/command-line/release/index.js +6 -1
- package/src/command-line/release/plan-check.js +6 -3
- package/src/command-line/release/plan.js +7 -3
- package/src/command-line/release/publish.js +5 -3
- package/src/command-line/release/release.js +8 -3
- package/src/command-line/release/utils/batch-projects-by-generator-config.js +6 -3
- package/src/command-line/release/utils/git.d.ts +2 -1
- package/src/command-line/release/utils/git.js +10 -2
- package/src/command-line/release/utils/github.js +3 -1
- package/src/command-line/release/utils/resolve-semver-specifier.d.ts +2 -1
- package/src/command-line/release/utils/resolve-semver-specifier.js +2 -1
- package/src/command-line/release/utils/semver.d.ts +8 -0
- package/src/command-line/release/utils/semver.js +8 -0
- package/src/command-line/release/utils/shared-legacy.d.ts +25 -0
- package/src/command-line/release/utils/shared-legacy.js +2 -0
- package/src/command-line/release/utils/shared.d.ts +11 -17
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.d.ts +7 -0
- package/src/command-line/release/version/derive-specifier-from-conventional-commits.js +47 -0
- package/src/command-line/release/version/deriver-specifier-from-version-plans.d.ts +8 -0
- package/src/command-line/release/version/deriver-specifier-from-version-plans.js +59 -0
- package/src/command-line/release/version/project-logger.d.ts +8 -0
- package/src/command-line/release/version/project-logger.js +45 -0
- package/src/command-line/release/version/release-group-processor.d.ts +251 -0
- package/src/command-line/release/version/release-group-processor.js +1040 -0
- package/src/command-line/release/version/resolve-current-version.d.ts +32 -0
- package/src/command-line/release/version/resolve-current-version.js +241 -0
- package/src/command-line/release/version/test-utils.d.ts +95 -0
- package/src/command-line/release/version/test-utils.js +416 -0
- package/src/command-line/release/version/topological-sort.d.ts +9 -0
- package/src/command-line/release/version/topological-sort.js +41 -0
- package/src/command-line/release/version/version-actions.d.ts +170 -0
- package/src/command-line/release/version/version-actions.js +183 -0
- package/src/command-line/release/version-legacy.d.ts +46 -0
- package/src/command-line/release/version-legacy.js +453 -0
- package/src/command-line/release/version.d.ts +0 -40
- package/src/command-line/release/version.js +80 -262
- package/src/config/nx-json.d.ts +110 -12
- package/src/config/workspace-json-project-json.d.ts +2 -2
- package/src/core/graph/main.js +1 -1
- package/src/core/graph/styles.css +1 -1
- package/src/native/index.d.ts +6 -0
- package/src/native/native-bindings.js +1 -0
- package/src/native/nx.wasi-browser.js +7 -7
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/plugins/js/lock-file/utils/package-json.d.ts +1 -1
- package/src/plugins/js/lock-file/utils/package-json.js +2 -1
- package/src/plugins/js/lock-file/yarn-parser.js +75 -29
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.d.ts +10 -1
- package/src/plugins/js/project-graph/build-dependencies/target-project-locator.js +59 -6
- package/src/project-graph/error-types.js +28 -1
- package/src/project-graph/utils/project-configuration-utils.js +14 -2
- package/src/tasks-runner/cache.d.ts +1 -0
- package/src/tasks-runner/cache.js +11 -0
- package/src/utils/handle-errors.js +15 -0
@@ -153,10 +153,37 @@ function isProjectWithNoNameError(e) {
|
|
153
153
|
}
|
154
154
|
class ProjectConfigurationsError extends Error {
|
155
155
|
constructor(errors, partialProjectConfigurationsResult) {
|
156
|
-
|
156
|
+
const messageFragments = ['Failed to create project configurations.'];
|
157
|
+
const mergeNodesErrors = [];
|
158
|
+
const unknownErrors = [];
|
159
|
+
for (const e of errors) {
|
160
|
+
if (
|
161
|
+
// Known error type, but unlikely to be caused by the user
|
162
|
+
isMergeNodesError(e)) {
|
163
|
+
mergeNodesErrors.push(e);
|
164
|
+
}
|
165
|
+
else if (
|
166
|
+
// Known errors that are self-explanatory
|
167
|
+
!isAggregateCreateNodesError(e) &&
|
168
|
+
!isProjectsWithNoNameError(e) &&
|
169
|
+
!isMultipleProjectsWithSameNameError(e)) {
|
170
|
+
unknownErrors.push(e);
|
171
|
+
}
|
172
|
+
}
|
173
|
+
if (mergeNodesErrors.length > 0) {
|
174
|
+
messageFragments.push(`This type of error most likely points to an issue within Nx. Please report it.`);
|
175
|
+
}
|
176
|
+
if (unknownErrors.length > 0) {
|
177
|
+
messageFragments.push(`If the error cause is not obvious from the below error messages, running "nx reset" may fix it. Please report the issue if you keep seeing it.`);
|
178
|
+
}
|
179
|
+
super(messageFragments.join(' '));
|
157
180
|
this.errors = errors;
|
158
181
|
this.partialProjectConfigurationsResult = partialProjectConfigurationsResult;
|
159
182
|
this.name = this.constructor.name;
|
183
|
+
this.errors = errors;
|
184
|
+
this.stack = errors
|
185
|
+
.map((error) => indentString(formatErrorStackAndCause(error), 2))
|
186
|
+
.join('\n');
|
160
187
|
}
|
161
188
|
}
|
162
189
|
exports.ProjectConfigurationsError = ProjectConfigurationsError;
|
@@ -138,8 +138,20 @@ skipTargetNormalization) {
|
|
138
138
|
const normalizedTarget = skipTargetNormalization
|
139
139
|
? target
|
140
140
|
: resolveCommandSyntacticSugar(target, project.root);
|
141
|
-
|
142
|
-
|
141
|
+
let matchingTargets = [];
|
142
|
+
if ((0, globs_1.isGlobPattern)(targetName)) {
|
143
|
+
// find all targets matching the glob pattern
|
144
|
+
// this will map atomized targets to the glob pattern same as it does for targetDefaults
|
145
|
+
matchingTargets = Object.keys(updatedProjectConfiguration.targets).filter((key) => (0, minimatch_1.minimatch)(key, targetName));
|
146
|
+
}
|
147
|
+
// If no matching targets were found, we can assume that the target name is not (meant to be) a glob pattern
|
148
|
+
if (!matchingTargets.length) {
|
149
|
+
matchingTargets = [targetName];
|
150
|
+
}
|
151
|
+
for (const matchingTargetName of matchingTargets) {
|
152
|
+
const mergedTarget = mergeTargetConfigurations(normalizedTarget, matchingProject.targets?.[matchingTargetName], sourceMap, sourceInformation, `targets.${matchingTargetName}`);
|
153
|
+
updatedProjectConfiguration.targets[matchingTargetName] = mergedTarget;
|
154
|
+
}
|
143
155
|
}
|
144
156
|
}
|
145
157
|
projectRootMap[updatedProjectConfiguration.root] =
|
@@ -169,6 +169,7 @@ class DbCache {
|
|
169
169
|
(await this.getSharedCache()) ??
|
170
170
|
(await this.getGcsCache()) ??
|
171
171
|
(await this.getAzureCache()) ??
|
172
|
+
this.getHttpCache() ??
|
172
173
|
null);
|
173
174
|
}
|
174
175
|
}
|
@@ -196,6 +197,16 @@ class DbCache {
|
|
196
197
|
return cache;
|
197
198
|
return this.resolveRemoteCache('@nx/powerpack-azure-cache');
|
198
199
|
}
|
200
|
+
getHttpCache() {
|
201
|
+
if (process.env.NX_SELF_HOSTED_REMOTE_CACHE_SERVER) {
|
202
|
+
if (native_1.IS_WASM) {
|
203
|
+
logger_1.logger.warn('The HTTP remote cache is not yet supported in the wasm build of Nx.');
|
204
|
+
return null;
|
205
|
+
}
|
206
|
+
return new native_1.HttpRemoteCache();
|
207
|
+
}
|
208
|
+
return null;
|
209
|
+
}
|
199
210
|
async resolveRemoteCache(pkg) {
|
200
211
|
let getRemoteCache = null;
|
201
212
|
try {
|
@@ -31,6 +31,21 @@ async function handleErrors(isVerbose, fn) {
|
|
31
31
|
: projectGraphError.getErrors().map((e) => e.message),
|
32
32
|
});
|
33
33
|
}
|
34
|
+
else if (err.name === 'ProjectConfigurationsError') {
|
35
|
+
const projectConfigurationsError = err;
|
36
|
+
let title = projectConfigurationsError.message;
|
37
|
+
if (projectConfigurationsError.cause &&
|
38
|
+
typeof projectConfigurationsError.cause === 'object' &&
|
39
|
+
'message' in projectConfigurationsError.cause) {
|
40
|
+
title += ' ' + projectConfigurationsError.cause.message + '.';
|
41
|
+
}
|
42
|
+
output_1.output.error({
|
43
|
+
title,
|
44
|
+
bodyLines: isVerbose
|
45
|
+
? formatErrorStackAndCause(projectConfigurationsError, isVerbose)
|
46
|
+
: projectConfigurationsError.errors.map((e) => e.message),
|
47
|
+
});
|
48
|
+
}
|
34
49
|
else {
|
35
50
|
const lines = (err.message ? err.message : err.toString()).split('\n');
|
36
51
|
const bodyLines = lines.slice(1);
|