@platform/react.ssr
Version:
An SSR (server-side-render) system for react apps bundled with ParcelJS and hosted on S3.
75 lines (74 loc) • 3.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var bundler_1 = require("../bundler");
var config_1 = require("../config");
var common_1 = require("./common");
function run(args) {
if (args === void 0) { args = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var silent, config, bundlesDir, promptForVersion, version, _a, _b, _c, _d, _e, endpoint, accessKey, secret, bucket, s3, bucketKey, bundleDir;
var _this = this;
return tslib_1.__generator(this, function (_f) {
switch (_f.label) {
case 0:
silent = args.silent;
return [4, config_1.Config.create()];
case 1:
config = _f.sent();
bundlesDir = config.builder.bundles;
promptForVersion = function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var paths, versions, items, res;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, bundler_1.bundler.dir(bundlesDir).semver()];
case 1:
paths = _a.sent();
versions = paths.map(function (path) { return common_1.fs.basename(path); }).reverse();
items = versions.concat(['---']);
return [4, common_1.cli.prompt.list({ message: 'bundle version', items: items })];
case 2:
res = _a.sent();
return [2, res];
}
});
}); };
if (!args.prompt) return [3, 3];
return [4, promptForVersion()];
case 2:
_a = _f.sent();
return [3, 6];
case 3:
_b = args.version;
if (_b) return [3, 5];
_d = (_c = common_1.fs).basename;
return [4, bundler_1.bundler.dir(bundlesDir).latest()];
case 4:
_b = _d.apply(_c, [_f.sent()]);
_f.label = 5;
case 5:
_a = _b;
_f.label = 6;
case 6:
version = _a;
_e = config.s3, endpoint = _e.endpoint, accessKey = _e.accessKey, secret = _e.secret, bucket = _e.bucket;
s3 = { endpoint: endpoint, accessKey: accessKey, secret: secret };
bucketKey = common_1.fs.join(config.s3.path.base, config.s3.path.bundles, version);
bundleDir = common_1.fs.resolve(common_1.fs.join(bundlesDir, version));
return [4, bundler_1.bundler.push(s3).bundle({
bundleDir: bundleDir,
bucket: bucket,
bucketKey: bucketKey,
silent: silent,
})];
case 7:
_f.sent();
if (!args.silent) {
common_1.log.info();
}
return [2, { version: version, bundleDir: bundleDir }];
}
});
});
}
exports.run = run;