@@ -15,36 +15,42 @@ const rootPackageJsonPath = `${rootPath}/package.json`;
1515const rootPackageJson = JSON . parse ( fs . readFileSync ( rootPackageJsonPath , 'utf-8' ) ) ;
1616
1717( async ( ) => {
18- const newVersion = process . argv [ 2 ] || ( await promptVersion ( ) ) ;
19- updatePackages ( newVersion ) ;
18+ const rawVersion = await getVersion ( ) ;
19+ const parsedVersion = await parseVersion ( rawVersion ) ;
20+ updatePackages ( parsedVersion ) ;
2021} ) ( ) . catch ( console . error ) ;
2122
22- async function promptVersion ( ) {
23+ async function getVersion ( ) {
24+ if ( process . argv [ 2 ] ) {
25+ return process . argv [ 2 ] ;
26+ }
2327 const rl = readline . createInterface ( {
2428 input : process . stdin ,
2529 output : process . stdout ,
2630 } ) ;
31+ const answer = await new Promise ( ( resolve ) =>
32+ rl . question ( 'Enter a new LWC version: ' , resolve )
33+ ) ;
34+ rl . close ( ) ;
35+ return answer ;
36+ }
2737
38+ async function parseVersion ( rawVersion ) {
2839 try {
29- const answer = await new Promise ( ( resolve ) =>
30- rl . question ( 'Enter a new LWC version: ' , resolve )
31- ) ;
32- const exact = semver . valid ( answer ) ;
40+ const exact = semver . valid ( rawVersion ) ;
3341 if ( exact ) {
3442 // answer is a semver version
3543 return exact ;
3644 }
37- const incremented = semver . inc ( rootPackageJson . version , answer ) ;
45+ const incremented = semver . inc ( rootPackageJson . version , rawVersion ) ;
3846 if ( incremented ) {
3947 // answer is a semver release type (major/minor/etc.)
4048 return incremented ;
4149 }
42- throw new Error ( `Invalid release version: ${ answer } ` ) ;
50+ throw new Error ( `Invalid release version: ${ rawVersion } ` ) ;
4351 } catch ( error ) {
4452 console . error ( error ) ;
4553 process . exit ( 1 ) ;
46- } finally {
47- rl . close ( ) ;
4854 }
4955}
5056
0 commit comments