UNPKG

@platform/cell.tmpl

Version:

Template generator for CellOS.

94 lines (93 loc) 3.74 kB
"use strict"; 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;