UNPKG

@blinkmobile/client-cli

Version:

CLI to deploy client-side web applications with BlinkMobile

38 lines (31 loc) 913 B
/* @flow */ 'use strict' /* Default AWS S3 config BucketName is per project */ const AWS = require('aws-sdk') const ora = require('ora') const pkg = require('../package.json') const BlinkMobileIdentity = require('@blinkmobile/bm-identity') const blinkMobileIdentity = new BlinkMobileIdentity(pkg.name) function s3Factory ( bucketDetails /* : Object */, env /* : string */ ) /* : Promise<Object> */ { const spinner = ora({spinner: 'dots', text: 'Authenticating...'}).start() return blinkMobileIdentity.assumeAWSRole({ bmProject: bucketDetails.params.Bucket, command: 'deploy', environment: env }) .then((credentials) => { spinner.succeed('Authentication complete!') return new AWS.S3(Object.assign({credentials}, bucketDetails)) }) .catch((err) => { spinner.fail('Authentication failed!') return Promise.reject(err) }) } module.exports = s3Factory