jgb-cli
Version:
```shell npm i -g jgb-cli #全局安装 ```
80 lines • 5.88 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
// @ts-ignore
var envinfo = require("envinfo");
var lib_1 = require("jgb-shared/lib");
var Logger_1 = require("jgb-shared/lib/Logger");
var platforms_1 = require("jgb-shared/lib/platforms");
var semver = require("semver");
var config_1 = require("../config");
var core_1 = require("../core");
function builder(main, command) {
if (main === void 0) { main = []; }
if (command === void 0) { command = {}; }
return tslib_1.__awaiter(this, void 0, void 0, function () {
var config, core;
return tslib_1.__generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, config_1.getJGBConfig(command.config)];
case 1:
config = _a.sent();
if (!config) {
return [2 /*return*/];
}
config = config_1.normalizeConfig(tslib_1.__assign(tslib_1.__assign({ cache: true }, config), command));
command.target = platforms_1.transformTarget(command.target || 'wx');
core = new core_1.default(config);
return [4 /*yield*/, updateInfo(command)];
case 2:
_a.sent();
return [4 /*yield*/, core.start()];
case 3:
_a.sent();
return [2 /*return*/];
}
});
});
}
exports.default = builder;
function updateInfo(command) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var pkg, npmPackages, _a, info, _b, _c, npm, value, installed, isValid;
var e_1, _d;
return tslib_1.__generator(this, function (_e) {
switch (_e.label) {
case 0: return [4 /*yield*/, lib_1.Config.load(process.cwd(), ['package.json'])];
case 1:
pkg = _e.sent();
npmPackages = ['jgb-shared']
.concat(Object.keys(pkg.dependencies || {}), Object.keys(pkg.devDependencies || {}))
.filter(function (key) { return key.includes('jgb-plugin') || key.includes('jgb-preset'); });
return [4 /*yield*/, envinfo.helpers.getnpmPackages(npmPackages, {
showNotFound: true,
})];
case 2:
_a = tslib_1.__read.apply(void 0, [_e.sent(), 2]), info = _a[1];
try {
for (_b = tslib_1.__values(Object.keys(info)), _c = _b.next(); !_c.done; _c = _b.next()) {
npm = _c.value;
value = info[npm];
installed = value.installed;
isValid = semver.satisfies(installed, "~" + command.cliVersion);
if (!isValid) {
Logger_1.logger.warning("please update " + npm + "@" + installed + " to " + npm + "^" + command.cliVersion);
}
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (_c && !_c.done && (_d = _b.return)) _d.call(_b);
}
finally { if (e_1) throw e_1.error; }
}
return [2 /*return*/];
}
});
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kL2J1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsYUFBYTtBQUNiLGlDQUFtQztBQUNuQyxzQ0FBd0M7QUFDeEMsZ0RBQStDO0FBQy9DLHNEQUEyRDtBQUMzRCwrQkFBa0M7QUFDbEMsb0NBQTBEO0FBQzFELGdDQUEyQjtBQUUzQixTQUE4QixPQUFPLENBQUMsSUFBYyxFQUFFLE9BQWlCO0lBQWpDLHFCQUFBLEVBQUEsU0FBYztJQUFFLHdCQUFBLEVBQUEsWUFBaUI7Ozs7O3dCQUN4RCxxQkFBTSxxQkFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBQTs7b0JBQTNDLE1BQU0sR0FBRyxTQUFrQztvQkFDL0MsSUFBSSxDQUFDLE1BQU0sRUFBRTt3QkFDWCxzQkFBTztxQkFDUjtvQkFFRCxNQUFNLEdBQUcsd0JBQWUscUNBQ3RCLEtBQUssRUFBRSxJQUFJLElBQ1IsTUFBTSxHQUNOLE9BQU8sRUFDVixDQUFDO29CQUVILE9BQU8sQ0FBQyxNQUFNLEdBQUcsMkJBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDO29CQUVuRCxJQUFJLEdBQUcsSUFBSSxjQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRTlCLHFCQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBQTs7b0JBQXpCLFNBQXlCLENBQUM7b0JBRTFCLHFCQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBQTs7b0JBQWxCLFNBQWtCLENBQUM7Ozs7O0NBQ3BCO0FBbkJELDBCQW1CQztBQUVELFNBQWUsVUFBVSxDQUFDLE9BQVk7Ozs7Ozt3QkFDeEIscUJBQU0sWUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFBOztvQkFBeEQsR0FBRyxHQUFHLFNBQWtEO29CQUN4RCxXQUFXLEdBQUcsQ0FBQyxZQUFZLENBQUM7eUJBQy9CLE1BQU0sQ0FDTCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLEVBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FDdkM7eUJBQ0EsTUFBTSxDQUFDLFVBQUMsR0FBRyxJQUFLLE9BQUEsR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUF4RCxDQUF3RCxDQUFDLENBQUM7b0JBRTVELHFCQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRTs0QkFDakUsWUFBWSxFQUFFLElBQUk7eUJBQ25CLENBQUMsRUFBQTs7b0JBRkksS0FBQSw4QkFBVyxTQUVmLEtBQUEsRUFGTyxJQUFJLFFBQUE7O3dCQUliLEtBQWtCLEtBQUEsaUJBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSw0Q0FBRTs0QkFBMUIsR0FBRzs0QkFDTixLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNoQixTQUFTLEdBQUssS0FBSyxVQUFWLENBQVc7NEJBQ3RCLE9BQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxNQUFJLE9BQU8sQ0FBQyxVQUFZLENBQUMsQ0FBQzs0QkFDdEUsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQ0FDWixlQUFNLENBQUMsT0FBTyxDQUNaLG1CQUFpQixHQUFHLFNBQUksU0FBUyxZQUFPLEdBQUcsU0FBSSxPQUFPLENBQUMsVUFBWSxDQUNwRSxDQUFDOzZCQUNIO3lCQUNGOzs7Ozs7Ozs7Ozs7O0NBQ0YifQ==