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/README.md
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
If making changes, don't forget to update the version under packages/beachball/README.md too!
|
|
3
|
-
-->
|
|
4
|
-
|
|
5
1
|
# [beachball](https://microsoft.github.io/beachball/)
|
|
6
2
|
|
|
7
3
|
the sunniest version bumping tool
|
|
8
4
|
|
|
9
5
|
## Prerequisites
|
|
10
6
|
|
|
11
|
-
git
|
|
7
|
+
A git repo with a remote
|
|
12
8
|
|
|
13
9
|
## Usage
|
|
14
10
|
|
|
@@ -32,61 +28,80 @@ bumps versions as well as generating changelogs
|
|
|
32
28
|
|
|
33
29
|
### [publish](https://microsoft.github.io/beachball/cli/publish.html)
|
|
34
30
|
|
|
35
|
-
bumps, publishes to npm registry
|
|
31
|
+
bumps, publishes to npm registry, and pushes changelogs back into the target branch
|
|
36
32
|
|
|
37
33
|
### [sync](https://microsoft.github.io/beachball/cli/sync.html)
|
|
38
34
|
|
|
39
35
|
synchronizes published versions of packages from a registry, makes local package.json changes to match what is published
|
|
40
36
|
|
|
37
|
+
### [config](https://microsoft.github.io/beachball/cli/config.html)
|
|
38
|
+
|
|
39
|
+
inspect the effective beachball configuration for the repo or a specific package
|
|
40
|
+
|
|
41
41
|
## Options
|
|
42
42
|
|
|
43
|
-
Some of the most common options are summarized below. For
|
|
43
|
+
Some of the most common options are summarized below. **For all options, see the pages for [CLI options](https://microsoft.github.io/beachball/cli/options.html) and [config file options](https://microsoft.github.io/beachball/overview/configuration.html).**
|
|
44
44
|
|
|
45
|
-
###
|
|
45
|
+
### `--config`, `-c`
|
|
46
46
|
|
|
47
47
|
Explicit configuration file to use instead of the configuration automatically detected by cosmicconfig.
|
|
48
48
|
|
|
49
|
-
###
|
|
49
|
+
### `--registry`, `-r` (config: `registry`)
|
|
50
50
|
|
|
51
51
|
registry, defaults to https://registry.npmjs.org
|
|
52
52
|
|
|
53
|
-
###
|
|
53
|
+
### `--tag`, `-t` (config: `tag`)
|
|
54
|
+
|
|
55
|
+
- for the `publish` command: dist-tag for npm publishes
|
|
56
|
+
- for the `sync` command: will use specified tag to set the version
|
|
57
|
+
|
|
58
|
+
### `--branch`, `-b` (config: `branch`)
|
|
59
|
+
|
|
60
|
+
target branch from remote (default: as configured in `git config init.defaultBranch`)
|
|
54
61
|
|
|
55
|
-
|
|
56
|
-
- for the sync command: will use specified tag to set the version
|
|
62
|
+
### `--message`, `-m`
|
|
57
63
|
|
|
58
|
-
|
|
64
|
+
- for the `publish` command: message for the checkin (default: "applying package updates")
|
|
65
|
+
- for the `change` command: change file comment for all changed packages
|
|
59
66
|
|
|
60
|
-
|
|
67
|
+
### `--type`
|
|
61
68
|
|
|
62
|
-
|
|
69
|
+
for the `change` command: change type for all changed packages
|
|
63
70
|
|
|
64
|
-
|
|
71
|
+
### `--package`
|
|
65
72
|
|
|
66
|
-
|
|
73
|
+
for the `change` command: specific package(s) to create a change file for
|
|
74
|
+
|
|
75
|
+
### `--no-push` (config: `push`)
|
|
67
76
|
|
|
68
77
|
skip pushing changes back to git remote origin
|
|
69
78
|
|
|
70
|
-
###
|
|
79
|
+
### `--no-publish` (config: `publish`)
|
|
71
80
|
|
|
72
81
|
skip publishing to the npm registry
|
|
73
82
|
|
|
74
|
-
###
|
|
83
|
+
### `--help`, `-?`, `-h`
|
|
75
84
|
|
|
76
85
|
show help message
|
|
77
86
|
|
|
78
|
-
###
|
|
87
|
+
### `--yes`, `-y`
|
|
79
88
|
|
|
80
89
|
skips the prompts for publish
|
|
81
90
|
|
|
82
91
|
## Examples
|
|
83
92
|
|
|
84
|
-
```
|
|
85
|
-
|
|
93
|
+
```sh
|
|
94
|
+
# check for change files
|
|
95
|
+
beachball check
|
|
96
|
+
|
|
97
|
+
# interactively create change files
|
|
98
|
+
beachball change
|
|
86
99
|
|
|
87
|
-
|
|
100
|
+
# non-interactively create change files
|
|
101
|
+
beachball change --type patch --message "awesome changes"
|
|
88
102
|
|
|
89
|
-
|
|
103
|
+
# publish changes
|
|
104
|
+
beachball publish -r http://localhost:4873 -t beta
|
|
90
105
|
```
|
|
91
106
|
|
|
92
107
|
## Notes
|
|
@@ -100,3 +115,7 @@ In large monorepos, the process of fetching versions for sync or before publishi
|
|
|
100
115
|
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
116
|
|
|
102
117
|
If you need to customize something beyond what's currently supported in the options, please open a feature request or talk with the maintainers.
|
|
118
|
+
|
|
119
|
+
### AI integration
|
|
120
|
+
|
|
121
|
+
Normally, Beachball uses an interactive CLI prompt for generating change files. Since this doesn't work for AI agents, we have a [change file skill](https://github.com/microsoft/beachball/blob/main/.claude/skills/beachball-change-file/SKILL.md) with manual instructions.
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import type { BeachballOptions } from '../types/BeachballOptions';
|
|
2
|
-
import type { PackageInfos, ScopedPackages } from '../types/PackageInfo';
|
|
2
|
+
import type { PackageInfos, PackageInfo, ScopedPackages } from '../types/PackageInfo';
|
|
3
|
+
/**
|
|
4
|
+
* Determines whether the package is included in the list of potentially-changed published packages,
|
|
5
|
+
* based on private flags and scopedPackages.
|
|
6
|
+
*
|
|
7
|
+
* (All the reasons except nonexistent include the package name.)
|
|
8
|
+
*/
|
|
9
|
+
export declare function isPackageIncluded(packageInfo: PackageInfo | undefined, scopedPackages: ScopedPackages): {
|
|
10
|
+
isIncluded: boolean;
|
|
11
|
+
reason: string;
|
|
12
|
+
};
|
|
3
13
|
/**
|
|
4
14
|
* Gets all the changed packages which do not already have a change file and are in scope.
|
|
5
15
|
* Exceptions:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getChangedPackages.d.ts","sourceRoot":"","sources":["../../src/changefile/getChangedPackages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"getChangedPackages.d.ts","sourceRoot":"","sources":["../../src/changefile/getChangedPackages.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA6BtF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,cAAc,EAAE,cAAc,GAC7B;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAazC;AAkFD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,GAC7B,MAAM,EAAE,CAsDV"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getChangedPackages = void 0;
|
|
6
|
+
exports.getChangedPackages = exports.isPackageIncluded = void 0;
|
|
7
7
|
const fs_1 = __importDefault(require("fs"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
9
|
const paths_1 = require("../paths");
|
|
@@ -30,6 +30,8 @@ function getMatchingPackageInfo(file, cwd, packageInfosByPath) {
|
|
|
30
30
|
/**
|
|
31
31
|
* Determines whether the package is included in the list of potentially-changed published packages,
|
|
32
32
|
* based on private flags and scopedPackages.
|
|
33
|
+
*
|
|
34
|
+
* (All the reasons except nonexistent include the package name.)
|
|
33
35
|
*/
|
|
34
36
|
function isPackageIncluded(packageInfo, scopedPackages) {
|
|
35
37
|
const reason = !packageInfo
|
|
@@ -44,6 +46,7 @@ function isPackageIncluded(packageInfo, scopedPackages) {
|
|
|
44
46
|
: ''; // not ignored
|
|
45
47
|
return { isIncluded: !reason, reason };
|
|
46
48
|
}
|
|
49
|
+
exports.isPackageIncluded = isPackageIncluded;
|
|
47
50
|
/**
|
|
48
51
|
* Gets all the changed package names, regardless of the change files.
|
|
49
52
|
* If `options.all` is set, returns all the packages in scope, regardless of whether they've changed.
|
|
@@ -125,7 +128,7 @@ function getChangedPackages(options, packageInfos, scopedPackages) {
|
|
|
125
128
|
return changedPackages;
|
|
126
129
|
}
|
|
127
130
|
// TODO: this should probably reuse the result of readChangeFiles, but they use slightly different args...
|
|
128
|
-
const
|
|
131
|
+
const committedChangeFiles = (0, workspace_tools_1.getChangesBetweenRefs)({
|
|
129
132
|
fromRef: branch,
|
|
130
133
|
options: ['--no-renames', '--diff-filter=A'],
|
|
131
134
|
// Only list files under the change folder for efficiency
|
|
@@ -133,6 +136,9 @@ function getChangedPackages(options, packageInfos, scopedPackages) {
|
|
|
133
136
|
pattern: '*.json',
|
|
134
137
|
throwOnError: false,
|
|
135
138
|
});
|
|
139
|
+
// Also consider staged change files (not yet committed) so that `check` respects them
|
|
140
|
+
const stagedChangeFiles = ((0, workspace_tools_1.getStagedChanges)({ cwd: changePath }) || []).filter(f => f.endsWith('.json'));
|
|
141
|
+
const changeFiles = [...new Set([...committedChangeFiles, ...stagedChangeFiles])];
|
|
136
142
|
const changeFilePackageSet = new Set();
|
|
137
143
|
// Loop through the change files, building up a set of packages that we can skip
|
|
138
144
|
for (const file of changeFiles) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getChangedPackages.js","sourceRoot":"","sources":["../../src/changefile/getChangedPackages.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,gDAAwB;AAExB,oCAAyC;AACzC,qDAA4F;AAG5F,oEAAiE;AACjE,iDAA8C;AAC9C,0DAAuD;AACvD,uEAAoE;AAEpE,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAE7E,SAAS,sBAAsB,CAC7B,IAAY,EACZ,GAAW,EACX,kBAAuE;IAEvE,sGAAsG;IACtG,uFAAuF;IACvF,GAAG,GAAG,cAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACrD,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,GAAG;QACD,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC;QACzC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;SACnC;KACF,QAAQ,MAAM,KAAK,GAAG,EAAE;IAEzB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"getChangedPackages.js","sourceRoot":"","sources":["../../src/changefile/getChangedPackages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptForChange.d.ts","sourceRoot":"","sources":["../../src/changefile/promptForChange.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"promptForChange.d.ts","sourceRoot":"","sources":["../../src/changefile/promptForChange.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIxE,MAAM,MAAM,oBAAoB,GAAG;IAAE,IAAI,CAAC,EAAE,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3E;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE;IAC5C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,IAAI,CACX,gBAAgB,EAChB,SAAS,GAAG,MAAM,GAAG,qBAAqB,GAAG,kBAAkB,GAAG,uBAAuB,CAC1F,CAAC;CACH,GAAG,OAAO,CAAC,cAAc,EAAE,GAAG,SAAS,CAAC,CAyDxC;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,EACjC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAqB3C;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE;IACrD,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,qBAAqB,CAAC,CAAC;CAC7E,GAAG,cAAc,GAAG,SAAS,CAoC7B"}
|
|
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports._getChangeFileInfoFromResponse = exports._promptForPackageChange = exports.promptForChange = void 0;
|
|
7
7
|
const prompts_1 = __importDefault(require("prompts"));
|
|
8
|
+
const detect_agent_1 = require("@vercel/detect-agent");
|
|
8
9
|
const isValidChangeType_1 = require("../validation/isValidChangeType");
|
|
9
10
|
const getQuestionsForPackage_1 = require("./getQuestionsForPackage");
|
|
11
|
+
const BeachballError_1 = require("../types/BeachballError");
|
|
10
12
|
/**
|
|
11
13
|
* Uses `prompts` package to prompt for change type and description.
|
|
12
14
|
* (For easier testing, this function does not handle filesystem access.)
|
|
@@ -25,6 +27,27 @@ async function promptForChange(params) {
|
|
|
25
27
|
}
|
|
26
28
|
packageQuestions[pkg] = questions;
|
|
27
29
|
}
|
|
30
|
+
// If running non-interactively and there are questions that need interactive input, exit with an error
|
|
31
|
+
const hasInteractiveQuestions = Object.values(packageQuestions).some(q => q.length > 0);
|
|
32
|
+
if (hasInteractiveQuestions && !process.stdin.isTTY) {
|
|
33
|
+
const lines = [
|
|
34
|
+
'The "change" command is running in a non-interactive context (stdin is not a TTY) but needs to prompt for input.',
|
|
35
|
+
'',
|
|
36
|
+
'To create change files non-interactively, provide --type and --message:',
|
|
37
|
+
' beachball change --type patch --message "description of changes"',
|
|
38
|
+
'',
|
|
39
|
+
'Note: The specified type and message will be applied to ALL changed packages.',
|
|
40
|
+
'If different values are needed per package, you can either:',
|
|
41
|
+
' - Edit the generated change files after creation',
|
|
42
|
+
' - Run "beachball change" multiple times with the --package argument',
|
|
43
|
+
];
|
|
44
|
+
if ((await (0, detect_agent_1.determineAgent)()).isAgent) {
|
|
45
|
+
lines.push('', 'For AI agents, you can ask the user to add the "beachball-change-files" skill from ' +
|
|
46
|
+
'https://github.com/microsoft/beachball/blob/main/.claude/skills/beachball-change-file/SKILL.md ' +
|
|
47
|
+
'for better manual instructions about creating change files.');
|
|
48
|
+
}
|
|
49
|
+
throw new BeachballError_1.BeachballError(lines.join('\n'));
|
|
50
|
+
}
|
|
28
51
|
// Now prompt for each package
|
|
29
52
|
const packageChangeInfo = [];
|
|
30
53
|
for (const pkg of changedPackages) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promptForChange.js","sourceRoot":"","sources":["../../src/changefile/promptForChange.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8B;
|
|
1
|
+
{"version":3,"file":"promptForChange.js","sourceRoot":"","sources":["../../src/changefile/promptForChange.ts"],"names":[],"mappings":"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"}
|
package/lib/cli.js
CHANGED
|
@@ -4,6 +4,8 @@ const workspace_tools_1 = require("workspace-tools");
|
|
|
4
4
|
const bump_1 = require("./commands/bump");
|
|
5
5
|
const canary_1 = require("./commands/canary");
|
|
6
6
|
const change_1 = require("./commands/change");
|
|
7
|
+
const configGet_1 = require("./commands/configGet");
|
|
8
|
+
const configList_1 = require("./commands/configList");
|
|
7
9
|
const init_1 = require("./commands/init");
|
|
8
10
|
const publish_1 = require("./commands/publish");
|
|
9
11
|
const sync_1 = require("./commands/sync");
|
|
@@ -13,6 +15,7 @@ const getOptions_1 = require("./options/getOptions");
|
|
|
13
15
|
const validate_1 = require("./validation/validate");
|
|
14
16
|
const getScopedPackages_1 = require("./monorepo/getScopedPackages");
|
|
15
17
|
const BeachballError_1 = require("./types/BeachballError");
|
|
18
|
+
const getPackageGroups_1 = require("./monorepo/getPackageGroups");
|
|
16
19
|
(async () => {
|
|
17
20
|
try {
|
|
18
21
|
// eslint-disable-next-line no-restricted-properties -- top-level call
|
|
@@ -79,6 +82,20 @@ const BeachballError_1 = require("./types/BeachballError");
|
|
|
79
82
|
await (0, change_1.change)(options, context);
|
|
80
83
|
break;
|
|
81
84
|
}
|
|
85
|
+
case 'config': {
|
|
86
|
+
const originalPackageInfos = (0, getPackageInfos_1.getPackageInfos)(parsedOptions);
|
|
87
|
+
const scopedPackages = (0, getScopedPackages_1.getScopedPackages)(options, originalPackageInfos);
|
|
88
|
+
const packageGroups = (0, getPackageGroups_1.getPackageGroups)(originalPackageInfos, options.path, options.groups);
|
|
89
|
+
const configContext = { originalPackageInfos, scopedPackages, packageGroups };
|
|
90
|
+
const subcommand = options._extraPositionalArgs?.[0];
|
|
91
|
+
if (subcommand === 'list') {
|
|
92
|
+
(0, configList_1.configList)(options, configContext);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
(0, configGet_1.configGet)(options, configContext);
|
|
96
|
+
}
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
82
99
|
default:
|
|
83
100
|
throw new Error('Invalid command: ' + options.command);
|
|
84
101
|
}
|
package/lib/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAAA,qDAA8C;AAC9C,0CAAuC;AACvC,8CAA2C;AAC3C,8CAA2C;AAC3C,0CAAuC;AACvC,gDAA6C;AAC7C,0CAAuC;AAEvC,iCAA+C;AAC/C,gEAA6D;AAC7D,qDAAwD;AACxD,oDAAiD;AACjD,oEAAiE;AACjE,2DAAwD;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BeachballOptions } from '../types/BeachballOptions';
|
|
2
|
+
import type { BasicCommandContext } from '../types/CommandContext';
|
|
3
|
+
/**
|
|
4
|
+
* Handles the `beachball config get <name>` command.
|
|
5
|
+
*
|
|
6
|
+
* The output of this command is intended to be read by humans or AI, not parsed directly.
|
|
7
|
+
* It includes the top-level setting and any package and/or group overrides.
|
|
8
|
+
* (If parseable output is needed, an option could be added in the future.)
|
|
9
|
+
*/
|
|
10
|
+
export declare function configGet(options: BeachballOptions, context: BasicCommandContext): void;
|
|
11
|
+
//# sourceMappingURL=configGet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configGet.d.ts","sourceRoot":"","sources":["../../src/commands/configGet.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAoD,MAAM,2BAA2B,CAAC;AACpH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAqEnE;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CA4CvF"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.configGet = void 0;
|
|
4
|
+
const getChangedPackages_1 = require("../changefile/getChangedPackages");
|
|
5
|
+
const getDisallowedChangeTypes_1 = require("../changefile/getDisallowedChangeTypes");
|
|
6
|
+
const formatValue_1 = require("../logging/formatValue");
|
|
7
|
+
const BeachballError_1 = require("../types/BeachballError");
|
|
8
|
+
/** Keys that can be overridden per-package (exhaustive via Record) */
|
|
9
|
+
const packageOptionKeys = {
|
|
10
|
+
tag: true,
|
|
11
|
+
defaultNpmTag: true,
|
|
12
|
+
disallowedChangeTypes: true,
|
|
13
|
+
gitTags: true,
|
|
14
|
+
shouldPublish: true,
|
|
15
|
+
};
|
|
16
|
+
/** Keys from RepoOptions (the full set of valid config file settings, exhaustive via Record) */
|
|
17
|
+
const repoOptionKeys = {
|
|
18
|
+
access: true,
|
|
19
|
+
authType: true,
|
|
20
|
+
branch: true,
|
|
21
|
+
bump: true,
|
|
22
|
+
bumpDeps: true,
|
|
23
|
+
canaryName: true,
|
|
24
|
+
changeFilePrompt: true,
|
|
25
|
+
changehint: true,
|
|
26
|
+
changeDir: true,
|
|
27
|
+
changelog: true,
|
|
28
|
+
commit: true,
|
|
29
|
+
concurrency: true,
|
|
30
|
+
npmReadConcurrency: true,
|
|
31
|
+
defaultNpmTag: true,
|
|
32
|
+
disallowedChangeTypes: true,
|
|
33
|
+
disallowDeletedChangeFiles: true,
|
|
34
|
+
fetch: true,
|
|
35
|
+
fromRef: true,
|
|
36
|
+
generateChangelog: true,
|
|
37
|
+
groups: true,
|
|
38
|
+
gitTags: true,
|
|
39
|
+
hooks: true,
|
|
40
|
+
ignorePatterns: true,
|
|
41
|
+
keepChangeFiles: true,
|
|
42
|
+
message: true,
|
|
43
|
+
path: true,
|
|
44
|
+
prereleasePrefix: true,
|
|
45
|
+
identifierBase: true,
|
|
46
|
+
publish: true,
|
|
47
|
+
packToPath: true,
|
|
48
|
+
packStyle: true,
|
|
49
|
+
push: true,
|
|
50
|
+
registry: true,
|
|
51
|
+
retries: true,
|
|
52
|
+
scope: true,
|
|
53
|
+
tag: true,
|
|
54
|
+
timeout: true,
|
|
55
|
+
gitTimeout: true,
|
|
56
|
+
transform: true,
|
|
57
|
+
groupChanges: true,
|
|
58
|
+
depth: true,
|
|
59
|
+
new: true,
|
|
60
|
+
};
|
|
61
|
+
const groupOptionsKeys = {
|
|
62
|
+
disallowedChangeTypes: true,
|
|
63
|
+
};
|
|
64
|
+
/** All valid config names that can be queried */
|
|
65
|
+
const validConfigNames = new Set([
|
|
66
|
+
...Object.keys(repoOptionKeys),
|
|
67
|
+
...Object.keys(packageOptionKeys),
|
|
68
|
+
...Object.keys(groupOptionsKeys),
|
|
69
|
+
]);
|
|
70
|
+
/**
|
|
71
|
+
* Handles the `beachball config get <name>` command.
|
|
72
|
+
*
|
|
73
|
+
* The output of this command is intended to be read by humans or AI, not parsed directly.
|
|
74
|
+
* It includes the top-level setting and any package and/or group overrides.
|
|
75
|
+
* (If parseable output is needed, an option could be added in the future.)
|
|
76
|
+
*/
|
|
77
|
+
function configGet(options, context) {
|
|
78
|
+
const { originalPackageInfos: packageInfos, scopedPackages } = context;
|
|
79
|
+
const extraArgs = options._extraPositionalArgs || [];
|
|
80
|
+
if (extraArgs[0] !== 'get' || extraArgs.length !== 2) {
|
|
81
|
+
throw new BeachballError_1.BeachballError('Usage: beachball config get <setting>\n\nGets the value of the specified config setting.');
|
|
82
|
+
}
|
|
83
|
+
const name = extraArgs[1];
|
|
84
|
+
if (!validConfigNames.has(name)) {
|
|
85
|
+
const suggestion = findSimilar(name, [...validConfigNames]);
|
|
86
|
+
throw new BeachballError_1.BeachballError(suggestion
|
|
87
|
+
? `Unknown config setting: "${name}" - did you mean "${suggestion}"?`
|
|
88
|
+
: `Unknown config setting: "${name}"`);
|
|
89
|
+
}
|
|
90
|
+
// Validate any provided package names
|
|
91
|
+
const packageNames = Array.isArray(options.package) ? options.package : options.package ? [options.package] : [];
|
|
92
|
+
let hasError = false;
|
|
93
|
+
for (const pkgName of packageNames) {
|
|
94
|
+
if (!packageInfos[pkgName]) {
|
|
95
|
+
console.error(`Package "${pkgName}" not found in repo`);
|
|
96
|
+
hasError = true;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
const { isIncluded, reason } = (0, getChangedPackages_1.isPackageIncluded)(packageInfos[pkgName], scopedPackages);
|
|
100
|
+
if (!isIncluded) {
|
|
101
|
+
console.error(`Invalid package: ${reason}`);
|
|
102
|
+
hasError = true;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (hasError) {
|
|
107
|
+
throw new BeachballError_1.BeachballError('One or more packages not included', { alreadyLogged: true });
|
|
108
|
+
}
|
|
109
|
+
if (packageNames?.length) {
|
|
110
|
+
printForPackages(name, packageNames, options, context);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
printDefault(name, options, context);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.configGet = configGet;
|
|
117
|
+
/** Print the effective value of a setting for specific packages (--package) */
|
|
118
|
+
function printForPackages(name, packageNames, options, context) {
|
|
119
|
+
const { originalPackageInfos: packageInfos, packageGroups } = context;
|
|
120
|
+
const mainValue = options[name];
|
|
121
|
+
const results = {};
|
|
122
|
+
for (const pkgName of packageNames) {
|
|
123
|
+
if (groupOptionsKeys[name]) {
|
|
124
|
+
if (name === 'disallowedChangeTypes') {
|
|
125
|
+
results[pkgName] = (0, getDisallowedChangeTypes_1.getDisallowedChangeTypes)(pkgName, packageInfos, packageGroups, options);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
// guard against future group options
|
|
129
|
+
throw new BeachballError_1.BeachballError(`Not implemented: need logic to merge group option "${name}"`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
const pkgValue = packageOptionKeys[name]
|
|
134
|
+
? packageInfos[pkgName].packageOptions?.[name]
|
|
135
|
+
: undefined;
|
|
136
|
+
results[pkgName] = pkgValue !== undefined ? pkgValue : mainValue;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
console.log((0, formatValue_1.formatValue)(results));
|
|
140
|
+
}
|
|
141
|
+
/** Print the repo-level value of a setting, plus any package or group overrides */
|
|
142
|
+
function printDefault(name, options, context) {
|
|
143
|
+
const { originalPackageInfos: packageInfos, scopedPackages, packageGroups } = context;
|
|
144
|
+
const mainValue = options[name];
|
|
145
|
+
// Collect package overrides
|
|
146
|
+
const pkgOverrides = {};
|
|
147
|
+
if (packageOptionKeys[name]) {
|
|
148
|
+
const pkgKey = name;
|
|
149
|
+
for (const pkgInfo of Object.values(packageInfos)) {
|
|
150
|
+
const pkgValue = pkgInfo.packageOptions?.[pkgKey];
|
|
151
|
+
// Verify the package is included, but it's not an error here since it wasn't explicitly requested
|
|
152
|
+
if ((0, getChangedPackages_1.isPackageIncluded)(pkgInfo, scopedPackages).isIncluded && pkgValue !== undefined) {
|
|
153
|
+
pkgOverrides[pkgInfo.name] = pkgValue;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// Collect group overrides
|
|
158
|
+
const groupOverrides = {};
|
|
159
|
+
if (groupOptionsKeys[name] && options.groups?.length) {
|
|
160
|
+
const groupKey = name;
|
|
161
|
+
for (const group of options.groups) {
|
|
162
|
+
if (group[groupKey] !== undefined) {
|
|
163
|
+
groupOverrides[group.name] = {
|
|
164
|
+
[groupKey]: group[groupKey],
|
|
165
|
+
packageNames: packageGroups[group.name]?.packageNames,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const hasGroupOverrides = Object.keys(groupOverrides).length > 0;
|
|
171
|
+
const hasPkgOverrides = Object.keys(pkgOverrides).length > 0;
|
|
172
|
+
const prefix = hasPkgOverrides || hasGroupOverrides ? 'Main value: ' : '';
|
|
173
|
+
console.log(prefix + (0, formatValue_1.formatValue)(mainValue));
|
|
174
|
+
if (hasPkgOverrides) {
|
|
175
|
+
console.log('\nPackage overrides:');
|
|
176
|
+
console.log((0, formatValue_1.formatValue)(pkgOverrides, { level: 1 }));
|
|
177
|
+
}
|
|
178
|
+
if (hasGroupOverrides) {
|
|
179
|
+
console.log('\nGroup overrides:');
|
|
180
|
+
console.log((0, formatValue_1.formatValue)(groupOverrides, { level: 1 }));
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/** Find a similar string (for typo suggestions) using simple edit distance check */
|
|
184
|
+
function findSimilar(input, candidates) {
|
|
185
|
+
const lower = input.toLowerCase();
|
|
186
|
+
// First try prefix match
|
|
187
|
+
const prefixMatch = candidates.find(c => c.toLowerCase().startsWith(lower));
|
|
188
|
+
if (prefixMatch)
|
|
189
|
+
return prefixMatch;
|
|
190
|
+
// Then try contains
|
|
191
|
+
const containsMatch = candidates.find(c => c.toLowerCase().includes(lower));
|
|
192
|
+
if (containsMatch)
|
|
193
|
+
return containsMatch;
|
|
194
|
+
return undefined;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=configGet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configGet.js","sourceRoot":"","sources":["../../src/commands/configGet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BeachballOptions } from '../types/BeachballOptions';
|
|
2
|
+
import type { BasicCommandContext } from '../types/CommandContext';
|
|
3
|
+
/**
|
|
4
|
+
* Handles the `beachball config list` command.
|
|
5
|
+
* Prints all main settings, then any group overrides, then any per-package overrides.
|
|
6
|
+
*/
|
|
7
|
+
export declare function configList(options: BeachballOptions, context: BasicCommandContext): void;
|
|
8
|
+
//# sourceMappingURL=configList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configList.d.ts","sourceRoot":"","sources":["../../src/commands/configList.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CA0BxF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.configList = void 0;
|
|
4
|
+
const getChangedPackages_1 = require("../changefile/getChangedPackages");
|
|
5
|
+
const formatValue_1 = require("../logging/formatValue");
|
|
6
|
+
/**
|
|
7
|
+
* Handles the `beachball config list` command.
|
|
8
|
+
* Prints all main settings, then any group overrides, then any per-package overrides.
|
|
9
|
+
*/
|
|
10
|
+
function configList(options, context) {
|
|
11
|
+
const { originalPackageInfos: packageInfos, scopedPackages, packageGroups } = context;
|
|
12
|
+
const optionsRecord = options;
|
|
13
|
+
// Print main settings (from repo options and defaults; CLI overrides aren't relevant
|
|
14
|
+
// but would currently be included automatically since we don't validate args by command)
|
|
15
|
+
const sortedOptions = Object.fromEntries(Object.entries(optionsRecord).sort(([a], [b]) => a.localeCompare(b)));
|
|
16
|
+
console.log('Main options (including defaults):');
|
|
17
|
+
console.log((0, formatValue_1.formatValue)(sortedOptions, { level: 1 }));
|
|
18
|
+
// Print group overrides, omitting any that just have include/exclude without settings
|
|
19
|
+
// (need to filter by other keys too if added later)
|
|
20
|
+
const groupsWithOverrides = Object.entries(packageGroups).filter(([_, group]) => 'disallowedChangeTypes' in group);
|
|
21
|
+
if (groupsWithOverrides.length) {
|
|
22
|
+
console.log('\nGroup overrides:');
|
|
23
|
+
console.log((0, formatValue_1.formatValue)(Object.fromEntries(groupsWithOverrides), { level: 1 }));
|
|
24
|
+
}
|
|
25
|
+
// Print per-package overrides
|
|
26
|
+
const packagesWithOverrides = Object.values(packageInfos)
|
|
27
|
+
.filter(pkg => Object.keys(pkg.packageOptions || {}).length && (0, getChangedPackages_1.isPackageIncluded)(pkg, scopedPackages))
|
|
28
|
+
.map(pkg => [pkg.name, pkg.packageOptions]);
|
|
29
|
+
if (packagesWithOverrides.length) {
|
|
30
|
+
console.log('\nPackage overrides:');
|
|
31
|
+
console.log((0, formatValue_1.formatValue)(Object.fromEntries(packagesWithOverrides), { level: 1 }));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.configList = configList;
|
|
35
|
+
//# sourceMappingURL=configList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configList.js","sourceRoot":"","sources":["../../src/commands/configList.ts"],"names":[],"mappings":";;;AAAA,yEAAqE;AACrE,wDAAqD;AAIrD;;;GAGG;AACH,SAAgB,UAAU,CAAC,OAAyB,EAAE,OAA4B;IAChF,MAAM,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACtF,MAAM,aAAa,GAAG,OAA6C,CAAC;IAEpE,qFAAqF;IACrF,yFAAyF;IACzF,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,IAAA,yBAAW,EAAC,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtD,sFAAsF;IACtF,oDAAoD;IACpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,uBAAuB,IAAI,KAAK,CAAC,CAAC;IACnH,IAAI,mBAAmB,CAAC,MAAM,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACjF;IAED,8BAA8B;IAC9B,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;SACtD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,IAAA,sCAAiB,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;SACrG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,CAAU,CAAC,CAAC;IACvD,IAAI,qBAAqB,CAAC,MAAM,EAAE;QAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KACnF;AACH,CAAC;AA1BD,gCA0BC"}
|
package/lib/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,wBAAgB,QAAQ,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,wBAAgB,QAAQ,IAAI,IAAI,CA0F/B"}
|