@@ -8,6 +8,7 @@ import { depVersions } from './utils/dep-versions';
88import { getCommitInfo } from './utils/git' ;
99import type { Package , Platform , Version } from 'types' ;
1010import { satisfies } from 'compare-versions' ;
11+ import chalk from 'chalk' ;
1112
1213interface CommandOptions {
1314 name ?: string ;
@@ -21,6 +22,7 @@ interface CommandOptions {
2122 maxPackageVersion ?: string ;
2223 packageVersionRange ?: string ;
2324 rollout ?: string ;
25+ dryRun ?: boolean ;
2426}
2527
2628async function showVersion ( appId : string , offset : number ) {
@@ -107,22 +109,29 @@ export const bindVersionToPackages = async ({
107109 versionId,
108110 pkgs,
109111 rollout,
112+ dryRun,
110113} : {
111114 appId : string ;
112115 versionId : string ;
113116 pkgs : Package [ ] ;
114117 rollout ?: number ;
118+ dryRun ?: boolean ;
115119} ) => {
120+ if ( dryRun ) {
121+ console . log ( chalk . yellow ( t ( 'dryRun' ) ) ) ;
122+ }
116123 if ( rollout !== undefined ) {
117124 const rolloutConfig : Record < string , number > = { } ;
118125 for ( const pkg of pkgs ) {
119126 rolloutConfig [ pkg . name ] = rollout ;
120127 }
121- await put ( `/app/${ appId } /version/${ versionId } ` , {
122- config : {
123- rollout : rolloutConfig ,
124- } ,
125- } ) ;
128+ if ( ! dryRun ) {
129+ await put ( `/app/${ appId } /version/${ versionId } ` , {
130+ config : {
131+ rollout : rolloutConfig ,
132+ } ,
133+ } ) ;
134+ }
126135 console . log (
127136 `${ t ( 'rolloutConfigSet' , {
128137 versions : pkgs . map ( ( pkg : Package ) => pkg . name ) . join ( ', ' ) ,
@@ -131,9 +140,11 @@ export const bindVersionToPackages = async ({
131140 ) ;
132141 }
133142 for ( const pkg of pkgs ) {
134- await put ( `/app/${ appId } /package/${ pkg . id } ` , {
135- versionId,
136- } ) ;
143+ if ( ! dryRun ) {
144+ await put ( `/app/${ appId } /package/${ pkg . id } ` , {
145+ versionId,
146+ } ) ;
147+ }
137148 console . log (
138149 `${ t ( 'versionBind' , {
139150 version : versionId ,
@@ -294,6 +305,7 @@ export const commands = {
294305 versionId,
295306 pkgs : pkgsToBind ,
296307 rollout,
308+ dryRun : options . dryRun ,
297309 } ) ;
298310 console . log ( t ( 'operationSuccess' ) ) ;
299311 } ,
0 commit comments