@storm-software/git-tools 2.131.6 → 2.131.8
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/bin/git.cjs +144 -71
- package/bin/git.cjs.map +1 -1
- package/bin/git.js +145 -72
- package/bin/git.js.map +1 -1
- package/dist/{chunk-EMMN3RCO.cjs → chunk-VOWQJXPC.cjs} +148 -47
- package/dist/{chunk-R6XSEPQS.js → chunk-ZDXX5TWI.js} +150 -49
- package/dist/index.cjs +25 -21
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/release/config.cjs +25 -21
- package/dist/release/config.d.cts +13 -56
- package/dist/release/config.d.ts +13 -56
- package/dist/release/config.js +1 -1
- package/package.json +6 -5
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
var chunk7ZSL4J35_cjs = require('./chunk-7ZSL4J35.cjs');
|
|
4
4
|
var chunk4VPJA7YJ_cjs = require('./chunk-4VPJA7YJ.cjs');
|
|
5
5
|
var chunkOZEUXY3F_cjs = require('./chunk-OZEUXY3F.cjs');
|
|
6
|
-
var
|
|
7
|
-
var c12 = require('c12');
|
|
6
|
+
var defu3 = require('defu');
|
|
8
7
|
var fs = require('fs');
|
|
8
|
+
var findMatchingProjects = require('nx/src/utils/find-matching-projects');
|
|
9
|
+
var c12 = require('c12');
|
|
9
10
|
var path = require('path');
|
|
10
11
|
var promises = require('fs/promises');
|
|
11
12
|
var axios2 = require('axios');
|
|
@@ -27,7 +28,7 @@ require('nx/src/command-line/release/utils/git');
|
|
|
27
28
|
|
|
28
29
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
29
30
|
|
|
30
|
-
var
|
|
31
|
+
var defu3__default = /*#__PURE__*/_interopDefault(defu3);
|
|
31
32
|
var axios2__default = /*#__PURE__*/_interopDefault(axios2);
|
|
32
33
|
var DefaultChangelogRenderer__default = /*#__PURE__*/_interopDefault(DefaultChangelogRenderer);
|
|
33
34
|
|
|
@@ -155,6 +156,37 @@ var isAbsolute = function(p) {
|
|
|
155
156
|
return _IS_ABSOLUTE_RE.test(p);
|
|
156
157
|
};
|
|
157
158
|
|
|
159
|
+
// ../package-constants/src/tags.ts
|
|
160
|
+
var ProjectTagConstants = {
|
|
161
|
+
Language: {
|
|
162
|
+
TAG_ID: "language",
|
|
163
|
+
TYPESCRIPT: "typescript",
|
|
164
|
+
RUST: "rust"
|
|
165
|
+
}};
|
|
166
|
+
var formatProjectTag = (variant, value) => {
|
|
167
|
+
return `${variant}:${value}`;
|
|
168
|
+
};
|
|
169
|
+
var hasProjectTag = (project, variant) => {
|
|
170
|
+
project.tags = project.tags ?? [];
|
|
171
|
+
const prefix = formatProjectTag(variant, "");
|
|
172
|
+
return project.tags.some(
|
|
173
|
+
(tag) => tag.startsWith(prefix) && tag.length > prefix.length
|
|
174
|
+
);
|
|
175
|
+
};
|
|
176
|
+
var getProjectTag = (project, variant) => {
|
|
177
|
+
if (!hasProjectTag(project, variant)) {
|
|
178
|
+
return void 0;
|
|
179
|
+
}
|
|
180
|
+
project.tags = project.tags ?? [];
|
|
181
|
+
const prefix = formatProjectTag(variant, "");
|
|
182
|
+
const tag = project.tags.find((tag2) => tag2.startsWith(prefix));
|
|
183
|
+
return tag?.replace(prefix, "");
|
|
184
|
+
};
|
|
185
|
+
var isEqualProjectTag = (project, variant, value) => {
|
|
186
|
+
const tag = getProjectTag(project, variant);
|
|
187
|
+
return !!(tag && tag?.toUpperCase() === value.toUpperCase());
|
|
188
|
+
};
|
|
189
|
+
|
|
158
190
|
// src/utilities/omit.ts
|
|
159
191
|
function omit(obj, keys) {
|
|
160
192
|
const result = { ...obj };
|
|
@@ -2393,7 +2425,7 @@ var getConfigFileByName = async (fileName, filePath, options = {}) => {
|
|
|
2393
2425
|
...options
|
|
2394
2426
|
})
|
|
2395
2427
|
]);
|
|
2396
|
-
return
|
|
2428
|
+
return defu3__default.default(configs[0] ?? {}, configs[1] ?? {});
|
|
2397
2429
|
};
|
|
2398
2430
|
var getConfigFile = async (filePath, additionalFileNames = []) => {
|
|
2399
2431
|
const workspacePath = filePath ? filePath : findWorkspaceRoot(filePath);
|
|
@@ -2424,7 +2456,7 @@ var getConfigFile = async (filePath, additionalFileNames = []) => {
|
|
|
2424
2456
|
}
|
|
2425
2457
|
);
|
|
2426
2458
|
}
|
|
2427
|
-
config2 =
|
|
2459
|
+
config2 = defu3__default.default(result2.config ?? {}, config2 ?? {});
|
|
2428
2460
|
}
|
|
2429
2461
|
}
|
|
2430
2462
|
}
|
|
@@ -3039,7 +3071,7 @@ var createStormWorkspaceConfig = async (extensionName, schema, workspaceRoot, sk
|
|
|
3039
3071
|
}
|
|
3040
3072
|
}
|
|
3041
3073
|
const defaultConfig = await getPackageJsonConfig(_workspaceRoot);
|
|
3042
|
-
const configInput =
|
|
3074
|
+
const configInput = defu3__default.default(
|
|
3043
3075
|
configEnv,
|
|
3044
3076
|
configFile,
|
|
3045
3077
|
defaultConfig
|
|
@@ -3535,10 +3567,9 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG2 = {
|
|
|
3535
3567
|
questions: chunk7ZSL4J35_cjs.DEFAULT_MONOREPO_COMMIT_QUESTIONS,
|
|
3536
3568
|
types: chunk4VPJA7YJ_cjs.DEFAULT_COMMIT_TYPES
|
|
3537
3569
|
};
|
|
3538
|
-
var
|
|
3570
|
+
var DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN = "{projectName}@{version}";
|
|
3539
3571
|
var DEFAULT_FIXED_RELEASE_TAG_PATTERN = "{releaseGroupName}@{version}";
|
|
3540
3572
|
var DEFAULT_COMMIT_MESSAGE = "release(monorepo): Publish v{version} release updates";
|
|
3541
|
-
var DEFAULT_VERSION_ACTIONS_PATH = "@nx/js/src/release/version-actions";
|
|
3542
3573
|
var DEFAULT_RELEASE_GROUP_GIT_CONFIG = {
|
|
3543
3574
|
commit: false,
|
|
3544
3575
|
commitMessage: DEFAULT_COMMIT_MESSAGE,
|
|
@@ -3554,8 +3585,6 @@ var DEFAULT_VERSION_RELEASE_CONFIG = {
|
|
|
3554
3585
|
fallbackCurrentVersionResolver: "disk",
|
|
3555
3586
|
specifierSource: "conventional-commits",
|
|
3556
3587
|
groupPreVersionCommand: "pnpm build",
|
|
3557
|
-
versionActions: DEFAULT_VERSION_ACTIONS_PATH,
|
|
3558
|
-
versionActionsOptions: {},
|
|
3559
3588
|
preserveLocalDependencyProtocols: true,
|
|
3560
3589
|
preserveMatchingDependencyRanges: true,
|
|
3561
3590
|
logUnchangedProjects: true,
|
|
@@ -3590,24 +3619,25 @@ var DEFAULT_RELEASE_GROUP_CONFIG = {
|
|
|
3590
3619
|
...DEFAULT_VERSION_RELEASE_CONFIG
|
|
3591
3620
|
},
|
|
3592
3621
|
releaseTag: {
|
|
3593
|
-
pattern:
|
|
3622
|
+
pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN,
|
|
3594
3623
|
preferDockerVersion: false
|
|
3595
3624
|
},
|
|
3596
3625
|
versionPlans: false
|
|
3597
3626
|
};
|
|
3627
|
+
var DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG = {
|
|
3628
|
+
projectsRelationship: "independent",
|
|
3629
|
+
releaseTag: {
|
|
3630
|
+
pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN
|
|
3631
|
+
}
|
|
3632
|
+
};
|
|
3598
3633
|
var DEFAULT_FIXED_RELEASE_GROUP_CONFIG = {
|
|
3599
|
-
...DEFAULT_RELEASE_GROUP_CONFIG,
|
|
3600
3634
|
projectsRelationship: "fixed",
|
|
3601
3635
|
releaseTag: {
|
|
3602
|
-
...DEFAULT_RELEASE_GROUP_CONFIG.releaseTag,
|
|
3603
3636
|
pattern: DEFAULT_FIXED_RELEASE_TAG_PATTERN
|
|
3604
3637
|
}
|
|
3605
3638
|
};
|
|
3606
3639
|
var DEFAULT_JS_RELEASE_GROUP_CONFIG = {
|
|
3607
|
-
...DEFAULT_RELEASE_GROUP_CONFIG,
|
|
3608
|
-
projects: ["packages/*"],
|
|
3609
3640
|
version: {
|
|
3610
|
-
...DEFAULT_RELEASE_GROUP_CONFIG.version,
|
|
3611
3641
|
versionActions: "@storm-software/workspace-tools/release/js-version-actions",
|
|
3612
3642
|
versionActionsOptions: {
|
|
3613
3643
|
currentVersionResolver: "git-tag",
|
|
@@ -3623,10 +3653,7 @@ var DEFAULT_JS_RELEASE_GROUP_CONFIG = {
|
|
|
3623
3653
|
}
|
|
3624
3654
|
};
|
|
3625
3655
|
var DEFAULT_RUST_RELEASE_GROUP_CONFIG = {
|
|
3626
|
-
...DEFAULT_RELEASE_GROUP_CONFIG,
|
|
3627
|
-
projects: ["crates/*"],
|
|
3628
3656
|
version: {
|
|
3629
|
-
...DEFAULT_RELEASE_GROUP_CONFIG.version,
|
|
3630
3657
|
versionActions: "@storm-software/workspace-tools/release/rust-version-actions",
|
|
3631
3658
|
versionActionsOptions: {
|
|
3632
3659
|
currentVersionResolver: "git-tag",
|
|
@@ -3638,8 +3665,20 @@ var DEFAULT_RUST_RELEASE_GROUP_CONFIG = {
|
|
|
3638
3665
|
var DEFAULT_RELEASE_CONFIG = {
|
|
3639
3666
|
conventionalCommits: DEFAULT_CONVENTIONAL_COMMITS_CONFIG2,
|
|
3640
3667
|
groups: {
|
|
3641
|
-
packages:
|
|
3642
|
-
|
|
3668
|
+
packages: defu3__default.default(
|
|
3669
|
+
{
|
|
3670
|
+
projects: ["packages/*"]
|
|
3671
|
+
},
|
|
3672
|
+
DEFAULT_JS_RELEASE_GROUP_CONFIG,
|
|
3673
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3674
|
+
),
|
|
3675
|
+
crates: defu3__default.default(
|
|
3676
|
+
{
|
|
3677
|
+
projects: ["crates/*"]
|
|
3678
|
+
},
|
|
3679
|
+
DEFAULT_RUST_RELEASE_GROUP_CONFIG,
|
|
3680
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3681
|
+
)
|
|
3643
3682
|
},
|
|
3644
3683
|
changelog: {
|
|
3645
3684
|
...DEFAULT_CHANGELOG_RELEASE_CONFIG,
|
|
@@ -3648,40 +3687,101 @@ var DEFAULT_RELEASE_CONFIG = {
|
|
|
3648
3687
|
projectChangelogs: true
|
|
3649
3688
|
},
|
|
3650
3689
|
releaseTag: {
|
|
3651
|
-
pattern:
|
|
3690
|
+
pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN,
|
|
3652
3691
|
preferDockerVersion: false
|
|
3653
3692
|
},
|
|
3654
3693
|
version: {
|
|
3655
3694
|
...DEFAULT_VERSION_RELEASE_CONFIG
|
|
3656
3695
|
}
|
|
3657
3696
|
};
|
|
3658
|
-
function
|
|
3697
|
+
function mergeReleaseGroupConfig(config2, defaultConfig, workspaceConfig) {
|
|
3698
|
+
return defu3__default.default(
|
|
3699
|
+
{
|
|
3700
|
+
...omit(defaultConfig, ["changelog", "version"]),
|
|
3701
|
+
...config2
|
|
3702
|
+
},
|
|
3703
|
+
{
|
|
3704
|
+
version: {
|
|
3705
|
+
...defaultConfig.version
|
|
3706
|
+
}
|
|
3707
|
+
},
|
|
3708
|
+
{
|
|
3709
|
+
changelog: {
|
|
3710
|
+
...typeof defaultConfig.changelog === "object" ? defaultConfig.changelog : {},
|
|
3711
|
+
renderer: StormChangelogRenderer,
|
|
3712
|
+
renderOptions: {
|
|
3713
|
+
...typeof defaultConfig.changelog === "object" && defaultConfig.changelog.renderOptions || {},
|
|
3714
|
+
workspaceConfig
|
|
3715
|
+
}
|
|
3716
|
+
}
|
|
3717
|
+
}
|
|
3718
|
+
);
|
|
3719
|
+
}
|
|
3720
|
+
function getReleaseGroupConfig(projectGraph, releaseConfig, workspaceConfig) {
|
|
3721
|
+
const alreadyMatchedProjects = /* @__PURE__ */ new Set();
|
|
3659
3722
|
return !releaseConfig?.groups || Object.keys(releaseConfig.groups).length === 0 ? {} : Object.fromEntries(
|
|
3660
3723
|
Object.entries(releaseConfig.groups).map(([name, group]) => {
|
|
3661
|
-
const
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
|
|
3669
|
-
|
|
3670
|
-
|
|
3671
|
-
|
|
3672
|
-
|
|
3673
|
-
|
|
3674
|
-
|
|
3675
|
-
changelog: {
|
|
3676
|
-
...(group.projectsRelationship === "fixed" ? DEFAULT_FIXED_RELEASE_GROUP_CONFIG : DEFAULT_RELEASE_GROUP_CONFIG).changelog,
|
|
3677
|
-
renderer: StormChangelogRenderer,
|
|
3678
|
-
renderOptions: {
|
|
3679
|
-
...(group.projectsRelationship === "fixed" ? DEFAULT_FIXED_RELEASE_GROUP_CONFIG : DEFAULT_RELEASE_GROUP_CONFIG).changelog.renderOptions,
|
|
3680
|
-
workspaceConfig
|
|
3681
|
-
}
|
|
3682
|
-
}
|
|
3724
|
+
const matchingProjects = findMatchingProjects.findMatchingProjects(
|
|
3725
|
+
typeof group.projects === "string" ? [group.projects] : group.projects,
|
|
3726
|
+
projectGraph.nodes
|
|
3727
|
+
);
|
|
3728
|
+
if (!matchingProjects.length) {
|
|
3729
|
+
throw new Error(
|
|
3730
|
+
`Release group "${name}" does not have any matching projects.`
|
|
3731
|
+
);
|
|
3732
|
+
}
|
|
3733
|
+
for (const project of matchingProjects) {
|
|
3734
|
+
if (alreadyMatchedProjects.has(project)) {
|
|
3735
|
+
throw new Error(
|
|
3736
|
+
`Project "${project}" is included in more than one release group. Please ensure that each project is only included in one release group, or remove the "projects" property from the release group configuration to allow it to be included in the same release group as other projects with overlapping globs.`
|
|
3737
|
+
);
|
|
3683
3738
|
}
|
|
3739
|
+
alreadyMatchedProjects.add(project);
|
|
3740
|
+
}
|
|
3741
|
+
let languageDefaultConfig = {};
|
|
3742
|
+
if (matchingProjects.every(
|
|
3743
|
+
(project) => projectGraph.nodes[project]?.data && (projectGraph.nodes[project]?.data.metadata?.js || isEqualProjectTag(
|
|
3744
|
+
projectGraph.nodes[project]?.data,
|
|
3745
|
+
ProjectTagConstants.Language.TAG_ID,
|
|
3746
|
+
ProjectTagConstants.Language.TYPESCRIPT
|
|
3747
|
+
) || projectGraph.nodes[project]?.data.metadata?.root && fs.existsSync(
|
|
3748
|
+
joinPaths(
|
|
3749
|
+
projectGraph.nodes[project]?.data.metadata?.root,
|
|
3750
|
+
"package.json"
|
|
3751
|
+
)
|
|
3752
|
+
))
|
|
3753
|
+
)) {
|
|
3754
|
+
languageDefaultConfig = defu3__default.default(
|
|
3755
|
+
DEFAULT_JS_RELEASE_GROUP_CONFIG,
|
|
3756
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3757
|
+
);
|
|
3758
|
+
} else if (matchingProjects.every(
|
|
3759
|
+
(project) => projectGraph.nodes[project]?.data && (projectGraph.nodes[project]?.data.metadata?.rust || projectGraph.nodes[project]?.data.metadata?.cargo || isEqualProjectTag(
|
|
3760
|
+
projectGraph.nodes[project]?.data,
|
|
3761
|
+
ProjectTagConstants.Language.TAG_ID,
|
|
3762
|
+
ProjectTagConstants.Language.RUST
|
|
3763
|
+
) || projectGraph.nodes[project]?.data.metadata?.root && fs.existsSync(
|
|
3764
|
+
joinPaths(
|
|
3765
|
+
projectGraph.nodes[project]?.data.metadata?.root,
|
|
3766
|
+
"Cargo.toml"
|
|
3767
|
+
)
|
|
3768
|
+
))
|
|
3769
|
+
)) {
|
|
3770
|
+
languageDefaultConfig = defu3__default.default(
|
|
3771
|
+
DEFAULT_RUST_RELEASE_GROUP_CONFIG,
|
|
3772
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3773
|
+
);
|
|
3774
|
+
}
|
|
3775
|
+
const config2 = mergeReleaseGroupConfig(
|
|
3776
|
+
group,
|
|
3777
|
+
defu3__default.default(
|
|
3778
|
+
languageDefaultConfig,
|
|
3779
|
+
group.projectsRelationship === "fixed" ? DEFAULT_FIXED_RELEASE_GROUP_CONFIG : DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG,
|
|
3780
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3781
|
+
),
|
|
3782
|
+
workspaceConfig
|
|
3684
3783
|
);
|
|
3784
|
+
config2.projects = matchingProjects;
|
|
3685
3785
|
if (workspaceConfig?.workspaceRoot) {
|
|
3686
3786
|
if (config2.changelog?.renderer && typeof config2.changelog?.renderer === "string" && config2.changelog?.renderer?.toString().startsWith("./")) {
|
|
3687
3787
|
config2.changelog.renderer = joinPaths(
|
|
@@ -3706,12 +3806,13 @@ exports.DEFAULT_COMMIT_MESSAGE = DEFAULT_COMMIT_MESSAGE;
|
|
|
3706
3806
|
exports.DEFAULT_CONVENTIONAL_COMMITS_CONFIG = DEFAULT_CONVENTIONAL_COMMITS_CONFIG2;
|
|
3707
3807
|
exports.DEFAULT_FIXED_RELEASE_GROUP_CONFIG = DEFAULT_FIXED_RELEASE_GROUP_CONFIG;
|
|
3708
3808
|
exports.DEFAULT_FIXED_RELEASE_TAG_PATTERN = DEFAULT_FIXED_RELEASE_TAG_PATTERN;
|
|
3809
|
+
exports.DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG = DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG;
|
|
3810
|
+
exports.DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN = DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN;
|
|
3709
3811
|
exports.DEFAULT_JS_RELEASE_GROUP_CONFIG = DEFAULT_JS_RELEASE_GROUP_CONFIG;
|
|
3710
3812
|
exports.DEFAULT_RELEASE_CONFIG = DEFAULT_RELEASE_CONFIG;
|
|
3711
3813
|
exports.DEFAULT_RELEASE_GROUP_CONFIG = DEFAULT_RELEASE_GROUP_CONFIG;
|
|
3712
3814
|
exports.DEFAULT_RELEASE_GROUP_GIT_CONFIG = DEFAULT_RELEASE_GROUP_GIT_CONFIG;
|
|
3713
|
-
exports.DEFAULT_RELEASE_TAG_PATTERN = DEFAULT_RELEASE_TAG_PATTERN;
|
|
3714
3815
|
exports.DEFAULT_RUST_RELEASE_GROUP_CONFIG = DEFAULT_RUST_RELEASE_GROUP_CONFIG;
|
|
3715
|
-
exports.DEFAULT_VERSION_ACTIONS_PATH = DEFAULT_VERSION_ACTIONS_PATH;
|
|
3716
3816
|
exports.DEFAULT_VERSION_RELEASE_CONFIG = DEFAULT_VERSION_RELEASE_CONFIG;
|
|
3717
3817
|
exports.getReleaseGroupConfig = getReleaseGroupConfig;
|
|
3818
|
+
exports.mergeReleaseGroupConfig = mergeReleaseGroupConfig;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { DEFAULT_MONOREPO_COMMIT_QUESTIONS } from './chunk-USTER7R2.js';
|
|
2
2
|
import { DEFAULT_COMMIT_TYPES } from './chunk-3GGWHKRP.js';
|
|
3
3
|
import { writeTrace, formatLogMessage, writeWarning, getLogLevel, LogLevel, getLogLevelLabel } from './chunk-DHMSMFL3.js';
|
|
4
|
-
import
|
|
4
|
+
import defu3 from 'defu';
|
|
5
|
+
import { existsSync } from 'fs';
|
|
6
|
+
import { findMatchingProjects } from 'nx/src/utils/find-matching-projects';
|
|
5
7
|
import { loadConfig } from 'c12';
|
|
6
|
-
import { existsSync } from 'node:fs';
|
|
8
|
+
import { existsSync as existsSync$1 } from 'node:fs';
|
|
7
9
|
import { join } from 'node:path';
|
|
8
10
|
import { readFile } from 'node:fs/promises';
|
|
9
11
|
import axios2 from 'axios';
|
|
@@ -147,6 +149,37 @@ var isAbsolute = function(p) {
|
|
|
147
149
|
return _IS_ABSOLUTE_RE.test(p);
|
|
148
150
|
};
|
|
149
151
|
|
|
152
|
+
// ../package-constants/src/tags.ts
|
|
153
|
+
var ProjectTagConstants = {
|
|
154
|
+
Language: {
|
|
155
|
+
TAG_ID: "language",
|
|
156
|
+
TYPESCRIPT: "typescript",
|
|
157
|
+
RUST: "rust"
|
|
158
|
+
}};
|
|
159
|
+
var formatProjectTag = (variant, value) => {
|
|
160
|
+
return `${variant}:${value}`;
|
|
161
|
+
};
|
|
162
|
+
var hasProjectTag = (project, variant) => {
|
|
163
|
+
project.tags = project.tags ?? [];
|
|
164
|
+
const prefix = formatProjectTag(variant, "");
|
|
165
|
+
return project.tags.some(
|
|
166
|
+
(tag) => tag.startsWith(prefix) && tag.length > prefix.length
|
|
167
|
+
);
|
|
168
|
+
};
|
|
169
|
+
var getProjectTag = (project, variant) => {
|
|
170
|
+
if (!hasProjectTag(project, variant)) {
|
|
171
|
+
return void 0;
|
|
172
|
+
}
|
|
173
|
+
project.tags = project.tags ?? [];
|
|
174
|
+
const prefix = formatProjectTag(variant, "");
|
|
175
|
+
const tag = project.tags.find((tag2) => tag2.startsWith(prefix));
|
|
176
|
+
return tag?.replace(prefix, "");
|
|
177
|
+
};
|
|
178
|
+
var isEqualProjectTag = (project, variant, value) => {
|
|
179
|
+
const tag = getProjectTag(project, variant);
|
|
180
|
+
return !!(tag && tag?.toUpperCase() === value.toUpperCase());
|
|
181
|
+
};
|
|
182
|
+
|
|
150
183
|
// src/utilities/omit.ts
|
|
151
184
|
function omit(obj, keys) {
|
|
152
185
|
const result = { ...obj };
|
|
@@ -163,11 +196,11 @@ var depth = 0;
|
|
|
163
196
|
function findFolderUp(startPath, endFileNames = [], endDirectoryNames = []) {
|
|
164
197
|
const _startPath = startPath ?? process.cwd();
|
|
165
198
|
if (endDirectoryNames.some(
|
|
166
|
-
(endDirName) => existsSync(join(_startPath, endDirName))
|
|
199
|
+
(endDirName) => existsSync$1(join(_startPath, endDirName))
|
|
167
200
|
)) {
|
|
168
201
|
return _startPath;
|
|
169
202
|
}
|
|
170
|
-
if (endFileNames.some((endFileName) => existsSync(join(_startPath, endFileName)))) {
|
|
203
|
+
if (endFileNames.some((endFileName) => existsSync$1(join(_startPath, endFileName)))) {
|
|
171
204
|
return _startPath;
|
|
172
205
|
}
|
|
173
206
|
if (_startPath !== "/" && depth++ < MAX_PATH_SEARCH_DEPTH) {
|
|
@@ -2276,7 +2309,7 @@ async function getPackageJsonConfig(root) {
|
|
|
2276
2309
|
let namespace = void 0;
|
|
2277
2310
|
let repository = void 0;
|
|
2278
2311
|
const workspaceRoot = findWorkspaceRoot(root);
|
|
2279
|
-
if (existsSync(join(workspaceRoot, "package.json"))) {
|
|
2312
|
+
if (existsSync$1(join(workspaceRoot, "package.json"))) {
|
|
2280
2313
|
const file = await readFile(
|
|
2281
2314
|
joinPaths(workspaceRoot, "package.json"),
|
|
2282
2315
|
"utf8"
|
|
@@ -2385,7 +2418,7 @@ var getConfigFileByName = async (fileName, filePath, options = {}) => {
|
|
|
2385
2418
|
...options
|
|
2386
2419
|
})
|
|
2387
2420
|
]);
|
|
2388
|
-
return
|
|
2421
|
+
return defu3(configs[0] ?? {}, configs[1] ?? {});
|
|
2389
2422
|
};
|
|
2390
2423
|
var getConfigFile = async (filePath, additionalFileNames = []) => {
|
|
2391
2424
|
const workspacePath = filePath ? filePath : findWorkspaceRoot(filePath);
|
|
@@ -2416,7 +2449,7 @@ var getConfigFile = async (filePath, additionalFileNames = []) => {
|
|
|
2416
2449
|
}
|
|
2417
2450
|
);
|
|
2418
2451
|
}
|
|
2419
|
-
config2 =
|
|
2452
|
+
config2 = defu3(result2.config ?? {}, config2 ?? {});
|
|
2420
2453
|
}
|
|
2421
2454
|
}
|
|
2422
2455
|
}
|
|
@@ -3031,13 +3064,13 @@ var createStormWorkspaceConfig = async (extensionName, schema, workspaceRoot, sk
|
|
|
3031
3064
|
}
|
|
3032
3065
|
}
|
|
3033
3066
|
const defaultConfig = await getPackageJsonConfig(_workspaceRoot);
|
|
3034
|
-
const configInput =
|
|
3067
|
+
const configInput = defu3(
|
|
3035
3068
|
configEnv,
|
|
3036
3069
|
configFile,
|
|
3037
3070
|
defaultConfig
|
|
3038
3071
|
);
|
|
3039
3072
|
if (!configInput.variant) {
|
|
3040
|
-
configInput.variant = existsSync(joinPaths(_workspaceRoot, "nx.json")) || existsSync(joinPaths(_workspaceRoot, ".nx")) || existsSync(joinPaths(_workspaceRoot, "lerna.json")) || existsSync(joinPaths(_workspaceRoot, "turbo.json")) ? "monorepo" : "minimal";
|
|
3073
|
+
configInput.variant = existsSync$1(joinPaths(_workspaceRoot, "nx.json")) || existsSync$1(joinPaths(_workspaceRoot, ".nx")) || existsSync$1(joinPaths(_workspaceRoot, "lerna.json")) || existsSync$1(joinPaths(_workspaceRoot, "turbo.json")) ? "monorepo" : "minimal";
|
|
3041
3074
|
}
|
|
3042
3075
|
try {
|
|
3043
3076
|
const parseResult = await Promise.resolve(
|
|
@@ -3527,10 +3560,9 @@ var DEFAULT_CONVENTIONAL_COMMITS_CONFIG2 = {
|
|
|
3527
3560
|
questions: DEFAULT_MONOREPO_COMMIT_QUESTIONS,
|
|
3528
3561
|
types: DEFAULT_COMMIT_TYPES
|
|
3529
3562
|
};
|
|
3530
|
-
var
|
|
3563
|
+
var DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN = "{projectName}@{version}";
|
|
3531
3564
|
var DEFAULT_FIXED_RELEASE_TAG_PATTERN = "{releaseGroupName}@{version}";
|
|
3532
3565
|
var DEFAULT_COMMIT_MESSAGE = "release(monorepo): Publish v{version} release updates";
|
|
3533
|
-
var DEFAULT_VERSION_ACTIONS_PATH = "@nx/js/src/release/version-actions";
|
|
3534
3566
|
var DEFAULT_RELEASE_GROUP_GIT_CONFIG = {
|
|
3535
3567
|
commit: false,
|
|
3536
3568
|
commitMessage: DEFAULT_COMMIT_MESSAGE,
|
|
@@ -3546,8 +3578,6 @@ var DEFAULT_VERSION_RELEASE_CONFIG = {
|
|
|
3546
3578
|
fallbackCurrentVersionResolver: "disk",
|
|
3547
3579
|
specifierSource: "conventional-commits",
|
|
3548
3580
|
groupPreVersionCommand: "pnpm build",
|
|
3549
|
-
versionActions: DEFAULT_VERSION_ACTIONS_PATH,
|
|
3550
|
-
versionActionsOptions: {},
|
|
3551
3581
|
preserveLocalDependencyProtocols: true,
|
|
3552
3582
|
preserveMatchingDependencyRanges: true,
|
|
3553
3583
|
logUnchangedProjects: true,
|
|
@@ -3582,24 +3612,25 @@ var DEFAULT_RELEASE_GROUP_CONFIG = {
|
|
|
3582
3612
|
...DEFAULT_VERSION_RELEASE_CONFIG
|
|
3583
3613
|
},
|
|
3584
3614
|
releaseTag: {
|
|
3585
|
-
pattern:
|
|
3615
|
+
pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN,
|
|
3586
3616
|
preferDockerVersion: false
|
|
3587
3617
|
},
|
|
3588
3618
|
versionPlans: false
|
|
3589
3619
|
};
|
|
3620
|
+
var DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG = {
|
|
3621
|
+
projectsRelationship: "independent",
|
|
3622
|
+
releaseTag: {
|
|
3623
|
+
pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN
|
|
3624
|
+
}
|
|
3625
|
+
};
|
|
3590
3626
|
var DEFAULT_FIXED_RELEASE_GROUP_CONFIG = {
|
|
3591
|
-
...DEFAULT_RELEASE_GROUP_CONFIG,
|
|
3592
3627
|
projectsRelationship: "fixed",
|
|
3593
3628
|
releaseTag: {
|
|
3594
|
-
...DEFAULT_RELEASE_GROUP_CONFIG.releaseTag,
|
|
3595
3629
|
pattern: DEFAULT_FIXED_RELEASE_TAG_PATTERN
|
|
3596
3630
|
}
|
|
3597
3631
|
};
|
|
3598
3632
|
var DEFAULT_JS_RELEASE_GROUP_CONFIG = {
|
|
3599
|
-
...DEFAULT_RELEASE_GROUP_CONFIG,
|
|
3600
|
-
projects: ["packages/*"],
|
|
3601
3633
|
version: {
|
|
3602
|
-
...DEFAULT_RELEASE_GROUP_CONFIG.version,
|
|
3603
3634
|
versionActions: "@storm-software/workspace-tools/release/js-version-actions",
|
|
3604
3635
|
versionActionsOptions: {
|
|
3605
3636
|
currentVersionResolver: "git-tag",
|
|
@@ -3615,10 +3646,7 @@ var DEFAULT_JS_RELEASE_GROUP_CONFIG = {
|
|
|
3615
3646
|
}
|
|
3616
3647
|
};
|
|
3617
3648
|
var DEFAULT_RUST_RELEASE_GROUP_CONFIG = {
|
|
3618
|
-
...DEFAULT_RELEASE_GROUP_CONFIG,
|
|
3619
|
-
projects: ["crates/*"],
|
|
3620
3649
|
version: {
|
|
3621
|
-
...DEFAULT_RELEASE_GROUP_CONFIG.version,
|
|
3622
3650
|
versionActions: "@storm-software/workspace-tools/release/rust-version-actions",
|
|
3623
3651
|
versionActionsOptions: {
|
|
3624
3652
|
currentVersionResolver: "git-tag",
|
|
@@ -3630,8 +3658,20 @@ var DEFAULT_RUST_RELEASE_GROUP_CONFIG = {
|
|
|
3630
3658
|
var DEFAULT_RELEASE_CONFIG = {
|
|
3631
3659
|
conventionalCommits: DEFAULT_CONVENTIONAL_COMMITS_CONFIG2,
|
|
3632
3660
|
groups: {
|
|
3633
|
-
packages:
|
|
3634
|
-
|
|
3661
|
+
packages: defu3(
|
|
3662
|
+
{
|
|
3663
|
+
projects: ["packages/*"]
|
|
3664
|
+
},
|
|
3665
|
+
DEFAULT_JS_RELEASE_GROUP_CONFIG,
|
|
3666
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3667
|
+
),
|
|
3668
|
+
crates: defu3(
|
|
3669
|
+
{
|
|
3670
|
+
projects: ["crates/*"]
|
|
3671
|
+
},
|
|
3672
|
+
DEFAULT_RUST_RELEASE_GROUP_CONFIG,
|
|
3673
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3674
|
+
)
|
|
3635
3675
|
},
|
|
3636
3676
|
changelog: {
|
|
3637
3677
|
...DEFAULT_CHANGELOG_RELEASE_CONFIG,
|
|
@@ -3640,40 +3680,101 @@ var DEFAULT_RELEASE_CONFIG = {
|
|
|
3640
3680
|
projectChangelogs: true
|
|
3641
3681
|
},
|
|
3642
3682
|
releaseTag: {
|
|
3643
|
-
pattern:
|
|
3683
|
+
pattern: DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN,
|
|
3644
3684
|
preferDockerVersion: false
|
|
3645
3685
|
},
|
|
3646
3686
|
version: {
|
|
3647
3687
|
...DEFAULT_VERSION_RELEASE_CONFIG
|
|
3648
3688
|
}
|
|
3649
3689
|
};
|
|
3650
|
-
function
|
|
3690
|
+
function mergeReleaseGroupConfig(config2, defaultConfig, workspaceConfig) {
|
|
3691
|
+
return defu3(
|
|
3692
|
+
{
|
|
3693
|
+
...omit(defaultConfig, ["changelog", "version"]),
|
|
3694
|
+
...config2
|
|
3695
|
+
},
|
|
3696
|
+
{
|
|
3697
|
+
version: {
|
|
3698
|
+
...defaultConfig.version
|
|
3699
|
+
}
|
|
3700
|
+
},
|
|
3701
|
+
{
|
|
3702
|
+
changelog: {
|
|
3703
|
+
...typeof defaultConfig.changelog === "object" ? defaultConfig.changelog : {},
|
|
3704
|
+
renderer: StormChangelogRenderer,
|
|
3705
|
+
renderOptions: {
|
|
3706
|
+
...typeof defaultConfig.changelog === "object" && defaultConfig.changelog.renderOptions || {},
|
|
3707
|
+
workspaceConfig
|
|
3708
|
+
}
|
|
3709
|
+
}
|
|
3710
|
+
}
|
|
3711
|
+
);
|
|
3712
|
+
}
|
|
3713
|
+
function getReleaseGroupConfig(projectGraph, releaseConfig, workspaceConfig) {
|
|
3714
|
+
const alreadyMatchedProjects = /* @__PURE__ */ new Set();
|
|
3651
3715
|
return !releaseConfig?.groups || Object.keys(releaseConfig.groups).length === 0 ? {} : Object.fromEntries(
|
|
3652
3716
|
Object.entries(releaseConfig.groups).map(([name, group]) => {
|
|
3653
|
-
const
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
|
|
3661
|
-
|
|
3662
|
-
|
|
3663
|
-
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
changelog: {
|
|
3668
|
-
...(group.projectsRelationship === "fixed" ? DEFAULT_FIXED_RELEASE_GROUP_CONFIG : DEFAULT_RELEASE_GROUP_CONFIG).changelog,
|
|
3669
|
-
renderer: StormChangelogRenderer,
|
|
3670
|
-
renderOptions: {
|
|
3671
|
-
...(group.projectsRelationship === "fixed" ? DEFAULT_FIXED_RELEASE_GROUP_CONFIG : DEFAULT_RELEASE_GROUP_CONFIG).changelog.renderOptions,
|
|
3672
|
-
workspaceConfig
|
|
3673
|
-
}
|
|
3674
|
-
}
|
|
3717
|
+
const matchingProjects = findMatchingProjects(
|
|
3718
|
+
typeof group.projects === "string" ? [group.projects] : group.projects,
|
|
3719
|
+
projectGraph.nodes
|
|
3720
|
+
);
|
|
3721
|
+
if (!matchingProjects.length) {
|
|
3722
|
+
throw new Error(
|
|
3723
|
+
`Release group "${name}" does not have any matching projects.`
|
|
3724
|
+
);
|
|
3725
|
+
}
|
|
3726
|
+
for (const project of matchingProjects) {
|
|
3727
|
+
if (alreadyMatchedProjects.has(project)) {
|
|
3728
|
+
throw new Error(
|
|
3729
|
+
`Project "${project}" is included in more than one release group. Please ensure that each project is only included in one release group, or remove the "projects" property from the release group configuration to allow it to be included in the same release group as other projects with overlapping globs.`
|
|
3730
|
+
);
|
|
3675
3731
|
}
|
|
3732
|
+
alreadyMatchedProjects.add(project);
|
|
3733
|
+
}
|
|
3734
|
+
let languageDefaultConfig = {};
|
|
3735
|
+
if (matchingProjects.every(
|
|
3736
|
+
(project) => projectGraph.nodes[project]?.data && (projectGraph.nodes[project]?.data.metadata?.js || isEqualProjectTag(
|
|
3737
|
+
projectGraph.nodes[project]?.data,
|
|
3738
|
+
ProjectTagConstants.Language.TAG_ID,
|
|
3739
|
+
ProjectTagConstants.Language.TYPESCRIPT
|
|
3740
|
+
) || projectGraph.nodes[project]?.data.metadata?.root && existsSync(
|
|
3741
|
+
joinPaths(
|
|
3742
|
+
projectGraph.nodes[project]?.data.metadata?.root,
|
|
3743
|
+
"package.json"
|
|
3744
|
+
)
|
|
3745
|
+
))
|
|
3746
|
+
)) {
|
|
3747
|
+
languageDefaultConfig = defu3(
|
|
3748
|
+
DEFAULT_JS_RELEASE_GROUP_CONFIG,
|
|
3749
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3750
|
+
);
|
|
3751
|
+
} else if (matchingProjects.every(
|
|
3752
|
+
(project) => projectGraph.nodes[project]?.data && (projectGraph.nodes[project]?.data.metadata?.rust || projectGraph.nodes[project]?.data.metadata?.cargo || isEqualProjectTag(
|
|
3753
|
+
projectGraph.nodes[project]?.data,
|
|
3754
|
+
ProjectTagConstants.Language.TAG_ID,
|
|
3755
|
+
ProjectTagConstants.Language.RUST
|
|
3756
|
+
) || projectGraph.nodes[project]?.data.metadata?.root && existsSync(
|
|
3757
|
+
joinPaths(
|
|
3758
|
+
projectGraph.nodes[project]?.data.metadata?.root,
|
|
3759
|
+
"Cargo.toml"
|
|
3760
|
+
)
|
|
3761
|
+
))
|
|
3762
|
+
)) {
|
|
3763
|
+
languageDefaultConfig = defu3(
|
|
3764
|
+
DEFAULT_RUST_RELEASE_GROUP_CONFIG,
|
|
3765
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3766
|
+
);
|
|
3767
|
+
}
|
|
3768
|
+
const config2 = mergeReleaseGroupConfig(
|
|
3769
|
+
group,
|
|
3770
|
+
defu3(
|
|
3771
|
+
languageDefaultConfig,
|
|
3772
|
+
group.projectsRelationship === "fixed" ? DEFAULT_FIXED_RELEASE_GROUP_CONFIG : DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG,
|
|
3773
|
+
DEFAULT_RELEASE_GROUP_CONFIG
|
|
3774
|
+
),
|
|
3775
|
+
workspaceConfig
|
|
3676
3776
|
);
|
|
3777
|
+
config2.projects = matchingProjects;
|
|
3677
3778
|
if (workspaceConfig?.workspaceRoot) {
|
|
3678
3779
|
if (config2.changelog?.renderer && typeof config2.changelog?.renderer === "string" && config2.changelog?.renderer?.toString().startsWith("./")) {
|
|
3679
3780
|
config2.changelog.renderer = joinPaths(
|
|
@@ -3693,4 +3794,4 @@ function getReleaseGroupConfig(releaseConfig, workspaceConfig) {
|
|
|
3693
3794
|
);
|
|
3694
3795
|
}
|
|
3695
3796
|
|
|
3696
|
-
export { DEFAULT_CHANGELOG_RELEASE_CONFIG, DEFAULT_COMMIT_MESSAGE, DEFAULT_CONVENTIONAL_COMMITS_CONFIG2 as DEFAULT_CONVENTIONAL_COMMITS_CONFIG, DEFAULT_FIXED_RELEASE_GROUP_CONFIG, DEFAULT_FIXED_RELEASE_TAG_PATTERN, DEFAULT_JS_RELEASE_GROUP_CONFIG, DEFAULT_RELEASE_CONFIG, DEFAULT_RELEASE_GROUP_CONFIG, DEFAULT_RELEASE_GROUP_GIT_CONFIG,
|
|
3797
|
+
export { DEFAULT_CHANGELOG_RELEASE_CONFIG, DEFAULT_COMMIT_MESSAGE, DEFAULT_CONVENTIONAL_COMMITS_CONFIG2 as DEFAULT_CONVENTIONAL_COMMITS_CONFIG, DEFAULT_FIXED_RELEASE_GROUP_CONFIG, DEFAULT_FIXED_RELEASE_TAG_PATTERN, DEFAULT_INDEPENDENT_RELEASE_GROUP_CONFIG, DEFAULT_INDEPENDENT_RELEASE_TAG_PATTERN, DEFAULT_JS_RELEASE_GROUP_CONFIG, DEFAULT_RELEASE_CONFIG, DEFAULT_RELEASE_GROUP_CONFIG, DEFAULT_RELEASE_GROUP_GIT_CONFIG, DEFAULT_RUST_RELEASE_GROUP_CONFIG, DEFAULT_VERSION_RELEASE_CONFIG, getReleaseGroupConfig, mergeReleaseGroupConfig };
|