create-packer 1.46.4 → 1.47.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.
Files changed (283) hide show
  1. package/package.json +1 -1
  2. package/template/cli/package.json +53 -53
  3. package/template/cli/scripts/pub.js +39 -39
  4. package/template/cli/src/createTemp.ts +58 -58
  5. package/template/docusaurus/src/components/HomepageFeatures/index.tsx +70 -70
  6. package/template/docusaurus/src/components/HomepageFeatures/styles.module.css +11 -11
  7. package/template/docusaurus/src/css/custom.css +30 -30
  8. package/template/docusaurus/src/pages/index.module.css +23 -23
  9. package/template/docusaurus/src/pages/index.tsx +40 -40
  10. package/template/electron-react/.vscode/extensions.json +7 -7
  11. package/template/electron-react/configs/createChunks.ts +26 -26
  12. package/template/electron-react/configs/rsbuild.main.config.ts +54 -54
  13. package/template/electron-react/configs/rsbuild.preload.config.ts +54 -54
  14. package/template/electron-react/configs/rsbuild.renderer.config.ts +73 -73
  15. package/template/electron-react/env.d.ts +12 -12
  16. package/template/electron-react/eslint.config.mjs +108 -108
  17. package/template/electron-react/package.json +97 -97
  18. package/template/electron-react/pnpm-lock.yaml +10158 -10158
  19. package/template/electron-react/postcss.config.cjs +8 -8
  20. package/template/electron-react/renderer/domain/components/app-context.tsx +31 -31
  21. package/template/electron-react/renderer/domain/components/app.tsx +25 -25
  22. package/template/electron-react/renderer/domain/components/index.ts +1 -1
  23. package/template/electron-react/renderer/domain/models/app.ts +7 -7
  24. package/template/electron-react/renderer/domain/router/components/index.ts +2 -2
  25. package/template/electron-react/renderer/domain/router/components/route-layout.tsx +19 -19
  26. package/template/electron-react/renderer/domain/router/components/sub-route-outlet.tsx +22 -22
  27. package/template/electron-react/renderer/domain/router/home/ids.ts +3 -3
  28. package/template/electron-react/renderer/domain/router/home/index.ts +2 -2
  29. package/template/electron-react/renderer/domain/router/home/routes.tsx +13 -13
  30. package/template/electron-react/renderer/domain/router/ids.ts +6 -6
  31. package/template/electron-react/renderer/domain/router/index.ts +4 -4
  32. package/template/electron-react/renderer/domain/router/router.tsx +28 -28
  33. package/template/electron-react/renderer/domain/router/router.types.ts +3 -3
  34. package/template/electron-react/renderer/main.tsx +4 -4
  35. package/template/electron-react/renderer/pages/home/index.ts +1 -1
  36. package/template/electron-react/renderer/pages/index.tsx +18 -18
  37. package/template/electron-react/renderer/pages/not-found.tsx +3 -3
  38. package/template/electron-react/renderer/scripts/createChunks.ts +26 -26
  39. package/template/electron-react/renderer/scripts/index.ts +1 -1
  40. package/template/electron-react/renderer/shared/components/componentInstance.tsx +80 -80
  41. package/template/electron-react/renderer/shared/components/index.ts +1 -1
  42. package/template/electron-react/renderer/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  43. package/template/electron-react/renderer/shared/hooks/defineRouter/deineRouter.tsx +161 -161
  44. package/template/electron-react/renderer/shared/hooks/defineRouter/index.ts +2 -2
  45. package/template/electron-react/renderer/shared/hooks/index.ts +6 -6
  46. package/template/electron-react/renderer/shared/hooks/useInterval.ts +26 -26
  47. package/template/electron-react/renderer/shared/hooks/useLoadingAction.ts +27 -27
  48. package/template/electron-react/renderer/shared/hooks/useLowPriorityState.ts +26 -26
  49. package/template/electron-react/renderer/shared/hooks/useSyncState.ts +15 -15
  50. package/template/electron-react/renderer/shared/hooks/useVisible.ts +27 -27
  51. package/template/electron-react/renderer/shared/service/api.ts +1 -1
  52. package/template/electron-react/renderer/shared/service/home.ts +9 -9
  53. package/template/electron-react/renderer/shared/service/index.ts +3 -3
  54. package/template/electron-react/renderer/shared/service/request.ts +5 -5
  55. package/template/electron-react/tsconfig.json +33 -33
  56. package/template/electron-react/tsconfig.node.json +10 -10
  57. package/template/electron-vue/.vscode/extensions.json +9 -9
  58. package/template/electron-vue/configs/createChunks.ts +26 -26
  59. package/template/electron-vue/configs/rsbuild.main.config.ts +54 -54
  60. package/template/electron-vue/configs/rsbuild.preload.config.ts +54 -54
  61. package/template/electron-vue/configs/rsbuild.renderer.config.ts +64 -64
  62. package/template/electron-vue/env.d.ts +18 -18
  63. package/template/electron-vue/eslint.config.mjs +115 -115
  64. package/template/electron-vue/package.json +87 -87
  65. package/template/electron-vue/pnpm-lock.yaml +10158 -10158
  66. package/template/electron-vue/postcss.config.cjs +9 -9
  67. package/template/electron-vue/renderer/domain/components/app.vue +18 -18
  68. package/template/electron-vue/renderer/domain/components/createComponentInstance.ts +43 -43
  69. package/template/electron-vue/renderer/domain/components/index.ts +2 -2
  70. package/template/electron-vue/renderer/domain/router/home/index.ts +2 -2
  71. package/template/electron-vue/renderer/domain/router/home/names.ts +3 -3
  72. package/template/electron-vue/renderer/domain/router/home/routes.ts +8 -8
  73. package/template/electron-vue/renderer/domain/router/index.ts +26 -26
  74. package/template/electron-vue/renderer/domain/router/names.ts +5 -5
  75. package/template/electron-vue/renderer/main.css +4 -4
  76. package/template/electron-vue/renderer/main.ts +7 -7
  77. package/template/electron-vue/renderer/pages/home/view.vue +12 -12
  78. package/template/electron-vue/renderer/pages/index.ts +1 -1
  79. package/template/electron-vue/renderer/pages/index.vue +3 -3
  80. package/template/electron-vue/renderer/pages/not-found.vue +3 -3
  81. package/template/electron-vue/renderer/shared/hooks/index.ts +2 -2
  82. package/template/electron-vue/renderer/shared/hooks/useList.ts +86 -86
  83. package/template/electron-vue/renderer/shared/hooks/useVisible.ts +27 -27
  84. package/template/electron-vue/renderer/shared/service/api.ts +1 -1
  85. package/template/electron-vue/renderer/shared/service/home.ts +7 -7
  86. package/template/electron-vue/renderer/shared/service/index.ts +3 -3
  87. package/template/electron-vue/renderer/shared/service/request.ts +5 -5
  88. package/template/electron-vue/tsconfig.json +25 -25
  89. package/template/electron-vue/tsconfig.node.json +10 -10
  90. package/template/lib/workspace/.storybook/main.ts +16 -16
  91. package/template/lib/workspace/.storybook/preview.tsx +17 -17
  92. package/template/lib/workspace/eslint.config.mjs +119 -119
  93. package/template/lib/workspace/packages/react/src/button/button.stories.ts +44 -44
  94. package/template/web-app/react-rsbuild/.vscode/extensions.json +7 -7
  95. package/template/web-app/react-rsbuild/.vscode/settings.json +4 -4
  96. package/template/web-app/react-rsbuild/domain/components/app-context.tsx +31 -31
  97. package/template/web-app/react-rsbuild/domain/components/app.tsx +25 -25
  98. package/template/web-app/react-rsbuild/domain/components/index.ts +1 -1
  99. package/template/web-app/react-rsbuild/domain/models/app.ts +7 -7
  100. package/template/web-app/react-rsbuild/domain/router/components/index.ts +2 -2
  101. package/template/web-app/react-rsbuild/domain/router/components/route-layout.tsx +19 -19
  102. package/template/web-app/react-rsbuild/domain/router/components/sub-route-outlet.tsx +22 -22
  103. package/template/web-app/react-rsbuild/domain/router/home/ids.ts +3 -3
  104. package/template/web-app/react-rsbuild/domain/router/home/index.ts +2 -2
  105. package/template/web-app/react-rsbuild/domain/router/home/routes.tsx +13 -13
  106. package/template/web-app/react-rsbuild/domain/router/ids.ts +6 -6
  107. package/template/web-app/react-rsbuild/domain/router/index.ts +4 -4
  108. package/template/web-app/react-rsbuild/domain/router/router.tsx +28 -28
  109. package/template/web-app/react-rsbuild/domain/router/router.types.ts +3 -3
  110. package/template/web-app/react-rsbuild/eslint.config.js +107 -107
  111. package/template/web-app/react-rsbuild/main.tsx +6 -6
  112. package/template/web-app/react-rsbuild/package.json +79 -79
  113. package/template/web-app/react-rsbuild/pages/home/index.ts +1 -1
  114. package/template/web-app/react-rsbuild/pages/index.tsx +18 -18
  115. package/template/web-app/react-rsbuild/pages/not-found.tsx +3 -3
  116. package/template/web-app/react-rsbuild/postcss.config.cjs +8 -8
  117. package/template/web-app/react-rsbuild/rsbuild.config.ts +91 -91
  118. package/template/web-app/react-rsbuild/scripts/createChunks.ts +26 -26
  119. package/template/web-app/react-rsbuild/scripts/index.ts +1 -1
  120. package/template/web-app/react-rsbuild/shared/components/componentInstance.tsx +80 -80
  121. package/template/web-app/react-rsbuild/shared/components/index.ts +1 -1
  122. package/template/web-app/react-rsbuild/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  123. package/template/web-app/react-rsbuild/shared/hooks/defineRouter/deineRouter.tsx +161 -161
  124. package/template/web-app/react-rsbuild/shared/hooks/defineRouter/index.ts +2 -2
  125. package/template/web-app/react-rsbuild/shared/hooks/index.ts +7 -6
  126. package/template/web-app/react-rsbuild/shared/hooks/useDebounceFn.ts +37 -0
  127. package/template/web-app/react-rsbuild/shared/hooks/useInterval.ts +26 -26
  128. package/template/web-app/react-rsbuild/shared/hooks/useLazyRender.ts +30 -0
  129. package/template/web-app/react-rsbuild/shared/hooks/useLowPriorityState.ts +26 -26
  130. package/template/web-app/react-rsbuild/shared/hooks/useSyncState.ts +15 -15
  131. package/template/web-app/react-rsbuild/shared/hooks/useVisible.ts +27 -27
  132. package/template/web-app/react-rsbuild/shared/service/api.ts +1 -1
  133. package/template/web-app/react-rsbuild/shared/service/home.ts +9 -9
  134. package/template/web-app/react-rsbuild/shared/service/index.ts +3 -3
  135. package/template/web-app/react-rsbuild/shared/service/request.ts +5 -5
  136. package/template/web-app/react-rsbuild/tsconfig.json +33 -33
  137. package/template/web-app/react-rsbuild/tsconfig.node.json +10 -10
  138. package/template/web-app/react-vite/.gitignore +3 -3
  139. package/template/web-app/react-vite/.vscode/extensions.json +7 -7
  140. package/template/web-app/react-vite/.vscode/settings.json +4 -4
  141. package/template/web-app/react-vite/domain/components/index.ts +1 -1
  142. package/template/web-app/react-vite/domain/models/app.ts +7 -7
  143. package/template/web-app/react-vite/domain/router/components/route-layout.tsx +19 -19
  144. package/template/web-app/react-vite/domain/router/components/sub-route-outlet.tsx +22 -22
  145. package/template/web-app/react-vite/domain/router/home/ids.ts +3 -3
  146. package/template/web-app/react-vite/domain/router/home/index.ts +2 -2
  147. package/template/web-app/react-vite/domain/router/home/routes.tsx +13 -13
  148. package/template/web-app/react-vite/domain/router/ids.ts +6 -6
  149. package/template/web-app/react-vite/domain/router/router.tsx +28 -28
  150. package/template/web-app/react-vite/domain/router/router.types.ts +3 -3
  151. package/template/web-app/react-vite/eslint.config.js +114 -114
  152. package/template/web-app/react-vite/mockUtils.ts +6 -6
  153. package/template/web-app/react-vite/package.json +78 -78
  154. package/template/web-app/react-vite/pages/index.tsx +18 -18
  155. package/template/web-app/react-vite/pages/not-found.tsx +3 -3
  156. package/template/web-app/react-vite/postcss.config.cjs +8 -8
  157. package/template/web-app/react-vite/scripts/createChunks.ts +27 -27
  158. package/template/web-app/react-vite/scripts/index.ts +1 -1
  159. package/template/web-app/react-vite/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  160. package/template/web-app/react-vite/shared/hooks/defineRouter/deineRouter.tsx +161 -161
  161. package/template/web-app/react-vite/shared/hooks/defineRouter/index.ts +2 -2
  162. package/template/web-app/react-vite/shared/hooks/index.ts +7 -6
  163. package/template/web-app/react-vite/shared/hooks/useDebounceFn.ts +37 -0
  164. package/template/web-app/react-vite/shared/hooks/useInterval.ts +26 -26
  165. package/template/web-app/react-vite/shared/hooks/useLazyRender.ts +30 -0
  166. package/template/web-app/react-vite/shared/hooks/useLowPriorityState.ts +26 -26
  167. package/template/web-app/react-vite/shared/hooks/useSyncState.ts +15 -15
  168. package/template/web-app/react-vite/shared/hooks/useVisible.ts +27 -27
  169. package/template/web-app/react-vite/shared/service/api.ts +1 -1
  170. package/template/web-app/react-vite/shared/service/home.ts +9 -9
  171. package/template/web-app/react-vite/shared/service/index.ts +3 -3
  172. package/template/web-app/react-vite/shared/service/request.ts +5 -5
  173. package/template/web-app/react-vite/tsconfig.json +33 -33
  174. package/template/web-app/react-vite/tsconfig.node.json +10 -10
  175. package/template/web-app/vue/.vscode/extensions.json +9 -9
  176. package/template/web-app/vue/domain/components/app.vue +18 -18
  177. package/template/web-app/vue/domain/components/createComponentInstance.ts +43 -43
  178. package/template/web-app/vue/domain/components/index.ts +2 -2
  179. package/template/web-app/vue/domain/router/home/index.ts +2 -2
  180. package/template/web-app/vue/domain/router/home/names.ts +3 -3
  181. package/template/web-app/vue/domain/router/home/routes.ts +8 -8
  182. package/template/web-app/vue/domain/router/index.ts +26 -26
  183. package/template/web-app/vue/domain/router/names.ts +5 -5
  184. package/template/web-app/vue/eslint.config.js +123 -123
  185. package/template/web-app/vue/main.css +4 -4
  186. package/template/web-app/vue/main.ts +7 -7
  187. package/template/web-app/vue/mockUtils.ts +6 -6
  188. package/template/web-app/vue/pages/home/view.vue +16 -16
  189. package/template/web-app/vue/pages/index.ts +1 -1
  190. package/template/web-app/vue/pages/index.vue +3 -3
  191. package/template/web-app/vue/pages/not-found.vue +3 -3
  192. package/template/web-app/vue/postcss.config.cjs +8 -8
  193. package/template/web-app/vue/scripts/createChunks.ts +27 -27
  194. package/template/web-app/vue/scripts/index.ts +1 -1
  195. package/template/web-app/vue/shared/hooks/index.ts +2 -2
  196. package/template/web-app/vue/shared/hooks/useList.ts +86 -86
  197. package/template/web-app/vue/shared/hooks/useVisible.ts +27 -27
  198. package/template/web-app/vue/shared/service/api.ts +1 -1
  199. package/template/web-app/vue/shared/service/home.ts +7 -7
  200. package/template/web-app/vue/shared/service/index.ts +3 -3
  201. package/template/web-app/vue/shared/service/request.ts +5 -5
  202. package/template/web-app/vue/tsconfig.json +25 -25
  203. package/template/web-app/vue/tsconfig.node.json +10 -10
  204. package/template/web-app/vue/vite-env.d.ts +18 -18
  205. package/template/web-app/vue/vite.config.ts +68 -68
  206. package/template/web-app/vue-rsbuild/.vscode/extensions.json +9 -9
  207. package/template/web-app/vue-rsbuild/domain/components/app.vue +18 -18
  208. package/template/web-app/vue-rsbuild/domain/components/createComponentInstance.ts +43 -43
  209. package/template/web-app/vue-rsbuild/domain/components/index.ts +2 -2
  210. package/template/web-app/vue-rsbuild/domain/router/home/index.ts +2 -2
  211. package/template/web-app/vue-rsbuild/domain/router/home/names.ts +3 -3
  212. package/template/web-app/vue-rsbuild/domain/router/home/routes.ts +8 -8
  213. package/template/web-app/vue-rsbuild/domain/router/index.ts +26 -26
  214. package/template/web-app/vue-rsbuild/domain/router/names.ts +5 -5
  215. package/template/web-app/vue-rsbuild/env.d.ts +18 -18
  216. package/template/web-app/vue-rsbuild/eslint.config.js +114 -114
  217. package/template/web-app/vue-rsbuild/main.css +4 -4
  218. package/template/web-app/vue-rsbuild/main.ts +7 -7
  219. package/template/web-app/vue-rsbuild/package.json +73 -73
  220. package/template/web-app/vue-rsbuild/pages/home/view.vue +16 -16
  221. package/template/web-app/vue-rsbuild/pages/index.ts +1 -1
  222. package/template/web-app/vue-rsbuild/pages/index.vue +3 -3
  223. package/template/web-app/vue-rsbuild/pages/not-found.vue +3 -3
  224. package/template/web-app/vue-rsbuild/postcss.config.cjs +9 -9
  225. package/template/web-app/vue-rsbuild/rsbuild.config.ts +77 -77
  226. package/template/web-app/vue-rsbuild/scripts/createChunks.ts +26 -26
  227. package/template/web-app/vue-rsbuild/scripts/index.ts +1 -1
  228. package/template/web-app/vue-rsbuild/shared/hooks/index.ts +2 -2
  229. package/template/web-app/vue-rsbuild/shared/hooks/useList.ts +86 -86
  230. package/template/web-app/vue-rsbuild/shared/hooks/useVisible.ts +27 -27
  231. package/template/web-app/vue-rsbuild/shared/service/api.ts +1 -1
  232. package/template/web-app/vue-rsbuild/shared/service/home.ts +7 -7
  233. package/template/web-app/vue-rsbuild/shared/service/index.ts +3 -3
  234. package/template/web-app/vue-rsbuild/shared/service/request.ts +5 -5
  235. package/template/web-app/vue-rsbuild/tsconfig.json +25 -25
  236. package/template/web-app/vue-rsbuild/tsconfig.node.json +10 -10
  237. package/template/web-extension/.vscode/extensions.json +7 -7
  238. package/template/web-extension/.vscode/settings.json +4 -4
  239. package/template/web-extension/.wxt/eslint-auto-imports.mjs +56 -56
  240. package/template/web-extension/.wxt/eslintrc-auto-import.json +21 -21
  241. package/template/web-extension/.wxt/tsconfig.json +27 -27
  242. package/template/web-extension/.wxt/types/globals.d.ts +15 -15
  243. package/template/web-extension/.wxt/types/i18n.d.ts +81 -81
  244. package/template/web-extension/.wxt/types/imports-module.d.ts +20 -20
  245. package/template/web-extension/.wxt/types/imports.d.ts +50 -50
  246. package/template/web-extension/.wxt/types/paths.d.ts +17 -17
  247. package/template/web-extension/.wxt/wxt.d.ts +7 -7
  248. package/template/web-extension/entrypoints/background/index.ts +7 -7
  249. package/template/web-extension/entrypoints/content/domain/app/index.ts +1 -1
  250. package/template/web-extension/entrypoints/content/domain/app/tools/index.ts +1 -1
  251. package/template/web-extension/entrypoints/content/domain/app/tools/insertApp.tsx +58 -58
  252. package/template/web-extension/entrypoints/content/modules/common/index.ts +2 -2
  253. package/template/web-extension/entrypoints/content/modules/common/insert.tsx +9 -9
  254. package/template/web-extension/entrypoints/content/modules/index.ts +1 -1
  255. package/template/web-extension/eslint.config.js +107 -107
  256. package/template/web-extension/package.json +86 -86
  257. package/template/web-extension/postcss.config.cjs +8 -8
  258. package/template/web-extension/shared/background/index.ts +1 -1
  259. package/template/web-extension/shared/background/message.ts +7 -7
  260. package/template/web-extension/shared/components/app-context/view.tsx +19 -19
  261. package/template/web-extension/shared/components/index.ts +1 -1
  262. package/template/web-extension/shared/hooks/index.ts +2 -2
  263. package/template/web-extension/shared/hooks/useSyncState.ts +15 -15
  264. package/template/web-extension/shared/hooks/useVisible.ts +27 -27
  265. package/template/web-extension/shared/service/index.ts +1 -1
  266. package/template/web-extension/shared/service/request.ts +5 -5
  267. package/template/web-extension/tsconfig.node.json +10 -10
  268. package/template/lib/workspace/node_modules/.pnpm/node_modules/react-lib/.gitignore +0 -26
  269. package/template/lib/workspace/node_modules/.pnpm/node_modules/ts-lib/.gitignore +0 -25
  270. package/template/lib/workspace/packages/ts/coverage/base.css +0 -224
  271. package/template/lib/workspace/packages/ts/coverage/block-navigation.js +0 -87
  272. package/template/lib/workspace/packages/ts/coverage/clover.xml +0 -16
  273. package/template/lib/workspace/packages/ts/coverage/coverage-final.json +0 -3
  274. package/template/lib/workspace/packages/ts/coverage/favicon.png +0 -0
  275. package/template/lib/workspace/packages/ts/coverage/index.html +0 -131
  276. package/template/lib/workspace/packages/ts/coverage/index.ts.html +0 -88
  277. package/template/lib/workspace/packages/ts/coverage/prettify.css +0 -1
  278. package/template/lib/workspace/packages/ts/coverage/prettify.js +0 -2
  279. package/template/lib/workspace/packages/ts/coverage/sort-arrow-sprite.png +0 -0
  280. package/template/lib/workspace/packages/ts/coverage/sorter.js +0 -196
  281. package/template/lib/workspace/packages/ts/coverage/sum.ts.html +0 -94
  282. package/template/web-app/react-rsbuild/shared/hooks/useLoadingAction.ts +0 -27
  283. package/template/web-app/react-vite/shared/hooks/useLoadingAction.ts +0 -27
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-packer",
3
- "version": "1.46.4",
3
+ "version": "1.47.0",
4
4
  "main": "index.js",
5
5
  "repository": "https://github.com/kevily/create-packer",
6
6
  "author": "1k <bug_zero@163.com>",
@@ -1,53 +1,53 @@
1
- {
2
- "name": "template-cli",
3
- "version": "0.0.1",
4
- "main": "index.js",
5
- "repository": "https://github.com/kevily/create-packer",
6
- "author": "1k <bug_zero@163.com>",
7
- "license": "MIT",
8
- "private": false,
9
- "bin": "./bin/index.js",
10
- "type": "module",
11
- "scripts": {
12
- "login": "npm login --registry https://registry.npmjs.org",
13
- "pub": "pnpm run build && pnpm run push && node ./scripts/pub.js",
14
- "test": "pnpm run build && rimraf ./__test__ && node ./bin __test__",
15
- "build": "rimraf ./bin && tsc",
16
- "commit": "git add . && cz",
17
- "push": "pnpm run commit && git push",
18
- "format": "prettier --write \"**/*.{ts,js,tsx,jsx,json,css,scss,less}\""
19
- },
20
- "files": [
21
- "bin",
22
- "template",
23
- "template/**/.gitignore",
24
- ".gitignore"
25
- ],
26
- "dependencies": {
27
- "@inquirer/prompts": "7.0.0",
28
- "chalk": "5.3.0",
29
- "commander": "8.1.0",
30
- "fs-extra": "11.3.0",
31
- "lodash": "4.17.21",
32
- "ora": "8.1.0"
33
- },
34
- "devDependencies": {
35
- "@commitlint/config-conventional": "^17.7.0",
36
- "@commitlint/cz-commitlint": "17.4.2",
37
- "@types/fs-extra": "9.0.12",
38
- "@types/inquirer": "7.3.3",
39
- "@types/node": "18",
40
- "commitizen": "4.3.0",
41
- "eslint": "9.17.0",
42
- "globals": "15.12.0",
43
- "prettier": "3.2.5",
44
- "rimraf": "3.0.2",
45
- "typescript": "5.8.2",
46
- "typescript-eslint": "8.15.0"
47
- },
48
- "config": {
49
- "commitizen": {
50
- "path": "@commitlint/cz-commitlint"
51
- }
52
- }
53
- }
1
+ {
2
+ "name": "template-cli",
3
+ "version": "0.0.1",
4
+ "main": "index.js",
5
+ "repository": "https://github.com/kevily/create-packer",
6
+ "author": "1k <bug_zero@163.com>",
7
+ "license": "MIT",
8
+ "private": false,
9
+ "bin": "./bin/index.js",
10
+ "type": "module",
11
+ "scripts": {
12
+ "login": "npm login --registry https://registry.npmjs.org",
13
+ "pub": "pnpm run build && pnpm run push && node ./scripts/pub.js",
14
+ "test": "pnpm run build && rimraf ./__test__ && node ./bin __test__",
15
+ "build": "rimraf ./bin && tsc",
16
+ "commit": "git add . && cz",
17
+ "push": "pnpm run commit && git push",
18
+ "format": "prettier --write \"**/*.{ts,js,tsx,jsx,json,css,scss,less}\""
19
+ },
20
+ "files": [
21
+ "bin",
22
+ "template",
23
+ "template/**/.gitignore",
24
+ ".gitignore"
25
+ ],
26
+ "dependencies": {
27
+ "@inquirer/prompts": "7.0.0",
28
+ "chalk": "5.3.0",
29
+ "commander": "8.1.0",
30
+ "fs-extra": "11.3.0",
31
+ "lodash": "4.17.21",
32
+ "ora": "8.1.0"
33
+ },
34
+ "devDependencies": {
35
+ "@commitlint/config-conventional": "^17.7.0",
36
+ "@commitlint/cz-commitlint": "17.4.2",
37
+ "@types/fs-extra": "9.0.12",
38
+ "@types/inquirer": "7.3.3",
39
+ "@types/node": "18",
40
+ "commitizen": "4.3.0",
41
+ "eslint": "9.17.0",
42
+ "globals": "15.12.0",
43
+ "prettier": "3.2.5",
44
+ "rimraf": "3.0.2",
45
+ "typescript": "5.8.2",
46
+ "typescript-eslint": "8.15.0"
47
+ },
48
+ "config": {
49
+ "commitizen": {
50
+ "path": "@commitlint/cz-commitlint"
51
+ }
52
+ }
53
+ }
@@ -1,39 +1,39 @@
1
- import * as inquirer from '@inquirer/prompts'
2
- import pkg from '../package.json' with { type: 'json' }
3
- import { execSync } from 'child_process'
4
- import chalk from 'chalk'
5
-
6
- function genPrompt(nextVersion) {
7
- const version = {
8
- major: 0,
9
- minor: 1,
10
- patch: 2
11
- }
12
- const nextVersionIndex = version[nextVersion]
13
- const newVersion = pkg.version.split('.').map(Number)
14
- newVersion[nextVersionIndex] += 1
15
- // 把后续的版本号归零
16
- // ------------------------------------------------------------------------
17
- for (let i = nextVersionIndex + 1; i < 3; i++) {
18
- newVersion[i] = 0
19
- }
20
- return `${nextVersion}(${newVersion.join('.')})`
21
- }
22
-
23
- const versions = {
24
- [genPrompt('patch')]: 'patch',
25
- [genPrompt('minor')]: 'minor',
26
- [genPrompt('major')]: 'major'
27
- }
28
-
29
- inquirer
30
- .select({
31
- message: 'version:',
32
- choices: Object.keys(versions)
33
- })
34
- .then(version => {
35
- execSync(
36
- `npm version ${versions[version]} && pnpm publish --registry https://registry.npmjs.org && git push`
37
- )
38
- console.log(chalk.blue('Published(*^3^)'))
39
- })
1
+ import * as inquirer from '@inquirer/prompts'
2
+ import pkg from '../package.json' with { type: 'json' }
3
+ import { execSync } from 'child_process'
4
+ import chalk from 'chalk'
5
+
6
+ function genPrompt(nextVersion) {
7
+ const version = {
8
+ major: 0,
9
+ minor: 1,
10
+ patch: 2
11
+ }
12
+ const nextVersionIndex = version[nextVersion]
13
+ const newVersion = pkg.version.split('.').map(Number)
14
+ newVersion[nextVersionIndex] += 1
15
+ // 把后续的版本号归零
16
+ // ------------------------------------------------------------------------
17
+ for (let i = nextVersionIndex + 1; i < 3; i++) {
18
+ newVersion[i] = 0
19
+ }
20
+ return `${nextVersion}(${newVersion.join('.')})`
21
+ }
22
+
23
+ const versions = {
24
+ [genPrompt('patch')]: 'patch',
25
+ [genPrompt('minor')]: 'minor',
26
+ [genPrompt('major')]: 'major'
27
+ }
28
+
29
+ inquirer
30
+ .select({
31
+ message: 'version:',
32
+ choices: Object.keys(versions)
33
+ })
34
+ .then(version => {
35
+ execSync(
36
+ `npm version ${versions[version]} && pnpm publish --registry https://registry.npmjs.org && git push`
37
+ )
38
+ console.log(chalk.blue('Published(*^3^)'))
39
+ })
@@ -1,58 +1,58 @@
1
- import chalk from 'chalk'
2
- import * as inquirer from '@inquirer/prompts'
3
- import fsExtra from 'fs-extra'
4
- import path from 'path'
5
- import { fileURLToPath } from 'url'
6
- import ora from 'ora'
7
- import { spawnSync } from 'child_process'
8
- import { genTemplateInfoList, onGenCommand } from './utils/index.js'
9
- import { existsSync } from 'fs'
10
-
11
- const cwd = process.cwd()
12
- const command = onGenCommand()
13
- const dirname = path.dirname(fileURLToPath(import.meta.url))
14
- const excludes = ['node_modules', 'yarn-error.log', 'dist']
15
- const tempRoot = path.join(dirname, '../template')
16
- const tempInfoList = genTemplateInfoList(tempRoot)
17
-
18
- function copyTempFile(tempPath, output) {
19
- fsExtra.readdirSync(tempPath).map(name => {
20
- if (!excludes.includes(name)) {
21
- fsExtra.copySync(path.join(tempPath, name), path.join(output, name))
22
- }
23
- })
24
- }
25
- function createTempEnd(output: string) {
26
- spawnSync(command, ['install'], {
27
- cwd: output,
28
- stdio: 'inherit',
29
- shell: true
30
- })
31
- }
32
-
33
- export async function createTemp(dirname: string) {
34
- const isCurrent = dirname === '.'
35
- let answer = await inquirer.select<string>({
36
- message: 'Select temp.',
37
- choices: tempInfoList.map(o => o.name)
38
- })
39
- let tempInfo = tempInfoList.find(o => o.name === answer)
40
- if (tempInfo?.children && tempInfo.children.length > 0) {
41
- answer = await inquirer.select({
42
- message: 'Select temp type.',
43
- choices: tempInfo.children.map(o => o.name)
44
- })
45
- tempInfo = tempInfo.children.find(o => o.name === answer)
46
- }
47
- const creating = ora(chalk.yellow('Creating...\n')).start()
48
- const output = path.join(cwd, isCurrent ? '' : dirname)
49
- if (!isCurrent && existsSync(output)) {
50
- return console.log(chalk.red(`${dirname} already exists!`))
51
- }
52
- if (!isCurrent) {
53
- fsExtra.mkdirSync(output)
54
- }
55
- copyTempFile(tempInfo!.src, output)
56
- createTempEnd(output)
57
- creating.succeed()
58
- }
1
+ import chalk from 'chalk'
2
+ import * as inquirer from '@inquirer/prompts'
3
+ import fsExtra from 'fs-extra'
4
+ import path from 'path'
5
+ import { fileURLToPath } from 'url'
6
+ import ora from 'ora'
7
+ import { spawnSync } from 'child_process'
8
+ import { genTemplateInfoList, onGenCommand } from './utils/index.js'
9
+ import { existsSync } from 'fs'
10
+
11
+ const cwd = process.cwd()
12
+ const command = onGenCommand()
13
+ const dirname = path.dirname(fileURLToPath(import.meta.url))
14
+ const excludes = ['node_modules', 'yarn-error.log', 'dist']
15
+ const tempRoot = path.join(dirname, '../template')
16
+ const tempInfoList = genTemplateInfoList(tempRoot)
17
+
18
+ function copyTempFile(tempPath, output) {
19
+ fsExtra.readdirSync(tempPath).map(name => {
20
+ if (!excludes.includes(name)) {
21
+ fsExtra.copySync(path.join(tempPath, name), path.join(output, name))
22
+ }
23
+ })
24
+ }
25
+ function createTempEnd(output: string) {
26
+ spawnSync(command, ['install'], {
27
+ cwd: output,
28
+ stdio: 'inherit',
29
+ shell: true
30
+ })
31
+ }
32
+
33
+ export async function createTemp(dirname: string) {
34
+ const isCurrent = dirname === '.'
35
+ let answer = await inquirer.select<string>({
36
+ message: 'Select temp.',
37
+ choices: tempInfoList.map(o => o.name)
38
+ })
39
+ let tempInfo = tempInfoList.find(o => o.name === answer)
40
+ if (tempInfo?.children && tempInfo.children.length > 0) {
41
+ answer = await inquirer.select({
42
+ message: 'Select temp type.',
43
+ choices: tempInfo.children.map(o => o.name)
44
+ })
45
+ tempInfo = tempInfo.children.find(o => o.name === answer)
46
+ }
47
+ const creating = ora(chalk.yellow('Creating...\n')).start()
48
+ const output = path.join(cwd, isCurrent ? '' : dirname)
49
+ if (!isCurrent && existsSync(output)) {
50
+ return console.log(chalk.red(`${dirname} already exists!`))
51
+ }
52
+ if (!isCurrent) {
53
+ fsExtra.mkdirSync(output)
54
+ }
55
+ copyTempFile(tempInfo!.src, output)
56
+ createTempEnd(output)
57
+ creating.succeed()
58
+ }
@@ -1,70 +1,70 @@
1
- import React from 'react'
2
- import clsx from 'clsx'
3
- import styles from './styles.module.css'
4
-
5
- type FeatureItem = {
6
- title: string
7
- Svg: React.ComponentType<React.ComponentProps<'svg'>>
8
- description: JSX.Element
9
- }
10
-
11
- const FeatureList: FeatureItem[] = [
12
- {
13
- title: 'Easy to Use',
14
- Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
15
- description: (
16
- <>
17
- Docusaurus was designed from the ground up to be easily installed and used to get
18
- your website up and running quickly.
19
- </>
20
- )
21
- },
22
- {
23
- title: 'Focus on What Matters',
24
- Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
25
- description: (
26
- <>
27
- Docusaurus lets you focus on your docs, and we&apos;ll do the chores. Go ahead and
28
- move your docs into the <code>docs</code> directory.
29
- </>
30
- )
31
- },
32
- {
33
- title: 'Powered by React',
34
- Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
35
- description: (
36
- <>
37
- Extend or customize your website layout by reusing React. Docusaurus can be extended
38
- while reusing the same header and footer.
39
- </>
40
- )
41
- }
42
- ]
43
-
44
- function Feature({ title, Svg, description }: FeatureItem) {
45
- return (
46
- <div className={clsx('col col--4')}>
47
- <div className="text--center">
48
- <Svg className={styles.featureSvg} role="img" />
49
- </div>
50
- <div className="text--center padding-horiz--md">
51
- <h3>{title}</h3>
52
- <p>{description}</p>
53
- </div>
54
- </div>
55
- )
56
- }
57
-
58
- export default function HomepageFeatures(): JSX.Element {
59
- return (
60
- <section className={styles.features}>
61
- <div className="container">
62
- <div className="row">
63
- {FeatureList.map((props, idx) => (
64
- <Feature key={idx} {...props} />
65
- ))}
66
- </div>
67
- </div>
68
- </section>
69
- )
70
- }
1
+ import React from 'react'
2
+ import clsx from 'clsx'
3
+ import styles from './styles.module.css'
4
+
5
+ type FeatureItem = {
6
+ title: string
7
+ Svg: React.ComponentType<React.ComponentProps<'svg'>>
8
+ description: JSX.Element
9
+ }
10
+
11
+ const FeatureList: FeatureItem[] = [
12
+ {
13
+ title: 'Easy to Use',
14
+ Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
15
+ description: (
16
+ <>
17
+ Docusaurus was designed from the ground up to be easily installed and used to get
18
+ your website up and running quickly.
19
+ </>
20
+ )
21
+ },
22
+ {
23
+ title: 'Focus on What Matters',
24
+ Svg: require('@site/static/img/undraw_docusaurus_tree.svg').default,
25
+ description: (
26
+ <>
27
+ Docusaurus lets you focus on your docs, and we&apos;ll do the chores. Go ahead and
28
+ move your docs into the <code>docs</code> directory.
29
+ </>
30
+ )
31
+ },
32
+ {
33
+ title: 'Powered by React',
34
+ Svg: require('@site/static/img/undraw_docusaurus_react.svg').default,
35
+ description: (
36
+ <>
37
+ Extend or customize your website layout by reusing React. Docusaurus can be extended
38
+ while reusing the same header and footer.
39
+ </>
40
+ )
41
+ }
42
+ ]
43
+
44
+ function Feature({ title, Svg, description }: FeatureItem) {
45
+ return (
46
+ <div className={clsx('col col--4')}>
47
+ <div className="text--center">
48
+ <Svg className={styles.featureSvg} role="img" />
49
+ </div>
50
+ <div className="text--center padding-horiz--md">
51
+ <h3>{title}</h3>
52
+ <p>{description}</p>
53
+ </div>
54
+ </div>
55
+ )
56
+ }
57
+
58
+ export default function HomepageFeatures(): JSX.Element {
59
+ return (
60
+ <section className={styles.features}>
61
+ <div className="container">
62
+ <div className="row">
63
+ {FeatureList.map((props, idx) => (
64
+ <Feature key={idx} {...props} />
65
+ ))}
66
+ </div>
67
+ </div>
68
+ </section>
69
+ )
70
+ }
@@ -1,11 +1,11 @@
1
- .features {
2
- display: flex;
3
- align-items: center;
4
- padding: 2rem 0;
5
- width: 100%;
6
- }
7
-
8
- .featureSvg {
9
- height: 200px;
10
- width: 200px;
11
- }
1
+ .features {
2
+ display: flex;
3
+ align-items: center;
4
+ padding: 2rem 0;
5
+ width: 100%;
6
+ }
7
+
8
+ .featureSvg {
9
+ height: 200px;
10
+ width: 200px;
11
+ }
@@ -1,30 +1,30 @@
1
- /**
2
- * Any CSS included here will be global. The classic template
3
- * bundles Infima by default. Infima is a CSS framework designed to
4
- * work well for content-centric websites.
5
- */
6
-
7
- /* You can override the default Infima variables here. */
8
- :root {
9
- --ifm-color-primary: #2e8555;
10
- --ifm-color-primary-dark: #29784c;
11
- --ifm-color-primary-darker: #277148;
12
- --ifm-color-primary-darkest: #205d3b;
13
- --ifm-color-primary-light: #33925d;
14
- --ifm-color-primary-lighter: #359962;
15
- --ifm-color-primary-lightest: #3cad6e;
16
- --ifm-code-font-size: 95%;
17
- --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
18
- }
19
-
20
- /* For readability concerns, you should choose a lighter palette in dark mode. */
21
- [data-theme='dark'] {
22
- --ifm-color-primary: #25c2a0;
23
- --ifm-color-primary-dark: #21af90;
24
- --ifm-color-primary-darker: #1fa588;
25
- --ifm-color-primary-darkest: #1a8870;
26
- --ifm-color-primary-light: #29d5b0;
27
- --ifm-color-primary-lighter: #32d8b4;
28
- --ifm-color-primary-lightest: #4fddbf;
29
- --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
30
- }
1
+ /**
2
+ * Any CSS included here will be global. The classic template
3
+ * bundles Infima by default. Infima is a CSS framework designed to
4
+ * work well for content-centric websites.
5
+ */
6
+
7
+ /* You can override the default Infima variables here. */
8
+ :root {
9
+ --ifm-color-primary: #2e8555;
10
+ --ifm-color-primary-dark: #29784c;
11
+ --ifm-color-primary-darker: #277148;
12
+ --ifm-color-primary-darkest: #205d3b;
13
+ --ifm-color-primary-light: #33925d;
14
+ --ifm-color-primary-lighter: #359962;
15
+ --ifm-color-primary-lightest: #3cad6e;
16
+ --ifm-code-font-size: 95%;
17
+ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
18
+ }
19
+
20
+ /* For readability concerns, you should choose a lighter palette in dark mode. */
21
+ [data-theme='dark'] {
22
+ --ifm-color-primary: #25c2a0;
23
+ --ifm-color-primary-dark: #21af90;
24
+ --ifm-color-primary-darker: #1fa588;
25
+ --ifm-color-primary-darkest: #1a8870;
26
+ --ifm-color-primary-light: #29d5b0;
27
+ --ifm-color-primary-lighter: #32d8b4;
28
+ --ifm-color-primary-lightest: #4fddbf;
29
+ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
30
+ }
@@ -1,23 +1,23 @@
1
- /**
2
- * CSS files with the .module.css suffix will be treated as CSS modules
3
- * and scoped locally.
4
- */
5
-
6
- .heroBanner {
7
- padding: 4rem 0;
8
- text-align: center;
9
- position: relative;
10
- overflow: hidden;
11
- }
12
-
13
- @media screen and (max-width: 996px) {
14
- .heroBanner {
15
- padding: 2rem;
16
- }
17
- }
18
-
19
- .buttons {
20
- display: flex;
21
- align-items: center;
22
- justify-content: center;
23
- }
1
+ /**
2
+ * CSS files with the .module.css suffix will be treated as CSS modules
3
+ * and scoped locally.
4
+ */
5
+
6
+ .heroBanner {
7
+ padding: 4rem 0;
8
+ text-align: center;
9
+ position: relative;
10
+ overflow: hidden;
11
+ }
12
+
13
+ @media screen and (max-width: 996px) {
14
+ .heroBanner {
15
+ padding: 2rem;
16
+ }
17
+ }
18
+
19
+ .buttons {
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ }