nx 19.8.0-canary.20240917-5b34ea5 → 19.8.0-canary.20240919-7f4a877
Sign up to get free protection for your applications and to get access to all the features.
- package/bin/nx-cloud.js +0 -0
- package/package.json +17 -17
- package/schemas/nx-schema.json +2 -2
- package/src/command-line/activate-powerpack/activate-powerpack.d.ts +2 -0
- package/src/command-line/activate-powerpack/activate-powerpack.js +32 -0
- package/src/command-line/activate-powerpack/command-object.d.ts +6 -0
- package/src/command-line/activate-powerpack/command-object.js +26 -0
- package/src/command-line/add/command-object.d.ts +1 -1
- package/src/command-line/format/format.js +24 -7
- package/src/command-line/import/import.js +9 -4
- package/src/command-line/import/utils/prepare-source-repo.js +7 -35
- package/src/command-line/init/init-v2.d.ts +1 -1
- package/src/command-line/init/init-v2.js +10 -4
- package/src/command-line/list/list.js +2 -0
- package/src/command-line/nx-commands.d.ts +1 -1
- package/src/command-line/nx-commands.js +77 -57
- package/src/command-line/release/command-object.d.ts +2 -2
- package/src/command-line/release/config/config.js +8 -2
- package/src/command-line/release/utils/git.d.ts +2 -2
- package/src/command-line/release/utils/git.js +12 -2
- package/src/command-line/release/utils/shared.d.ts +1 -1
- package/src/command-line/release/version.js +4 -0
- package/src/command-line/report/report.d.ts +3 -0
- package/src/command-line/report/report.js +27 -1
- package/src/config/nx-json.d.ts +13 -5
- package/src/core/graph/main.js +1 -1
- package/src/native/index.d.ts +2 -1
- package/src/native/nx.wasm32-wasi.wasm +0 -0
- package/src/tasks-runner/cache.d.ts +5 -1
- package/src/tasks-runner/cache.js +51 -5
- package/src/tasks-runner/init-tasks-runner.d.ts +1 -1
- package/src/tasks-runner/init-tasks-runner.js +5 -3
- package/src/tasks-runner/life-cycles/invoke-runner-terminal-output-life-cycle.d.ts +0 -2
- package/src/tasks-runner/life-cycles/invoke-runner-terminal-output-life-cycle.js +0 -5
- package/src/tasks-runner/life-cycles/static-run-many-terminal-output-life-cycle.d.ts +2 -6
- package/src/tasks-runner/life-cycles/static-run-one-terminal-output-life-cycle.d.ts +2 -6
- package/src/tasks-runner/life-cycles/store-run-information-life-cycle.d.ts +2 -7
- package/src/tasks-runner/life-cycles/task-profiling-life-cycle.d.ts +2 -7
- package/src/tasks-runner/life-cycles/task-results-life-cycle.d.ts +6 -0
- package/src/tasks-runner/life-cycles/task-results-life-cycle.js +17 -0
- package/src/tasks-runner/life-cycles/task-timings-life-cycle.d.ts +2 -7
- package/src/tasks-runner/run-command.d.ts +12 -2
- package/src/tasks-runner/run-command.js +52 -59
- package/src/tasks-runner/task-orchestrator.d.ts +0 -1
- package/src/tasks-runner/task-orchestrator.js +5 -7
- package/src/utils/db-connection.d.ts +4 -1
- package/src/utils/db-connection.js +15 -4
- package/src/utils/git-utils.d.ts +4 -2
- package/src/utils/git-utils.index-filter.d.ts +0 -0
- package/src/utils/git-utils.index-filter.js +20 -0
- package/src/utils/git-utils.js +48 -13
- package/src/utils/git-utils.tree-filter.d.ts +11 -0
- package/src/utils/git-utils.tree-filter.js +43 -0
- package/src/utils/plugins/output.d.ts +1 -0
- package/src/utils/plugins/output.js +7 -0
- package/src/utils/powerpack.d.ts +5 -0
- package/src/utils/powerpack.js +38 -0
@@ -188,7 +188,12 @@ async function gitCommit({ messages, additionalArgs, dryRun, verbose, logFn, })
|
|
188
188
|
commandArgs.push('--message', message);
|
189
189
|
}
|
190
190
|
if (additionalArgs) {
|
191
|
-
|
191
|
+
if (Array.isArray(additionalArgs)) {
|
192
|
+
commandArgs.push(...additionalArgs);
|
193
|
+
}
|
194
|
+
else {
|
195
|
+
commandArgs.push(...additionalArgs.split(' '));
|
196
|
+
}
|
192
197
|
}
|
193
198
|
if (verbose) {
|
194
199
|
logFn(dryRun
|
@@ -224,7 +229,12 @@ async function gitTag({ tag, message, additionalArgs, dryRun, verbose, logFn, })
|
|
224
229
|
message || tag,
|
225
230
|
];
|
226
231
|
if (additionalArgs) {
|
227
|
-
|
232
|
+
if (Array.isArray(additionalArgs)) {
|
233
|
+
commandArgs.push(...additionalArgs);
|
234
|
+
}
|
235
|
+
else {
|
236
|
+
commandArgs.push(...additionalArgs.split(' '));
|
237
|
+
}
|
228
238
|
}
|
229
239
|
if (verbose) {
|
230
240
|
logFn(dryRun
|
@@ -45,7 +45,7 @@ export declare function commitChanges({ changedFiles, deletedFiles, isDryRun, is
|
|
45
45
|
isDryRun?: boolean;
|
46
46
|
isVerbose?: boolean;
|
47
47
|
gitCommitMessages?: string[];
|
48
|
-
gitCommitArgs?: string;
|
48
|
+
gitCommitArgs?: string | string[];
|
49
49
|
}): Promise<void>;
|
50
50
|
export declare function createCommitMessageValues(releaseGroups: ReleaseGroupWithName[], releaseGroupToFilteredProjects: Map<ReleaseGroupWithName, Set<string>>, versionData: VersionData, commitMessage: string): string[];
|
51
51
|
export declare function createGitTagValues(releaseGroups: ReleaseGroupWithName[], releaseGroupToFilteredProjects: Map<ReleaseGroupWithName, Set<string>>, versionData: VersionData): string[];
|
@@ -207,6 +207,10 @@ function createAPI(overrideReleaseConfig) {
|
|
207
207
|
*/
|
208
208
|
for (const releaseGroup of releaseGroups) {
|
209
209
|
const releaseGroupName = releaseGroup.name;
|
210
|
+
runPreVersionCommand(releaseGroup.version.groupPreVersionCommand, {
|
211
|
+
dryRun: args.dryRun,
|
212
|
+
verbose: args.verbose,
|
213
|
+
});
|
210
214
|
const projectBatches = (0, batch_projects_by_generator_config_1.batchProjectsByGeneratorConfig)(projectGraph, releaseGroup,
|
211
215
|
// Batch based on all projects within the release group
|
212
216
|
releaseGroup.projects);
|
@@ -15,6 +15,8 @@ export declare function reportHandler(): Promise<void>;
|
|
15
15
|
export interface ReportData {
|
16
16
|
pm: PackageManager;
|
17
17
|
pmVersion: string;
|
18
|
+
powerpackLicense: any | null;
|
19
|
+
powerpackPlugins: PackageJson[];
|
18
20
|
localPlugins: string[];
|
19
21
|
communityPlugins: PackageJson[];
|
20
22
|
registeredPlugins: string[];
|
@@ -43,6 +45,7 @@ interface OutOfSyncPackageGroup {
|
|
43
45
|
migrateTarget: string;
|
44
46
|
}
|
45
47
|
export declare function findMisalignedPackagesForPackage(base: PackageJson): undefined | OutOfSyncPackageGroup;
|
48
|
+
export declare function findInstalledPowerpackPlugins(): PackageJson[];
|
46
49
|
export declare function findInstalledCommunityPlugins(): PackageJson[];
|
47
50
|
export declare function findRegisteredPluginsBeingUsed(nxJson: NxJsonConfiguration): string[];
|
48
51
|
export declare function findInstalledPackagesWeCareAbout(): {
|
@@ -4,6 +4,7 @@ exports.patternsWeIgnoreInCommunityReport = exports.packagesWeCareAbout = void 0
|
|
4
4
|
exports.reportHandler = reportHandler;
|
5
5
|
exports.getReportData = getReportData;
|
6
6
|
exports.findMisalignedPackagesForPackage = findMisalignedPackagesForPackage;
|
7
|
+
exports.findInstalledPowerpackPlugins = findInstalledPowerpackPlugins;
|
7
8
|
exports.findInstalledCommunityPlugins = findInstalledCommunityPlugins;
|
8
9
|
exports.findRegisteredPluginsBeingUsed = findRegisteredPluginsBeingUsed;
|
9
10
|
exports.findInstalledPackagesWeCareAbout = findInstalledPackagesWeCareAbout;
|
@@ -20,6 +21,7 @@ const installed_plugins_1 = require("../../utils/plugins/installed-plugins");
|
|
20
21
|
const installation_directory_1 = require("../../utils/installation-directory");
|
21
22
|
const nx_json_1 = require("../../config/nx-json");
|
22
23
|
const error_types_1 = require("../../project-graph/error-types");
|
24
|
+
const powerpack_1 = require("../../utils/powerpack");
|
23
25
|
const nxPackageJson = (0, fileutils_1.readJsonFile)((0, path_1.join)(__dirname, '../../../package.json'));
|
24
26
|
exports.packagesWeCareAbout = [
|
25
27
|
'lerna',
|
@@ -29,6 +31,7 @@ exports.packagesWeCareAbout = [
|
|
29
31
|
];
|
30
32
|
exports.patternsWeIgnoreInCommunityReport = [
|
31
33
|
...exports.packagesWeCareAbout,
|
34
|
+
new RegExp('@nx/powerpack*'),
|
32
35
|
'@schematics/angular',
|
33
36
|
new RegExp('@angular/*'),
|
34
37
|
'@nestjs/schematics',
|
@@ -43,7 +46,7 @@ const LINE_SEPARATOR = '---------------------------------------';
|
|
43
46
|
*
|
44
47
|
*/
|
45
48
|
async function reportHandler() {
|
46
|
-
const { pm, pmVersion, localPlugins, communityPlugins, registeredPlugins, packageVersionsWeCareAbout, outOfSyncPackageGroup, projectGraphError, nativeTarget, } = await getReportData();
|
49
|
+
const { pm, pmVersion, powerpackLicense, localPlugins, powerpackPlugins, communityPlugins, registeredPlugins, packageVersionsWeCareAbout, outOfSyncPackageGroup, projectGraphError, nativeTarget, } = await getReportData();
|
47
50
|
const fields = [
|
48
51
|
['Node', process.versions.node],
|
49
52
|
['OS', `${process.platform}-${process.arch}`],
|
@@ -58,6 +61,17 @@ async function reportHandler() {
|
|
58
61
|
packageVersionsWeCareAbout.forEach((p) => {
|
59
62
|
bodyLines.push(`${chalk.green(p.package.padEnd(padding))} : ${chalk.bold(p.version)}`);
|
60
63
|
});
|
64
|
+
if (powerpackLicense) {
|
65
|
+
bodyLines.push(LINE_SEPARATOR);
|
66
|
+
bodyLines.push(chalk.green('Nx Powerpack'));
|
67
|
+
bodyLines.push(`Licensed to ${powerpackLicense.organizationName} for ${powerpackLicense.seatCount} user${powerpackLicense.seatCount > 1 ? 's' : ''} in ${powerpackLicense.workspaceCount} workspace${powerpackLicense.workspaceCount > 1 ? 's' : ''} until ${new Date(powerpackLicense.expiresAt * 1000).toLocaleDateString()}`);
|
68
|
+
bodyLines.push('');
|
69
|
+
padding =
|
70
|
+
Math.max(...powerpackPlugins.map((powerpackPlugin) => powerpackPlugin.name.length)) + 1;
|
71
|
+
for (const powerpackPlugin of powerpackPlugins) {
|
72
|
+
bodyLines.push(`${chalk.green(powerpackPlugin.name.padEnd(padding))} : ${chalk.bold(powerpackPlugin.version)}`);
|
73
|
+
}
|
74
|
+
}
|
61
75
|
if (registeredPlugins.length) {
|
62
76
|
bodyLines.push(LINE_SEPARATOR);
|
63
77
|
bodyLines.push('Registered Plugins:');
|
@@ -106,6 +120,7 @@ async function getReportData() {
|
|
106
120
|
const { graph, error: projectGraphError } = await tryGetProjectGraph();
|
107
121
|
const nxJson = (0, nx_json_1.readNxJson)();
|
108
122
|
const localPlugins = await findLocalPlugins(graph, nxJson);
|
123
|
+
const powerpackPlugins = findInstalledPowerpackPlugins();
|
109
124
|
const communityPlugins = findInstalledCommunityPlugins();
|
110
125
|
const registeredPlugins = findRegisteredPluginsBeingUsed(nxJson);
|
111
126
|
const packageVersionsWeCareAbout = findInstalledPackagesWeCareAbout();
|
@@ -121,8 +136,15 @@ async function getReportData() {
|
|
121
136
|
}
|
122
137
|
const outOfSyncPackageGroup = findMisalignedPackagesForPackage(nxPackageJson);
|
123
138
|
const native = isNativeAvailable();
|
139
|
+
let powerpackLicense = null;
|
140
|
+
try {
|
141
|
+
powerpackLicense = await (0, powerpack_1.getPowerpackLicenseInformation)();
|
142
|
+
}
|
143
|
+
catch { }
|
124
144
|
return {
|
125
145
|
pm,
|
146
|
+
powerpackLicense,
|
147
|
+
powerpackPlugins,
|
126
148
|
pmVersion,
|
127
149
|
localPlugins,
|
128
150
|
communityPlugins,
|
@@ -197,6 +219,10 @@ function findMisalignedPackagesForPackage(base) {
|
|
197
219
|
}
|
198
220
|
: undefined;
|
199
221
|
}
|
222
|
+
function findInstalledPowerpackPlugins() {
|
223
|
+
const installedPlugins = (0, installed_plugins_1.findInstalledPlugins)();
|
224
|
+
return installedPlugins.filter((dep) => new RegExp('@nx/powerpack*').test(dep.name));
|
225
|
+
}
|
200
226
|
function findInstalledCommunityPlugins() {
|
201
227
|
const installedPlugins = (0, installed_plugins_1.findInstalledPlugins)();
|
202
228
|
return installedPlugins.filter((dep) => dep.name !== 'nx' &&
|
package/src/config/nx-json.d.ts
CHANGED
@@ -101,9 +101,9 @@ export interface NxReleaseGitConfiguration {
|
|
101
101
|
*/
|
102
102
|
commitMessage?: string;
|
103
103
|
/**
|
104
|
-
* Additional arguments (added after the --message argument, which may or may not be customized with --git-commit-message) to pass to the `git commit` command invoked behind the scenes
|
104
|
+
* Additional arguments (added after the --message argument, which may or may not be customized with --git-commit-message) to pass to the `git commit` command invoked behind the scenes. May be a string or array of strings.
|
105
105
|
*/
|
106
|
-
commitArgs?: string;
|
106
|
+
commitArgs?: string | string[];
|
107
107
|
/**
|
108
108
|
* Whether or not to stage the changes made by this command. Always treated as true if commit is true.
|
109
109
|
*/
|
@@ -117,9 +117,9 @@ export interface NxReleaseGitConfiguration {
|
|
117
117
|
*/
|
118
118
|
tagMessage?: string;
|
119
119
|
/**
|
120
|
-
* Additional arguments to pass to the `git tag` command invoked behind the scenes
|
120
|
+
* Additional arguments to pass to the `git tag` command invoked behind the scenes. . May be a string or array of strings.
|
121
121
|
*/
|
122
|
-
tagArgs?: string;
|
122
|
+
tagArgs?: string | string[];
|
123
123
|
}
|
124
124
|
export interface NxReleaseConventionalCommitsConfiguration {
|
125
125
|
types?: Record<string,
|
@@ -179,7 +179,15 @@ export interface NxReleaseConfiguration {
|
|
179
179
|
*
|
180
180
|
* NOTE: git configuration is not supported at the group level, only the root/command level
|
181
181
|
*/
|
182
|
-
version?: NxReleaseVersionConfiguration
|
182
|
+
version?: NxReleaseVersionConfiguration & {
|
183
|
+
/**
|
184
|
+
* A command to run after validation of nx release configuration, but before versioning begins.
|
185
|
+
* Used for preparing build artifacts. If --dry-run is passed, the command is still executed, but
|
186
|
+
* with the NX_DRY_RUN environment variable set to 'true'.
|
187
|
+
* It will run in addition to the global `preVersionCommand`
|
188
|
+
*/
|
189
|
+
groupPreVersionCommand?: string;
|
190
|
+
};
|
183
191
|
/**
|
184
192
|
* Project changelogs are disabled by default.
|
185
193
|
*
|