beachball 2.63.1 → 2.64.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.
- package/README.md +43 -24
- package/lib/changefile/getChangedPackages.d.ts +11 -1
- package/lib/changefile/getChangedPackages.d.ts.map +1 -1
- package/lib/changefile/getChangedPackages.js +8 -2
- package/lib/changefile/getChangedPackages.js.map +1 -1
- package/lib/changefile/promptForChange.d.ts.map +1 -1
- package/lib/changefile/promptForChange.js +23 -0
- package/lib/changefile/promptForChange.js.map +1 -1
- package/lib/cli.js +17 -0
- package/lib/cli.js.map +1 -1
- package/lib/commands/configGet.d.ts +11 -0
- package/lib/commands/configGet.d.ts.map +1 -0
- package/lib/commands/configGet.js +196 -0
- package/lib/commands/configGet.js.map +1 -0
- package/lib/commands/configList.d.ts +8 -0
- package/lib/commands/configList.d.ts.map +1 -0
- package/lib/commands/configList.js +35 -0
- package/lib/commands/configList.js.map +1 -0
- package/lib/help.d.ts.map +1 -1
- package/lib/help.js +12 -1
- package/lib/help.js.map +1 -1
- package/lib/logging/formatValue.d.ts +17 -0
- package/lib/logging/formatValue.d.ts.map +1 -0
- package/lib/logging/formatValue.js +66 -0
- package/lib/logging/formatValue.js.map +1 -0
- package/lib/monorepo/getPackageGraph.d.ts +24 -4
- package/lib/monorepo/getPackageGraph.d.ts.map +1 -1
- package/lib/monorepo/getPackageGraph.js +50 -11
- package/lib/monorepo/getPackageGraph.js.map +1 -1
- package/lib/options/getCliOptions.d.ts.map +1 -1
- package/lib/options/getCliOptions.js +9 -2
- package/lib/options/getCliOptions.js.map +1 -1
- package/lib/packageManager/packPackage.d.ts +11 -5
- package/lib/packageManager/packPackage.d.ts.map +1 -1
- package/lib/packageManager/packPackage.js +27 -5
- package/lib/packageManager/packPackage.js.map +1 -1
- package/lib/publish/getPackageGraphLayers.d.ts +30 -0
- package/lib/publish/getPackageGraphLayers.d.ts.map +1 -0
- package/lib/publish/getPackageGraphLayers.js +99 -0
- package/lib/publish/getPackageGraphLayers.js.map +1 -0
- package/lib/publish/getPackagesToPublish.d.ts +0 -2
- package/lib/publish/getPackagesToPublish.d.ts.map +1 -1
- package/lib/publish/getPackagesToPublish.js +1 -5
- package/lib/publish/getPackagesToPublish.js.map +1 -1
- package/lib/publish/publishToRegistry.d.ts.map +1 -1
- package/lib/publish/publishToRegistry.js +14 -3
- package/lib/publish/publishToRegistry.js.map +1 -1
- package/lib/types/BeachballOptions.d.ts +13 -0
- package/lib/types/BeachballOptions.d.ts.map +1 -1
- package/package.json +3 -3
- package/lib/monorepo/getPackageDependencyGraph.d.ts +0 -7
- package/lib/monorepo/getPackageDependencyGraph.d.ts.map +0 -1
- package/lib/monorepo/getPackageDependencyGraph.js +0 -34
- package/lib/monorepo/getPackageDependencyGraph.js.map +0 -1
- package/lib/publish/toposortPackages.d.ts +0 -9
- package/lib/publish/toposortPackages.d.ts.map +0 -1
- package/lib/publish/toposortPackages.js +0 -25
- package/lib/publish/toposortPackages.js.map +0 -1
package/lib/help.js
CHANGED
|
@@ -32,8 +32,10 @@ Commands:
|
|
|
32
32
|
pushes changelogs back into the default branch
|
|
33
33
|
sync - synchronize published versions of packages from the registry with
|
|
34
34
|
local package.json versions
|
|
35
|
+
config get <name> - get the value of a config setting (with any overrides)
|
|
36
|
+
config list - list all config settings (with any overrides)
|
|
35
37
|
|
|
36
|
-
Options supported by all commands:
|
|
38
|
+
Options supported by all commands except 'config':
|
|
37
39
|
|
|
38
40
|
--branch, -b - target branch from remote (default: git config init.defaultBranch)
|
|
39
41
|
--change-dir - name of the directory to store change files (default: change)
|
|
@@ -88,6 +90,15 @@ Options supported by all commands:
|
|
|
88
90
|
--tag, -t - sync to the specified npm dist-tag (default: 'latest')
|
|
89
91
|
--force - use the version from the registry even if it's older than local
|
|
90
92
|
|
|
93
|
+
'config get <name>' options:
|
|
94
|
+
|
|
95
|
+
--package, -p - get the effective value for specific package(s)
|
|
96
|
+
(can be specified multiple times)
|
|
97
|
+
|
|
98
|
+
'config list' options:
|
|
99
|
+
|
|
100
|
+
(no additional options)
|
|
101
|
+
|
|
91
102
|
`);
|
|
92
103
|
}
|
|
93
104
|
exports.showHelp = showHelp;
|
package/lib/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,gDAA6C;AAE7C,SAAgB,WAAW;IACzB,MAAM,WAAW,GAAG,IAAA,mBAAQ,EAAc,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,CAAC,OAAO,sCAAsC,CAAC,CAAC;AACvF,CAAC;AAHD,kCAGC;AAED,SAAgB,QAAQ;IACtB,WAAW,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,gDAA6C;AAE7C,SAAgB,WAAW;IACzB,MAAM,WAAW,GAAG,IAAA,mBAAQ,EAAc,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,CAAC,OAAO,sCAAsC,CAAC,CAAC;AACvF,CAAC;AAHD,kCAGC;AAED,SAAgB,QAAQ;IACtB,WAAW,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFb,CAAC,CAAC;AACH,CAAC;AA1FD,4BA0FC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format a value for display. Uses YAML-like formatting (though it may not be valid YAML):
|
|
3
|
+
* - Objects use `key: value` on separate lines, no braces, no quotes around keys
|
|
4
|
+
* - Arrays use `[val, val]` on a single line if they fit within `maxWidth`,
|
|
5
|
+
* otherwise use `- item` list syntax
|
|
6
|
+
* - Strings are quoted, other primitives are printed as-is
|
|
7
|
+
* - Functions are displayed as `(Function)`
|
|
8
|
+
*
|
|
9
|
+
* The returned string is indented to the given `level` (each level = 2 spaces).
|
|
10
|
+
*/
|
|
11
|
+
export declare function formatValue(value: unknown, options?: {
|
|
12
|
+
/** Current nesting level (each level = 2 spaces of indentation) */
|
|
13
|
+
level?: number;
|
|
14
|
+
/** Character width limit before arrays go to multiple lines (default 80) */
|
|
15
|
+
maxWidth?: number;
|
|
16
|
+
}): string;
|
|
17
|
+
//# sourceMappingURL=formatValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatValue.d.ts","sourceRoot":"","sources":["../../src/logging/formatValue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;IACR,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,CAyDR"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatValue = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Format a value for display. Uses YAML-like formatting (though it may not be valid YAML):
|
|
6
|
+
* - Objects use `key: value` on separate lines, no braces, no quotes around keys
|
|
7
|
+
* - Arrays use `[val, val]` on a single line if they fit within `maxWidth`,
|
|
8
|
+
* otherwise use `- item` list syntax
|
|
9
|
+
* - Strings are quoted, other primitives are printed as-is
|
|
10
|
+
* - Functions are displayed as `(Function)`
|
|
11
|
+
*
|
|
12
|
+
* The returned string is indented to the given `level` (each level = 2 spaces).
|
|
13
|
+
*/
|
|
14
|
+
function formatValue(value, options) {
|
|
15
|
+
const { level = 0, maxWidth = 80 } = options || {};
|
|
16
|
+
const pad = ' '.repeat(level * 2);
|
|
17
|
+
if (value === undefined)
|
|
18
|
+
return `${pad}undefined`;
|
|
19
|
+
if (typeof value === 'function')
|
|
20
|
+
return `${pad}(Function)`;
|
|
21
|
+
// Leaf values — use JSON.stringify for strings/numbers/booleans
|
|
22
|
+
if (value === null || typeof value !== 'object') {
|
|
23
|
+
return `${pad}${JSON.stringify(value)}`;
|
|
24
|
+
}
|
|
25
|
+
const childLevel = level + 1;
|
|
26
|
+
if (Array.isArray(value)) {
|
|
27
|
+
if (value.length === 0)
|
|
28
|
+
return `${pad}[]`;
|
|
29
|
+
// Items are formatted at level 0 (no padding) since the array handles positioning
|
|
30
|
+
const items = value.map(v => formatValue(v, { level: 0, maxWidth }));
|
|
31
|
+
// Try single-line format first
|
|
32
|
+
// This isn't the most efficient, but it probably doesn't matter in expected usage.
|
|
33
|
+
const singleLine = `[${items.join(', ')}]`;
|
|
34
|
+
if (level * 2 + singleLine.length <= maxWidth && !singleLine.includes('\n')) {
|
|
35
|
+
return `${pad}${singleLine}`;
|
|
36
|
+
}
|
|
37
|
+
// Multi-line: YAML-like list with "- " prefix.
|
|
38
|
+
// Continuation lines are indented by 2 to align with the content after "- ".
|
|
39
|
+
return items.map(item => `${pad}- ${item.replace(/\n/g, `\n${pad} `)}`).join('\n');
|
|
40
|
+
}
|
|
41
|
+
// Make sure it's a plain object
|
|
42
|
+
if (value.constructor && value.constructor.name !== 'Object') {
|
|
43
|
+
return `${pad}(${value.constructor.name})`;
|
|
44
|
+
}
|
|
45
|
+
// Objects: YAML-like key: value on separate lines
|
|
46
|
+
const entries = Object.entries(value);
|
|
47
|
+
if (entries.length === 0)
|
|
48
|
+
return `${pad}{}`;
|
|
49
|
+
return entries
|
|
50
|
+
.map(([k, v]) => {
|
|
51
|
+
const formattedValue = formatValue(v, { level: childLevel, maxWidth });
|
|
52
|
+
const trimmedValue = formattedValue.trimStart();
|
|
53
|
+
// If the value is a longer array or a structured type, place it on the next line (already padded)
|
|
54
|
+
const isStructured = Array.isArray(v)
|
|
55
|
+
? !trimmedValue.startsWith('[')
|
|
56
|
+
: !!v && typeof v === 'object' && trimmedValue !== '{}';
|
|
57
|
+
if (isStructured) {
|
|
58
|
+
return `${pad}${k}:\n${formattedValue}`;
|
|
59
|
+
}
|
|
60
|
+
// Inline value — strip the child padding since it goes after "key: "
|
|
61
|
+
return `${pad}${k}: ${trimmedValue}`;
|
|
62
|
+
})
|
|
63
|
+
.join('\n');
|
|
64
|
+
}
|
|
65
|
+
exports.formatValue = formatValue;
|
|
66
|
+
//# sourceMappingURL=formatValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatValue.js","sourceRoot":"","sources":["../../src/logging/formatValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,26 @@
|
|
|
1
|
+
import { PGraph } from 'p-graph';
|
|
1
2
|
import type { PackageInfo, PackageInfos } from '../types/PackageInfo';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Get a PGraph of `affectedPackages` which will run a function in dependency topological order.
|
|
5
|
+
* Note that this version only considers dependencies listed directly in the graph (see comment
|
|
6
|
+
* on `getPackageGraphLayers` for why this might matter).
|
|
7
|
+
* @param affectedPackages Packages to include
|
|
8
|
+
* @param packageInfos All packages in the repo
|
|
9
|
+
* @param runHook Function to run for each package
|
|
10
|
+
* @returns The graph ready to run
|
|
11
|
+
*/
|
|
12
|
+
export declare function getPackageGraph(affectedPackages: string[], packageInfos: PackageInfos, runHook: (packageInfo: PackageInfo) => void | Promise<void>): PGraph;
|
|
13
|
+
/**
|
|
14
|
+
* Get the graph of non-dev dependencies within the repo.
|
|
15
|
+
* Dev dependencies can be omitted since they don't impact publishing or installation.
|
|
16
|
+
*
|
|
17
|
+
* @returns Each element is a tuple of `[dependency, dependent]` where `dependent` depends on `dependency`.
|
|
18
|
+
* These are the edges of the dependency graph.
|
|
19
|
+
*/
|
|
20
|
+
export declare function _getPackageDependencyGraph(packages: string[], packageInfos: PackageInfos): [string, string][];
|
|
21
|
+
/**
|
|
22
|
+
* Call {@link getPackageDependencies} with consistent options: ignore dev deps,
|
|
23
|
+
* include deps of all other types if included in `packageSet`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getPackageDependenciesWrapper(packageInfo: PackageInfos[string], packageSet: Set<string>): string[];
|
|
6
26
|
//# sourceMappingURL=getPackageGraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackageGraph.d.ts","sourceRoot":"","sources":["../../src/monorepo/getPackageGraph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"getPackageGraph.d.ts","sourceRoot":"","sources":["../../src/monorepo/getPackageGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC1D,MAAM,CAUR;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,YAAY,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAmB7G;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAMlH"}
|
|
@@ -1,11 +1,17 @@
|
|
|
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.getPackageGraph = void 0;
|
|
7
|
-
const p_graph_1 =
|
|
8
|
-
const
|
|
3
|
+
exports.getPackageDependenciesWrapper = exports._getPackageDependencyGraph = exports.getPackageGraph = void 0;
|
|
4
|
+
const p_graph_1 = require("p-graph");
|
|
5
|
+
const workspace_tools_1 = require("workspace-tools");
|
|
6
|
+
/**
|
|
7
|
+
* Get a PGraph of `affectedPackages` which will run a function in dependency topological order.
|
|
8
|
+
* Note that this version only considers dependencies listed directly in the graph (see comment
|
|
9
|
+
* on `getPackageGraphLayers` for why this might matter).
|
|
10
|
+
* @param affectedPackages Packages to include
|
|
11
|
+
* @param packageInfos All packages in the repo
|
|
12
|
+
* @param runHook Function to run for each package
|
|
13
|
+
* @returns The graph ready to run
|
|
14
|
+
*/
|
|
9
15
|
function getPackageGraph(affectedPackages, packageInfos, runHook) {
|
|
10
16
|
const nodeMap = new Map();
|
|
11
17
|
for (const packageToBump of affectedPackages) {
|
|
@@ -13,12 +19,45 @@ function getPackageGraph(affectedPackages, packageInfos, runHook) {
|
|
|
13
19
|
run: async () => await runHook(packageInfos[packageToBump]),
|
|
14
20
|
});
|
|
15
21
|
}
|
|
16
|
-
const dependencyGraph = (
|
|
17
|
-
|
|
18
|
-
return (0, p_graph_1.default)(nodeMap, filteredDependencyGraph);
|
|
22
|
+
const dependencyGraph = _getPackageDependencyGraph(affectedPackages, packageInfos);
|
|
23
|
+
return new p_graph_1.PGraph(nodeMap, dependencyGraph);
|
|
19
24
|
}
|
|
20
25
|
exports.getPackageGraph = getPackageGraph;
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Get the graph of non-dev dependencies within the repo.
|
|
28
|
+
* Dev dependencies can be omitted since they don't impact publishing or installation.
|
|
29
|
+
*
|
|
30
|
+
* @returns Each element is a tuple of `[dependency, dependent]` where `dependent` depends on `dependency`.
|
|
31
|
+
* These are the edges of the dependency graph.
|
|
32
|
+
*/
|
|
33
|
+
function _getPackageDependencyGraph(packages, packageInfos) {
|
|
34
|
+
const packageSet = new Set(packages);
|
|
35
|
+
const dependencyGraph = [];
|
|
36
|
+
for (const pkgName of packageSet) {
|
|
37
|
+
const info = packageInfos[pkgName];
|
|
38
|
+
if (!info) {
|
|
39
|
+
throw new Error(`Package info is missing for ${pkgName}.`);
|
|
40
|
+
}
|
|
41
|
+
const allDeps = getPackageDependenciesWrapper(info, packageSet);
|
|
42
|
+
if (allDeps.length) {
|
|
43
|
+
for (const depPkgName of allDeps) {
|
|
44
|
+
dependencyGraph.push([depPkgName, pkgName]);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return dependencyGraph;
|
|
49
|
+
}
|
|
50
|
+
exports._getPackageDependencyGraph = _getPackageDependencyGraph;
|
|
51
|
+
/**
|
|
52
|
+
* Call {@link getPackageDependencies} with consistent options: ignore dev deps,
|
|
53
|
+
* include deps of all other types if included in `packageSet`.
|
|
54
|
+
*/
|
|
55
|
+
function getPackageDependenciesWrapper(packageInfo, packageSet) {
|
|
56
|
+
return (0, workspace_tools_1.getPackageDependencies)(packageInfo, packageSet, {
|
|
57
|
+
withDevDependencies: false,
|
|
58
|
+
withPeerDependencies: true,
|
|
59
|
+
withOptionalDependencies: true,
|
|
60
|
+
});
|
|
23
61
|
}
|
|
62
|
+
exports.getPackageDependenciesWrapper = getPackageDependenciesWrapper;
|
|
24
63
|
//# sourceMappingURL=getPackageGraph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackageGraph.js","sourceRoot":"","sources":["../../src/monorepo/getPackageGraph.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPackageGraph.js","sourceRoot":"","sources":["../../src/monorepo/getPackageGraph.ts"],"names":[],"mappings":";;;AAAA,qCAAqD;AACrD,qDAAyD;AAGzD;;;;;;;;GAQG;AACH,SAAgB,eAAe,CAC7B,gBAA0B,EAC1B,YAA0B,EAC1B,OAA2D;IAE3D,MAAM,OAAO,GAAkB,IAAI,GAAG,EAAE,CAAC;IACzC,KAAK,MAAM,aAAa,IAAI,gBAAgB,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE;YACzB,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;SAC5D,CAAC,CAAC;KACJ;IAED,MAAM,eAAe,GAAG,0BAA0B,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IACnF,OAAO,IAAI,gBAAM,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAC9C,CAAC;AAdD,0CAcC;AAED;;;;;;GAMG;AACH,SAAgB,0BAA0B,CAAC,QAAkB,EAAE,YAA0B;IACvF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,eAAe,GAAuB,EAAE,CAAC;IAE/C,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE;QAChC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,GAAG,CAAC,CAAC;SAC5D;QAED,MAAM,OAAO,GAAG,6BAA6B,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE;gBAChC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;aAC7C;SACF;KACF;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAnBD,gEAmBC;AAED;;;GAGG;AACH,SAAgB,6BAA6B,CAAC,WAAiC,EAAE,UAAuB;IACtG,OAAO,IAAA,wCAAsB,EAAC,WAAW,EAAE,UAAU,EAAE;QACrD,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,IAAI;QAC1B,wBAAwB,EAAE,IAAI;KAC/B,CAAC,CAAC;AACL,CAAC;AAND,sEAMC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCliOptions.d.ts","sourceRoot":"","sources":["../../src/options/getCliOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI3E,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"getCliOptions.d.ts","sourceRoot":"","sources":["../../src/options/getCliOptions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI3E,MAAM,WAAW,WAAW;IAC1B,oFAAoF;IACpF,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AA0GD;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;AACrF,yCAAyC;AACzC,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -59,7 +59,7 @@ const allKeysOfType = () => (
|
|
|
59
59
|
// to the appropriate array above.
|
|
60
60
|
const knownOptions = allKeysOfType()(...arrayOptions, ...booleanOptions, ...numberOptions, ...stringOptions,
|
|
61
61
|
// these options are filled in below, not respected from the command line
|
|
62
|
-
'path', 'command');
|
|
62
|
+
'path', 'command', '_extraPositionalArgs');
|
|
63
63
|
const parserOptions = {
|
|
64
64
|
configuration: {
|
|
65
65
|
'boolean-negation': true,
|
|
@@ -115,7 +115,7 @@ function getCliOptions(processOrArgv) {
|
|
|
115
115
|
catch {
|
|
116
116
|
// use the provided cwd
|
|
117
117
|
}
|
|
118
|
-
if (positionalArgs.length > 1) {
|
|
118
|
+
if (positionalArgs.length > 1 && String(positionalArgs[0]) !== 'config') {
|
|
119
119
|
throw new Error(`Only one positional argument (the command) is allowed. Received: ${positionalArgs.join(' ')}`);
|
|
120
120
|
}
|
|
121
121
|
const cliOptions = {
|
|
@@ -123,6 +123,9 @@ function getCliOptions(processOrArgv) {
|
|
|
123
123
|
command: positionalArgs.length ? String(positionalArgs[0]) : 'change',
|
|
124
124
|
path: cwd,
|
|
125
125
|
};
|
|
126
|
+
// Save extra positional args for commands that support subcommands (e.g. 'config get <name>')
|
|
127
|
+
// (yargs-parser doesn't support positional arguments directly)
|
|
128
|
+
const extraPositionalArgs = positionalArgs.length > 1 ? positionalArgs.slice(1).map(String) : undefined;
|
|
126
129
|
const branchArg = args.branch;
|
|
127
130
|
if (branchArg) {
|
|
128
131
|
// TODO: This logic assumes the first segment of any branch name with a slash must be the remote,
|
|
@@ -160,6 +163,10 @@ function getCliOptions(processOrArgv) {
|
|
|
160
163
|
cliOptions[key] = false;
|
|
161
164
|
}
|
|
162
165
|
}
|
|
166
|
+
// Set extra positional args after the validation loop (it's an internal array, not from CLI parsing)
|
|
167
|
+
if (extraPositionalArgs) {
|
|
168
|
+
cliOptions._extraPositionalArgs = extraPositionalArgs;
|
|
169
|
+
}
|
|
163
170
|
return cliOptions;
|
|
164
171
|
}
|
|
165
172
|
exports.getCliOptions = getCliOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCliOptions.js","sourceRoot":"","sources":["../../src/options/getCliOptions.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAkC;AAElC,qDAA0E;AAC1E,gCAA6B;AAc7B,gFAAgF;AAChF,MAAM,YAAY,GAAG,CAAC,uBAAuB,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAC5E,MAAM,cAAc,GAAG;IACrB,KAAK;IACL,MAAM;IACN,UAAU;IACV,QAAQ;IACR,4BAA4B;IAC5B,OAAO;IACP,eAAe;IACf,SAAS;IACT,MAAM;IACN,iBAAiB;IACjB,KAAK;IACL,SAAS;IACT,MAAM;IACN,SAAS;IACT,SAAS;IACT,KAAK;CACG,CAAC;AACX,MAAM,aAAa,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAClH,MAAM,aAAa,GAAG;IACpB,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,qBAAqB;IACrB,SAAS;IACT,SAAS;IACT,YAAY;IACZ,kBAAkB;IAClB,UAAU;IACV,KAAK;IACL,OAAO;IACP,MAAM;CACE,CAAC;AAGX,oEAAoE;AACpE,MAAM,aAAa,GACjB,GAAqB,EAAE,CACvB;AACE,8DAA8D;AAC9D,GAAG,CAA8F,EACjG,EAAE,CACF,CAAC,CAAC;AAEN,yFAAyF;AACzF,EAAE;AACF,0EAA0E;AAC1E,0GAA0G;AAC1G,EAAE;AACF,gGAAgG;AAChG,kCAAkC;AAClC,MAAM,YAAY,GAAG,aAAa,EAAoB,CACpD,GAAG,YAAY,EACf,GAAG,cAAc,EACjB,GAAG,aAAa,EAChB,GAAG,aAAa;AAChB,yEAAyE;AACzE,MAAM,EACN,SAAS,
|
|
1
|
+
{"version":3,"file":"getCliOptions.js","sourceRoot":"","sources":["../../src/options/getCliOptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,19 @@ import type { PackageInfo } from '../types/PackageInfo';
|
|
|
2
2
|
import type { BeachballOptions } from '../types/BeachballOptions';
|
|
3
3
|
/**
|
|
4
4
|
* Attempts to pack the package and move the tgz to `options.packPath`.
|
|
5
|
-
*
|
|
5
|
+
* Depending on `packInfo.packStyle`, either the filename will be prefixed with a number,
|
|
6
|
+
* or it will be put in a numbered folder.
|
|
6
7
|
* @returns true if successful, false if not.
|
|
7
8
|
*/
|
|
8
9
|
export declare function packPackage(packageInfo: PackageInfo, options: Required<Pick<BeachballOptions, 'packToPath'>> & Pick<BeachballOptions, 'verbose'> & {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
packInfo: {
|
|
11
|
+
/** Index of this package in the topologically-sorted list to publish */
|
|
12
|
+
index: number;
|
|
13
|
+
/** Total number of packages to publish */
|
|
14
|
+
total: number;
|
|
15
|
+
} | {
|
|
16
|
+
/** Array of layers of package names returned by `getPackageGraphLayers` */
|
|
17
|
+
layers: string[][];
|
|
18
|
+
};
|
|
13
19
|
}): Promise<boolean>;
|
|
14
20
|
//# sourceMappingURL=packPackage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packPackage.d.ts","sourceRoot":"","sources":["../../src/packageManager/packPackage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE
|
|
1
|
+
{"version":3,"file":"packPackage.d.ts","sourceRoot":"","sources":["../../src/packageManager/packPackage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAIlE;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,GACrD,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,GAAG;IAClC,QAAQ,EACJ;QACE,wEAAwE;QACxE,KAAK,EAAE,MAAM,CAAC;QACd,0CAA0C;QAC1C,KAAK,EAAE,MAAM,CAAC;KACf,GACD;QACE,2EAA2E;QAC3E,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;KACpB,CAAC;CACP,GACF,OAAO,CAAC,OAAO,CAAC,CAiElB"}
|
|
@@ -10,11 +10,12 @@ const npm_1 = require("./npm");
|
|
|
10
10
|
const npmArgs_1 = require("./npmArgs");
|
|
11
11
|
/**
|
|
12
12
|
* Attempts to pack the package and move the tgz to `options.packPath`.
|
|
13
|
-
*
|
|
13
|
+
* Depending on `packInfo.packStyle`, either the filename will be prefixed with a number,
|
|
14
|
+
* or it will be put in a numbered folder.
|
|
14
15
|
* @returns true if successful, false if not.
|
|
15
16
|
*/
|
|
16
17
|
async function packPackage(packageInfo, options) {
|
|
17
|
-
const { packToPath, verbose,
|
|
18
|
+
const { packToPath, verbose, packInfo } = options;
|
|
18
19
|
const packArgs = ['pack', ...(0, npmArgs_1.getNpmLogLevelArgs)(verbose)];
|
|
19
20
|
const packageRoot = path_1.default.dirname(packageInfo.packageJsonPath);
|
|
20
21
|
const packageSpec = `${packageInfo.name}@${packageInfo.version}`;
|
|
@@ -35,15 +36,29 @@ async function packPackage(packageInfo, options) {
|
|
|
35
36
|
return false;
|
|
36
37
|
}
|
|
37
38
|
// Prepend a numeric prefix to the pack file (0-padded so basic sorting works).
|
|
39
|
+
// Or for packStyle: "layer", put the pack file in a subfolder for its dependency tree layer.
|
|
38
40
|
// The prefix isn't strictly needed for single packages, but use it for consistency in case of a
|
|
39
41
|
// monorepo which usually publishes multiple packages but sometimes only one has changed.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
let finalPackFilePath;
|
|
43
|
+
if ('layers' in packInfo) {
|
|
44
|
+
const { layers } = packInfo;
|
|
45
|
+
const packageLayer = layers.findIndex(layer => layer.includes(packageInfo.name));
|
|
46
|
+
if (packageLayer === -1) {
|
|
47
|
+
console.error(`Internal error: package ${packageInfo.name} not found in order of packages to publish\n`);
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const layerDir = makePrefix({ num: packageLayer, total: layers.length });
|
|
51
|
+
finalPackFilePath = path_1.default.join(packToPath, layerDir, packFile);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const packPrefix = makePrefix({ num: packInfo.index, total: packInfo.total });
|
|
55
|
+
finalPackFilePath = path_1.default.join(packToPath, `${packPrefix}-${packFile}`);
|
|
56
|
+
}
|
|
42
57
|
try {
|
|
43
58
|
if (fs_1.default.existsSync(finalPackFilePath)) {
|
|
44
59
|
throw new Error('Target path already exists');
|
|
45
60
|
}
|
|
46
|
-
fs_1.default.mkdirSync(
|
|
61
|
+
fs_1.default.mkdirSync(path_1.default.dirname(finalPackFilePath), { recursive: true });
|
|
47
62
|
fs_1.default.renameSync(packFilePath, finalPackFilePath);
|
|
48
63
|
}
|
|
49
64
|
catch (err) {
|
|
@@ -61,4 +76,11 @@ async function packPackage(packageInfo, options) {
|
|
|
61
76
|
return true;
|
|
62
77
|
}
|
|
63
78
|
exports.packPackage = packPackage;
|
|
79
|
+
/**
|
|
80
|
+
* Convert `num` from 0- to 1-indexed and pad with leading zeros based on the total.
|
|
81
|
+
*/
|
|
82
|
+
function makePrefix(params) {
|
|
83
|
+
const { num, total } = params;
|
|
84
|
+
return String(num + 1).padStart(String(total).length, '0');
|
|
85
|
+
}
|
|
64
86
|
//# sourceMappingURL=packPackage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packPackage.js","sourceRoot":"","sources":["../../src/packageManager/packPackage.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAGxB,+BAA4B;AAC5B,uCAA+C;AAE/C
|
|
1
|
+
{"version":3,"file":"packPackage.js","sourceRoot":"","sources":["../../src/packageManager/packPackage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { BeachballOptions } from '../types/BeachballOptions';
|
|
2
|
+
import type { PublishBumpInfo } from '../types/BumpInfo';
|
|
3
|
+
/**
|
|
4
|
+
* Given the packages to publish and the full map of packages in the repo, organize the packages into
|
|
5
|
+
* graph layers that can be published in parallel. The first layer will be packages with no deps
|
|
6
|
+
* on other published packages, and the last layer will be root packages that depend on all others.
|
|
7
|
+
*
|
|
8
|
+
* If possible, layers are computed based on only the set of published packages. This should be safe
|
|
9
|
+
* with beachball's default behaviors, but layers will be computed over the full graph under any of
|
|
10
|
+
* the following conditions which might cause missing edges. (Not 100% sure this is necessary, but
|
|
11
|
+
* not sure how to disprove it either...)
|
|
12
|
+
* - `bumpDeps` is false
|
|
13
|
+
* - `scope` is set
|
|
14
|
+
* - There are `newPackages`
|
|
15
|
+
* - Any change has `dependentChangeType` set to "none"
|
|
16
|
+
*
|
|
17
|
+
* Currently, there's only VERY basic cycle handling: all cycles are grouped together on a final
|
|
18
|
+
* layer, regardless of any interdependencies. The `toposort` package previously used by beachball
|
|
19
|
+
* doesn't handle cycles at all, so this should be fine for now. (Tarjan's strongly connected
|
|
20
|
+
* components algorithm could be used to break cycles into more layers if needed in the future.)
|
|
21
|
+
*
|
|
22
|
+
* @returns An array of layers, where each layer is an array of package names that can be
|
|
23
|
+
* published in parallel.
|
|
24
|
+
*/
|
|
25
|
+
export declare function getPackageGraphLayers(params: {
|
|
26
|
+
packagesToPublish: string[];
|
|
27
|
+
bumpInfo: Pick<PublishBumpInfo, 'changeFileChangeInfos' | 'packageInfos' | 'newPackages'>;
|
|
28
|
+
options: Pick<BeachballOptions, 'bumpDeps' | 'scope'>;
|
|
29
|
+
}): string[][];
|
|
30
|
+
//# sourceMappingURL=getPackageGraphLayers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageGraphLayers.d.ts","sourceRoot":"","sources":["../../src/publish/getPackageGraphLayers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE;IAC5C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,uBAAuB,GAAG,cAAc,GAAG,aAAa,CAAC,CAAC;IAC1F,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC;CACvD,GAAG,MAAM,EAAE,EAAE,CAkFb"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPackageGraphLayers = void 0;
|
|
4
|
+
const getPackageGraph_1 = require("../monorepo/getPackageGraph");
|
|
5
|
+
const bulletedList_1 = require("../logging/bulletedList");
|
|
6
|
+
/**
|
|
7
|
+
* Given the packages to publish and the full map of packages in the repo, organize the packages into
|
|
8
|
+
* graph layers that can be published in parallel. The first layer will be packages with no deps
|
|
9
|
+
* on other published packages, and the last layer will be root packages that depend on all others.
|
|
10
|
+
*
|
|
11
|
+
* If possible, layers are computed based on only the set of published packages. This should be safe
|
|
12
|
+
* with beachball's default behaviors, but layers will be computed over the full graph under any of
|
|
13
|
+
* the following conditions which might cause missing edges. (Not 100% sure this is necessary, but
|
|
14
|
+
* not sure how to disprove it either...)
|
|
15
|
+
* - `bumpDeps` is false
|
|
16
|
+
* - `scope` is set
|
|
17
|
+
* - There are `newPackages`
|
|
18
|
+
* - Any change has `dependentChangeType` set to "none"
|
|
19
|
+
*
|
|
20
|
+
* Currently, there's only VERY basic cycle handling: all cycles are grouped together on a final
|
|
21
|
+
* layer, regardless of any interdependencies. The `toposort` package previously used by beachball
|
|
22
|
+
* doesn't handle cycles at all, so this should be fine for now. (Tarjan's strongly connected
|
|
23
|
+
* components algorithm could be used to break cycles into more layers if needed in the future.)
|
|
24
|
+
*
|
|
25
|
+
* @returns An array of layers, where each layer is an array of package names that can be
|
|
26
|
+
* published in parallel.
|
|
27
|
+
*/
|
|
28
|
+
function getPackageGraphLayers(params) {
|
|
29
|
+
const { packagesToPublish, bumpInfo, options } = params;
|
|
30
|
+
const { packageInfos, changeFileChangeInfos } = bumpInfo;
|
|
31
|
+
if (packagesToPublish.length === 0) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
// See function comment for explanation
|
|
35
|
+
const canConsiderPublishedOnly = options.bumpDeps &&
|
|
36
|
+
!options.scope &&
|
|
37
|
+
!bumpInfo.newPackages?.length &&
|
|
38
|
+
!changeFileChangeInfos.some(change => change.change.dependentChangeType === 'none');
|
|
39
|
+
const packagesToConsider = canConsiderPublishedOnly ? packagesToPublish : Object.keys(packageInfos);
|
|
40
|
+
const packagesToConsiderSet = new Set(packagesToConsider);
|
|
41
|
+
// Build internal dependency graph for packagesToConsider
|
|
42
|
+
const dependentsOf = new Map();
|
|
43
|
+
const inDegree = new Map();
|
|
44
|
+
for (const pkgName of packagesToConsider) {
|
|
45
|
+
// Get dependencies of this package, filtered to packagesToConsiderSet.
|
|
46
|
+
// Ignore dev deps since they're not installed by consumers and can't cause ordering issues.
|
|
47
|
+
const deps = (0, getPackageGraph_1.getPackageDependenciesWrapper)(packageInfos[pkgName], packagesToConsiderSet);
|
|
48
|
+
inDegree.set(pkgName, deps.length);
|
|
49
|
+
for (const dep of deps) {
|
|
50
|
+
let list = dependentsOf.get(dep);
|
|
51
|
+
if (!list) {
|
|
52
|
+
list = [];
|
|
53
|
+
dependentsOf.set(dep, list);
|
|
54
|
+
}
|
|
55
|
+
list.push(pkgName);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Kahn's algorithm: extract layers in BFS order
|
|
59
|
+
const placed = new Set();
|
|
60
|
+
const layers = [];
|
|
61
|
+
// Seed with all packages that have no in-repo dependencies
|
|
62
|
+
let currentLayer = packagesToConsider.filter(pkg => (inDegree.get(pkg) ?? 0) === 0);
|
|
63
|
+
while (currentLayer.length > 0) {
|
|
64
|
+
// Filter this layer to only packages being published
|
|
65
|
+
const publishLayer = canConsiderPublishedOnly
|
|
66
|
+
? currentLayer
|
|
67
|
+
: currentLayer.filter(pkg => packagesToPublish.includes(pkg));
|
|
68
|
+
if (publishLayer.length > 0) {
|
|
69
|
+
layers.push(publishLayer);
|
|
70
|
+
}
|
|
71
|
+
// Mark placed and compute next layer
|
|
72
|
+
const nextLayer = [];
|
|
73
|
+
for (const pkg of currentLayer) {
|
|
74
|
+
placed.add(pkg);
|
|
75
|
+
for (const dependent of dependentsOf.get(pkg) ?? []) {
|
|
76
|
+
const newDegree = (inDegree.get(dependent) ?? 1) - 1;
|
|
77
|
+
inDegree.set(dependent, newDegree);
|
|
78
|
+
if (newDegree === 0) {
|
|
79
|
+
nextLayer.push(dependent);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
currentLayer = nextLayer;
|
|
84
|
+
}
|
|
85
|
+
// Handle cycles: any remaining packages not yet placed
|
|
86
|
+
const cyclic = packagesToPublish.filter(pkg => !placed.has(pkg));
|
|
87
|
+
if (cyclic.length > 0) {
|
|
88
|
+
console.warn([
|
|
89
|
+
'Circular dependencies detected among the following packages:',
|
|
90
|
+
(0, bulletedList_1.bulletedList)(cyclic),
|
|
91
|
+
'If these packages have any interdependencies, publishing order MAY BE INCORRECT.',
|
|
92
|
+
'',
|
|
93
|
+
].join('\n'));
|
|
94
|
+
layers.push(cyclic);
|
|
95
|
+
}
|
|
96
|
+
return layers;
|
|
97
|
+
}
|
|
98
|
+
exports.getPackageGraphLayers = getPackageGraphLayers;
|
|
99
|
+
//# sourceMappingURL=getPackageGraphLayers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPackageGraphLayers.js","sourceRoot":"","sources":["../../src/publish/getPackageGraphLayers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,6 @@ import type { PublishBumpInfo } from '../types/BumpInfo';
|
|
|
5
5
|
* out of scope, have change type "none", or have no calculated change type (unless they're new).
|
|
6
6
|
*/
|
|
7
7
|
export declare function getPackagesToPublish(bumpInfo: Pick<PublishBumpInfo, 'modifiedPackages' | 'newPackages' | 'packageInfos' | 'calculatedChangeTypes' | 'scopedPackages'>, params?: {
|
|
8
|
-
/** If true, topologically sort the package names based on the dependency graph (may be slow) */
|
|
9
|
-
toposort?: boolean;
|
|
10
8
|
/** If true, log skipped packages and reasons */
|
|
11
9
|
logSkipped?: boolean;
|
|
12
10
|
}): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackagesToPublish.d.ts","sourceRoot":"","sources":["../../src/publish/getPackagesToPublish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"getPackagesToPublish.d.ts","sourceRoot":"","sources":["../../src/publish/getPackagesToPublish.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,IAAI,CACZ,eAAe,EACf,kBAAkB,GAAG,aAAa,GAAG,cAAc,GAAG,uBAAuB,GAAG,gBAAgB,CACjG,EACD,MAAM,CAAC,EAAE;IACP,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GACA,MAAM,EAAE,CAmCV"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPackagesToPublish = void 0;
|
|
4
4
|
const bulletedList_1 = require("../logging/bulletedList");
|
|
5
|
-
const toposortPackages_1 = require("./toposortPackages");
|
|
6
5
|
/**
|
|
7
6
|
* Determine which of the modified/new packages in bump info should actually be published
|
|
8
7
|
* (based only on the bump info, not the registry). Removes packages that are private,
|
|
@@ -10,10 +9,7 @@ const toposortPackages_1 = require("./toposortPackages");
|
|
|
10
9
|
*/
|
|
11
10
|
function getPackagesToPublish(bumpInfo, params) {
|
|
12
11
|
const { modifiedPackages, newPackages, packageInfos, calculatedChangeTypes, scopedPackages } = bumpInfo;
|
|
13
|
-
|
|
14
|
-
if (params?.toposort) {
|
|
15
|
-
packages = (0, toposortPackages_1.toposortPackages)(packages, packageInfos);
|
|
16
|
-
}
|
|
12
|
+
const packages = [...modifiedPackages, ...(newPackages || [])];
|
|
17
13
|
const packagesToPublish = [];
|
|
18
14
|
const skippedPackageReasons = [];
|
|
19
15
|
for (const pkg of packages) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackagesToPublish.js","sourceRoot":"","sources":["../../src/publish/getPackagesToPublish.ts"],"names":[],"mappings":";;;AAAA,0DAAuD;
|
|
1
|
+
{"version":3,"file":"getPackagesToPublish.js","sourceRoot":"","sources":["../../src/publish/getPackagesToPublish.ts"],"names":[],"mappings":";;;AAAA,0DAAuD;AAGvD;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,QAGC,EACD,MAGC;IAED,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,GAAG,QAAQ,CAAC;IAExG,MAAM,QAAQ,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,qBAAqB,GAAa,EAAE,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QAC1B,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,UAAU,KAAK,MAAM,EAAE;YACzB,UAAU,GAAG,sBAAsB,CAAC;SACrC;aAAM,IAAI,WAAW,CAAC,OAAO,EAAE;YAC9B,UAAU,GAAG,YAAY,CAAC;SAC3B;aAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACnC,UAAU,GAAG,iBAAiB,CAAC;SAChC;aAAM,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrD,UAAU,GAAG,2CAA2C,CAAC;SAC1D;QAED,IAAI,UAAU,EAAE;YACd,qBAAqB,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,EAAE,CAAC,CAAC;SACpD;aAAM;YACL,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7B;KACF;IAED,sDAAsD;IACtD,IAAI,qBAAqB,CAAC,MAAM,IAAI,MAAM,EAAE,UAAU,EAAE;QACtD,OAAO,CAAC,GAAG,CAAC,gDAAgD,IAAA,2BAAY,EAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;KAC7G;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AA5CD,oDA4CC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publishToRegistry.d.ts","sourceRoot":"","sources":["../../src/publish/publishToRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"publishToRegistry.d.ts","sourceRoot":"","sources":["../../src/publish/publishToRegistry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAelE;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8G3G"}
|