@4399ywkf/cli 1.0.7 → 1.0.9

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 (254) hide show
  1. package/dist/templates/AntdStaticMethods/index.tsx +20 -0
  2. package/dist/templates/AppTheme.tsx +136 -0
  3. package/dist/templates/DIRECTORY_STRUCTURE.md +141 -0
  4. package/dist/templates/GlobalProvider/AppTheme.tsx +136 -0
  5. package/dist/templates/GlobalProvider/Locale.tsx +84 -0
  6. package/dist/templates/GlobalProvider/Query.tsx +12 -0
  7. package/dist/templates/GlobalProvider/StyleRegistry.tsx +9 -0
  8. package/dist/templates/GlobalProvider/index.tsx +23 -0
  9. package/dist/templates/HarmonyOS_Sans_Bold.woff2 +0 -0
  10. package/dist/templates/HarmonyOS_Sans_Medium.woff2 +0 -0
  11. package/dist/templates/HarmonyOS_Sans_Regular.woff2 +0 -0
  12. package/dist/templates/Locale.tsx +49 -54
  13. package/dist/templates/MainContentWrap.tsx +11 -15
  14. package/dist/templates/Query.tsx +12 -0
  15. package/dist/templates/StyleRegistry.tsx +9 -0
  16. package/dist/templates/ThemeContext.tsx +27 -24
  17. package/dist/templates/analyzeUnusedKeys.ts +506 -0
  18. package/dist/templates/app/.i18nrc.js +57 -0
  19. package/dist/templates/app/config/env/.env.public.tpl +2 -19
  20. package/dist/templates/app/config/jwt/index.ts +4 -4
  21. package/dist/templates/app/config/request/error-handler.ts +67 -0
  22. package/dist/templates/app/config/request/index.ts +127 -129
  23. package/dist/templates/app/config/request/interceptors.ts +118 -0
  24. package/dist/templates/app/config/request/token-manager.ts +23 -0
  25. package/dist/templates/app/config/request/types.ts +63 -0
  26. package/dist/templates/app/config/rspack/rspack.config.mjs +62 -61
  27. package/dist/templates/app/config/rspack/rspack.prod.mjs +41 -62
  28. package/dist/templates/app/docs/DIRECTORY_STRUCTURE.md +141 -0
  29. package/dist/templates/app/docs/glossary.md +11 -0
  30. package/dist/templates/app/locales/zh-CN/common.json +3 -0
  31. package/dist/templates/app/package.json.tpl +8 -25
  32. package/dist/templates/app/public/fonts/HarmonyOS_Sans_Bold.woff2 +0 -0
  33. package/dist/templates/app/public/fonts/HarmonyOS_Sans_Medium.woff2 +0 -0
  34. package/dist/templates/app/public/fonts/HarmonyOS_Sans_Regular.woff2 +0 -0
  35. package/dist/templates/app/react-app-env.d.ts +13 -8
  36. package/dist/templates/app/scripts/i18nWorkflow/analyzeUnusedKeys.ts +506 -0
  37. package/dist/templates/app/scripts/i18nWorkflow/cleanUnusedKeys.ts +344 -0
  38. package/dist/templates/app/scripts/i18nWorkflow/const.ts +18 -0
  39. package/dist/templates/app/scripts/i18nWorkflow/flattenLocaleKeys.ts +139 -0
  40. package/dist/templates/app/scripts/i18nWorkflow/genDefaultLocale.ts +19 -0
  41. package/dist/templates/app/scripts/i18nWorkflow/genDiff.ts +49 -0
  42. package/dist/templates/app/scripts/i18nWorkflow/i18nConfig.ts +7 -0
  43. package/dist/templates/app/scripts/i18nWorkflow/index.ts +11 -0
  44. package/dist/templates/app/scripts/i18nWorkflow/protectedPatterns.ts +91 -0
  45. package/dist/templates/app/scripts/i18nWorkflow/utils.ts +76 -0
  46. package/dist/templates/app/src/bootstrap/index.ts +34 -0
  47. package/dist/templates/app/src/components/AntdStaticMethods/index.tsx +20 -0
  48. package/dist/templates/app/src/config/env.ts +84 -0
  49. package/dist/templates/app/src/index.tsx +13 -51
  50. package/dist/templates/app/src/layout/GlobalProvider/AppTheme.tsx +136 -0
  51. package/dist/templates/app/src/layout/GlobalProvider/Locale.tsx +84 -0
  52. package/dist/templates/app/src/layout/GlobalProvider/Query.tsx +12 -0
  53. package/dist/templates/app/src/layout/GlobalProvider/StyleRegistry.tsx +9 -0
  54. package/dist/templates/app/src/layout/GlobalProvider/index.tsx +23 -0
  55. package/dist/templates/app/src/layout/Locale.tsx +14 -18
  56. package/dist/templates/app/src/layout/MainContentWrap.tsx +11 -15
  57. package/dist/templates/app/src/layout/ThemeContext.tsx +27 -24
  58. package/dist/templates/app/src/locales/default/common.ts +3 -1
  59. package/dist/templates/app/src/locales/utils.ts +23 -0
  60. package/dist/templates/app/src/micro/garfish.ts +53 -0
  61. package/dist/templates/app/src/pages/base/index.tsx +280 -25
  62. package/dist/templates/app/src/routes.tsx +21 -12
  63. package/dist/templates/app/src/types/global.d.ts +19 -0
  64. package/dist/templates/app/src/utils/index.ts +3 -1
  65. package/dist/templates/app/store/middleware/createDevtools.ts +7 -7
  66. package/dist/templates/app/tsconfig.json +19 -3
  67. package/dist/templates/base/index.tsx +280 -25
  68. package/dist/templates/bootstrap/index.ts +34 -0
  69. package/dist/templates/cleanUnusedKeys.ts +344 -0
  70. package/dist/templates/common.json +3 -0
  71. package/dist/templates/common.ts +3 -1
  72. package/dist/templates/components/AntdStaticMethods/index.tsx +20 -0
  73. package/dist/templates/config/env/.env.public.tpl +2 -19
  74. package/dist/templates/config/env.ts +84 -0
  75. package/dist/templates/config/jwt/index.ts +4 -4
  76. package/dist/templates/config/request/error-handler.ts +67 -0
  77. package/dist/templates/config/request/index.ts +127 -129
  78. package/dist/templates/config/request/interceptors.ts +118 -0
  79. package/dist/templates/config/request/token-manager.ts +23 -0
  80. package/dist/templates/config/request/types.ts +63 -0
  81. package/dist/templates/config/rspack/rspack.config.mjs +62 -61
  82. package/dist/templates/config/rspack/rspack.prod.mjs +41 -62
  83. package/dist/templates/const.ts +18 -0
  84. package/dist/templates/createDevtools.ts +7 -7
  85. package/dist/templates/default/common.ts +3 -1
  86. package/dist/templates/docs/DIRECTORY_STRUCTURE.md +141 -0
  87. package/dist/templates/docs/glossary.md +11 -0
  88. package/dist/templates/env/.env.public.tpl +2 -19
  89. package/dist/templates/env.ts +83 -2
  90. package/dist/templates/error-handler.ts +67 -0
  91. package/dist/templates/flattenLocaleKeys.ts +139 -0
  92. package/dist/templates/fonts/HarmonyOS_Sans_Bold.woff2 +0 -0
  93. package/dist/templates/fonts/HarmonyOS_Sans_Medium.woff2 +0 -0
  94. package/dist/templates/fonts/HarmonyOS_Sans_Regular.woff2 +0 -0
  95. package/dist/templates/garfish.ts +53 -0
  96. package/dist/templates/genDefaultLocale.ts +19 -0
  97. package/dist/templates/genDiff.ts +49 -0
  98. package/dist/templates/global.d.ts +19 -0
  99. package/dist/templates/glossary.md +11 -0
  100. package/dist/templates/i18nConfig.ts +7 -0
  101. package/dist/templates/i18nWorkflow/analyzeUnusedKeys.ts +506 -0
  102. package/dist/templates/i18nWorkflow/cleanUnusedKeys.ts +344 -0
  103. package/dist/templates/i18nWorkflow/const.ts +18 -0
  104. package/dist/templates/i18nWorkflow/flattenLocaleKeys.ts +139 -0
  105. package/dist/templates/i18nWorkflow/genDefaultLocale.ts +19 -0
  106. package/dist/templates/i18nWorkflow/genDiff.ts +49 -0
  107. package/dist/templates/i18nWorkflow/i18nConfig.ts +7 -0
  108. package/dist/templates/i18nWorkflow/index.ts +11 -0
  109. package/dist/templates/i18nWorkflow/protectedPatterns.ts +91 -0
  110. package/dist/templates/i18nWorkflow/utils.ts +76 -0
  111. package/dist/templates/index.tsx +280 -25
  112. package/dist/templates/interceptors.ts +118 -0
  113. package/dist/templates/jwt/index.ts +4 -4
  114. package/dist/templates/layout/GlobalProvider/AppTheme.tsx +136 -0
  115. package/dist/templates/layout/GlobalProvider/Locale.tsx +84 -0
  116. package/dist/templates/layout/GlobalProvider/Query.tsx +12 -0
  117. package/dist/templates/layout/GlobalProvider/StyleRegistry.tsx +9 -0
  118. package/dist/templates/layout/GlobalProvider/index.tsx +23 -0
  119. package/dist/templates/layout/Locale.tsx +14 -18
  120. package/dist/templates/layout/MainContentWrap.tsx +11 -15
  121. package/dist/templates/layout/ThemeContext.tsx +27 -24
  122. package/dist/templates/locales/default/common.ts +3 -1
  123. package/dist/templates/locales/utils.ts +23 -0
  124. package/dist/templates/locales/zh-CN/common.json +3 -0
  125. package/dist/templates/micro/garfish.ts +53 -0
  126. package/dist/templates/middleware/createDevtools.ts +7 -7
  127. package/dist/templates/package.json.tpl +8 -25
  128. package/dist/templates/page.tsx +21 -19
  129. package/dist/templates/pages/base/index.tsx +280 -25
  130. package/dist/templates/protectedPatterns.ts +91 -0
  131. package/dist/templates/public/fonts/HarmonyOS_Sans_Bold.woff2 +0 -0
  132. package/dist/templates/public/fonts/HarmonyOS_Sans_Medium.woff2 +0 -0
  133. package/dist/templates/public/fonts/HarmonyOS_Sans_Regular.woff2 +0 -0
  134. package/dist/templates/react-app-env.d.ts +13 -8
  135. package/dist/templates/request/error-handler.ts +67 -0
  136. package/dist/templates/request/index.ts +127 -129
  137. package/dist/templates/request/interceptors.ts +118 -0
  138. package/dist/templates/request/token-manager.ts +23 -0
  139. package/dist/templates/request/types.ts +63 -0
  140. package/dist/templates/routes.tsx +21 -12
  141. package/dist/templates/rspack/rspack.config.mjs +62 -61
  142. package/dist/templates/rspack/rspack.prod.mjs +41 -62
  143. package/dist/templates/rspack.config.mjs +62 -61
  144. package/dist/templates/rspack.prod.mjs +41 -62
  145. package/dist/templates/scripts/i18nWorkflow/analyzeUnusedKeys.ts +506 -0
  146. package/dist/templates/scripts/i18nWorkflow/cleanUnusedKeys.ts +344 -0
  147. package/dist/templates/scripts/i18nWorkflow/const.ts +18 -0
  148. package/dist/templates/scripts/i18nWorkflow/flattenLocaleKeys.ts +139 -0
  149. package/dist/templates/scripts/i18nWorkflow/genDefaultLocale.ts +19 -0
  150. package/dist/templates/scripts/i18nWorkflow/genDiff.ts +49 -0
  151. package/dist/templates/scripts/i18nWorkflow/i18nConfig.ts +7 -0
  152. package/dist/templates/scripts/i18nWorkflow/index.ts +11 -0
  153. package/dist/templates/scripts/i18nWorkflow/protectedPatterns.ts +91 -0
  154. package/dist/templates/scripts/i18nWorkflow/utils.ts +76 -0
  155. package/dist/templates/src/bootstrap/index.ts +34 -0
  156. package/dist/templates/src/components/AntdStaticMethods/index.tsx +20 -0
  157. package/dist/templates/src/config/env.ts +84 -0
  158. package/dist/templates/src/index.tsx +13 -51
  159. package/dist/templates/src/layout/GlobalProvider/AppTheme.tsx +136 -0
  160. package/dist/templates/src/layout/GlobalProvider/Locale.tsx +84 -0
  161. package/dist/templates/src/layout/GlobalProvider/Query.tsx +12 -0
  162. package/dist/templates/src/layout/GlobalProvider/StyleRegistry.tsx +9 -0
  163. package/dist/templates/src/layout/GlobalProvider/index.tsx +23 -0
  164. package/dist/templates/src/layout/Locale.tsx +14 -18
  165. package/dist/templates/src/layout/MainContentWrap.tsx +11 -15
  166. package/dist/templates/src/layout/ThemeContext.tsx +27 -24
  167. package/dist/templates/src/locales/default/common.ts +3 -1
  168. package/dist/templates/src/locales/utils.ts +23 -0
  169. package/dist/templates/src/micro/garfish.ts +53 -0
  170. package/dist/templates/src/pages/base/index.tsx +280 -25
  171. package/dist/templates/src/routes.tsx +21 -12
  172. package/dist/templates/src/types/global.d.ts +19 -0
  173. package/dist/templates/src/utils/index.ts +3 -1
  174. package/dist/templates/store/middleware/createDevtools.ts +7 -7
  175. package/dist/templates/token-manager.ts +23 -0
  176. package/dist/templates/tsconfig.json +19 -3
  177. package/dist/templates/type.ts +23 -24
  178. package/dist/templates/types/global.d.ts +19 -0
  179. package/dist/templates/utils/index.ts +3 -1
  180. package/dist/templates/utils.ts +23 -0
  181. package/dist/templates/zh-CN/common.json +3 -0
  182. package/package.json +19 -21
  183. package/dist/templates/app/config/sentry/sentry.config.ts +0 -188
  184. package/dist/templates/app/src/hooks/useRouteTitle.tsx +0 -36
  185. package/dist/templates/app/src/hooks/useSentry.ts +0 -92
  186. package/dist/templates/app/src/pages/base/layout.tsx +0 -6
  187. package/dist/templates/app/src/pages/base/page.tsx +0 -25
  188. package/dist/templates/app/src/utils/env.ts +0 -3
  189. package/dist/templates/app/src/utils/format.ts +0 -21
  190. package/dist/templates/app/src/utils/getMicroApp.ts +0 -39
  191. package/dist/templates/app/src/utils/sentry.ts +0 -187
  192. package/dist/templates/app/src/utils/sentryDecorators.ts +0 -34
  193. package/dist/templates/app/src/utils/updateVersion.ts +0 -186
  194. package/dist/templates/base/layout.tsx +0 -6
  195. package/dist/templates/base/page.tsx +0 -25
  196. package/dist/templates/config/public/404.png +0 -0
  197. package/dist/templates/config/public/favicon.ico +0 -0
  198. package/dist/templates/config/public/images/banner_market_modal.webp +0 -0
  199. package/dist/templates/config/public/images/chatmode_chat_dark.webp +0 -0
  200. package/dist/templates/config/public/images/chatmode_chat_light.webp +0 -0
  201. package/dist/templates/config/public/images/chatmode_docs_dark.webp +0 -0
  202. package/dist/templates/config/public/images/chatmode_docs_light.webp +0 -0
  203. package/dist/templates/config/public/images/empty_topic_dark.webp +0 -0
  204. package/dist/templates/config/public/images/empty_topic_light.webp +0 -0
  205. package/dist/templates/config/public/images/screenshot_background.webp +0 -0
  206. package/dist/templates/config/public/images/theme_auto.webp +0 -0
  207. package/dist/templates/config/public/images/theme_dark.webp +0 -0
  208. package/dist/templates/config/public/images/theme_light.webp +0 -0
  209. package/dist/templates/config/public/index.html +0 -29
  210. package/dist/templates/config/sentry/sentry.config.ts +0 -188
  211. package/dist/templates/format.ts +0 -21
  212. package/dist/templates/getMicroApp.ts +0 -39
  213. package/dist/templates/hooks/useRouteTitle.tsx +0 -36
  214. package/dist/templates/hooks/useSentry.ts +0 -92
  215. package/dist/templates/layout.tsx +0 -6
  216. package/dist/templates/pages/base/layout.tsx +0 -6
  217. package/dist/templates/pages/base/page.tsx +0 -25
  218. package/dist/templates/sentry/sentry.config.ts +0 -188
  219. package/dist/templates/sentry.config.ts +0 -188
  220. package/dist/templates/sentry.ts +0 -187
  221. package/dist/templates/sentryDecorators.ts +0 -34
  222. package/dist/templates/src/hooks/useRouteTitle.tsx +0 -36
  223. package/dist/templates/src/hooks/useSentry.ts +0 -92
  224. package/dist/templates/src/pages/base/layout.tsx +0 -6
  225. package/dist/templates/src/pages/base/page.tsx +0 -25
  226. package/dist/templates/src/utils/env.ts +0 -3
  227. package/dist/templates/src/utils/format.ts +0 -21
  228. package/dist/templates/src/utils/getMicroApp.ts +0 -39
  229. package/dist/templates/src/utils/sentry.ts +0 -187
  230. package/dist/templates/src/utils/sentryDecorators.ts +0 -34
  231. package/dist/templates/src/utils/updateVersion.ts +0 -186
  232. package/dist/templates/updateVersion.ts +0 -186
  233. package/dist/templates/useRouteTitle.tsx +0 -36
  234. package/dist/templates/useSentry.ts +0 -92
  235. package/dist/templates/utils/env.ts +0 -3
  236. package/dist/templates/utils/format.ts +0 -21
  237. package/dist/templates/utils/getMicroApp.ts +0 -39
  238. package/dist/templates/utils/sentry.ts +0 -187
  239. package/dist/templates/utils/sentryDecorators.ts +0 -34
  240. package/dist/templates/utils/updateVersion.ts +0 -186
  241. /package/dist/templates/app/{config/public → public}/404.png +0 -0
  242. /package/dist/templates/app/{config/public → public}/favicon.ico +0 -0
  243. /package/dist/templates/app/{config/public → public}/images/banner_market_modal.webp +0 -0
  244. /package/dist/templates/app/{config/public → public}/images/chatmode_chat_dark.webp +0 -0
  245. /package/dist/templates/app/{config/public → public}/images/chatmode_chat_light.webp +0 -0
  246. /package/dist/templates/app/{config/public → public}/images/chatmode_docs_dark.webp +0 -0
  247. /package/dist/templates/app/{config/public → public}/images/chatmode_docs_light.webp +0 -0
  248. /package/dist/templates/app/{config/public → public}/images/empty_topic_dark.webp +0 -0
  249. /package/dist/templates/app/{config/public → public}/images/empty_topic_light.webp +0 -0
  250. /package/dist/templates/app/{config/public → public}/images/screenshot_background.webp +0 -0
  251. /package/dist/templates/app/{config/public → public}/images/theme_auto.webp +0 -0
  252. /package/dist/templates/app/{config/public → public}/images/theme_dark.webp +0 -0
  253. /package/dist/templates/app/{config/public → public}/images/theme_light.webp +0 -0
  254. /package/dist/templates/app/{config/public → public}/index.html +0 -0
@@ -1,16 +1,16 @@
1
- import { defineConfig } from '@rspack/cli';
2
- import { rspack } from '@rspack/core';
3
- import path from './paths.js';
4
- import fs from 'fs';
5
- import { RsdoctorRspackPlugin } from '@rsdoctor/rspack-plugin';
6
- import dotenv from 'dotenv';
7
- import { createRequire } from 'module';
1
+ import { defineConfig } from "@rspack/cli";
2
+ import { rspack } from "@rspack/core";
3
+ import path from "./paths.js";
4
+ import fs from "fs";
5
+ import { RsdoctorRspackPlugin } from "@rsdoctor/rspack-plugin";
6
+ import dotenv from "dotenv";
7
+ import { createRequire } from "module";
8
8
 
9
9
  // 创建 require 函数用于 require.resolve
10
10
  const require = createRequire(import.meta.url);
11
11
 
12
12
  // 复用现有的环境变量加载逻辑
13
- dotenv.config({ path: path.resolveApp('./config/env/.env.public') });
13
+ dotenv.config({ path: path.resolveApp("./config/env/.env.public") });
14
14
 
15
15
  let extraConfig = {};
16
16
  try {
@@ -19,40 +19,41 @@ try {
19
19
  extraConfig = dotenv.parse(fs.readFileSync(envFile));
20
20
  }
21
21
  } catch (error) {
22
- console.warn('环境变量文件读取失败:', error.message);
22
+ console.warn("环境变量文件读取失败:", error.message);
23
23
  }
24
24
 
25
25
  for (const key in extraConfig) {
26
26
  process.env[key] = extraConfig[key];
27
27
  }
28
28
 
29
- const APP_CNAME = process.env.APP_CNAME || 'Chat应用';
30
- const APP_NAME = process.env.APP_NAME || 'chat';
31
- const OUTPUT_PATH = process.env.OUTPUT_PATH || 'dist';
32
- const PUBLIC_PATH = process.env.PUBLIC_PATH || '/';
29
+ const APP_CNAME = process.env.APP_CNAME || "Chat应用";
30
+ const APP_NAME = process.env.APP_NAME || "chat";
31
+ const OUTPUT_PATH = process.env.OUTPUT_PATH || "dist";
32
+ const PUBLIC_PATH = process.env.PUBLIC_PATH || "/";
33
33
 
34
34
  export default defineConfig({
35
- entry: [path.resolveApp('./src/index')],
35
+ entry: [path.resolveApp("./src/index")],
36
36
 
37
37
  resolve: {
38
- extensions: ['.ts', '.tsx', '.jsx', '.js', '.json'],
38
+ extensions: [".ts", ".tsx", ".jsx", ".js", ".json"],
39
39
  alias: {
40
- '@': path.resolveApp('./src'),
41
- '@config': path.resolveApp('./config'),
42
- '@store': path.resolveApp('./store'),
43
- '@locales': path.resolveApp('./locales'),
40
+ "@": path.resolveApp("./src"),
41
+ "@config": path.resolveApp("./config"),
42
+ "@store": path.resolveApp("./store"),
43
+ "@locales": path.resolveApp("./locales"),
44
+ "@public": path.resolveApp("./public"),
44
45
  },
45
46
  fallback: {
46
- path: require.resolve('path-browserify'),
47
- process: require.resolve('process/browser.js'),
48
- buffer: require.resolve('buffer'),
49
- util: require.resolve('util'),
50
- stream: require.resolve('stream-browserify'),
51
- crypto: require.resolve('crypto-browserify'),
52
- zlib: require.resolve('browserify-zlib'),
53
- querystring: require.resolve('querystring-es3'),
54
- url: require.resolve('url'),
55
- assert: require.resolve('assert'),
47
+ path: require.resolve("path-browserify"),
48
+ process: require.resolve("process/browser.js"),
49
+ buffer: require.resolve("buffer"),
50
+ util: require.resolve("util"),
51
+ stream: require.resolve("stream-browserify"),
52
+ crypto: require.resolve("crypto-browserify"),
53
+ zlib: require.resolve("browserify-zlib"),
54
+ querystring: require.resolve("querystring-es3"),
55
+ url: require.resolve("url"),
56
+ assert: require.resolve("assert"),
56
57
  fs: false,
57
58
  net: false,
58
59
  tls: false,
@@ -67,28 +68,28 @@ export default defineConfig({
67
68
  {
68
69
  test: /\.[jt]sx?$/,
69
70
  include: [
70
- path.resolveApp('src'),
71
- path.resolveApp('config'),
72
- path.resolveApp('store'),
73
- path.resolveApp('packages'),
71
+ path.resolveApp("src"),
72
+ path.resolveApp("config"),
73
+ path.resolveApp("store"),
74
+ path.resolveApp("packages"),
74
75
  ],
75
- exclude: [path.resolveApp('node_modules')],
76
+ exclude: [path.resolveApp("node_modules")],
76
77
  use: [
77
78
  {
78
- loader: 'builtin:swc-loader',
79
+ loader: "builtin:swc-loader",
79
80
  options: {
80
81
  jsc: {
81
82
  parser: {
82
- syntax: 'typescript',
83
+ syntax: "typescript",
83
84
  tsx: true,
84
85
  decorators: true,
85
86
  },
86
87
  transform: {
87
88
  react: {
88
- runtime: 'automatic',
89
+ runtime: "automatic",
89
90
  },
90
91
  },
91
- target: 'es2015',
92
+ target: "es2015",
92
93
  },
93
94
  sourceMaps: true,
94
95
  },
@@ -96,10 +97,10 @@ export default defineConfig({
96
97
  ],
97
98
  },
98
99
  {
99
- test: /\.(png|jpg|jpeg|gif|webp|m3u8|exr|hdr|json)$/,
100
- include: [path.resolveApp('config')],
101
- exclude: [path.resolveApp('src'), path.resolveApp('store')],
102
- type: 'asset',
100
+ test: /\.(png|jpg|jpeg|gif|webp|m3u8|exr|hdr|json|woff2)$/,
101
+ include: [path.resolveApp("public")],
102
+ exclude: [path.resolveApp("src"), path.resolveApp("store")],
103
+ type: "asset",
103
104
  parser: {
104
105
  dataUrlCondition: {
105
106
  maxSize: 10 * 1024,
@@ -107,33 +108,33 @@ export default defineConfig({
107
108
  },
108
109
  },
109
110
  {
110
- test: /\.md$/,
111
- include: [path.resolveApp('src')],
112
- type: 'asset/source',
111
+ test: /\.(md)$/,
112
+ include: [path.resolveApp("src")],
113
+ type: "asset/source",
113
114
  },
114
115
  {
115
116
  test: /\.svg$/,
116
- use: ['@svgr/webpack'],
117
+ use: ["@svgr/webpack"],
117
118
  },
118
119
  ],
119
120
  },
120
121
 
121
122
  plugins: [
122
123
  new rspack.ProvidePlugin({
123
- process: 'process/browser.js',
124
- Buffer: ['buffer', 'Buffer'],
124
+ process: "process/browser.js",
125
+ Buffer: ["buffer", "Buffer"],
125
126
  }),
126
127
  new rspack.DefinePlugin({
127
- 'process.env': JSON.stringify(process.env),
128
+ "process.env": JSON.stringify(process.env),
128
129
  // ["__CONVENTION_ROUTES__"]: JSON.stringify([]),
129
130
  }),
130
131
  new rspack.HtmlRspackPlugin({
131
- template: path.resolveApp('./config/public/index.html'),
132
- filename: 'index.html',
133
- inject: 'body',
132
+ template: path.resolveApp("./public/index.html"),
133
+ filename: "index.html",
134
+ inject: "body",
134
135
  hash: true,
135
- minify: process.env.NODE_ENV === 'production',
136
- favicon: path.resolveApp('./config/public/favicon.ico'),
136
+ minify: process.env.NODE_ENV === "production",
137
+ favicon: path.resolveApp("./public/favicon.ico"),
137
138
  templateParameters: {
138
139
  title: APP_CNAME,
139
140
  mountRoot: APP_NAME,
@@ -142,8 +143,8 @@ export default defineConfig({
142
143
  new rspack.CopyRspackPlugin({
143
144
  patterns: [
144
145
  {
145
- from: path.resolveApp('./config/public/images'),
146
- to: 'public/images',
146
+ from: path.resolveApp("./public/images"),
147
+ to: "public/images",
147
148
  },
148
149
  ],
149
150
  }),
@@ -165,11 +166,11 @@ export default defineConfig({
165
166
  ],
166
167
 
167
168
  output: {
168
- assetModuleFilename: 'images/[hash][ext]',
169
+ assetModuleFilename: "images/[hash][ext]",
169
170
  library: `${APP_CNAME}-[name]`,
170
- chunkFilename: '[name].[contenthash].js',
171
- libraryTarget: 'umd',
172
- globalObject: 'window',
171
+ chunkFilename: "[name].[contenthash].js",
172
+ libraryTarget: "umd",
173
+ globalObject: "window",
173
174
  chunkLoadingGlobal: `chunk_global_${APP_NAME}`,
174
175
  publicPath: PUBLIC_PATH,
175
176
  path: path.resolveApp(OUTPUT_PATH),
@@ -182,5 +183,5 @@ export default defineConfig({
182
183
  },
183
184
  ],
184
185
 
185
- devtool: 'source-map',
186
+ devtool: "source-map",
186
187
  });
@@ -1,17 +1,15 @@
1
- import { defineConfig } from '@rspack/cli';
2
- import { merge } from 'webpack-merge';
3
- import { rspack } from '@rspack/core';
4
- import baseConfig from './rspack.config.mjs';
5
- import path from './paths.js';
6
- import { sentryWebpackPlugin } from '@sentry/webpack-plugin';
1
+ import { merge } from "webpack-merge";
2
+ import { rspack } from "@rspack/core";
3
+ import baseConfig from "./rspack.config.mjs";
4
+ import path from "./paths.js";
7
5
 
8
6
  export default merge(baseConfig, {
9
- mode: 'production',
10
- devtool: 'hidden-source-map',
7
+ mode: "production",
8
+ devtool: "hidden-source-map",
11
9
 
12
10
  output: {
13
- filename: '[name].[contenthash].bundle.js',
14
- chunkFilename: '[name].[contenthash].chunk.js',
11
+ filename: "[name].[contenthash].bundle.js",
12
+ chunkFilename: "[name].[contenthash].chunk.js",
15
13
  clean: true,
16
14
  },
17
15
 
@@ -29,18 +27,18 @@ export default merge(baseConfig, {
29
27
  loader: rspack.CssExtractRspackPlugin.loader,
30
28
  },
31
29
  {
32
- loader: 'css-loader',
30
+ loader: "css-loader",
33
31
  options: {
34
32
  sourceMap: true,
35
33
  },
36
34
  },
37
35
  {
38
- loader: 'less-loader',
36
+ loader: "less-loader",
39
37
  options: {
40
38
  sourceMap: true,
41
39
  lessOptions: {
42
40
  strictMath: false,
43
- math: 'always',
41
+ math: "always",
44
42
  javascriptEnabled: true,
45
43
  },
46
44
  },
@@ -50,8 +48,8 @@ export default merge(baseConfig, {
50
48
  // Less 处理 - 项目文件
51
49
  {
52
50
  test: /\.less$/,
53
- include: [path.resolveApp('src')],
54
- exclude: [path.resolveApp('node_modules')],
51
+ include: [path.resolveApp("src")],
52
+ exclude: [path.resolveApp("node_modules")],
55
53
  oneOf: [
56
54
  {
57
55
  test: /\.module\.less$/,
@@ -60,17 +58,17 @@ export default merge(baseConfig, {
60
58
  loader: rspack.CssExtractRspackPlugin.loader,
61
59
  },
62
60
  {
63
- loader: 'css-loader',
61
+ loader: "css-loader",
64
62
  options: {
65
63
  sourceMap: true,
66
64
  modules: {
67
- localIdentName: '[path][name]__[local]--[hash:base64:5]',
65
+ localIdentName: "[path][name]__[local]--[hash:base64:5]",
68
66
  },
69
67
  importLoaders: 2,
70
68
  },
71
69
  },
72
70
  {
73
- loader: 'less-loader',
71
+ loader: "less-loader",
74
72
  options: {
75
73
  sourceMap: true,
76
74
  lessOptions: {
@@ -86,13 +84,13 @@ export default merge(baseConfig, {
86
84
  loader: rspack.CssExtractRspackPlugin.loader,
87
85
  },
88
86
  {
89
- loader: 'css-loader',
87
+ loader: "css-loader",
90
88
  options: {
91
89
  sourceMap: true,
92
90
  },
93
91
  },
94
92
  {
95
- loader: 'less-loader',
93
+ loader: "less-loader",
96
94
  options: {
97
95
  sourceMap: true,
98
96
  lessOptions: {
@@ -107,8 +105,8 @@ export default merge(baseConfig, {
107
105
  // Sass 处理
108
106
  {
109
107
  test: /\.s[ac]ss$/i,
110
- include: [path.resolveApp('src')],
111
- exclude: [path.resolveApp('node_modules')],
108
+ include: [path.resolveApp("src")],
109
+ exclude: [path.resolveApp("node_modules")],
112
110
  oneOf: [
113
111
  {
114
112
  test: /\.module\.s[ac]ss$/,
@@ -117,21 +115,21 @@ export default merge(baseConfig, {
117
115
  loader: rspack.CssExtractRspackPlugin.loader,
118
116
  },
119
117
  {
120
- loader: 'css-loader',
118
+ loader: "css-loader",
121
119
  options: {
122
120
  sourceMap: true,
123
121
  modules: {
124
- localIdentName: '[path][name]__[local]--[hash:base64:5]',
122
+ localIdentName: "[path][name]__[local]--[hash:base64:5]",
125
123
  },
126
124
  importLoaders: 2,
127
125
  },
128
126
  },
129
127
  {
130
- loader: 'sass-loader',
128
+ loader: "sass-loader",
131
129
  options: {
132
130
  sourceMap: true,
133
131
  sassOptions: {
134
- outputStyle: 'compressed',
132
+ outputStyle: "compressed",
135
133
  },
136
134
  },
137
135
  },
@@ -143,17 +141,17 @@ export default merge(baseConfig, {
143
141
  loader: rspack.CssExtractRspackPlugin.loader,
144
142
  },
145
143
  {
146
- loader: 'css-loader',
144
+ loader: "css-loader",
147
145
  options: {
148
146
  sourceMap: true,
149
147
  },
150
148
  },
151
149
  {
152
- loader: 'sass-loader',
150
+ loader: "sass-loader",
153
151
  options: {
154
152
  sourceMap: true,
155
153
  sassOptions: {
156
- outputStyle: 'compressed',
154
+ outputStyle: "compressed",
157
155
  },
158
156
  },
159
157
  },
@@ -164,26 +162,26 @@ export default merge(baseConfig, {
164
162
  // CSS 处理 - TailwindCSS
165
163
  {
166
164
  test: /\.css$/,
167
- include: [path.resolveApp('src/index.css')],
165
+ include: [path.resolveApp("src/index.css")],
168
166
  use: [
169
167
  {
170
168
  loader: rspack.CssExtractRspackPlugin.loader,
171
169
  },
172
- 'css-loader',
173
- 'postcss-loader',
170
+ "css-loader",
171
+ "postcss-loader",
174
172
  ],
175
173
  },
176
174
  // CSS 处理 - src 目录中的其他 CSS
177
175
  {
178
176
  test: /\.css$/,
179
- include: [path.resolveApp('src')],
180
- exclude: [path.resolveApp('src/index.css')],
177
+ include: [path.resolveApp("src")],
178
+ exclude: [path.resolveApp("src/index.css")],
181
179
  use: [
182
180
  {
183
181
  loader: rspack.CssExtractRspackPlugin.loader,
184
182
  },
185
183
  {
186
- loader: 'css-loader',
184
+ loader: "css-loader",
187
185
  options: {
188
186
  sourceMap: true,
189
187
  },
@@ -193,13 +191,13 @@ export default merge(baseConfig, {
193
191
  // CSS 处理 - node_modules
194
192
  {
195
193
  test: /\.css$/,
196
- include: [path.resolveApp('node_modules')],
194
+ include: [path.resolveApp("node_modules")],
197
195
  use: [
198
196
  {
199
- loader: 'style-loader',
197
+ loader: "style-loader",
200
198
  },
201
199
  {
202
- loader: 'css-loader',
200
+ loader: "css-loader",
203
201
  options: {
204
202
  sourceMap: true,
205
203
  },
@@ -211,41 +209,22 @@ export default merge(baseConfig, {
211
209
 
212
210
  plugins: [
213
211
  new rspack.CssExtractRspackPlugin({
214
- filename: '[name].[contenthash:8].css',
215
- chunkFilename: '[name].[contenthash:8].chunk.css',
212
+ filename: "[name].[contenthash:8].css",
213
+ chunkFilename: "[name].[contenthash:8].chunk.css",
216
214
  }),
217
-
218
- // Sentry 插件 (仅生产环境)
219
- process.env.SENTRY_ENABLED === 'true' &&
220
- process.env.SENTRY_AUTH_TOKEN &&
221
- sentryWebpackPlugin({
222
- org: process.env.SENTRY_ORG,
223
- project: process.env.SENTRY_PROJECT,
224
- authToken: process.env.SENTRY_AUTH_TOKEN,
225
- url: process.env.SENTRY_URL,
226
- errorHandler: () => false,
227
- }),
228
- ].filter(Boolean),
215
+ ],
229
216
 
230
217
  optimization: {
231
218
  minimize: true,
232
219
  minimizer: [
233
220
  new rspack.SwcJsMinimizerRspackPlugin({
234
- exclude: [path.resolveApp('node_modules')],
221
+ exclude: [path.resolveApp("node_modules")],
235
222
  minimizerOptions: {
236
223
  compress: {
237
- pure_funcs: ['console.info', 'console.debug', 'console.warn'],
224
+ pure_funcs: ["console.info", "console.debug", "console.warn"],
238
225
  drop_console: false,
239
226
  drop_debugger: false,
240
227
  },
241
- mangle: {
242
- reserved: [
243
- 'Sentry',
244
- 'initSentry',
245
- 'captureException',
246
- 'captureMessage',
247
- ],
248
- },
249
228
  },
250
229
  }),
251
230
  new rspack.LightningCssMinimizerRspackPlugin(),