yf-system-cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -0
- package/bin/cli.js +33 -0
- package/package.json +37 -0
- package/src/commands/init.js +699 -0
- package/src/commands/list.js +27 -0
- package/src/commands/push.js +66 -0
- package/src/commands/remove.js +39 -0
- package/src/config.js +76 -0
- package/src/themes/aaa/package-lock.json +2739 -0
- package/templates/theme/README.md +11 -0
- package/templates/theme/build.js +119 -0
- package/templates/theme/localhost.crt +18 -0
- package/templates/theme/localhost.key +28 -0
- package/templates/theme/package-lock.json +2739 -0
- package/templates/theme/package.json +34 -0
- package/templates/theme/server.js +1723 -0
package/README.md
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
## 🚀 项目脚手架工具 - SYSTEMCLI
|
|
2
|
+
|
|
3
|
+
一个功能强大的 Node.js 项目脚手架工具,支持多种模板快速初始化项目,具备智能文件冲突处理机制。
|
|
4
|
+
|
|
5
|
+
✨ 特性
|
|
6
|
+
🎯 多模板支持:内置多种项目模板(application/theme)
|
|
7
|
+
|
|
8
|
+
🛡️ 安全可靠:智能检测文件冲突,避免意外覆盖
|
|
9
|
+
|
|
10
|
+
⚡ 快速创建:一键生成项目结构和配置文件
|
|
11
|
+
|
|
12
|
+
### 组织结构
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
system-cli/
|
|
16
|
+
├── bin/
|
|
17
|
+
│ └── cli.js # 命令行入口
|
|
18
|
+
├── src/
|
|
19
|
+
│ ├── applications/ # 应用市场
|
|
20
|
+
│ ├── commands/
|
|
21
|
+
│ │ └── init.js # init 命令实现
|
|
22
|
+
│ ├── themes/ # 主题市场
|
|
23
|
+
│ ├── config.js # 配置文件管理
|
|
24
|
+
│ └── utils/ # 工具函数
|
|
25
|
+
├── templates/ # 内置模板目录
|
|
26
|
+
│ ├── application # 应用市场模板
|
|
27
|
+
│ └── theme # 主题模板
|
|
28
|
+
├── package.json
|
|
29
|
+
└── README.md
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### 📦 安装
|
|
33
|
+
|
|
34
|
+
#### 全局安装
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npm install -g system-cli
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
#### 从源码安装
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
1. 克隆仓库
|
|
44
|
+
git clone https://e.coding.net/yiofong/silkroad/sharpshop-front.git
|
|
45
|
+
|
|
46
|
+
2. 进入目录
|
|
47
|
+
cd src/system-cli
|
|
48
|
+
|
|
49
|
+
3. 安装依赖
|
|
50
|
+
npm install
|
|
51
|
+
|
|
52
|
+
4. 链接到全局
|
|
53
|
+
npm link
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### 🚀 快速开始
|
|
57
|
+
|
|
58
|
+
#### 基本使用
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
1. 创建新项目
|
|
62
|
+
system-cli init {{项目名}} // 根据选择的模板是 application 或 theme,创建成功后会将{{项目名}}放入 src/application 或 src/theme
|
|
63
|
+
|
|
64
|
+
2. 使用指定模板
|
|
65
|
+
system-cli init {{项目名}} --template {{模板名}}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
#### 项目推送
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
1. 拉取远程代码
|
|
72
|
+
git pull
|
|
73
|
+
|
|
74
|
+
2. 添加所有更改
|
|
75
|
+
git add .
|
|
76
|
+
|
|
77
|
+
3. 提交更改
|
|
78
|
+
git commit -m "提交描述信息"
|
|
79
|
+
|
|
80
|
+
4. 推送到远程仓库
|
|
81
|
+
git push
|
|
82
|
+
```
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
// 检查Node.js版本
|
|
5
|
+
const requiredVersion = "14.0.0";
|
|
6
|
+
const currentVersion = process.version;
|
|
7
|
+
|
|
8
|
+
if (currentVersion < requiredVersion) {
|
|
9
|
+
console.error(`❌ 需要 Node.js ${requiredVersion} 或更高版本,当前版本:${currentVersion}`);
|
|
10
|
+
process.exit(1);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const { program } = require("commander");
|
|
14
|
+
|
|
15
|
+
// 导入package.json
|
|
16
|
+
const pkg = require("../package.json");
|
|
17
|
+
|
|
18
|
+
// 设置基础信息
|
|
19
|
+
program.name("demo-cli").description("Demo脚手架工具").version(pkg.version, "-v, --version", "显示版本号");
|
|
20
|
+
|
|
21
|
+
// 导入命令模块
|
|
22
|
+
require("../src/commands/init");
|
|
23
|
+
require("../src/commands/list");
|
|
24
|
+
require("../src/commands/push");
|
|
25
|
+
require("../src/commands/remove");
|
|
26
|
+
|
|
27
|
+
// 如果没有参数,显示帮助
|
|
28
|
+
if (!process.argv.slice(2).length) {
|
|
29
|
+
program.outputHelp();
|
|
30
|
+
process.exit(0);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
program.parse(process.argv);
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "yf-system-cli",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Demo脚手架工具",
|
|
5
|
+
"main": "bin/cli.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"system-cli": "bin/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
11
|
+
"start": "node bin/cli.js",
|
|
12
|
+
"dev": "node bin/cli.js"
|
|
13
|
+
},
|
|
14
|
+
"keywords": [
|
|
15
|
+
"cli",
|
|
16
|
+
"scaffold",
|
|
17
|
+
"template"
|
|
18
|
+
],
|
|
19
|
+
"author": "longdan",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"axios": "^1.5.0",
|
|
23
|
+
"chalk": "^4.1.2",
|
|
24
|
+
"commander": "^11.1.0",
|
|
25
|
+
"download-git-repo": "^3.0.2",
|
|
26
|
+
"ejs": "^3.1.9",
|
|
27
|
+
"fs-extra": "^11.1.1",
|
|
28
|
+
"inquirer": "^8.2.6",
|
|
29
|
+
"ora": "^5.4.1",
|
|
30
|
+
"simple-git": "^3.19.1"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {},
|
|
33
|
+
"type": "commonjs",
|
|
34
|
+
"engines": {
|
|
35
|
+
"node": ">=14.0.0"
|
|
36
|
+
}
|
|
37
|
+
}
|