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.
Files changed (2) hide show
  1. package/deploy.js +26 -11
  2. 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
- const okToProceed = await getUserConfirmation (
210
- environment,
211
- config.bucket.map ( ( b, i ) => `${b}/${config.folder[ i ] || ''}` )
212
- );
218
+ const okToProceed = await getUserConfirmation (
219
+ environment,
220
+ config.bucket.map ( ( b, i ) => `${b}/${config.folder[ i ] || ''}` )
221
+ );
213
222
 
214
- if ( !okToProceed ) {
215
- process.stdout.write ( '\x1b[38;5;196mDeployment cancelled by user.\x1b[0m\n' );
223
+ if ( !okToProceed ) {
224
+ process.stdout.write ( '\x1b[38;5;196mDeployment cancelled by user.\x1b[0m\n' );
216
225
 
217
- return;
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
+ } );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eip-s3-deploy",
3
- "version": "2.2.2",
3
+ "version": "2.2.4",
4
4
  "description": "Deploy static websites to S3 - all files will be public",
5
5
  "main": "deploy.js",
6
6
  "bin": {