tech-cli
v0.0.6
Published
tech cli
Readme
Tech CLI 工具
一个现代化的命令行工具,用于快速下载和管理项目模板。
版本:v0.0.2
功能特性
- 🚀 快速下载项目模板
- 📈 直观的下载进度条
- 📂 交互式目录创建
- 🧰 易于扩展的命令系统
安装
# 全局安装
npm install tech-cli -g
# 检验
tech -v使用方法
下载项目模板
使用 tech dp 或 tech downloadProject 命令下载预设的项目模板:
tech dp执行命令后,系统会提示你输入要创建的目录名称,确认后将开始下载项目模板并显示进度条。
查看版本
使用 tech -v 或 tech --version 查看当前版本:
tech -v当前版本为:v0.0.2
查看帮助
使用 tech -h 或 tech --help 查看帮助信息:
tech -h技术架构
进度条系统
本项目实现了通用的命令执行进度条系统,包含以下组件:
- executeWithProgress - 通用命令执行函数,可以执行任何命令并显示进度条
- cloneWithProgress - 专门用于 Git 克隆操作的便捷函数
- 自定义进度解析器 - 允许针对不同命令定制进度更新逻辑
命令系统
采用模块化设计,每个命令都是独立的模块,易于扩展和维护:
downloadProject (dp)- 下载项目模板命令updateSelf- 升级 CLI 工具自身i18n|internal- 国际化
国际化配置
在i18n目录文件下配置config.js
export const I18nConfig = {
i18n: {
languages: ["en", "es", "fr", "de", "zh"], // 支持的语言
defaultLanguage: "zh", // 默认语言
entry: "app/", // 项目入口文件
output: "i18n/locales", // 输出路径
ignore: ["assets/**", "plugins/**", "sdk/**"], // 忽略的文件
ext: "(js|jsx|ts|tsx|vue)", // 支持的文件格式
include: ["app/"],
},
babel: {
sourceType: 'module',
allowImportExportEverywhere: true,
decoratorsBeforeExport: true,
newLine: true,
plugins: [
"asyncGenerators",
"classProperties",
"decorators-legacy",
"doExpressions",
"exportExtensions",
"exportDefaultFrom",
"typescript",
"functionSent",
"functionBind",
"jsx",
"tsx",
"objectRestSpread",
"dynamicImport",
"numericSeparator",
"optionalChaining",
"optionalCatchBinding",
],
},
}