UNPKG

@gaonengwww/tiny-toolkit-dev

Version:

tiny-cli 模块开发脚手架

108 lines 6.05 kB
"use strict"; 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==