UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

40 lines (33 loc) 3.15 kB
"use strict";var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");_Object$defineProperty(exports, "__esModule", { value: true });exports.writeFileTree = exports.replaceFiles = void 0;var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));var _path = _interopRequireDefault(require("path")); var _index = require("../../cli-shared-utils/index.js"); function deleteRemovedFiles(directory, newFiles, previousFiles) { // get all files that are not in the new filesystem and are still existing var filesToDelete = (0, _keys["default"])(previousFiles). filter(function (filename) {return !newFiles[filename];}); // delete each of these files return _promise["default"].all(filesToDelete.map(function (filename) { return _index.fs.unlink(_path["default"].join(directory, filename)); })); } var writeFileTree = exports.writeFileTree = /*#__PURE__*/function () {var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(dir, files, previousFiles) {return _regenerator["default"].wrap(function _callee$(_context) {while (1) switch (_context.prev = _context.next) {case 0:if (! previousFiles) {_context.next = 3;break;}_context.next = 3;return ( deleteRemovedFiles(dir, files, previousFiles));case 3: (0, _keys["default"])(files).forEach(function (name) { var filePath = _path["default"].join(dir, name); _index.fs.ensureDirSync(_path["default"].dirname(filePath)); _index.fs.writeFileSync(filePath, files[name]); });case 4:case "end":return _context.stop();}}, _callee);}));return function writeFileTree(_x, _x2, _x3) {return _ref.apply(this, arguments);};}(); var replaceFiles = exports.replaceFiles = /*#__PURE__*/function () {var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(names, files) {return _regenerator["default"].wrap(function _callee2$(_context2) {while (1) switch (_context2.prev = _context2.next) {case 0: files.forEach(function (file) { var content = _index.fs.readFileSync(file, { encoding: 'utf-8' }); (0, _keys["default"])(names).forEach(function (n) { /* eslint-disable no-eval */ content = content.replace(eval("/{{".concat(n, "}}/g")), function (defaultName) { return names[n] || defaultName; }); /* eslint-enable no-eval */ }); _index.fs.writeFileSync(file, content); });case 1:case "end":return _context2.stop();}}, _callee2);}));return function replaceFiles(_x4, _x5) {return _ref2.apply(this, arguments);};}();