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.
Files changed (131) hide show
  1. package/README.md +14 -10
  2. package/lib/bump/bumpInPlace.d.ts.map +1 -1
  3. package/lib/bump/bumpInPlace.js +9 -12
  4. package/lib/bump/bumpInPlace.js.map +1 -1
  5. package/lib/bump/bumpMinSemverRange.d.ts.map +1 -1
  6. package/lib/bump/bumpMinSemverRange.js +5 -3
  7. package/lib/bump/bumpMinSemverRange.js.map +1 -1
  8. package/lib/bump/bumpPackageInfoVersion.d.ts +3 -2
  9. package/lib/bump/bumpPackageInfoVersion.d.ts.map +1 -1
  10. package/lib/bump/bumpPackageInfoVersion.js +3 -2
  11. package/lib/bump/bumpPackageInfoVersion.js.map +1 -1
  12. package/lib/bump/gatherBumpInfo.d.ts +3 -0
  13. package/lib/bump/gatherBumpInfo.d.ts.map +1 -1
  14. package/lib/bump/gatherBumpInfo.js +5 -4
  15. package/lib/bump/gatherBumpInfo.js.map +1 -1
  16. package/lib/bump/getDependentsForPackages.d.ts +9 -0
  17. package/lib/bump/getDependentsForPackages.d.ts.map +1 -0
  18. package/lib/bump/{setDependentsInBumpInfo.js → getDependentsForPackages.js} +11 -9
  19. package/lib/bump/getDependentsForPackages.js.map +1 -0
  20. package/lib/bump/performBump.d.ts +2 -9
  21. package/lib/bump/performBump.d.ts.map +1 -1
  22. package/lib/bump/performBump.js +11 -88
  23. package/lib/bump/performBump.js.map +1 -1
  24. package/lib/bump/setDependentVersions.d.ts +7 -4
  25. package/lib/bump/setDependentVersions.d.ts.map +1 -1
  26. package/lib/bump/setDependentVersions.js +18 -10
  27. package/lib/bump/setDependentVersions.js.map +1 -1
  28. package/lib/bump/updateLockFile.d.ts +5 -0
  29. package/lib/bump/updateLockFile.d.ts.map +1 -0
  30. package/lib/bump/updateLockFile.js +52 -0
  31. package/lib/bump/updateLockFile.js.map +1 -0
  32. package/lib/bump/updatePackageJsons.d.ts +6 -0
  33. package/lib/bump/updatePackageJsons.d.ts.map +1 -0
  34. package/lib/bump/updatePackageJsons.js +40 -0
  35. package/lib/bump/updatePackageJsons.js.map +1 -0
  36. package/lib/bump/updateRelatedChangeType.d.ts +8 -5
  37. package/lib/bump/updateRelatedChangeType.d.ts.map +1 -1
  38. package/lib/bump/updateRelatedChangeType.js +41 -51
  39. package/lib/bump/updateRelatedChangeType.js.map +1 -1
  40. package/lib/changefile/changeTypes.d.ts +1 -1
  41. package/lib/changefile/changeTypes.d.ts.map +1 -1
  42. package/lib/changefile/changeTypes.js +12 -1
  43. package/lib/changefile/changeTypes.js.map +1 -1
  44. package/lib/changefile/getChangedPackages.d.ts.map +1 -1
  45. package/lib/changefile/getChangedPackages.js +3 -4
  46. package/lib/changefile/getChangedPackages.js.map +1 -1
  47. package/lib/changefile/unlinkChangeFiles.d.ts +3 -4
  48. package/lib/changefile/unlinkChangeFiles.d.ts.map +1 -1
  49. package/lib/changefile/unlinkChangeFiles.js +1 -1
  50. package/lib/changefile/unlinkChangeFiles.js.map +1 -1
  51. package/lib/changelog/getPackageChangelogs.d.ts +3 -10
  52. package/lib/changelog/getPackageChangelogs.d.ts.map +1 -1
  53. package/lib/changelog/getPackageChangelogs.js +4 -3
  54. package/lib/changelog/getPackageChangelogs.js.map +1 -1
  55. package/lib/changelog/mergeChangelogs.d.ts.map +1 -1
  56. package/lib/changelog/mergeChangelogs.js +8 -6
  57. package/lib/changelog/mergeChangelogs.js.map +1 -1
  58. package/lib/changelog/renderPackageChangelog.d.ts.map +1 -1
  59. package/lib/changelog/renderPackageChangelog.js +11 -10
  60. package/lib/changelog/renderPackageChangelog.js.map +1 -1
  61. package/lib/changelog/writeChangelog.d.ts +1 -3
  62. package/lib/changelog/writeChangelog.d.ts.map +1 -1
  63. package/lib/changelog/writeChangelog.js +77 -68
  64. package/lib/changelog/writeChangelog.js.map +1 -1
  65. package/lib/commands/canary.js +1 -1
  66. package/lib/commands/canary.js.map +1 -1
  67. package/lib/commands/init.d.ts +1 -1
  68. package/lib/commands/init.d.ts.map +1 -1
  69. package/lib/commands/init.js.map +1 -1
  70. package/lib/commands/publish.d.ts.map +1 -1
  71. package/lib/commands/publish.js +8 -3
  72. package/lib/commands/publish.js.map +1 -1
  73. package/lib/commands/sync.d.ts.map +1 -1
  74. package/lib/commands/sync.js +5 -4
  75. package/lib/commands/sync.js.map +1 -1
  76. package/lib/env.js +1 -1
  77. package/lib/packageManager/getWorkspaceRange.d.ts +11 -0
  78. package/lib/packageManager/getWorkspaceRange.d.ts.map +1 -0
  79. package/lib/packageManager/getWorkspaceRange.js +21 -0
  80. package/lib/packageManager/getWorkspaceRange.js.map +1 -0
  81. package/lib/publish/getNewPackages.d.ts +5 -0
  82. package/lib/publish/getNewPackages.d.ts.map +1 -1
  83. package/lib/publish/getNewPackages.js +8 -3
  84. package/lib/publish/getNewPackages.js.map +1 -1
  85. package/lib/publish/getPackagesToPublish.d.ts +2 -2
  86. package/lib/publish/getPackagesToPublish.d.ts.map +1 -1
  87. package/lib/publish/getPackagesToPublish.js +5 -5
  88. package/lib/publish/getPackagesToPublish.js.map +1 -1
  89. package/lib/publish/performPublishOverrides.d.ts +1 -1
  90. package/lib/publish/performPublishOverrides.d.ts.map +1 -1
  91. package/lib/publish/performPublishOverrides.js +13 -11
  92. package/lib/publish/performPublishOverrides.js.map +1 -1
  93. package/lib/publish/publishToRegistry.d.ts +3 -2
  94. package/lib/publish/publishToRegistry.d.ts.map +1 -1
  95. package/lib/publish/publishToRegistry.js +3 -1
  96. package/lib/publish/publishToRegistry.js.map +1 -1
  97. package/lib/publish/tagPackages.d.ts +3 -2
  98. package/lib/publish/tagPackages.d.ts.map +1 -1
  99. package/lib/publish/tagPackages.js +4 -4
  100. package/lib/publish/tagPackages.js.map +1 -1
  101. package/lib/types/BeachballOptions.d.ts +9 -5
  102. package/lib/types/BeachballOptions.d.ts.map +1 -1
  103. package/lib/types/BumpInfo.d.ts +26 -19
  104. package/lib/types/BumpInfo.d.ts.map +1 -1
  105. package/lib/types/ChangeInfo.d.ts.map +1 -1
  106. package/lib/types/ChangelogOptions.d.ts +4 -0
  107. package/lib/types/ChangelogOptions.d.ts.map +1 -1
  108. package/lib/types/DeepReadonly.d.ts +8 -0
  109. package/lib/types/DeepReadonly.d.ts.map +1 -0
  110. package/lib/types/DeepReadonly.js +3 -0
  111. package/lib/types/DeepReadonly.js.map +1 -0
  112. package/lib/types/PackageInfo.d.ts +2 -0
  113. package/lib/types/PackageInfo.d.ts.map +1 -1
  114. package/lib/types/PackageInfo.js +8 -0
  115. package/lib/types/PackageInfo.js.map +1 -1
  116. package/lib/validation/isChangeFileNeeded.d.ts +2 -2
  117. package/lib/validation/isChangeFileNeeded.d.ts.map +1 -1
  118. package/lib/validation/isChangeFileNeeded.js.map +1 -1
  119. package/lib/validation/isValidDependentChangeType.d.ts.map +1 -1
  120. package/lib/validation/isValidDependentChangeType.js +1 -2
  121. package/lib/validation/isValidDependentChangeType.js.map +1 -1
  122. package/lib/validation/validate.js +18 -18
  123. package/lib/validation/validate.js.map +1 -1
  124. package/package.json +1 -1
  125. package/lib/bump/setDependentsInBumpInfo.d.ts +0 -8
  126. package/lib/bump/setDependentsInBumpInfo.d.ts.map +0 -1
  127. package/lib/bump/setDependentsInBumpInfo.js.map +0 -1
  128. package/lib/bump/setGroupsInBumpInfo.d.ts +0 -4
  129. package/lib/bump/setGroupsInBumpInfo.d.ts.map +0 -1
  130. package/lib/bump/setGroupsInBumpInfo.js +0 -15
  131. 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
- $ beachball
85
+ $ beachball
90
86
 
91
- $ beachball check
87
+ $ beachball check
92
88
 
93
- $ beachball publish -r http://localhost:4873 -t beta
89
+ $ beachball publish -r http://localhost:4873 -t beta
94
90
  ```
95
91
 
96
- <!--
97
- If making changes, don't forget to update the version under packages/beachball/README.md too!
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;AAI7D;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAwC/E"}
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"}
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bumpInPlace = void 0;
4
- const setDependentsInBumpInfo_1 = require("./setDependentsInBumpInfo");
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 { packageInfos, scopedPackages, calculatedChangeTypes, changeFileChangeInfos, modifiedPackages } = bumpInfo;
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
- if (bumpDeps) {
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 groupName = Object.keys(bumpInfo.packageGroups).find(group => bumpInfo.packageGroups[group].packageNames.includes(changeInfo.packageName));
28
- if (groupName) {
29
- for (const packageNameInGroup of bumpInfo.packageGroups[groupName].packageNames) {
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)(packageInfos, scopedPackages, options);
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,uEAAoE;AACpE,uEAAoE;AACpE,qEAAkE;AAElE,+DAA4D;AAC5D,iEAA8D;AAE9D;;;;GAIG;AACH,SAAgB,WAAW,CAAC,QAAkB,EAAE,OAAyB;IACvE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;IAElH,0HAA0H;IAC1H,IAAI,QAAQ,EAAE;QACZ,IAAA,iDAAuB,EAAC,QAAQ,CAAC,CAAC;KACnC;IAED,IAAA,yCAAmB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEvC,0GAA0G;IAC1G,sFAAsF;IACtF,kFAAkF;IAElF,4DAA4D;IAC5D,KAAK,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,qBAAqB,EAAE;QAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACjE,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAC5E,CAAC;QAEF,IAAI,SAAS,EAAE;YACb,KAAK,MAAM,kBAAkB,IAAI,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE;gBAC/E,qBAAqB,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC;aAC7D;SACF;KACF;IAED,KAAK,MAAM,EAAE,UAAU,EAAE,IAAI,qBAAqB,EAAE;QAClD,IAAA,iDAAuB,EAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACzD;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,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1F,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;AAxCD,kCAwCC"}
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":"AAEA,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CA8BlF"}
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
- if (['workspace:*', 'workspace:~', 'workspace:^'].includes(semverRange)) {
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 (semverRange.startsWith('workspace:~') || semverRange.startsWith('workspace:^')) {
24
+ if (workspaceRange && (workspaceRange[0] === '~' || workspaceRange[0] === '^')) {
23
25
  // workspace:~1.0.0
24
26
  // workspace:^1.0.0
25
- return `workspace:${semverRange[10]}${minVersion}`;
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;AAE5B,SAAgB,kBAAkB,CAAC,UAAkB,EAAE,WAAmB;IACxE,IAAI,WAAW,KAAK,GAAG,EAAE;QACvB,OAAO,WAAW,CAAC;KACpB;IACD,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;QACvE,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,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QAClF,mBAAmB;QACnB,mBAAmB;QACnB,OAAO,aAAa,WAAW,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC;KACpD;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;AA9BD,gDA8BC"}
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;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CA2B3G"}
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 && !["premajor", "preminor", "prepatch"].includes(changeType)) {
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;;GAEG;AACH,SAAgB,sBAAsB,CAAC,OAAe,EAAE,QAAkB,EAAE,OAAyB;IACnG,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,CAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC3F,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;AA3BD,wDA2BC"}
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;AAEpD,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,GAAG,QAAQ,CA2B9F"}
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;AAGlE,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,EAAE;QACjB,qBAAqB,EAAE,OAAO;QAC9B,gBAAgB,EAAE,IAAI,GAAG,EAAU;QACnC,WAAW,EAAE,IAAI,GAAG,EAAU;QAC9B,cAAc,EAAE,IAAI,GAAG,CAAC,IAAA,qCAAiB,EAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjE,kBAAkB,EAAE,EAAE;QACtB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,IAAA,yBAAW,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC;AAClB,CAAC;AA3BD,wCA2BC"}
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.setDependentsInBumpInfo = void 0;
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 setDependentsInBumpInfo(bumpInfo) {
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 deps of [info.dependencies, info.devDependencies, info.peerDependencies, info.optionalDependencies]) {
17
- for (const dep of Object.keys(deps || {})) {
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
- bumpInfo.dependents = dependents;
29
+ return dependents;
28
30
  }
29
- exports.setDependentsInBumpInfo = setDependentsInBumpInfo;
30
- //# sourceMappingURL=setDependentsInBumpInfo.js.map
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
- * Detects lockfile for npm, pnpm, or yarn and runs the appropriate command to update it
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":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AAMjE,wBAAgB,gBAAgB,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI,CA8BhG;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoClE;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsBlG"}
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"}
@@ -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 = exports.updatePackageLock = exports.writePackageJson = void 0;
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
- function writePackageJson(modifiedPackages, packageInfos) {
16
- for (const pkgName of modifiedPackages) {
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, writes to the file system
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, dependentChangedBy, calculatedChangeTypes } = bumpInfo;
92
- await (0, callHook_1.callHook)(options.hooks?.prebump, modifiedPackages, bumpInfo.packageInfos);
93
- writePackageJson(modifiedPackages, packageInfos);
94
- await updatePackageLock(options.path);
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)(options, changeFileChangeInfos, calculatedChangeTypes, dependentChangedBy, packageInfos);
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, bumpInfo.packageInfos);
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":"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"}
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 type { PackageInfos } from '../types/PackageInfo';
3
- export declare function setDependentVersions(packageInfos: PackageInfos, scopedPackages: Set<string>, { verbose }: BeachballOptions): {
4
- [dependent: string]: Set<string>;
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,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGzD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAC3B,EAAE,OAAO,EAAE,EAAE,gBAAgB,GAC5B;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CAoCtC"}
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
- function setDependentVersions(packageInfos, scopedPackages, { verbose }) {
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 deps of [info.dependencies, info.devDependencies, info.peerDependencies, info.optionalDependencies]) {
12
- if (!deps) {
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 packageInfo = packageInfos[dep];
17
- if (!packageInfo) {
18
- continue;
22
+ const depPackage = packageInfos[dep];
23
+ if (!depPackage) {
24
+ continue; // external dependency
19
25
  }
20
- const bumpedVersionRange = (0, bumpMinSemverRange_1.bumpMinSemverRange)(packageInfo.version, existingVersionRange);
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,YAA0B,EAC1B,cAA2B,EAC3B,EAAE,OAAO,EAAoB;IAE7B,MAAM,kBAAkB,GAAyC,EAAE,CAAC;IAEpE,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,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE;YAC9G,IAAI,CAAC,IAAI,EAAE;gBACT,SAAS;aACV;YAED,KAAK,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC9D,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,WAAW,EAAE;oBAChB,SAAS;iBACV;gBAED,MAAM,kBAAkB,GAAG,IAAA,uCAAkB,EAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBACzF,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;AAxCD,oDAwCC"}
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,5 @@
1
+ /**
2
+ * Detects lockfile for npm, pnpm, or yarn and runs the appropriate command to update it
3
+ */
4
+ export declare function updateLockFile(cwd: string): Promise<void>;
5
+ //# sourceMappingURL=updateLockFile.d.ts.map
@@ -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"}