@@ -11,15 +11,23 @@ export interface CliOptions
11
11
RepoOptions ,
12
12
| 'access'
13
13
| 'branch'
14
+ | 'bump'
14
15
| 'bumpDeps'
16
+ | 'canaryName'
15
17
| 'changehint'
16
18
| 'changeDir'
19
+ | 'commit'
17
20
| 'concurrency'
18
21
| 'depth'
19
22
| 'disallowedChangeTypes'
23
+ | 'disallowDeletedChangeFiles'
20
24
| 'fetch'
25
+ | 'fromRef'
21
26
| 'gitTags'
27
+ | 'gitTimeout'
28
+ | 'keepChangeFiles'
22
29
| 'message'
30
+ | 'new'
23
31
| 'path'
24
32
| 'prereleasePrefix'
25
33
| 'publish'
@@ -28,46 +36,27 @@ export interface CliOptions
28
36
| 'retries'
29
37
| 'scope'
30
38
| 'tag'
39
+ | 'timeout'
31
40
> {
32
41
all : boolean ;
33
42
authType : AuthType ;
34
- bump : boolean ;
35
- canaryName ?: string | undefined ;
36
43
command : string ;
37
- commit ?: boolean ;
38
44
configPath ?: string ;
39
45
dependentChangeType ?: ChangeType ;
40
- disallowDeletedChangeFiles ?: boolean ;
41
46
/**
42
47
* For sync: use the version from the registry even if it's older than local.
43
48
*/
44
49
forceVersions ?: boolean ;
45
- /**
46
- * Consider change files since this git ref (branch name, commit SHA, etc).
47
- */
48
- fromRef ?: string ;
49
50
help ?: boolean ;
50
- keepChangeFiles ?: boolean ;
51
- /**
52
- * For publish: If true, publish all newly added packages in addition to modified packages.
53
- * This is rarely needed since new packages *with change files* will always be published
54
- * regardless of this option.
55
- *
56
- * (This has limited use unless you pushed new packages directly to the main branch, or
57
- * your PR build doesn't run `beachball check`. Otherwise, `beachball check` will require
58
- * change files to be created for the new packages.)
59
- */
60
- new : boolean ;
61
51
package ?: string | string [ ] ;
62
- /** Timeout for npm operations (other than install, which is expected to take longer) */
63
- timeout ?: number ;
64
- /** Timeout for `git push` operations */
65
- gitTimeout ?: number ;
66
52
token ?: string ;
67
53
type ?: ChangeType | null ;
68
54
verbose ?: boolean ;
69
55
version ?: boolean ;
70
56
yes : boolean ;
57
+
58
+ // ONLY add new options here if they only make sense on the command line!
59
+ // Most options should be defined in RepoOptions and added to the Pick<...> above.
71
60
}
72
61
73
62
export interface RepoOptions {
@@ -85,11 +74,17 @@ export interface RepoOptions {
85
74
* @default 'origin/master'
86
75
*/
87
76
branch : string ;
77
+ /**
78
+ * Whether to bump versions during publish.
79
+ * @default true
80
+ */
81
+ bump : boolean ;
88
82
/**
89
83
* Bump dependent packages during publish: e.g. if B is bumped, and A depends on B, also bump A.
90
84
* @default true
91
85
*/
92
86
bumpDeps : boolean ;
87
+ canaryName ?: string ;
93
88
/** Options for customizing change file prompt. */
94
89
changeFilePrompt ?: ChangeFilePromptOptions ;
95
90
/**
@@ -104,6 +99,12 @@ export interface RepoOptions {
104
99
changeDir : string ;
105
100
/** Options for customizing changelog rendering */
106
101
changelog ?: ChangelogOptions ;
102
+ /**
103
+ * If true, commit change files automatically after `beachball change`.
104
+ * If false, only stage them.
105
+ * @default true
106
+ */
107
+ commit ?: boolean ;
107
108
/**
108
109
* Maximum concurrency.
109
110
* As of writing, concurrency only applies for calling hooks and publishing to npm.
@@ -117,11 +118,16 @@ export interface RepoOptions {
117
118
defaultNpmTag : string ;
118
119
/** What change types are disallowed */
119
120
disallowedChangeTypes : ChangeType [ ] | null ;
121
+ disallowDeletedChangeFiles ?: boolean ;
120
122
/**
121
123
* Fetch from remote before doing diff comparisons
122
124
* @default true
123
125
*/
124
126
fetch : boolean ;
127
+ /**
128
+ * Consider change files since this git ref (branch name, commit SHA, etc).
129
+ */
130
+ fromRef ?: string ;
125
131
/**
126
132
* Whether to generate changelog files.
127
133
* - `true` (default) to generate both CHANGELOG.md and CHANGELOG.json
@@ -144,6 +150,7 @@ export interface RepoOptions {
144
150
* Patterns are relative to the repo root and must use forward slashes.
145
151
*/
146
152
ignorePatterns ?: string [ ] ;
153
+ keepChangeFiles ?: boolean ;
147
154
/** For the `change` command, change message. For the `publish` command, commit message. */
148
155
message : string ;
149
156
/**
@@ -193,12 +200,26 @@ export interface RepoOptions {
193
200
* @default 'latest'
194
201
*/
195
202
tag : string ;
203
+ /** Timeout for npm operations (other than install, which is expected to take longer) */
204
+ timeout ?: number ;
205
+ /** Timeout for `git push` operations */
206
+ gitTimeout ?: number ;
196
207
/** Transformations for change files */
197
208
transform ?: TransformOptions ;
198
209
/** Put multiple changes in a single changefile */
199
210
groupChanges ?: boolean ;
200
211
/** For shallow clones only: Depth of git history to consider when doing fetch */
201
212
depth ?: number ;
213
+ /**
214
+ * For publish: If true, publish all newly added packages in addition to modified packages.
215
+ * This is rarely needed since new packages *with change files* will always be published
216
+ * regardless of this option.
217
+ *
218
+ * (This has limited use unless you pushed new packages directly to the main branch, or
219
+ * your PR build doesn't run `beachball check`. Otherwise, `beachball check` will require
220
+ * change files to be created for the new packages.)
221
+ */
222
+ new : boolean ;
202
223
}
203
224
204
225
export interface PackageOptions {
0 commit comments