@opentiny/tiny-toolkit-docs
Version:
这里对你的套件进行简单描述, 比如适用哪些场景,使用了什么技术, 有什么特点
125 lines • 11.5 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 });
const path = __importStar(require("path"));
const chalk_1 = __importDefault(require("chalk"));
const inquirer_1 = __importDefault(require("inquirer"));
const cli_devkit_1 = require("@opentiny/cli-devkit");
const utils_1 = __importDefault(require("./common/utils"));
const questions = __importStar(require("./common/questions"));
const cwd = process.cwd();
const log = cli_devkit_1.logs('@/tiny-toolkit-docs');
const { techQuestion, integrationQuestion, demosLocalQuestion, demosNpmQuestion, baseQuestion, dependencieQuestion } = questions;
function modifyAppConfigs(demosPath) {
if (demosPath) {
const envFile = path.join(cwd, 'env/.env');
const viteConfigFile = path.join(cwd, 'vite.config.js');
const copyFile = path.join(cwd, 'scripts/copy.js');
// 修改.env
utils_1.default.modifyFileContent(envFile, 'VITE_DEMOS=demos', `VITE_DEMOS=${demosPath}`);
// 修改vite.config.js
utils_1.default.modifyFileContent(viteConfigFile, "'@demos': path.resolve('demos')", `'@demos': path.resolve('${demosPath}')`);
utils_1.default.modifyFileContent(viteConfigFile, "'@style.css': path.resolve('demos/scripts/styles.css')", `'@style.css': path.resolve('${demosPath}/scripts/styles.css')`);
// 修改copy.js
utils_1.default.modifyFileContent(copyFile, "source: 'demos'", `source: '${demosPath}'`);
}
}
// package.json增加依赖
function addPackage(packageName) {
if (packageName) {
const pkg = cli_devkit_1.fs.readPackage() || {};
pkg.dependencies[`${packageName}`] = 'latest';
cli_devkit_1.fs.writePackage(pkg);
}
}
async function setIntegration(integration, foldername) {
if (foldername) {
let name = foldername;
if (integration === 'local') {
const filePath = path.join(cwd, 'demos');
const renamePath = path.join(cwd, `${name}`);
cli_devkit_1.fs.rename(filePath, renamePath, (err) => {
if (err) {
log.error(err);
}
});
}
else {
addPackage(foldername);
name = `node_modules/${name}`;
// 删除demos目录
await cli_devkit_1.fs.remove(path.resolve(cwd, 'demos'));
}
modifyAppConfigs(name);
}
}
function setBaseConfig(base) {
if (base) {
const envFile = path.join(cwd, 'env/.env');
const viteConfigFile = path.join(cwd, 'vite.config.js');
// 修改env/.env
utils_1.default.modifyFileContent(envFile, 'VITE_CONTEXT=/tiny-ng/', `VITE_CONTEXT=/${base}/`);
// 修改vite.config.js
utils_1.default.modifyFileContent(viteConfigFile, "base: '/tiny-ng'", `base: '/${base}'`);
}
}
exports.default = async () => {
const prefix = cli_devkit_1.cliConfig.getBinName();
const techAnswer = await inquirer_1.default.prompt(techQuestion);
const integrationAnswer = await inquirer_1.default.prompt(integrationQuestion);
const demosPathAnswer = await inquirer_1.default.prompt(integrationAnswer.integration === 'local'
? demosLocalQuestion
: demosNpmQuestion);
const dependencieAnswer = await inquirer_1.default.prompt(dependencieQuestion);
const baseAnswer = await inquirer_1.default.prompt(baseQuestion);
const from = utils_1.default.getTemplatePath(techAnswer.tech);
// 复制技术栈模板
cli_devkit_1.fs.copyTpl(from, cwd);
// 集成方式
await setIntegration(integrationAnswer.integration, demosPathAnswer.foldername);
// package.json增加示例依赖
addPackage(dependencieAnswer.dependencie);
// 设置base
setBaseConfig(baseAnswer.base);
// npm 依赖安装
log.info('正在安装 npm 依赖,安装过程需要几十秒,请耐心等待...');
try {
await cli_devkit_1.npm.installDependencies();
}
catch (e) {
log.error('npm 依赖安装失败');
log.error('请手动执行 tiny i 或 npm i');
log.debug(e);
}
log.success('npm 依赖安装成功');
/* prettier-ignore-start */
log.info(chalk_1.default.yellow('\n--------------------初始化成功,请按下面提示进行操作--------------------\n'));
log.info(chalk_1.default.green(`${chalk_1.default.yellow(`$ ${prefix} start`)} # 可一键开启项目开发环境`));
log.info(chalk_1.default.green(`${chalk_1.default.yellow(`$ ${prefix} git create`)} # 可自动在gitlab上创建仓库`));
log.info(chalk_1.default.green(`${chalk_1.default.yellow(`$ ${prefix} help`)} # 可查看当前套件的详细帮助`));
log.info(chalk_1.default.green(`\n建议将现有初始化的代码提交一次到master分支, 方便后续切换到 ${chalk_1.default.yellow('daily/x.y.z')} 分支进行开发`));
log.info(chalk_1.default.yellow('\n--------------------技术支持: @opentiny@sina.com--------------------\n'));
/* prettier-ignore-end */
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0Isa0RBQTBCO0FBQzFCLHdEQUFnQztBQUNoQyxxREFBZ0U7QUFDaEUsMkRBQW1DO0FBQ25DLDhEQUFnRDtBQUVoRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDMUIsTUFBTSxHQUFHLEdBQUcsaUJBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3hDLE1BQU0sRUFDSixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLG1CQUFtQixFQUNwQixHQUFHLFNBQVMsQ0FBQztBQUVkLFNBQVMsZ0JBQWdCLENBQUMsU0FBUztJQUNqQyxJQUFJLFNBQVMsRUFBRTtRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDeEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUVuRCxTQUFTO1FBQ1QsZUFBSyxDQUFDLGlCQUFpQixDQUNyQixPQUFPLEVBQ1Asa0JBQWtCLEVBQ2xCLGNBQWMsU0FBUyxFQUFFLENBQzFCLENBQUM7UUFDRixtQkFBbUI7UUFDbkIsZUFBSyxDQUFDLGlCQUFpQixDQUNyQixjQUFjLEVBQ2QsaUNBQWlDLEVBQ2pDLDJCQUEyQixTQUFTLElBQUksQ0FDekMsQ0FBQztRQUNGLGVBQUssQ0FBQyxpQkFBaUIsQ0FDckIsY0FBYyxFQUNkLHdEQUF3RCxFQUN4RCwrQkFBK0IsU0FBUyx1QkFB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