zcw-shared 1.5.0 → 1.8.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 (223) hide show
  1. package/README.md +93 -363
  2. package/dist/constants/colorPatterns.d.ts +8 -2
  3. package/dist/constants/colorPatterns.js.map +1 -1
  4. package/dist/constants/namedColors.d.ts +16 -2
  5. package/dist/constants/namedColors.js.map +1 -1
  6. package/dist/constants/softwareConfigs.d.ts +0 -1
  7. package/dist/constants/softwareConfigs.js +0 -1
  8. package/dist/constants/softwareConfigs.js.map +1 -1
  9. package/dist/functions/ag-grid/generateLicense.d.ts +2 -2
  10. package/dist/functions/android/buildProject.d.ts +12 -0
  11. package/dist/functions/android/buildProject.js +123 -0
  12. package/dist/functions/android/buildProject.js.map +1 -0
  13. package/dist/functions/android/modifyGradle.d.ts +17 -0
  14. package/dist/functions/android/modifyGradle.js +69 -0
  15. package/dist/functions/android/modifyGradle.js.map +1 -0
  16. package/dist/functions/android/modifyManifest.d.ts +23 -0
  17. package/dist/functions/android/modifyManifest.js +198 -0
  18. package/dist/functions/android/modifyManifest.js.map +1 -0
  19. package/dist/functions/android/permission.d.ts +30 -0
  20. package/dist/functions/android/permission.js +65 -0
  21. package/dist/functions/android/permission.js.map +1 -0
  22. package/dist/functions/color/colorValidation.d.ts +11 -0
  23. package/dist/functions/color/colorValidation.js +35 -0
  24. package/dist/functions/color/colorValidation.js.map +1 -0
  25. package/dist/functions/color/convertColor.d.ts +0 -1
  26. package/dist/functions/color/convertColor.js +135 -166
  27. package/dist/functions/color/convertColor.js.map +1 -1
  28. package/dist/functions/color/deduplicateColors.js +23 -38
  29. package/dist/functions/color/deduplicateColors.js.map +1 -1
  30. package/dist/functions/color/detectColorFormat.d.ts +8 -2
  31. package/dist/functions/color/detectColorFormat.js +49 -51
  32. package/dist/functions/color/detectColorFormat.js.map +1 -1
  33. package/dist/functions/color/extractColors.js +48 -18
  34. package/dist/functions/color/extractColors.js.map +1 -1
  35. package/dist/functions/css/extractCssVariables.d.ts +1 -1
  36. package/dist/functions/css/extractCssVariables.js +1 -1
  37. package/dist/functions/css/extractCssVariables.js.map +1 -1
  38. package/dist/functions/debug/createDebugger.d.ts +8 -7
  39. package/dist/functions/debug/createDebugger.js +49 -39
  40. package/dist/functions/debug/createDebugger.js.map +1 -1
  41. package/dist/functions/dom/detectOverflow.d.ts +3 -3
  42. package/dist/functions/dom/detectOverflow.js +3 -3
  43. package/dist/functions/dom/detectOverflow.js.map +1 -1
  44. package/dist/functions/dom/getElementRect.d.ts +1 -1
  45. package/dist/functions/dom/getElementRect.js.map +1 -1
  46. package/dist/functions/dom/getRelativePosition.d.ts +1 -1
  47. package/dist/functions/dom/getRelativePosition.js.map +1 -1
  48. package/dist/functions/dom/getViewportRect.d.ts +2 -2
  49. package/dist/functions/dom/getViewportRect.js +2 -2
  50. package/dist/functions/dom/getViewportRect.js.map +1 -1
  51. package/dist/functions/dom/getViewportSize.d.ts +2 -2
  52. package/dist/functions/dom/getViewportSize.js.map +1 -1
  53. package/dist/functions/image/generateMacIcons.d.ts +3 -3
  54. package/dist/functions/image/generateMacIcons.js.map +1 -1
  55. package/dist/functions/image/generateMacTrayIcon.d.ts +3 -3
  56. package/dist/functions/image/generateMacTrayIcon.js.map +1 -1
  57. package/dist/functions/image/generatePaddedImage.d.ts +2 -2
  58. package/dist/functions/image/generatePaddedImage.js.map +1 -1
  59. package/dist/functions/image/generatePwaIcons.d.ts +3 -3
  60. package/dist/functions/image/generatePwaIcons.js.map +1 -1
  61. package/dist/functions/image/generateRoundedImage.d.ts +2 -2
  62. package/dist/functions/image/generateRoundedImage.js.map +1 -1
  63. package/dist/functions/ipc/dispatchIpcRequest.d.ts +2 -2
  64. package/dist/functions/ipc/dispatchIpcRequest.js +1 -1
  65. package/dist/functions/ipc/dispatchIpcRequest.js.map +1 -1
  66. package/dist/functions/software/findSoftware.d.ts +3 -3
  67. package/dist/functions/software/findSoftware.js +7 -9
  68. package/dist/functions/software/findSoftware.js.map +1 -1
  69. package/dist/functions/string/base64.d.ts +1 -1
  70. package/dist/functions/string/capitalize.js.map +1 -1
  71. package/dist/functions/string/caseConverter.d.ts +0 -1
  72. package/dist/functions/string/caseConverter.js +1 -8
  73. package/dist/functions/string/caseConverter.js.map +1 -1
  74. package/dist/functions/string/desensitize.js.map +1 -1
  75. package/dist/functions/string/htmlEscape.d.ts +4 -1
  76. package/dist/functions/string/htmlEscape.js +37 -25
  77. package/dist/functions/string/htmlEscape.js.map +1 -1
  78. package/dist/functions/string/levenshtein.js.map +1 -1
  79. package/dist/functions/string/normalize.js.map +1 -1
  80. package/dist/functions/string/pad.d.ts +0 -1
  81. package/dist/functions/string/pad.js +0 -3
  82. package/dist/functions/string/pad.js.map +1 -1
  83. package/dist/functions/string/palindrome.js.map +1 -1
  84. package/dist/functions/string/similarity.js.map +1 -1
  85. package/dist/functions/string/template.js.map +1 -1
  86. package/dist/functions/string/wordCount.js.map +1 -1
  87. package/dist/functions/tencent-cloud/getSecret.js.map +1 -1
  88. package/dist/functions/uniapp/app-plus/androidProjectStrategy.d.ts +7 -7
  89. package/dist/functions/uniapp/app-plus/androidProjectStrategy.js.map +1 -1
  90. package/dist/functions/uniapp/app-plus/buildAndroidApp.d.ts +2 -2
  91. package/dist/functions/uniapp/app-plus/buildAndroidApp.js +98 -24
  92. package/dist/functions/uniapp/app-plus/buildAndroidApp.js.map +1 -1
  93. package/dist/functions/uniapp/app-plus/configureAndroidManifest.d.ts +2 -2
  94. package/dist/functions/uniapp/app-plus/configureAndroidManifest.js.map +1 -1
  95. package/dist/functions/uniapp/app-plus/configureBuildGradle.d.ts +3 -3
  96. package/dist/functions/uniapp/app-plus/configureBuildGradle.js.map +1 -1
  97. package/dist/functions/uniapp/app-plus/configureDcloudControl.d.ts +2 -2
  98. package/dist/functions/uniapp/app-plus/configureDcloudControl.js.map +1 -1
  99. package/dist/functions/uniapp/app-plus/configureStrings.d.ts +2 -2
  100. package/dist/functions/uniapp/app-plus/configureStrings.js.map +1 -1
  101. package/dist/functions/uniapp/app-plus/copyAppResources.d.ts +2 -2
  102. package/dist/functions/uniapp/app-plus/copyAppResources.js.map +1 -1
  103. package/dist/functions/uniapp/app-plus/parseManifest.d.ts +2 -2
  104. package/dist/functions/uniapp/app-plus/parseManifest.js.map +1 -1
  105. package/dist/functions/uniapp/app-plus/validateOptions.d.ts +2 -2
  106. package/dist/functions/uniapp/app-plus/validateOptions.js.map +1 -1
  107. package/dist/functions/uniapp/build.d.ts +20 -0
  108. package/dist/functions/uniapp/build.js +84 -0
  109. package/dist/functions/uniapp/build.js.map +1 -0
  110. package/dist/functions/uniapp/detectAndroidProjectStructure.d.ts +7 -0
  111. package/dist/functions/uniapp/detectAndroidProjectStructure.js +30 -0
  112. package/dist/functions/uniapp/detectAndroidProjectStructure.js.map +1 -0
  113. package/dist/functions/uniapp/detectProjectType.d.ts +16 -0
  114. package/dist/functions/uniapp/detectProjectType.js +68 -0
  115. package/dist/functions/uniapp/detectProjectType.js.map +1 -0
  116. package/dist/functions/uniapp/parseManifest.d.ts +12 -0
  117. package/dist/functions/uniapp/parseManifest.js +46 -0
  118. package/dist/functions/uniapp/parseManifest.js.map +1 -0
  119. package/dist/functions/uniapp/waitForPages.d.ts +3 -2
  120. package/dist/functions/uniapp/waitForPages.js.map +1 -1
  121. package/dist/functions/utils/compose.js.map +1 -1
  122. package/dist/functions/utils/cond.js.map +1 -1
  123. package/dist/functions/utils/curry.js.map +1 -1
  124. package/dist/functions/utils/debounce.js.map +1 -1
  125. package/dist/functions/utils/evolve.js.map +1 -1
  126. package/dist/functions/utils/flow.js.map +1 -1
  127. package/dist/functions/utils/generateExports.d.ts +16 -0
  128. package/dist/functions/utils/generateExports.js +34 -0
  129. package/dist/functions/utils/generateExports.js.map +1 -0
  130. package/dist/functions/utils/isType.js.map +1 -1
  131. package/dist/functions/utils/memoize.js.map +1 -1
  132. package/dist/functions/utils/once.js.map +1 -1
  133. package/dist/functions/utils/partial.js.map +1 -1
  134. package/dist/functions/utils/pipe.js.map +1 -1
  135. package/dist/functions/utils/retryWithBackoff.js.map +1 -1
  136. package/dist/functions/utils/tap.js.map +1 -1
  137. package/dist/functions/utils/throttle.js.map +1 -1
  138. package/dist/functions/utils/until.js.map +1 -1
  139. package/dist/functions/utils/validate.js.map +1 -1
  140. package/dist/functions/utils/walk.d.ts +11 -0
  141. package/dist/functions/utils/walk.js +27 -0
  142. package/dist/functions/utils/walk.js.map +1 -0
  143. package/dist/functions/vue/dynamicMount.d.ts +5 -5
  144. package/dist/functions/vue/dynamicMount.js +3 -1
  145. package/dist/functions/vue/dynamicMount.js.map +1 -1
  146. package/dist/functions/vue/extractColorsFromVueFile.js +2 -11
  147. package/dist/functions/vue/extractColorsFromVueFile.js.map +1 -1
  148. package/dist/functions/vue/extractColorsFromVueSection.js.map +1 -1
  149. package/dist/functions/vue/filterSections.js.map +1 -1
  150. package/dist/functions/vue/isVNode.js +3 -1
  151. package/dist/functions/vue/isVNode.js.map +1 -1
  152. package/dist/functions/vue/isVueComponent.js.map +1 -1
  153. package/dist/functions/vue/parseVueFile.js.map +1 -1
  154. package/dist/functions/wechat/miniapp/downloadFile.d.ts +2 -2
  155. package/dist/functions/wechat/miniapp/downloadFile.js +8 -8
  156. package/dist/functions/wechat/miniapp/downloadFile.js.map +1 -1
  157. package/dist/functions/xml/modifyXml.d.ts +11 -0
  158. package/dist/functions/xml/modifyXml.js +46 -0
  159. package/dist/functions/xml/modifyXml.js.map +1 -0
  160. package/dist/hooks/useAi.d.ts +3 -3
  161. package/dist/hooks/useAi.js.map +1 -1
  162. package/dist/hooks/useAltool.d.ts +3 -32
  163. package/dist/hooks/useAltool.js.map +1 -1
  164. package/dist/hooks/useFetch.d.ts +2 -2
  165. package/dist/hooks/useFetch.js.map +1 -1
  166. package/dist/hooks/useLocalStorage.d.ts +4 -4
  167. package/dist/hooks/useLocalStorage.js +51 -18
  168. package/dist/hooks/useLocalStorage.js.map +1 -1
  169. package/dist/hooks/useSessionStorage.d.ts +4 -4
  170. package/dist/hooks/useSessionStorage.js +51 -18
  171. package/dist/hooks/useSessionStorage.js.map +1 -1
  172. package/dist/hooks/useStorage.d.ts +10 -3
  173. package/dist/hooks/useStorage.js +33 -35
  174. package/dist/hooks/useStorage.js.map +1 -1
  175. package/dist/hooks/useStorageWithIndexedDB.d.ts +4 -4
  176. package/dist/hooks/useStorageWithIndexedDB.js +39 -29
  177. package/dist/hooks/useStorageWithIndexedDB.js.map +1 -1
  178. package/dist/hooks/useWASM.d.ts +2 -2
  179. package/dist/hooks/useWASM.js +6 -10
  180. package/dist/hooks/useWASM.js.map +1 -1
  181. package/dist/hooks/useWebWorker.d.ts +25 -4
  182. package/dist/hooks/useWebWorker.js.map +1 -1
  183. package/dist/hooks/useWorkerFunction.d.ts +22 -4
  184. package/dist/hooks/useWorkerFunction.js +1 -1
  185. package/dist/hooks/useWorkerFunction.js.map +1 -1
  186. package/dist/hooks/useWorkerPool.d.ts +30 -4
  187. package/dist/hooks/useWorkerPool.js.map +1 -1
  188. package/package.json +17 -22
  189. package/references/arraybuffer.d.ts +109 -0
  190. package/references/blob.d.ts +37 -0
  191. package/references/browser.d.ts +55 -160
  192. package/references/chrome.extension.d.ts +83 -0
  193. package/references/console.d.ts +3 -142
  194. package/references/{crypto.d.ts → crypto-js.d.ts} +1 -1
  195. package/references/dom.d.ts +41 -0
  196. package/references/encoding.d.ts +24 -0
  197. package/references/fetch.d.ts +6 -151
  198. package/references/indexeddb.d.ts +49 -0
  199. package/references/json5.d.ts +0 -7
  200. package/references/location.d.ts +16 -0
  201. package/references/node.d.ts +105 -94
  202. package/references/storage.d.ts +6 -100
  203. package/references/timer.d.ts +4 -5
  204. package/references/uniapp.d.ts +47 -5
  205. package/references/url.d.ts +9 -114
  206. package/references/vue.d.ts +71 -98
  207. package/references/webassembly.d.ts +96 -122
  208. package/references/wechat.d.ts +1 -1
  209. package/references/worker.d.ts +78 -132
  210. package/references/xml.d.ts +71 -39
  211. package/types/altool.d.ts +49 -17
  212. package/types/android-build.d.ts +31 -56
  213. package/types/color.d.ts +0 -90
  214. package/types/geometry.d.ts +1 -38
  215. package/types/platform.d.ts +4 -0
  216. package/types/software.d.ts +0 -12
  217. package/types/storage.d.ts +3 -1
  218. package/types/uniapp-android-build.d.ts +49 -0
  219. package/types/worker.d.ts +3 -189
  220. package/references/browser.extension.d.ts +0 -14
  221. package/types/network.d.ts +0 -184
  222. package/types/util.d.ts +0 -27
  223. package/types/wasm.d.ts +0 -217
package/README.md CHANGED
@@ -59,40 +59,13 @@ playground/ # 功能验证环境(用于测试shared包功能,有
59
59
  #### 2.1 环境分离原则
60
60
 
61
61
  **✅ 正确的环境分离**:
62
-
63
- ```typescript
64
- // browser.d.ts - 纯浏览器环境
65
- export interface BrowserEnvironment {
66
- window: WindowLike
67
- globalThis: any
68
- console: ConsoleInterface
69
- URLSearchParams: URLSearchParamsConstructor
70
- localStorage: Storage
71
- }
72
-
73
- // node.d.ts - 纯Node.js环境
74
- export interface NodeEnvironment {
75
- process: NodeProcess
76
- fs: NodeFileSystem
77
- path: NodePath
78
- childProcess: NodeChildProcess
79
- util: NodeUtil
80
- Buffer: NodeBufferConstructor
81
- console: ConsoleInterface
82
- setImmediate: typeof setImmediate
83
- clearImmediate: typeof clearImmediate
84
- __DEV__?: boolean
85
- }
86
- ```
62
+ - 浏览器环境类型定义应包含 window、console、URLSearchParams、localStorage 等
63
+ - Node.js环境类型定义应包含 process、fs、path、Buffer 等
64
+ - 严格分离不同环境的API,避免混合使用
87
65
 
88
66
  **❌ 错误的环境混合**:
89
- ```typescript
90
- // 禁止在同一接口中混合不同环境的API
91
- interface MixedEnvironment {
92
- window: Window // 浏览器API
93
- process: Process // Node.js API - 错误!
94
- }
95
- ```
67
+ - 禁止在同一接口中混合不同环境的API
68
+ - 不要将浏览器API和Node.js API放在同一个接口中
96
69
 
97
70
  #### 2.2 类型安全性要求
98
71
 
@@ -101,24 +74,9 @@ interface MixedEnvironment {
101
74
  - **泛型支持**: 适当使用泛型提高类型的灵活性和复用性
102
75
 
103
76
  **✅ 类型安全的接口设计**:
104
- ```typescript
105
- // 具体的类型定义
106
- export interface VNode<T> {
107
- type: string | Component | symbol
108
- children: VNodeChildren
109
- props: Record<string, any> | null
110
- key: string | number | symbol | null
111
- ref: VNodeRef<T> | null
112
- }
113
-
114
- // 避免过度使用any
115
- export interface Component {
116
- name?: string
117
- setup?: (props: any, ctx: any) => any
118
- render?: () => VNode
119
- template?: string
120
- }
121
- ```
77
+ - 使用具体的类型定义,避免过度使用 `any`
78
+ - 接口应包含必要的属性和方法,提供完整的类型信息
79
+ - 适当使用泛型提高类型的灵活性和复用性
122
80
 
123
81
  #### 2.3 类型文件组织和导入规范
124
82
 
@@ -127,17 +85,10 @@ export interface Component {
127
85
  - **`types/` 目录**: 存放通用的、需要提供给外部使用的公共类型定义
128
86
 
129
87
  **✅ 统一的导入方式**:
130
- ```typescript
131
- // 环境相关和第三方库类型从 references 目录导入(使用.d后缀)
132
- import type { NodePath, NodeFileSystem } from '../../../references/node.d'
133
- import type { BrowserEnvironment } from '../../../references/browser.d'
134
- import type { Sharp } from '../../../references/sharp.d'
135
- import type { WebAssembly } from '../../../references/webassembly.d'
136
-
137
- // 通用公共类型从 types 目录导入(使用.d后缀)
138
- import type { GeometryPoint, Rectangle } from '../../../types/geometry.d'
139
- import type { DeepPartial, Optional } from '../../../types/util.d'
140
- ```
88
+ - 环境相关和第三方库类型从 references 目录导入(使用.d后缀)
89
+ - 通用公共类型从 types 目录导入(使用.d后缀)
90
+ - 使用相对路径导入,确保路径正确性
91
+ - 项目内所有导入路径保持一致的格式
141
92
 
142
93
  **📝 导入路径规范**:
143
94
  - **使用.d后缀**: 导入类型定义时使用 `.d` 后缀,不要使用 `.d.ts` 或 `.ts`
@@ -146,20 +97,10 @@ import type { DeepPartial, Optional } from '../../../types/util.d'
146
97
  - **显式导入**: 所有类型都通过显式导入使用,避免全局声明污染
147
98
 
148
99
  **❌ 禁止的做法**:
149
- ```typescript
150
- // 禁止将环境相关和第三方库类型放在 types 目录
151
- // types/browser.d.ts // 错误位置
152
-
153
- // 禁止将通用类型放在 references 目录
154
- // references/geometry.d.ts // ❌ 错误位置
155
-
156
- // 禁止使用 declare global 模式
157
- declare global {
158
- namespace WebAssembly {
159
- // ❌ 已废弃的全局声明方式
160
- }
161
- }
162
- ```
100
+ - 禁止将环境相关和第三方库类型放在 types 目录
101
+ - 禁止将通用类型放在 references 目录
102
+ - 禁止使用 declare global 模式进行全局声明
103
+ - 避免全局声明污染,所有类型通过显式导入使用
163
104
 
164
105
  #### 2.4 类型声明和导出规范
165
106
 
@@ -169,97 +110,38 @@ declare global {
169
110
  - **避免全局声明**: 不使用 `declare global` 模式,所有类型通过显式导入使用
170
111
 
171
112
  **✅ 现代化的类型声明方式**:
172
- ```typescript
173
- // node.d.ts - 使用 export namespace
174
- export namespace Node {
175
- interface FileSystem { /* ... */ }
176
- interface Path { /* ... */ }
177
- interface Process { /* ... */ }
178
- interface Buffer { /* ... */ }
179
- }
180
-
181
- // 直接导出类型别名
182
- export type NodeFileSystem = Node.FileSystem
183
- export type NodePath = Node.Path
184
- export type NodeProcess = Node.Process
185
- export type NodeBuffer = Node.Buffer
186
-
187
- // webassembly.d.ts - 直接导出命名空间
188
- export namespace WebAssembly {
189
- interface Module { /* ... */ }
190
- interface Instance { /* ... */ }
191
- interface Memory { /* ... */ }
192
- // ...
193
- }
194
-
195
- // fetch.d.ts - 直接导出接口和函数
196
- export interface Headers { /* ... */ }
197
- export interface Request { /* ... */ }
198
- export interface Response { /* ... */ }
199
- export declare function fetch(input: RequestInfo, init?: RequestInit): Promise<Response>
200
- ```
113
+ - 使用 `export` 声明直接导出类型,避免 `declare` 声明
114
+ - 对于复杂的类型结构,使用 `export namespace` 进行组织
115
+ - 提供清晰的类型别名导出
116
+ - 避免全局声明,所有类型通过显式导入使用
201
117
 
202
118
  ### 3. 环境依赖声明规范
203
119
 
204
120
  **✅ 正确做法 - 使用类型导入**:
205
- ```typescript
206
- // 推荐使用 import type 导入环境类型
207
- import type { NodeFileSystem, NodePath } from '../../../references/node.d'
208
- import type { WindowLike } from '../../../references/browser.d'
209
- import type { WebAssembly } from '../../../references/webassembly.d'
210
-
211
- // 函数通过参数接收环境依赖,保持环境无关性
212
- export async function myFunction(
213
- inputPath: string,
214
- fs: NodeFileSystem,
215
- path: NodePath,
216
- webAssembly: typeof WebAssembly,
217
- window?: WindowLike
218
- ) {
219
- // 所有环境模块都通过参数传入,函数本身环境无关
220
- const module = await webAssembly.compile(wasmBytes)
221
- const instance = await webAssembly.instantiate(module)
222
- }
223
- ```
121
+ - 推荐使用 import type 导入环境类型
122
+ - 函数通过参数接收环境依赖,保持环境无关性
123
+ - 所有环境模块都通过参数传入,函数本身环境无关
124
+ - 确保函数可在任意环境中运行
224
125
 
225
126
  **说明**: `references/` 目录包含环境相关和第三方库的类型定义文件,推荐使用 `import type` 导入这些类型。这些文件使用现代化的 `export` 声明方式,避免了 `declare global` 模式的全局污染。所有类型都通过显式导入使用,确保类型安全和模块化。`types/` 目录包含可导出的公共类型定义。
226
127
 
227
128
  **❌ 错误做法 - 任何形式的直接依赖**:
228
- ```typescript
229
- // ❌ 禁止任何形式的直接导入或声明
230
- import fs from 'fs'
231
- declare const fs: NodeFileSystem
232
- const window = globalThis.window
233
- ```
129
+ - 禁止任何形式的直接导入环境模块
130
+ - 禁止声明环境依赖
131
+ - 禁止直接访问全局对象
234
132
 
235
133
  ### 4. 接口功能完整性规范
236
134
 
237
135
  #### 4.1 避免功能单一的接口
238
136
 
239
137
  **✅ 功能完整的接口设计**:
240
- ```typescript
241
- // 完整的Base64编码接口
242
- export interface Base64Encoder {
243
- btoa(data: string): string
244
- atob(data: string): string // 新增解码功能
245
- }
246
-
247
- // 完整的定时器API
248
- export interface TimerAPI {
249
- setTimeout(callback: () => void, delay: number): number
250
- clearTimeout(id: number): void
251
- setInterval(callback: () => void, delay: number): number
252
- clearInterval(id: number): void
253
- }
254
- ```
138
+ - 接口应提供完整的功能,避免功能过于单一
139
+ - Base64编码接口应同时包含编码和解码功能
140
+ - 定时器接口应包含设置和清除功能
255
141
 
256
142
  **❌ 功能不完整的接口**:
257
- ```typescript
258
- // 功能过于单一
259
- interface IncompleteEncoder {
260
- btoa(data: string): string // 只有编码,缺少解码
261
- }
262
- ```
143
+ - 避免功能过于单一的接口设计
144
+ - 不要只提供部分功能而缺少相关功能
263
145
 
264
146
  #### 4.2 接口导出规范
265
147
 
@@ -267,17 +149,9 @@ interface IncompleteEncoder {
267
149
  - **导出一致性**: 保持导出方式的一致性
268
150
 
269
151
  **✅ 正确的接口导出**:
270
- ```typescript
271
- // sharp.d.ts
272
- export interface SharpInstance {
273
- resize(width: number, height: number): SharpInstance
274
- toBuffer(): Promise<Buffer>
275
- }
276
-
277
- export interface Sharp {
278
- (input: Buffer): SharpInstance
279
- }
280
- ```
152
+ - 所有定义的接口都必须正确导出
153
+ - 保持导出方式的一致性
154
+ - 确保接口可以在其他地方使用
281
155
 
282
156
  ### 5. Sharp 图像处理库规范
283
157
 
@@ -316,44 +190,14 @@ export interface Sharp {
316
190
  - **减少文件数量**: 避免创建大量功能单一的小文件,影响项目的可维护性
317
191
 
318
192
  **✅ 合理的函数抽象**:
319
- ```typescript
320
- // 复杂的业务逻辑,值得单独抽取
321
- export function parseVueFile(content: string): VueFileStructure {
322
- // 包含复杂的解析逻辑,正则匹配,错误处理等
323
- // 50+ 行代码的复杂实现
324
- }
325
-
326
- // 组合多个相关功能的函数
327
- export function checkVueType(content: unknown): VueTypeCheckResult {
328
- // 内联简单的类型检查逻辑
329
- const isComponent = (
330
- typeof content === 'object' &&
331
- content !== null &&
332
- ('render' in content || 'setup' in content || 'template' in content)
333
- )
334
-
335
- const isVNode = (
336
- typeof content === 'object' && content !== null && '__v_isVNode' in content
337
- )
338
-
339
- return { isComponent, isVNode, type: isComponent ? 'component' : isVNode ? 'vnode' : 'unknown' }
340
- }
341
- ```
193
+ - 复杂的业务逻辑值得单独抽取
194
+ - 组合多个相关功能的函数,内联简单的逻辑
195
+ - 每个函数都应该有足够的复杂度和独立的使用价值
342
196
 
343
197
  **❌ 过度抽象的反例**:
344
- ```typescript
345
- // 过于简单,不值得单独抽取
346
- export function isVNode(content: unknown): boolean {
347
- return typeof content === 'object' && content !== null && '__v_isVNode' in content
348
- }
349
-
350
- // 只有简单的数组操作,应该内联
351
- export function saveVueSection(sections: VueSection[], section: VueSection): void {
352
- if (section.type && section.content.length > 0) {
353
- sections.push(section)
354
- }
355
- }
356
- ```
198
+ - 过于简单的函数不值得单独抽取
199
+ - 只有简单操作的函数应该内联到使用它们的地方
200
+ - 避免创建大量功能单一的小文件
357
201
 
358
202
  #### 5.5 函数独立价值原则
359
203
  - **独立使用价值**: 每个函数都应该能够独立使用,解决特定的业务问题
@@ -396,11 +240,9 @@ export function saveVueSection(sections: VueSection[], section: VueSection): voi
396
240
 
397
241
  #### 1. 导出方式
398
242
  **强制要求使用具名导出**:
399
- ```typescript
400
- export function functionName(params: Type): ReturnType {
401
- // 函数实现
402
- }
403
- ```
243
+ - 使用 export 关键字导出函数
244
+ - 函数名应与文件名保持一致
245
+ - 提供明确的参数和返回值类型
404
246
 
405
247
  **说明**: 为保持项目一致性和支持单独打包,所有函数必须使用具名导出。禁止使用默认导出。
406
248
 
@@ -411,17 +253,9 @@ export function functionName(params: Type): ReturnType {
411
253
 
412
254
  #### 3. 文档注释
413
255
  每个函数都应该包含 JSDoc 注释:
414
- ```typescript
415
- /**
416
- * 函数描述
417
- * @param param1 参数1描述
418
- * @param param2 参数2描述
419
- * @returns 返回值描述
420
- */
421
- export function functionName(param1: Type1, param2: Type2): ReturnType {
422
- // 实现
423
- }
424
- ```
256
+ - 每个函数都应该包含完整的 JSDoc 注释
257
+ - 包含函数描述、参数说明和返回值描述
258
+ - 使用标准的 JSDoc 格式
425
259
 
426
260
  ### Functions 注意事项
427
261
 
@@ -435,84 +269,38 @@ export function functionName(param1: Type1, param2: Type2): ReturnType {
435
269
  ### Functions 示例
436
270
 
437
271
  #### 正确示例
438
- ```typescript
439
- // functions/module/functionName.ts
440
- /**
441
- * 函数功能描述
442
- * @param param 参数描述
443
- * @returns 返回值描述
444
- */
445
- export function functionName(param: InputType): OutputType {
446
- // 纯函数实现,无副作用
447
- return processedResult
448
- }
449
- ```
272
+ - 文件名与函数名保持一致
273
+ - 包含完整的 JSDoc 注释
274
+ - 实现纯函数,无副作用
275
+ - 提供明确的类型定义
450
276
 
451
277
  #### 错误示例
452
- ```typescript
453
- // ❌ 包含副作用
454
- export function functionWithSideEffect(data: string): void {
455
- // 副作用:文件操作、网络请求等
456
- }
457
-
458
- // 依赖外部状态
459
- let globalState = 0
460
- export function dependsOnGlobalState(): number {
461
- return ++globalState // 依赖外部可变状态
462
- }
463
-
464
- // ❌ 一个文件包含多个函数
465
- export function firstFunction(): void {}
466
- export function secondFunction(): void {}
467
-
468
- // ❌ 使用默认导出
469
- const functionName = (params: Type): ReturnType => {
470
- // 函数实现
471
- }
472
- export default functionName // 禁止使用默认导出
473
-
474
- // ❌ 创建 index.ts 入口文件
475
- // functions/module/index.ts
476
- export { functionA } from './functionA'
477
- export { functionB } from './functionB'
478
- // 这种做法会影响单独打包,严禁使用
479
-
480
- // ❌ 在子模块中创建 README 文件
481
- // functions/module/README.md
482
- // 子模块不需要单独的 README 文件,会造成文档冗余
483
- ```
278
+ **❌ 错误示例**:
279
+ - 包含副作用的函数(文件操作、网络请求等)
280
+ - 依赖外部可变状态的函数
281
+ - 一个文件包含多个函数
282
+ - 使用默认导出
283
+ - 创建 index.ts 入口文件
284
+ - 在子模块中创建 README 文件
484
285
 
485
286
  ### 6. 错误处理规范
486
287
 
487
288
  #### 6.1 错误信息格式
488
289
 
489
- - **中文错误信息**: 面向用户的错误信息使用中文,提供清晰的错误描述
290
+ - **英文错误信息**: 面向用户的错误信息使用英文,提供清晰的错误描述
490
291
  - **状态码包含**: 网络请求相关错误应包含具体的状态码信息
491
292
  - **上下文信息**: 错误信息应包含足够的上下文,帮助定位问题
492
293
 
493
294
  **✅ 正确的错误处理**:
494
- ```typescript
495
- // 网络请求错误
496
- reject(new Error(`下载失败,状态码: ${res.statusCode}`));
497
-
498
- // 参数验证错误
499
- throw new Error('文件路径不能为空');
500
-
501
- // 业务逻辑错误
502
- reject(new Error(`应用验证失败: ${validationMessage}`));
503
- ```
295
+ - 网络请求错误应包含具体的状态码信息
296
+ - 参数验证错误应提供清晰的错误描述
297
+ - 业务逻辑错误应包含足够的上下文信息
298
+ - 使用英文错误信息,保持国际化标准
504
299
 
505
300
  **❌ 错误的错误处理**:
506
- ```typescript
507
- // 错误信息过于简单
508
- reject(new Error('failed'));
509
-
510
- // 缺少上下文信息
511
- throw new Error('error');
512
-
513
- // 使用英文错误信息(面向用户时)
514
- reject(new Error('Download failed'));
515
- ```
301
+ - 错误信息过于简单,缺少上下文
302
+ - 使用中文错误信息(应使用英文)
303
+ - 不包含具体的错误原因
516
304
 
517
305
  #### 6.2 错误处理一致性
518
306
 
@@ -530,27 +318,11 @@ reject(new Error('Download failed'));
530
318
 
531
319
  #### 7.1 JSDoc 格式要求
532
320
 
533
- ```typescript
534
- // 正确的类型导入方式
535
- import type { EnvironmentType1, EnvironmentType2 } from '../../../references/environment.d'
536
- import type { CommonType } from '../../../types/common.d'
537
-
538
- /**
539
- * 函数的简要描述
540
- *
541
- * 详细描述函数的功能、用途和注意事项
542
- *
543
- * @param paramName - 参数描述,说明参数的用途和要求
544
- * @param envDependency - 环境依赖参数,通过参数注入
545
- * @returns 返回值描述,说明返回内容的含义
546
- */
547
- export async function myFunction(
548
- paramName: string,
549
- envDependency: EnvironmentType1
550
- ): Promise<CommonType> {
551
- // 函数实现
552
- }
553
- ```
321
+ - 正确导入环境类型和通用类型
322
+ - 包含函数的简要描述和详细说明
323
+ - 说明参数的用途和要求
324
+ - 描述返回值的含义
325
+ - 环境依赖通过参数注入
554
326
 
555
327
  ## 文件引用规范
556
328
 
@@ -561,52 +333,27 @@ export async function myFunction(
561
333
  - 环境相关和第三方库类型(从 `references/` 目录导入)
562
334
  - 通用公共类型(从 `types/` 目录导入)
563
335
 
564
- ```typescript
565
- // 允许导入本包内的类型和函数
566
- import type { SoftwareConfig, Platform } from './types'
567
- import { helperFunction } from '../utils/helper'
568
-
569
- // 环境相关和第三方库类型从 references 目录导入
570
- import type { NodeFileSystem, NodePath } from '../../../references/node.d'
571
- import type { Sharp } from '../../../references/sharp.d'
572
- import type { WebAssembly } from '../../../references/webassembly.d'
573
-
574
- // 通用公共类型从 types 目录导入
575
- import type { GeometryPoint, Rectangle } from '../../../types/geometry.d'
576
- ```
336
+ - 允许导入本包内的类型和函数(使用相对路径)
337
+ - 环境相关和第三方库类型从 references 目录导入
338
+ - 通用公共类型从 types 目录导入
339
+ - 使用 import type 导入类型定义
577
340
 
578
341
  **❌ 禁止的导入和声明**:
579
342
  - 任何环境模块的直接导入或声明
580
343
  - 第三方npm包的导入
581
344
  - 全局变量的直接访问
582
345
 
583
- ```typescript
584
- // ❌ 禁止任何形式的环境依赖
585
- import fs from 'fs' // 禁止导入
586
- import path from 'path' // 禁止导入
587
- import sharp from 'sharp' // 禁止导入
588
- import lodash from 'lodash' // 禁止导入
589
- declare const fs: NodeFileSystem // 禁止声明
590
- const win = globalThis.window // 禁止全局访问
591
- process.env.NODE_ENV // 禁止直接使用
592
- ```
346
+ - 禁止导入任何环境模块
347
+ - 禁止导入第三方npm包
348
+ - 禁止声明环境依赖
349
+ - 禁止直接访问全局变量
350
+ - 禁止直接使用环境变量
593
351
 
594
352
  **✅ 唯一允许的环境依赖方式**:
595
- ```typescript
596
- import type { NodeBuffer, NodeFileSystem } from '../../../references/node.d'
597
- import type { Sharp } from '../../../references/sharp.d'
598
- import type { WebAssembly } from '../../../references/webassembly.d'
599
-
600
- // 仅通过TypeScript引用声明类型,所有实例通过参数传入
601
- export function processFile(
602
- content: string,
603
- fs: NodeFileSystem,
604
- sharp: Sharp,
605
- webAssembly: typeof WebAssembly
606
- ): Promise<NodeBuffer> {
607
- // 函数实现保持环境无关
608
- }
609
- ```
353
+ - 仅通过TypeScript引用声明类型
354
+ - 所有环境实例通过参数传入
355
+ - 函数实现保持环境无关
356
+ - 确保函数可在任意环境中运行
610
357
 
611
358
  ### 8.1 相对路径
612
359
 
@@ -632,7 +379,7 @@ export function processFile(
632
379
  - [ ] 函数可在任意环境中运行
633
380
 
634
381
  ### 错误处理检查
635
- - [ ] 错误信息使用中文,提供清晰的错误描述
382
+ - [ ] 错误信息使用英文,提供清晰的错误描述
636
383
  - [ ] 网络请求错误包含具体的状态码信息
637
384
  - [ ] 错误信息包含足够的上下文信息
638
385
  - [ ] 异步函数使用 `reject(new Error(...))` 抛出错误
@@ -666,7 +413,7 @@ export function processFile(
666
413
  9. **接口导出**: 确保所有可复用的接口正确导出,保持导出方式的一致性
667
414
  10. **显式导入**: 所有类型都通过显式导入使用,确保类型安全和模块化
668
415
  11. **模块化**: 按功能组织代码和类型定义,保持清晰的项目结构
669
- 12. **错误处理**: 使用中文错误信息,包含足够的上下文和状态码,统一使用 Error 类型
416
+ 12. **错误处理**: 使用英文错误信息,包含足够的上下文和状态码,统一使用 Error 类型
670
417
  13. **JSDoc 文档**: 每个导出函数必须有完整的 JSDoc 注释,包含描述、参数、返回值和使用示例
671
418
  14. **代码质量**: 遵循 TypeScript 严格模式,使用 ESLint 和 Prettier 保持代码风格一致
672
419
  15. **文档化**: 重要的设计决策和规范要有文档记录,提供代码质量检查清单
@@ -745,32 +492,15 @@ export function processFile(
745
492
  #### 11.2 常见开发场景
746
493
 
747
494
  **添加新的常量**:
748
- ```typescript
749
- // src/constants/moduleConstants.ts
750
- export const MODULE_CONFIG = {
751
- DEFAULT_TIMEOUT: 5000,
752
- MAX_RETRIES: 3
753
- } as const
754
- ```
495
+ - 在 constants 目录下创建模块常量文件
496
+ - 使用 as const 断言确保常量不可变性
497
+ - 使用具名导出
755
498
 
756
499
  **创建环境无关函数**:
757
- ```typescript
758
- // src/functions/module/processData.ts
759
- import type { NodeFileSystem } from '../../../references/node.d'
760
-
761
- /**
762
- * 处理数据文件
763
- * @param filePath - 文件路径
764
- * @param fs - 文件系统依赖
765
- * @returns 处理结果
766
- */
767
- export function processData(
768
- filePath: string,
769
- fs: NodeFileSystem
770
- ): Promise<string> {
771
- // 实现逻辑
772
- }
773
- ```
500
+ - 在 functions 目录下创建环境无关函数
501
+ - 通过参数注入环境依赖
502
+ - 包含完整的 JSDoc 注释
503
+ - 提供明确的类型定义
774
504
 
775
505
  #### 11.3 代码质量检查
776
506
 
@@ -1,2 +1,8 @@
1
- import type { ColorPatterns } from '../../types/color.d';
2
- export declare const COLOR_PATTERNS: ColorPatterns;
1
+ export declare const COLOR_PATTERNS: {
2
+ hex: RegExp;
3
+ rgb: RegExp;
4
+ rgba: RegExp;
5
+ hsl: RegExp;
6
+ hsla: RegExp;
7
+ namedColors: RegExp;
8
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"colorPatterns.js","sourceRoot":"","sources":["../../src/constants/colorPatterns.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,MAAM,cAAc,GAAkB;IAE3C,GAAG,EAAE,kEAAkE;IAGvE,GAAG,EAAE,8CAA8C;IAGnD,IAAI,EAAE,8DAA8D;IAGpE,GAAG,EAAE,gDAAgD;IAGrD,IAAI,EAAE,gEAAgE;IAGtE,WAAW,EAAE,wFAAwF;CACtG,CAAA"}
1
+ {"version":3,"file":"colorPatterns.js","sourceRoot":"","sources":["../../src/constants/colorPatterns.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,cAAc,GAAG;IAE5B,GAAG,EAAE,kEAAkE;IAGvE,GAAG,EAAE,8CAA8C;IAGnD,IAAI,EAAE,8DAA8D;IAGpE,GAAG,EAAE,gDAAgD;IAGrD,IAAI,EAAE,gEAAgE;IAGtE,WAAW,EAAE,wFAAwF;CACtG,CAAA"}
@@ -1,2 +1,16 @@
1
- import type { NamedColorMap } from '../../types/color.d';
2
- export declare const NAMED_COLOR_MAP: NamedColorMap;
1
+ export declare const NAMED_COLOR_MAP: {
2
+ red: string;
3
+ green: string;
4
+ blue: string;
5
+ yellow: string;
6
+ orange: string;
7
+ purple: string;
8
+ pink: string;
9
+ brown: string;
10
+ black: string;
11
+ white: string;
12
+ gray: string;
13
+ grey: string;
14
+ cyan: string;
15
+ magenta: string;
16
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"namedColors.js","sourceRoot":"","sources":["../../src/constants/namedColors.ts"],"names":[],"mappings":"AA6BA,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACrB,CAAA"}
1
+ {"version":3,"file":"namedColors.js","sourceRoot":"","sources":["../../src/constants/namedColors.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;CACrB,CAAA"}
@@ -12,4 +12,3 @@ export interface SoftwareConfigDefinition {
12
12
  }
13
13
  export declare const SOFTWARE_CONFIGS: Record<string, SoftwareConfigDefinition>;
14
14
  export declare const SOFTWARE_NAME_MAP: Record<string, string>;
15
- export declare const SUPPORTED_PLATFORMS: readonly ["darwin", "win32", "linux"];
@@ -153,5 +153,4 @@ export const SOFTWARE_NAME_MAP = {
153
153
  nodejs: 'nodejs',
154
154
  node: 'nodejs',
155
155
  };
156
- export const SUPPORTED_PLATFORMS = ['darwin', 'win32', 'linux'];
157
156
  //# sourceMappingURL=softwareConfigs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"softwareConfigs.js","sourceRoot":"","sources":["../../src/constants/softwareConfigs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softwareConfigs.js","sourceRoot":"","sources":["../../src/constants/softwareConfigs.ts"],"names":[],"mappings":"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"}