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
@@ -1,58 +1,58 @@
1
- import { CSSProperties, ReactNode } from 'react'
2
- import { createRoot } from 'react-dom/client'
3
- import { isFunction } from 'es-toolkit'
4
- import { AppContext } from '@/shared/components'
5
- import { classNameSpace } from '@/entrypoints/content/constants'
6
-
7
- export enum insertAppStatus {
8
- success,
9
- target_not_exist,
10
- root_existed
11
- }
12
- export interface insertAppResultType {
13
- rootEle: HTMLElement | undefined | null
14
- result: boolean
15
- status: insertAppStatus
16
- }
17
- export function insertApp<T extends HTMLElement>(
18
- target: T | null | undefined,
19
- option: {
20
- insert?: (rootEle: HTMLElement, target: T) => void
21
- reactNode: ReactNode
22
- isReplace?: boolean
23
- rootId: string
24
- rootStyle?: CSSProperties
25
- }
26
- ) {
27
- const result: insertAppResultType = {
28
- result: false,
29
- rootEle: void 0,
30
- status: insertAppStatus.success
31
- }
32
- const rootId = `${import.meta.env.VITE_APP_ID}_${option.rootId}`
33
- if (!target) {
34
- result.status = insertAppStatus.target_not_exist
35
- return result
36
- }
37
- result.rootEle = document.createElement('div')
38
- result.rootEle.className = classNameSpace
39
- result.rootEle.id = rootId
40
- Object.assign(result.rootEle!.style, option.rootStyle)
41
- const oldRootEle = target.querySelector?.(`#${rootId}`)
42
- if (!option.isReplace && oldRootEle) {
43
- result.status = insertAppStatus.root_existed
44
- return result
45
- }
46
- oldRootEle?.remove()
47
- if (isFunction(option.insert)) {
48
- option.insert(result.rootEle, target)
49
- } else {
50
- target.appendChild(result.rootEle)
51
- }
52
- const root = createRoot(result.rootEle)
53
- root.render(
54
- <AppContext.Root classNameSpace={classNameSpace}>{option.reactNode}</AppContext.Root>
55
- )
56
- result.result = true
57
- return result
58
- }
1
+ import { CSSProperties, ReactNode } from 'react'
2
+ import { createRoot } from 'react-dom/client'
3
+ import { isFunction } from 'es-toolkit'
4
+ import { AppContext } from '@/shared/components'
5
+ import { classNameSpace } from '@/entrypoints/content/constants'
6
+
7
+ export enum insertAppStatus {
8
+ success,
9
+ target_not_exist,
10
+ root_existed
11
+ }
12
+ export interface insertAppResultType {
13
+ rootEle: HTMLElement | undefined | null
14
+ result: boolean
15
+ status: insertAppStatus
16
+ }
17
+ export function insertApp<T extends HTMLElement>(
18
+ target: T | null | undefined,
19
+ option: {
20
+ insert?: (rootEle: HTMLElement, target: T) => void
21
+ reactNode: ReactNode
22
+ isReplace?: boolean
23
+ rootId: string
24
+ rootStyle?: CSSProperties
25
+ }
26
+ ) {
27
+ const result: insertAppResultType = {
28
+ result: false,
29
+ rootEle: void 0,
30
+ status: insertAppStatus.success
31
+ }
32
+ const rootId = `${import.meta.env.VITE_APP_ID}_${option.rootId}`
33
+ if (!target) {
34
+ result.status = insertAppStatus.target_not_exist
35
+ return result
36
+ }
37
+ result.rootEle = document.createElement('div')
38
+ result.rootEle.className = classNameSpace
39
+ result.rootEle.id = rootId
40
+ Object.assign(result.rootEle!.style, option.rootStyle)
41
+ const oldRootEle = target.querySelector?.(`#${rootId}`)
42
+ if (!option.isReplace && oldRootEle) {
43
+ result.status = insertAppStatus.root_existed
44
+ return result
45
+ }
46
+ oldRootEle?.remove()
47
+ if (isFunction(option.insert)) {
48
+ option.insert(result.rootEle, target)
49
+ } else {
50
+ target.appendChild(result.rootEle)
51
+ }
52
+ const root = createRoot(result.rootEle)
53
+ root.render(
54
+ <AppContext.Root classNameSpace={classNameSpace}>{option.reactNode}</AppContext.Root>
55
+ )
56
+ result.result = true
57
+ return result
58
+ }
@@ -1,2 +1,2 @@
1
- export { default as Root } from './common'
2
- export * from './insert'
1
+ export { default as Root } from './common'
2
+ export * from './insert'
@@ -1,9 +1,9 @@
1
- import { insertApp } from '@/entrypoints/content/domain/app'
2
- import Common from './common'
3
-
4
- export function insert() {
5
- insertApp(document.body, {
6
- reactNode: <Common />,
7
- rootId: 'COMMON'
8
- })
9
- }
1
+ import { insertApp } from '@/entrypoints/content/domain/app'
2
+ import Common from './common'
3
+
4
+ export function insert() {
5
+ insertApp(document.body, {
6
+ reactNode: <Common />,
7
+ rootId: 'COMMON'
8
+ })
9
+ }
@@ -1 +1 @@
1
- export * as Common from './common'
1
+ export * as Common from './common'
@@ -1,107 +1,107 @@
1
- import eslint from '@eslint/js'
2
- import globals from 'globals'
3
- import tseslint from 'typescript-eslint'
4
- import importPlugin from 'eslint-plugin-import'
5
- import reactPlugin from 'eslint-plugin-react'
6
- import reactHooksPlugin from 'eslint-plugin-react-hooks'
7
-
8
- const scriptExtensions = ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx']
9
- const files = scriptExtensions.map(ext => `**/*.${ext}`)
10
-
11
- export default tseslint.config([
12
- {
13
- ignores: ['**/node_modules/', '**/dist/', '**/.history/', '**/.vscode/', 'vite.config.ts.*']
14
- },
15
- eslint.configs.recommended,
16
- importPlugin.flatConfigs.recommended,
17
- tseslint.configs.recommended,
18
- {
19
- plugins: { reactPlugin, reactHooksPlugin },
20
- files,
21
- languageOptions: {
22
- ecmaVersion: 2018,
23
- sourceType: 'module',
24
- parserOptions: {
25
- ecmaFeatures: {
26
- jsx: true
27
- },
28
- useJSXTextNode: true
29
- },
30
- globals: {
31
- ...globals.browser,
32
- ...globals.node
33
- }
34
- },
35
- settings: {
36
- 'import/resolver': {
37
- typescript: true,
38
- node: true
39
- },
40
- react: {
41
- version: '18'
42
- }
43
- },
44
- rules: {
45
- 'import/export': 'off',
46
- 'import/namespace': 'off',
47
- 'import/default': 'off',
48
- 'import/consistent-type-specifier-style': ['error', 'prefer-inline'],
49
- 'import/no-duplicates': ['error', { 'prefer-inline': true }],
50
- 'import/no-named-as-default-member': 'off',
51
- 'import/no-named-as-default': 'off',
52
- 'import/order': [
53
- 'error',
54
- {
55
- groups: [
56
- 'builtin',
57
- 'external',
58
- 'internal',
59
- 'parent',
60
- 'sibling',
61
- 'index',
62
- 'object',
63
- 'type'
64
- ],
65
- pathGroups: [
66
- { pattern: 'react', group: 'external', position: 'before' },
67
- { pattern: 'react-dom/*', group: 'external', position: 'before' },
68
- { pattern: 'react-router', group: 'external', position: 'before' },
69
- { pattern: 'react-router-dom', group: 'external', position: 'before' }
70
- ],
71
- pathGroupsExcludedImportTypes: ['builtin']
72
- }
73
- ],
74
- 'no-case-declarations': 'off',
75
- '@typescript-eslint/no-unused-expressions': 'off',
76
- '@typescript-eslint/no-empty-object-type': 'off',
77
- '@typescript-eslint/no-var-requires': 0,
78
- '@typescript-eslint/explicit-function-return-type': 'off',
79
- '@typescript-eslint/no-explicit-any': 0,
80
- '@typescript-eslint/no-non-null-assertion': 'off',
81
- '@typescript-eslint/no-inferrable-types': [
82
- 'warn',
83
- {
84
- ignoreParameters: true
85
- }
86
- ],
87
- '@typescript-eslint/no-unused-vars': [
88
- 'warn',
89
- {
90
- argsIgnorePattern: '^_'
91
- }
92
- ],
93
- '@typescript-eslint/member-delimiter-style': 0,
94
- '@typescript-eslint/class-name-casing': 0,
95
- '@typescript-eslint/explicit-module-boundary-types': 'off',
96
- '@typescript-eslint/ban-ts-comment': 'off',
97
- '@typescript-eslint/no-empty-interface': 'off',
98
- '@typescript-eslint/triple-slash-reference': 'off',
99
- 'react/prop-types': 'off',
100
- 'react/no-find-dom-node': 'off',
101
- 'react-hooks/exhaustive-deps': 'off',
102
- 'react/display-name': 'off',
103
- 'react/react-in-jsx-scope': 'off',
104
- 'no-constant-condition': 'off'
105
- }
106
- }
107
- ])
1
+ import eslint from '@eslint/js'
2
+ import globals from 'globals'
3
+ import tseslint from 'typescript-eslint'
4
+ import importPlugin from 'eslint-plugin-import'
5
+ import reactPlugin from 'eslint-plugin-react'
6
+ import reactHooksPlugin from 'eslint-plugin-react-hooks'
7
+
8
+ const scriptExtensions = ['js', 'jsx', 'mjs', 'cjs', 'ts', 'tsx']
9
+ const files = scriptExtensions.map(ext => `**/*.${ext}`)
10
+
11
+ export default tseslint.config([
12
+ {
13
+ ignores: ['**/node_modules/', '**/dist/', '**/.history/', '**/.vscode/', 'vite.config.ts.*']
14
+ },
15
+ eslint.configs.recommended,
16
+ importPlugin.flatConfigs.recommended,
17
+ tseslint.configs.recommended,
18
+ {
19
+ plugins: { reactPlugin, reactHooksPlugin },
20
+ files,
21
+ languageOptions: {
22
+ ecmaVersion: 2018,
23
+ sourceType: 'module',
24
+ parserOptions: {
25
+ ecmaFeatures: {
26
+ jsx: true
27
+ },
28
+ useJSXTextNode: true
29
+ },
30
+ globals: {
31
+ ...globals.browser,
32
+ ...globals.node
33
+ }
34
+ },
35
+ settings: {
36
+ 'import/resolver': {
37
+ typescript: true,
38
+ node: true
39
+ },
40
+ react: {
41
+ version: '18'
42
+ }
43
+ },
44
+ rules: {
45
+ 'import/export': 'off',
46
+ 'import/namespace': 'off',
47
+ 'import/default': 'off',
48
+ 'import/consistent-type-specifier-style': ['error', 'prefer-inline'],
49
+ 'import/no-duplicates': ['error', { 'prefer-inline': true }],
50
+ 'import/no-named-as-default-member': 'off',
51
+ 'import/no-named-as-default': 'off',
52
+ 'import/order': [
53
+ 'error',
54
+ {
55
+ groups: [
56
+ 'builtin',
57
+ 'external',
58
+ 'internal',
59
+ 'parent',
60
+ 'sibling',
61
+ 'index',
62
+ 'object',
63
+ 'type'
64
+ ],
65
+ pathGroups: [
66
+ { pattern: 'react', group: 'external', position: 'before' },
67
+ { pattern: 'react-dom/*', group: 'external', position: 'before' },
68
+ { pattern: 'react-router', group: 'external', position: 'before' },
69
+ { pattern: 'react-router-dom', group: 'external', position: 'before' }
70
+ ],
71
+ pathGroupsExcludedImportTypes: ['builtin']
72
+ }
73
+ ],
74
+ 'no-case-declarations': 'off',
75
+ '@typescript-eslint/no-unused-expressions': 'off',
76
+ '@typescript-eslint/no-empty-object-type': 'off',
77
+ '@typescript-eslint/no-var-requires': 0,
78
+ '@typescript-eslint/explicit-function-return-type': 'off',
79
+ '@typescript-eslint/no-explicit-any': 0,
80
+ '@typescript-eslint/no-non-null-assertion': 'off',
81
+ '@typescript-eslint/no-inferrable-types': [
82
+ 'warn',
83
+ {
84
+ ignoreParameters: true
85
+ }
86
+ ],
87
+ '@typescript-eslint/no-unused-vars': [
88
+ 'warn',
89
+ {
90
+ argsIgnorePattern: '^_'
91
+ }
92
+ ],
93
+ '@typescript-eslint/member-delimiter-style': 0,
94
+ '@typescript-eslint/class-name-casing': 0,
95
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
96
+ '@typescript-eslint/ban-ts-comment': 'off',
97
+ '@typescript-eslint/no-empty-interface': 'off',
98
+ '@typescript-eslint/triple-slash-reference': 'off',
99
+ 'react/prop-types': 'off',
100
+ 'react/no-find-dom-node': 'off',
101
+ 'react-hooks/exhaustive-deps': 'off',
102
+ 'react/display-name': 'off',
103
+ 'react/react-in-jsx-scope': 'off',
104
+ 'no-constant-condition': 'off'
105
+ }
106
+ }
107
+ ])
@@ -31,7 +31,7 @@
31
31
  "@webext-core/messaging": "2.2.0",
32
32
  "axios": "1.7.9",
33
33
  "define-zustand": "3.4.0",
34
- "es-toolkit": "1.39.8",
34
+ "es-toolkit": "1.43.0",
35
35
  "immer": "10.0.1",
36
36
  "qs": "6.11.2",
37
37
  "react": "18.3.1",
@@ -50,7 +50,7 @@
50
50
  "@types/qs": "6.9.7",
51
51
  "@types/react": "18.3.3",
52
52
  "@types/react-dom": "18.3.0",
53
- "@vitejs/plugin-react": "5.0.1",
53
+ "@vitejs/plugin-react": "5.1.2",
54
54
  "autoprefixer": "10.4.14",
55
55
  "commitizen": "4.3.0",
56
56
  "cssnano": "6.0.0",
@@ -69,12 +69,12 @@
69
69
  "postcss-styled-syntax": "0.6.4",
70
70
  "prettier": "3.2.5",
71
71
  "rimraf": "5.0.1",
72
- "sass": "1.63.4",
72
+ "sass": "1.97.1",
73
73
  "stylelint": "16.10.0",
74
74
  "stylelint-config-standard": "36.0.1",
75
75
  "typescript": "5.8.2",
76
76
  "typescript-eslint": "8.28.0",
77
- "vite": "7.1.3",
77
+ "vite": "7.3.0",
78
78
  "vite-plugin-svgr": "4.5.0",
79
79
  "wxt": "0.20.5"
80
80
  },
@@ -1,8 +1,8 @@
1
- module.exports = {
2
- plugins: {
3
- 'postcss-import': {},
4
- 'postcss-nesting': {},
5
- autoprefixer: {},
6
- ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
7
- }
8
- }
1
+ module.exports = {
2
+ plugins: {
3
+ 'postcss-import': {},
4
+ 'postcss-nesting': {},
5
+ autoprefixer: {},
6
+ ...(process.env.NODE_ENV === 'production' ? { cssnano: {} } : {})
7
+ }
8
+ }
@@ -1 +1 @@
1
- export * as backgroundMessage from './message'
1
+ export * as backgroundMessage from './message'
@@ -1,7 +1,7 @@
1
- import { defineExtensionMessaging } from '@webext-core/messaging'
2
-
3
- export type messageType = {
4
- test: () => string
5
- }
6
-
7
- export const { sendMessage, onMessage } = defineExtensionMessaging<messageType>()
1
+ import { defineExtensionMessaging } from '@webext-core/messaging'
2
+
3
+ export type messageType = {
4
+ test: () => string
5
+ }
6
+
7
+ export const { sendMessage, onMessage } = defineExtensionMessaging<messageType>()
@@ -1,19 +1,19 @@
1
- import { FunctionComponent, ReactNode } from 'react'
2
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
3
- import { Global, ThemeProvider } from '@emotion/react'
4
- import { createGlobalCss, theme } from '@/shared/styles'
5
-
6
- const queryClient = new QueryClient()
7
-
8
- const AppContext: FunctionComponent<{ children: ReactNode; classNameSpace?: string }> = props => {
9
- return (
10
- <ThemeProvider theme={theme}>
11
- <QueryClientProvider client={queryClient}>
12
- <Global styles={createGlobalCss(props.classNameSpace)} />
13
- {props.children}
14
- </QueryClientProvider>
15
- </ThemeProvider>
16
- )
17
- }
18
-
19
- export default AppContext
1
+ import { FunctionComponent, ReactNode } from 'react'
2
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
3
+ import { Global, ThemeProvider } from '@emotion/react'
4
+ import { createGlobalCss, theme } from '@/shared/styles'
5
+
6
+ const queryClient = new QueryClient()
7
+
8
+ const AppContext: FunctionComponent<{ children: ReactNode; classNameSpace?: string }> = props => {
9
+ return (
10
+ <ThemeProvider theme={theme}>
11
+ <QueryClientProvider client={queryClient}>
12
+ <Global styles={createGlobalCss(props.classNameSpace)} />
13
+ {props.children}
14
+ </QueryClientProvider>
15
+ </ThemeProvider>
16
+ )
17
+ }
18
+
19
+ export default AppContext
@@ -1 +1 @@
1
- export * as AppContext from './app-context'
1
+ export * as AppContext from './app-context'
@@ -1,2 +1,2 @@
1
- export { default as useVisible } from './useVisible'
2
- export * from './useSyncState'
1
+ export { default as useVisible } from './useVisible'
2
+ export * from './useSyncState'
@@ -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 * from './request'
1
+ export * from './request'
@@ -1,5 +1,5 @@
1
- import axios from 'axios'
2
-
3
- export const request = axios.create({
4
- baseURL: 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_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,10 +1,10 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["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": ["vite.config.ts", "package.json"]
10
+ }
@@ -1,26 +0,0 @@
1
- # Logs
2
- logs
3
- *.log
4
- npm-debug.log*
5
- yarn-debug.log*
6
- yarn-error.log*
7
- pnpm-debug.log*
8
- lerna-debug.log*
9
-
10
- node_modules
11
- dist
12
- dist-ssr
13
- *.local
14
- types
15
-
16
- # Editor directories and files
17
- .vscode/*
18
- !.vscode/extensions.json
19
- .history
20
- .idea
21
- .DS_Store
22
- *.suo
23
- *.ntvs*
24
- *.njsproj
25
- *.sln
26
- *.sw?