create-packer 1.46.4 → 1.47.1

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 (290) 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 +7 -7
  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 +6 -6
  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 +4 -6
  112. package/template/web-app/react-rsbuild/package.json +7 -7
  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/shared/styles/theme.ts +0 -10
  137. package/template/web-app/react-rsbuild/tsconfig.json +33 -33
  138. package/template/web-app/react-rsbuild/tsconfig.node.json +10 -10
  139. package/template/web-app/react-vite/.gitignore +3 -3
  140. package/template/web-app/react-vite/.vscode/extensions.json +7 -7
  141. package/template/web-app/react-vite/.vscode/settings.json +4 -4
  142. package/template/web-app/react-vite/domain/components/index.ts +1 -1
  143. package/template/web-app/react-vite/domain/models/app.ts +7 -7
  144. package/template/web-app/react-vite/domain/router/components/route-layout.tsx +19 -19
  145. package/template/web-app/react-vite/domain/router/components/sub-route-outlet.tsx +22 -22
  146. package/template/web-app/react-vite/domain/router/home/ids.ts +3 -3
  147. package/template/web-app/react-vite/domain/router/home/index.ts +2 -2
  148. package/template/web-app/react-vite/domain/router/home/routes.tsx +13 -13
  149. package/template/web-app/react-vite/domain/router/ids.ts +6 -6
  150. package/template/web-app/react-vite/domain/router/router.tsx +28 -28
  151. package/template/web-app/react-vite/domain/router/router.types.ts +3 -3
  152. package/template/web-app/react-vite/eslint.config.js +114 -114
  153. package/template/web-app/react-vite/main.tsx +1 -3
  154. package/template/web-app/react-vite/mockUtils.ts +6 -6
  155. package/template/web-app/react-vite/package.json +5 -5
  156. package/template/web-app/react-vite/pages/index.tsx +18 -18
  157. package/template/web-app/react-vite/pages/not-found.tsx +3 -3
  158. package/template/web-app/react-vite/postcss.config.cjs +8 -8
  159. package/template/web-app/react-vite/scripts/createChunks.ts +27 -27
  160. package/template/web-app/react-vite/scripts/index.ts +1 -1
  161. package/template/web-app/react-vite/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  162. package/template/web-app/react-vite/shared/hooks/defineRouter/deineRouter.tsx +161 -161
  163. package/template/web-app/react-vite/shared/hooks/defineRouter/index.ts +2 -2
  164. package/template/web-app/react-vite/shared/hooks/index.ts +7 -6
  165. package/template/web-app/react-vite/shared/hooks/useDebounceFn.ts +37 -0
  166. package/template/web-app/react-vite/shared/hooks/useInterval.ts +26 -26
  167. package/template/web-app/react-vite/shared/hooks/useLazyRender.ts +30 -0
  168. package/template/web-app/react-vite/shared/hooks/useLowPriorityState.ts +26 -26
  169. package/template/web-app/react-vite/shared/hooks/useSyncState.ts +15 -15
  170. package/template/web-app/react-vite/shared/hooks/useVisible.ts +27 -27
  171. package/template/web-app/react-vite/shared/service/api.ts +1 -1
  172. package/template/web-app/react-vite/shared/service/home.ts +9 -9
  173. package/template/web-app/react-vite/shared/service/index.ts +3 -3
  174. package/template/web-app/react-vite/shared/service/request.ts +5 -5
  175. package/template/web-app/react-vite/shared/styles/theme.ts +0 -10
  176. package/template/web-app/react-vite/tsconfig.json +33 -33
  177. package/template/web-app/react-vite/tsconfig.node.json +10 -10
  178. package/template/web-app/vue/.stylelintrc +2 -2
  179. package/template/web-app/vue/.vscode/extensions.json +9 -9
  180. package/template/web-app/vue/domain/components/app.vue +18 -18
  181. package/template/web-app/vue/domain/components/createComponentInstance.ts +43 -43
  182. package/template/web-app/vue/domain/components/index.ts +2 -2
  183. package/template/web-app/vue/domain/router/home/index.ts +2 -2
  184. package/template/web-app/vue/domain/router/home/names.ts +3 -3
  185. package/template/web-app/vue/domain/router/home/routes.ts +8 -8
  186. package/template/web-app/vue/domain/router/index.ts +26 -26
  187. package/template/web-app/vue/domain/router/names.ts +5 -5
  188. package/template/web-app/vue/eslint.config.js +123 -123
  189. package/template/web-app/vue/main.css +4 -4
  190. package/template/web-app/vue/main.ts +7 -7
  191. package/template/web-app/vue/mockUtils.ts +6 -6
  192. package/template/web-app/vue/package.json +71 -71
  193. package/template/web-app/vue/pages/home/view.vue +18 -16
  194. package/template/web-app/vue/pages/index.ts +1 -1
  195. package/template/web-app/vue/pages/index.vue +3 -3
  196. package/template/web-app/vue/pages/not-found.vue +3 -3
  197. package/template/web-app/vue/postcss.config.cjs +8 -8
  198. package/template/web-app/vue/scripts/createChunks.ts +27 -27
  199. package/template/web-app/vue/scripts/index.ts +1 -1
  200. package/template/web-app/vue/shared/hooks/index.ts +2 -2
  201. package/template/web-app/vue/shared/hooks/useList.ts +86 -86
  202. package/template/web-app/vue/shared/hooks/useVisible.ts +27 -27
  203. package/template/web-app/vue/shared/service/api.ts +1 -1
  204. package/template/web-app/vue/shared/service/home.ts +7 -7
  205. package/template/web-app/vue/shared/service/index.ts +3 -3
  206. package/template/web-app/vue/shared/service/request.ts +5 -5
  207. package/template/web-app/vue/tsconfig.json +25 -25
  208. package/template/web-app/vue/tsconfig.node.json +10 -10
  209. package/template/web-app/vue/vite-env.d.ts +18 -18
  210. package/template/web-app/vue/vite.config.ts +68 -68
  211. package/template/web-app/vue-rsbuild/.stylelintrc +2 -2
  212. package/template/web-app/vue-rsbuild/.vscode/extensions.json +9 -9
  213. package/template/web-app/vue-rsbuild/domain/components/app.vue +18 -18
  214. package/template/web-app/vue-rsbuild/domain/components/createComponentInstance.ts +43 -43
  215. package/template/web-app/vue-rsbuild/domain/components/index.ts +2 -2
  216. package/template/web-app/vue-rsbuild/domain/router/home/index.ts +2 -2
  217. package/template/web-app/vue-rsbuild/domain/router/home/names.ts +3 -3
  218. package/template/web-app/vue-rsbuild/domain/router/home/routes.ts +8 -8
  219. package/template/web-app/vue-rsbuild/domain/router/index.ts +26 -26
  220. package/template/web-app/vue-rsbuild/domain/router/names.ts +5 -5
  221. package/template/web-app/vue-rsbuild/env.d.ts +18 -18
  222. package/template/web-app/vue-rsbuild/eslint.config.js +114 -114
  223. package/template/web-app/vue-rsbuild/main.css +4 -4
  224. package/template/web-app/vue-rsbuild/main.ts +7 -7
  225. package/template/web-app/vue-rsbuild/package.json +6 -6
  226. package/template/web-app/vue-rsbuild/pages/home/view.vue +18 -16
  227. package/template/web-app/vue-rsbuild/pages/index.ts +1 -1
  228. package/template/web-app/vue-rsbuild/pages/index.vue +3 -3
  229. package/template/web-app/vue-rsbuild/pages/not-found.vue +3 -3
  230. package/template/web-app/vue-rsbuild/postcss.config.cjs +9 -9
  231. package/template/web-app/vue-rsbuild/rsbuild.config.ts +77 -77
  232. package/template/web-app/vue-rsbuild/scripts/createChunks.ts +26 -26
  233. package/template/web-app/vue-rsbuild/scripts/index.ts +1 -1
  234. package/template/web-app/vue-rsbuild/shared/hooks/index.ts +2 -2
  235. package/template/web-app/vue-rsbuild/shared/hooks/useList.ts +86 -86
  236. package/template/web-app/vue-rsbuild/shared/hooks/useVisible.ts +27 -27
  237. package/template/web-app/vue-rsbuild/shared/service/api.ts +1 -1
  238. package/template/web-app/vue-rsbuild/shared/service/home.ts +7 -7
  239. package/template/web-app/vue-rsbuild/shared/service/index.ts +3 -3
  240. package/template/web-app/vue-rsbuild/shared/service/request.ts +5 -5
  241. package/template/web-app/vue-rsbuild/tsconfig.json +25 -25
  242. package/template/web-app/vue-rsbuild/tsconfig.node.json +10 -10
  243. package/template/web-extension/.vscode/extensions.json +7 -7
  244. package/template/web-extension/.vscode/settings.json +4 -4
  245. package/template/web-extension/.wxt/eslint-auto-imports.mjs +56 -56
  246. package/template/web-extension/.wxt/eslintrc-auto-import.json +21 -21
  247. package/template/web-extension/.wxt/tsconfig.json +27 -27
  248. package/template/web-extension/.wxt/types/globals.d.ts +15 -15
  249. package/template/web-extension/.wxt/types/i18n.d.ts +81 -81
  250. package/template/web-extension/.wxt/types/imports-module.d.ts +20 -20
  251. package/template/web-extension/.wxt/types/imports.d.ts +50 -50
  252. package/template/web-extension/.wxt/types/paths.d.ts +17 -17
  253. package/template/web-extension/.wxt/wxt.d.ts +7 -7
  254. package/template/web-extension/entrypoints/background/index.ts +7 -7
  255. package/template/web-extension/entrypoints/content/domain/app/index.ts +1 -1
  256. package/template/web-extension/entrypoints/content/domain/app/tools/index.ts +1 -1
  257. package/template/web-extension/entrypoints/content/domain/app/tools/insertApp.tsx +58 -58
  258. package/template/web-extension/entrypoints/content/modules/common/index.ts +2 -2
  259. package/template/web-extension/entrypoints/content/modules/common/insert.tsx +9 -9
  260. package/template/web-extension/entrypoints/content/modules/index.ts +1 -1
  261. package/template/web-extension/eslint.config.js +107 -107
  262. package/template/web-extension/package.json +4 -4
  263. package/template/web-extension/postcss.config.cjs +8 -8
  264. package/template/web-extension/shared/background/index.ts +1 -1
  265. package/template/web-extension/shared/background/message.ts +7 -7
  266. package/template/web-extension/shared/components/app-context/view.tsx +19 -19
  267. package/template/web-extension/shared/components/index.ts +1 -1
  268. package/template/web-extension/shared/hooks/index.ts +2 -2
  269. package/template/web-extension/shared/hooks/useSyncState.ts +15 -15
  270. package/template/web-extension/shared/hooks/useVisible.ts +27 -27
  271. package/template/web-extension/shared/service/index.ts +1 -1
  272. package/template/web-extension/shared/service/request.ts +5 -5
  273. package/template/web-extension/shared/styles/theme.ts +0 -10
  274. package/template/web-extension/tsconfig.node.json +10 -10
  275. package/template/lib/workspace/node_modules/.pnpm/node_modules/react-lib/.gitignore +0 -26
  276. package/template/lib/workspace/node_modules/.pnpm/node_modules/ts-lib/.gitignore +0 -25
  277. package/template/lib/workspace/packages/ts/coverage/base.css +0 -224
  278. package/template/lib/workspace/packages/ts/coverage/block-navigation.js +0 -87
  279. package/template/lib/workspace/packages/ts/coverage/clover.xml +0 -16
  280. package/template/lib/workspace/packages/ts/coverage/coverage-final.json +0 -3
  281. package/template/lib/workspace/packages/ts/coverage/favicon.png +0 -0
  282. package/template/lib/workspace/packages/ts/coverage/index.html +0 -131
  283. package/template/lib/workspace/packages/ts/coverage/index.ts.html +0 -88
  284. package/template/lib/workspace/packages/ts/coverage/prettify.css +0 -1
  285. package/template/lib/workspace/packages/ts/coverage/prettify.js +0 -2
  286. package/template/lib/workspace/packages/ts/coverage/sort-arrow-sprite.png +0 -0
  287. package/template/lib/workspace/packages/ts/coverage/sorter.js +0 -196
  288. package/template/lib/workspace/packages/ts/coverage/sum.ts.html +0 -94
  289. package/template/web-app/react-rsbuild/shared/hooks/useLoadingAction.ts +0 -27
  290. package/template/web-app/react-vite/shared/hooks/useLoadingAction.ts +0 -27
@@ -0,0 +1,30 @@
1
+ import { RefObject, useEffect, useRef } from 'react'
2
+ import { useIntersection } from 'react-use'
3
+ import { useSyncState } from './useSyncState'
4
+
5
+ interface optionsType extends IntersectionObserverInit {
6
+ dynamicRender?: boolean
7
+ isClose?: boolean
8
+ }
9
+ export function useLazyRender(ref: RefObject<HTMLElement>, options: optionsType) {
10
+ const emptyRef = useRef(null)
11
+ const intersection = useIntersection(options.isClose ? emptyRef : ref, {
12
+ root: options.root,
13
+ rootMargin: options.rootMargin,
14
+ threshold: options.threshold
15
+ })
16
+ const [isRenderRef, isRender, setIsRender] = useSyncState(false)
17
+
18
+ useEffect(() => {
19
+ if (options.isClose) {
20
+ setIsRender(true)
21
+ return
22
+ }
23
+ if (!options.dynamicRender && isRenderRef.current) {
24
+ return
25
+ }
26
+ setIsRender(!!intersection?.isIntersecting)
27
+ }, [intersection?.isIntersecting, options.isClose, options.dynamicRender])
28
+
29
+ return isRender
30
+ }
@@ -1,26 +1,26 @@
1
- import { useEffect, useState, useTransition, DependencyList } from 'react'
2
-
3
- /**
4
- *
5
- * @param callback
6
- * @param watches If set, it is autorun callback
7
- * @returns
8
- */
9
- export default function useLowPriorityState<V>(callback: () => V, watches?: DependencyList) {
10
- const [value, setValue] = useState<V>(callback)
11
- const [loading, startTransition] = useTransition()
12
-
13
- function startLoad() {
14
- startTransition(() => {
15
- setValue(callback())
16
- })
17
- }
18
-
19
- useEffect(() => {
20
- if (watches) {
21
- startLoad()
22
- }
23
- }, watches)
24
-
25
- return [value, { loading, startLoad }] as const
26
- }
1
+ import { useEffect, useState, useTransition, DependencyList } from 'react'
2
+
3
+ /**
4
+ *
5
+ * @param callback
6
+ * @param watches If set, it is autorun callback
7
+ * @returns
8
+ */
9
+ export default function useLowPriorityState<V>(callback: () => V, watches?: DependencyList) {
10
+ const [value, setValue] = useState<V>(callback)
11
+ const [loading, startTransition] = useTransition()
12
+
13
+ function startLoad() {
14
+ startTransition(() => {
15
+ setValue(callback())
16
+ })
17
+ }
18
+
19
+ useEffect(() => {
20
+ if (watches) {
21
+ startLoad()
22
+ }
23
+ }, watches)
24
+
25
+ return [value, { loading, startLoad }] as const
26
+ }
@@ -1,15 +1,15 @@
1
- import { useRef, useState, Dispatch, SetStateAction } from 'react'
2
- import { isFunction } from 'es-toolkit'
3
-
4
- export function useSyncState<S>(initialState: S | (() => S)) {
5
- const [state, setState] = useState(initialState)
6
- const syncState = useRef<S>(state)
7
-
8
- const $setState: Dispatch<SetStateAction<S>> = newState => {
9
- const $newState = (isFunction(newState) ? newState(state) : newState) as S
10
- setState($newState)
11
- syncState.current = $newState
12
- }
13
-
14
- return [syncState, state, $setState] as const
15
- }
1
+ import { useRef, useState, Dispatch, SetStateAction } from 'react'
2
+ import { isFunction } from 'es-toolkit'
3
+
4
+ export function useSyncState<S>(initialState: S | (() => S)) {
5
+ const [state, setState] = useState(initialState)
6
+ const syncState = useRef<S>(state)
7
+
8
+ const $setState: Dispatch<SetStateAction<S>> = newState => {
9
+ const $newState = (isFunction(newState) ? newState(state) : newState) as S
10
+ setState($newState)
11
+ syncState.current = $newState
12
+ }
13
+
14
+ return [syncState, state, $setState] as const
15
+ }
@@ -1,27 +1,27 @@
1
- import { useState } from 'react'
2
- import { isFunction } from 'es-toolkit'
3
-
4
- export interface useVisibleConfigType {
5
- defaultVisible?: boolean
6
- onBeforeShow?: () => Promise<boolean | void>
7
- onBeforeHide?: () => Promise<boolean | void>
8
- }
9
- export default function useVisible(config?: useVisibleConfigType) {
10
- const [visible, setVisible] = useState(config?.defaultVisible ?? false)
11
- const onShow = async () => {
12
- let isShow: boolean | void = true
13
- if (isFunction(config?.onBeforeShow)) {
14
- isShow = await config?.onBeforeShow?.()
15
- }
16
- setVisible(isShow !== false)
17
- }
18
- const onClose = async () => {
19
- let isHide: boolean | void = true
20
- if (isFunction(config?.onBeforeHide)) {
21
- isHide = await config?.onBeforeHide?.()
22
- }
23
- setVisible(isHide === false)
24
- }
25
-
26
- return { visible, onShow, onClose }
27
- }
1
+ import { useState } from 'react'
2
+ import { isFunction } from 'es-toolkit'
3
+
4
+ export interface useVisibleConfigType {
5
+ defaultVisible?: boolean
6
+ onBeforeShow?: () => Promise<boolean | void>
7
+ onBeforeHide?: () => Promise<boolean | void>
8
+ }
9
+ export default function useVisible(config?: useVisibleConfigType) {
10
+ const [visible, setVisible] = useState(config?.defaultVisible ?? false)
11
+ const onShow = async () => {
12
+ let isShow: boolean | void = true
13
+ if (isFunction(config?.onBeforeShow)) {
14
+ isShow = await config?.onBeforeShow?.()
15
+ }
16
+ setVisible(isShow !== false)
17
+ }
18
+ const onClose = async () => {
19
+ let isHide: boolean | void = true
20
+ if (isFunction(config?.onBeforeHide)) {
21
+ isHide = await config?.onBeforeHide?.()
22
+ }
23
+ setVisible(isHide === false)
24
+ }
25
+
26
+ return { visible, onShow, onClose }
27
+ }
@@ -1 +1 @@
1
- export const HOME_DATA = '/homeData'
1
+ export const HOME_DATA = '/homeData'
@@ -1,9 +1,9 @@
1
- import { useQuery, QueryOptions } from '@tanstack/react-query'
2
- import { HOME_DATA } from './api'
3
-
4
- export const useHomeData = (options?: QueryOptions) => {
5
- return useQuery({
6
- ...options,
7
- queryKey: [HOME_DATA, ...(options?.queryKey || [])]
8
- })
9
- }
1
+ import { useQuery, QueryOptions } from '@tanstack/react-query'
2
+ import { HOME_DATA } from './api'
3
+
4
+ export const useHomeData = (options?: QueryOptions) => {
5
+ return useQuery({
6
+ ...options,
7
+ queryKey: [HOME_DATA, ...(options?.queryKey || [])]
8
+ })
9
+ }
@@ -1,3 +1,3 @@
1
- export * from './request'
2
- export * as API from './api'
3
- export * from './home'
1
+ export * from './request'
2
+ export * as API from './api'
3
+ export * from './home'
@@ -1,5 +1,5 @@
1
- import axios from 'axios'
2
-
3
- export const request = axios.create({
4
- baseURL: import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_HOST
5
- })
1
+ import axios from 'axios'
2
+
3
+ export const request = axios.create({
4
+ baseURL: import.meta.env.VITE_BASE_URL + import.meta.env.VITE_API_HOST
5
+ })
@@ -3,16 +3,6 @@ import { isString } from 'es-toolkit'
3
3
  import { isNumber } from 'es-toolkit/compat'
4
4
 
5
5
  export const theme = {
6
- text: {
7
- xs: { fontSize: '12px', lineHeight: '20px' },
8
- sm: { fontSize: '14px', lineHeight: '22px' },
9
- base: { fontSize: '16px', lineHeight: '24px' },
10
- lg: { fontSize: '18px', lineHeight: '26px' },
11
- xl: { fontSize: '20px', lineHeight: '28px' },
12
- '2xl': { fontSize: '24px', lineHeight: '32px' },
13
- '3xl': { fontSize: '28px', lineHeight: '40px' },
14
- '4xl': { fontSize: '32px', lineHeight: '44px' }
15
- } satisfies Record<string, CSSProperties>,
16
6
  tools: {
17
7
  ellipsis: () => ({
18
8
  overflow: 'hidden',
@@ -1,33 +1,33 @@
1
- {
2
- "compilerOptions": {
3
- "baseUrl": ".",
4
- "target": "ESNext",
5
- "useDefineForClassFields": true,
6
- "lib": ["DOM", "DOM.Iterable", "ESNext"],
7
- "allowJs": false,
8
- "skipLibCheck": true,
9
- "esModuleInterop": false,
10
- "allowSyntheticDefaultImports": true,
11
- "strict": true,
12
- "forceConsistentCasingInFileNames": true,
13
- "strictPropertyInitialization": false,
14
- "strictNullChecks": true,
15
- "module": "ESNext",
16
- "moduleResolution": "bundler",
17
- "resolveJsonModule": true,
18
- "isolatedModules": true,
19
- "noEmit": true,
20
- "jsx": "react-jsx",
21
- "jsxImportSource": "@emotion/react",
22
- "paths": {
23
- "@/*": ["./*"]
24
- }
25
- },
26
- "include": ["**/*.ts", "**/*.tsx"],
27
- "exclude": ["scripts", "vite.config.ts"],
28
- "references": [
29
- {
30
- "path": "./tsconfig.node.json"
31
- }
32
- ]
33
- }
1
+ {
2
+ "compilerOptions": {
3
+ "baseUrl": ".",
4
+ "target": "ESNext",
5
+ "useDefineForClassFields": true,
6
+ "lib": ["DOM", "DOM.Iterable", "ESNext"],
7
+ "allowJs": false,
8
+ "skipLibCheck": true,
9
+ "esModuleInterop": false,
10
+ "allowSyntheticDefaultImports": true,
11
+ "strict": true,
12
+ "forceConsistentCasingInFileNames": true,
13
+ "strictPropertyInitialization": false,
14
+ "strictNullChecks": true,
15
+ "module": "ESNext",
16
+ "moduleResolution": "bundler",
17
+ "resolveJsonModule": true,
18
+ "isolatedModules": true,
19
+ "noEmit": true,
20
+ "jsx": "react-jsx",
21
+ "jsxImportSource": "@emotion/react",
22
+ "paths": {
23
+ "@/*": ["./*"]
24
+ }
25
+ },
26
+ "include": ["**/*.ts", "**/*.tsx"],
27
+ "exclude": ["scripts", "vite.config.ts"],
28
+ "references": [
29
+ {
30
+ "path": "./tsconfig.node.json"
31
+ }
32
+ ]
33
+ }
@@ -1,10 +1,10 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["scripts", "vite.config.ts", "package.json"]
10
- }
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "module": "ESNext",
5
+ "moduleResolution": "bundler",
6
+ "allowSyntheticDefaultImports": true,
7
+ "resolveJsonModule": true
8
+ },
9
+ "include": ["scripts", "vite.config.ts", "package.json"]
10
+ }
@@ -14,7 +14,7 @@
14
14
  "at-rule-no-unknown": [
15
15
  true,
16
16
  {
17
- "ignoreAtRules": ["tailwind", "apply", "use"]
17
+ "ignoreAtRules": ["tailwind", "apply", "use", "reference"]
18
18
  }
19
19
  ],
20
20
  "declaration-block-no-redundant-longhand-properties": null,
@@ -28,7 +28,7 @@
28
28
  "scss/at-rule-no-unknown": [
29
29
  true,
30
30
  {
31
- "ignoreAtRules": ["tailwind", "apply"]
31
+ "ignoreAtRules": ["tailwind", "apply", "reference"]
32
32
  }
33
33
  ]
34
34
  }
@@ -1,9 +1,9 @@
1
- {
2
- "recommendations": [
3
- "vue.volar",
4
- "vue.vscode-typescript-vue-plugin",
5
- "dbaeumer.vscode-eslint",
6
- "stylelint.vscode-stylelint",
7
- "esbenp.prettier-vscode"
8
- ]
9
- }
1
+ {
2
+ "recommendations": [
3
+ "vue.volar",
4
+ "vue.vscode-typescript-vue-plugin",
5
+ "dbaeumer.vscode-eslint",
6
+ "stylelint.vscode-stylelint",
7
+ "esbenp.prettier-vscode"
8
+ ]
9
+ }
@@ -1,18 +1,18 @@
1
- <template>
2
- <router-view />
3
- </template>
4
-
5
- <script setup lang="ts">
6
- import { router, routerNames } from '@/domain/router'
7
-
8
- router.beforeEach(async to => {
9
- if (!Object.values(routerNames).includes(to.name as string)) {
10
- return {
11
- replace: true,
12
- name: routerNames.notFound
13
- }
14
- }
15
- })
16
- </script>
17
-
18
- <style scoped></style>
1
+ <template>
2
+ <router-view />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import { router, routerNames } from '@/domain/router'
7
+
8
+ router.beforeEach(async to => {
9
+ if (!Object.values(routerNames).includes(to.name as string)) {
10
+ return {
11
+ replace: true,
12
+ name: routerNames.notFound
13
+ }
14
+ }
15
+ })
16
+ </script>
17
+
18
+ <style scoped></style>
@@ -1,43 +1,43 @@
1
- import { createVNode, render, VNodeChild } from 'vue'
2
- import app from './app'
3
-
4
- const store = new Map()
5
-
6
- function reset(oldObj: Record<string, any>, newObj: Record<string, any>) {
7
- Object.keys(oldObj).forEach(k => {
8
- oldObj[k] = void 0
9
- })
10
- Object.assign(oldObj, newObj)
11
- }
12
-
13
- export function createComponentInstance<
14
- P extends Record<string, any>,
15
- E extends Record<string, any>,
16
- Slots extends Record<string, () => VNodeChild> = Record<string, () => VNodeChild>
17
- >(name: string, component: any, props?: P, slots?: Slots) {
18
- let vNode = store.get(name)
19
- function updateProps(props: Partial<P>) {
20
- reset(vNode.component.props, props)
21
- }
22
-
23
- function updateSlots(slots: Partial<Record<string, () => VNodeChild>>) {
24
- reset(vNode.component.slots, slots)
25
- }
26
-
27
- if (!vNode) {
28
- const container = document.createElement('div')
29
- vNode = createVNode(component, props, slots)
30
- vNode.appContext = app._context || {}
31
- store.set(name, vNode)
32
- render(vNode, container)
33
- } else {
34
- updateProps(props || {})
35
- updateSlots(slots || {})
36
- }
37
- return {
38
- instance: vNode,
39
- updateProps,
40
- updateSlots,
41
- ...(vNode.component?.exposed as E)
42
- }
43
- }
1
+ import { createVNode, render, VNodeChild } from 'vue'
2
+ import app from './app.vue'
3
+
4
+ const store = new Map()
5
+
6
+ function reset(oldObj: Record<string, any>, newObj: Record<string, any>) {
7
+ Object.keys(oldObj).forEach(k => {
8
+ oldObj[k] = void 0
9
+ })
10
+ Object.assign(oldObj, newObj)
11
+ }
12
+
13
+ export function createComponentInstance<
14
+ P extends Record<string, any>,
15
+ E extends Record<string, any>,
16
+ Slots extends Record<string, () => VNodeChild> = Record<string, () => VNodeChild>
17
+ >(name: string, component: any, props?: P, slots?: Slots) {
18
+ let vNode = store.get(name)
19
+ function updateProps(props: Partial<P>) {
20
+ reset(vNode.component.props, props)
21
+ }
22
+
23
+ function updateSlots(slots: Partial<Record<string, () => VNodeChild>>) {
24
+ reset(vNode.component.slots, slots)
25
+ }
26
+
27
+ if (!vNode) {
28
+ const container = document.createElement('div')
29
+ vNode = createVNode(component, props, slots)
30
+ vNode.appContext = app._context || {}
31
+ store.set(name, vNode)
32
+ render(vNode, container)
33
+ } else {
34
+ updateProps(props || {})
35
+ updateSlots(slots || {})
36
+ }
37
+ return {
38
+ instance: vNode,
39
+ updateProps,
40
+ updateSlots,
41
+ ...(vNode.component?.exposed as E)
42
+ }
43
+ }
@@ -1,2 +1,2 @@
1
- export { default as App } from './app.vue'
2
- export * from './createComponentInstance'
1
+ export { default as App } from './app.vue'
2
+ export * from './createComponentInstance'
@@ -1,2 +1,2 @@
1
- export { default as names } from './names'
2
- export { default as routes } from './routes'
1
+ export { default as names } from './names'
2
+ export { default as routes } from './routes'
@@ -1,3 +1,3 @@
1
- export default {
2
- home: 'home'
3
- }
1
+ export default {
2
+ home: 'home'
3
+ }
@@ -1,8 +1,8 @@
1
- import { RouteRecordRaw } from 'vue-router'
2
- import names from './names'
3
-
4
- const routes: RouteRecordRaw[] = [
5
- { path: '/home', name: names.home, component: () => import('@/pages/home') }
6
- ]
7
-
8
- export default routes
1
+ import { RouteRecordRaw } from 'vue-router'
2
+ import names from './names'
3
+
4
+ const routes: RouteRecordRaw[] = [
5
+ { path: '/home', name: names.home, component: () => import('@/pages/home') }
6
+ ]
7
+
8
+ export default routes
@@ -1,26 +1,26 @@
1
- import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
2
- import names from './names'
3
- import * as homeRouter from './home'
4
-
5
- const routes: RouteRecordRaw[] = [
6
- {
7
- path: '/',
8
- component: () => import('@/pages'),
9
- redirect: { name: names.home },
10
- children: [
11
- ...homeRouter.routes,
12
- {
13
- path: '/404',
14
- name: names.notFound,
15
- component: () => import('@/pages/not-found.vue')
16
- }
17
- ]
18
- }
19
- ]
20
-
21
- export { default as routerNames } from './names'
22
-
23
- export const router = createRouter({
24
- history: createWebHistory(import.meta.env.VITE_BASE_URL),
25
- routes
26
- })
1
+ import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
2
+ import names from './names'
3
+ import * as homeRouter from './home'
4
+
5
+ const routes: RouteRecordRaw[] = [
6
+ {
7
+ path: '/',
8
+ component: () => import('@/pages'),
9
+ redirect: { name: names.home },
10
+ children: [
11
+ ...homeRouter.routes,
12
+ {
13
+ path: '/404',
14
+ name: names.notFound,
15
+ component: () => import('@/pages/not-found.vue')
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+
21
+ export { default as routerNames } from './names'
22
+
23
+ export const router = createRouter({
24
+ history: createWebHistory(import.meta.env.VITE_BASE_URL),
25
+ routes
26
+ })
@@ -1,5 +1,5 @@
1
- import * as homeRouter from './home'
2
- export default {
3
- ...homeRouter.names,
4
- notFound: '404'
5
- }
1
+ import * as homeRouter from './home'
2
+ export default {
3
+ ...homeRouter.names,
4
+ notFound: '404'
5
+ }