eip-s3-deploy 2.2.2 → 2.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deploy.js +26 -11
- package/package.json +1 -1
package/deploy.js
CHANGED
|
@@ -9,8 +9,9 @@ const handlebars = require ( 'handlebars' );
|
|
|
9
9
|
const mime = require ( 'mime' );
|
|
10
10
|
const progress = require ( 'cli-progress' );
|
|
11
11
|
|
|
12
|
-
const COMMAND_OPTIONS = [ '-f', '--force', '-ff', '--folderFilter', '-e', '--env', '-v', '--verbose', '-log' ];
|
|
12
|
+
const COMMAND_OPTIONS = [ '-f', '--force', '-ff', '--folderFilter', '-e', '--env', '-v', '--verbose', '-log', '-unattended' ];
|
|
13
13
|
const logOutputRequested = process.argv.includes ( '-log' ) || process.argv.includes ( '--log' );
|
|
14
|
+
const unattendedMode = process.argv.includes ( '-unattended' ) || process.argv.includes ( '--unattended' );
|
|
14
15
|
const forceRedeploy = process.argv.includes ( '-f' ) || process.argv.includes ( '--force' );
|
|
15
16
|
const verboseOutput = process.argv.includes ( '-v' ) || process.argv.includes ( '--verbose' );
|
|
16
17
|
|
|
@@ -60,8 +61,15 @@ const calculateMD5 = async ( filePath ) => {
|
|
|
60
61
|
};
|
|
61
62
|
|
|
62
63
|
const readline = require ( 'readline' );
|
|
64
|
+
const assumeYes = process.argv.includes ( '--yes' ) ||
|
|
65
|
+
process.argv.includes ( '--no-confirm' ) ||
|
|
66
|
+
process.env.S3_DEPLOY_ASSUME_YES === '1';
|
|
63
67
|
|
|
64
68
|
const getUserConfirmation = async ( env, destinations ) => {
|
|
69
|
+
if ( assumeYes ) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
|
|
65
73
|
const projectName = await getProjectName (); // returns a promise now ✅
|
|
66
74
|
|
|
67
75
|
const rl = readline.createInterface ( {
|
|
@@ -204,19 +212,24 @@ const deploy = async () => {
|
|
|
204
212
|
process.stdout.write ( '-------------------\n' );
|
|
205
213
|
}
|
|
206
214
|
|
|
215
|
+
if ( !unattendedMode ) {
|
|
207
216
|
// ------------------------------------------------------------------
|
|
208
217
|
// Guard-rail: require explicit user confirmation
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
218
|
+
const okToProceed = await getUserConfirmation (
|
|
219
|
+
environment,
|
|
220
|
+
config.bucket.map ( ( b, i ) => `${b}/${config.folder[ i ] || ''}` )
|
|
221
|
+
);
|
|
213
222
|
|
|
214
|
-
|
|
215
|
-
|
|
223
|
+
if ( !okToProceed ) {
|
|
224
|
+
process.stdout.write ( '\x1b[38;5;196mDeployment cancelled by user.\x1b[0m\n' );
|
|
216
225
|
|
|
217
|
-
|
|
218
|
-
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
219
228
|
// ------------------------------------------------------------------
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
process.stdout.write ( '\x1b[38;5;214mUnattended mode enabled, proceeding with deployment...\x1b[0m\n' );
|
|
232
|
+
}
|
|
220
233
|
|
|
221
234
|
process.stdout.write ( '\n' );
|
|
222
235
|
const progressBar = new progress.SingleBar ( {
|
|
@@ -328,13 +341,15 @@ const deploy = async () => {
|
|
|
328
341
|
const showHelp = () => {
|
|
329
342
|
console.log ( 'S3 Deploy Script' );
|
|
330
343
|
console.log ( 'Usage:' );
|
|
331
|
-
console.log ( ' s3-deploy <environment_name> [-f|--force] [-ff|--folderFilter <folder_filter>] [-e|--env <environment_name>] [-log]' );
|
|
344
|
+
console.log ( ' s3-deploy <environment_name> [-f|--force] [-ff|--folderFilter <folder_filter>] [-e|--env <environment_name>] [-log] [--yes|--no-confirm]' );
|
|
332
345
|
console.log ( 'Options:' );
|
|
333
346
|
console.log ( ' -f, --force Force redeployment of files' );
|
|
334
347
|
console.log ( ' -ff, --folderFilter Specify a single folder to deploy' );
|
|
335
348
|
console.log ( ' -e, --env Specify the environment for deployment' );
|
|
336
349
|
console.log ( ' -v, --verbose Print more output' );
|
|
337
350
|
console.log ( ' -log List every file that will be uploaded before confirmation' );
|
|
351
|
+
console.log ( ' --yes, --no-confirm Skip the interactive confirmation prompt' );
|
|
352
|
+
console.log ( ' S3_DEPLOY_ASSUME_YES=1 Skip the interactive confirmation prompt (env var)' );
|
|
338
353
|
console.log ( 'Examples:' );
|
|
339
354
|
console.log ( ' s3-deploy test' );
|
|
340
355
|
console.log ( ' s3-deploy production --force' );
|
|
@@ -347,4 +362,4 @@ const showHelp = () => {
|
|
|
347
362
|
deploy ().catch ( ( error ) => {
|
|
348
363
|
console.error ( `ERROR: ${error}` );
|
|
349
364
|
console.log ( error );
|
|
350
|
-
} );
|
|
365
|
+
} );
|