mup-aws-beanstalk
Version:
Deploy apps to AWS Elastic Beanstalk using Meteor Up
75 lines (58 loc) • 1.7 kB
JavaScript
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
;