@platform/cell.tmpl
Version:
Template generator for CellOS.
94 lines (93 loc) • 3.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.processPackage = exports.npmInstall = exports.replaceText = exports.saveFile = void 0;
var tslib_1 = require("tslib");
var common_1 = require("../common");
function saveFile(args) {
var _this = this;
if (args === void 0) { args = {}; }
return function (req, res) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var _a, rename, dir, target, message;
return tslib_1.__generator(this, function (_b) {
switch (_b.label) {
case 0:
_a = args.rename, rename = _a === void 0 ? [] : _a;
dir = req.variables.dir;
target = common_1.fs.join(dir, req.path.target);
rename
.filter(function (item) { return target.endsWith(item.from); })
.forEach(function (item) {
target = target.substr(0, target.length - item.from.length);
target += item.to;
});
message = "saving: " + target;
res.alert({ message: message });
return [4, common_1.fs.ensureDir(common_1.fs.dirname(target))];
case 1:
_b.sent();
return [4, common_1.fs.writeFile(target, req.buffer)];
case 2:
_b.sent();
res.done(args.done);
return [2];
}
});
}); };
}
exports.saveFile = saveFile;
function replaceText(args) {
if (args === void 0) { args = {}; }
return function (req, res) {
res.replaceText(/__NAME__/g, req.variables.name);
res.done(args.done);
};
}
exports.replaceText = replaceText;
function npmInstall(args) {
var _this = this;
if (args === void 0) { args = {}; }
return function (req, res) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var dir, message;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
dir = req.variables.dir;
message = "installing modules...\uD83C\uDF3C";
res.alert({ message: message });
return [4, common_1.npm.install({ dir: dir })];
case 1:
_a.sent();
res.done(args.done);
return [2];
}
});
}); };
}
exports.npmInstall = npmInstall;
function processPackage(args) {
var _this = this;
return function (req, res) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
var pkg;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!req.path.source.endsWith(args.filename)) {
return [2, res.next()];
}
res.alert({ message: "Retrieving latest version information..." });
pkg = common_1.npm.pkg({ json: JSON.parse(req.text || '') });
return [4, pkg.updateVersions({
filter: function (name, version) { return version === 'latest'; },
})];
case 1:
_a.sent();
res.alert({ message: 'Updating [package.json] file' });
pkg.json.name = req.variables.name;
res.text = pkg.toJson();
res.done(args.done);
return [2];
}
});
}); };
}
exports.processPackage = processPackage;