beachball 2.32.4 → 2.33.0

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 (55) hide show
  1. package/lib/bump/gatherBumpInfo.d.ts.map +1 -1
  2. package/lib/bump/gatherBumpInfo.js +5 -10
  3. package/lib/bump/gatherBumpInfo.js.map +1 -1
  4. package/lib/bump/performBump.js +1 -4
  5. package/lib/bump/performBump.js.map +1 -1
  6. package/lib/bump/updateRelatedChangeType.js +4 -4
  7. package/lib/bump/updateRelatedChangeType.js.map +1 -1
  8. package/lib/changefile/changeTypes.d.ts +23 -0
  9. package/lib/changefile/changeTypes.d.ts.map +1 -0
  10. package/lib/changefile/changeTypes.js +53 -0
  11. package/lib/changefile/changeTypes.js.map +1 -0
  12. package/lib/changefile/getChangedPackages.d.ts.map +1 -1
  13. package/lib/changefile/getChangedPackages.js +2 -75
  14. package/lib/changefile/getChangedPackages.js.map +1 -1
  15. package/lib/commands/publish.d.ts.map +1 -1
  16. package/lib/commands/publish.js +1 -3
  17. package/lib/commands/publish.js.map +1 -1
  18. package/lib/git/ensureSharedHistory.d.ts +10 -0
  19. package/lib/git/ensureSharedHistory.d.ts.map +1 -0
  20. package/lib/git/ensureSharedHistory.js +156 -0
  21. package/lib/git/ensureSharedHistory.js.map +1 -0
  22. package/lib/git/fetch.d.ts +25 -0
  23. package/lib/git/fetch.d.ts.map +1 -0
  24. package/lib/git/fetch.js +54 -0
  25. package/lib/git/fetch.js.map +1 -0
  26. package/lib/git/gitAsync.d.ts +33 -0
  27. package/lib/git/gitAsync.d.ts.map +1 -0
  28. package/lib/git/gitAsync.js +63 -0
  29. package/lib/git/gitAsync.js.map +1 -0
  30. package/lib/monorepo/getPackageGroups.d.ts.map +1 -1
  31. package/lib/monorepo/getPackageGroups.js +27 -22
  32. package/lib/monorepo/getPackageGroups.js.map +1 -1
  33. package/lib/monorepo/getPackageInfos.d.ts.map +1 -1
  34. package/lib/monorepo/getPackageInfos.js +41 -34
  35. package/lib/monorepo/getPackageInfos.js.map +1 -1
  36. package/lib/publish/bumpAndPush.d.ts.map +1 -1
  37. package/lib/publish/bumpAndPush.js +46 -36
  38. package/lib/publish/bumpAndPush.js.map +1 -1
  39. package/lib/publish/publishToRegistry.d.ts.map +1 -1
  40. package/lib/publish/publishToRegistry.js +1 -4
  41. package/lib/publish/publishToRegistry.js.map +1 -1
  42. package/lib/publish/tagPackages.d.ts.map +1 -1
  43. package/lib/publish/tagPackages.js +1 -0
  44. package/lib/publish/tagPackages.js.map +1 -1
  45. package/lib/types/BeachballOptions.d.ts +8 -2
  46. package/lib/types/BeachballOptions.d.ts.map +1 -1
  47. package/package.json +1 -1
  48. package/lib/changefile/getPackageChangeTypes.d.ts +0 -17
  49. package/lib/changefile/getPackageChangeTypes.d.ts.map +0 -1
  50. package/lib/changefile/getPackageChangeTypes.js +0 -81
  51. package/lib/changefile/getPackageChangeTypes.js.map +0 -1
  52. package/lib/publish/mergePublishBranch.d.ts +0 -4
  53. package/lib/publish/mergePublishBranch.d.ts.map +0 -1
  54. package/lib/publish/mergePublishBranch.js +0 -35
  55. package/lib/publish/mergePublishBranch.js.map +0 -1
@@ -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;AA+BpD,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,GAAG,QAAQ,CAK9F"}
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,23 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.gatherBumpInfo = void 0;
4
- const getPackageChangeTypes_1 = require("../changefile/getPackageChangeTypes");
4
+ 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
- function gatherPreBumpInfo(options, packageInfos) {
8
+ function gatherBumpInfo(options, packageInfos) {
9
9
  // Collate the changes per package
10
10
  const changes = readChangeFiles_1.readChangeFiles(options, packageInfos);
11
- // const dependentChangeTypes: BumpInfo['dependentChangeTypes'] = {};
12
- const groupOptions = {};
13
11
  // Clear non-existent packages from changefiles infos
14
- const calculatedChangeTypes = getPackageChangeTypes_1.initializePackageChangeInfo(changes);
12
+ const calculatedChangeTypes = changeTypes_1.initializePackageChangeTypes(changes);
15
13
  Object.keys(calculatedChangeTypes).forEach(packageName => {
16
14
  if (!packageInfos[packageName]) {
17
15
  delete calculatedChangeTypes[packageName];
18
16
  }
19
17
  });
20
- return {
18
+ const bumpInfo = {
21
19
  calculatedChangeTypes,
22
20
  packageInfos,
23
21
  packageGroups: {},
@@ -26,12 +24,9 @@ function gatherPreBumpInfo(options, packageInfos) {
26
24
  newPackages: new Set(),
27
25
  scopedPackages: new Set(getScopedPackages_1.getScopedPackages(options, packageInfos)),
28
26
  dependentChangedBy: {},
29
- groupOptions,
27
+ groupOptions: {},
30
28
  dependents: {},
31
29
  };
32
- }
33
- function gatherBumpInfo(options, packageInfos) {
34
- const bumpInfo = gatherPreBumpInfo(options, packageInfos);
35
30
  bumpInPlace_1.bumpInPlace(bumpInfo, options);
36
31
  return bumpInfo;
37
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gatherBumpInfo.js","sourceRoot":"","sources":["../../src/bump/gatherBumpInfo.ts"],"names":[],"mappings":";;;AAAA,+EAAkH;AAClH,mEAAgE;AAEhE,+CAA4C;AAE5C,qEAAkE;AAGlE,SAAS,iBAAiB,CAAC,OAAyB,EAAE,YAA0B;IAC9E,kCAAkC;IAClC,MAAM,OAAO,GAAG,iCAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEvD,qEAAqE;IACrE,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,qDAAqD;IACrD,MAAM,qBAAqB,GAAG,mDAA4B,CAAC,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,OAAO;QACL,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,qCAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjE,kBAAkB,EAAE,EAAE;QACtB,YAAY;QACZ,UAAU,EAAE,EAAE;KACf,CAAC;AACJ,CAAC;AAED,SAAgB,cAAc,CAAC,OAAyB,EAAE,YAA0B;IAClF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE1D,yBAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC;AAClB,CAAC;AALD,wCAKC"}
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,iCAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAEvD,qDAAqD;IACrD,MAAM,qBAAqB,GAAG,0CAA4B,CAAC,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,qCAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACjE,kBAAkB,EAAE,EAAE;QACtB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf,CAAC;IAEF,yBAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,QAAQ,CAAC;AAClB,CAAC;AA3BD,wCA2BC"}
@@ -85,10 +85,7 @@ async function callHook(hookName, bumpInfo, options) {
85
85
  }
86
86
  for (const packageName of bumpInfo.modifiedPackages) {
87
87
  const packageInfo = bumpInfo.packageInfos[packageName];
88
- const hookRet = hook(path_1.default.dirname(packageInfo.packageJsonPath), packageName, packageInfo.version);
89
- if (hookRet instanceof Promise) {
90
- await hookRet;
91
- }
88
+ await hook(path_1.default.dirname(packageInfo.packageJsonPath), packageName, packageInfo.version);
92
89
  }
93
90
  }
94
91
  //# sourceMappingURL=performBump.js.map
@@ -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":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateRelatedChangeType = void 0;
4
- const getPackageChangeTypes_1 = require("../changefile/getPackageChangeTypes");
4
+ const changeTypes_1 = require("../changefile/changeTypes");
5
5
  /**
6
6
  * This is the core of the bumpInfo dependency bumping logic - done once per change file
7
7
  *
@@ -38,8 +38,8 @@ function updateRelatedChangeType(changeFile, bumpInfo, bumpDeps) {
38
38
  if (!packageInfos[entryPointPackageName]) {
39
39
  return;
40
40
  }
41
- let updatedChangeType = getPackageChangeTypes_1.getMaxChangeType(dependentChangeType, getPackageChangeTypes_1.MinChangeType, []);
42
- const queue = [{ subjectPackage: entryPointPackageName, changeType: getPackageChangeTypes_1.MinChangeType }];
41
+ let updatedChangeType = changeTypes_1.getMaxChangeType(dependentChangeType, changeTypes_1.MinChangeType, []);
42
+ const queue = [{ subjectPackage: entryPointPackageName, changeType: changeTypes_1.MinChangeType }];
43
43
  // visited is a set of package names that already has been seen by this algorithm - this allows the algo to scale
44
44
  const visited = new Set();
45
45
  while (queue.length > 0) {
@@ -85,7 +85,7 @@ function updateRelatedChangeType(changeFile, bumpInfo, bumpDeps) {
85
85
  }
86
86
  }
87
87
  function updateChangeType(pkg, changeType, disallowedChangeTypes) {
88
- const newChangeType = getPackageChangeTypes_1.getMaxChangeType(calculatedChangeTypes[pkg], changeType, disallowedChangeTypes);
88
+ const newChangeType = changeTypes_1.getMaxChangeType(calculatedChangeTypes[pkg], changeType, disallowedChangeTypes);
89
89
  calculatedChangeTypes[pkg] = newChangeType;
90
90
  return newChangeType;
91
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updateRelatedChangeType.js","sourceRoot":"","sources":["../../src/bump/updateRelatedChangeType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"updateRelatedChangeType.js","sourceRoot":"","sources":["../../src/bump/updateRelatedChangeType.ts"],"names":[],"mappings":";;;AAAA,2DAA4E;AAI5E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,SAAgB,uBAAuB,CAAC,UAAkB,EAAE,QAAkB,EAAE,QAAiB;IAC/F,uDAAuD;IACvD,MAAM,EAAE,qBAAqB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;IAElG,MAAM,cAAc,GAAG,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IACrG,KAAK,MAAM,EAAE,MAAM,EAAE,oBAAoB,EAAE,IAAI,cAAc,EAAE;QAC7D,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,WAAW,CAAC;QAC/D,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,mBAAmB,CAAC;QAErE,wHAAwH;QACxH,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE;YACxC,OAAO;SACR;QAED,IAAI,iBAAiB,GAAG,8BAAgB,CAAC,mBAAmB,EAAE,2BAAa,EAAE,EAAE,CAAC,CAAC;QAEjF,MAAM,KAAK,GAAG,CAAC,EAAE,cAAc,EAAE,qBAAqB,EAAE,UAAU,EAAE,2BAAa,EAAE,CAAC,CAAC;QAErF,iHAAiH;QACjH,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;YAEpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;gBAChC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBAE5B,sGAAsG;gBACtG,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;gBAEjD,IAAI,CAAC,WAAW,EAAE;oBAChB,SAAS;iBACV;gBAED,MAAM,qBAAqB,GAAG,WAAW,CAAC,eAAe,EAAE,qBAAqB,IAAI,EAAE,CAAC;gBAEvF,IAAI,cAAc,KAAK,qBAAqB,EAAE;oBAC5C,gBAAgB,CAAC,cAAc,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;iBACrE;gBAED,qIAAqI;gBACrI,MAAM,iBAAiB,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;gBAErD,IAAI,QAAQ,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjE,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;wBAChD,KAAK,CAAC,IAAI,CAAC;4BACT,cAAc,EAAE,gBAAgB;4BAChC,UAAU,EAAE,iBAAiB;yBAC9B,CAAC,CAAC;qBACJ;iBACF;gBAED,qGAAqG;gBACrG,sFAAsF;gBACtF,kFAAkF;gBAElF,sIAAsI;gBACtI,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CACxD,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAC7D,CAAC;gBAEF,IAAI,SAAS,EAAE;oBACb,KAAK,MAAM,kBAAkB,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE;wBACtE,IACE,CAAC,YAAY,CAAC,SAAS,CAAC;4BACxB,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,qBAAqB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAC5E;4BACA,KAAK,CAAC,IAAI,CAAC;gCACT,cAAc,EAAE,kBAAkB;gCAClC,UAAU,EAAE,iBAAiB;6BAC9B,CAAC,CAAC;yBACJ;qBACF;iBACF;aACF;SACF;KACF;IAED,SAAS,gBAAgB,CAAC,GAAW,EAAE,UAAsB,EAAE,qBAAmC;QAChG,MAAM,aAAa,GAAG,8BAAgB,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;QACtG,qBAAqB,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC;QAE3C,OAAO,aAAa,CAAC;IACvB,CAAC;AACH,CAAC;AApFD,0DAoFC"}
@@ -0,0 +1,23 @@
1
+ import { ChangeSet, ChangeType } from '../types/ChangeInfo';
2
+ /**
3
+ * List of all change types from least to most significant.
4
+ */
5
+ export declare const SortedChangeTypes: ChangeType[];
6
+ /**
7
+ * Change type with the smallest weight.
8
+ */
9
+ export declare const MinChangeType: ChangeType;
10
+ /**
11
+ * Get initial package change types based on the greatest change type set for each package in any
12
+ * change file, accounting for any disallowed change types or nonexistent packages.
13
+ */
14
+ export declare function initializePackageChangeTypes(changeSet: ChangeSet): {
15
+ [pkgName: string]: ChangeType;
16
+ };
17
+ /**
18
+ * Get the max allowed change type based on `a` and `b`, accounting for disallowed change types:
19
+ * e.g. if `a` is "major" and `b` is "patch", and "major" is disallowed, the result will be "minor"
20
+ * (the greatest allowed change type).
21
+ */
22
+ export declare function getMaxChangeType(a: ChangeType, b: ChangeType, disallowedChangeTypes: ChangeType[] | null): ChangeType;
23
+ //# sourceMappingURL=changeTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changeTypes.d.ts","sourceRoot":"","sources":["../../src/changefile/changeTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAAU,EAAsD,CAAC;AAEjG;;GAEG;AACH,eAAO,MAAM,aAAa,YAAuB,CAAC;AAQlD;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,SAAS;;EAShE;AAeD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,GAAG,IAAI,cAOxG"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMaxChangeType = exports.initializePackageChangeTypes = exports.MinChangeType = exports.SortedChangeTypes = void 0;
4
+ /**
5
+ * List of all change types from least to most significant.
6
+ */
7
+ exports.SortedChangeTypes = ['none', 'prerelease', 'patch', 'minor', 'major'];
8
+ /**
9
+ * Change type with the smallest weight.
10
+ */
11
+ exports.MinChangeType = exports.SortedChangeTypes[0];
12
+ /**
13
+ * Change type weights.
14
+ * Note: the order in which this is defined is IMPORTANT.
15
+ */
16
+ const ChangeTypeWeights = Object.fromEntries(exports.SortedChangeTypes.map((t, i) => [t, i]));
17
+ /**
18
+ * Get initial package change types based on the greatest change type set for each package in any
19
+ * change file, accounting for any disallowed change types or nonexistent packages.
20
+ */
21
+ function initializePackageChangeTypes(changeSet) {
22
+ const pkgChangeTypes = {};
23
+ for (const { change } of changeSet) {
24
+ const { packageName: pkg, type } = change;
25
+ pkgChangeTypes[pkg] = getMaxChangeType(type, pkgChangeTypes[pkg] || 'none', null);
26
+ }
27
+ return pkgChangeTypes;
28
+ }
29
+ exports.initializePackageChangeTypes = initializePackageChangeTypes;
30
+ function getAllowedChangeType(changeType, disallowedChangeTypes) {
31
+ if (!changeType) {
32
+ return 'none'; // this would be from invalid user input
33
+ }
34
+ while (disallowedChangeTypes.includes(changeType) && changeType !== 'none') {
35
+ const nextChangeTypeWeight = ChangeTypeWeights[changeType] - 1;
36
+ changeType = exports.SortedChangeTypes[nextChangeTypeWeight];
37
+ }
38
+ return changeType;
39
+ }
40
+ /**
41
+ * Get the max allowed change type based on `a` and `b`, accounting for disallowed change types:
42
+ * e.g. if `a` is "major" and `b` is "patch", and "major" is disallowed, the result will be "minor"
43
+ * (the greatest allowed change type).
44
+ */
45
+ function getMaxChangeType(a, b, disallowedChangeTypes) {
46
+ if (disallowedChangeTypes) {
47
+ a = getAllowedChangeType(a, disallowedChangeTypes);
48
+ b = getAllowedChangeType(b, disallowedChangeTypes);
49
+ }
50
+ return ChangeTypeWeights[a] > ChangeTypeWeights[b] ? a : b;
51
+ }
52
+ exports.getMaxChangeType = getMaxChangeType;
53
+ //# sourceMappingURL=changeTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changeTypes.js","sourceRoot":"","sources":["../../src/changefile/changeTypes.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,iBAAiB,GAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEjG;;GAEG;AACU,QAAA,aAAa,GAAG,yBAAiB,CAAC,CAAC,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,yBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAkC,CAAC;AAEvH;;;GAGG;AACH,SAAgB,4BAA4B,CAAC,SAAoB;IAC/D,MAAM,cAAc,GAAsC,EAAE,CAAC;IAE7D,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,SAAS,EAAE;QAClC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QAC1C,cAAc,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC;KACnF;IAED,OAAO,cAAc,CAAC;AACxB,CAAC;AATD,oEASC;AAED,SAAS,oBAAoB,CAAC,UAAsB,EAAE,qBAAmC;IACvF,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,MAAM,CAAC,CAAC,wCAAwC;KACxD;IAED,OAAO,qBAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,MAAM,EAAE;QAC1E,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/D,UAAU,GAAG,yBAAiB,CAAC,oBAAoB,CAAC,CAAC;KACtD;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,CAAa,EAAE,CAAa,EAAE,qBAA0C;IACvG,IAAI,qBAAqB,EAAE;QACzB,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QACnD,CAAC,GAAG,oBAAoB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;KACpD;IAED,OAAO,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAPD,4CAOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getChangedPackages.d.ts","sourceRoot":"","sources":["../../src/changefile/getChangedPackages.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AA2KjE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,YA+CvF"}
1
+ {"version":3,"file":"getChangedPackages.d.ts","sourceRoot":"","sources":["../../src/changefile/getChangedPackages.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AA8FjE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,YA+CvF"}
@@ -10,81 +10,8 @@ const minimatch_1 = __importDefault(require("minimatch"));
10
10
  const paths_1 = require("../paths");
11
11
  const workspace_tools_1 = require("workspace-tools");
12
12
  const getScopedPackages_1 = require("../monorepo/getScopedPackages");
13
+ const ensureSharedHistory_1 = require("../git/ensureSharedHistory");
13
14
  const count = (count, str) => `${count} ${str}${count === 1 ? '' : 's'}`;
14
- /**
15
- * Ensure that adequate history is available to check for changes between HEAD and `options.branch`.
16
- * Otherwise attempting to get changes will fail with an error "no merge base".
17
- */
18
- function ensureHistory(options) {
19
- const { fetch, path: cwd, branch } = options;
20
- const { remote, remoteBranch } = workspace_tools_1.parseRemoteBranch(branch);
21
- const fetchMitigationSteps = `- Omit the "--no-fetch" / "--fetch=false" option from the command line
22
- - Remove "fetch: false" from the beachball config
23
- - If this is a CI build, ensure that adequate history is being fetched
24
- - For GitHub Actions (actions/checkout), add the option "fetch-depth: 0" in the checkout step`;
25
- if (fetch) {
26
- // Fetch the latest from the remote branch for comparison
27
- console.log(`fetching latest from remotes "${remote}/${remoteBranch}"`);
28
- workspace_tools_1.fetchRemoteBranch(remote, remoteBranch, cwd);
29
- }
30
- else {
31
- // If fetching is disabled, ensure that the target branch is available for comparison locally
32
- const hasTargetBranch = workspace_tools_1.git(['rev-parse', '--verify', branch], { cwd }).success;
33
- if (!hasTargetBranch) {
34
- // This is most likely to happen in a CI build which does a shallow checkout (github actions/checkout
35
- // does this by default) and for some reason also disables beachball fetching.
36
- const mainError = `Target branch "${branch}" does not exist locally, and fetching is disabled.`;
37
- console.error(`
38
-
39
- ${mainError} Some possible fixes:
40
- - Fetch the branch manually: git fetch ${remote} ${remoteBranch}
41
- ${fetchMitigationSteps}
42
-
43
- `);
44
- throw new Error(mainError);
45
- }
46
- }
47
- // Verify that HEAD and the target branch share history
48
- const hasCommonCommit = workspace_tools_1.git(['merge-base', branch, 'HEAD'], { cwd }).success;
49
- if (!hasCommonCommit) {
50
- // This might be a shallow repo, and it's necessary to unshallow the head branch for comparison
51
- const isShallow = workspace_tools_1.git(['rev-parse', '--is-shallow-repository'], { cwd }).stdout.trim() === 'true';
52
- if (isShallow) {
53
- if (fetch) {
54
- // Fetch more history (if needed, this could be optimized later to only deepen by e.g. 100 commits at a time)
55
- // TODO switch to this after workspace-tools update
56
- // try {
57
- // console.log('This is a shallow clone. Unshallowing to check for changes...');
58
- // git(['fetch', '--unshallow'], { cwd, throwOnError: true });
59
- // } catch (err) {
60
- // throw new GitError(`Failed to fetch more history for branch "${branch}"`, err);
61
- // }
62
- console.log('This is a shallow clone. Unshallowing to check for changes...');
63
- const result = workspace_tools_1.git(['fetch', '--unshallow'], { cwd });
64
- if (!result.success) {
65
- throw new Error(`Failed to fetch more history for branch "${branch}":\n${result.stderr}`);
66
- }
67
- }
68
- else {
69
- console.error(`
70
-
71
- This repo is a shallow clone, fetching is disabled, and not enough history is available to connect HEAD to "${branch}".
72
- Some possible fixes:
73
-
74
- - Verify that you're using the correct target branch
75
- - Unshallow or deepen the clone manually
76
- ${fetchMitigationSteps}
77
-
78
- `);
79
- throw new Error(`Inadequate history available for HEAD to connect it to target branch "${branch}".`);
80
- }
81
- }
82
- else {
83
- // Not a shallow repo, so it's probably using the wrong target branch
84
- throw new Error(`HEAD does not appear to share history with "${branch}" -- are you using the correct target branch?`);
85
- }
86
- }
87
- }
88
15
  function getMatchingPackageInfo(file, cwd, packageInfosByPath) {
89
16
  // Normalize all the paths before comparing (the packageInfosByPath entries should also be normalized)
90
17
  // to ensure ensure that this doesn't break on Windows if any input paths have forward slashes
@@ -162,7 +89,7 @@ function getAllChangedPackages(options, packageInfos) {
162
89
  function getChangedPackages(options, packageInfos) {
163
90
  const { path: cwd, branch } = options;
164
91
  const changePath = paths_1.getChangePath(cwd);
165
- ensureHistory(options);
92
+ ensureSharedHistory_1.ensureSharedHistory(options);
166
93
  const changedPackages = getAllChangedPackages(options, packageInfos);
167
94
  const changeFilesResult = workspace_tools_1.git(['diff', '--name-only', '--relative', '--no-renames', '--diff-filter=A', `${branch}...`], { cwd });
168
95
  if (!fs_extra_1.default.existsSync(changePath) || !changeFilesResult.success) {
@@ -1 +1 @@
1
- {"version":3,"file":"getChangedPackages.js","sourceRoot":"","sources":["../../src/changefile/getChangedPackages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getChangedPackages.js","sourceRoot":"","sources":["../../src/changefile/getChangedPackages.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAU7D,wBAAsB,OAAO,CAAC,OAAO,EAAE,gBAAgB,iBAyFtD"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAS7D,wBAAsB,OAAO,CAAC,OAAO,EAAE,gBAAgB,iBAyFtD"}
@@ -7,7 +7,6 @@ exports.publish = void 0;
7
7
  const gatherBumpInfo_1 = require("../bump/gatherBumpInfo");
8
8
  const workspace_tools_1 = require("workspace-tools");
9
9
  const prompts_1 = __importDefault(require("prompts"));
10
- const getPackageChangeTypes_1 = require("../changefile/getPackageChangeTypes");
11
10
  const readChangeFiles_1 = require("../changefile/readChangeFiles");
12
11
  const bumpAndPush_1 = require("../publish/bumpAndPush");
13
12
  const publishToRegistry_1 = require("../publish/publishToRegistry");
@@ -18,8 +17,7 @@ async function publish(options) {
18
17
  // First, validate that we have changes to publish
19
18
  const oldPackageInfos = getPackageInfos_1.getPackageInfos(cwd);
20
19
  const changes = readChangeFiles_1.readChangeFiles(options, oldPackageInfos);
21
- const packageChangeTypes = getPackageChangeTypes_1.initializePackageChangeInfo(changes);
22
- if (Object.keys(packageChangeTypes).length === 0) {
20
+ if (!changes.length) {
23
21
  console.log('Nothing to bump, skipping publish!');
24
22
  return;
25
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { BeachballOptions } from '../types/BeachballOptions';
2
+ /**
3
+ * Ensure that adequate history is available to check for changes between HEAD and `options.branch`.
4
+ * Otherwise attempting to get changes will fail with an error "no merge base".
5
+ * (This is mostly an issue with CI builds that use shallow clones.)
6
+ *
7
+ * Throws an error if history is inadequate and cannot be fixed.
8
+ */
9
+ export declare function ensureSharedHistory(options: Pick<BeachballOptions, 'fetch' | 'path' | 'branch' | 'depth' | 'verbose'>): void;
10
+ //# sourceMappingURL=ensureSharedHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureSharedHistory.d.ts","sourceRoot":"","sources":["../../src/git/ensureSharedHistory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,QA6EnF"}
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureSharedHistory = void 0;
4
+ const workspace_tools_1 = require("workspace-tools");
5
+ const fetch_1 = require("./fetch");
6
+ /**
7
+ * Ensure that adequate history is available to check for changes between HEAD and `options.branch`.
8
+ * Otherwise attempting to get changes will fail with an error "no merge base".
9
+ * (This is mostly an issue with CI builds that use shallow clones.)
10
+ *
11
+ * Throws an error if history is inadequate and cannot be fixed.
12
+ */
13
+ function ensureSharedHistory(options) {
14
+ const { fetch, path: cwd, branch, depth, verbose } = options;
15
+ // `branch` should *usually* include a remote, but it's not guaranteed (see doc comment).
16
+ // `remote` is the remote name (e.g. "origin") or "" if `branch` was missing a remote.
17
+ // `remoteBranch` is the comparison branch name (e.g. "main").
18
+ const { remote, remoteBranch } = workspace_tools_1.parseRemoteBranch(branch);
19
+ // Ensure the comparison branch ref exists
20
+ if (!hasBranchRef(branch, cwd)) {
21
+ if (!fetch) {
22
+ // If fetching is disabled, the target branch must be available for comparison locally.
23
+ // This is most likely to be an issue in a CI build which does a shallow checkout (github
24
+ // actions/checkout does this by default) and also disables beachball fetching.
25
+ logError('missing-branch', branch, remote, remoteBranch);
26
+ throw new Error(`Target branch "${branch}" does not exist locally, and fetching is disabled`);
27
+ }
28
+ if (!remote) {
29
+ // If the remote isn't specified, even if fetching is allowed it will be unclear what to
30
+ // compare against
31
+ throw new Error(`Target branch "${branch}" doesn't exist locally, and a remote name wasn't specified and couldn't be inferred. ` +
32
+ 'Please set "repository" in your root package.json or include a remote in the beachball "branch" setting.');
33
+ }
34
+ // If fetching the requested branch isn't already (probably) configured, add it to the list so
35
+ // it can be fetched in the next step. Otherwise the ref <remote>/<remoteBranch> won't exist locally.
36
+ const fetchConfig = workspace_tools_1.git(['config', '--get-all', `remote.${remote}.fetch`], { cwd }).stdout.trim();
37
+ if (!fetchConfig.includes(`${remote}/*`) && !fetchConfig.includes(branch)) {
38
+ console.log(`Adding branch "${remoteBranch}" to fetch config for remote "${remote}"`);
39
+ const result = workspace_tools_1.git(['remote', 'set-branches', '--add', remote, remoteBranch], { cwd });
40
+ if (!result.success) {
41
+ throw new Error(`Failed to add branch "${remoteBranch}" to fetch config for remote "${remote}":\n${result.stderr}`);
42
+ }
43
+ }
44
+ }
45
+ if (fetch) {
46
+ // Fetch the latest from the remote branch for comparison. If the specified remoteBranch doesn't
47
+ // exist (or there's a network error or something), this will return an error.
48
+ const result = fetch_1.gitFetch({
49
+ remote,
50
+ branch: remoteBranch,
51
+ cwd,
52
+ verbose,
53
+ // Only use "depth" if the repo is already shallow, since fetching a normal repo with --depth
54
+ // will convert it to shallow (which is likely not desired and could be confusing)
55
+ depth: depth && isShallowRepository(cwd) ? depth : undefined,
56
+ });
57
+ if (!result.success) {
58
+ throw new Error(result.errorMessage);
59
+ }
60
+ }
61
+ // Verify that HEAD and the target branch share history
62
+ let isConnected = hasCommonCommit(branch, cwd);
63
+ if (!isConnected) {
64
+ // If this is a shallow repo, history may not go back far enough to connect the branches
65
+ if (isShallowRepository(cwd)) {
66
+ if (!fetch) {
67
+ // Fetching is disabled, so the lack of history can't be fixed
68
+ logError('shallow-clone', branch, remote, remoteBranch);
69
+ throw new Error(`Inadequate history available to connect HEAD to target branch "${branch}"`);
70
+ }
71
+ // Try fetching more history
72
+ isConnected = deepenHistory({ remote, remoteBranch, branch, depth, cwd, verbose });
73
+ }
74
+ if (!isConnected) {
75
+ throw new Error(`HEAD does not appear to share history with target branch "${branch}"`);
76
+ }
77
+ }
78
+ }
79
+ exports.ensureSharedHistory = ensureSharedHistory;
80
+ /**
81
+ * Try to deepen history of a shallow clone to find a common commit with the target branch.
82
+ * Returns true if a common commit can be found after fetching more history.
83
+ * Throws if there's any issue
84
+ */
85
+ function deepenHistory(params) {
86
+ const { remote, remoteBranch, branch, cwd, verbose } = params;
87
+ const depth = params.depth || 100;
88
+ console.log(`This is a shallow clone. Deepening to check for changes...`);
89
+ // Iteratively deepen the history
90
+ const maxAttempts = 3;
91
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
92
+ console.log(`Deepening by ${depth} more commits (attempt ${attempt}/${maxAttempts})...`);
93
+ const result = fetch_1.gitFetch({ remote, branch: remoteBranch, deepen: depth, cwd, verbose });
94
+ if (!result.success) {
95
+ throw new Error(`Failed to fetch more history (see above for details)`);
96
+ }
97
+ if (hasCommonCommit(branch, cwd)) {
98
+ // Fetched enough history to find a common commit
99
+ return true;
100
+ }
101
+ if (!isShallowRepository(cwd)) {
102
+ // Fetched all history and still no common commit
103
+ return false;
104
+ }
105
+ }
106
+ // No common commit was found and the repo is still shallow, so fully unshallow it
107
+ console.log(`Still didn't find a common commit after deepening by ${depth * maxAttempts}. Unshallowing...`);
108
+ const result = fetch_1.gitFetch({ remote, branch: remoteBranch, unshallow: true, cwd, verbose });
109
+ if (!result.success) {
110
+ throw new Error(`Failed to unshallow repo (see above for details)`);
111
+ }
112
+ return hasCommonCommit(branch, cwd);
113
+ }
114
+ function logError(error, branch, remote, remoteBranch) {
115
+ let mainError;
116
+ let mitigationSteps;
117
+ switch (error) {
118
+ case 'missing-branch':
119
+ // Due to checks in the calling method, "remote" should be non-empty here
120
+ mainError = `Target branch "${branch}" does not exist locally, and fetching is disabled.`;
121
+ mitigationSteps = `- Fetch the branch manually:\n git remote set-branches --add ${remote} ${remoteBranch} && git fetch ${remote}`;
122
+ break;
123
+ case 'shallow-clone':
124
+ mainError =
125
+ 'This repo is a shallow clone, fetching is disabled, and not enough history is ' +
126
+ `available to connect HEAD to "${branch}".`;
127
+ mitigationSteps = [
128
+ "- Verify that you're using the correct target branch",
129
+ '- Unshallow or deepen the clone manually',
130
+ ].join('\n');
131
+ break;
132
+ }
133
+ console.error(`
134
+
135
+ ${mainError}
136
+
137
+ Some possible fixes:
138
+ ${mitigationSteps}
139
+ - Omit the "--no-fetch" / "--fetch=false" option from the command line
140
+ - Remove "fetch: false" from the beachball config
141
+ - If this is a CI build, ensure that adequate history is being fetched
142
+ - For GitHub Actions (actions/checkout), add the option "fetch-depth: 0" in the checkout step
143
+
144
+ `);
145
+ }
146
+ function hasBranchRef(branch, cwd) {
147
+ return workspace_tools_1.git(['rev-parse', '--verify', branch], { cwd }).success;
148
+ }
149
+ function isShallowRepository(cwd) {
150
+ return workspace_tools_1.git(['rev-parse', '--is-shallow-repository'], { cwd }).stdout.trim() === 'true';
151
+ }
152
+ /** Returns whether `branch` and HEAD have a common commit anywhere in their history */
153
+ function hasCommonCommit(branch, cwd) {
154
+ return workspace_tools_1.git(['merge-base', branch, 'HEAD'], { cwd }).success;
155
+ }
156
+ //# sourceMappingURL=ensureSharedHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureSharedHistory.js","sourceRoot":"","sources":["../../src/git/ensureSharedHistory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { GitProcessOutput } from 'workspace-tools';
2
+ declare type GitFetchParams = {
3
+ cwd: string;
4
+ /** Remote to fetch from. If not specified, fetches all remotes. */
5
+ remote?: string;
6
+ /** Branch to fetch. This will be ignored if `remote` is not also specified. */
7
+ branch?: string;
8
+ /** Set depth to this number of commits (mutually exclusive with `deepen` and `unshallow`) */
9
+ depth?: number;
10
+ /** Deepen a shallow clone by this number of commits (mutually exclusive with `depth` and `unshallow`) */
11
+ deepen?: number;
12
+ /** Convert this from a shallow clone to a full clone (mutually exclusive with `depth` and `deepen`) */
13
+ unshallow?: true;
14
+ verbose?: boolean;
15
+ };
16
+ /**
17
+ * Wrapper for `git fetch`. If `verbose` is true, log the command before starting, and display output
18
+ * on stdout (except in tests). In tests with `verbose`, the output will be logged all together to
19
+ * `console.log` when the command finishes (for easier mocking/capturing).
20
+ */
21
+ export declare function gitFetch(params: GitFetchParams): GitProcessOutput & {
22
+ errorMessage?: string;
23
+ };
24
+ export {};
25
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/git/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,aAAK,cAAc,GAAG;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yGAAyG;IACzG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,GAAG;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAqD7F"}