create-packer 1.37.2 → 1.38.2

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 (237) hide show
  1. package/package.json +3 -2
  2. package/template/cli/.prettierignore +6 -0
  3. package/template/cli/.prettierrc +18 -0
  4. package/template/cli/bin/createTemp.d.ts +1 -0
  5. package/template/cli/bin/createTemp.js +54 -0
  6. package/template/cli/bin/index.d.ts +2 -0
  7. package/template/cli/bin/index.js +4 -0
  8. package/template/cli/bin/utils/index.d.ts +10 -0
  9. package/template/cli/bin/utils/index.js +44 -0
  10. package/template/cli/package.json +53 -47
  11. package/template/docusaurus/.prettierignore +2 -0
  12. package/template/docusaurus/src/components/HomepageFeatures/index.tsx +70 -70
  13. package/template/docusaurus/src/components/HomepageFeatures/styles.module.css +11 -11
  14. package/template/docusaurus/src/css/custom.css +30 -30
  15. package/template/docusaurus/src/pages/index.module.css +23 -23
  16. package/template/docusaurus/src/pages/index.tsx +40 -40
  17. package/template/lib/workspace/.prettierignore +6 -0
  18. package/template/lib/workspace/.prettierrc +18 -0
  19. package/template/lib/workspace/package.json +73 -72
  20. package/template/lib/workspace/packages/react/package.json +41 -40
  21. package/template/lib/workspace/packages/ts/package.json +29 -28
  22. package/template/nest/package.json +84 -84
  23. package/template/nest/src/app.controller.spec.ts +22 -22
  24. package/template/nest/src/app.controller.ts +12 -12
  25. package/template/nest/src/app.module.ts +10 -10
  26. package/template/nest/src/app.service.ts +8 -8
  27. package/template/nest/src/main.ts +10 -10
  28. package/template/nest/src/utils/transform.interceptor.ts +26 -26
  29. package/template/nest/test/app.e2e-spec.ts +24 -24
  30. package/template/web-app/next/app/globals.css +22 -22
  31. package/template/web-app/next/app/layout.tsx +18 -18
  32. package/template/web-app/next/app/page.tsx +113 -113
  33. package/template/web-app/next/package.json +47 -47
  34. package/template/web-app/react-rsbuild/.prettierignore +6 -0
  35. package/template/web-app/react-rsbuild/.prettierrc +18 -0
  36. package/template/web-app/react-rsbuild/.vscode/extensions.json +8 -8
  37. package/template/web-app/react-rsbuild/.vscode/settings.json +4 -18
  38. package/template/web-app/react-rsbuild/domain/app/app.model.ts +7 -7
  39. package/template/web-app/react-rsbuild/domain/app/app.styled.ts +3 -3
  40. package/template/web-app/react-rsbuild/domain/app/components/app-context.tsx +17 -17
  41. package/template/web-app/react-rsbuild/domain/app/components/app.tsx +24 -24
  42. package/template/web-app/react-rsbuild/domain/app/components/index.ts +1 -1
  43. package/template/web-app/react-rsbuild/domain/app/index.ts +2 -2
  44. package/template/web-app/react-rsbuild/domain/router/home/ids.ts +3 -3
  45. package/template/web-app/react-rsbuild/domain/router/home/index.ts +2 -2
  46. package/template/web-app/react-rsbuild/domain/router/home/routes.tsx +13 -13
  47. package/template/web-app/react-rsbuild/domain/router/ids.ts +6 -6
  48. package/template/web-app/react-rsbuild/domain/router/index.ts +3 -3
  49. package/template/web-app/react-rsbuild/domain/router/router.tsx +28 -28
  50. package/template/web-app/react-rsbuild/domain/router/router.types.ts +3 -3
  51. package/template/web-app/react-rsbuild/env.d.ts +28 -28
  52. package/template/web-app/react-rsbuild/main.tsx +4 -4
  53. package/template/web-app/react-rsbuild/package.json +10 -11
  54. package/template/web-app/react-rsbuild/pages/home/home.styled.ts +7 -7
  55. package/template/web-app/react-rsbuild/pages/home/home.tsx +10 -10
  56. package/template/web-app/react-rsbuild/pages/home/index.ts +1 -1
  57. package/template/web-app/react-rsbuild/pages/index.tsx +18 -18
  58. package/template/web-app/react-rsbuild/pages/not-found.tsx +3 -3
  59. package/template/web-app/react-rsbuild/rsbuild.config.ts +78 -85
  60. package/template/web-app/react-rsbuild/scripts/createChunks.ts +26 -26
  61. package/template/web-app/react-rsbuild/scripts/index.ts +1 -1
  62. package/template/web-app/react-rsbuild/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  63. package/template/web-app/react-rsbuild/shared/hooks/defineRouter/index.ts +2 -2
  64. package/template/web-app/react-rsbuild/shared/hooks/index.ts +6 -6
  65. package/template/web-app/react-rsbuild/shared/hooks/useInterval.ts +26 -26
  66. package/template/web-app/react-rsbuild/shared/hooks/useLoadingAction.ts +27 -27
  67. package/template/web-app/react-rsbuild/shared/hooks/useLowPriorityState.ts +26 -26
  68. package/template/web-app/react-rsbuild/shared/hooks/useSyncState.ts +15 -15
  69. package/template/web-app/react-rsbuild/shared/hooks/useVisible.ts +27 -27
  70. package/template/web-app/react-rsbuild/shared/service/api.ts +1 -1
  71. package/template/web-app/react-rsbuild/shared/service/home.ts +8 -8
  72. package/template/web-app/react-rsbuild/shared/service/index.ts +3 -3
  73. package/template/web-app/react-rsbuild/shared/service/request.ts +5 -5
  74. package/template/web-app/react-rsbuild/shared/theme/index.ts +1 -1
  75. package/template/web-app/react-rsbuild/shared/theme/theme.styled.ts +56 -56
  76. package/template/web-app/react-rsbuild/shared/tools/componentInstance.tsx +80 -80
  77. package/template/web-app/react-rsbuild/shared/tools/index.ts +1 -1
  78. package/template/web-app/react-rsbuild/shared/types/index.ts +1 -1
  79. package/template/web-app/react-rsbuild/shared/types/utils.ts +2 -2
  80. package/template/web-app/react-rsbuild/tsconfig.json +32 -44
  81. package/template/web-app/react-rsbuild/tsconfig.node.json +10 -14
  82. package/template/web-app/react-vite/.prettierignore +6 -0
  83. package/template/web-app/react-vite/.prettierrc +18 -0
  84. package/template/web-app/react-vite/.vscode/extensions.json +1 -1
  85. package/template/web-app/react-vite/package.json +4 -4
  86. package/template/web-app/react-webpack/.prettierignore +6 -0
  87. package/template/web-app/react-webpack/.prettierrc +18 -0
  88. package/template/web-app/react-webpack/.vscode/extensions.json +8 -8
  89. package/template/web-app/react-webpack/.vscode/settings.json +4 -18
  90. package/template/web-app/react-webpack/commitlint.config.js +1 -1
  91. package/template/web-app/react-webpack/domain/app/app.model.ts +7 -7
  92. package/template/web-app/react-webpack/domain/app/app.styled.ts +3 -3
  93. package/template/web-app/react-webpack/domain/app/components/app-context.tsx +17 -17
  94. package/template/web-app/react-webpack/domain/app/components/app.tsx +24 -24
  95. package/template/web-app/react-webpack/domain/app/components/index.ts +1 -1
  96. package/template/web-app/react-webpack/domain/app/index.ts +2 -2
  97. package/template/web-app/react-webpack/domain/router/home/ids.ts +3 -3
  98. package/template/web-app/react-webpack/domain/router/home/index.ts +2 -2
  99. package/template/web-app/react-webpack/domain/router/home/routes.tsx +13 -13
  100. package/template/web-app/react-webpack/domain/router/ids.ts +6 -6
  101. package/template/web-app/react-webpack/domain/router/index.ts +3 -3
  102. package/template/web-app/react-webpack/domain/router/router.tsx +28 -28
  103. package/template/web-app/react-webpack/domain/router/router.types.ts +3 -3
  104. package/template/web-app/react-webpack/global.d.ts +26 -26
  105. package/template/web-app/react-webpack/index.css +3 -3
  106. package/template/web-app/react-webpack/main.tsx +4 -4
  107. package/template/web-app/react-webpack/package.json +87 -87
  108. package/template/web-app/react-webpack/pages/home/home.styled.ts +7 -7
  109. package/template/web-app/react-webpack/pages/home/home.tsx +10 -10
  110. package/template/web-app/react-webpack/pages/home/index.ts +1 -1
  111. package/template/web-app/react-webpack/pages/index.tsx +18 -18
  112. package/template/web-app/react-webpack/pages/not-found.tsx +3 -3
  113. package/template/web-app/react-webpack/postcss.config.js +7 -7
  114. package/template/web-app/react-webpack/shared/hooks/defineRouter/defineRouter.types.ts +33 -33
  115. package/template/web-app/react-webpack/shared/hooks/defineRouter/index.ts +2 -2
  116. package/template/web-app/react-webpack/shared/hooks/index.ts +6 -6
  117. package/template/web-app/react-webpack/shared/hooks/useInterval.ts +26 -26
  118. package/template/web-app/react-webpack/shared/hooks/useLoadingAction.ts +27 -27
  119. package/template/web-app/react-webpack/shared/hooks/useLowPriorityState.ts +26 -26
  120. package/template/web-app/react-webpack/shared/hooks/useSyncState.ts +15 -15
  121. package/template/web-app/react-webpack/shared/hooks/useVisible.ts +27 -27
  122. package/template/web-app/react-webpack/shared/service/home.ts +8 -8
  123. package/template/web-app/react-webpack/shared/service/index.ts +2 -2
  124. package/template/web-app/react-webpack/shared/service/request.ts +5 -5
  125. package/template/web-app/react-webpack/shared/theme/index.ts +1 -1
  126. package/template/web-app/react-webpack/shared/theme/theme.styled.ts +56 -56
  127. package/template/web-app/react-webpack/shared/tools/componentInstance.tsx +78 -78
  128. package/template/web-app/react-webpack/shared/tools/index.ts +1 -1
  129. package/template/web-app/react-webpack/shared/types/index.ts +1 -1
  130. package/template/web-app/react-webpack/shared/types/utils.ts +2 -2
  131. package/template/web-app/react-webpack/tsconfig.json +27 -38
  132. package/template/web-app/react-webpack/tsconfig.node.json +9 -9
  133. package/template/web-app/solid/package.json +51 -51
  134. package/template/web-app/solid/src/app.container.tsx +12 -12
  135. package/template/web-app/solid/src/index.css +15 -15
  136. package/template/web-app/solid/src/index.tsx +15 -15
  137. package/template/web-app/solid/src/layout/index.ts +1 -1
  138. package/template/web-app/solid/src/layout/layout.container.tsx +5 -5
  139. package/template/web-app/solid/src/pages/home/home.container.tsx +5 -5
  140. package/template/web-app/solid/src/pages/home/index.ts +1 -1
  141. package/template/web-app/solid/src/pages/notFound/index.ts +1 -1
  142. package/template/web-app/solid/src/pages/notFound/notFound.container.tsx +3 -3
  143. package/template/web-app/solid/src/router/home/index.ts +2 -2
  144. package/template/web-app/solid/src/router/home/paths.ts +3 -3
  145. package/template/web-app/solid/src/router/home/routes.tsx +12 -12
  146. package/template/web-app/solid/src/router/index.ts +2 -2
  147. package/template/web-app/solid/src/router/paths.ts +5 -5
  148. package/template/web-app/solid/src/router/routes.ts +16 -16
  149. package/template/web-app/svelte/.prettierignore +2 -0
  150. package/template/web-app/svelte/.prettierrc +14 -14
  151. package/template/web-app/svelte/.svelte-kit/ambient.d.ts +177 -153
  152. package/template/web-app/svelte/.svelte-kit/generated/client/app.js +23 -19
  153. package/template/web-app/svelte/.svelte-kit/generated/client/matchers.js +1 -1
  154. package/template/web-app/svelte/.svelte-kit/generated/client/nodes/0.js +1 -1
  155. package/template/web-app/svelte/.svelte-kit/generated/client/nodes/1.js +1 -1
  156. package/template/web-app/svelte/.svelte-kit/generated/client/nodes/2.js +1 -1
  157. package/template/web-app/svelte/.svelte-kit/generated/root.svelte +62 -56
  158. package/template/web-app/svelte/.svelte-kit/generated/server/internal.js +61 -30
  159. package/template/web-app/svelte/.svelte-kit/non-ambient.d.ts +23 -0
  160. package/template/web-app/svelte/.svelte-kit/tsconfig.json +32 -39
  161. package/template/web-app/svelte/.svelte-kit/types/route_meta_data.json +3 -3
  162. package/template/web-app/svelte/.svelte-kit/types/src/routes/$types.d.ts +35 -20
  163. package/template/web-app/svelte/.vscode/extensions.json +8 -8
  164. package/template/web-app/svelte/commitlint.config.cjs +1 -1
  165. package/template/web-app/svelte/package.json +55 -55
  166. package/template/web-app/svelte/scripts/createChunks.ts +26 -26
  167. package/template/web-app/svelte/scripts/index.ts +1 -1
  168. package/template/web-app/svelte/src/app.d.ts +12 -12
  169. package/template/web-app/svelte/src/routes/+page.svelte +2 -2
  170. package/template/web-app/svelte/svelte.config.js +17 -17
  171. package/template/web-app/svelte/tsconfig.json +21 -21
  172. package/template/web-app/svelte/vite-env.d.ts +11 -11
  173. package/template/web-app/svelte/vite.config.ts +55 -55
  174. package/template/web-app/vue/.prettierignore +6 -0
  175. package/template/web-app/vue/.prettierrc +18 -0
  176. package/template/web-app/vue/.vscode/extensions.json +1 -1
  177. package/template/web-app/vue/domain/app/components/app.vue +18 -18
  178. package/template/web-app/vue/package.json +4 -4
  179. package/template/web-app/vue/pages/home/home.vue +16 -16
  180. package/template/web-app/vue/pages/index.vue +3 -3
  181. package/template/web-app/vue/pages/not-found.vue +3 -3
  182. package/template/web-extension/.prettierignore +6 -0
  183. package/template/web-extension/.prettierrc +18 -0
  184. package/template/web-extension/.vscode/extensions.json +8 -8
  185. package/template/web-extension/.vscode/settings.json +4 -18
  186. package/template/web-extension/.wxt/eslintrc-auto-import.json +19 -19
  187. package/template/web-extension/.wxt/tsconfig.json +24 -27
  188. package/template/web-extension/.wxt/types/globals.d.ts +10 -10
  189. package/template/web-extension/.wxt/types/i18n.d.ts +80 -74
  190. package/template/web-extension/.wxt/types/imports.d.ts +17 -17
  191. package/template/web-extension/.wxt/types/paths.d.ts +12 -12
  192. package/template/web-extension/entrypoints/background/index.ts +1 -1
  193. package/template/web-extension/entrypoints/content/constants/base.ts +1 -1
  194. package/template/web-extension/entrypoints/content/constants/index.ts +1 -1
  195. package/template/web-extension/entrypoints/content/domain/app/index.ts +1 -1
  196. package/template/web-extension/entrypoints/content/domain/app/tools/index.ts +1 -1
  197. package/template/web-extension/entrypoints/content/domain/app/tools/insertApp.tsx +59 -55
  198. package/template/web-extension/entrypoints/content/index.tsx +12 -12
  199. package/template/web-extension/entrypoints/content/modules/common/common.tsx +10 -10
  200. package/template/web-extension/entrypoints/content/modules/common/index.ts +2 -2
  201. package/template/web-extension/entrypoints/content/modules/common/insert.tsx +9 -9
  202. package/template/web-extension/entrypoints/content/modules/index.ts +1 -1
  203. package/template/web-extension/entrypoints/popup/index.html +0 -1
  204. package/template/web-extension/entrypoints/popup/main.tsx +14 -14
  205. package/template/web-extension/entrypoints/popup/popup.container.tsx +3 -3
  206. package/template/web-extension/package.json +86 -86
  207. package/template/web-extension/shared/background/index.ts +1 -1
  208. package/template/web-extension/shared/background/message.ts +11 -11
  209. package/template/web-extension/shared/components/app-context.tsx +14 -14
  210. package/template/web-extension/shared/components/index.ts +1 -1
  211. package/template/web-extension/shared/content/index.ts +1 -1
  212. package/template/web-extension/shared/content/message.ts +15 -15
  213. package/template/web-extension/shared/hooks/index.ts +2 -2
  214. package/template/web-extension/shared/hooks/useSyncState.ts +15 -15
  215. package/template/web-extension/shared/hooks/useVisible.ts +27 -27
  216. package/template/web-extension/shared/popup/index.ts +1 -1
  217. package/template/web-extension/shared/popup/message.ts +12 -12
  218. package/template/web-extension/shared/service/index.ts +1 -1
  219. package/template/web-extension/shared/service/request.ts +5 -5
  220. package/template/web-extension/shared/styles/global.styled.ts +8 -8
  221. package/template/web-extension/shared/styles/index.ts +2 -2
  222. package/template/web-extension/shared/styles/theme.styled.ts +56 -56
  223. package/template/web-extension/shared/tools/index.ts +1 -1
  224. package/template/web-extension/shared/tools/message.ts +80 -80
  225. package/template/web-extension/shared/types/index.ts +1 -1
  226. package/template/web-extension/shared/types/utils.ts +3 -3
  227. package/template/web-extension/tsconfig.json +32 -32
  228. package/template/web-extension/tsconfig.node.json +10 -10
  229. package/template/web-extension/vite-env.d.ts +19 -19
  230. package/template/web-extension/wxt.config.ts +50 -46
  231. package/template/cli/biome.json +0 -40
  232. package/template/lib/workspace/biome.json +0 -40
  233. package/template/web-app/react-rsbuild/biome.json +0 -40
  234. package/template/web-app/react-vite/biome.json +0 -40
  235. package/template/web-app/react-webpack/biome.json +0 -40
  236. package/template/web-app/vue/biome.json +0 -40
  237. package/template/web-extension/biome.json +0 -40
@@ -1,15 +1,15 @@
1
- import { useRef, useState, Dispatch, SetStateAction } from 'react'
2
- import { isFunction } from 'lodash-es'
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
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 'lodash-es'
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
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 'lodash-es'
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 'lodash-es'
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 * as popupMessage from './message'
1
+ export * as popupMessage from './message'
@@ -1,12 +1,12 @@
1
- import { message } from '@/shared/tools'
2
-
3
- export enum ACTIONS {
4
- TEST = 'TEST'
5
- }
6
-
7
- export interface messageType {
8
- [ACTIONS.TEST]: object
9
- }
10
- export interface responseType {}
11
-
12
- export const action = message.create<ACTIONS, messageType, responseType>()
1
+ import { message } from '@/shared/tools'
2
+
3
+ export enum ACTIONS {
4
+ TEST = 'TEST'
5
+ }
6
+
7
+ export interface messageType {
8
+ [ACTIONS.TEST]: object
9
+ }
10
+ export interface responseType {}
11
+
12
+ export const action = message.create<ACTIONS, messageType, responseType>()
@@ -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
+ })
@@ -1,8 +1,8 @@
1
- import { createGlobalStyle, css } from 'styled-components'
2
-
3
- export const GlobalStyle = createGlobalStyle<{ nameSpace?: string }>(props => {
4
- return css`
5
- .${props.nameSpace || 'body'} {
6
- }
7
- `
8
- })
1
+ import { createGlobalStyle, css } from 'styled-components'
2
+
3
+ export const GlobalStyle = createGlobalStyle<{ nameSpace?: string }>(props => {
4
+ return css`
5
+ .${props.nameSpace || 'body'} {
6
+ }
7
+ `
8
+ })
@@ -1,2 +1,2 @@
1
- export * from './theme.styled'
2
- export * from './global.styled'
1
+ export * from './theme.styled'
2
+ export * from './global.styled'
@@ -1,56 +1,56 @@
1
- import { CSSProperties } from 'react'
2
- import { AnyFunc } from '1k-types'
3
- import { isString } from 'lodash-es'
4
-
5
- export const theme = {
6
- tools: {
7
- ellipsis: () => ({
8
- overflow: 'hidden',
9
- textOverflow: 'ellipsis',
10
- whiteSpace: 'nowrap'
11
- }),
12
- lineClamp: (n: number) => ({
13
- '-webkit-line-clamp': `${n}`,
14
- '-webkit-box-orient': 'vertical',
15
- overflow: 'hidden',
16
- display: '-webkit-box'
17
- }),
18
- size: (s: string) => ({ width: s, height: s }),
19
- py: (s: string) => ({ paddingTop: s, paddingBottom: s }),
20
- px: (s: string) => ({ paddingLeft: s, paddingRight: s }),
21
- my: (s: string) => ({ marginTop: s, marginBottom: s }),
22
- mx: (s: string) => ({ marginLeft: s, marginRight: s }),
23
- flex: (
24
- align: CSSProperties['alignItems'],
25
- justify: CSSProperties['justifyContent'],
26
- vertical?: boolean
27
- ) => {
28
- return {
29
- display: 'flex',
30
- alignItems: align,
31
- justifyContent: justify,
32
- flexDirection: vertical ? 'column' : 'row'
33
- } satisfies CSSProperties
34
- },
35
- /** 数字为元素数量,字符串为对应css的值 */
36
- grid: {
37
- grid: (rows: number | string, cols: number | string, gap?: number) => ({
38
- display: 'grid',
39
- gridTemplateRows: isString(rows) ? rows : `repeat(${rows}, minmax(0, 1fr))`,
40
- gridTemplateColumns: isString(cols) ? cols : `repeat(${cols}, minmax(0, 1fr))`,
41
- gap: gap ? `${gap}px` : void 0
42
- }),
43
- rows: (rows: number | string, gap?: number) => ({
44
- display: 'grid',
45
- gridTemplateRows: isString(rows) ? rows : `repeat(${rows}, minmax(0, 1fr))`,
46
- rowGap: gap ? `${gap}px` : void 0
47
- }),
48
- cols: (cols: number | string, gap?: number) => ({
49
- display: 'grid',
50
- gridTemplateColumns: isString(cols) ? cols : `repeat(${cols}, minmax(0, 1fr))`,
51
- columnGap: gap ? `${gap}px` : void 0
52
- })
53
- } satisfies Record<string, AnyFunc<CSSProperties>>
54
- }
55
- }
56
- export type themeType = typeof theme
1
+ import { CSSProperties } from 'react'
2
+ import { AnyFunc } from '1k-types'
3
+ import { isString } from 'lodash-es'
4
+
5
+ export const theme = {
6
+ tools: {
7
+ ellipsis: () => ({
8
+ overflow: 'hidden',
9
+ textOverflow: 'ellipsis',
10
+ whiteSpace: 'nowrap'
11
+ }),
12
+ lineClamp: (n: number) => ({
13
+ '-webkit-line-clamp': `${n}`,
14
+ '-webkit-box-orient': 'vertical',
15
+ overflow: 'hidden',
16
+ display: '-webkit-box'
17
+ }),
18
+ size: (s: string) => ({ width: s, height: s }),
19
+ py: (s: string) => ({ paddingTop: s, paddingBottom: s }),
20
+ px: (s: string) => ({ paddingLeft: s, paddingRight: s }),
21
+ my: (s: string) => ({ marginTop: s, marginBottom: s }),
22
+ mx: (s: string) => ({ marginLeft: s, marginRight: s }),
23
+ flex: (
24
+ align: CSSProperties['alignItems'],
25
+ justify: CSSProperties['justifyContent'],
26
+ vertical?: boolean
27
+ ) => {
28
+ return {
29
+ display: 'flex',
30
+ alignItems: align,
31
+ justifyContent: justify,
32
+ flexDirection: vertical ? 'column' : 'row'
33
+ } satisfies CSSProperties
34
+ },
35
+ /** 数字为元素数量,字符串为对应css的值 */
36
+ grid: {
37
+ grid: (rows: number | string, cols: number | string, gap?: number) => ({
38
+ display: 'grid',
39
+ gridTemplateRows: isString(rows) ? rows : `repeat(${rows}, minmax(0, 1fr))`,
40
+ gridTemplateColumns: isString(cols) ? cols : `repeat(${cols}, minmax(0, 1fr))`,
41
+ gap: gap ? `${gap}px` : void 0
42
+ }),
43
+ rows: (rows: number | string, gap?: number) => ({
44
+ display: 'grid',
45
+ gridTemplateRows: isString(rows) ? rows : `repeat(${rows}, minmax(0, 1fr))`,
46
+ rowGap: gap ? `${gap}px` : void 0
47
+ }),
48
+ cols: (cols: number | string, gap?: number) => ({
49
+ display: 'grid',
50
+ gridTemplateColumns: isString(cols) ? cols : `repeat(${cols}, minmax(0, 1fr))`,
51
+ columnGap: gap ? `${gap}px` : void 0
52
+ })
53
+ } satisfies Record<string, AnyFunc<CSSProperties>>
54
+ }
55
+ }
56
+ export type themeType = typeof theme
@@ -1 +1 @@
1
- export * as message from './message'
1
+ export * as message from './message'
@@ -1,80 +1,80 @@
1
- import { map, unset } from 'lodash-es'
2
-
3
- export type defActionType = string
4
- export type messageOpsType<Action extends defActionType> = Record<Action, object>
5
- export type genMessageType<
6
- Action extends defActionType,
7
- MessageOps extends messageOpsType<Action>[Action]
8
- > = { action: Action } & MessageOps
9
- export type responseType<Action extends defActionType> = { [key in Action]?: any }
10
- export type actionHandlerType<Message, Response> = (
11
- message: Message,
12
- sender: chrome.runtime.MessageSender,
13
- callback: (response?: Response) => void
14
- ) => any
15
- class MessageConstructor<
16
- Action extends defActionType,
17
- MessageConfig extends messageOpsType<Action>,
18
- Response extends responseType<Action>
19
- > {
20
- action: {
21
- [key: string]: actionHandlerType<
22
- genMessageType<Action, MessageConfig[Action]>,
23
- Response[Action]
24
- >
25
- }
26
- constructor() {
27
- this.action = {}
28
- }
29
- initListener() {
30
- chrome.runtime.onMessage.addListener((message, sender, callback) => {
31
- this.action[message.action]?.(message, sender, callback)
32
- return true
33
- })
34
- }
35
- addListener<A extends Action>(
36
- action: A,
37
- callback: actionHandlerType<genMessageType<A, MessageConfig[A]>, Response[A]>
38
- ) {
39
- // @ts-ignore
40
- this.action[action] = callback
41
- }
42
- removeListener(action: Action) {
43
- unset(this.action, action)
44
- }
45
- async send<A extends Action>(message: genMessageType<A, MessageConfig[A]>) {
46
- return new Promise<Response[A]>(resolve => {
47
- chrome.runtime.sendMessage(message, response => resolve(response))
48
- })
49
- }
50
-
51
- async batchSendToContent<SendMessage extends genMessageType<Action, MessageConfig[Action]>>(
52
- message: SendMessage,
53
- config?: chrome.tabs.QueryInfo
54
- ) {
55
- const tabs = config ? await chrome.tabs.query(config) : []
56
- return await Promise.all(
57
- map(tabs, tab => {
58
- return new Promise<Response[SendMessage['action']]>(resolve => {
59
- chrome.tabs.sendMessage(tab.id!, message, response => resolve(response))
60
- })
61
- })
62
- )
63
- }
64
- sendToContent<SendMessage extends genMessageType<Action, MessageConfig[Action]>>(
65
- tabId: number,
66
- message: SendMessage
67
- ) {
68
- return new Promise<Response[SendMessage['action']]>(resolve => {
69
- chrome.tabs.sendMessage(tabId, message, response => resolve(response))
70
- })
71
- }
72
- }
73
-
74
- export function create<
75
- Action extends defActionType,
76
- MessageOps extends messageOpsType<Action>,
77
- Response extends responseType<Action>
78
- >() {
79
- return new MessageConstructor<Action, MessageOps, Response>()
80
- }
1
+ import { map, unset } from 'lodash-es'
2
+
3
+ export type defActionType = string
4
+ export type messageOpsType<Action extends defActionType> = Record<Action, object>
5
+ export type genMessageType<
6
+ Action extends defActionType,
7
+ MessageOps extends messageOpsType<Action>[Action]
8
+ > = { action: Action } & MessageOps
9
+ export type responseType<Action extends defActionType> = { [key in Action]?: any }
10
+ export type actionHandlerType<Message, Response> = (
11
+ message: Message,
12
+ sender: chrome.runtime.MessageSender,
13
+ callback: (response?: Response) => void
14
+ ) => any
15
+ class MessageConstructor<
16
+ Action extends defActionType,
17
+ MessageConfig extends messageOpsType<Action>,
18
+ Response extends responseType<Action>
19
+ > {
20
+ action: {
21
+ [key: string]: actionHandlerType<
22
+ genMessageType<Action, MessageConfig[Action]>,
23
+ Response[Action]
24
+ >
25
+ }
26
+ constructor() {
27
+ this.action = {}
28
+ }
29
+ initListener() {
30
+ chrome.runtime.onMessage.addListener((message, sender, callback) => {
31
+ this.action[message.action]?.(message, sender, callback)
32
+ return true
33
+ })
34
+ }
35
+ addListener<A extends Action>(
36
+ action: A,
37
+ callback: actionHandlerType<genMessageType<A, MessageConfig[A]>, Response[A]>
38
+ ) {
39
+ // @ts-ignore
40
+ this.action[action] = callback
41
+ }
42
+ removeListener(action: Action) {
43
+ unset(this.action, action)
44
+ }
45
+ async send<A extends Action>(message: genMessageType<A, MessageConfig[A]>) {
46
+ return new Promise<Response[A]>(resolve => {
47
+ chrome.runtime.sendMessage(message, response => resolve(response))
48
+ })
49
+ }
50
+
51
+ async batchSendToContent<SendMessage extends genMessageType<Action, MessageConfig[Action]>>(
52
+ message: SendMessage,
53
+ config?: chrome.tabs.QueryInfo
54
+ ) {
55
+ const tabs = config ? await chrome.tabs.query(config) : []
56
+ return await Promise.all(
57
+ map(tabs, tab => {
58
+ return new Promise<Response[SendMessage['action']]>(resolve => {
59
+ chrome.tabs.sendMessage(tab.id!, message, response => resolve(response))
60
+ })
61
+ })
62
+ )
63
+ }
64
+ sendToContent<SendMessage extends genMessageType<Action, MessageConfig[Action]>>(
65
+ tabId: number,
66
+ message: SendMessage
67
+ ) {
68
+ return new Promise<Response[SendMessage['action']]>(resolve => {
69
+ chrome.tabs.sendMessage(tabId, message, response => resolve(response))
70
+ })
71
+ }
72
+ }
73
+
74
+ export function create<
75
+ Action extends defActionType,
76
+ MessageOps extends messageOpsType<Action>,
77
+ Response extends responseType<Action>
78
+ >() {
79
+ return new MessageConstructor<Action, MessageOps, Response>()
80
+ }
@@ -1 +1 @@
1
- export * from './utils'
1
+ export * from './utils'
@@ -1,3 +1,3 @@
1
- import type { UseBoundStore, StoreApi } from 'zustand'
2
-
3
- export type ExtractModelType<T> = T extends UseBoundStore<StoreApi<infer S>> ? S : unknown
1
+ import type { UseBoundStore, StoreApi } from 'zustand'
2
+
3
+ export type ExtractModelType<T> = T extends UseBoundStore<StoreApi<infer S>> ? S : unknown
@@ -1,32 +1,32 @@
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": "Node",
17
- "resolveJsonModule": true,
18
- "isolatedModules": true,
19
- "noEmit": true,
20
- "jsx": "react-jsx",
21
- "paths": {
22
- "@/*": ["./*"]
23
- }
24
- },
25
- "include": ["**/*.ts", "**/*.tsx", ".wxt/wxt.d.ts"],
26
- "exclude": ["scripts"],
27
- "references": [
28
- {
29
- "path": "./tsconfig.node.json"
30
- }
31
- ]
32
- }
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": "Node",
17
+ "resolveJsonModule": true,
18
+ "isolatedModules": true,
19
+ "noEmit": true,
20
+ "jsx": "react-jsx",
21
+ "paths": {
22
+ "@/*": ["./*"]
23
+ }
24
+ },
25
+ "include": ["**/*.ts", "**/*.tsx", ".wxt/wxt.d.ts"],
26
+ "exclude": ["scripts"],
27
+ "references": [
28
+ {
29
+ "path": "./tsconfig.node.json"
30
+ }
31
+ ]
32
+ }
@@ -1,10 +1,10 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "Node",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["vite.config.ts", "defineManifest.ts", "package.json"]
10
- }
1
+ {
2
+ "compilerOptions": {
3
+ "composite": true,
4
+ "module": "ESNext",
5
+ "moduleResolution": "Node",
6
+ "allowSyntheticDefaultImports": true,
7
+ "resolveJsonModule": true
8
+ },
9
+ "include": ["vite.config.ts", "defineManifest.ts", "package.json"]
10
+ }
@@ -1,19 +1,19 @@
1
- /// <reference types="vite/client" />
2
- import 'styled-components'
3
- import { themeType } from './shared/styles'
4
-
5
- declare global {
6
- interface ImportMetaEnv {
7
- readonly VITE_API_HOST: string
8
- readonly VITE_APP_ID: string
9
- // 更多环境变量...
10
- }
11
-
12
- interface ImportMeta {
13
- readonly env: ImportMetaEnv
14
- }
15
- }
16
-
17
- declare module 'styled-components' {
18
- export interface DefaultTheme extends themeType {}
19
- }
1
+ /// <reference types="vite/client" />
2
+ import 'styled-components'
3
+ import { themeType } from './shared/styles'
4
+
5
+ declare global {
6
+ interface ImportMetaEnv {
7
+ readonly VITE_API_HOST: string
8
+ readonly VITE_APP_ID: string
9
+ // 更多环境变量...
10
+ }
11
+
12
+ interface ImportMeta {
13
+ readonly env: ImportMetaEnv
14
+ }
15
+ }
16
+
17
+ declare module 'styled-components' {
18
+ export interface DefaultTheme extends themeType {}
19
+ }