lizi-wxapp-cli
Version:
微信小程序快速创建cli脚手架
97 lines • 12.6 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const inquirer_autocomplete_prompt_1 = __importDefault(require("@moyuyc/inquirer-autocomplete-prompt"));
const chalk_1 = __importDefault(require("chalk"));
const fuzzy_1 = __importDefault(require("fuzzy"));
const inquirer_1 = __importDefault(require("inquirer"));
const json_format_1 = __importDefault(require("json-format"));
const ora_1 = __importDefault(require("ora"));
const path_1 = __importDefault(require("path"));
const base_1 = __importDefault(require("./base"));
class Delete extends base_1.default {
constructor() {
super();
this.selectList = '';
}
init() {
return __awaiter(this, void 0, void 0, function* () {
yield this.getAppJson();
yield this.getProjectConfig();
inquirer_1.default.registerPrompt('autocomplete', inquirer_autocomplete_prompt_1.default);
inquirer_1.default.prompt([
this.__selectList(),
this.__isDetele()
]).then(({ selectList, isDelete }) => {
this.selectList = selectList;
if (isDelete)
this.delete();
}).catch(console.log);
});
}
delete() {
return __awaiter(this, void 0, void 0, function* () {
const loading = ora_1.default('正在删除...').start();
let deleteRoot = path_1.default.join(this.projectRoot, this.selectList);
let deleteArr = deleteRoot.split('/');
deleteArr.splice(deleteArr.length - 1, 1);
deleteRoot = deleteArr.join('/');
loading.text = '删除文件';
yield this.trash(deleteRoot);
this.subList.map((v, k) => {
if (v.path === this.selectList) {
if (v.subpackage) {
let subIdx = this.AppJson.subpackages[v.index];
let idx = subIdx[this.typeRoot].findIndex(f => path_1.default.join(subIdx.root, f) === v.path);
subIdx[this.typeRoot].splice(idx, 1);
}
else {
this.AppJson[this.typeRoot].splice(k, 1);
}
}
});
loading.text = '修改app.json';
yield this.writeFile(this.projectRoot, 'app.json', json_format_1.default(this.AppJson));
if (this.typeName === '页面') {
let projectIdx = this.projectConfigJson.condition.miniprogram.list;
let index = projectIdx.findIndex(v => v.pathName === deleteRoot);
projectIdx.splice(index, 1);
loading.text = '修改project.config.json';
yield this.writeFile(this.projectRoot, 'project.config.json', json_format_1.default(this.projectConfigJson));
}
loading.succeed(chalk_1.default.green(`删除【${this.selectList}】成功`));
});
}
__selectList() {
return {
type: 'autocomplete',
name: 'selectList',
message: chalk_1.default.red(`选择你要删除的${this.typeName}:`),
choices: [],
suggestOnly: false,
source: (_answers, input) => {
return Promise.resolve(fuzzy_1.default.filter(input, [...this.subList.map(v => v.path)]).map(e => e.original));
}
};
}
__isDetele() {
return {
type: 'confirm',
name: 'isDelete',
message: '删除后可在回收箱恢复,确认删除?',
default: true
};
}
}
exports.default = Delete;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVsZXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSx3R0FBK0Q7QUFDL0Qsa0RBQXlCO0FBQ3pCLGtEQUF5QjtBQUN6Qix3REFBNkQ7QUFDN0QsOERBQW9DO0FBQ3BDLDhDQUE4QjtBQUM5QixnREFBdUI7QUFDdkIsa0RBQXlCO0FBUXpCLE1BQThCLE1BQU8sU0FBUSxjQUFJO0lBRy9DO1FBQ0UsS0FBSyxFQUFFLENBQUE7UUFIQyxlQUFVLEdBQVcsRUFBRSxDQUFBO0lBSWpDLENBQUM7SUFFWSxJQUFJOztZQUNmLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1lBQ3ZCLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7WUFDN0Isa0JBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLHNDQUFZLENBQUMsQ0FBQTtZQUNyRCxrQkFBUSxDQUFDLE1BQU0sQ0FBQztnQkFDZCxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFO2FBQ2xCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQU0sRUFBRSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtnQkFDNUIsSUFBSSxRQUFRO29CQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtZQUM3QixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3ZCLENBQUM7S0FBQTtJQUVZLE1BQU07O1lBQ2pCLE1BQU0sT0FBTyxHQUFRLGFBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtZQUMzQyxJQUFJLFVBQVUsR0FBVyxjQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1lB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RyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7WUFDdEcsQ0FBQztTQUNGLENBQUE7SUFDSCxDQUFDO0lBRU8sVUFBVTtRQUNoQixPQUFPO1lBQ0wsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsVUFBVTtZQUNoQixPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLE9BQU8sRUFBRSxJQUFJO1NBQ2QsQ0FBQTtJQUNILENBQUM7Q0FHRjtBQTdFRCx5QkE2RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXV0b2NvbXBsZXRlIGZyb20gJ0Btb3l1eWMvaW5xdWlyZXItYXV0b2NvbXBsZXRlLXByb21wdCdcbmltcG9ydCBjaGFsayBmcm9tICdjaGFsaydcbmltcG9ydCBmdXp6eSBmcm9tICdmdXp6eSdcbmltcG9ydCBpbnF1aXJlciwgeyBBbnN3ZXJzLCBDb25maXJtUXVlc3Rpb24gfSBmcm9tICdpbnF1aXJlcidcbmltcG9ydCBqc29uRm9ybWF0IGZyb20gJ2pzb24tZm9ybWF0J1xuaW1wb3J0IG9yYSwgeyBPcmEgfSBmcm9tICdvcmEnXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IEJhc2UgZnJvbSAnLi9iYXNlJ1xuXG5pbnRlcmZhY2UgRGVsZXRlSW50ZXJmYWNlIHtcbiAgaW5pdCgpOiBQcm9taXNlPHZvaWQ+XG5cbiAgZGVsZXRlKCk6IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IGRlZmF1bHQgYWJzdHJhY3QgY2xhc3MgRGVsZXRlIGV4dGVuZHMgQmFzZSBpbXBsZW1lbnRzIERlbGV0ZUludGVyZmFjZSB7XG4gIHByb3RlY3RlZCBzZWxlY3RMaXN0OiBzdHJpbmcgPSAnJ1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmdldEFwcEpzb24oKVxuICAgIGF3YWl0IHRoaXMuZ2V0UHJvamVjdENvbmZpZygpXG4gICAgaW5xdWlyZXIucmVnaXN0ZXJQcm9tcHQoJ2F1dG9jb21wbGV0ZScsIGF1dG9jb21wbGV0ZSlcbiAgICBpbnF1aXJlci5wcm9tcHQoW1xuICAgICAgdGhpcy5fX3NlbGVjdExpc3QoKSxcbiAgICAgIHRoaXMuX19pc0RldGVsZSgpXG4gICAgXSkudGhlbigoe3NlbGVjdExpc3QsIGlzRGVsZXRlfTogYW55KSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdExpc3QgPSBzZWxlY3RMaXN0XG4gICAgICBpZiAoaXNEZWxldGUpIHRoaXMuZGVsZXRlKClcbiAgICB9KS5jYXRjaChjb25zb2xlLmxvZylcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZWxldGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbG9hZGluZzogT3JhID0gb3JhKCfmraPlnKjliKDpmaQuLi4nKS5zdGFydCgpXG4gICAgbGV0IGRlbGV0ZVJvb3Q6IHN0cmluZyA9IHBhdGguam9pbih0aGlzLnByb2plY3RSb290LCB0aGlzLnNlbGVjdExpc3QpXG4gICAgbGV0IGRlbGV0ZUFycjogc3RyaW5nW10gPSBkZWxldGVSb290LnNwbGl0KCcvJylcbiAgICBkZWxldGVBcnIuc3BsaWNlKGRlbGV0ZUFyci5sZW5ndGggLSAxLCAxKVxuICAgIGRlbGV0ZVJvb3QgPSBkZWxldGVBcnIuam9pbignLycpXG4gICAgLy8g5Yig6Zmk5paH5Lu2XG4gICAgbG9hZGluZy50ZXh0ID0gJ+WIoOmZpOaWh+S7tidcbiAgICBhd2FpdCB0aGlzLnRyYXNoKGRlbGV0ZVJvb3QpXG4gICAgLy8g5L+u5pS5YXBwLmpzb25cbiAgICB0aGlzLnN1Ykxpc3QubWFwKCh2OiBhbnksIGspID0+IHtcbiAgICAgIGlmICh2LnBhdGggPT09IHRoaXMuc2VsZWN0TGlzdCkge1xuICAgICAgICBpZiAodi5zdWJwYWNrYWdlKSB7XG4gICAgICAgICAgbGV0IHN1YklkeDogYW55ID0gdGhpcy5BcHBKc29uLnN1YnBhY2thZ2VzW3YuaW5kZXhdXG4gICAgICAgICAgbGV0IGlkeDogbnVtYmVyID0gc3ViSWR4W3RoaXMudHlwZVJvb3RdLmZpbmRJbmRleChmID0+IHBhdGguam9pbihzdWJJZHgucm9vdCwgZikgPT09IHYucGF0aClcbiAgICAgICAgICBzdWJJZHhbdGhpcy50eXBlUm9vdF0uc3BsaWNlKGlkeCwgMSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLkFwcEpzb25bdGhpcy50eXBlUm9vdF0uc3BsaWNlKGssIDEpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICAgIGxvYWRpbmcudGV4dCA9ICfkv67mlLlhcHAuanNvbidcbiAgICBhd2FpdCB0aGlzLndyaXRlRmlsZSh0aGlzLnByb2plY3RSb290LCAnYXBwLmpzb24nLCBqc29uRm9ybWF0KHRoaXMuQXBwSnNvbikpXG4gICAgLy8g5aaC5p6c5pivcGFnZeWImei/mOmcgOimgeS/ruaUuXByb2plY3QuY29uZmlnLmpzb25cbiAgICBpZiAodGhpcy50eXBlTmFtZSA9PT0gJ+mhtemdoicpIHtcbiAgICAgIGxldCBwcm9qZWN0SWR4ID0gdGhpcy5wcm9qZWN0Q29uZmlnSnNvbi5jb25kaXRpb24ubWluaXByb2dyYW0ubGlzdFxuICAgICAgbGV0IGluZGV4ID0gcHJvamVjdElkeC5maW5kSW5kZXgodiA9PiB2LnBhdGhOYW1lID09PSBkZWxldGVSb290KVxuICAgICAgcHJvamVjdElkeC5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICBsb2FkaW5nLnRleHQgPSAn5L+u5pS5cHJvamVjdC5jb25maWcuanNvbidcbiAgICAgIGF3YWl0IHRoaXMud3JpdGVGaWxlKHRoaXMucHJvamVjdFJvb3QsICdwcm9qZWN0LmNvbmZpZy5qc29uJywganNvbkZvcm1hdCh0aGlzLnByb2plY3RDb25maWdKc29uKSlcbiAgICB9XG4gICAgbG9hZGluZy5zdWNjZWVkKGNoYWxrLmdyZWVuKGDliKDpmaTjgJAke3RoaXMuc2VsZWN0TGlzdH3jgJHmiJDlip9gKSlcbiAgfVxuXG4gIHByaXZhdGUgX19zZWxlY3RMaXN0KCk6IG9iamVjdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdhdXRvY29tcGxldGUnLFxuICAgICAgbmFtZTogJ3NlbGVjdExpc3QnLFxuICAgICAgbWVzc2FnZTogY2hhbGsucmVkKGDpgInmi6nkvaDopoHliKDpmaTnmoQke3RoaXMudHlwZU5hbWV977yaYCksXG4gICAgICBjaG9pY2VzOiBbXSxcbiAgICAgIHN1Z2dlc3RPbmx5OiBmYWxzZSxcbiAgICAgIHNvdXJjZTogKF9hbnN3ZXJzLCBpbnB1dDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZnV6enkuZmlsdGVyKGlucHV0LCBbLi4udGhpcy5zdWJMaXN0Lm1hcCh2ID0+IHYucGF0aCldKS5tYXAoZSA9PiBlLm9yaWdpbmFsKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9faXNEZXRlbGUoKTogQ29uZmlybVF1ZXN0aW9uPEFuc3dlcnM+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ2NvbmZpcm0nLFxuICAgICAgbmFtZTogJ2lzRGVsZXRlJyxcbiAgICAgIG1lc3NhZ2U6ICfliKDpmaTlkI7lj6/lnKjlm57mlLbnrrHmgaLlpI3vvIznoa7orqTliKDpmaTvvJ8nLFxuICAgICAgZGVmYXVsdDogdHJ1ZVxuICAgIH1cbiAgfVxuXG5cbn1cbiJdfQ==