UNPKG

mup-aws-beanstalk

Version:

Deploy apps to AWS Elastic Beanstalk using Meteor Up

75 lines (58 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = upload; exports.uploadEnvFile = uploadEnvFile; var _fs = _interopRequireDefault(require("fs")); var _shellEscape = _interopRequireDefault(require("shell-escape")); var _aws = require("./aws"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function upload(appConfig, bucket, key, bundlePath) { const params = { Bucket: bucket }; const fileStream = _fs.default.createReadStream(bundlePath); fileStream.on('error', err => { console.log(err); }); params.Body = fileStream; params.Key = key; return new Promise((resolve, reject) => { let lastPercentage = -1; const uploader = _aws.s3.upload(params); uploader.on('httpUploadProgress', progress => { const percentage = Math.floor(progress.loaded / progress.total * 100); if (percentage !== lastPercentage) { console.log(` Uploaded ${percentage}%`); if (percentage === 100) { console.log(' Finishing upload. This could take a couple minutes'); } } lastPercentage = percentage; }); uploader.send((err, result) => { if (err) { reject(err); return; } resolve(result); }); }); } function uploadEnvFile(bucket, version, content) { return new Promise((resolve, reject) => { const uploader = _aws.s3.upload({ Bucket: bucket, Body: content, Key: `env/${version}.txt` }); uploader.send((err, result) => { if (err) { return reject(err); } resolve(result); }); }); } //# sourceMappingURL=upload.js.map