@gaonengwww/tiny-toolkit-dev
Version:
tiny-cli 模块开发脚手架
73 lines • 4.83 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Copyright (c) 2022 - present Tiny CLI Authors.
* Copyright (c) 2022 - present Huawei Cloud Computing Technologies Co., Ltd.
*
* Use of this source code is governed by an MIT-style license.
*
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
*
*/
const cli_devkit_1 = require("@opentiny/cli-devkit");
const path = __importStar(require("path"));
const fs_extra_1 = __importDefault(require("fs-extra"));
const rimraf_1 = __importDefault(require("rimraf"));
const create_symlink_1 = __importDefault(require("@lerna/create-symlink"));
const utils_1 = __importDefault(require("./utils"));
const log = cli_devkit_1.logs('tiny-toolkit-dev');
const cwd = process.cwd();
/**
* 清除 home 目录下的 对应名字的目录,然后创建链接当前目录的软链到 home 目录下
*/
function linkToHome(src, pkgName) {
const modulePath = cli_devkit_1.home.getModulesPath();
const dist = path.resolve(modulePath, pkgName);
if (fs_extra_1.default.existsSync(dist)) {
rimraf_1.default.sync(dist);
}
create_symlink_1.default(src, dist, 'junction');
return dist;
}
exports.default = () => {
const pkgPath = path.resolve(cwd, 'package.json');
if (!fs_extra_1.default.existsSync(pkgPath)) {
log.error('当前未找到 package.json 文件,请在 插件/套件 工程根目录里面执行此命令');
log.error('软链创建失败');
return;
}
const pkg = fs_extra_1.default.readJsonSync(pkgPath);
if (!pkg.name) {
log.error('无项目名');
log.error('软链创建失败');
return;
}
const dist = linkToHome(cwd, pkg.name);
log.success(`软链创建成功, 链接到${dist}`);
utils_1.default.setModuleCache(pkg.name);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7OztHQVVHO0FBQ0gscURBQWtEO0FBQ2xELDJDQUE2QjtBQUM3Qix3REFBMEI7QUFDMUIsb0RBQTRCO0FBQzVCLDJFQUFrRDtBQUNsRCxvREFBNEI7QUFFNUIsTUFBTSxHQUFHLEdBQUcsaUJBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3JDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUUxQjs7R0FFRztBQUNILFNBQVMsVUFBVSxDQUFDLEdBQVcsRUFBRSxPQUFlO0lBQzlDLE1BQU0sVUFBVSxHQUFHLGlCQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDekMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsSUFBSSxrQkFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN2QixnQkFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNuQjtJQUNELHdCQUFhLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNyQyxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxrQkFBZSxHQUFHLEVBQUU7SUFDbEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFbEQsSUFBSSxDQUFDLGtCQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzNCLEdBQUcsQ0FBQyxLQUFLLENBQ1AsNkNBQTZDLENBQzlDLENBQUM7UUFDRixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BCLE9BQU87S0FDUjtJQUVELE1BQU0sR0FBRyxHQUFHLGtCQUFFLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXJDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFO1FBQ2IsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQixHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BCLE9BQU87S0FDUjtJQUVELE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLEdBQUcsQ0FBQyxPQUFPLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRWxDLGVBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyJ9