create-packer 1.47.2 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/bin/{index.js → src/index.js} +0 -0
  2. package/package.json +3 -3
  3. package/template/docusaurus/package.json +1 -1
  4. package/template/electron-react/eslint.config.mjs +2 -1
  5. package/template/electron-react/package.json +97 -97
  6. package/template/electron-react/tsconfig.json +4 -11
  7. package/template/electron-vue/eslint.config.mjs +2 -1
  8. package/template/electron-vue/package.json +87 -87
  9. package/template/electron-vue/tsconfig.json +10 -8
  10. package/template/lib/workspace/eslint.config.mjs +2 -1
  11. package/template/lib/workspace/package.json +3 -3
  12. package/template/lib/workspace/packages/react/package.json +2 -2
  13. package/template/lib/workspace/packages/ts/package.json +3 -3
  14. package/template/web-app/react-rsbuild/eslint.config.js +2 -1
  15. package/template/web-app/react-rsbuild/package.json +79 -79
  16. package/template/web-app/react-rsbuild/rsbuild.config.ts +9 -11
  17. package/template/web-app/react-rsbuild/{domain → src}/components/app-context.tsx +1 -1
  18. package/template/web-app/{react-vite/domain → react-rsbuild/src}/components/app.tsx +2 -2
  19. package/template/web-app/react-rsbuild/{shared → src}/components/index.ts +1 -0
  20. package/template/web-app/{react-vite/shared → react-rsbuild/src}/hooks/useLazyRender.ts +1 -1
  21. package/template/web-app/{react-vite → react-rsbuild/src}/main.tsx +2 -2
  22. package/template/web-app/{react-vite → react-rsbuild/src}/pages/home/view.tsx +1 -1
  23. package/template/web-app/react-rsbuild/{pages → src/pages}/index.tsx +1 -1
  24. package/template/web-app/{react-vite/domain → react-rsbuild/src}/router/components/route-layout.tsx +2 -1
  25. package/template/web-app/react-rsbuild/{domain → src}/router/components/sub-route-outlet.tsx +2 -1
  26. package/template/web-app/react-rsbuild/{domain → src}/router/router.tsx +1 -1
  27. package/template/web-app/react-rsbuild/src/router/router.types.ts +3 -0
  28. package/template/web-app/react-rsbuild/tsconfig.json +5 -10
  29. package/template/web-app/react-vite/eslint.config.js +2 -1
  30. package/template/web-app/react-vite/index.html +2 -2
  31. package/template/web-app/react-vite/package.json +78 -78
  32. package/template/web-app/react-vite/scripts/createCodeSplitting.ts +30 -0
  33. package/template/web-app/react-vite/scripts/index.ts +1 -1
  34. package/template/web-app/react-vite/{domain → src}/components/app-context.tsx +1 -1
  35. package/template/web-app/{react-rsbuild/domain → react-vite/src}/components/app.tsx +3 -3
  36. package/template/web-app/react-vite/{shared → src}/components/index.ts +1 -0
  37. package/template/web-app/{react-rsbuild → react-vite/src}/main.tsx +2 -2
  38. package/template/web-app/react-vite/{pages → src/pages}/home/view.mock.ts +1 -1
  39. package/template/web-app/{react-rsbuild → react-vite/src}/pages/home/view.tsx +1 -1
  40. package/template/web-app/react-vite/{pages → src/pages}/index.tsx +1 -1
  41. package/template/web-app/{react-rsbuild/domain → react-vite/src}/router/components/route-layout.tsx +1 -1
  42. package/template/web-app/react-vite/{domain → src}/router/components/sub-route-outlet.tsx +1 -1
  43. package/template/web-app/react-vite/{domain → src}/router/router.tsx +1 -1
  44. package/template/web-app/react-vite/src/router/router.types.ts +3 -0
  45. package/template/web-app/react-vite/tsconfig.json +2 -8
  46. package/template/web-app/react-vite/tsconfig.node.json +2 -2
  47. package/template/web-app/react-vite/vite.config.ts +11 -9
  48. package/template/web-app/vue/eslint.config.js +2 -1
  49. package/template/web-app/vue/index.html +2 -2
  50. package/template/web-app/vue/package.json +72 -72
  51. package/template/web-app/vue/scripts/createCodeSplitting.ts +30 -0
  52. package/template/web-app/vue/scripts/index.ts +1 -1
  53. package/template/web-app/{vue-rsbuild/domain → vue/src}/components/app.vue +1 -1
  54. package/template/web-app/vue/src/main.css +1 -0
  55. package/template/web-app/vue/{main.ts → src/main.ts} +3 -3
  56. package/template/web-app/vue/{pages → src/pages}/home/view.mock.ts +1 -1
  57. package/template/web-app/vue/{pages → src/pages}/home/view.vue +1 -1
  58. package/template/web-app/vue/tsconfig.json +10 -7
  59. package/template/web-app/vue/tsconfig.node.json +2 -2
  60. package/template/web-app/vue/vite.config.ts +11 -6
  61. package/template/web-app/vue-rsbuild/eslint.config.js +1 -0
  62. package/template/web-app/vue-rsbuild/package.json +77 -77
  63. package/template/web-app/vue-rsbuild/rsbuild.config.ts +8 -11
  64. package/template/web-app/vue-rsbuild/scripts/index.ts +1 -1
  65. package/template/web-app/{vue/domain → vue-rsbuild/src}/components/app.vue +1 -1
  66. package/template/web-app/vue-rsbuild/{main.ts → src/main.ts} +3 -3
  67. package/template/web-app/vue-rsbuild/{pages → src/pages}/home/view.vue +1 -1
  68. package/template/web-app/vue-rsbuild/tsconfig.json +10 -8
  69. package/template/web-extension/.wxt/eslint-auto-imports.mjs +57 -56
  70. package/template/web-extension/.wxt/tsconfig.json +27 -27
  71. package/template/web-extension/.wxt/types/globals.d.ts +15 -15
  72. package/template/web-extension/.wxt/types/i18n.d.ts +81 -81
  73. package/template/web-extension/.wxt/types/imports-module.d.ts +20 -20
  74. package/template/web-extension/.wxt/types/imports.d.ts +51 -50
  75. package/template/web-extension/.wxt/types/paths.d.ts +17 -17
  76. package/template/web-extension/.wxt/wxt.d.ts +7 -7
  77. package/template/web-extension/entrypoints/content/domain/app/tools/insertApp.tsx +1 -3
  78. package/template/web-extension/entrypoints/content/index.tsx +0 -1
  79. package/template/web-extension/entrypoints/content/modules/common/common.tsx +7 -1
  80. package/template/web-extension/entrypoints/content/modules/common/view.styled.ts +10 -0
  81. package/template/web-extension/entrypoints/popup/main.tsx +0 -1
  82. package/template/web-extension/entrypoints/popup/popup.styled.ts +5 -0
  83. package/template/web-extension/entrypoints/popup/popup.tsx +3 -1
  84. package/template/web-extension/eslint.config.js +2 -1
  85. package/template/web-extension/package.json +85 -85
  86. package/template/web-extension/shared/components/app-context/view.tsx +8 -2
  87. package/template/web-extension/shared/styles/theme.ts +55 -0
  88. package/template/web-extension/tsconfig.json +0 -2
  89. package/template/web-extension/vite-env.d.ts +15 -6
  90. package/template/web-extension/wxt.config.ts +28 -10
  91. package/template/electron-react/tsconfig.node.json +0 -10
  92. package/template/electron-vue/tsconfig.node.json +0 -10
  93. package/template/web-app/react-rsbuild/domain/components/index.ts +0 -1
  94. package/template/web-app/react-rsbuild/domain/router/router.types.ts +0 -3
  95. package/template/web-app/react-rsbuild/tsconfig.node.json +0 -10
  96. package/template/web-app/react-vite/domain/components/index.ts +0 -1
  97. package/template/web-app/react-vite/domain/router/router.types.ts +0 -3
  98. package/template/web-app/react-vite/scripts/createChunks.ts +0 -27
  99. package/template/web-app/vue/scripts/createChunks.ts +0 -27
  100. package/template/web-app/vue/shared/constant/index.ts +0 -0
  101. package/template/web-app/vue/shared/tools/index.ts +0 -0
  102. package/template/web-app/vue-rsbuild/tsconfig.node.json +0 -10
  103. package/template/web-extension/shared/styles/theme.css +0 -4
  104. /package/bin/{createTemp.d.ts → src/createTemp.d.ts} +0 -0
  105. /package/bin/{createTemp.js → src/createTemp.js} +0 -0
  106. /package/bin/{index.d.ts → src/index.d.ts} +0 -0
  107. /package/bin/{utils → src/utils}/index.d.ts +0 -0
  108. /package/bin/{utils → src/utils}/index.js +0 -0
  109. /package/template/web-app/react-rsbuild/{shared → src}/assets/react.svg +0 -0
  110. /package/template/web-app/react-rsbuild/{shared → src}/components/componentInstance.tsx +0 -0
  111. /package/template/web-app/react-rsbuild/{shared → src}/constant/index.ts +0 -0
  112. /package/template/web-app/react-rsbuild/{shared → src}/hooks/defineRouter/defineRouter.types.ts +0 -0
  113. /package/template/web-app/react-rsbuild/{shared → src}/hooks/defineRouter/deineRouter.tsx +0 -0
  114. /package/template/web-app/react-rsbuild/{shared → src}/hooks/defineRouter/index.ts +0 -0
  115. /package/template/web-app/react-rsbuild/{shared → src}/hooks/index.ts +0 -0
  116. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useDebounceFn.ts +0 -0
  117. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useInterval.ts +0 -0
  118. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useLowPriorityState.ts +0 -0
  119. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useSyncState.ts +0 -0
  120. /package/template/web-app/react-rsbuild/{shared → src}/hooks/useVisible.ts +0 -0
  121. /package/template/web-app/react-rsbuild/{domain → src}/models/app.ts +0 -0
  122. /package/template/web-app/react-rsbuild/{domain → src}/models/index.ts +0 -0
  123. /package/template/web-app/react-rsbuild/{pages → src/pages}/home/index.ts +0 -0
  124. /package/template/web-app/react-rsbuild/{pages → src/pages}/home/view.module.css +0 -0
  125. /package/template/web-app/react-rsbuild/{pages → src/pages}/not-found.tsx +0 -0
  126. /package/template/web-app/react-rsbuild/{domain → src}/router/components/index.ts +0 -0
  127. /package/template/web-app/react-rsbuild/{domain → src}/router/home/ids.ts +0 -0
  128. /package/template/web-app/react-rsbuild/{domain → src}/router/home/index.ts +0 -0
  129. /package/template/web-app/react-rsbuild/{domain → src}/router/home/routes.tsx +0 -0
  130. /package/template/web-app/react-rsbuild/{domain → src}/router/ids.ts +0 -0
  131. /package/template/web-app/react-rsbuild/{domain → src}/router/index.ts +0 -0
  132. /package/template/web-app/react-rsbuild/{shared → src}/service/api.ts +0 -0
  133. /package/template/web-app/react-rsbuild/{shared → src}/service/home.ts +0 -0
  134. /package/template/web-app/react-rsbuild/{shared → src}/service/index.ts +0 -0
  135. /package/template/web-app/react-rsbuild/{shared → src}/service/request.ts +0 -0
  136. /package/template/web-app/react-rsbuild/{shared → src}/styles/theme.css +0 -0
  137. /package/template/web-app/react-rsbuild/{shared → src}/tools/index.ts +0 -0
  138. /package/template/web-app/react-vite/{shared/assets/react.svg → src/assets/favicon.svg} +0 -0
  139. /package/template/web-app/react-vite/{shared → src}/components/componentInstance.tsx +0 -0
  140. /package/template/web-app/react-vite/{shared → src}/constant/index.ts +0 -0
  141. /package/template/web-app/react-vite/{shared → src}/hooks/defineRouter/defineRouter.types.ts +0 -0
  142. /package/template/web-app/react-vite/{shared → src}/hooks/defineRouter/deineRouter.tsx +0 -0
  143. /package/template/web-app/react-vite/{shared → src}/hooks/defineRouter/index.ts +0 -0
  144. /package/template/web-app/react-vite/{shared → src}/hooks/index.ts +0 -0
  145. /package/template/web-app/react-vite/{shared → src}/hooks/useDebounceFn.ts +0 -0
  146. /package/template/web-app/react-vite/{shared → src}/hooks/useInterval.ts +0 -0
  147. /package/template/web-app/{react-rsbuild/shared → react-vite/src}/hooks/useLazyRender.ts +0 -0
  148. /package/template/web-app/react-vite/{shared → src}/hooks/useLowPriorityState.ts +0 -0
  149. /package/template/web-app/react-vite/{shared → src}/hooks/useSyncState.ts +0 -0
  150. /package/template/web-app/react-vite/{shared → src}/hooks/useVisible.ts +0 -0
  151. /package/template/web-app/react-vite/{mockUtils.ts → src/mockUtils.ts} +0 -0
  152. /package/template/web-app/react-vite/{domain → src}/models/app.ts +0 -0
  153. /package/template/web-app/react-vite/{domain → src}/models/index.ts +0 -0
  154. /package/template/web-app/react-vite/{pages → src/pages}/home/index.ts +0 -0
  155. /package/template/web-app/react-vite/{pages → src/pages}/home/view.module.css +0 -0
  156. /package/template/web-app/react-vite/{pages → src/pages}/not-found.tsx +0 -0
  157. /package/template/web-app/react-vite/{domain → src}/router/components/index.ts +0 -0
  158. /package/template/web-app/react-vite/{domain → src}/router/home/ids.ts +0 -0
  159. /package/template/web-app/react-vite/{domain → src}/router/home/index.ts +0 -0
  160. /package/template/web-app/react-vite/{domain → src}/router/home/routes.tsx +0 -0
  161. /package/template/web-app/react-vite/{domain → src}/router/ids.ts +0 -0
  162. /package/template/web-app/react-vite/{domain → src}/router/index.ts +0 -0
  163. /package/template/web-app/react-vite/{shared → src}/service/api.ts +0 -0
  164. /package/template/web-app/react-vite/{shared → src}/service/home.ts +0 -0
  165. /package/template/web-app/react-vite/{shared → src}/service/index.ts +0 -0
  166. /package/template/web-app/react-vite/{shared → src}/service/request.ts +0 -0
  167. /package/template/web-app/react-vite/{shared → src}/styles/theme.css +0 -0
  168. /package/template/web-app/react-vite/{shared → src}/tools/index.ts +0 -0
  169. /package/template/web-app/vue/{shared/assets/vue.svg → src/assets/favicon.svg} +0 -0
  170. /package/template/web-app/vue/{domain → src}/components/createComponentInstance.ts +0 -0
  171. /package/template/web-app/vue/{domain → src}/components/index.ts +0 -0
  172. /package/template/web-app/{vue-rsbuild/shared/tools → vue/src/constant}/index.ts +0 -0
  173. /package/template/web-app/vue/{shared → src}/hooks/index.ts +0 -0
  174. /package/template/web-app/vue/{shared → src}/hooks/useList.ts +0 -0
  175. /package/template/web-app/vue/{shared → src}/hooks/useVisible.ts +0 -0
  176. /package/template/web-app/vue/{mockUtils.ts → src/mockUtils.ts} +0 -0
  177. /package/template/web-app/vue/{pages → src/pages}/home/index.ts +0 -0
  178. /package/template/web-app/vue/{pages → src/pages}/index.ts +0 -0
  179. /package/template/web-app/vue/{pages → src/pages}/index.vue +0 -0
  180. /package/template/web-app/vue/{pages → src/pages}/not-found.vue +0 -0
  181. /package/template/web-app/vue/{domain → src}/router/home/index.ts +0 -0
  182. /package/template/web-app/vue/{domain → src}/router/home/names.ts +0 -0
  183. /package/template/web-app/vue/{domain → src}/router/home/routes.ts +0 -0
  184. /package/template/web-app/vue/{domain → src}/router/index.ts +0 -0
  185. /package/template/web-app/vue/{domain → src}/router/names.ts +0 -0
  186. /package/template/web-app/vue/{shared → src}/service/api.ts +0 -0
  187. /package/template/web-app/vue/{shared → src}/service/home.ts +0 -0
  188. /package/template/web-app/vue/{shared → src}/service/index.ts +0 -0
  189. /package/template/web-app/vue/{shared → src}/service/request.ts +0 -0
  190. /package/template/web-app/vue/{shared → src}/styles/theme.css +0 -0
  191. /package/template/web-app/vue/{shared/components → src/tools}/index.ts +0 -0
  192. /package/template/web-app/vue-rsbuild/{shared → src}/assets/vue.svg +0 -0
  193. /package/template/web-app/vue-rsbuild/{domain → src}/components/createComponentInstance.ts +0 -0
  194. /package/template/web-app/vue-rsbuild/{domain → src}/components/index.ts +0 -0
  195. /package/template/web-app/vue-rsbuild/{shared/components → src/constant}/index.ts +0 -0
  196. /package/template/web-app/vue-rsbuild/{shared → src}/hooks/index.ts +0 -0
  197. /package/template/web-app/vue-rsbuild/{shared → src}/hooks/useList.ts +0 -0
  198. /package/template/web-app/vue-rsbuild/{shared → src}/hooks/useVisible.ts +0 -0
  199. /package/template/web-app/vue-rsbuild/{pages → src/pages}/home/index.ts +0 -0
  200. /package/template/web-app/vue-rsbuild/{pages → src/pages}/index.ts +0 -0
  201. /package/template/web-app/vue-rsbuild/{pages → src/pages}/index.vue +0 -0
  202. /package/template/web-app/vue-rsbuild/{pages → src/pages}/not-found.vue +0 -0
  203. /package/template/web-app/vue-rsbuild/{domain → src}/router/home/index.ts +0 -0
  204. /package/template/web-app/vue-rsbuild/{domain → src}/router/home/names.ts +0 -0
  205. /package/template/web-app/vue-rsbuild/{domain → src}/router/home/routes.ts +0 -0
  206. /package/template/web-app/vue-rsbuild/{domain → src}/router/index.ts +0 -0
  207. /package/template/web-app/vue-rsbuild/{domain → src}/router/names.ts +0 -0
  208. /package/template/web-app/vue-rsbuild/{shared → src}/service/api.ts +0 -0
  209. /package/template/web-app/vue-rsbuild/{shared → src}/service/home.ts +0 -0
  210. /package/template/web-app/vue-rsbuild/{shared → src}/service/index.ts +0 -0
  211. /package/template/web-app/vue-rsbuild/{shared → src}/service/request.ts +0 -0
  212. /package/template/web-app/vue-rsbuild/{shared → src}/styles/theme.css +0 -0
  213. /package/template/web-app/vue-rsbuild/{shared/constant → src/tools}/index.ts +0 -0
@@ -1,17 +1,17 @@
1
- // Generated by wxt
2
- import "wxt/browser";
3
-
4
- declare module "wxt/browser" {
5
- export type PublicPath =
6
- | ""
7
- | "/"
8
- | "/background.js"
9
- | "/content-scripts/content.js"
10
- | "/popup.html"
11
- | "/vite.svg"
12
- type HtmlPublicPath = Extract<PublicPath, `${string}.html`>
13
- export interface WxtRuntime {
14
- getURL(path: PublicPath): string;
15
- getURL(path: `${HtmlPublicPath}${string}`): string;
16
- }
17
- }
1
+ // Generated by wxt
2
+ import "wxt/browser";
3
+
4
+ declare module "wxt/browser" {
5
+ export type PublicPath =
6
+ | ""
7
+ | "/"
8
+ | "/background.js"
9
+ | "/content-scripts/content.js"
10
+ | "/popup.html"
11
+ | "/vite.svg"
12
+ type HtmlPublicPath = Extract<PublicPath, `${string}.html`>
13
+ export interface WxtRuntime {
14
+ getURL(path: PublicPath): string;
15
+ getURL(path: `${HtmlPublicPath}${string}`): string;
16
+ }
17
+ }
@@ -1,7 +1,7 @@
1
- // Generated by wxt
2
- /// <reference types="wxt/vite-builder-env" />
3
- /// <reference path="./types/paths.d.ts" />
4
- /// <reference path="./types/i18n.d.ts" />
5
- /// <reference path="./types/globals.d.ts" />
6
- /// <reference path="./types/imports-module.d.ts" />
7
- /// <reference path="./types/imports.d.ts" />
1
+ // Generated by wxt
2
+ /// <reference types="wxt/vite-builder-env" />
3
+ /// <reference path="./types/paths.d.ts" />
4
+ /// <reference path="./types/i18n.d.ts" />
5
+ /// <reference path="./types/globals.d.ts" />
6
+ /// <reference path="./types/imports-module.d.ts" />
7
+ /// <reference path="./types/imports.d.ts" />
@@ -50,9 +50,7 @@ export function insertApp<T extends HTMLElement>(
50
50
  target.appendChild(result.rootEle)
51
51
  }
52
52
  const root = createRoot(result.rootEle)
53
- root.render(
54
- <AppContext.Root classNameSpace={classNameSpace}>{option.reactNode}</AppContext.Root>
55
- )
53
+ root.render(<AppContext.Root>{option.reactNode}</AppContext.Root>)
56
54
  result.result = true
57
55
  return result
58
56
  }
@@ -1,6 +1,5 @@
1
1
  import { CONTENT_MATCHES, contentMessage } from '@/shared/content'
2
2
  import { Common } from './modules'
3
- import '@/shared/styles/theme.css'
4
3
 
5
4
  export default defineContentScript({
6
5
  runAt: 'document_idle',
@@ -1,3 +1,9 @@
1
+ import { GlobalStyle } from './view.styled'
2
+
1
3
  export default function Home() {
2
- return <></>
4
+ return (
5
+ <>
6
+ <GlobalStyle />
7
+ </>
8
+ )
3
9
  }
@@ -0,0 +1,10 @@
1
+ import { createGlobalStyle, css } from 'styled-components'
2
+ import { classNameSpace } from '@/entrypoints/content/constants'
3
+
4
+ export const GlobalStyle = createGlobalStyle(() => {
5
+ return css`
6
+ .${classNameSpace} {
7
+ color: initial;
8
+ }
9
+ `
10
+ })
@@ -2,7 +2,6 @@ import { StrictMode } from 'react'
2
2
  import { createRoot } from 'react-dom/client'
3
3
  import { AppContext } from '@/shared/components'
4
4
  import Popup from './popup'
5
- import '@/shared/styles/theme.css'
6
5
 
7
6
  createRoot(document.getElementById('root') as HTMLElement).render(
8
7
  <StrictMode>
@@ -0,0 +1,5 @@
1
+ import styled from 'styled-components'
2
+
3
+ export const StyledRoot = styled.div`
4
+ ${({ theme }) => theme.tools.flex('center', 'center')}
5
+ `
@@ -1,3 +1,5 @@
1
+ import { StyledRoot } from './popup.styled'
2
+
1
3
  export default function Home() {
2
- return <div className="tw:flex">home</div>
4
+ return <StyledRoot>home</StyledRoot>
3
5
  }
@@ -25,7 +25,8 @@ export default tseslint.config([
25
25
  ecmaFeatures: {
26
26
  jsx: true
27
27
  },
28
- useJSXTextNode: true
28
+ useJSXTextNode: true,
29
+ tsconfigRootDir: import.meta.dirname
29
30
  },
30
31
  globals: {
31
32
  ...globals.browser,
@@ -1,85 +1,85 @@
1
- {
2
- "name": "web-extension",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "prepare": "husky",
8
- "dev": "wxt",
9
- "dev:firefox": "wxt -b firefox",
10
- "build": "wxt build",
11
- "build_dev": "wxt build --mode dev",
12
- "build:firefox": "wxt build -b firefox",
13
- "build_dev:firefox": "wxt build -b firefox --mode dev",
14
- "zip": "wxt zip",
15
- "zip_dev": "wxt zip --mode dev",
16
- "zip:firefox": "wxt zip -b firefox",
17
- "zip_dev:firefox": "wxt zip -b firefox --mode dev",
18
- "postinstall": "wxt prepare",
19
- "up:vite": "pnpm up vite @vitejs/* -L",
20
- "format": "prettier --write \"**/*.{ts,js,tsx,jsx,json,css,scss,less}\"",
21
- "lint": "tsc --noEmit && eslint **/*.{tsx,ts} && stylelint **/*.{css,scss,less,ts,tsx}",
22
- "lint:fix": "eslint **/*.{tsx,ts} --fix && stylelint **/*.{css,scss,less,ts,tsx} --fix",
23
- "cz": "cz",
24
- "push": "npm run commit && git push",
25
- "commit": "git add . && npm run cz"
26
- },
27
- "dependencies": {
28
- "@tanstack/react-query": "5.51.15",
29
- "@webext-core/messaging": "2.2.0",
30
- "axios": "1.7.9",
31
- "define-zustand": "3.4.0",
32
- "es-toolkit": "1.43.0",
33
- "immer": "10.0.1",
34
- "qs": "6.11.2",
35
- "react": "18.3.1",
36
- "react-dom": "18.3.1",
37
- "tailwindcss": "4.1.4",
38
- "type-fest": "4.33.0",
39
- "zustand": "5.0.3"
40
- },
41
- "devDependencies": {
42
- "@commitlint/cli": "17.6.1",
43
- "@commitlint/config-conventional": "17.6.1",
44
- "@commitlint/cz-commitlint": "17.5.0",
45
- "@eslint/js": "9.15.0",
46
- "@tailwindcss/vite": "4.1.18",
47
- "@types/chrome": "0.0.254",
48
- "@types/node": "18.16.0",
49
- "@types/qs": "6.9.7",
50
- "@types/react": "18.3.3",
51
- "@types/react-dom": "18.3.0",
52
- "@vitejs/plugin-react": "5.1.2",
53
- "autoprefixer": "10.4.14",
54
- "commitizen": "4.3.0",
55
- "cssnano": "6.0.0",
56
- "eslint": "9.17.0",
57
- "eslint-import-resolver-typescript": "3.7.0",
58
- "eslint-plugin-import": "2.31.0",
59
- "eslint-plugin-react": "7.37.2",
60
- "eslint-plugin-react-hooks": "5.1.0",
61
- "globals": "15.12.0",
62
- "husky": "9.1.6",
63
- "inquirer": "8.1.2",
64
- "postcss": "8.4.31",
65
- "postcss-import": "15.1.0",
66
- "postcss-nesting": "11.2.2",
67
- "postcss-scss": "4.0.9",
68
- "postcss-styled-syntax": "0.6.4",
69
- "prettier": "3.2.5",
70
- "rimraf": "5.0.1",
71
- "sass": "1.97.1",
72
- "stylelint": "16.10.0",
73
- "stylelint-config-standard": "36.0.1",
74
- "typescript": "5.8.2",
75
- "typescript-eslint": "8.28.0",
76
- "vite": "7.3.0",
77
- "vite-plugin-svgr": "4.5.0",
78
- "wxt": "0.20.5"
79
- },
80
- "config": {
81
- "commitizen": {
82
- "path": "@commitlint/cz-commitlint"
83
- }
84
- }
85
- }
1
+ {
2
+ "name": "web-extension",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "prepare": "husky",
8
+ "dev": "wxt",
9
+ "dev:firefox": "wxt -b firefox",
10
+ "build": "wxt build",
11
+ "build_dev": "wxt build --mode dev",
12
+ "build:firefox": "wxt build -b firefox",
13
+ "build_dev:firefox": "wxt build -b firefox --mode dev",
14
+ "zip": "wxt zip",
15
+ "zip_dev": "wxt zip --mode dev",
16
+ "zip:firefox": "wxt zip -b firefox",
17
+ "zip_dev:firefox": "wxt zip -b firefox --mode dev",
18
+ "postinstall": "wxt prepare",
19
+ "up:vite": "pnpm up vite @vitejs/* -L",
20
+ "up:wxt": "pnpm up wxt @webext-core/* -L",
21
+ "format": "prettier --write \"**/*.{ts,js,tsx,jsx,json,css,scss,less}\"",
22
+ "lint": "tsc --noEmit && eslint **/*.{tsx,ts} && stylelint **/*.{css,scss,less,ts,tsx}",
23
+ "lint:fix": "eslint **/*.{tsx,ts} --fix && stylelint **/*.{css,scss,less,ts,tsx} --fix",
24
+ "cz": "cz",
25
+ "push": "npm run commit && git push",
26
+ "commit": "git add . && npm run cz"
27
+ },
28
+ "dependencies": {
29
+ "@tanstack/react-query": "5.51.15",
30
+ "@webext-core/messaging": "2.3.0",
31
+ "axios": "1.16.0",
32
+ "define-zustand": "3.4.0",
33
+ "es-toolkit": "1.46.1",
34
+ "immer": "10.0.1",
35
+ "qs": "6.11.2",
36
+ "react": "18.3.1",
37
+ "react-dom": "18.3.1",
38
+ "styled-components": "6.2.0",
39
+ "type-fest": "5.6.0",
40
+ "zustand": "5.0.3"
41
+ },
42
+ "devDependencies": {
43
+ "@commitlint/cli": "17.6.1",
44
+ "@commitlint/config-conventional": "17.6.1",
45
+ "@commitlint/cz-commitlint": "17.5.0",
46
+ "@eslint/js": "9.15.0",
47
+ "@types/chrome": "0.0.254",
48
+ "@types/node": "18.16.0",
49
+ "@types/qs": "6.9.7",
50
+ "@types/react": "18.3.3",
51
+ "@types/react-dom": "18.3.0",
52
+ "@vitejs/plugin-react": "6.0.1",
53
+ "autoprefixer": "10.4.14",
54
+ "commitizen": "4.3.0",
55
+ "cssnano": "6.0.0",
56
+ "eslint": "9.17.0",
57
+ "eslint-import-resolver-typescript": "4.4.4",
58
+ "eslint-plugin-import": "2.31.0",
59
+ "eslint-plugin-react": "7.37.2",
60
+ "eslint-plugin-react-hooks": "5.1.0",
61
+ "globals": "15.12.0",
62
+ "husky": "9.1.6",
63
+ "inquirer": "8.1.2",
64
+ "postcss": "8.4.31",
65
+ "postcss-import": "15.1.0",
66
+ "postcss-nesting": "11.2.2",
67
+ "postcss-scss": "4.0.9",
68
+ "postcss-styled-syntax": "0.6.4",
69
+ "prettier": "3.2.5",
70
+ "rimraf": "5.0.1",
71
+ "sass": "1.97.1",
72
+ "stylelint": "16.10.0",
73
+ "stylelint-config-standard": "36.0.1",
74
+ "typescript": "6.0.3",
75
+ "typescript-eslint": "8.59.2",
76
+ "vite": "8.0.11",
77
+ "vite-plugin-svgr": "5.2.0",
78
+ "wxt": "0.20.20"
79
+ },
80
+ "config": {
81
+ "commitizen": {
82
+ "path": "@commitlint/cz-commitlint"
83
+ }
84
+ }
85
+ }
@@ -1,10 +1,16 @@
1
1
  import { FunctionComponent, ReactNode } from 'react'
2
2
  import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
3
+ import { ThemeProvider } from 'styled-components'
4
+ import { createTheme } from '@/shared/styles/theme'
3
5
 
4
6
  const queryClient = new QueryClient()
5
7
 
6
- const AppContext: FunctionComponent<{ children: ReactNode; classNameSpace?: string }> = props => {
7
- return <QueryClientProvider client={queryClient}>{props.children}</QueryClientProvider>
8
+ const AppContext: FunctionComponent<{ children: ReactNode }> = props => {
9
+ return (
10
+ <ThemeProvider theme={createTheme()}>
11
+ <QueryClientProvider client={queryClient}>{props.children}</QueryClientProvider>
12
+ </ThemeProvider>
13
+ )
8
14
  }
9
15
 
10
16
  export default AppContext
@@ -0,0 +1,55 @@
1
+ import { CSSProperties } from 'react'
2
+ import { isString } from 'es-toolkit'
3
+ import { isNumber } from 'es-toolkit/compat'
4
+
5
+ export function createTheme() {
6
+ return {
7
+ tools: {
8
+ ellipsis: () => ({
9
+ overflow: 'hidden',
10
+ textOverflow: 'ellipsis',
11
+ whiteSpace: 'nowrap'
12
+ }),
13
+ lineClamp: (n: number) => {
14
+ return {
15
+ WebkitLineClamp: `${n}`,
16
+ WebkitBoxOrient: 'vertical',
17
+ overflow: 'hidden',
18
+ display: '-webkit-box',
19
+ wordBreak: 'break-all'
20
+ } satisfies CSSProperties
21
+ },
22
+ size: (s: string) => ({ width: s, height: s }),
23
+ py: (s: string) => ({ paddingTop: s, paddingBottom: s }),
24
+ px: (s: string) => ({ paddingLeft: s, paddingRight: s }),
25
+ my: (s: string) => ({ marginTop: s, marginBottom: s }),
26
+ mx: (s: string) => ({ marginLeft: s, marginRight: s }),
27
+ flex: (
28
+ align: CSSProperties['alignItems'],
29
+ justify: CSSProperties['justifyContent'],
30
+ vertical?: boolean
31
+ ) => {
32
+ return {
33
+ display: 'flex',
34
+ alignItems: align,
35
+ justifyContent: justify,
36
+ flexDirection: vertical ? 'column' : 'row'
37
+ } satisfies CSSProperties
38
+ },
39
+ /** 数字为元素数量,字符串为对应css的值 */
40
+ grid: (
41
+ rows: number | CSSProperties['gridTemplateRows'],
42
+ cols: number | CSSProperties['gridTemplateColumns'],
43
+ gap?: number | string
44
+ ) => {
45
+ return {
46
+ display: 'grid',
47
+ gridTemplateRows: isString(rows) ? rows : `repeat(${rows}, minmax(0, 1fr))`,
48
+ gridTemplateColumns: isString(cols) ? cols : `repeat(${cols}, minmax(0, 1fr))`,
49
+ gap: isNumber(gap) ? `${gap}px` : gap
50
+ } satisfies CSSProperties
51
+ }
52
+ }
53
+ }
54
+ }
55
+ export type themeType = ReturnType<typeof createTheme>
@@ -1,12 +1,10 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "baseUrl": ".",
4
3
  "target": "ESNext",
5
4
  "useDefineForClassFields": true,
6
5
  "lib": ["DOM", "DOM.Iterable", "ESNext"],
7
6
  "allowJs": false,
8
7
  "skipLibCheck": true,
9
- "esModuleInterop": false,
10
8
  "allowSyntheticDefaultImports": true,
11
9
  "strict": true,
12
10
  "forceConsistentCasingInFileNames": true,
@@ -1,12 +1,21 @@
1
1
  /// <reference types="vite/client" />
2
2
  /// <reference types="./.wxt/wxt.d.ts" />
3
3
 
4
- interface ImportMetaEnv {
5
- readonly VITE_BASE_URL: string
6
- readonly VITE_API_HOST: string
7
- // 更多环境变量...
4
+ import 'styled-components'
5
+ import { type themeType } from './shared/styles/theme'
6
+
7
+ declare global {
8
+ interface ImportMetaEnv {
9
+ readonly VITE_BASE_URL: string
10
+ readonly VITE_API_HOST: string
11
+ // 更多环境变量...
12
+ }
13
+
14
+ interface ImportMeta {
15
+ readonly env: ImportMetaEnv
16
+ }
8
17
  }
9
18
 
10
- interface ImportMeta {
11
- readonly env: ImportMetaEnv
19
+ declare module 'styled-components' {
20
+ export interface DefaultTheme extends themeType {}
12
21
  }
@@ -1,7 +1,6 @@
1
1
  import { defineConfig, UserManifestFn } from 'wxt'
2
2
  import react from '@vitejs/plugin-react'
3
3
  import svgr from 'vite-plugin-svgr'
4
- import tailwindcss from '@tailwindcss/vite'
5
4
  import pkgJson from './package.json'
6
5
 
7
6
  const manifest: UserManifestFn = () => {
@@ -29,15 +28,34 @@ export default defineConfig({
29
28
  manifest,
30
29
  runner: { disabled: true },
31
30
  imports: { eslintrc: { enabled: 9 } },
32
- vite: ({ mode }) => ({
33
- plugins: [tailwindcss(), svgr(), react()] as any,
34
- resolve: {
35
- alias: {
36
- '@': __dirname
31
+ vite: ({ mode }) => {
32
+ const isDropConsole = ['production', 'analyse'].includes(mode)
33
+ return {
34
+ plugins: [svgr(), react()] as any,
35
+ resolve: {
36
+ alias: {
37
+ '@': __dirname
38
+ }
39
+ },
40
+ oxc: {
41
+ plugins: {
42
+ styledComponents: {
43
+ ssr: false,
44
+ displayName: false,
45
+ fileName: false,
46
+ transpileTemplateLiterals: false
47
+ }
48
+ }
49
+ },
50
+ build: {
51
+ rolldownOptions: {
52
+ output: {
53
+ minify: {
54
+ compress: { dropConsole: isDropConsole, dropDebugger: isDropConsole }
55
+ }
56
+ }
57
+ }
37
58
  }
38
- },
39
- esbuild: {
40
- drop: mode === 'production' ? ['console', 'debugger'] : []
41
59
  }
42
- })
60
+ }
43
61
  })
@@ -1,10 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "node",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["scripts", "rsbuild.config.ts", "package.json"]
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "node",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["scripts", "rsbuild.config.ts", "package.json"]
10
- }
@@ -1 +0,0 @@
1
- export * as App from './app'
@@ -1,3 +0,0 @@
1
- import { routeType as $routeType } from '@/shared/hooks'
2
-
3
- export type routeType = $routeType
@@ -1,10 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "node",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["scripts", "rsbuild.config.ts", "package.json"]
10
- }
@@ -1 +0,0 @@
1
- export * as App from './app'
@@ -1,3 +0,0 @@
1
- import { routeType as $routeType } from '@/shared/hooks'
2
-
3
- export type routeType = $routeType
@@ -1,27 +0,0 @@
1
- import { isRegExp, remove } from 'es-toolkit'
2
- import { concat, forEach, forOwn, isArray, size } from 'es-toolkit/compat'
3
- import pkg from '../package.json'
4
-
5
- export function createChunks(chunks: { [key: string]: Array<string | RegExp> }) {
6
- const vendor = Object.keys(pkg.dependencies)
7
- const result: { [key: string]: string[] } = {}
8
-
9
- forOwn(chunks, (values, key) => {
10
- if (!isArray(result[key])) {
11
- result[key] = []
12
- }
13
- forEach(values, value => {
14
- let modules: string[] = []
15
- if (isRegExp(value)) {
16
- modules = remove(vendor, name => value.test(name))
17
- } else {
18
- modules = remove(vendor, name => name === value)
19
- }
20
- if (size(modules) > 0) {
21
- result[key] = concat(result[key], modules)
22
- }
23
- })
24
- })
25
- result.vendor = vendor
26
- return result
27
- }
@@ -1,27 +0,0 @@
1
- import { isRegExp, remove } from 'es-toolkit'
2
- import { concat, forEach, forOwn, isArray, size } from 'es-toolkit/compat'
3
- import pkg from '../package.json'
4
-
5
- export function createChunks(chunks: { [key: string]: Array<string | RegExp> }) {
6
- const vendor = Object.keys(pkg.dependencies)
7
- const result: { [key: string]: string[] } = {}
8
-
9
- forOwn(chunks, (values, key) => {
10
- if (!isArray(result[key])) {
11
- result[key] = []
12
- }
13
- forEach(values, value => {
14
- let modules: string[] = []
15
- if (isRegExp(value)) {
16
- modules = remove(vendor, name => value.test(name))
17
- } else {
18
- modules = remove(vendor, name => name === value)
19
- }
20
- if (size(modules) > 0) {
21
- result[key] = concat(result[key], modules)
22
- }
23
- })
24
- })
25
- result.vendor = vendor
26
- return result
27
- }
File without changes
File without changes
@@ -1,10 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "ESNext",
5
- "moduleResolution": "node",
6
- "allowSyntheticDefaultImports": true,
7
- "resolveJsonModule": true
8
- },
9
- "include": ["scripts", "rsbuild.config.ts", "package.json"]
10
- }
@@ -1,4 +0,0 @@
1
- @layer theme, base, components, utilities;
2
- @import "tailwindcss/theme.css" prefix(tw) layer(theme);
3
- @import "tailwindcss/utilities.css" layer(utilities);
4
-
File without changes
File without changes
File without changes
File without changes
File without changes