@moluoxixi/create-app 2.0.406 → 2.0.407

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 CHANGED
@@ -20,12 +20,30 @@ npm create @moluoxixi/app
20
20
  - 🚀 **原子化分层架构** - L0/L1/L2 三层模板,灵活组合
21
21
  - 📦 **多框架支持** - Vue 3、React 18
22
22
  - 🎨 **多 UI 库** - Element Plus、Ant Design Vue、Ant Design
23
- - 🌍 **国际化** - 内置 vue-i18n / i18next 支持
24
- - 📊 **错误监控** - 可选 Sentry 集成
25
- - 🔗 **微前端** - 可选 Qiankun 支持 (Vue)
26
- - ⚡ **文件系统路由** - 可选 vite-plugin-pages
27
23
  - 📝 **TypeScript** - 全面的类型支持
28
- - 🔧 **规范配置** - ESLint + Commitlint + Husky
24
+
25
+ ### 内置功能(所有项目默认包含)
26
+
27
+ - ✅ **路由系统** - Vue Router / React Router DOM,支持手动配置和文件系统路由
28
+ - ✅ **状态管理** - Pinia (Vue) / Zustand (React)
29
+ - ✅ **微前端支持** - Qiankun 集成,开箱即用
30
+
31
+ ### 可选功能
32
+
33
+ - 🌍 **国际化** - 可选 vue-i18n / i18next 支持
34
+ - 📊 **错误监控** - 可选 Sentry 集成
35
+ - ⚡ **文件系统路由** - 可选 vite-plugin-pages(替代手动路由)
36
+ - 🔧 **规范配置** - 可选 ESLint + Commitlint + Husky
37
+
38
+ ## 📋 开发计划
39
+
40
+ 以下功能正在规划中,欢迎贡献:
41
+
42
+ - [ ] 🔄 **Ant Design Vue 模板重构** - 优化 ant-design-vue 模板结构和配置
43
+ - [ ] 🔄 **Ant Design 模板重构** - 优化 ant-design 模板结构和配置
44
+ - [ ] 🔧 **main.ts.ejs 解耦** - 将 Vue 入口文件模板解耦,提高可维护性
45
+ - [ ] 🔧 **main.tsx.ejs 解耦** - 将 React 入口文件模板解耦,提高可维护性
46
+ - [ ] 🔧 **vite.config.ts.ejs 解耦** - 将 Vite 配置模板解耦,提高可维护性
29
47
 
30
48
  ## 内置依赖
31
49
 
@@ -63,9 +81,8 @@ my-project/
63
81
  │ └── main.ts # 入口文件
64
82
  ├── .env # 环境变量
65
83
  ├── package.json # 项目配置
66
- ├── pnpm-workspace.yaml # pnpm 工作区
67
84
  ├── vite.config.ts # Vite 配置
68
- ├── eslint.config.ts # ESLint 配置
85
+ ├── eslint.config.ts # ESLint 配置(可选)
69
86
  └── tsconfig.json # TypeScript 配置
70
87
  ```
71
88
 
@@ -93,17 +110,31 @@ pnpm commit
93
110
 
94
111
  ## 配置选项
95
112
 
113
+ ### 必选配置
114
+
96
115
  | 选项 | 类型 | 说明 |
97
116
  |------|------|------|
98
117
  | 项目名称 | string | 项目名称,用于 package.json |
99
118
  | 框架 | vue / react | 前端框架 |
100
119
  | UI 库 | element-plus / ant-design-vue / ant-design | UI 组件库 |
101
120
  | 路由模式 | manual / file-system | 手动配置或文件系统路由 |
102
- | 国际化 | boolean | 是否启用多语言支持 |
103
- | 错误监控 | boolean | 是否集成 Sentry |
104
- | 微前端 | boolean | 是否支持 Qiankun (仅 Vue) |
105
121
  | 包管理器 | pnpm / npm / yarn | 包管理器 |
106
122
 
123
+ ### 可选功能
124
+
125
+ | 选项 | 类型 | 默认值 | 说明 |
126
+ |------|------|--------|------|
127
+ | 国际化 | boolean | true | 是否启用多语言支持 (vue-i18n / i18next) |
128
+ | 错误监控 | boolean | false | 是否集成 Sentry |
129
+ | ESLint | boolean | true | 是否启用 ESLint 代码规范检查 |
130
+ | Git Hooks | boolean | true | 是否启用 Husky + Commitlint |
131
+
132
+ ### 内置功能(无需配置)
133
+
134
+ - ✅ **路由系统** - 所有项目默认包含
135
+ - ✅ **状态管理** - Vue 使用 Pinia,React 使用 Zustand
136
+ - ✅ **微前端** - Qiankun 支持已内置
137
+
107
138
  ## 开发
108
139
 
109
140
  ```bash
@@ -120,10 +151,6 @@ pnpm test
120
151
  pnpm build
121
152
  ```
122
153
 
123
- ## 架构文档
124
-
125
- 详细的架构说明请参阅 [docs/ARCHITECTURE.md](./docs/ARCHITECTURE.md)
126
-
127
154
  ## 许可证
128
155
 
129
156
  MIT
@@ -50,6 +50,15 @@ export async function createProject(projectName) {
50
50
  spinner.fail('项目创建失败');
51
51
  throw error;
52
52
  }
53
+ // 初始化 Git
54
+ const gitSpinner = ora('正在初始化 Git...').start();
55
+ try {
56
+ await initGit(config.targetDir, config.projectName);
57
+ gitSpinner.succeed('Git 初始化成功!');
58
+ }
59
+ catch {
60
+ gitSpinner.warn('Git 初始化跳过');
61
+ }
53
62
  // 安装依赖
54
63
  const installSpinner = ora('正在安装依赖...').start();
55
64
  try {
@@ -64,15 +73,6 @@ export async function createProject(projectName) {
64
73
  console.log(chalk.gray(` 错误详情: ${error.message}`));
65
74
  }
66
75
  }
67
- // 初始化 Git
68
- const gitSpinner = ora('正在初始化 Git...').start();
69
- try {
70
- await initGit(config.targetDir);
71
- gitSpinner.succeed('Git 初始化成功!');
72
- }
73
- catch {
74
- gitSpinner.warn('Git 初始化跳过');
75
- }
76
76
  // 显示成功信息
77
77
  console.log(chalk.green.bold('\n✅ 项目创建成功!\n'));
78
78
  console.log(chalk.blue('下一步:'));
@@ -15,6 +15,7 @@ export declare function installDependencies(packageManager: PackageManagerType,
15
15
  /**
16
16
  * 初始化 Git 仓库
17
17
  * @param cwd 工作目录
18
+ * @param projectName 项目名称,用于生成提交信息
18
19
  * @returns Promise<void>
19
20
  */
20
- export declare function initGit(cwd: string): Promise<void>;
21
+ export declare function initGit(cwd: string, projectName: string): Promise<void>;
@@ -64,15 +64,16 @@ export async function installDependencies(packageManager, cwd, retries = 0) {
64
64
  /**
65
65
  * 初始化 Git 仓库
66
66
  * @param cwd 工作目录
67
+ * @param projectName 项目名称,用于生成提交信息
67
68
  * @returns Promise<void>
68
69
  */
69
- export async function initGit(cwd) {
70
+ export async function initGit(cwd, projectName) {
70
71
  try {
71
72
  // 验证路径安全性
72
73
  validatePath(cwd);
73
74
  await execAsync('git init', { cwd });
74
75
  await execAsync('git add .', { cwd });
75
- await execAsync('git commit -m "chore: initial commit"', { cwd });
76
+ await execAsync(`git commit -m "feat: initialize ${projectName}"`, { cwd });
76
77
  }
77
78
  catch {
78
79
  // Git 初始化失败不影响项目创建,静默失败
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moluoxixi/create-app",
3
- "version": "2.0.406",
3
+ "version": "2.0.407",
4
4
  "type": "module",
5
5
  "description": "Create Vue/React projects with atomic layered architecture",
6
6
  "main": "dist/index.js",
@@ -1,19 +1,19 @@
1
- {
2
- "name": "vue-project",
3
- "scripts": {
4
- "type-check": "vue-tsc --noEmit"
5
- },
6
- "dependencies": {
7
- "vue": "^3.5.13",
8
- "vite-plugin-qiankun": "^1.0.15",
9
- "pinia": "^2.2.7",
10
- "pinia-plugin-persistedstate": "^3.2.1",
11
- "vue-router": "^4.4.5"
12
- },
13
- "devDependencies": {
14
- "@moluoxixi/css-module-global-root-plugin": "latest",
15
- "@moluoxixi/vite-config": "latest",
16
- "@vue-macros/volar": "^3.0.0-beta.15",
17
- "vue-tsc": "^2.1.30"
18
- }
19
- }
1
+ {
2
+ "name": "vue-project",
3
+ "scripts": {
4
+ "type-check": "vue-tsc --noEmit"
5
+ },
6
+ "dependencies": {
7
+ "vue": "^3.5.13",
8
+ "vite-plugin-qiankun": "^1.0.15",
9
+ "pinia": "^2.2.7",
10
+ "pinia-plugin-persistedstate": "^3.2.1",
11
+ "vue-router": "^4.4.5"
12
+ },
13
+ "devDependencies": {
14
+ "@moluoxixi/css-module-global-root-plugin": "latest",
15
+ "@moluoxixi/vite-config": "latest",
16
+ "@vue-macros/volar": "^3.0.0-beta.15",
17
+ "vue-tsc": "^2.1.30"
18
+ }
19
+ }