1
1
import { version } from './version.ts' ;
2
2
3
- const p = version . split ( '.' ) . map ( s => parseInt ( s ) )
3
+ const [ major , minor , patch ] = version . split ( '.' ) . map ( s => parseInt ( s ) )
4
4
const versions = [
5
- `${ p [ 0 ] } .${ p [ 1 ] } .${ p [ 2 ] + 1 } ` ,
6
- `${ p [ 0 ] } .${ p [ 1 ] + 1 } .0` ,
7
- `${ p [ 0 ] + 1 } .0.0` ,
5
+ `${ major } .${ minor } .${ patch + 1 } ` ,
6
+ `${ major } .${ minor + 1 } .0` ,
7
+ `${ major + 1 } .0.0` ,
8
8
]
9
9
10
- async function ask ( question : string = '' , stdin = Deno . stdin , stdout = Deno . stdout ) {
10
+ async function ask ( question : string = ': ' , stdin = Deno . stdin , stdout = Deno . stdout ) {
11
11
const buf = new Uint8Array ( 1024 )
12
- await stdout . write ( new TextEncoder ( ) . encode ( question ) )
12
+ await stdout . write ( new TextEncoder ( ) . encode ( question + ' ' ) )
13
13
const n = < number > await stdin . read ( buf )
14
14
const answer = new TextDecoder ( ) . decode ( buf . subarray ( 0 , n ) )
15
15
return answer . trim ( )
@@ -27,11 +27,11 @@ async function run(...cmd: string[]) {
27
27
}
28
28
29
29
async function main ( ) {
30
- const answer = await ask ( [ ...versions . map ( ( v , i ) => `${ i + 1 } . v${ v } ` ) , 'upgrade to: ' ] . join ( '\n' ) )
31
- const v = parseInt ( answer )
32
- if ( ! isNaN ( v ) && v > 0 && v <= 3 ) {
33
- const up = versions [ v - 1 ]
34
- if ( await ask ( 'are you sure? (y/n) ' ) === 'y' ) {
30
+ const answer = await ask ( [ ...versions . map ( ( v , i ) => `${ i + 1 } . v${ v } ` ) , 'upgrade to:' ] . join ( '\n' ) )
31
+ const n = parseInt ( answer )
32
+ if ( ! isNaN ( n ) && n > 0 && n <= versions . length ) {
33
+ const up = versions [ n - 1 ]
34
+ if ( await ask ( 'are you sure? (y/n)' ) === 'y' ) {
35
35
await Deno . writeTextFile ( './version.ts' , `export const version = '${ up } '\n` )
36
36
await run ( 'git' , 'add' , '.' , '--all' )
37
37
await run ( 'git' , 'commit' , '-m' , `v${ up } ` )
0 commit comments