@@ -18,6 +18,7 @@ import {
18
18
gitCommit ,
19
19
} from '../common' ;
20
20
import { getLanguageFolder } from '../config' ;
21
+ import type { Language } from '../types' ;
21
22
22
23
import {
23
24
RELEASED_TAG ,
@@ -36,15 +37,17 @@ import type {
36
37
37
38
dotenv . config ( { path : ROOT_ENV_PATH } ) ;
38
39
39
- const BEFORE_CLIENT_GENERATION : {
40
- [ lang : string ] : BeforeClientGenerationCommand ;
41
- } = {
40
+ const BEFORE_CLIENT_GENERATION : Partial < {
41
+ [ lang in Language ] : BeforeClientGenerationCommand ;
42
+ } > = {
42
43
javascript : async ( { releaseType, dir } ) => {
43
44
await run ( `yarn release:bump ${ releaseType } ` , { cwd : dir } ) ;
44
45
} ,
45
46
} ;
46
47
47
- const BEFORE_CLIENT_COMMIT : { [ lang : string ] : BeforeClientCommitCommand } = {
48
+ const BEFORE_CLIENT_COMMIT : Partial < {
49
+ [ lang in Language ] : BeforeClientCommitCommand ;
50
+ } > = {
48
51
javascript : async ( { dir } ) => {
49
52
await run ( `yarn` , { cwd : dir } ) ; // generate `yarn.lock` file
50
53
await run ( `git add yarn.lock` , { cwd : dir } ) ;
@@ -131,7 +134,7 @@ async function updateChangelog({
131
134
current,
132
135
next,
133
136
} : {
134
- lang : string ;
137
+ lang : Language ;
135
138
issueBody : string ;
136
139
current : string ;
137
140
next : string ;
@@ -178,10 +181,10 @@ async function processRelease(): Promise<void> {
178
181
179
182
await updateOpenApiTools ( versionsToRelease ) ;
180
183
181
- const langsToRelease = Object . keys ( versionsToRelease ) ;
184
+ const langsToRelease = Object . keys ( versionsToRelease ) as Language [ ] ;
182
185
183
186
for ( const lang of langsToRelease ) {
184
- const { current, releaseType } = versionsToRelease [ lang ] ;
187
+ const { current, releaseType } = versionsToRelease [ lang ] ! ;
185
188
/*
186
189
About bumping versions of JS clients:
187
190
@@ -227,7 +230,7 @@ async function processRelease(): Promise<void> {
227
230
await configureGitHubAuthor ( tempGitDir ) ;
228
231
await run ( `git add .` , { cwd : tempGitDir } ) ;
229
232
230
- const { current, releaseType } = versionsToRelease [ lang ] ;
233
+ const { current, releaseType } = versionsToRelease [ lang ] ! ;
231
234
const next = semver . inc ( current , releaseType ) ;
232
235
233
236
await BEFORE_CLIENT_COMMIT [ lang ] ?.( {
0 commit comments