@gaonengwww/tiny-toolkit-dev
Version:
tiny-cli 模块开发脚手架
108 lines • 6.05 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;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.setModuleCache = exports.getDistPath = exports.getTemplatePath = exports.generateNames = void 0;
/**
* 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 path = __importStar(require("path"));
const cli_devkit_1 = require("@opentiny/cli-devkit");
const cwd = process.cwd();
function firstUpperCase(str) {
return str.replace(/^\S/, s => s.toUpperCase());
}
/**
* 转换格式
* @param str 英文字符串
* @param isBig 是否转大写
*/
function camelTrans(value, isBig) {
let i = isBig ? 0 : 1;
const str = value.split('-');
for (; i < str.length; i += 1) {
str[i] = firstUpperCase(str[i]);
}
return str.join('');
}
/**
* 用户输入的是用横杠连接的名字
* 根据用户输入的name生成各类规格变量名: 横杠连接,小驼峰,大驼峰,全大写
*/
function generateNames(name) {
return {
// 横杠连接
fileName: name,
// 小驼峰
varName: camelTrans(name),
// 大驼峰
className: camelTrans(name, true),
// 全大写
constName: name
.split('-')
.join('')
.toUpperCase()
};
}
exports.generateNames = generateNames;
/**
* 获取模板文件夹路径
* @param source template目录下的路径
*/
function getTemplatePath(source) {
const templatePath = path.join(__dirname, '../../template/');
return source ? path.join(templatePath, source) : templatePath;
}
exports.getTemplatePath = getTemplatePath;
/**
* 获取目标文件夹路径,参数不传为为当前命令执行的目录
* @param dist 目标根目录下的子文件夹路径
*/
function getDistPath(dist) {
return dist ? path.join(cwd, dist) : cwd;
}
exports.getDistPath = getDistPath;
/**
* 设置模块的缓存
* @param name 模块名称
*/
function setModuleCache(name) {
// 写一下缓存,避免未发布时一直去线上拉数据
const cacheKey = `${cli_devkit_1.modules.utils.UPDATE_CHECK_PRE}${name}`;
cli_devkit_1.cache.set(cacheKey, true, {
expires: cli_devkit_1.modules.utils.NO_TIP_PERIOD * 10
});
}
exports.setModuleCache = setModuleCache;
exports.default = {
getDistPath,
getTemplatePath,
generateNames,
setModuleCache
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsMkNBQTZCO0FBQzdCLHFEQUFzRDtBQUV0RCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUIsU0FBUyxjQUFjLENBQUMsR0FBVztJQUNqQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFTLFVBQVUsQ0FBQyxLQUFhLEVBQUUsS0FBZTtJQUNoRCxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakM7SUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEIsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxJQUFZO0lBQ3hDLE9BQU87UUFDTCxPQUFPO1FBQ1AsUUFBUSxFQUFFLElBQUk7UUFFZCxNQUFNO1FBQ04sT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFFekIsTUFBTTtRQUNOLFNBQVMsRUFBRSxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztRQUVqQyxNQUFNO1FBQ04sU0FBUyxFQUFFLElBQUk7YUFDWixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUNSLFdBQVcsRUFBRTtLQUNqQixDQUFDO0FBQ0osQ0FBQztBQWpCRCxzQ0FpQkM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQixlQUFlLENBQUMsTUFBZTtJQUM3QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQzdELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBQ2pFLENBQUM7QUFIRCwwQ0FHQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxJQUFhO0lBQ3ZDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzNDLENBQUM7QUFGRCxrQ0FFQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLGNBQWMsQ0FBQyxJQUFZO0lBQ3pDLHVCQUF1QjtJQUN2QixNQUFNLFFBQVEsR0FBRyxHQUFHLG9CQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLElBQUksRUFBRSxDQUFDO0lBQzVELGtCQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFDeEIsT0FBTyxFQUFFLG9CQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxFQUFFO0tBQzFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFORCx3Q0FNQztBQUVELGtCQUFlO0lBQ2IsV0FBVztJQUNYLGVBQWU7SUFDZixhQUFhO0lBQ2IsY0FBYztDQUNmLENBQUMifQ==