@rsdoctor/core 2.0.0-alpha.0 → 2.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/dist/26.js +26163 -0
  2. package/dist/630.js +1269 -0
  3. package/dist/630.js.LICENSE.txt +7 -0
  4. package/dist/build-utils/build/chunks/assetsModules.d.ts +8 -2
  5. package/dist/build-utils/build/chunks/index.d.ts +0 -1
  6. package/dist/build-utils/build/chunks/rspack/transform.d.ts +1 -1
  7. package/dist/build-utils/build/envinfo.d.ts +13 -0
  8. package/dist/build-utils/build/file/cache.d.ts +5 -0
  9. package/dist/build-utils/build/file/index.d.ts +3 -0
  10. package/dist/build-utils/build/file/sharding.d.ts +21 -0
  11. package/dist/build-utils/build/index.d.ts +5 -0
  12. package/dist/build-utils/build/json.d.ts +3 -0
  13. package/dist/build-utils/build/loader/probeLoader.d.ts +8 -3
  14. package/dist/build-utils/build/loader/probeLoaderPlugin.d.ts +1 -1
  15. package/dist/build-utils/build/module-graph/index.d.ts +0 -1
  16. package/dist/build-utils/build/module-graph/parser.d.ts +1 -1
  17. package/dist/build-utils/build/module-graph/rspack/transform.d.ts +1 -1
  18. package/dist/build-utils/build/module-graph/utils.d.ts +1 -1
  19. package/dist/build-utils/build/process.d.ts +2 -0
  20. package/dist/build-utils/build/server.d.ts +15 -0
  21. package/dist/build-utils/build/utils/loader.d.ts +2 -2
  22. package/dist/build-utils/build/utils/parseBundle.d.ts +1 -1
  23. package/dist/build-utils/build/utils/plugin.d.ts +1 -1
  24. package/dist/build-utils/index.d.ts +10 -0
  25. package/dist/common/file.d.ts +2 -0
  26. package/dist/common/global-config.d.ts +21 -0
  27. package/dist/error/error.d.ts +35 -0
  28. package/dist/error/index.d.ts +2 -0
  29. package/dist/error/transform.d.ts +3 -0
  30. package/dist/error/utils.d.ts +4 -0
  31. package/dist/index.d.ts +5 -3
  32. package/dist/index.js +1725 -5
  33. package/dist/inner-plugins/constants.d.ts +1 -1
  34. package/dist/inner-plugins/loaders/proxy.d.ts +4 -4
  35. package/dist/inner-plugins/plugins/base.d.ts +3 -3
  36. package/dist/inner-plugins/plugins/bundle.d.ts +1 -1
  37. package/dist/inner-plugins/plugins/ensureModulesChunkGraph.d.ts +3 -3
  38. package/dist/inner-plugins/plugins/errors.d.ts +2 -2
  39. package/dist/inner-plugins/plugins/loader.d.ts +1 -1
  40. package/dist/inner-plugins/plugins/plugins.d.ts +1 -1
  41. package/dist/inner-plugins/plugins/progress.d.ts +2 -2
  42. package/dist/inner-plugins/plugins/resolver.d.ts +1 -1
  43. package/dist/inner-plugins/plugins/rspack.d.ts +8 -3
  44. package/dist/inner-plugins/plugins/rules.d.ts +1 -1
  45. package/dist/inner-plugins/plugins/sourcemapTool.d.ts +2 -2
  46. package/dist/inner-plugins/plugins/summary.d.ts +1 -1
  47. package/dist/inner-plugins/utils/config.d.ts +2 -3
  48. package/dist/inner-plugins/utils/loader.d.ts +4 -7
  49. package/dist/inner-plugins/utils/normalize-config.d.ts +1 -1
  50. package/dist/inner-plugins/utils/openBrowser.d.ts +1 -0
  51. package/dist/inner-plugins/utils/plugin.d.ts +1 -1
  52. package/dist/inner-plugins/utils/sdk.d.ts +2 -3
  53. package/dist/logger.d.ts +9 -0
  54. package/dist/probe-loader.js +2 -0
  55. package/dist/proxy-loader.d.ts +1 -0
  56. package/dist/proxy-loader.js +48 -0
  57. package/dist/rslib-runtime.js +18 -9
  58. package/dist/{inner-plugins/constants.d.cts → rspack-plugin/constants.d.ts} +4 -1
  59. package/dist/rspack-plugin/index.d.ts +2 -0
  60. package/dist/rspack-plugin/multiple.d.ts +8 -0
  61. package/dist/rspack-plugin/plugin.d.ts +25 -0
  62. package/dist/rule-utils/document/document.d.ts +16 -0
  63. package/dist/rule-utils/document/index.d.ts +3 -0
  64. package/dist/rule-utils/document/server.d.ts +4 -0
  65. package/dist/rule-utils/document/types.d.ts +31 -0
  66. package/dist/rule-utils/index.d.ts +2 -0
  67. package/dist/rule-utils/parser/asserts.d.ts +81 -0
  68. package/dist/rule-utils/parser/index.d.ts +4 -0
  69. package/dist/rule-utils/parser/parser.d.ts +118 -0
  70. package/dist/rule-utils/parser/types.d.ts +30 -0
  71. package/dist/rule-utils/parser/utils.d.ts +30 -0
  72. package/dist/rules/linter.d.ts +1 -1
  73. package/dist/rules/rule.d.ts +2 -2
  74. package/dist/rules/rules/cjs-require/index.d.ts +1 -1
  75. package/dist/rules/rules/cross-chunks-package/index.d.ts +1 -1
  76. package/dist/rules/rules/default-import-check/index.d.ts +1 -1
  77. package/dist/rules/rules/default-import-check/utils.d.ts +2 -2
  78. package/dist/rules/rules/duplicate-package/index.d.ts +3 -3
  79. package/dist/rules/rules/duplicate-package/utils.d.ts +1 -1
  80. package/dist/rules/rules/ecma-version-check/htmlParserStub.d.ts +3 -0
  81. package/dist/rules/rules/ecma-version-check/index.d.ts +3 -2
  82. package/dist/rules/rules/ecma-version-check/types.d.ts +13 -3
  83. package/dist/rules/rules/ecma-version-check/utils.d.ts +1 -1
  84. package/dist/rules/rules/esm-resolved-to-cjs/index.d.ts +1 -1
  85. package/dist/rules/rules/index.d.ts +1 -1
  86. package/dist/rules/rules/loader-performance-optimization/index.d.ts +1 -1
  87. package/dist/rules/rules/loader-performance-optimization/types.d.ts +1 -1
  88. package/dist/rules/rules/module-mixed-chunks/index.d.ts +1 -1
  89. package/dist/rules/rules/side-effects-only-imports/index.d.ts +1 -1
  90. package/dist/rules/utils.d.ts +1 -1
  91. package/dist/sdk/index.d.ts +2 -0
  92. package/dist/sdk/multiple/controller.d.ts +12 -0
  93. package/dist/sdk/multiple/index.d.ts +2 -0
  94. package/dist/sdk/multiple/primary.d.ts +32 -0
  95. package/dist/sdk/multiple/server.d.ts +7 -0
  96. package/dist/sdk/sdk/core.d.ts +33 -0
  97. package/dist/sdk/sdk/index.d.ts +52 -0
  98. package/dist/sdk/sdk/types.d.ts +26 -0
  99. package/dist/sdk/server/apis/alerts.d.ts +5 -0
  100. package/dist/sdk/server/apis/base.d.ts +11 -0
  101. package/dist/sdk/server/apis/bundle-diff.d.ts +6 -0
  102. package/dist/sdk/server/apis/data.d.ts +6 -0
  103. package/dist/sdk/server/apis/fs.d.ts +5 -0
  104. package/dist/sdk/server/apis/graph.d.ts +12 -0
  105. package/dist/sdk/server/apis/index.d.ts +10 -0
  106. package/dist/sdk/server/apis/loader.d.ts +15 -0
  107. package/dist/sdk/server/apis/plugin.d.ts +6 -0
  108. package/dist/sdk/server/apis/project.d.ts +8 -0
  109. package/dist/sdk/server/apis/renderer.d.ts +6 -0
  110. package/dist/sdk/server/apis/resolver.d.ts +6 -0
  111. package/dist/sdk/server/client.d.ts +3 -0
  112. package/dist/sdk/server/fakeServer.d.ts +9 -0
  113. package/dist/sdk/server/index.d.ts +44 -0
  114. package/dist/sdk/server/json-body.d.ts +6 -0
  115. package/dist/sdk/server/router.d.ts +24 -0
  116. package/dist/sdk/server/security.d.ts +5 -0
  117. package/dist/sdk/server/socket/api.d.ts +15 -0
  118. package/dist/sdk/server/socket/index.d.ts +48 -0
  119. package/dist/sdk/server/utils.d.ts +6 -0
  120. package/dist/sdk/utils/base.d.ts +1 -0
  121. package/dist/sdk/utils/constant.d.ts +1 -0
  122. package/dist/sdk/utils/date.d.ts +1 -0
  123. package/dist/sdk/utils/index.d.ts +3 -0
  124. package/dist/sdk/utils/openBrowser.d.ts +4 -0
  125. package/dist/sdk/utils/upload.d.ts +2 -0
  126. package/dist/sdk.d.ts +1 -0
  127. package/dist/types/index.d.ts +0 -1
  128. package/dist/types/loader.d.ts +1 -1
  129. package/dist/types/plugin.d.ts +7 -28
  130. package/package.json +56 -80
  131. package/static/openChrome.applescript +95 -0
  132. package/dist/build-utils/build/chunks/assetsModules.cjs +0 -42
  133. package/dist/build-utils/build/chunks/assetsModules.d.cts +0 -17
  134. package/dist/build-utils/build/chunks/assetsModules.js +0 -9
  135. package/dist/build-utils/build/chunks/chunkTransform.cjs +0 -39
  136. package/dist/build-utils/build/chunks/chunkTransform.d.cts +0 -4
  137. package/dist/build-utils/build/chunks/chunkTransform.d.ts +0 -4
  138. package/dist/build-utils/build/chunks/chunkTransform.js +0 -6
  139. package/dist/build-utils/build/chunks/index.cjs +0 -72
  140. package/dist/build-utils/build/chunks/index.d.cts +0 -3
  141. package/dist/build-utils/build/chunks/index.js +0 -4
  142. package/dist/build-utils/build/chunks/rspack/transform.cjs +0 -80
  143. package/dist/build-utils/build/chunks/rspack/transform.d.cts +0 -13
  144. package/dist/build-utils/build/chunks/rspack/transform.js +0 -44
  145. package/dist/build-utils/build/index.cjs +0 -52
  146. package/dist/build-utils/build/index.d.cts +0 -5
  147. package/dist/build-utils/build/index.js +0 -7
  148. package/dist/build-utils/build/loader/index.cjs +0 -65
  149. package/dist/build-utils/build/loader/index.d.cts +0 -2
  150. package/dist/build-utils/build/loader/index.js +0 -3
  151. package/dist/build-utils/build/loader/probeLoader.cjs +0 -89
  152. package/dist/build-utils/build/loader/probeLoader.d.cts +0 -4
  153. package/dist/build-utils/build/loader/probeLoader.js +0 -44
  154. package/dist/build-utils/build/loader/probeLoaderPlugin.cjs +0 -65
  155. package/dist/build-utils/build/loader/probeLoaderPlugin.d.cts +0 -5
  156. package/dist/build-utils/build/loader/probeLoaderPlugin.js +0 -32
  157. package/dist/build-utils/build/module-graph/index.cjs +0 -65
  158. package/dist/build-utils/build/module-graph/index.d.cts +0 -2
  159. package/dist/build-utils/build/module-graph/index.js +0 -3
  160. package/dist/build-utils/build/module-graph/parser.cjs +0 -46
  161. package/dist/build-utils/build/module-graph/parser.d.cts +0 -2
  162. package/dist/build-utils/build/module-graph/parser.js +0 -13
  163. package/dist/build-utils/build/module-graph/rspack/transform.cjs +0 -151
  164. package/dist/build-utils/build/module-graph/rspack/transform.d.cts +0 -26
  165. package/dist/build-utils/build/module-graph/rspack/transform.js +0 -109
  166. package/dist/build-utils/build/module-graph/transform.cjs +0 -39
  167. package/dist/build-utils/build/module-graph/transform.d.cts +0 -3
  168. package/dist/build-utils/build/module-graph/transform.d.ts +0 -3
  169. package/dist/build-utils/build/module-graph/transform.js +0 -6
  170. package/dist/build-utils/build/module-graph/utils.cjs +0 -95
  171. package/dist/build-utils/build/module-graph/utils.d.cts +0 -3
  172. package/dist/build-utils/build/module-graph/utils.js +0 -59
  173. package/dist/build-utils/build/utils/index.cjs +0 -72
  174. package/dist/build-utils/build/utils/index.d.cts +0 -3
  175. package/dist/build-utils/build/utils/index.js +0 -4
  176. package/dist/build-utils/build/utils/loader.cjs +0 -354
  177. package/dist/build-utils/build/utils/loader.d.cts +0 -20
  178. package/dist/build-utils/build/utils/loader.js +0 -276
  179. package/dist/build-utils/build/utils/parseBundle.cjs +0 -283
  180. package/dist/build-utils/build/utils/parseBundle.d.cts +0 -12
  181. package/dist/build-utils/build/utils/parseBundle.js +0 -240
  182. package/dist/build-utils/build/utils/plugin.cjs +0 -60
  183. package/dist/build-utils/build/utils/plugin.d.cts +0 -5
  184. package/dist/build-utils/build/utils/plugin.js +0 -21
  185. package/dist/build-utils/index.cjs +0 -36
  186. package/dist/build-utils/index.d.cts +0 -1
  187. package/dist/build-utils/index.js +0 -3
  188. package/dist/index.cjs +0 -81
  189. package/dist/index.d.cts +0 -3
  190. package/dist/inner-plugins/constants.cjs +0 -64
  191. package/dist/inner-plugins/constants.js +0 -19
  192. package/dist/inner-plugins/index.cjs +0 -65
  193. package/dist/inner-plugins/index.d.cts +0 -2
  194. package/dist/inner-plugins/index.js +0 -3
  195. package/dist/inner-plugins/loaders/proxy.cjs +0 -104
  196. package/dist/inner-plugins/loaders/proxy.d.cts +0 -7
  197. package/dist/inner-plugins/loaders/proxy.js +0 -65
  198. package/dist/inner-plugins/plugins/base.cjs +0 -53
  199. package/dist/inner-plugins/plugins/base.d.cts +0 -12
  200. package/dist/inner-plugins/plugins/base.js +0 -20
  201. package/dist/inner-plugins/plugins/bundle.cjs +0 -96
  202. package/dist/inner-plugins/plugins/bundle.d.cts +0 -15
  203. package/dist/inner-plugins/plugins/bundle.js +0 -63
  204. package/dist/inner-plugins/plugins/ensureModulesChunkGraph.cjs +0 -141
  205. package/dist/inner-plugins/plugins/ensureModulesChunkGraph.d.cts +0 -34
  206. package/dist/inner-plugins/plugins/ensureModulesChunkGraph.js +0 -102
  207. package/dist/inner-plugins/plugins/errors.cjs +0 -98
  208. package/dist/inner-plugins/plugins/errors.d.cts +0 -11
  209. package/dist/inner-plugins/plugins/errors.js +0 -65
  210. package/dist/inner-plugins/plugins/index.cjs +0 -121
  211. package/dist/inner-plugins/plugins/index.d.cts +0 -10
  212. package/dist/inner-plugins/plugins/index.js +0 -11
  213. package/dist/inner-plugins/plugins/loader.cjs +0 -165
  214. package/dist/inner-plugins/plugins/loader.d.cts +0 -10
  215. package/dist/inner-plugins/plugins/loader.js +0 -120
  216. package/dist/inner-plugins/plugins/plugins.cjs +0 -73
  217. package/dist/inner-plugins/plugins/plugins.d.cts +0 -8
  218. package/dist/inner-plugins/plugins/plugins.js +0 -40
  219. package/dist/inner-plugins/plugins/progress.cjs +0 -68
  220. package/dist/inner-plugins/plugins/progress.d.cts +0 -8
  221. package/dist/inner-plugins/plugins/progress.js +0 -35
  222. package/dist/inner-plugins/plugins/resolver.cjs +0 -90
  223. package/dist/inner-plugins/plugins/resolver.d.cts +0 -12
  224. package/dist/inner-plugins/plugins/resolver.js +0 -57
  225. package/dist/inner-plugins/plugins/rspack.cjs +0 -118
  226. package/dist/inner-plugins/plugins/rspack.d.cts +0 -4
  227. package/dist/inner-plugins/plugins/rspack.js +0 -85
  228. package/dist/inner-plugins/plugins/rules.cjs +0 -97
  229. package/dist/inner-plugins/plugins/rules.d.cts +0 -8
  230. package/dist/inner-plugins/plugins/rules.js +0 -64
  231. package/dist/inner-plugins/plugins/sourcemapTool.cjs +0 -275
  232. package/dist/inner-plugins/plugins/sourcemapTool.d.cts +0 -52
  233. package/dist/inner-plugins/plugins/sourcemapTool.js +0 -230
  234. package/dist/inner-plugins/plugins/summary.cjs +0 -125
  235. package/dist/inner-plugins/plugins/summary.d.cts +0 -14
  236. package/dist/inner-plugins/plugins/summary.js +0 -92
  237. package/dist/inner-plugins/utils/circleDetect.cjs +0 -49
  238. package/dist/inner-plugins/utils/circleDetect.d.cts +0 -4
  239. package/dist/inner-plugins/utils/circleDetect.js +0 -16
  240. package/dist/inner-plugins/utils/config.cjs +0 -191
  241. package/dist/inner-plugins/utils/config.d.cts +0 -5
  242. package/dist/inner-plugins/utils/config.js +0 -142
  243. package/dist/inner-plugins/utils/index.cjs +0 -106
  244. package/dist/inner-plugins/utils/index.d.cts +0 -9
  245. package/dist/inner-plugins/utils/index.js +0 -8
  246. package/dist/inner-plugins/utils/loader.cjs +0 -218
  247. package/dist/inner-plugins/utils/loader.d.cts +0 -13
  248. package/dist/inner-plugins/utils/loader.js +0 -160
  249. package/dist/inner-plugins/utils/normalize-config.cjs +0 -122
  250. package/dist/inner-plugins/utils/normalize-config.d.cts +0 -37
  251. package/dist/inner-plugins/utils/normalize-config.js +0 -77
  252. package/dist/inner-plugins/utils/plugin-common.cjs +0 -143
  253. package/dist/inner-plugins/utils/plugin-common.d.cts +0 -11
  254. package/dist/inner-plugins/utils/plugin-common.js +0 -94
  255. package/dist/inner-plugins/utils/plugin.cjs +0 -106
  256. package/dist/inner-plugins/utils/plugin.d.cts +0 -4
  257. package/dist/inner-plugins/utils/plugin.js +0 -70
  258. package/dist/inner-plugins/utils/sdk.cjs +0 -55
  259. package/dist/inner-plugins/utils/sdk.d.cts +0 -8
  260. package/dist/inner-plugins/utils/sdk.js +0 -19
  261. package/dist/rules/index.cjs +0 -81
  262. package/dist/rules/index.d.cts +0 -3
  263. package/dist/rules/index.js +0 -4
  264. package/dist/rules/linter.cjs +0 -72
  265. package/dist/rules/linter.d.cts +0 -9
  266. package/dist/rules/linter.js +0 -36
  267. package/dist/rules/rule.cjs +0 -137
  268. package/dist/rules/rule.d.cts +0 -27
  269. package/dist/rules/rule.js +0 -101
  270. package/dist/rules/rules/cjs-require/index.cjs +0 -83
  271. package/dist/rules/rules/cjs-require/index.d.cts +0 -4
  272. package/dist/rules/rules/cjs-require/index.js +0 -50
  273. package/dist/rules/rules/cjs-require/types.cjs +0 -18
  274. package/dist/rules/rules/cjs-require/types.d.cts +0 -7
  275. package/dist/rules/rules/cjs-require/types.js +0 -1
  276. package/dist/rules/rules/cross-chunks-package/index.cjs +0 -74
  277. package/dist/rules/rules/cross-chunks-package/index.d.cts +0 -4
  278. package/dist/rules/rules/cross-chunks-package/index.js +0 -41
  279. package/dist/rules/rules/cross-chunks-package/types.cjs +0 -18
  280. package/dist/rules/rules/cross-chunks-package/types.d.cts +0 -3
  281. package/dist/rules/rules/cross-chunks-package/types.js +0 -1
  282. package/dist/rules/rules/cross-chunks-package/utils.cjs +0 -40
  283. package/dist/rules/rules/cross-chunks-package/utils.d.cts +0 -1
  284. package/dist/rules/rules/cross-chunks-package/utils.js +0 -7
  285. package/dist/rules/rules/default-import-check/index.cjs +0 -116
  286. package/dist/rules/rules/default-import-check/index.d.cts +0 -4
  287. package/dist/rules/rules/default-import-check/index.js +0 -83
  288. package/dist/rules/rules/default-import-check/types.cjs +0 -18
  289. package/dist/rules/rules/default-import-check/types.d.cts +0 -4
  290. package/dist/rules/rules/default-import-check/types.js +0 -1
  291. package/dist/rules/rules/default-import-check/utils.cjs +0 -97
  292. package/dist/rules/rules/default-import-check/utils.d.cts +0 -10
  293. package/dist/rules/rules/default-import-check/utils.js +0 -52
  294. package/dist/rules/rules/duplicate-package/index.cjs +0 -72
  295. package/dist/rules/rules/duplicate-package/index.d.cts +0 -4
  296. package/dist/rules/rules/duplicate-package/index.js +0 -39
  297. package/dist/rules/rules/duplicate-package/types.cjs +0 -60
  298. package/dist/rules/rules/duplicate-package/types.d.cts +0 -24
  299. package/dist/rules/rules/duplicate-package/types.js +0 -24
  300. package/dist/rules/rules/duplicate-package/utils.cjs +0 -84
  301. package/dist/rules/rules/duplicate-package/utils.d.cts +0 -3
  302. package/dist/rules/rules/duplicate-package/utils.js +0 -38
  303. package/dist/rules/rules/ecma-version-check/index.cjs +0 -96
  304. package/dist/rules/rules/ecma-version-check/index.d.cts +0 -4
  305. package/dist/rules/rules/ecma-version-check/index.js +0 -53
  306. package/dist/rules/rules/ecma-version-check/types.cjs +0 -18
  307. package/dist/rules/rules/ecma-version-check/types.d.cts +0 -3
  308. package/dist/rules/rules/ecma-version-check/types.js +0 -1
  309. package/dist/rules/rules/ecma-version-check/utils.cjs +0 -39
  310. package/dist/rules/rules/ecma-version-check/utils.d.cts +0 -2
  311. package/dist/rules/rules/ecma-version-check/utils.js +0 -6
  312. package/dist/rules/rules/esm-resolved-to-cjs/index.cjs +0 -237
  313. package/dist/rules/rules/esm-resolved-to-cjs/index.d.cts +0 -4
  314. package/dist/rules/rules/esm-resolved-to-cjs/index.js +0 -193
  315. package/dist/rules/rules/esm-resolved-to-cjs/types.cjs +0 -18
  316. package/dist/rules/rules/esm-resolved-to-cjs/types.d.cts +0 -8
  317. package/dist/rules/rules/esm-resolved-to-cjs/types.js +0 -1
  318. package/dist/rules/rules/index.cjs +0 -55
  319. package/dist/rules/rules/index.d.cts +0 -2
  320. package/dist/rules/rules/index.js +0 -22
  321. package/dist/rules/rules/loader-performance-optimization/index.cjs +0 -119
  322. package/dist/rules/rules/loader-performance-optimization/index.d.cts +0 -4
  323. package/dist/rules/rules/loader-performance-optimization/index.js +0 -86
  324. package/dist/rules/rules/loader-performance-optimization/types.cjs +0 -18
  325. package/dist/rules/rules/loader-performance-optimization/types.d.cts +0 -22
  326. package/dist/rules/rules/loader-performance-optimization/types.js +0 -1
  327. package/dist/rules/rules/loader-performance-optimization/utils.cjs +0 -43
  328. package/dist/rules/rules/loader-performance-optimization/utils.d.cts +0 -1
  329. package/dist/rules/rules/loader-performance-optimization/utils.js +0 -10
  330. package/dist/rules/rules/module-mixed-chunks/index.cjs +0 -85
  331. package/dist/rules/rules/module-mixed-chunks/index.d.cts +0 -4
  332. package/dist/rules/rules/module-mixed-chunks/index.js +0 -52
  333. package/dist/rules/rules/module-mixed-chunks/types.cjs +0 -18
  334. package/dist/rules/rules/module-mixed-chunks/types.d.cts +0 -3
  335. package/dist/rules/rules/module-mixed-chunks/types.js +0 -1
  336. package/dist/rules/rules/side-effects-only-imports/index.cjs +0 -114
  337. package/dist/rules/rules/side-effects-only-imports/index.d.cts +0 -4
  338. package/dist/rules/rules/side-effects-only-imports/index.js +0 -81
  339. package/dist/rules/rules/side-effects-only-imports/types.cjs +0 -18
  340. package/dist/rules/rules/side-effects-only-imports/types.d.cts +0 -9
  341. package/dist/rules/rules/side-effects-only-imports/types.js +0 -1
  342. package/dist/rules/utils.cjs +0 -46
  343. package/dist/rules/utils.d.cts +0 -3
  344. package/dist/rules/utils.js +0 -10
  345. package/dist/types/chunks.cjs +0 -18
  346. package/dist/types/chunks.d.cts +0 -6
  347. package/dist/types/chunks.d.ts +0 -6
  348. package/dist/types/chunks.js +0 -1
  349. package/dist/types/index.cjs +0 -79
  350. package/dist/types/index.d.cts +0 -4
  351. package/dist/types/index.js +0 -5
  352. package/dist/types/loader.cjs +0 -18
  353. package/dist/types/loader.d.cts +0 -19
  354. package/dist/types/loader.js +0 -1
  355. package/dist/types/plugin.cjs +0 -18
  356. package/dist/types/plugin.d.cts +0 -51
  357. package/dist/types/plugin.js +0 -1
  358. package/dist/types/rules.cjs +0 -18
  359. package/dist/types/rules.d.cts +0 -7
  360. package/dist/types/rules.js +0 -1
@@ -1,24 +0,0 @@
1
- export declare enum CheckVersion {
2
- null = 0,
3
- prerelease = 1,
4
- prepatch = 16,
5
- patch = 256,
6
- preminor = 4096,
7
- minor = 65536,
8
- premajor = 1048576,
9
- major = 16777216
10
- }
11
- export declare enum CheckVersionMap {
12
- null = 0,
13
- prerelease = 1,
14
- prepatch = 17,
15
- patch = 273,
16
- preminor = 4369,
17
- minor = 69905,
18
- premajor = 1118481,
19
- major = 17895697
20
- }
21
- export interface Config {
22
- checkVersion: keyof typeof CheckVersion;
23
- ignore: string[];
24
- }
@@ -1,24 +0,0 @@
1
- import "node:module";
2
- var types_CheckVersion = /*#__PURE__*/ function(CheckVersion) {
3
- CheckVersion[CheckVersion["null"] = 0] = "null";
4
- CheckVersion[CheckVersion["prerelease"] = 1] = "prerelease";
5
- CheckVersion[CheckVersion["prepatch"] = 16] = "prepatch";
6
- CheckVersion[CheckVersion["patch"] = 256] = "patch";
7
- CheckVersion[CheckVersion["preminor"] = 4096] = "preminor";
8
- CheckVersion[CheckVersion["minor"] = 65536] = "minor";
9
- CheckVersion[CheckVersion["premajor"] = 1048576] = "premajor";
10
- CheckVersion[CheckVersion["major"] = 16777216] = "major";
11
- return CheckVersion;
12
- }({});
13
- var types_CheckVersionMap = /*#__PURE__*/ function(CheckVersionMap) {
14
- CheckVersionMap[CheckVersionMap["null"] = 0] = "null";
15
- CheckVersionMap[CheckVersionMap["prerelease"] = 1] = "prerelease";
16
- CheckVersionMap[CheckVersionMap["prepatch"] = 17] = "prepatch";
17
- CheckVersionMap[CheckVersionMap["patch"] = 273] = "patch";
18
- CheckVersionMap[CheckVersionMap["preminor"] = 4369] = "preminor";
19
- CheckVersionMap[CheckVersionMap["minor"] = 69905] = "minor";
20
- CheckVersionMap[CheckVersionMap["premajor"] = 1118481] = "premajor";
21
- CheckVersionMap[CheckVersionMap["major"] = 17895697] = "major";
22
- return CheckVersionMap;
23
- }({});
24
- export { types_CheckVersion as CheckVersion, types_CheckVersionMap as CheckVersionMap };
@@ -1,84 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
18
- };
19
- })();
20
- (()=>{
21
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
- })();
23
- (()=>{
24
- __webpack_require__.r = (exports1)=>{
25
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
- value: 'Module'
27
- });
28
- Object.defineProperty(exports1, '__esModule', {
29
- value: true
30
- });
31
- };
32
- })();
33
- var __webpack_exports__ = {};
34
- __webpack_require__.r(__webpack_exports__);
35
- __webpack_require__.d(__webpack_exports__, {
36
- getErrorDetail: ()=>getErrorDetail,
37
- getErrorMsg: ()=>getErrorMsg
38
- });
39
- const external_path_namespaceObject = require("path");
40
- var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
41
- const external_filesize_namespaceObject = require("filesize");
42
- function getErrorMsg(packages, root) {
43
- const pkgName = packages[0].name;
44
- let message = `Multiple packages of ${pkgName} found:\n`;
45
- for (const pkg of packages)message += ` ${pkg.version} ${(0, external_filesize_namespaceObject.filesize)(pkg.getSize().parsedSize)} ${external_path_default().relative(root, pkg.root)}\n`;
46
- return message.slice(0, -1);
47
- }
48
- function getErrorDetail(pkg, pkgGraph) {
49
- function getImported(pkg, ans) {
50
- const dependencies = pkgGraph.getDependenciesFromPackage(pkg);
51
- for (const dep of dependencies)if (dep.refDependency) {
52
- if (!ans.some((dep)=>dep.dependency === pkg)) {
53
- if (!dep.package) return ans.concat(dep);
54
- return getImported(dep.package, ans.concat(dep));
55
- }
56
- }
57
- return ans;
58
- }
59
- const packageImportLinks = getImported(pkg, []);
60
- return {
61
- target: {
62
- name: pkg.name,
63
- version: pkg.version,
64
- root: pkg.root
65
- },
66
- targetSize: {
67
- sourceSize: pkg.getSize().sourceSize,
68
- parsedSize: pkg.getSize().parsedSize
69
- },
70
- dependencies: packageImportLinks.map((item)=>({
71
- dependencyId: item.refDependency.id,
72
- group: item.package ? `${item.package.name}@${item.package.version}` : void 0
73
- }))
74
- };
75
- }
76
- exports.getErrorDetail = __webpack_exports__.getErrorDetail;
77
- exports.getErrorMsg = __webpack_exports__.getErrorMsg;
78
- for(var __rspack_i in __webpack_exports__)if (-1 === [
79
- "getErrorDetail",
80
- "getErrorMsg"
81
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
82
- Object.defineProperty(exports, '__esModule', {
83
- value: true
84
- });
@@ -1,3 +0,0 @@
1
- import type { SDK, Rule } from '@rsdoctor/types';
2
- export declare function getErrorMsg(packages: SDK.PackageInstance[], root: string): string;
3
- export declare function getErrorDetail(pkg: SDK.PackageInstance, pkgGraph: SDK.PackageGraphInstance): Rule.PackageRelationData;
@@ -1,38 +0,0 @@
1
- import "node:module";
2
- import path from "path";
3
- import { filesize } from "filesize";
4
- function getErrorMsg(packages, root) {
5
- const pkgName = packages[0].name;
6
- let message = `Multiple packages of ${pkgName} found:\n`;
7
- for (const pkg of packages)message += ` ${pkg.version} ${filesize(pkg.getSize().parsedSize)} ${path.relative(root, pkg.root)}\n`;
8
- return message.slice(0, -1);
9
- }
10
- function getErrorDetail(pkg, pkgGraph) {
11
- function getImported(pkg, ans) {
12
- const dependencies = pkgGraph.getDependenciesFromPackage(pkg);
13
- for (const dep of dependencies)if (dep.refDependency) {
14
- if (!ans.some((dep)=>dep.dependency === pkg)) {
15
- if (!dep.package) return ans.concat(dep);
16
- return getImported(dep.package, ans.concat(dep));
17
- }
18
- }
19
- return ans;
20
- }
21
- const packageImportLinks = getImported(pkg, []);
22
- return {
23
- target: {
24
- name: pkg.name,
25
- version: pkg.version,
26
- root: pkg.root
27
- },
28
- targetSize: {
29
- sourceSize: pkg.getSize().sourceSize,
30
- parsedSize: pkg.getSize().parsedSize
31
- },
32
- dependencies: packageImportLinks.map((item)=>({
33
- dependencyId: item.refDependency.id,
34
- group: item.package ? `${item.package.name}@${item.package.version}` : void 0
35
- }))
36
- };
37
- }
38
- export { getErrorDetail, getErrorMsg };
@@ -1,96 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
18
- };
19
- })();
20
- (()=>{
21
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
- })();
23
- (()=>{
24
- __webpack_require__.r = (exports1)=>{
25
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
- value: 'Module'
27
- });
28
- Object.defineProperty(exports1, '__esModule', {
29
- value: true
30
- });
31
- };
32
- })();
33
- var __webpack_exports__ = {};
34
- __webpack_require__.r(__webpack_exports__);
35
- __webpack_require__.d(__webpack_exports__, {
36
- rule: ()=>rule
37
- });
38
- const external_path_namespaceObject = require("path");
39
- var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
40
- const plugin_check_syntax_namespaceObject = require("@rsbuild/plugin-check-syntax");
41
- const external_browserslist_load_config_namespaceObject = require("browserslist-load-config");
42
- const external_rule_cjs_namespaceObject = require("../../rule.cjs");
43
- const types_namespaceObject = require("@rsdoctor/types");
44
- const title = 'ecma-version-check';
45
- const rule = (0, external_rule_cjs_namespaceObject.defineRule)(()=>({
46
- meta: {
47
- code: 'E1004',
48
- title,
49
- category: 'bundle',
50
- severity: types_namespaceObject.Linter.Severity.Warn,
51
- defaultConfig: {
52
- ecmaVersion: void 0,
53
- targets: []
54
- }
55
- },
56
- async check ({ chunkGraph, report, ruleConfig, root, configs }) {
57
- for (const asset of chunkGraph.getAssets()){
58
- if ('.js' !== external_path_default().extname(asset.path) && '.bundle' !== external_path_default().extname(asset.path)) continue;
59
- const browserslistConfig = (0, external_browserslist_load_config_namespaceObject.loadConfig)({
60
- path: root,
61
- env: 'production'
62
- });
63
- const { exclude, excludeOutput, targets, ecmaVersion } = ruleConfig;
64
- const finalTargets = targets || browserslistConfig || [];
65
- if (!finalTargets.length && !ecmaVersion) return;
66
- const buildConfig = configs[0]?.config;
67
- const context = buildConfig?.context || root;
68
- const checkSyntax = new plugin_check_syntax_namespaceObject.CheckSyntax({
69
- exclude,
70
- excludeOutput,
71
- ecmaVersion,
72
- rootPath: context,
73
- targets: finalTargets
74
- });
75
- const outputDir = buildConfig?.output?.path || external_path_default().resolve(root, 'dist');
76
- const assetPath = external_path_default().resolve(outputDir, asset.path);
77
- await checkSyntax.check(assetPath, asset.content);
78
- checkSyntax.errors.forEach((err)=>{
79
- report({
80
- message: `Found syntax that does not match "ecmaVersion <= ${checkSyntax.ecmaVersion}"`,
81
- detail: {
82
- error: err,
83
- type: 'link'
84
- }
85
- });
86
- });
87
- }
88
- }
89
- }));
90
- exports.rule = __webpack_exports__.rule;
91
- for(var __rspack_i in __webpack_exports__)if (-1 === [
92
- "rule"
93
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
94
- Object.defineProperty(exports, '__esModule', {
95
- value: true
96
- });
@@ -1,4 +0,0 @@
1
- import { Config } from './types';
2
- import { Linter } from '@rsdoctor/types';
3
- export type { Config } from './types';
4
- export declare const rule: Linter.RuleData<Config, "ecma-version-check">;
@@ -1,53 +0,0 @@
1
- import "node:module";
2
- import path from "path";
3
- import { CheckSyntax } from "@rsbuild/plugin-check-syntax";
4
- import { loadConfig } from "browserslist-load-config";
5
- import { defineRule } from "../../rule.js";
6
- import { Linter } from "@rsdoctor/types";
7
- const title = 'ecma-version-check';
8
- const rule = defineRule(()=>({
9
- meta: {
10
- code: 'E1004',
11
- title: title,
12
- category: 'bundle',
13
- severity: Linter.Severity.Warn,
14
- defaultConfig: {
15
- ecmaVersion: void 0,
16
- targets: []
17
- }
18
- },
19
- async check ({ chunkGraph, report, ruleConfig, root, configs }) {
20
- for (const asset of chunkGraph.getAssets()){
21
- if ('.js' !== path.extname(asset.path) && '.bundle' !== path.extname(asset.path)) continue;
22
- const browserslistConfig = loadConfig({
23
- path: root,
24
- env: 'production'
25
- });
26
- const { exclude, excludeOutput, targets, ecmaVersion } = ruleConfig;
27
- const finalTargets = targets || browserslistConfig || [];
28
- if (!finalTargets.length && !ecmaVersion) return;
29
- const buildConfig = configs[0]?.config;
30
- const context = buildConfig?.context || root;
31
- const checkSyntax = new CheckSyntax({
32
- exclude,
33
- excludeOutput,
34
- ecmaVersion,
35
- rootPath: context,
36
- targets: finalTargets
37
- });
38
- const outputDir = buildConfig?.output?.path || path.resolve(root, 'dist');
39
- const assetPath = path.resolve(outputDir, asset.path);
40
- await checkSyntax.check(assetPath, asset.content);
41
- checkSyntax.errors.forEach((err)=>{
42
- report({
43
- message: `Found syntax that does not match "ecmaVersion <= ${checkSyntax.ecmaVersion}"`,
44
- detail: {
45
- error: err,
46
- type: 'link'
47
- }
48
- });
49
- });
50
- }
51
- }
52
- }));
53
- export { rule };
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.r = (exports1)=>{
5
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
6
- value: 'Module'
7
- });
8
- Object.defineProperty(exports1, '__esModule', {
9
- value: true
10
- });
11
- };
12
- })();
13
- var __webpack_exports__ = {};
14
- __webpack_require__.r(__webpack_exports__);
15
- for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
- Object.defineProperty(exports, '__esModule', {
17
- value: true
18
- });
@@ -1,3 +0,0 @@
1
- import type { PluginCheckSyntaxOptions } from '@rsbuild/plugin-check-syntax';
2
- export interface Config extends PluginCheckSyntaxOptions {
3
- }
@@ -1 +0,0 @@
1
- import "node:module";
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.d = (exports1, definition)=>{
5
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
- enumerable: true,
7
- get: definition[key]
8
- });
9
- };
10
- })();
11
- (()=>{
12
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
- })();
14
- (()=>{
15
- __webpack_require__.r = (exports1)=>{
16
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
- value: 'Module'
18
- });
19
- Object.defineProperty(exports1, '__esModule', {
20
- value: true
21
- });
22
- };
23
- })();
24
- var __webpack_exports__ = {};
25
- __webpack_require__.r(__webpack_exports__);
26
- __webpack_require__.d(__webpack_exports__, {
27
- getVersionNumber: ()=>getVersionNumber
28
- });
29
- function getVersionNumber(ECMAString) {
30
- const version = ECMAString.match(/\d/);
31
- return version?.length ? Number(version[0]) : void 0;
32
- }
33
- exports.getVersionNumber = __webpack_exports__.getVersionNumber;
34
- for(var __rspack_i in __webpack_exports__)if (-1 === [
35
- "getVersionNumber"
36
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
37
- Object.defineProperty(exports, '__esModule', {
38
- value: true
39
- });
@@ -1,2 +0,0 @@
1
- import type { ECMAVersion } from '@rsdoctor/utils/ruleUtils';
2
- export declare function getVersionNumber(ECMAString: ECMAVersion): number | undefined;
@@ -1,6 +0,0 @@
1
- import "node:module";
2
- function getVersionNumber(ECMAString) {
3
- const version = ECMAString.match(/\d/);
4
- return version?.length ? Number(version[0]) : void 0;
5
- }
6
- export { getVersionNumber };
@@ -1,237 +0,0 @@
1
- "use strict";
2
- var __webpack_require__ = {};
3
- (()=>{
4
- __webpack_require__.n = (module)=>{
5
- var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
- __webpack_require__.d(getter, {
7
- a: getter
8
- });
9
- return getter;
10
- };
11
- })();
12
- (()=>{
13
- __webpack_require__.d = (exports1, definition)=>{
14
- for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
- enumerable: true,
16
- get: definition[key]
17
- });
18
- };
19
- })();
20
- (()=>{
21
- __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
- })();
23
- (()=>{
24
- __webpack_require__.r = (exports1)=>{
25
- if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
- value: 'Module'
27
- });
28
- Object.defineProperty(exports1, '__esModule', {
29
- value: true
30
- });
31
- };
32
- })();
33
- var __webpack_exports__ = {};
34
- __webpack_require__.r(__webpack_exports__);
35
- __webpack_require__.d(__webpack_exports__, {
36
- rule: ()=>rule
37
- });
38
- const external_fs_namespaceObject = require("fs");
39
- var external_fs_default = /*#__PURE__*/ __webpack_require__.n(external_fs_namespaceObject);
40
- const external_path_namespaceObject = require("path");
41
- var external_path_default = /*#__PURE__*/ __webpack_require__.n(external_path_namespaceObject);
42
- const types_namespaceObject = require("@rsdoctor/types");
43
- const external_rule_cjs_namespaceObject = require("../../rule.cjs");
44
- const title = 'esm-resolved-to-cjs';
45
- function normalizePathForCompare(filePath) {
46
- const queryIndex = filePath.indexOf('?');
47
- const hashIndex = filePath.indexOf('#');
48
- const splitIndex = [
49
- queryIndex,
50
- hashIndex
51
- ].filter((index)=>index >= 0).reduce((min, index)=>Math.min(min, index), 1 / 0);
52
- const cleanPath = splitIndex === 1 / 0 ? filePath : filePath.slice(0, splitIndex);
53
- return external_path_default().normalize(cleanPath);
54
- }
55
- function isDefinitelyEsmFile(filePath) {
56
- return '.mjs' === external_path_default().extname(normalizePathForCompare(filePath));
57
- }
58
- function isDeclaredEsmEntry(filePath, esmEntries, toRealPath) {
59
- const realPath = toRealPath(filePath);
60
- return esmEntries.some((esmEntry)=>realPath === toRealPath(esmEntry));
61
- }
62
- function isRecord(value) {
63
- return null !== value && 'object' == typeof value && !Array.isArray(value);
64
- }
65
- function substituteExportPattern(target, wildcard) {
66
- return target.replace(/\*/g, wildcard);
67
- }
68
- function toPackagePath(pkgRoot, target, wildcard) {
69
- return external_path_default().resolve(pkgRoot, substituteExportPattern(target, wildcard));
70
- }
71
- function collectStringTargets(value, wildcard) {
72
- if ('string' == typeof value) return [
73
- substituteExportPattern(value, wildcard)
74
- ];
75
- if (Array.isArray(value)) return value.flatMap((item)=>collectStringTargets(item, wildcard));
76
- if (!isRecord(value)) return [];
77
- return Object.values(value).flatMap((child)=>collectStringTargets(child, wildcard));
78
- }
79
- function collectEsmTargets(exportEntry, pkgRoot, wildcard) {
80
- const entries = new Set();
81
- const addTargets = (value)=>{
82
- for (const target of collectStringTargets(value, wildcard))entries.add(toPackagePath(pkgRoot, target, ''));
83
- };
84
- const visit = (value)=>{
85
- if ('string' == typeof value || Array.isArray(value)) return void addTargets(value);
86
- if (!isRecord(value)) return;
87
- addTargets(value['import']);
88
- addTargets(value['module']);
89
- for (const child of Object.values(value))if (isRecord(child) || Array.isArray(child)) visit(child);
90
- };
91
- visit(exportEntry);
92
- return entries;
93
- }
94
- function hasSubpathExportKeys(exports1) {
95
- return Object.keys(exports1).some((key)=>'.' === key || key.startsWith('./'));
96
- }
97
- function matchPatternExportKey(patternKey, exportKey) {
98
- const wildcardIndex = patternKey.indexOf('*');
99
- if (wildcardIndex < 0) return null;
100
- const prefix = patternKey.slice(0, wildcardIndex);
101
- const suffix = patternKey.slice(wildcardIndex + 1);
102
- if (!exportKey.startsWith(prefix) || !exportKey.endsWith(suffix)) return null;
103
- return exportKey.slice(prefix.length, exportKey.length - suffix.length);
104
- }
105
- function resolveExportEntry(exports1, exportKey) {
106
- if (Object.prototype.hasOwnProperty.call(exports1, exportKey)) return {
107
- value: exports1[exportKey],
108
- wildcard: ''
109
- };
110
- for (const [key, value] of Object.entries(exports1)){
111
- const wildcard = matchPatternExportKey(key, exportKey);
112
- if (null !== wildcard) return {
113
- value,
114
- wildcard
115
- };
116
- }
117
- return null;
118
- }
119
- function resolveExportEntryForKey(exportsField, exportKey) {
120
- if (!isRecord(exportsField)) return null;
121
- if (!hasSubpathExportKeys(exportsField)) return '.' === exportKey ? {
122
- value: exportsField,
123
- wildcard: ''
124
- } : null;
125
- return resolveExportEntry(exportsField, exportKey);
126
- }
127
- function extractEsmEntries(pkgJson, pkgRoot, exportKey) {
128
- const { exports: exportsField, module: moduleField } = pkgJson;
129
- const resolvedExport = resolveExportEntryForKey(exportsField, exportKey);
130
- const entries = resolvedExport ? collectEsmTargets(resolvedExport.value, pkgRoot, resolvedExport.wildcard) : new Set();
131
- if ('.' === exportKey && 'string' == typeof moduleField) entries.add(external_path_default().resolve(pkgRoot, moduleField));
132
- return entries;
133
- }
134
- function getExportKeyFromRequest(packageName, request) {
135
- if (request === packageName) return '.';
136
- if (request.startsWith(`${packageName}/`)) return `.${request.slice(packageName.length)}`;
137
- return null;
138
- }
139
- const rule = (0, external_rule_cjs_namespaceObject.defineRule)(()=>({
140
- meta: {
141
- code: 'E1009',
142
- title,
143
- category: 'bundle',
144
- severity: types_namespaceObject.Linter.Severity.Warn,
145
- defaultConfig: {
146
- ignore: []
147
- }
148
- },
149
- check ({ moduleGraph, packageGraph, report, ruleConfig }) {
150
- const pkgJsonCache = new Map();
151
- const realPathCache = new Map();
152
- const readPkgJson = (pkgRoot)=>{
153
- if (pkgJsonCache.has(pkgRoot)) return pkgJsonCache.get(pkgRoot);
154
- try {
155
- const raw = external_fs_default().readFileSync(external_path_default().join(pkgRoot, 'package.json'), 'utf-8');
156
- const parsed = JSON.parse(raw);
157
- pkgJsonCache.set(pkgRoot, parsed);
158
- return parsed;
159
- } catch {
160
- pkgJsonCache.set(pkgRoot, null);
161
- return null;
162
- }
163
- };
164
- const toRealPath = (filePath)=>{
165
- const normalized = normalizePathForCompare(filePath);
166
- if (realPathCache.has(normalized)) return realPathCache.get(normalized);
167
- try {
168
- const realPath = 'function' == typeof external_fs_default().realpathSync.native ? external_fs_default().realpathSync.native(normalized) : external_fs_default().realpathSync(normalized);
169
- const normalizedRealPath = external_path_default().normalize(realPath);
170
- realPathCache.set(normalized, normalizedRealPath);
171
- return normalizedRealPath;
172
- } catch {
173
- realPathCache.set(normalized, normalized);
174
- return normalized;
175
- }
176
- };
177
- const groups = new Map();
178
- const inNodeModules = /[/\\]node_modules[/\\]/;
179
- for (const dep of moduleGraph.getDependencies()){
180
- if (dep.kind !== types_namespaceObject.SDK.DependencyKind.ImportStatement || inNodeModules.test(dep.module.path) || !inNodeModules.test(dep.dependency.path) || dep.dependency.meta.strictHarmonyModule || ruleConfig.ignore.some((p)=>dep.request.includes(p))) continue;
181
- const pkg = packageGraph.getPackageByModule(dep.dependency);
182
- if (!pkg?.root) continue;
183
- const pkgJson = readPkgJson(pkg.root);
184
- if (ruleConfig.ignore.some((p)=>pkg.name.includes(p)) || !pkgJson) continue;
185
- const exportKey = getExportKeyFromRequest(pkg.name, dep.request);
186
- if (!exportKey) continue;
187
- const esmEntries = extractEsmEntries(pkgJson, pkg.root, exportKey);
188
- if (0 === esmEntries.size) continue;
189
- const esmEntryList = Array.from(esmEntries);
190
- const resolvedModuleRealPath = toRealPath(dep.dependency.path);
191
- if (isDefinitelyEsmFile(resolvedModuleRealPath)) continue;
192
- if (isDeclaredEsmEntry(resolvedModuleRealPath, esmEntryList, toRealPath)) continue;
193
- const groupKey = `${pkg.name}::${resolvedModuleRealPath}`;
194
- const issuer = {
195
- id: dep.module.id,
196
- path: dep.module.path,
197
- request: dep.request
198
- };
199
- if (groups.has(groupKey)) groups.get(groupKey).issuers.push(issuer);
200
- else groups.set(groupKey, {
201
- packageName: pkg.name,
202
- packageVersion: pkg.version,
203
- esmEntry: esmEntryList[0],
204
- resolvedModule: {
205
- id: dep.dependency.id,
206
- path: dep.dependency.path,
207
- identifier: dep.dependency.identifier
208
- },
209
- issuers: [
210
- issuer
211
- ]
212
- });
213
- }
214
- for (const group of groups.values()){
215
- const detail = {
216
- type: title,
217
- packageName: group.packageName,
218
- packageVersion: group.packageVersion,
219
- esmEntry: group.esmEntry,
220
- resolvedModule: group.resolvedModule,
221
- issuers: group.issuers
222
- };
223
- const message = `"${group.packageName}" declares an ESM entry ("${group.esmEntry}") but was resolved to CJS by ${group.issuers.length} ESM import(s). Check your bundler's \`resolve.mainFields\` or \`resolve.conditionNames\` config.`;
224
- report({
225
- message,
226
- detail
227
- });
228
- }
229
- }
230
- }));
231
- exports.rule = __webpack_exports__.rule;
232
- for(var __rspack_i in __webpack_exports__)if (-1 === [
233
- "rule"
234
- ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
235
- Object.defineProperty(exports, '__esModule', {
236
- value: true
237
- });
@@ -1,4 +0,0 @@
1
- import { Linter } from '@rsdoctor/types';
2
- import type { Config } from './types';
3
- export type { Config } from './types';
4
- export declare const rule: Linter.RuleData<Config, "esm-resolved-to-cjs">;