@moluoxixi/create-app 2.0.403 → 2.0.406

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.
Files changed (292) hide show
  1. package/dist/commands/create.js +0 -1
  2. package/dist/generators/react.js +0 -2
  3. package/dist/generators/vue.js +0 -2
  4. package/dist/test.js +8 -0
  5. package/dist/utils/deepMerge.js +1 -1
  6. package/dist/utils/featureMapping.d.ts +2 -2
  7. package/dist/utils/featureMapping.js +3 -5
  8. package/dist/utils/generateFrameworkProject.d.ts +0 -4
  9. package/dist/utils/generateFrameworkProject.js +1 -1
  10. package/dist/utils/install.js +1 -1
  11. package/dist/utils/prompts.js +5 -30
  12. package/dist/utils/renderTemplate.js +9 -4
  13. package/package.json +2 -1
  14. package/templates/common/base/.gitmodules +4 -0
  15. package/templates/common/base/package.json +3 -1
  16. package/templates/common/base/scripts/build.mts +17 -17
  17. package/templates/common/base/src/apis/index.ts +3 -4
  18. package/templates/common/base/src/apis/types/example.ts +0 -1
  19. package/templates/common/base/src/assets/fonts/index.css +0 -1
  20. package/templates/common/base/src/assets/styles/base.scss +1 -9
  21. package/templates/common/base/src/assets/styles/custom.scss +0 -1
  22. package/templates/common/base/src/assets/styles/tailwind.scss +0 -1
  23. package/templates/common/base/src/constants/index.ts +3 -4
  24. package/templates/common/base/src/utils/index.ts +22 -23
  25. package/templates/common/base/vite.config.ts.ejs +16 -1
  26. package/templates/common/features/husky/.husky/install.mjs +3 -0
  27. package/templates/common/features/husky/package.json +2 -1
  28. package/templates/react/base/index.html +1 -2
  29. package/templates/react/base/node_modules/.bin/browserslist +17 -0
  30. package/templates/react/base/node_modules/.bin/browserslist.CMD +12 -0
  31. package/templates/react/base/node_modules/.bin/browserslist.ps1 +41 -0
  32. package/templates/react/base/node_modules/.bin/jiti +17 -0
  33. package/templates/react/base/node_modules/.bin/jiti.CMD +12 -0
  34. package/templates/react/base/node_modules/.bin/jiti.ps1 +41 -0
  35. package/templates/react/base/node_modules/.bin/parser +17 -0
  36. package/templates/react/base/node_modules/.bin/parser.CMD +12 -0
  37. package/templates/react/base/node_modules/.bin/parser.ps1 +41 -0
  38. package/templates/react/base/node_modules/.bin/rollup +17 -0
  39. package/templates/react/base/node_modules/.bin/rollup.CMD +12 -0
  40. package/templates/react/base/node_modules/.bin/rollup.ps1 +41 -0
  41. package/templates/react/base/node_modules/.bin/sass +17 -0
  42. package/templates/react/base/node_modules/.bin/sass.CMD +12 -0
  43. package/templates/react/base/node_modules/.bin/sass.ps1 +41 -0
  44. package/templates/react/base/node_modules/.bin/terser +17 -0
  45. package/templates/react/base/node_modules/.bin/terser.CMD +12 -0
  46. package/templates/react/base/node_modules/.bin/terser.ps1 +41 -0
  47. package/templates/react/base/node_modules/.bin/tsc +17 -0
  48. package/templates/react/base/node_modules/.bin/tsc.CMD +12 -0
  49. package/templates/react/base/node_modules/.bin/tsc.ps1 +41 -0
  50. package/templates/react/base/node_modules/.bin/tsserver +17 -0
  51. package/templates/react/base/node_modules/.bin/tsserver.CMD +12 -0
  52. package/templates/react/base/node_modules/.bin/tsserver.ps1 +41 -0
  53. package/templates/react/base/node_modules/.bin/tsx +17 -0
  54. package/templates/react/base/node_modules/.bin/tsx.CMD +12 -0
  55. package/templates/react/base/node_modules/.bin/tsx.ps1 +41 -0
  56. package/templates/react/base/node_modules/.bin/vite +2 -2
  57. package/templates/react/base/node_modules/.bin/vite.CMD +2 -2
  58. package/templates/react/base/node_modules/.bin/vite.ps1 +4 -4
  59. package/templates/react/base/node_modules/.bin/yaml +17 -0
  60. package/templates/react/base/node_modules/.bin/yaml.CMD +12 -0
  61. package/templates/react/base/node_modules/.bin/yaml.ps1 +41 -0
  62. package/templates/react/base/package.json +4 -3
  63. package/templates/react/base/src/main.tsx.ejs +0 -1
  64. package/templates/react/{features/qiankun → base}/src/qiankun/index.ts +5 -2
  65. package/templates/react/base/src/stores/index.ts +5 -0
  66. package/templates/react/base/src/stores/user.ts +55 -0
  67. package/templates/react/base/tsconfig.app.json +0 -1
  68. package/templates/react/base/tsconfig.base.json +0 -1
  69. package/templates/react/base/tsconfig.json +0 -1
  70. package/templates/react/base/tsconfig.node.json +0 -1
  71. package/templates/react/features/eslint/eslint.config.ts +0 -1
  72. package/templates/react/features/eslint/node_modules/.bin/browserslist +17 -0
  73. package/templates/react/features/eslint/node_modules/.bin/browserslist.CMD +12 -0
  74. package/templates/react/features/eslint/node_modules/.bin/browserslist.ps1 +41 -0
  75. package/templates/react/features/eslint/node_modules/.bin/jiti +17 -0
  76. package/templates/react/features/eslint/node_modules/.bin/jiti.CMD +12 -0
  77. package/templates/react/features/eslint/node_modules/.bin/jiti.ps1 +41 -0
  78. package/templates/react/features/eslint/node_modules/.bin/tsc +17 -0
  79. package/templates/react/features/eslint/node_modules/.bin/tsc.CMD +12 -0
  80. package/templates/react/features/eslint/node_modules/.bin/tsc.ps1 +41 -0
  81. package/templates/react/features/eslint/node_modules/.bin/tsserver +17 -0
  82. package/templates/react/features/eslint/node_modules/.bin/tsserver.CMD +12 -0
  83. package/templates/react/features/eslint/node_modules/.bin/tsserver.ps1 +41 -0
  84. package/templates/react/features/i18n/node_modules/.bin/tsc +17 -0
  85. package/templates/react/features/i18n/node_modules/.bin/tsc.CMD +12 -0
  86. package/templates/react/features/i18n/node_modules/.bin/tsc.ps1 +41 -0
  87. package/templates/react/features/i18n/node_modules/.bin/tsserver +17 -0
  88. package/templates/react/features/i18n/node_modules/.bin/tsserver.CMD +12 -0
  89. package/templates/react/features/i18n/node_modules/.bin/tsserver.ps1 +41 -0
  90. package/templates/react/features/i18n/src/locales/index.ts +0 -1
  91. package/templates/react/features/i18n/src/locales/lang/en.ts +1 -2
  92. package/templates/react/features/i18n/src/locales/lang/es.ts +1 -2
  93. package/templates/react/features/i18n/src/locales/lang/zh.ts +1 -2
  94. package/templates/react/{base/src/router/index.tsx.ejs → features/manualRoutes/src/router/index.tsx} +6 -5
  95. package/templates/react/features/manualRoutes/src/router/routes.tsx +4 -3
  96. package/templates/react/features/pageRoutes/node_modules/.bin/jiti +17 -0
  97. package/templates/react/features/pageRoutes/node_modules/.bin/jiti.CMD +12 -0
  98. package/templates/react/features/pageRoutes/node_modules/.bin/jiti.ps1 +41 -0
  99. package/templates/react/features/pageRoutes/node_modules/.bin/sass +17 -0
  100. package/templates/react/features/pageRoutes/node_modules/.bin/sass.CMD +12 -0
  101. package/templates/react/features/pageRoutes/node_modules/.bin/sass.ps1 +41 -0
  102. package/templates/react/features/pageRoutes/node_modules/.bin/terser +17 -0
  103. package/templates/react/features/pageRoutes/node_modules/.bin/terser.CMD +12 -0
  104. package/templates/react/features/pageRoutes/node_modules/.bin/terser.ps1 +41 -0
  105. package/templates/react/features/pageRoutes/node_modules/.bin/tsx +17 -0
  106. package/templates/react/features/pageRoutes/node_modules/.bin/tsx.CMD +12 -0
  107. package/templates/react/features/pageRoutes/node_modules/.bin/tsx.ps1 +41 -0
  108. package/templates/react/features/pageRoutes/node_modules/.bin/vite +17 -0
  109. package/templates/react/features/pageRoutes/node_modules/.bin/vite.CMD +12 -0
  110. package/templates/react/features/pageRoutes/node_modules/.bin/vite.ps1 +41 -0
  111. package/templates/react/features/pageRoutes/node_modules/.bin/yaml +17 -0
  112. package/templates/react/features/pageRoutes/node_modules/.bin/yaml.CMD +12 -0
  113. package/templates/react/features/pageRoutes/node_modules/.bin/yaml.ps1 +41 -0
  114. package/templates/react/features/pageRoutes/src/router/index.tsx +30 -0
  115. package/templates/react/features/sentry/src/utils/sentry.ts +0 -1
  116. package/templates/react/features/zustand/src/types/stores.ts +0 -1
  117. package/templates/vue/base/env.d.ts +11 -12
  118. package/templates/vue/base/index.html +1 -2
  119. package/templates/vue/base/node_modules/.bin/browserslist +17 -0
  120. package/templates/vue/base/node_modules/.bin/browserslist.CMD +12 -0
  121. package/templates/vue/base/node_modules/.bin/browserslist.ps1 +41 -0
  122. package/templates/vue/base/node_modules/.bin/jiti +17 -0
  123. package/templates/vue/base/node_modules/.bin/jiti.CMD +12 -0
  124. package/templates/vue/base/node_modules/.bin/jiti.ps1 +41 -0
  125. package/templates/vue/base/node_modules/.bin/parser +17 -0
  126. package/templates/vue/base/node_modules/.bin/parser.CMD +12 -0
  127. package/templates/vue/base/node_modules/.bin/parser.ps1 +41 -0
  128. package/templates/vue/base/node_modules/.bin/rollup +17 -0
  129. package/templates/vue/base/node_modules/.bin/rollup.CMD +12 -0
  130. package/templates/vue/base/node_modules/.bin/rollup.ps1 +41 -0
  131. package/templates/vue/base/node_modules/.bin/sass +17 -0
  132. package/templates/vue/base/node_modules/.bin/sass.CMD +12 -0
  133. package/templates/vue/base/node_modules/.bin/sass.ps1 +41 -0
  134. package/templates/vue/base/node_modules/.bin/terser +17 -0
  135. package/templates/vue/base/node_modules/.bin/terser.CMD +12 -0
  136. package/templates/vue/base/node_modules/.bin/terser.ps1 +41 -0
  137. package/templates/vue/base/node_modules/.bin/tsc +17 -0
  138. package/templates/vue/base/node_modules/.bin/tsc.CMD +12 -0
  139. package/templates/vue/base/node_modules/.bin/tsc.ps1 +41 -0
  140. package/templates/vue/base/node_modules/.bin/tsserver +17 -0
  141. package/templates/vue/base/node_modules/.bin/tsserver.CMD +12 -0
  142. package/templates/vue/base/node_modules/.bin/tsserver.ps1 +41 -0
  143. package/templates/vue/base/node_modules/.bin/tsx +17 -0
  144. package/templates/vue/base/node_modules/.bin/tsx.CMD +12 -0
  145. package/templates/vue/base/node_modules/.bin/tsx.ps1 +41 -0
  146. package/templates/vue/base/node_modules/.bin/vite +2 -2
  147. package/templates/vue/base/node_modules/.bin/vite.CMD +2 -2
  148. package/templates/vue/base/node_modules/.bin/vite.ps1 +4 -4
  149. package/templates/vue/base/node_modules/.bin/yaml +17 -0
  150. package/templates/vue/base/node_modules/.bin/yaml.CMD +12 -0
  151. package/templates/vue/base/node_modules/.bin/yaml.ps1 +41 -0
  152. package/templates/vue/base/package.json +6 -3
  153. package/templates/vue/base/src/App.vue +5 -5
  154. package/templates/vue/base/src/assets/styles/base.scss +69 -0
  155. package/templates/vue/base/src/assets/styles/custom.scss +40 -0
  156. package/templates/vue/base/src/assets/styles/main.scss +0 -1
  157. package/templates/vue/base/src/assets/styles/tailwind.scss +3 -0
  158. package/templates/vue/base/src/directives/index.ts +9 -9
  159. package/templates/vue/base/src/layouts/index.ts +21 -0
  160. package/templates/vue/base/src/main.ts.ejs +1 -1
  161. package/templates/vue/base/src/pages/about/index.vue +6 -7
  162. package/templates/vue/base/src/pages/home/index.vue +6 -7
  163. package/templates/vue/base/src/router/layout.vue +15 -0
  164. package/templates/vue/base/src/stores/index.ts +6 -0
  165. package/templates/vue/base/src/stores/modules/system.ts +51 -0
  166. package/templates/vue/base/src/stores/modules/user.ts +41 -0
  167. package/templates/vue/base/src/utils/index.ts +5 -0
  168. package/templates/vue/base/src/utils/modifyComponent.tsx +43 -0
  169. package/templates/vue/base/tsconfig.app.json +25 -17
  170. package/templates/vue/base/tsconfig.base.json +29 -23
  171. package/templates/vue/base/tsconfig.json +11 -12
  172. package/templates/vue/base/tsconfig.node.json +14 -15
  173. package/templates/vue/features/ant-design-vue/node_modules/.bin/tsc +17 -0
  174. package/templates/vue/features/ant-design-vue/node_modules/.bin/tsc.CMD +12 -0
  175. package/templates/vue/features/ant-design-vue/node_modules/.bin/tsc.ps1 +41 -0
  176. package/templates/vue/features/ant-design-vue/node_modules/.bin/tsserver +17 -0
  177. package/templates/vue/features/ant-design-vue/node_modules/.bin/tsserver.CMD +12 -0
  178. package/templates/vue/features/ant-design-vue/node_modules/.bin/tsserver.ps1 +41 -0
  179. package/templates/vue/features/ant-design-vue/src/layouts/AntDesign.vue +13 -14
  180. package/templates/vue/features/element-plus/node_modules/.bin/tsc +17 -0
  181. package/templates/vue/features/element-plus/node_modules/.bin/tsc.CMD +12 -0
  182. package/templates/vue/features/element-plus/node_modules/.bin/tsc.ps1 +41 -0
  183. package/templates/vue/features/element-plus/node_modules/.bin/tsserver +17 -0
  184. package/templates/vue/features/element-plus/node_modules/.bin/tsserver.CMD +12 -0
  185. package/templates/vue/features/element-plus/node_modules/.bin/tsserver.ps1 +41 -0
  186. package/templates/vue/features/element-plus/src/assets/styles/element/fixQiankun.scss +10 -0
  187. package/templates/vue/features/element-plus/src/assets/styles/element/index.scss +4 -2
  188. package/templates/vue/features/element-plus/src/components/SubMenu/index.ts +0 -1
  189. package/templates/vue/features/element-plus/src/components/SubMenu/src/_types/index.ts +1 -6
  190. package/templates/vue/features/element-plus/src/components/SubMenu/src/_types/props.ts +16 -11
  191. package/templates/vue/features/element-plus/src/components/SubMenu/src/index.vue +60 -24
  192. package/templates/vue/features/element-plus/src/layouts/element.vue +108 -69
  193. package/templates/vue/features/eslint/eslint.config.ts +0 -1
  194. package/templates/vue/features/eslint/node_modules/.bin/browserslist +17 -0
  195. package/templates/vue/features/eslint/node_modules/.bin/browserslist.CMD +12 -0
  196. package/templates/vue/features/eslint/node_modules/.bin/browserslist.ps1 +41 -0
  197. package/templates/vue/features/eslint/node_modules/.bin/jiti +17 -0
  198. package/templates/vue/features/eslint/node_modules/.bin/jiti.CMD +12 -0
  199. package/templates/vue/features/eslint/node_modules/.bin/jiti.ps1 +41 -0
  200. package/templates/vue/features/eslint/node_modules/.bin/tsc +17 -0
  201. package/templates/vue/features/eslint/node_modules/.bin/tsc.CMD +12 -0
  202. package/templates/vue/features/eslint/node_modules/.bin/tsc.ps1 +41 -0
  203. package/templates/vue/features/eslint/node_modules/.bin/tsserver +17 -0
  204. package/templates/vue/features/eslint/node_modules/.bin/tsserver.CMD +12 -0
  205. package/templates/vue/features/eslint/node_modules/.bin/tsserver.ps1 +41 -0
  206. package/templates/vue/features/i18n/node_modules/.bin/tsc +17 -0
  207. package/templates/vue/features/i18n/node_modules/.bin/tsc.CMD +12 -0
  208. package/templates/vue/features/i18n/node_modules/.bin/tsc.ps1 +41 -0
  209. package/templates/vue/features/i18n/node_modules/.bin/tsserver +17 -0
  210. package/templates/vue/features/i18n/node_modules/.bin/tsserver.CMD +12 -0
  211. package/templates/vue/features/i18n/node_modules/.bin/tsserver.ps1 +41 -0
  212. package/templates/vue/features/i18n/src/locales/lang/en.ts +1 -2
  213. package/templates/vue/features/i18n/src/locales/lang/es.ts +1 -2
  214. package/templates/vue/features/i18n/src/locales/lang/zh.ts +1 -2
  215. package/templates/vue/features/manualRoutes/node_modules/.bin/jiti +17 -0
  216. package/templates/vue/features/manualRoutes/node_modules/.bin/jiti.CMD +12 -0
  217. package/templates/vue/features/manualRoutes/node_modules/.bin/jiti.ps1 +41 -0
  218. package/templates/vue/features/manualRoutes/node_modules/.bin/sass +17 -0
  219. package/templates/vue/features/manualRoutes/node_modules/.bin/sass.CMD +12 -0
  220. package/templates/vue/features/manualRoutes/node_modules/.bin/sass.ps1 +41 -0
  221. package/templates/vue/features/manualRoutes/node_modules/.bin/terser +17 -0
  222. package/templates/vue/features/manualRoutes/node_modules/.bin/terser.CMD +12 -0
  223. package/templates/vue/features/manualRoutes/node_modules/.bin/terser.ps1 +41 -0
  224. package/templates/vue/features/manualRoutes/node_modules/.bin/tsc +17 -0
  225. package/templates/vue/features/manualRoutes/node_modules/.bin/tsc.CMD +12 -0
  226. package/templates/vue/features/manualRoutes/node_modules/.bin/tsc.ps1 +41 -0
  227. package/templates/vue/features/manualRoutes/node_modules/.bin/tsserver +17 -0
  228. package/templates/vue/features/manualRoutes/node_modules/.bin/tsserver.CMD +12 -0
  229. package/templates/vue/features/manualRoutes/node_modules/.bin/tsserver.ps1 +41 -0
  230. package/templates/vue/features/manualRoutes/node_modules/.bin/tsx +17 -0
  231. package/templates/vue/features/manualRoutes/node_modules/.bin/tsx.CMD +12 -0
  232. package/templates/vue/features/manualRoutes/node_modules/.bin/tsx.ps1 +41 -0
  233. package/templates/vue/features/manualRoutes/node_modules/.bin/vite +17 -0
  234. package/templates/vue/features/manualRoutes/node_modules/.bin/vite.CMD +12 -0
  235. package/templates/vue/features/manualRoutes/node_modules/.bin/vite.ps1 +41 -0
  236. package/templates/vue/features/manualRoutes/node_modules/.bin/yaml +17 -0
  237. package/templates/vue/features/manualRoutes/node_modules/.bin/yaml.CMD +12 -0
  238. package/templates/vue/features/manualRoutes/node_modules/.bin/yaml.ps1 +41 -0
  239. package/templates/vue/features/manualRoutes/package.json +7 -0
  240. package/templates/vue/features/manualRoutes/src/router/index.ts +45 -0
  241. package/templates/vue/features/manualRoutes/src/router/layout.vue +12 -7
  242. package/templates/vue/features/manualRoutes/src/stores/index.ts +6 -0
  243. package/templates/vue/features/manualRoutes/src/stores/modules/system.ts +51 -0
  244. package/templates/vue/features/manualRoutes/src/stores/modules/user.ts +41 -0
  245. package/templates/vue/features/pageRoutes/node_modules/.bin/jiti +17 -0
  246. package/templates/vue/features/pageRoutes/node_modules/.bin/jiti.CMD +12 -0
  247. package/templates/vue/features/pageRoutes/node_modules/.bin/jiti.ps1 +41 -0
  248. package/templates/vue/features/pageRoutes/node_modules/.bin/sass +17 -0
  249. package/templates/vue/features/pageRoutes/node_modules/.bin/sass.CMD +12 -0
  250. package/templates/vue/features/pageRoutes/node_modules/.bin/sass.ps1 +41 -0
  251. package/templates/vue/features/pageRoutes/node_modules/.bin/terser +17 -0
  252. package/templates/vue/features/pageRoutes/node_modules/.bin/terser.CMD +12 -0
  253. package/templates/vue/features/pageRoutes/node_modules/.bin/terser.ps1 +41 -0
  254. package/templates/vue/features/pageRoutes/node_modules/.bin/tsc +17 -0
  255. package/templates/vue/features/pageRoutes/node_modules/.bin/tsc.CMD +12 -0
  256. package/templates/vue/features/pageRoutes/node_modules/.bin/tsc.ps1 +41 -0
  257. package/templates/vue/features/pageRoutes/node_modules/.bin/tsserver +17 -0
  258. package/templates/vue/features/pageRoutes/node_modules/.bin/tsserver.CMD +12 -0
  259. package/templates/vue/features/pageRoutes/node_modules/.bin/tsserver.ps1 +41 -0
  260. package/templates/vue/features/pageRoutes/node_modules/.bin/tsx +17 -0
  261. package/templates/vue/features/pageRoutes/node_modules/.bin/tsx.CMD +12 -0
  262. package/templates/vue/features/pageRoutes/node_modules/.bin/tsx.ps1 +41 -0
  263. package/templates/vue/features/pageRoutes/node_modules/.bin/vite +17 -0
  264. package/templates/vue/features/pageRoutes/node_modules/.bin/vite.CMD +12 -0
  265. package/templates/vue/features/pageRoutes/node_modules/.bin/vite.ps1 +41 -0
  266. package/templates/vue/features/pageRoutes/node_modules/.bin/yaml +17 -0
  267. package/templates/vue/features/pageRoutes/node_modules/.bin/yaml.CMD +12 -0
  268. package/templates/vue/features/pageRoutes/node_modules/.bin/yaml.ps1 +41 -0
  269. package/templates/vue/features/pageRoutes/package.json +4 -1
  270. package/templates/vue/features/pageRoutes/src/router/index.ts +46 -0
  271. package/templates/vue/features/pageRoutes/src/router/layout.vue +15 -0
  272. package/templates/vue/features/pageRoutes/src/stores/index.ts +6 -0
  273. package/templates/vue/features/pageRoutes/src/stores/modules/system.ts +51 -0
  274. package/templates/vue/features/pageRoutes/src/stores/modules/user.ts +41 -0
  275. package/templates/vue/features/sentry/node_modules/.bin/tsc +17 -0
  276. package/templates/vue/features/sentry/node_modules/.bin/tsc.CMD +12 -0
  277. package/templates/vue/features/sentry/node_modules/.bin/tsc.ps1 +41 -0
  278. package/templates/vue/features/sentry/node_modules/.bin/tsserver +17 -0
  279. package/templates/vue/features/sentry/node_modules/.bin/tsserver.CMD +12 -0
  280. package/templates/vue/features/sentry/node_modules/.bin/tsserver.ps1 +41 -0
  281. package/templates/vue/features/sentry/package.json +3 -1
  282. package/templates/vue/features/sentry/src/stores/index.ts +13 -0
  283. package/templates/vue/features/sentry/src/utils/sentry.ts +0 -1
  284. package/templates/react/features/qiankun/package.json +0 -6
  285. package/templates/vue/base/src/router/index.ts.ejs +0 -36
  286. package/templates/vue/features/pinia/package.json +0 -7
  287. package/templates/vue/features/pinia/src/stores/index.ts +0 -16
  288. package/templates/vue/features/pinia/src/stores/system.ts +0 -60
  289. package/templates/vue/features/pinia/src/stores/user.ts +0 -56
  290. package/templates/vue/features/qiankun/package.json +0 -5
  291. package/templates/vue/features/qiankun/src/qiankun/index.ts +0 -75
  292. package/templates/vue/features/router/package.json +0 -5
@@ -37,7 +37,6 @@ export async function createProject(projectName) {
37
37
  console.log(chalk.gray(` UI 组件库: ${chalk.white(config.uiLibrary)}`));
38
38
  console.log(chalk.gray(` 路由模式: ${chalk.white(config.routeMode)}`));
39
39
  console.log(chalk.gray(` 国际化: ${chalk.white(config.i18n ? '是' : '否')}`));
40
- console.log(chalk.gray(` 微前端: ${chalk.white(config.qiankun ? '是' : '否')}`));
41
40
  console.log(chalk.gray(` 错误监控: ${chalk.white(config.sentry ? '是' : '否')}`));
42
41
  console.log(chalk.gray(` 包管理器: ${chalk.white(config.packageManager)}`));
43
42
  console.log('');
@@ -13,7 +13,5 @@ export async function generateReactProject(config) {
13
13
  generateFrameworkProject(config, {
14
14
  mainTemplate: 'src/main.tsx.ejs',
15
15
  mainOutput: 'src/main.tsx',
16
- routerTemplate: 'src/router/index.tsx.ejs',
17
- routerOutput: 'src/router/index.tsx',
18
16
  });
19
17
  }
@@ -13,7 +13,5 @@ export async function generateVueProject(config) {
13
13
  generateFrameworkProject(config, {
14
14
  mainTemplate: 'src/main.ts.ejs',
15
15
  mainOutput: 'src/main.ts',
16
- routerTemplate: 'src/router/index.ts.ejs',
17
- routerOutput: 'src/router/index.ts',
18
16
  });
19
17
  }
package/dist/test.js CHANGED
@@ -170,6 +170,7 @@ function createTestConfig(framework, uiLibrary, suffix, overrides) {
170
170
  /**
171
171
  * 生成测试项目
172
172
  * @param minimalOnly 是否只生成全量和最小配置
173
+ * @returns Promise<void>
173
174
  */
174
175
  async function generateTestProjects(minimalOnly = false) {
175
176
  const mode = minimalOnly ? '(仅全量和最小配置)' : '(全部组合)';
@@ -220,6 +221,8 @@ async function generateTestProjects(minimalOnly = false) {
220
221
  }
221
222
  /**
222
223
  * 检查 package.json 中是否有 catalog 引用(应该已经全部替换为实际版本号)
224
+ * @param projectDir 项目目录路径
225
+ * @returns 检查是否通过(true 表示通过,false 表示失败)
223
226
  */
224
227
  function checkPackageJsonVersions(projectDir) {
225
228
  const packageJsonPath = path.join(projectDir, FILE_CONSTANTS.PACKAGE_JSON);
@@ -371,6 +374,9 @@ async function showFileTrees() {
371
374
  }
372
375
  /**
373
376
  * 打印文件树
377
+ * @param dir 目录路径
378
+ * @param indent 缩进字符串
379
+ * @returns Promise<void>
374
380
  */
375
381
  async function printFileTree(dir, indent) {
376
382
  const items = fs.readdirSync(dir).sort();
@@ -390,6 +396,8 @@ async function printFileTree(dir, indent) {
390
396
  }
391
397
  /**
392
398
  * 主函数
399
+ * 执行测试项目生成、依赖审计和文件树显示
400
+ * @returns Promise<void>
393
401
  */
394
402
  async function main() {
395
403
  const { minimalOnly } = parseArgs();
@@ -33,7 +33,7 @@ export function deepMerge(target, source) {
33
33
  /**
34
34
  * 判断值是否为对象(非数组、非 null)
35
35
  * @param val 待判断的值
36
- * @returns 是否为对象
36
+ * @returns 是否为对象,排除数组和 null
37
37
  */
38
38
  function isObject(val) {
39
39
  return val !== null && typeof val === 'object' && !Array.isArray(val);
@@ -11,10 +11,10 @@ import type { FrameworkType } from '../types/index.ts';
11
11
  export declare function scanAllFeatures(framework: FrameworkType): string[];
12
12
  /**
13
13
  * 配置项到 feature 目录的映射(从 renderFeatures 提取)
14
- * @param framework 框架类型
14
+ * @param _framework 框架类型(已不再使用,保留以保持接口兼容性)
15
15
  * @returns 配置键到 feature 名称的映射对象
16
16
  */
17
- export declare function getConfigToFeatureMap(framework: FrameworkType): Record<string, string>;
17
+ export declare function getConfigToFeatureMap(_framework: FrameworkType): Record<string, string>;
18
18
  /**
19
19
  * 公共 features 映射
20
20
  * @returns 公共配置键到 feature 名称的映射对象
@@ -41,17 +41,15 @@ export function scanAllFeatures(framework) {
41
41
  }
42
42
  /**
43
43
  * 配置项到 feature 目录的映射(从 renderFeatures 提取)
44
- * @param framework 框架类型
44
+ * @param _framework 框架类型(已不再使用,保留以保持接口兼容性)
45
45
  * @returns 配置键到 feature 名称的映射对象
46
46
  */
47
- export function getConfigToFeatureMap(framework) {
47
+ export function getConfigToFeatureMap(_framework) {
48
48
  return {
49
- router: 'router',
50
- stateManagement: framework === 'vue' ? 'pinia' : 'zustand',
49
+ // router、stateManagement、qiankun 已内置到 base,不再作为 feature
51
50
  eslint: 'eslint',
52
51
  i18n: 'i18n',
53
52
  sentry: 'sentry',
54
- qiankun: 'qiankun',
55
53
  };
56
54
  }
57
55
  /**
@@ -12,10 +12,6 @@ interface EjsTemplateConfig {
12
12
  mainTemplate: string;
13
13
  /** 主入口文件输出路径(相对于目标目录) */
14
14
  mainOutput: string;
15
- /** 路由文件模板路径(相对于框架 base 目录) */
16
- routerTemplate: string;
17
- /** 路由文件输出路径(相对于目标目录) */
18
- routerOutput: string;
19
15
  }
20
16
  /**
21
17
  * 生成框架项目的通用函数
@@ -36,7 +36,7 @@ export function generateFrameworkProject(config, ejsConfig) {
36
36
  };
37
37
  const frameworkBasePath = path.join(templatesDir, framework, 'base');
38
38
  renderEjsToFile(path.join(frameworkBasePath, ejsConfig.mainTemplate), path.join(targetDir, ejsConfig.mainOutput), ejsData);
39
- renderEjsToFile(path.join(frameworkBasePath, ejsConfig.routerTemplate), path.join(targetDir, ejsConfig.routerOutput), ejsData);
39
+ // Router 已通过 feature 覆盖实现(manualRoutes/pageRoutes),不再使用 EJS
40
40
  // 6. 数据驱动生成 vite.config.ts(使用 EJS 模板)
41
41
  const viteConfigEjsData = getViteConfigEjsData(config);
42
42
  const commonBasePath = path.join(templatesDir, 'common', 'base');
@@ -12,7 +12,7 @@ const RETRY_DELAY_BASE_MS = 1000;
12
12
  * 验证命令参数安全性
13
13
  * @param packageManager 包管理器类型
14
14
  * @param cwd 工作目录
15
- * @throws {Error} 如果参数不安全
15
+ * @throws {Error} 如果包管理器类型不支持或路径不安全
16
16
  */
17
17
  function validateInstallParams(packageManager, cwd) {
18
18
  // 验证包管理器类型
@@ -113,7 +113,7 @@ export async function collectProjectConfig(projectName) {
113
113
  }
114
114
  },
115
115
  },
116
- // 路由模式
116
+ // 路由模式(路由已内置,只需选择模式)
117
117
  {
118
118
  type: 'list',
119
119
  name: 'routeMode',
@@ -123,24 +123,6 @@ export async function collectProjectConfig(projectName) {
123
123
  { name: '手动配置路由', value: 'manual' },
124
124
  ],
125
125
  },
126
- // 是否启用路由
127
- {
128
- type: 'confirm',
129
- name: 'router',
130
- message: '是否启用路由 (vue-router/react-router-dom)?',
131
- default: true,
132
- },
133
- // 是否启用状态管理
134
- {
135
- type: 'confirm',
136
- name: 'stateManagement',
137
- message: (answers) => {
138
- return answers.framework === 'vue'
139
- ? '是否启用状态管理 (Pinia)?'
140
- : '是否启用状态管理 (Zustand)?';
141
- },
142
- default: true,
143
- },
144
126
  // 是否启用国际化
145
127
  {
146
128
  type: 'confirm',
@@ -148,13 +130,6 @@ export async function collectProjectConfig(projectName) {
148
130
  message: '是否启用国际化 (i18n)?',
149
131
  default: true,
150
132
  },
151
- // 是否启用微前端
152
- {
153
- type: 'confirm',
154
- name: 'qiankun',
155
- message: '是否启用微前端 (qiankun)?',
156
- default: false,
157
- },
158
133
  // 是否启用错误监控
159
134
  {
160
135
  type: 'confirm',
@@ -196,11 +171,11 @@ export async function collectProjectConfig(projectName) {
196
171
  author: answers.author,
197
172
  framework: answers.framework,
198
173
  uiLibrary: answers.uiLibrary,
199
- routeMode: answers.routeMode,
200
- router: answers.router,
201
- stateManagement: answers.stateManagement,
174
+ routeMode: answers.routeMode || 'manual',
175
+ router: true, // 路由已内置
176
+ stateManagement: true, // 状态管理已内置
202
177
  i18n: answers.i18n,
203
- qiankun: answers.qiankun,
178
+ qiankun: true, // 微前端已内置
204
179
  sentry: answers.sentry,
205
180
  eslint: answers.eslint,
206
181
  gitHooks: answers.gitHooks,
@@ -23,13 +23,15 @@ export function renderTemplate(src, dest) {
23
23
  if (path.basename(src) === FILE_CONSTANTS.NODE_MODULES) {
24
24
  return;
25
25
  }
26
- fs.mkdirSync(dest, { recursive: true });
26
+ // 统一使用绝对路径,确保目录创建和文件复制使用相同的路径格式
27
+ const resolvedDest = path.resolve(dest);
28
+ fs.mkdirSync(resolvedDest, { recursive: true });
27
29
  for (const file of fs.readdirSync(src)) {
28
30
  // 验证文件名安全性
29
31
  if (file.includes('..') || file.includes('~')) {
30
32
  throw new Error(`不安全的文件名: ${file}`);
31
33
  }
32
- renderTemplate(path.resolve(src, file), path.resolve(dest, file));
34
+ renderTemplate(path.resolve(src, file), path.resolve(resolvedDest, file));
33
35
  }
34
36
  return;
35
37
  }
@@ -51,6 +53,9 @@ export function renderTemplate(src, dest) {
51
53
  // 处理特殊文件名转换(如 _gitignore -> .gitignore)
52
54
  const targetFilename = renameFile(filename);
53
55
  const targetPath = path.resolve(path.dirname(dest), targetFilename);
56
+ // 确保目标文件的父目录存在
57
+ // 虽然目录处理时已创建,但文件名重命名时路径可能不同,需要确保父目录存在
58
+ fs.mkdirSync(path.dirname(targetPath), { recursive: true });
54
59
  // 普通文件直接复制(后面的会覆盖前面的)
55
60
  fs.copyFileSync(src, targetPath);
56
61
  }
@@ -106,7 +111,7 @@ function renderPackageJson(src, dest) {
106
111
  /**
107
112
  * 获取包管理器的默认版本号
108
113
  * @param packageManager 包管理器类型
109
- * @returns 包管理器版本字符串
114
+ * @returns 包管理器版本字符串,如果未找到则返回 pnpm 的默认版本
110
115
  */
111
116
  function getPackageManagerVersion(packageManager) {
112
117
  const versions = {
@@ -158,7 +163,7 @@ export function updatePackageJsonMetadata(packageJsonPath, projectName, descript
158
163
  * 重命名特殊文件
159
164
  * 某些文件不能以 . 开头存在于模板中,需要特殊处理
160
165
  * @param name 原始文件名
161
- * @returns 转换后的文件名
166
+ * @returns 转换后的文件名,_ 开头的文件会转换为 . 开头
162
167
  */
163
168
  function renameFile(name) {
164
169
  // _开头的文件转换为.开头
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moluoxixi/create-app",
3
- "version": "2.0.403",
3
+ "version": "2.0.406",
4
4
  "type": "module",
5
5
  "description": "Create Vue/React projects with atomic layered architecture",
6
6
  "main": "dist/index.js",
@@ -77,6 +77,7 @@
77
77
  "test:all": "tsx src/test.ts",
78
78
  "type-check": "tsc --noEmit",
79
79
  "lint:eslint": "eslint . --fix",
80
+ "submodule:update": "git submodule init && git submodule update --init --recursive",
80
81
  "lint-staged": "lint-staged",
81
82
  "commit": "git add . && git-cz",
82
83
  "version:patch": "pnpm version patch --no-git-tag-version",
@@ -0,0 +1,4 @@
1
+ [submodule ".cursor"]
2
+ path = .cursor
3
+ url = https://github.com/moluoxixi/AIRules.git
4
+ branch = main
@@ -9,6 +9,8 @@
9
9
  "packageManager": "pnpm@10.8.0",
10
10
  "scripts": {
11
11
  "dev": "vite",
12
+ "submodule:update": "git submodule init && git submodule update --init --recursive",
13
+ "prepare": "pnpm submodule:update",
12
14
  "build": "vite build --mode production",
13
15
  "build:zip": "vite build --mode production && tsx scripts/build.mts",
14
16
  "preview": "vite preview",
@@ -45,7 +47,7 @@
45
47
  "tailwindcss": "^4.0.0",
46
48
  "tsx": "^4.20.5",
47
49
  "typescript": "~5.8.0",
48
- "vite": "^6.2.4"
50
+ "vite": "7.1.11"
49
51
  },
50
52
  "author": "",
51
53
  "license": "MIT"
@@ -3,18 +3,18 @@
3
3
  * 打包生成的 dist 目录为 zip 文件
4
4
  */
5
5
 
6
- import path from 'node:path';
7
- import process from 'node:process';
8
- import compressing from 'compressing';
9
- import dotenv from 'dotenv';
6
+ import path from 'node:path'
7
+ import process from 'node:process'
8
+ import compressing from 'compressing'
9
+ import dotenv from 'dotenv'
10
10
 
11
11
  // 加载环境变量
12
- dotenv.config({ path: '.env.production' });
12
+ dotenv.config({ path: '.env.production' })
13
13
 
14
- const appCode = process.env.VITE_APP_CODE || 'app';
15
- const rootPath = path.resolve();
16
- const distPath = path.join(rootPath, 'dist');
17
- const outputPath = path.join(rootPath, `${appCode}.zip`);
14
+ const appCode = process.env.VITE_APP_CODE || 'app'
15
+ const rootPath = path.resolve()
16
+ const distPath = path.join(rootPath, 'dist')
17
+ const outputPath = path.join(rootPath, `${appCode}.zip`)
18
18
 
19
19
  /**
20
20
  * 构建 ZIP 压缩包
@@ -24,14 +24,14 @@ const outputPath = path.join(rootPath, `${appCode}.zip`);
24
24
  */
25
25
  async function buildZip(): Promise<void> {
26
26
  try {
27
- console.log(`📦 Compressing ${distPath} to ${outputPath}...`);
28
- await compressing.zip.compressDir(distPath, outputPath);
29
- console.log(`✅ Successfully created ${outputPath}`);
30
- } catch (error) {
31
- console.error('❌ Failed to compress:', error);
32
- process.exit(1);
27
+ console.log(`📦 Compressing ${distPath} to ${outputPath}...`)
28
+ await compressing.zip.compressDir(distPath, outputPath)
29
+ console.log(`✅ Successfully created ${outputPath}`)
30
+ }
31
+ catch (error) {
32
+ console.error('❌ Failed to compress:', error)
33
+ process.exit(1)
33
34
  }
34
35
  }
35
36
 
36
- buildZip();
37
-
37
+ buildZip()
@@ -2,7 +2,6 @@
2
2
  * API 服务导出
3
3
  */
4
4
 
5
- export * from './services/user';
6
- export * from './services/example';
7
- export * from './types';
8
-
5
+ export * from './services/example'
6
+ export * from './services/user'
7
+ export * from './types'
@@ -27,4 +27,3 @@ export type CreateExampleParamsType = Omit<ExampleItemType, 'id' | 'createdAt'>
27
27
  * 所有字段可选
28
28
  */
29
29
  export type UpdateExampleParamsType = Partial<ExampleItemType>
30
-
@@ -4,4 +4,3 @@
4
4
  */
5
5
 
6
6
  /* 可在此添加自定义字体 */
7
-
@@ -20,14 +20,7 @@ html {
20
20
 
21
21
  body {
22
22
  min-height: 100vh;
23
- font-family:
24
- -apple-system,
25
- BlinkMacSystemFont,
26
- 'Segoe UI',
27
- Roboto,
28
- 'Helvetica Neue',
29
- Arial,
30
- sans-serif;
23
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
31
24
  }
32
25
 
33
26
  img,
@@ -69,4 +62,3 @@ ol {
69
62
  #app {
70
63
  min-height: 100vh;
71
64
  }
72
-
@@ -4,4 +4,3 @@
4
4
  */
5
5
 
6
6
  // 可在此添加项目特定的全局样式
7
-
@@ -3,4 +3,3 @@
3
3
  */
4
4
 
5
5
  @import 'tailwindcss';
6
-
@@ -9,7 +9,7 @@ export const STORAGE_KEYS = {
9
9
  USER_INFO: 'userInfo',
10
10
  LANGUAGE: 'language',
11
11
  THEME: 'theme',
12
- } as const;
12
+ } as const
13
13
 
14
14
  /** 响应码 */
15
15
  export const RESPONSE_CODE = {
@@ -18,12 +18,11 @@ export const RESPONSE_CODE = {
18
18
  FORBIDDEN: 403,
19
19
  NOT_FOUND: 404,
20
20
  SERVER_ERROR: 500,
21
- } as const;
21
+ } as const
22
22
 
23
23
  /** 分页默认配置 */
24
24
  export const PAGINATION = {
25
25
  DEFAULT_PAGE: 1,
26
26
  DEFAULT_PAGE_SIZE: 10,
27
27
  PAGE_SIZE_OPTIONS: [10, 20, 50, 100],
28
- } as const;
29
-
28
+ } as const
@@ -9,7 +9,7 @@
9
9
  * @returns Promise,在指定时间后 resolve
10
10
  */
11
11
  export function sleep(ms: number): Promise<void> {
12
- return new Promise((resolve) => setTimeout(resolve, ms));
12
+ return new Promise(resolve => setTimeout(resolve, ms))
13
13
  }
14
14
 
15
15
  /**
@@ -18,7 +18,7 @@ export function sleep(ms: number): Promise<void> {
18
18
  * @returns 深拷贝后的新对象
19
19
  */
20
20
  export function deepClone<T>(obj: T): T {
21
- return JSON.parse(JSON.stringify(obj));
21
+ return JSON.parse(JSON.stringify(obj))
22
22
  }
23
23
 
24
24
  /**
@@ -29,17 +29,17 @@ export function deepClone<T>(obj: T): T {
29
29
  */
30
30
  export function debounce<T extends (...args: unknown[]) => unknown>(
31
31
  fn: T,
32
- delay: number
32
+ delay: number,
33
33
  ): (...args: Parameters<T>) => void {
34
- let timer: ReturnType<typeof setTimeout> | null = null;
34
+ let timer: ReturnType<typeof setTimeout> | null = null
35
35
  return function (this: unknown, ...args: Parameters<T>) {
36
36
  if (timer) {
37
- clearTimeout(timer);
37
+ clearTimeout(timer)
38
38
  }
39
39
  timer = setTimeout(() => {
40
- fn.apply(this, args);
41
- }, delay);
42
- };
40
+ fn.apply(this, args)
41
+ }, delay)
42
+ }
43
43
  }
44
44
 
45
45
  /**
@@ -50,16 +50,16 @@ export function debounce<T extends (...args: unknown[]) => unknown>(
50
50
  */
51
51
  export function throttle<T extends (...args: unknown[]) => unknown>(
52
52
  fn: T,
53
- delay: number
53
+ delay: number,
54
54
  ): (...args: Parameters<T>) => void {
55
- let lastTime = 0;
55
+ let lastTime = 0
56
56
  return function (this: unknown, ...args: Parameters<T>) {
57
- const now = Date.now();
57
+ const now = Date.now()
58
58
  if (now - lastTime >= delay) {
59
- lastTime = now;
60
- fn.apply(this, args);
59
+ lastTime = now
60
+ fn.apply(this, args)
61
61
  }
62
- };
62
+ }
63
63
  }
64
64
 
65
65
  /**
@@ -69,13 +69,13 @@ export function throttle<T extends (...args: unknown[]) => unknown>(
69
69
  * @returns 格式化后的日期字符串
70
70
  */
71
71
  export function formatDate(date: Date | string | number, format = 'YYYY-MM-DD HH:mm:ss'): string {
72
- const d = new Date(date);
73
- const year = d.getFullYear();
74
- const month = String(d.getMonth() + 1).padStart(2, '0');
75
- const day = String(d.getDate()).padStart(2, '0');
76
- const hours = String(d.getHours()).padStart(2, '0');
77
- const minutes = String(d.getMinutes()).padStart(2, '0');
78
- const seconds = String(d.getSeconds()).padStart(2, '0');
72
+ const d = new Date(date)
73
+ const year = d.getFullYear()
74
+ const month = String(d.getMonth() + 1).padStart(2, '0')
75
+ const day = String(d.getDate()).padStart(2, '0')
76
+ const hours = String(d.getHours()).padStart(2, '0')
77
+ const minutes = String(d.getMinutes()).padStart(2, '0')
78
+ const seconds = String(d.getSeconds()).padStart(2, '0')
79
79
 
80
80
  return format
81
81
  .replace('YYYY', String(year))
@@ -83,6 +83,5 @@ export function formatDate(date: Date | string | number, format = 'YYYY-MM-DD HH
83
83
  .replace('DD', day)
84
84
  .replace('HH', hours)
85
85
  .replace('mm', minutes)
86
- .replace('ss', seconds);
86
+ .replace('ss', seconds)
87
87
  }
88
-
@@ -32,7 +32,6 @@ export default ViteConfig(
32
32
  <% } -%>
33
33
  viteConfig: {
34
34
  plugins: [
35
- cssModuleGlobalRootPlugin() as any,
36
35
  <% if (sentry) { -%>
37
36
  viteEnv.VITE_SENTRY && mode === 'production' && sentryVitePlugin({
38
37
  authToken: process.env.SENTRY_AUTH_TOKEN,
@@ -61,6 +60,22 @@ export default ViteConfig(
61
60
  scss: {
62
61
  silenceDeprecations: ['legacy-js-api'],
63
62
  api: 'modern-compiler',
63
+ <% if (uiLibrary === 'element-plus') { -%>
64
+ additionalData: (source: string, filename: string) => {
65
+ if (filename.includes('assets/styles/element/index.scss')) {
66
+ return `$namespace : ${appCode || 'el'};
67
+ ${source}`
68
+ }
69
+ else {
70
+ return source
71
+ }
72
+ },
73
+ <% } -%>
74
+ },
75
+ postcss: {
76
+ plugins: [
77
+ cssModuleGlobalRootPlugin() as any,
78
+ ],
64
79
  },
65
80
  },
66
81
  },
@@ -1,6 +1,9 @@
1
1
  // Skip Husky install in production and CI
2
+ import process from 'node:process'
3
+
2
4
  if (process.env.NODE_ENV === 'production' || process.env.CI === 'true') {
3
5
  process.exit(0)
4
6
  }
7
+ // eslint-disable-next-line antfu/no-top-level-await
5
8
  const husky = (await import('husky')).default
6
9
  console.log(husky())
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "scripts": {
3
- "prepare": "node .husky/install.mjs",
3
+ "prepare": "pnpm submodule:update && node .husky/install.mjs",
4
4
  "lint-staged": "lint-staged",
5
5
  "commit": "git add . && git-cz"
6
6
  },
@@ -20,6 +20,7 @@
20
20
  "devDependencies": {
21
21
  "@commitlint/cli": "^19.8.0",
22
22
  "@commitlint/config-conventional": "^19.8.0",
23
+ "@commitlint/types": "^19.8.0",
23
24
  "commitizen": "^4.3.1",
24
25
  "cz-customizable": "^7.4.0",
25
26
  "husky": "^9.1.7",
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!doctype html>
2
2
  <html lang="zh-CN">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -11,4 +11,3 @@
11
11
  <script type="module" src="/src/main.tsx"></script>
12
12
  </body>
13
13
  </html>
14
-
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/mnt/e/project/template/vite-cli/node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/node_modules:/mnt/e/project/template/vite-cli/node_modules/.pnpm/browserslist@4.28.1/node_modules:/mnt/e/project/template/vite-cli/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/mnt/e/project/template/vite-cli/node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/node_modules:/mnt/e/project/template/vite-cli/node_modules/.pnpm/browserslist@4.28.1/node_modules:/mnt/e/project/template/vite-cli/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/cli.js" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../node_modules/.pnpm/browserslist@4.28.1/node_modules/browserslist/cli.js" "$@"
17
+ fi
@@ -0,0 +1,12 @@
1
+ @SETLOCAL
2
+ @IF NOT DEFINED NODE_PATH (
3
+ @SET "NODE_PATH=E:\project\template\vite-cli\node_modules\.pnpm\browserslist@4.28.1\node_modules\browserslist\node_modules;E:\project\template\vite-cli\node_modules\.pnpm\browserslist@4.28.1\node_modules;E:\project\template\vite-cli\node_modules\.pnpm\node_modules"
4
+ ) ELSE (
5
+ @SET "NODE_PATH=E:\project\template\vite-cli\node_modules\.pnpm\browserslist@4.28.1\node_modules\browserslist\node_modules;E:\project\template\vite-cli\node_modules\.pnpm\browserslist@4.28.1\node_modules;E:\project\template\vite-cli\node_modules\.pnpm\node_modules;%NODE_PATH%"
6
+ )
7
+ @IF EXIST "%~dp0\node.exe" (
8
+ "%~dp0\node.exe" "%~dp0\..\..\..\..\..\node_modules\.pnpm\browserslist@4.28.1\node_modules\browserslist\cli.js" %*
9
+ ) ELSE (
10
+ @SET PATHEXT=%PATHEXT:;.JS;=;%
11
+ node "%~dp0\..\..\..\..\..\node_modules\.pnpm\browserslist@4.28.1\node_modules\browserslist\cli.js" %*
12
+ )