create-jnrs-vue 1.2.12 → 1.2.13

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/bin/create.mjs CHANGED
@@ -2,8 +2,8 @@
2
2
  * @Author : TanRui
3
3
  * @WeChat : Tan578853789
4
4
  * @File : create.mjs
5
- * @Date : 2026/01/01
6
- * @Desc. : 脚手架创建脚本(支持 workspace:* 依赖选择)
5
+ * @Date : 2026/03/16
6
+ * @Desc. : 脚手架创建脚本
7
7
  */
8
8
 
9
9
  import { fileURLToPath } from 'url'
@@ -72,20 +72,11 @@ function toValidPackageName(projectName) {
72
72
  .replace(/[^a-z0-9-~@/._]/g, '-')
73
73
  }
74
74
 
75
- // 提取 workspace:* 依赖
76
- function extractWorkspaceDeps(pkg) {
77
- const deps = { ...pkg.dependencies, ...pkg.devDependencies }
78
- const workspaceDeps = Object.entries(deps)
79
- .filter(([_, value]) => value === 'workspace:*')
80
- .map(([name]) => name)
81
- return workspaceDeps
82
- }
83
-
84
75
  async function main() {
85
76
  const argv = minimist(process.argv.slice(2), { string: ['_'] })
86
77
  let targetDir = argv._[0]
87
78
 
88
- // 新增:判断是否使用当前目录
79
+ // 判断是否使用当前目录
89
80
  const isCurrentDir = targetDir === '.'
90
81
 
91
82
  if (!targetDir) {
@@ -122,47 +113,43 @@ async function main() {
122
113
 
123
114
  await fs.cp(templateDir, root, { recursive: true })
124
115
 
125
- const pkgPath = join(root, 'package.json')
126
- const pkg = JSON.parse(await fs.readFile(pkgPath, 'utf8'))
127
-
128
- const pkgName = isCurrentDir
129
- ? toValidPackageName(process.cwd().split(/[\\/]/).pop() || 'jnrs-vue')
130
- : toValidPackageName(targetDir)
116
+ // 定义可选的内部模块
117
+ const allWorkspaceDeps = ['@jnrs/shared', '@jnrs/vue-core', '@jnrs/lingshu-smart']
118
+ const defaultSelected = ['@jnrs/shared', '@jnrs/vue-core']
131
119
 
132
- pkg.name = pkgName
120
+ const { selected: selectedWorkspaceDeps } = await prompts({
121
+ type: 'multiselect',
122
+ name: 'selected',
123
+ message: '请选择要包含的内部依赖模块(默认选中常用模块):',
124
+ choices: allWorkspaceDeps.map((dep) => ({
125
+ title: dep,
126
+ value: dep,
127
+ selected: defaultSelected.includes(dep)
128
+ })),
129
+ instructions: false
130
+ })
133
131
 
134
- // ===== 新增逻辑:处理 workspace:* 依赖 =====
135
- const allWorkspaceDeps = extractWorkspaceDeps(pkg)
136
- let selectedWorkspaceDeps = []
137
-
138
- if (allWorkspaceDeps.length > 0) {
139
- const defaultSelected = ['@jnrs/shared', '@jnrs/vue-core'].filter((dep) => allWorkspaceDeps.includes(dep))
140
-
141
- const { selected } = await prompts({
142
- type: 'multiselect',
143
- name: 'selected',
144
- message: '请选择要包含的 workspace 依赖(默认选中常用模块):',
145
- choices: allWorkspaceDeps.map((dep) => ({
146
- title: dep,
147
- value: dep,
148
- selected: defaultSelected.includes(dep)
149
- })),
150
- instructions: false
151
- })
132
+ // 读取并更新 package.json
133
+ const pkgPath = join(root, 'package.json')
134
+ const pkg = JSON.parse(await fs.readFile(pkgPath, 'utf8'))
152
135
 
153
- selectedWorkspaceDeps = selected || []
136
+ pkg.dependencies = pkg.dependencies || {}
137
+ pkg.devDependencies = pkg.devDependencies || {}
154
138
 
155
- // 移除未选中的 workspace 依赖
156
- for (const section of ['dependencies', 'devDependencies']) {
157
- if (!pkg[section]) continue
158
- for (const dep of Object.keys(pkg[section])) {
159
- if (pkg[section][dep] === 'workspace:*' && !selectedWorkspaceDeps.includes(dep)) {
160
- delete pkg[section][dep]
161
- }
139
+ // 移除未选中的模块(无论在 dependencies 还是 devDependencies)
140
+ for (const section of ['dependencies', 'devDependencies']) {
141
+ for (const dep of Object.keys(pkg[section])) {
142
+ if (allWorkspaceDeps.includes(dep) && !selectedWorkspaceDeps?.includes(dep)) {
143
+ delete pkg[section][dep]
162
144
  }
163
145
  }
164
146
  }
165
- // ===== 结束新增逻辑 =====
147
+
148
+ // 设置包名
149
+ const pkgName = isCurrentDir
150
+ ? toValidPackageName(process.cwd().split(/[\\/]/).pop() || 'jnrs-vue')
151
+ : toValidPackageName(targetDir)
152
+ pkg.name = pkgName
166
153
 
167
154
  await fs.writeFile(pkgPath, JSON.stringify(pkg, null, 2))
168
155
 
@@ -0,0 +1,17 @@
1
+ {
2
+ "words": [
3
+ "Assetsfilter",
4
+ "axios",
5
+ "cascader",
6
+ "dingtalk",
7
+ "Iface",
8
+ "lingshu",
9
+ "linshu",
10
+ "msdownload",
11
+ "resizeable",
12
+ "rotateable",
13
+ "skewable",
14
+ "taobao",
15
+ "wechat"
16
+ ]
17
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jnrs-vue",
3
- "version": "1.2.12",
3
+ "version": "1.2.13",
4
4
  "description": "JNRS 信息化管理系统",
5
5
  "author": "talia_tan",
6
6
  "private": true,
@@ -37,6 +37,7 @@
37
37
  "@vue/eslint-config-prettier": "^10.2.0",
38
38
  "@vue/eslint-config-typescript": "^14.6.0",
39
39
  "@vue/tsconfig": "^0.8.1",
40
+ "cspell": "^9.7.0",
40
41
  "eslint": "^9.39.1",
41
42
  "eslint-plugin-vue": "~10.4.0",
42
43
  "jiti": "^2.6.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-jnrs-vue",
3
- "version": "1.2.12",
3
+ "version": "1.2.13",
4
4
  "description": "巨能前端工程化开发,Vue 项目模板脚手架",
5
5
  "keywords": [
6
6
  "vue",