beachball 2.46.0 → 2.47.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/README.md +14 -10
- package/lib/bump/bumpInPlace.d.ts.map +1 -1
- package/lib/bump/bumpInPlace.js +9 -12
- package/lib/bump/bumpInPlace.js.map +1 -1
- package/lib/bump/bumpMinSemverRange.d.ts.map +1 -1
- package/lib/bump/bumpMinSemverRange.js +5 -3
- package/lib/bump/bumpMinSemverRange.js.map +1 -1
- package/lib/bump/bumpPackageInfoVersion.d.ts +3 -2
- package/lib/bump/bumpPackageInfoVersion.d.ts.map +1 -1
- package/lib/bump/bumpPackageInfoVersion.js +3 -2
- package/lib/bump/bumpPackageInfoVersion.js.map +1 -1
- package/lib/bump/gatherBumpInfo.d.ts +3 -0
- package/lib/bump/gatherBumpInfo.d.ts.map +1 -1
- package/lib/bump/gatherBumpInfo.js +5 -4
- package/lib/bump/gatherBumpInfo.js.map +1 -1
- package/lib/bump/getDependentsForPackages.d.ts +9 -0
- package/lib/bump/getDependentsForPackages.d.ts.map +1 -0
- package/lib/bump/{setDependentsInBumpInfo.js → getDependentsForPackages.js} +11 -9
- package/lib/bump/getDependentsForPackages.js.map +1 -0
- package/lib/bump/performBump.d.ts +2 -9
- package/lib/bump/performBump.d.ts.map +1 -1
- package/lib/bump/performBump.js +11 -88
- package/lib/bump/performBump.js.map +1 -1
- package/lib/bump/setDependentVersions.d.ts +7 -4
- package/lib/bump/setDependentVersions.d.ts.map +1 -1
- package/lib/bump/setDependentVersions.js +18 -10
- package/lib/bump/setDependentVersions.js.map +1 -1
- package/lib/bump/updateLockFile.d.ts +5 -0
- package/lib/bump/updateLockFile.d.ts.map +1 -0
- package/lib/bump/updateLockFile.js +52 -0
- package/lib/bump/updateLockFile.js.map +1 -0
- package/lib/bump/updatePackageJsons.d.ts +6 -0
- package/lib/bump/updatePackageJsons.d.ts.map +1 -0
- package/lib/bump/updatePackageJsons.js +40 -0
- package/lib/bump/updatePackageJsons.js.map +1 -0
- package/lib/bump/updateRelatedChangeType.d.ts +8 -5
- package/lib/bump/updateRelatedChangeType.d.ts.map +1 -1
- package/lib/bump/updateRelatedChangeType.js +41 -51
- package/lib/bump/updateRelatedChangeType.js.map +1 -1
- package/lib/changefile/changeTypes.d.ts +1 -1
- package/lib/changefile/changeTypes.d.ts.map +1 -1
- package/lib/changefile/changeTypes.js +12 -1
- package/lib/changefile/changeTypes.js.map +1 -1
- package/lib/changefile/getChangedPackages.d.ts.map +1 -1
- package/lib/changefile/getChangedPackages.js +3 -4
- package/lib/changefile/getChangedPackages.js.map +1 -1
- package/lib/changefile/unlinkChangeFiles.d.ts +3 -4
- package/lib/changefile/unlinkChangeFiles.d.ts.map +1 -1
- package/lib/changefile/unlinkChangeFiles.js +1 -1
- package/lib/changefile/unlinkChangeFiles.js.map +1 -1
- package/lib/changelog/getPackageChangelogs.d.ts +3 -10
- package/lib/changelog/getPackageChangelogs.d.ts.map +1 -1
- package/lib/changelog/getPackageChangelogs.js +4 -3
- package/lib/changelog/getPackageChangelogs.js.map +1 -1
- package/lib/changelog/mergeChangelogs.d.ts.map +1 -1
- package/lib/changelog/mergeChangelogs.js +8 -6
- package/lib/changelog/mergeChangelogs.js.map +1 -1
- package/lib/changelog/renderPackageChangelog.d.ts.map +1 -1
- package/lib/changelog/renderPackageChangelog.js +11 -10
- package/lib/changelog/renderPackageChangelog.js.map +1 -1
- package/lib/changelog/writeChangelog.d.ts +1 -3
- package/lib/changelog/writeChangelog.d.ts.map +1 -1
- package/lib/changelog/writeChangelog.js +77 -68
- package/lib/changelog/writeChangelog.js.map +1 -1
- package/lib/commands/canary.js +1 -1
- package/lib/commands/canary.js.map +1 -1
- package/lib/commands/init.d.ts +1 -1
- package/lib/commands/init.d.ts.map +1 -1
- package/lib/commands/init.js.map +1 -1
- package/lib/commands/publish.d.ts.map +1 -1
- package/lib/commands/publish.js +8 -3
- package/lib/commands/publish.js.map +1 -1
- package/lib/commands/sync.d.ts.map +1 -1
- package/lib/commands/sync.js +5 -4
- package/lib/commands/sync.js.map +1 -1
- package/lib/env.js +1 -1
- package/lib/packageManager/getWorkspaceRange.d.ts +11 -0
- package/lib/packageManager/getWorkspaceRange.d.ts.map +1 -0
- package/lib/packageManager/getWorkspaceRange.js +21 -0
- package/lib/packageManager/getWorkspaceRange.js.map +1 -0
- package/lib/publish/getNewPackages.d.ts +5 -0
- package/lib/publish/getNewPackages.d.ts.map +1 -1
- package/lib/publish/getNewPackages.js +8 -3
- package/lib/publish/getNewPackages.js.map +1 -1
- package/lib/publish/getPackagesToPublish.d.ts +2 -2
- package/lib/publish/getPackagesToPublish.d.ts.map +1 -1
- package/lib/publish/getPackagesToPublish.js +5 -5
- package/lib/publish/getPackagesToPublish.js.map +1 -1
- package/lib/publish/performPublishOverrides.d.ts +1 -1
- package/lib/publish/performPublishOverrides.d.ts.map +1 -1
- package/lib/publish/performPublishOverrides.js +13 -11
- package/lib/publish/performPublishOverrides.js.map +1 -1
- package/lib/publish/publishToRegistry.d.ts +3 -2
- package/lib/publish/publishToRegistry.d.ts.map +1 -1
- package/lib/publish/publishToRegistry.js +3 -1
- package/lib/publish/publishToRegistry.js.map +1 -1
- package/lib/publish/tagPackages.d.ts +3 -2
- package/lib/publish/tagPackages.d.ts.map +1 -1
- package/lib/publish/tagPackages.js +4 -4
- package/lib/publish/tagPackages.js.map +1 -1
- package/lib/types/BeachballOptions.d.ts +9 -5
- package/lib/types/BeachballOptions.d.ts.map +1 -1
- package/lib/types/BumpInfo.d.ts +26 -19
- package/lib/types/BumpInfo.d.ts.map +1 -1
- package/lib/types/ChangeInfo.d.ts.map +1 -1
- package/lib/types/ChangelogOptions.d.ts +4 -0
- package/lib/types/ChangelogOptions.d.ts.map +1 -1
- package/lib/types/DeepReadonly.d.ts +8 -0
- package/lib/types/DeepReadonly.d.ts.map +1 -0
- package/lib/types/DeepReadonly.js +3 -0
- package/lib/types/DeepReadonly.js.map +1 -0
- package/lib/types/PackageInfo.d.ts +2 -0
- package/lib/types/PackageInfo.d.ts.map +1 -1
- package/lib/types/PackageInfo.js +8 -0
- package/lib/types/PackageInfo.js.map +1 -1
- package/lib/validation/isChangeFileNeeded.d.ts +2 -2
- package/lib/validation/isChangeFileNeeded.d.ts.map +1 -1
- package/lib/validation/isChangeFileNeeded.js.map +1 -1
- package/lib/validation/isValidDependentChangeType.d.ts.map +1 -1
- package/lib/validation/isValidDependentChangeType.js +1 -2
- package/lib/validation/isValidDependentChangeType.js.map +1 -1
- package/lib/validation/validate.js +18 -18
- package/lib/validation/validate.js.map +1 -1
- package/package.json +1 -1
- package/lib/bump/setDependentsInBumpInfo.d.ts +0 -8
- package/lib/bump/setDependentsInBumpInfo.d.ts.map +0 -1
- package/lib/bump/setDependentsInBumpInfo.js.map +0 -1
- package/lib/bump/setGroupsInBumpInfo.d.ts +0 -4
- package/lib/bump/setGroupsInBumpInfo.d.ts.map +0 -1
- package/lib/bump/setGroupsInBumpInfo.js +0 -15
- package/lib/bump/setGroupsInBumpInfo.js.map +0 -1
package/README.md
CHANGED
|
@@ -79,20 +79,24 @@ show help message
|
|
|
79
79
|
|
|
80
80
|
skips the prompts for publish
|
|
81
81
|
|
|
82
|
-
## Overriding Concurrency
|
|
83
|
-
|
|
84
|
-
In large monorepos, the Beachball sync process can be time-consuming due to the high number of packages. To optimize performance, you can override the default concurrency (typically set to 2 or 5) by setting the NPM_CONCURRENCY environment variable to a value that best suits your needs
|
|
85
|
-
|
|
86
82
|
## Examples
|
|
87
83
|
|
|
88
84
|
```
|
|
89
|
-
|
|
85
|
+
$ beachball
|
|
90
86
|
|
|
91
|
-
|
|
87
|
+
$ beachball check
|
|
92
88
|
|
|
93
|
-
|
|
89
|
+
$ beachball publish -r http://localhost:4873 -t beta
|
|
94
90
|
```
|
|
95
91
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
92
|
+
## Notes
|
|
93
|
+
|
|
94
|
+
### Overriding concurrency
|
|
95
|
+
|
|
96
|
+
In large monorepos, the Beachball sync process can be time-consuming due to the high number of packages. To optimize performance, you can override the default concurrency (typically 2 or 5) by setting the `NPM_CONCURRENCY` environment variable to a value that best suits your needs.
|
|
97
|
+
|
|
98
|
+
### API surface
|
|
99
|
+
|
|
100
|
+
Beachball **does not** have a public API beyond the provided [options](https://microsoft.github.io/beachball/overview/configuration.html). Usage of private APIs is not supported and may break at any time.
|
|
101
|
+
|
|
102
|
+
If you need to customize something beyond what's currently supported in the options, please open a feature request or talk with the maintainers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bumpInPlace.d.ts","sourceRoot":"","sources":["../../src/bump/bumpInPlace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"bumpInPlace.d.ts","sourceRoot":"","sources":["../../src/bump/bumpInPlace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAqC/E"}
|
package/lib/bump/bumpInPlace.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.bumpInPlace = void 0;
|
|
4
|
-
const
|
|
4
|
+
const getDependentsForPackages_1 = require("./getDependentsForPackages");
|
|
5
5
|
const updateRelatedChangeType_1 = require("./updateRelatedChangeType");
|
|
6
6
|
const bumpPackageInfoVersion_1 = require("./bumpPackageInfoVersion");
|
|
7
|
-
const setGroupsInBumpInfo_1 = require("./setGroupsInBumpInfo");
|
|
8
7
|
const setDependentVersions_1 = require("./setDependentVersions");
|
|
9
8
|
/**
|
|
10
9
|
* Updates BumpInfo according to change types, bump deps, and version groups
|
|
@@ -13,33 +12,31 @@ const setDependentVersions_1 = require("./setDependentVersions");
|
|
|
13
12
|
*/
|
|
14
13
|
function bumpInPlace(bumpInfo, options) {
|
|
15
14
|
const { bumpDeps } = options;
|
|
16
|
-
const {
|
|
15
|
+
const { calculatedChangeTypes, changeFileChangeInfos, modifiedPackages } = bumpInfo;
|
|
17
16
|
// pass 1: figure out all the change types for all the packages taking into account the bumpDeps option and version groups
|
|
18
|
-
|
|
19
|
-
(0, setDependentsInBumpInfo_1.setDependentsInBumpInfo)(bumpInfo);
|
|
20
|
-
}
|
|
21
|
-
(0, setGroupsInBumpInfo_1.setGroupsInBumpInfo)(bumpInfo, options);
|
|
17
|
+
const dependents = bumpDeps ? (0, getDependentsForPackages_1.getDependentsForPackages)(bumpInfo) : {};
|
|
22
18
|
// TODO: when we do "locked", or "lock step" versioning, we could simply skip setting grouped change types
|
|
23
19
|
// - set the version for all packages in the group in (bumpPackageInfoVersion())
|
|
24
20
|
// - the main concern is how to capture the bump reason in grouped changelog
|
|
25
21
|
// pass 2: initialize grouped calculatedChangeTypes together
|
|
26
22
|
for (const { change: changeInfo } of changeFileChangeInfos) {
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
for (const packageNameInGroup of
|
|
23
|
+
const group = Object.values(bumpInfo.packageGroups).find(group => group.packageNames.includes(changeInfo.packageName));
|
|
24
|
+
if (group) {
|
|
25
|
+
for (const packageNameInGroup of group.packageNames) {
|
|
30
26
|
calculatedChangeTypes[packageNameInGroup] = changeInfo.type;
|
|
31
27
|
}
|
|
32
28
|
}
|
|
33
29
|
}
|
|
30
|
+
// Calculate change types for packages and dependencies
|
|
34
31
|
for (const { changeFile } of changeFileChangeInfos) {
|
|
35
|
-
(0, updateRelatedChangeType_1.updateRelatedChangeType)(changeFile, bumpInfo, bumpDeps);
|
|
32
|
+
(0, updateRelatedChangeType_1.updateRelatedChangeType)({ changeFile, bumpInfo, dependents, bumpDeps });
|
|
36
33
|
}
|
|
37
34
|
// pass 3: actually bump the packages in the bumpInfo in memory (no disk writes at this point)
|
|
38
35
|
Object.keys(calculatedChangeTypes).forEach(pkgName => {
|
|
39
36
|
(0, bumpPackageInfoVersion_1.bumpPackageInfoVersion)(pkgName, bumpInfo, options);
|
|
40
37
|
});
|
|
41
38
|
// step 4: Bump all the dependencies packages
|
|
42
|
-
bumpInfo.dependentChangedBy = (0, setDependentVersions_1.setDependentVersions)(
|
|
39
|
+
bumpInfo.dependentChangedBy = (0, setDependentVersions_1.setDependentVersions)(bumpInfo, options);
|
|
43
40
|
Object.keys(bumpInfo.dependentChangedBy).forEach(pkg => modifiedPackages.add(pkg));
|
|
44
41
|
}
|
|
45
42
|
exports.bumpInPlace = bumpInPlace;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bumpInPlace.js","sourceRoot":"","sources":["../../src/bump/bumpInPlace.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"bumpInPlace.js","sourceRoot":"","sources":["../../src/bump/bumpInPlace.ts"],"names":[],"mappings":";;;AACA,yEAAsE;AACtE,uEAAoE;AACpE,qEAAkE;AAElE,iEAA8D;AAE9D;;;;GAIG;AACH,SAAgB,WAAW,CAAC,QAAkB,EAAE,OAAyB;IACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;IAEpF,0HAA0H;IAC1H,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAA,mDAAwB,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtE,0GAA0G;IAC1G,sFAAsF;IACtF,kFAAkF;IAElF,4DAA4D;IAC5D,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,qBAAqB,EAAE;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAC/D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CACpD,CAAC;QAEF,IAAI,KAAK,EAAE;YACT,KAAK,MAAM,kBAAkB,IAAI,KAAK,CAAC,YAAY,EAAE;gBACnD,qBAAqB,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;aAC7D;SACF;KACF;IAED,uDAAuD;IACvD,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,qBAAqB,EAAE;QAClD,IAAA,iDAAuB,EAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;KACzE;IAED,8FAA8F;IAC9F,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACnD,IAAA,+CAAsB,EAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,QAAQ,CAAC,kBAAkB,GAAG,IAAA,2CAAoB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACrF,CAAC;AArCD,kCAqCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bumpMinSemverRange.d.ts","sourceRoot":"","sources":["../../src/bump/bumpMinSemverRange.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bumpMinSemverRange.d.ts","sourceRoot":"","sources":["../../src/bump/bumpMinSemverRange.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAiClF"}
|
|
@@ -5,11 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.bumpMinSemverRange = void 0;
|
|
7
7
|
const semver_1 = __importDefault(require("semver"));
|
|
8
|
+
const getWorkspaceRange_1 = require("../packageManager/getWorkspaceRange");
|
|
8
9
|
function bumpMinSemverRange(minVersion, semverRange) {
|
|
9
10
|
if (semverRange === '*') {
|
|
10
11
|
return semverRange;
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
+
const workspaceRange = (0, getWorkspaceRange_1.getWorkspaceRange)(semverRange);
|
|
14
|
+
if (workspaceRange === '*' || workspaceRange === '~' || workspaceRange === '^') {
|
|
13
15
|
// For basic workspace ranges we can just preserve current value and replace during publish
|
|
14
16
|
// https://pnpm.io/workspaces#workspace-protocol-workspace
|
|
15
17
|
return semverRange;
|
|
@@ -19,10 +21,10 @@ function bumpMinSemverRange(minVersion, semverRange) {
|
|
|
19
21
|
// ^1.0.0
|
|
20
22
|
return semverRange[0] + minVersion;
|
|
21
23
|
}
|
|
22
|
-
if (
|
|
24
|
+
if (workspaceRange && (workspaceRange[0] === '~' || workspaceRange[0] === '^')) {
|
|
23
25
|
// workspace:~1.0.0
|
|
24
26
|
// workspace:^1.0.0
|
|
25
|
-
return `workspace:${
|
|
27
|
+
return `workspace:${workspaceRange[0]}${minVersion}`;
|
|
26
28
|
}
|
|
27
29
|
if (semverRange.includes('>')) {
|
|
28
30
|
// Less frequently used, but we treat any of these kinds of ranges to be within a minor band for now:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bumpMinSemverRange.js","sourceRoot":"","sources":["../../src/bump/bumpMinSemverRange.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;
|
|
1
|
+
{"version":3,"file":"bumpMinSemverRange.js","sourceRoot":"","sources":["../../src/bump/bumpMinSemverRange.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAC5B,2EAAwE;AAExE,SAAgB,kBAAkB,CAAC,UAAkB,EAAE,WAAmB;IACxE,IAAI,WAAW,KAAK,GAAG,EAAE;QACvB,OAAO,WAAW,CAAC;KACpB;IAED,MAAM,cAAc,GAAG,IAAA,qCAAiB,EAAC,WAAW,CAAC,CAAC;IAEtD,IAAI,cAAc,KAAK,GAAG,IAAI,cAAc,KAAK,GAAG,IAAI,cAAc,KAAK,GAAG,EAAE;QAC9E,2FAA2F;QAC3F,0DAA0D;QAC1D,OAAO,WAAW,CAAC;KACpB;IACD,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACpD,SAAS;QACT,SAAS;QACT,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;KACpC;IACD,IAAI,cAAc,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE;QAC9E,mBAAmB;QACnB,mBAAmB;QACnB,OAAO,aAAa,cAAc,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC;KACtD;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAC7B,qGAAqG;QACrG,8EAA8E;QAC9E,iBAAiB;QACjB,OAAO,KAAK,UAAU,KAAK,gBAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;KAC9D;IACD,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAC/B,gBAAgB;QAChB,OAAO,GAAG,UAAU,MAAM,gBAAM,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;KAC7D;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAjCD,gDAiCC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BumpInfo } from '../types/BumpInfo';
|
|
2
2
|
import { BeachballOptions } from '../types/BeachballOptions';
|
|
3
3
|
/**
|
|
4
|
-
* Bumps an individual package version based on the change type
|
|
4
|
+
* Bumps an individual package version based on the change type.
|
|
5
|
+
* **This mutates `info.version`!**
|
|
5
6
|
*/
|
|
6
|
-
export declare function bumpPackageInfoVersion(pkgName: string, bumpInfo: BumpInfo, options: BeachballOptions): void;
|
|
7
|
+
export declare function bumpPackageInfoVersion(pkgName: string, bumpInfo: Pick<BumpInfo, 'calculatedChangeTypes' | 'packageInfos' | 'modifiedPackages'>, options: Pick<BeachballOptions, 'prereleasePrefix' | 'identifierBase'>): void;
|
|
7
8
|
//# sourceMappingURL=bumpPackageInfoVersion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bumpPackageInfoVersion.d.ts","sourceRoot":"","sources":["../../src/bump/bumpPackageInfoVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D
|
|
1
|
+
{"version":3,"file":"bumpPackageInfoVersion.d.ts","sourceRoot":"","sources":["../../src/bump/bumpPackageInfoVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,uBAAuB,GAAG,cAAc,GAAG,kBAAkB,CAAC,EACvF,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,GAAG,gBAAgB,CAAC,GACrE,IAAI,CA2BN"}
|
|
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.bumpPackageInfoVersion = void 0;
|
|
7
7
|
const semver_1 = __importDefault(require("semver"));
|
|
8
8
|
/**
|
|
9
|
-
* Bumps an individual package version based on the change type
|
|
9
|
+
* Bumps an individual package version based on the change type.
|
|
10
|
+
* **This mutates `info.version`!**
|
|
10
11
|
*/
|
|
11
12
|
function bumpPackageInfoVersion(pkgName, bumpInfo, options) {
|
|
12
13
|
const { calculatedChangeTypes, packageInfos, modifiedPackages } = bumpInfo;
|
|
@@ -24,7 +25,7 @@ function bumpPackageInfoVersion(pkgName, bumpInfo, options) {
|
|
|
24
25
|
else {
|
|
25
26
|
// Ensure we can bump the correct versions
|
|
26
27
|
let bumpAsPrerelease = false;
|
|
27
|
-
if (options.prereleasePrefix && ![
|
|
28
|
+
if (options.prereleasePrefix && !['premajor', 'preminor', 'prepatch'].includes(changeType)) {
|
|
28
29
|
bumpAsPrerelease = true;
|
|
29
30
|
}
|
|
30
31
|
// Version should be updated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bumpPackageInfoVersion.js","sourceRoot":"","sources":["../../src/bump/bumpPackageInfoVersion.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAG5B
|
|
1
|
+
{"version":3,"file":"bumpPackageInfoVersion.js","sourceRoot":"","sources":["../../src/bump/bumpPackageInfoVersion.ts"],"names":[],"mappings":";;;;;;AACA,oDAA4B;AAG5B;;;GAGG;AACH,SAAgB,sBAAsB,CACpC,OAAe,EACf,QAAuF,EACvF,OAAsE;IAEtE,MAAM,EAAE,qBAAqB,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;IAC3E,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,CAAC,GAAG,CAAC,0BAA0B,OAAO,yCAAyC,CAAC,CAAC;KACzF;SAAM,IAAI,UAAU,KAAK,MAAM,EAAE;QAChC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,0DAA0D,CAAC,CAAC;KACpF;SAAM,IAAI,IAAI,CAAC,OAAO,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,qCAAqC,OAAO,GAAG,CAAC,CAAC;KAC9D;SAAM;QACL,0CAA0C;QAC1C,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC1F,gBAAgB,GAAG,IAAI,CAAC;SACzB;QAED,4BAA4B;QAC5B,IAAI,CAAC,OAAO,GAAG,gBAAM,CAAC,GAAG,CACvB,IAAI,CAAC,OAAO,EACZ,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,EAC5C,OAAO,CAAC,gBAAgB,IAAI,SAAS,EACrC,OAAO,CAAC,cAAc,CACb,CAAC;QACZ,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;KAC/B;AACH,CAAC;AA/BD,wDA+BC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { BumpInfo } from '../types/BumpInfo';
|
|
2
2
|
import { BeachballOptions } from '../types/BeachballOptions';
|
|
3
3
|
import { PackageInfos } from '../types/PackageInfo';
|
|
4
|
+
/**
|
|
5
|
+
* Gather bump info and bump versions in memory.
|
|
6
|
+
*/
|
|
4
7
|
export declare function gatherBumpInfo(options: BeachballOptions, packageInfos: PackageInfos): BumpInfo;
|
|
5
8
|
//# sourceMappingURL=gatherBumpInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gatherBumpInfo.d.ts","sourceRoot":"","sources":["../../src/bump/gatherBumpInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"gatherBumpInfo.d.ts","sourceRoot":"","sources":["../../src/bump/gatherBumpInfo.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,GAAG,QAAQ,CAyB9F"}
|
|
@@ -5,6 +5,10 @@ const changeTypes_1 = require("../changefile/changeTypes");
|
|
|
5
5
|
const readChangeFiles_1 = require("../changefile/readChangeFiles");
|
|
6
6
|
const bumpInPlace_1 = require("./bumpInPlace");
|
|
7
7
|
const getScopedPackages_1 = require("../monorepo/getScopedPackages");
|
|
8
|
+
const getPackageGroups_1 = require("../monorepo/getPackageGroups");
|
|
9
|
+
/**
|
|
10
|
+
* Gather bump info and bump versions in memory.
|
|
11
|
+
*/
|
|
8
12
|
function gatherBumpInfo(options, packageInfos) {
|
|
9
13
|
// Collate the changes per package
|
|
10
14
|
const changes = (0, readChangeFiles_1.readChangeFiles)(options, packageInfos);
|
|
@@ -18,14 +22,11 @@ function gatherBumpInfo(options, packageInfos) {
|
|
|
18
22
|
const bumpInfo = {
|
|
19
23
|
calculatedChangeTypes,
|
|
20
24
|
packageInfos,
|
|
21
|
-
packageGroups:
|
|
25
|
+
packageGroups: (0, getPackageGroups_1.getPackageGroups)(packageInfos, options.path, options.groups),
|
|
22
26
|
changeFileChangeInfos: changes,
|
|
23
27
|
modifiedPackages: new Set(),
|
|
24
|
-
newPackages: new Set(),
|
|
25
28
|
scopedPackages: new Set((0, getScopedPackages_1.getScopedPackages)(options, packageInfos)),
|
|
26
29
|
dependentChangedBy: {},
|
|
27
|
-
groupOptions: {},
|
|
28
|
-
dependents: {},
|
|
29
30
|
};
|
|
30
31
|
(0, bumpInPlace_1.bumpInPlace)(bumpInfo, options);
|
|
31
32
|
return bumpInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gatherBumpInfo.js","sourceRoot":"","sources":["../../src/bump/gatherBumpInfo.ts"],"names":[],"mappings":";;;AAAA,2DAAyE;AACzE,mEAAgE;AAEhE,+CAA4C;AAE5C,qEAAkE;
|
|
1
|
+
{"version":3,"file":"gatherBumpInfo.js","sourceRoot":"","sources":["../../src/bump/gatherBumpInfo.ts"],"names":[],"mappings":";;;AAAA,2DAAyE;AACzE,mEAAgE;AAEhE,+CAA4C;AAE5C,qEAAkE;AAElE,mEAAgE;AAEhE;;GAEG;AACH,SAAgB,cAAc,CAAC,OAAyB,EAAE,YAA0B;IAClF,kCAAkC;IAClC,MAAM,OAAO,GAAG,IAAA,iCAAe,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEvD,qDAAqD;IACrD,MAAM,qBAAqB,GAAG,IAAA,0CAA4B,EAAC,OAAO,CAAC,CAAC;IACpE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACvD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;YAC9B,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAa;QACzB,qBAAqB;QACrB,YAAY;QACZ,aAAa,EAAE,IAAA,mCAAgB,EAAC,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;QAC3E,qBAAqB,EAAE,OAAO;QAC9B,gBAAgB,EAAE,IAAI,GAAG,EAAU;QACnC,cAAc,EAAE,IAAI,GAAG,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjE,kBAAkB,EAAE,EAAE;KACvB,CAAC;IAEF,IAAA,yBAAW,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAE/B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAzBD,wCAyBC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BumpInfo, PackageDependents } from '../types/BumpInfo';
|
|
2
|
+
/**
|
|
3
|
+
* Gets dependents for all packages (child points to parents): if A depends on B, then `{B: [A]}`
|
|
4
|
+
*
|
|
5
|
+
* Example: "BigApp" deps on "SomeUtil", "BigApp" would be the dependent.
|
|
6
|
+
* => `{ "SomeUtil": ["BigApp"] }`
|
|
7
|
+
*/
|
|
8
|
+
export declare function getDependentsForPackages(bumpInfo: Pick<BumpInfo, 'packageInfos' | 'scopedPackages'>): PackageDependents;
|
|
9
|
+
//# sourceMappingURL=getDependentsForPackages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDependentsForPackages.d.ts","sourceRoot":"","sources":["../../src/bump/getDependentsForPackages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGrE;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC1D,iBAAiB,CAuBnB"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getDependentsForPackages = void 0;
|
|
4
|
+
const PackageInfo_1 = require("../types/PackageInfo");
|
|
4
5
|
/**
|
|
5
|
-
* Gets dependents for all packages
|
|
6
|
+
* Gets dependents for all packages (child points to parents): if A depends on B, then `{B: [A]}`
|
|
6
7
|
*
|
|
7
|
-
* Example: "BigApp" deps on "SomeUtil", "BigApp" would be the dependent
|
|
8
|
+
* Example: "BigApp" deps on "SomeUtil", "BigApp" would be the dependent.
|
|
9
|
+
* => `{ "SomeUtil": ["BigApp"] }`
|
|
8
10
|
*/
|
|
9
|
-
function
|
|
11
|
+
function getDependentsForPackages(bumpInfo) {
|
|
10
12
|
const { packageInfos, scopedPackages } = bumpInfo;
|
|
11
13
|
const dependents = {};
|
|
12
14
|
for (const [pkgName, info] of Object.entries(packageInfos)) {
|
|
13
15
|
if (!scopedPackages.has(pkgName)) {
|
|
14
16
|
continue;
|
|
15
17
|
}
|
|
16
|
-
for (const
|
|
17
|
-
for (const dep of Object.keys(
|
|
18
|
+
for (const depType of PackageInfo_1.consideredDependencies) {
|
|
19
|
+
for (const dep of Object.keys(info[depType] || {})) {
|
|
18
20
|
if (packageInfos[dep]) {
|
|
19
21
|
dependents[dep] ?? (dependents[dep] = []);
|
|
20
22
|
if (!dependents[dep].includes(pkgName)) {
|
|
@@ -24,7 +26,7 @@ function setDependentsInBumpInfo(bumpInfo) {
|
|
|
24
26
|
}
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
|
-
|
|
29
|
+
return dependents;
|
|
28
30
|
}
|
|
29
|
-
exports.
|
|
30
|
-
//# sourceMappingURL=
|
|
31
|
+
exports.getDependentsForPackages = getDependentsForPackages;
|
|
32
|
+
//# sourceMappingURL=getDependentsForPackages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getDependentsForPackages.js","sourceRoot":"","sources":["../../src/bump/getDependentsForPackages.ts"],"names":[],"mappings":";;;AACA,sDAA8D;AAE9D;;;;;GAKG;AACH,SAAgB,wBAAwB,CACtC,QAA2D;IAE3D,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAElD,MAAM,UAAU,GAAoC,EAAE,CAAC;IAEvD,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC1D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAChC,SAAS;SACV;QAED,KAAK,MAAM,OAAO,IAAI,oCAAsB,EAAE;YAC5C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE;gBAClD,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;oBACrB,UAAU,CAAC,GAAG,MAAd,UAAU,CAAC,GAAG,IAAM,EAAE,EAAC;oBACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACtC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC/B;iBACF;aACF;SACF;KACF;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAzBD,4DAyBC"}
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import { BumpInfo } from '../types/BumpInfo';
|
|
2
2
|
import { BeachballOptions } from '../types/BeachballOptions';
|
|
3
|
-
import { PackageInfos } from '../types/PackageInfo';
|
|
4
|
-
export declare function writePackageJson(modifiedPackages: Set<string>, packageInfos: PackageInfos): void;
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
export declare function updatePackageLock(cwd: string): Promise<void>;
|
|
9
|
-
/**
|
|
10
|
-
* Performs the bump, writes to the file system
|
|
11
|
-
*
|
|
12
|
-
* deletes change files, update package.json, and changelogs
|
|
4
|
+
* Performs the bump and writes to the filesystem:
|
|
5
|
+
* update package.json files, update lock file, write changelogs, and delete change files.
|
|
13
6
|
*/
|
|
14
7
|
export declare function performBump(bumpInfo: BumpInfo, options: BeachballOptions): Promise<BumpInfo>;
|
|
15
8
|
//# sourceMappingURL=performBump.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performBump.d.ts","sourceRoot":"","sources":["../../src/bump/performBump.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"performBump.d.ts","sourceRoot":"","sources":["../../src/bump/performBump.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAK7D;;;GAGG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsBlG"}
|
package/lib/bump/performBump.js
CHANGED
|
@@ -1,106 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.performBump =
|
|
7
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
3
|
+
exports.performBump = void 0;
|
|
9
4
|
const unlinkChangeFiles_1 = require("../changefile/unlinkChangeFiles");
|
|
10
5
|
const writeChangelog_1 = require("../changelog/writeChangelog");
|
|
11
|
-
const workspace_tools_1 = require("workspace-tools");
|
|
12
|
-
const npm_1 = require("../packageManager/npm");
|
|
13
|
-
const packageManager_1 = require("../packageManager/packageManager");
|
|
14
6
|
const callHook_1 = require("./callHook");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const info = packageInfos[pkgName];
|
|
18
|
-
if (!fs_extra_1.default.existsSync(info.packageJsonPath)) {
|
|
19
|
-
console.warn(`Skipping ${pkgName} since package.json does not exist`);
|
|
20
|
-
continue;
|
|
21
|
-
}
|
|
22
|
-
const packageJson = fs_extra_1.default.readJSONSync(info.packageJsonPath);
|
|
23
|
-
if (!info.private) {
|
|
24
|
-
packageJson.version = info.version;
|
|
25
|
-
}
|
|
26
|
-
for (const depKind of ['dependencies', 'devDependencies', 'peerDependencies', 'optionalDependencies']) {
|
|
27
|
-
// updatedDeps contains all of the dependencies in the bump info since the beginning of a build job
|
|
28
|
-
const updatedDepsVersions = info[depKind];
|
|
29
|
-
if (updatedDepsVersions) {
|
|
30
|
-
// to be cautious, only update internal && modifiedPackages, since some other dependency
|
|
31
|
-
// changes could have occurred since the beginning of the build job and the next merge step
|
|
32
|
-
// would overwrite those incorrectly!
|
|
33
|
-
for (const [dep, updatedVersion] of Object.entries(updatedDepsVersions)) {
|
|
34
|
-
if (modifiedPackages.has(dep) && packageJson[depKind]?.[dep]) {
|
|
35
|
-
packageJson[depKind][dep] = updatedVersion;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
fs_extra_1.default.writeJSONSync(info.packageJsonPath, packageJson, { spaces: 2 });
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.writePackageJson = writePackageJson;
|
|
44
|
-
/**
|
|
45
|
-
* Detects lockfile for npm, pnpm, or yarn and runs the appropriate command to update it
|
|
46
|
-
*/
|
|
47
|
-
async function updatePackageLock(cwd) {
|
|
48
|
-
const root = (0, workspace_tools_1.findProjectRoot)(cwd);
|
|
49
|
-
if (root && fs_extra_1.default.existsSync(path_1.default.join(root, 'package-lock.json'))) {
|
|
50
|
-
console.log('Updating package-lock.json after bumping packages');
|
|
51
|
-
const res = await (0, npm_1.npm)(['install', '--package-lock-only', '--ignore-scripts'], { stdio: 'inherit', cwd: root });
|
|
52
|
-
if (!res.success) {
|
|
53
|
-
console.warn('Updating package-lock.json failed. Continuing...');
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else if (root && fs_extra_1.default.existsSync(path_1.default.join(root, 'pnpm-lock.yaml'))) {
|
|
57
|
-
console.log('Updating pnpm-lock.yaml after bumping packages');
|
|
58
|
-
const res = await (0, packageManager_1.packageManager)('pnpm', ['install', '--lockfile-only', '--ignore-scripts'], {
|
|
59
|
-
stdio: 'inherit',
|
|
60
|
-
cwd: root,
|
|
61
|
-
});
|
|
62
|
-
if (!res.success) {
|
|
63
|
-
console.warn('Updating pnpm-lock.yaml failed. Continuing...');
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else if (root && fs_extra_1.default.existsSync(path_1.default.join(root, 'yarn.lock'))) {
|
|
67
|
-
console.log('Updating yarn.lock after bumping packages');
|
|
68
|
-
const version = await (0, packageManager_1.packageManager)('yarn', ['--version'], { cwd: root });
|
|
69
|
-
if (!version.success) {
|
|
70
|
-
console.warn('Failed to get yarn version. Continuing...');
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
if (version.stdout.startsWith('1.')) {
|
|
74
|
-
console.log('Yarn v1 detected, skipping update lockfile since it is not needed');
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
// for yarn v2+
|
|
78
|
-
const res = await (0, packageManager_1.packageManager)('yarn', ['install', '--mode', 'update-lockfile'], { stdio: 'inherit', cwd: root });
|
|
79
|
-
if (!res.success) {
|
|
80
|
-
console.warn('Updating yarn.lock failed. Continuing...');
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.updatePackageLock = updatePackageLock;
|
|
7
|
+
const updatePackageJsons_1 = require("./updatePackageJsons");
|
|
8
|
+
const updateLockFile_1 = require("./updateLockFile");
|
|
85
9
|
/**
|
|
86
|
-
* Performs the bump
|
|
87
|
-
*
|
|
88
|
-
* deletes change files, update package.json, and changelogs
|
|
10
|
+
* Performs the bump and writes to the filesystem:
|
|
11
|
+
* update package.json files, update lock file, write changelogs, and delete change files.
|
|
89
12
|
*/
|
|
90
13
|
async function performBump(bumpInfo, options) {
|
|
91
|
-
const { modifiedPackages, packageInfos, changeFileChangeInfos
|
|
92
|
-
await (0, callHook_1.callHook)(options.hooks?.prebump, modifiedPackages,
|
|
93
|
-
|
|
94
|
-
await
|
|
14
|
+
const { modifiedPackages, packageInfos, changeFileChangeInfos } = bumpInfo;
|
|
15
|
+
await (0, callHook_1.callHook)(options.hooks?.prebump, modifiedPackages, packageInfos);
|
|
16
|
+
(0, updatePackageJsons_1.updatePackageJsons)(modifiedPackages, packageInfos);
|
|
17
|
+
await (0, updateLockFile_1.updateLockFile)(options.path);
|
|
95
18
|
if (options.generateChangelog) {
|
|
96
19
|
// Generate changelog
|
|
97
|
-
await (0, writeChangelog_1.writeChangelog)(
|
|
20
|
+
await (0, writeChangelog_1.writeChangelog)(bumpInfo, options);
|
|
98
21
|
}
|
|
99
22
|
if (!options.keepChangeFiles) {
|
|
100
23
|
// Unlink changelogs
|
|
101
24
|
(0, unlinkChangeFiles_1.unlinkChangeFiles)(changeFileChangeInfos, packageInfos, options);
|
|
102
25
|
}
|
|
103
|
-
await (0, callHook_1.callHook)(options.hooks?.postbump, modifiedPackages,
|
|
26
|
+
await (0, callHook_1.callHook)(options.hooks?.postbump, modifiedPackages, packageInfos);
|
|
104
27
|
// This is returned from bump() for testing
|
|
105
28
|
return bumpInfo;
|
|
106
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performBump.js","sourceRoot":"","sources":["../../src/bump/performBump.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"performBump.js","sourceRoot":"","sources":["../../src/bump/performBump.ts"],"names":[],"mappings":";;;AAAA,uEAAoE;AACpE,gEAA6D;AAG7D,yCAAsC;AACtC,6DAA0D;AAC1D,qDAAkD;AAElD;;;GAGG;AACI,KAAK,UAAU,WAAW,CAAC,QAAkB,EAAE,OAAyB;IAC7E,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,qBAAqB,EAAE,GAAG,QAAQ,CAAC;IAE3E,MAAM,IAAA,mBAAQ,EAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAEvE,IAAA,uCAAkB,EAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACnD,MAAM,IAAA,+BAAc,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,IAAI,OAAO,CAAC,iBAAiB,EAAE;QAC7B,qBAAqB;QACrB,MAAM,IAAA,+BAAc,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACzC;IAED,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QAC5B,oBAAoB;QACpB,IAAA,qCAAiB,EAAC,qBAAqB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;KACjE;IAED,MAAM,IAAA,mBAAQ,EAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAExE,2CAA2C;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAtBD,kCAsBC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { BeachballOptions } from '../types/BeachballOptions';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { BumpInfo } from '../types/BumpInfo';
|
|
3
|
+
/**
|
|
4
|
+
* Go through the deps of each package and bump the version range for in-repo deps if needed.
|
|
5
|
+
*
|
|
6
|
+
* **This mutates dep versions in `packageInfos`** as well as returning `dependentChangedBy`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function setDependentVersions(bumpInfo: Pick<BumpInfo, 'packageInfos' | 'scopedPackages'>, options: Pick<BeachballOptions, 'verbose'>): BumpInfo['dependentChangedBy'];
|
|
6
9
|
//# sourceMappingURL=setDependentVersions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setDependentVersions.d.ts","sourceRoot":"","sources":["../../src/bump/setDependentVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"setDependentVersions.d.ts","sourceRoot":"","sources":["../../src/bump/setDependentVersions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAAC,EAC3D,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GACzC,QAAQ,CAAC,oBAAoB,CAAC,CAsChC"}
|
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.setDependentVersions = void 0;
|
|
4
|
+
const PackageInfo_1 = require("../types/PackageInfo");
|
|
4
5
|
const bumpMinSemverRange_1 = require("./bumpMinSemverRange");
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Go through the deps of each package and bump the version range for in-repo deps if needed.
|
|
8
|
+
*
|
|
9
|
+
* **This mutates dep versions in `packageInfos`** as well as returning `dependentChangedBy`.
|
|
10
|
+
*/
|
|
11
|
+
function setDependentVersions(bumpInfo, options) {
|
|
12
|
+
const { packageInfos, scopedPackages } = bumpInfo;
|
|
13
|
+
const { verbose } = options;
|
|
6
14
|
const dependentChangedBy = {};
|
|
7
15
|
for (const [pkgName, info] of Object.entries(packageInfos)) {
|
|
8
16
|
if (!scopedPackages.has(pkgName)) {
|
|
9
|
-
continue;
|
|
17
|
+
continue; // out of scope
|
|
10
18
|
}
|
|
11
|
-
for (const
|
|
12
|
-
|
|
13
|
-
continue;
|
|
14
|
-
}
|
|
19
|
+
for (const depType of PackageInfo_1.consideredDependencies) {
|
|
20
|
+
const deps = info[depType] || {};
|
|
15
21
|
for (const [dep, existingVersionRange] of Object.entries(deps)) {
|
|
16
|
-
const
|
|
17
|
-
if (!
|
|
18
|
-
continue;
|
|
22
|
+
const depPackage = packageInfos[dep];
|
|
23
|
+
if (!depPackage) {
|
|
24
|
+
continue; // external dependency
|
|
19
25
|
}
|
|
20
|
-
const bumpedVersionRange = (0, bumpMinSemverRange_1.bumpMinSemverRange)(
|
|
26
|
+
const bumpedVersionRange = (0, bumpMinSemverRange_1.bumpMinSemverRange)(depPackage.version, existingVersionRange);
|
|
27
|
+
// TODO: dependent bumps in workspace:*/^/~ ranges will be missed
|
|
28
|
+
// https://github.com/microsoft/beachball/issues/981
|
|
21
29
|
if (existingVersionRange !== bumpedVersionRange) {
|
|
22
30
|
deps[dep] = bumpedVersionRange;
|
|
23
31
|
dependentChangedBy[pkgName] ?? (dependentChangedBy[pkgName] = new Set());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setDependentVersions.js","sourceRoot":"","sources":["../../src/bump/setDependentVersions.ts"],"names":[],"mappings":";;;AAEA,6DAA0D;AAE1D,SAAgB,oBAAoB,CAClC,
|
|
1
|
+
{"version":3,"file":"setDependentVersions.js","sourceRoot":"","sources":["../../src/bump/setDependentVersions.ts"],"names":[],"mappings":";;;AAEA,sDAA8D;AAC9D,6DAA0D;AAE1D;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,QAA2D,EAC3D,OAA0C;IAE1C,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAClD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,MAAM,kBAAkB,GAAmC,EAAE,CAAC;IAE9D,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC1D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAChC,SAAS,CAAC,eAAe;SAC1B;QAED,KAAK,MAAM,OAAO,IAAI,oCAAsB,EAAE;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9D,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,UAAU,EAAE;oBACf,SAAS,CAAC,sBAAsB;iBACjC;gBAED,MAAM,kBAAkB,GAAG,IAAA,uCAAkB,EAAC,UAAU,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBACxF,iEAAiE;gBACjE,oDAAoD;gBACpD,IAAI,oBAAoB,KAAK,kBAAkB,EAAE;oBAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC;oBAE/B,kBAAkB,CAAC,OAAO,MAA1B,kBAAkB,CAAC,OAAO,IAAM,IAAI,GAAG,EAAU,EAAC;oBAClD,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,OAAO,EAAE;wBACX,OAAO,CAAC,GAAG,CACT,GAAG,OAAO,+BAA+B,GAAG,IAAI,oBAAoB,OAAO,kBAAkB,EAAE,CAChG,CAAC;qBACH;iBACF;aACF;SACF;KACF;IAED,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAzCD,oDAyCC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateLockFile.d.ts","sourceRoot":"","sources":["../../src/bump/updateLockFile.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsC/D"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.updateLockFile = void 0;
|
|
7
|
+
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const workspace_tools_1 = require("workspace-tools");
|
|
10
|
+
const packageManager_1 = require("../packageManager/packageManager");
|
|
11
|
+
/**
|
|
12
|
+
* Detects lockfile for npm, pnpm, or yarn and runs the appropriate command to update it
|
|
13
|
+
*/
|
|
14
|
+
async function updateLockFile(cwd) {
|
|
15
|
+
const root = (0, workspace_tools_1.findProjectRoot)(cwd);
|
|
16
|
+
if (!root) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
let updateFile;
|
|
20
|
+
let updateCommand;
|
|
21
|
+
if (fs_extra_1.default.existsSync(path_1.default.join(root, 'package-lock.json'))) {
|
|
22
|
+
updateFile = 'package-lock.json';
|
|
23
|
+
updateCommand = ['npm', 'install', '--package-lock-only', '--ignore-scripts'];
|
|
24
|
+
}
|
|
25
|
+
else if (fs_extra_1.default.existsSync(path_1.default.join(root, 'pnpm-lock.yaml'))) {
|
|
26
|
+
updateFile = 'pnpm-lock.yaml';
|
|
27
|
+
updateCommand = ['pnpm', 'install', '--lockfile-only', '--ignore-scripts'];
|
|
28
|
+
}
|
|
29
|
+
else if (fs_extra_1.default.existsSync(path_1.default.join(root, 'yarn.lock'))) {
|
|
30
|
+
const version = await (0, packageManager_1.packageManager)('yarn', ['--version'], { cwd: root });
|
|
31
|
+
if (version.success) {
|
|
32
|
+
// For yarn v1, local versions aren't recorded in the lock file, so we don't need an update.
|
|
33
|
+
// yarn v2+ records these versions and may require an update.
|
|
34
|
+
if (!version.stdout.startsWith('1.')) {
|
|
35
|
+
updateFile = 'yarn.lock';
|
|
36
|
+
updateCommand = ['yarn', 'install', '--mode', 'update-lockfile'];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.warn('Failed to get yarn version. Continuing...');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (updateFile && updateCommand) {
|
|
44
|
+
console.log(`Updating ${updateFile} after bumping packages`);
|
|
45
|
+
const res = await (0, packageManager_1.packageManager)(updateCommand[0], updateCommand.slice(1), { stdio: 'inherit', cwd: root });
|
|
46
|
+
if (!res.success) {
|
|
47
|
+
console.warn(`Updating ${updateFile} failed. Continuing...`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.updateLockFile = updateLockFile;
|
|
52
|
+
//# sourceMappingURL=updateLockFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateLockFile.js","sourceRoot":"","sources":["../../src/bump/updateLockFile.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA0B;AAC1B,gDAAwB;AACxB,qDAAkD;AAClD,qEAAkE;AAElE;;GAEG;AACI,KAAK,UAAU,cAAc,CAAC,GAAW;IAC9C,MAAM,IAAI,GAAG,IAAA,iCAAe,EAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,EAAE;QACT,OAAO;KACR;IAED,IAAI,UAA8B,CAAC;IACnC,IAAI,aAAiE,CAAC;IAEtE,IAAI,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE;QACvD,UAAU,GAAG,mBAAmB,CAAC;QACjC,aAAa,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;KAC/E;SAAM,IAAI,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,EAAE;QAC3D,UAAU,GAAG,gBAAgB,CAAC;QAC9B,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;KAC5E;SAAM,IAAI,kBAAE,CAAC,UAAU,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,EAAE;QACtD,MAAM,OAAO,GAAG,MAAM,IAAA,+BAAc,EAAC,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,OAAO,EAAE;YACnB,4FAA4F;YAC5F,6DAA6D;YAC7D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBACpC,UAAU,GAAG,WAAW,CAAC;gBACzB,aAAa,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;aAClE;SACF;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;SAC3D;KACF;IAED,IAAI,UAAU,IAAI,aAAa,EAAE;QAC/B,OAAO,CAAC,GAAG,CAAC,YAAY,UAAU,yBAAyB,CAAC,CAAC;QAE7D,MAAM,GAAG,GAAG,MAAM,IAAA,+BAAc,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5G,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,OAAO,CAAC,IAAI,CAAC,YAAY,UAAU,wBAAwB,CAAC,CAAC;SAC9D;KACF;AACH,CAAC;AAtCD,wCAsCC"}
|