@rsdoctor/utils 1.2.2 → 1.2.4-beta.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 (211) hide show
  1. package/compiled/connect/index.d.ts +90 -0
  2. package/compiled/connect/index.js +2427 -0
  3. package/compiled/connect/license +25 -0
  4. package/compiled/connect/package.json +1 -0
  5. package/compiled/filesize/index.d.ts +58 -0
  6. package/compiled/filesize/index.js +255 -0
  7. package/compiled/filesize/license +28 -0
  8. package/compiled/filesize/package.json +1 -0
  9. package/dist/{type/build → build}/envinfo.d.ts +0 -1
  10. package/dist/{type/build → build}/file/cache.d.ts +0 -1
  11. package/dist/build/file/index.d.ts +3 -0
  12. package/dist/{type/build → build}/file/sharding.d.ts +0 -1
  13. package/dist/{type/build → build}/index.d.ts +0 -1
  14. package/dist/{type/build → build}/json.d.ts +0 -1
  15. package/dist/{type/build → build}/process.d.ts +0 -1
  16. package/dist/{type/build → build}/server.d.ts +0 -1
  17. package/dist/build.cjs +1310 -0
  18. package/dist/build.js +343 -0
  19. package/dist/{type/common → common}/alerts.d.ts +0 -1
  20. package/dist/{type/common → common}/algorithm.d.ts +0 -1
  21. package/dist/{type/common → common}/bundle.d.ts +0 -1
  22. package/dist/{type/common → common}/crypto.d.ts +0 -1
  23. package/dist/{type/common → common}/data/index.d.ts +0 -1
  24. package/dist/{type/common → common}/file.d.ts +0 -1
  25. package/dist/{type/common → common}/global-config.d.ts +0 -1
  26. package/dist/{type/common → common}/graph/assets.d.ts +0 -1
  27. package/dist/{type/common → common}/graph/chunk.d.ts +0 -1
  28. package/dist/{type/common → common}/graph/dependency.d.ts +0 -1
  29. package/dist/{type/common → common}/graph/entrypoints.d.ts +0 -1
  30. package/dist/{type/common → common}/graph/index.d.ts +0 -1
  31. package/dist/{type/common → common}/graph/modules.d.ts +0 -1
  32. package/dist/{type/common → common}/index.d.ts +0 -1
  33. package/dist/{type/common → common}/loader.d.ts +0 -1
  34. package/dist/{type/common → common}/lodash.d.ts +0 -1
  35. package/dist/{type/common → common}/manifest.d.ts +0 -1
  36. package/dist/{type/common → common}/package.d.ts +0 -1
  37. package/dist/{type/common → common}/plugin.d.ts +0 -1
  38. package/dist/{type/common → common}/resolver.d.ts +0 -1
  39. package/dist/{type/common → common}/rspack.d.ts +0 -1
  40. package/dist/{type/common → common}/summary.d.ts +0 -1
  41. package/dist/{type/common → common}/time.d.ts +0 -1
  42. package/dist/{type/common → common}/url.d.ts +0 -1
  43. package/dist/common.cjs +1328 -0
  44. package/dist/common.js +1255 -0
  45. package/dist/{type/error → error}/error.d.ts +0 -1
  46. package/dist/{type/error → error}/index.d.ts +0 -1
  47. package/dist/{type/error → error}/transform.d.ts +0 -1
  48. package/dist/{type/error → error}/utils.d.ts +0 -1
  49. package/dist/error.cjs +310 -0
  50. package/dist/error.js +232 -0
  51. package/dist/logger.cjs +82 -0
  52. package/dist/{type/logger.d.ts → logger.d.ts} +0 -1
  53. package/dist/{esm/logger.mjs → logger.js} +8 -13
  54. package/dist/{type/rule-utils → rule-utils}/document/document.d.ts +0 -1
  55. package/dist/{type/rule-utils → rule-utils}/document/index.d.ts +0 -1
  56. package/dist/{type/rule-utils → rule-utils}/document/server.d.ts +0 -1
  57. package/dist/{type/rule-utils → rule-utils}/document/types.d.ts +0 -1
  58. package/dist/{type/rule-utils → rule-utils}/index.d.ts +0 -1
  59. package/dist/{type/rule-utils → rule-utils}/parser/asserts.d.ts +0 -1
  60. package/dist/{type/rule-utils → rule-utils}/parser/index.d.ts +0 -1
  61. package/dist/{type/rule-utils → rule-utils}/parser/parser.d.ts +0 -1
  62. package/dist/{type/rule-utils → rule-utils}/parser/types.d.ts +0 -1
  63. package/dist/{type/rule-utils → rule-utils}/parser/utils.d.ts +0 -1
  64. package/dist/ruleUtils.cjs +320 -0
  65. package/dist/ruleUtils.js +256 -0
  66. package/package.json +35 -39
  67. package/dist/cjs/build/envinfo.js +0 -121
  68. package/dist/cjs/build/file/cache.js +0 -76
  69. package/dist/cjs/build/file/index.js +0 -81
  70. package/dist/cjs/build/file/sharding.js +0 -96
  71. package/dist/cjs/build/index.js +0 -52
  72. package/dist/cjs/build/json.js +0 -103
  73. package/dist/cjs/build/process.js +0 -54
  74. package/dist/cjs/build/server.js +0 -158
  75. package/dist/cjs/common/alerts.js +0 -51
  76. package/dist/cjs/common/algorithm.js +0 -75
  77. package/dist/cjs/common/bundle.js +0 -62
  78. package/dist/cjs/common/crypto.js +0 -54
  79. package/dist/cjs/common/data/index.js +0 -396
  80. package/dist/cjs/common/file.js +0 -44
  81. package/dist/cjs/common/global-config.js +0 -81
  82. package/dist/cjs/common/graph/assets.js +0 -314
  83. package/dist/cjs/common/graph/chunk.js +0 -81
  84. package/dist/cjs/common/graph/dependency.js +0 -50
  85. package/dist/cjs/common/graph/entrypoints.js +0 -38
  86. package/dist/cjs/common/graph/index.js +0 -96
  87. package/dist/cjs/common/graph/modules.js +0 -133
  88. package/dist/cjs/common/index.js +0 -104
  89. package/dist/cjs/common/loader.js +0 -320
  90. package/dist/cjs/common/lodash.js +0 -93
  91. package/dist/cjs/common/manifest.js +0 -70
  92. package/dist/cjs/common/package.js +0 -96
  93. package/dist/cjs/common/plugin.js +0 -91
  94. package/dist/cjs/common/resolver.js +0 -92
  95. package/dist/cjs/common/rspack.js +0 -65
  96. package/dist/cjs/common/summary.js +0 -42
  97. package/dist/cjs/common/time.js +0 -86
  98. package/dist/cjs/common/url.js +0 -54
  99. package/dist/cjs/error/error.js +0 -199
  100. package/dist/cjs/error/index.js +0 -73
  101. package/dist/cjs/error/transform.js +0 -182
  102. package/dist/cjs/error/utils.js +0 -62
  103. package/dist/cjs/index.js +0 -40
  104. package/dist/cjs/logger.js +0 -106
  105. package/dist/cjs/rule-utils/document/document.js +0 -92
  106. package/dist/cjs/rule-utils/document/index.js +0 -78
  107. package/dist/cjs/rule-utils/document/server.js +0 -49
  108. package/dist/cjs/rule-utils/document/types.js +0 -18
  109. package/dist/cjs/rule-utils/index.js +0 -69
  110. package/dist/cjs/rule-utils/parser/asserts.js +0 -138
  111. package/dist/cjs/rule-utils/parser/index.js +0 -87
  112. package/dist/cjs/rule-utils/parser/parser.js +0 -57
  113. package/dist/cjs/rule-utils/parser/types.js +0 -41
  114. package/dist/cjs/rule-utils/parser/utils.js +0 -170
  115. package/dist/esm/build/envinfo.mjs +0 -57
  116. package/dist/esm/build/file/cache.mjs +0 -23
  117. package/dist/esm/build/file/index.mjs +0 -4
  118. package/dist/esm/build/file/sharding.mjs +0 -50
  119. package/dist/esm/build/index.mjs +0 -6
  120. package/dist/esm/build/json.mjs +0 -66
  121. package/dist/esm/build/process.mjs +0 -17
  122. package/dist/esm/build/server.mjs +0 -96
  123. package/dist/esm/common/alerts.mjs +0 -17
  124. package/dist/esm/common/algorithm.mjs +0 -32
  125. package/dist/esm/common/bundle.mjs +0 -22
  126. package/dist/esm/common/crypto.mjs +0 -17
  127. package/dist/esm/common/data/index.mjs +0 -362
  128. package/dist/esm/common/file.mjs +0 -7
  129. package/dist/esm/common/global-config.mjs +0 -32
  130. package/dist/esm/common/graph/assets.mjs +0 -238
  131. package/dist/esm/common/graph/chunk.mjs +0 -32
  132. package/dist/esm/common/graph/dependency.mjs +0 -10
  133. package/dist/esm/common/graph/entrypoints.mjs +0 -4
  134. package/dist/esm/common/graph/index.mjs +0 -5
  135. package/dist/esm/common/graph/modules.mjs +0 -78
  136. package/dist/esm/common/index.mjs +0 -19
  137. package/dist/esm/common/loader.mjs +0 -247
  138. package/dist/esm/common/lodash.mjs +0 -32
  139. package/dist/esm/common/manifest.mjs +0 -30
  140. package/dist/esm/common/package.mjs +0 -56
  141. package/dist/esm/common/plugin.mjs +0 -48
  142. package/dist/esm/common/resolver.mjs +0 -46
  143. package/dist/esm/common/rspack.mjs +0 -25
  144. package/dist/esm/common/summary.mjs +0 -8
  145. package/dist/esm/common/time.mjs +0 -43
  146. package/dist/esm/common/url.mjs +0 -14
  147. package/dist/esm/error/error.mjs +0 -154
  148. package/dist/esm/error/index.mjs +0 -3
  149. package/dist/esm/error/transform.mjs +0 -138
  150. package/dist/esm/error/utils.mjs +0 -22
  151. package/dist/esm/index.mjs +0 -3
  152. package/dist/esm/rule-utils/document/document.mjs +0 -58
  153. package/dist/esm/rule-utils/document/index.mjs +0 -3
  154. package/dist/esm/rule-utils/document/server.mjs +0 -12
  155. package/dist/esm/rule-utils/document/types.mjs +0 -0
  156. package/dist/esm/rule-utils/index.mjs +0 -2
  157. package/dist/esm/rule-utils/parser/asserts.mjs +0 -104
  158. package/dist/esm/rule-utils/parser/index.mjs +0 -4
  159. package/dist/esm/rule-utils/parser/parser.mjs +0 -23
  160. package/dist/esm/rule-utils/parser/types.mjs +0 -7
  161. package/dist/esm/rule-utils/parser/utils.mjs +0 -109
  162. package/dist/type/build/envinfo.d.ts.map +0 -1
  163. package/dist/type/build/file/cache.d.ts.map +0 -1
  164. package/dist/type/build/file/index.d.ts +0 -4
  165. package/dist/type/build/file/index.d.ts.map +0 -1
  166. package/dist/type/build/file/sharding.d.ts.map +0 -1
  167. package/dist/type/build/index.d.ts.map +0 -1
  168. package/dist/type/build/json.d.ts.map +0 -1
  169. package/dist/type/build/process.d.ts.map +0 -1
  170. package/dist/type/build/server.d.ts.map +0 -1
  171. package/dist/type/common/alerts.d.ts.map +0 -1
  172. package/dist/type/common/algorithm.d.ts.map +0 -1
  173. package/dist/type/common/bundle.d.ts.map +0 -1
  174. package/dist/type/common/crypto.d.ts.map +0 -1
  175. package/dist/type/common/data/index.d.ts.map +0 -1
  176. package/dist/type/common/file.d.ts.map +0 -1
  177. package/dist/type/common/global-config.d.ts.map +0 -1
  178. package/dist/type/common/graph/assets.d.ts.map +0 -1
  179. package/dist/type/common/graph/chunk.d.ts.map +0 -1
  180. package/dist/type/common/graph/dependency.d.ts.map +0 -1
  181. package/dist/type/common/graph/entrypoints.d.ts.map +0 -1
  182. package/dist/type/common/graph/index.d.ts.map +0 -1
  183. package/dist/type/common/graph/modules.d.ts.map +0 -1
  184. package/dist/type/common/index.d.ts.map +0 -1
  185. package/dist/type/common/loader.d.ts.map +0 -1
  186. package/dist/type/common/lodash.d.ts.map +0 -1
  187. package/dist/type/common/manifest.d.ts.map +0 -1
  188. package/dist/type/common/package.d.ts.map +0 -1
  189. package/dist/type/common/plugin.d.ts.map +0 -1
  190. package/dist/type/common/resolver.d.ts.map +0 -1
  191. package/dist/type/common/rspack.d.ts.map +0 -1
  192. package/dist/type/common/summary.d.ts.map +0 -1
  193. package/dist/type/common/time.d.ts.map +0 -1
  194. package/dist/type/common/url.d.ts.map +0 -1
  195. package/dist/type/error/error.d.ts.map +0 -1
  196. package/dist/type/error/index.d.ts.map +0 -1
  197. package/dist/type/error/transform.d.ts.map +0 -1
  198. package/dist/type/error/utils.d.ts.map +0 -1
  199. package/dist/type/index.d.ts +0 -3
  200. package/dist/type/index.d.ts.map +0 -1
  201. package/dist/type/logger.d.ts.map +0 -1
  202. package/dist/type/rule-utils/document/document.d.ts.map +0 -1
  203. package/dist/type/rule-utils/document/index.d.ts.map +0 -1
  204. package/dist/type/rule-utils/document/server.d.ts.map +0 -1
  205. package/dist/type/rule-utils/document/types.d.ts.map +0 -1
  206. package/dist/type/rule-utils/index.d.ts.map +0 -1
  207. package/dist/type/rule-utils/parser/asserts.d.ts.map +0 -1
  208. package/dist/type/rule-utils/parser/index.d.ts.map +0 -1
  209. package/dist/type/rule-utils/parser/parser.d.ts.map +0 -1
  210. package/dist/type/rule-utils/parser/types.d.ts.map +0 -1
  211. package/dist/type/rule-utils/parser/utils.d.ts.map +0 -1
@@ -0,0 +1,1328 @@
1
+ "use strict";
2
+ let __rslib_import_meta_url__ = 'undefined' == typeof document ? new (require('url'.replace('', ''))).URL('file:' + __filename).href : document.currentScript && document.currentScript.src || new URL('main.js', document.baseURI).href;
3
+ var __webpack_require__ = {};
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module.default : ()=>module;
6
+ return __webpack_require__.d(getter, {
7
+ a: getter
8
+ }), getter;
9
+ }, __webpack_require__.d = (exports1, definition)=>{
10
+ for(var key in definition)__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key) && Object.defineProperty(exports1, key, {
11
+ enumerable: !0,
12
+ get: definition[key]
13
+ });
14
+ }, __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop), __webpack_require__.r = (exports1)=>{
15
+ 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(exports1, Symbol.toStringTag, {
16
+ value: 'Module'
17
+ }), Object.defineProperty(exports1, '__esModule', {
18
+ value: !0
19
+ });
20
+ };
21
+ var __webpack_exports__ = {};
22
+ __webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
23
+ Time: ()=>time_namespaceObject,
24
+ Url: ()=>url_namespaceObject,
25
+ Rspack: ()=>rspack_namespaceObject,
26
+ Crypto: ()=>crypto_namespaceObject,
27
+ Loader: ()=>loader_namespaceObject,
28
+ Summary: ()=>summary_namespaceObject,
29
+ Algorithm: ()=>algorithm_namespaceObject,
30
+ Resolver: ()=>resolver_namespaceObject,
31
+ Lodash: ()=>lodash_namespaceObject,
32
+ Manifest: ()=>manifest_namespaceObject,
33
+ Alerts: ()=>alerts_namespaceObject,
34
+ Package: ()=>package_namespaceObject,
35
+ Data: ()=>data_namespaceObject,
36
+ Plugin: ()=>plugin_namespaceObject,
37
+ File: ()=>file_namespaceObject,
38
+ Graph: ()=>graph_namespaceObject,
39
+ GlobalConfig: ()=>global_config_namespaceObject,
40
+ Bundle: ()=>bundle_namespaceObject
41
+ });
42
+ var summary_namespaceObject = {};
43
+ __webpack_require__.r(summary_namespaceObject), __webpack_require__.d(summary_namespaceObject, {
44
+ SummaryCostsDataName: ()=>summary_SummaryCostsDataName
45
+ });
46
+ var crypto_namespaceObject = {};
47
+ __webpack_require__.r(crypto_namespaceObject), __webpack_require__.d(crypto_namespaceObject, {
48
+ decode: ()=>decode,
49
+ encode: ()=>encode
50
+ });
51
+ var algorithm_namespaceObject = {};
52
+ __webpack_require__.r(algorithm_namespaceObject), __webpack_require__.d(algorithm_namespaceObject, {
53
+ compressText: ()=>compressText,
54
+ decompressText: ()=>decompressText,
55
+ mergeIntervals: ()=>mergeIntervals,
56
+ random: ()=>random
57
+ });
58
+ var url_namespaceObject = {};
59
+ __webpack_require__.r(url_namespaceObject), __webpack_require__.d(url_namespaceObject, {
60
+ isFilePath: ()=>isFilePath,
61
+ isRemoteUrl: ()=>isRemoteUrl,
62
+ isUrl: ()=>isUrl
63
+ });
64
+ var manifest_namespaceObject = {};
65
+ __webpack_require__.r(manifest_namespaceObject), __webpack_require__.d(manifest_namespaceObject, {
66
+ fetchShardingData: ()=>fetchShardingData,
67
+ fetchShardingFiles: ()=>fetchShardingFiles,
68
+ isShardingData: ()=>isShardingData
69
+ });
70
+ var loader_namespaceObject = {};
71
+ __webpack_require__.r(loader_namespaceObject), __webpack_require__.d(loader_namespaceObject, {
72
+ LoaderInternalPropertyName: ()=>LoaderInternalPropertyName,
73
+ findLoaderTotalTiming: ()=>findLoaderTotalTiming,
74
+ getDirectoriesLoaders: ()=>getDirectoriesLoaders,
75
+ getLoaderChartData: ()=>getLoaderChartData,
76
+ getLoaderCosts: ()=>getLoaderCosts,
77
+ getLoaderFileDetails: ()=>getLoaderFileDetails,
78
+ getLoaderFileFirstInput: ()=>getLoaderFileFirstInput,
79
+ getLoaderFileInputAndOutput: ()=>getLoaderFileInputAndOutput,
80
+ getLoaderFileTree: ()=>getLoaderFileTree,
81
+ getLoaderFolderStatistics: ()=>getLoaderFolderStatistics,
82
+ getLoaderNames: ()=>getLoaderNames,
83
+ getLoadersCosts: ()=>getLoadersCosts,
84
+ getLoadersTransformData: ()=>getLoadersTransformData,
85
+ isVue: ()=>isVue
86
+ });
87
+ var time_namespaceObject = {};
88
+ __webpack_require__.r(time_namespaceObject), __webpack_require__.d(time_namespaceObject, {
89
+ formatCosts: ()=>formatCosts,
90
+ getCurrentTimestamp: ()=>getCurrentTimestamp,
91
+ getUnit: ()=>getUnit,
92
+ toFixedDigits: ()=>toFixedDigits
93
+ });
94
+ var resolver_namespaceObject = {};
95
+ __webpack_require__.r(resolver_namespaceObject), __webpack_require__.d(resolver_namespaceObject, {
96
+ getResolverCosts: ()=>getResolverCosts,
97
+ getResolverFileDetails: ()=>getResolverFileDetails,
98
+ getResolverFileTree: ()=>getResolverFileTree,
99
+ isResolveFailData: ()=>isResolveFailData,
100
+ isResolveSuccessData: ()=>isResolveSuccessData
101
+ });
102
+ var file_namespaceObject = {};
103
+ __webpack_require__.r(file_namespaceObject), __webpack_require__.d(file_namespaceObject, {
104
+ isJsExt: ()=>isJsExt,
105
+ isStyleExt: ()=>isStyleExt
106
+ });
107
+ var graph_namespaceObject = {};
108
+ __webpack_require__.r(graph_namespaceObject), __webpack_require__.d(graph_namespaceObject, {
109
+ diffAssetsByExtensions: ()=>diffAssetsByExtensions,
110
+ diffSize: ()=>diffSize,
111
+ extname: ()=>extname,
112
+ filterAssets: ()=>filterAssets,
113
+ filterAssetsByExtensions: ()=>filterAssetsByExtensions,
114
+ filterModulesAndDependenciesByPackageDeps: ()=>filterModulesAndDependenciesByPackageDeps,
115
+ formatAssetName: ()=>formatAssetName,
116
+ getAllBundleData: ()=>getAllBundleData,
117
+ getAssetDetails: ()=>getAssetDetails,
118
+ getAssetsDiffResult: ()=>getAssetsDiffResult,
119
+ getAssetsSizeInfo: ()=>getAssetsSizeInfo,
120
+ getAssetsSummary: ()=>getAssetsSummary,
121
+ getChunkByChunkId: ()=>getChunkByChunkId,
122
+ getChunkIdsByAsset: ()=>getChunkIdsByAsset,
123
+ getChunksByAsset: ()=>getChunksByAsset,
124
+ getChunksByChunkIds: ()=>getChunksByChunkIds,
125
+ getChunksByModule: ()=>getChunksByModule,
126
+ getChunksByModuleId: ()=>getChunksByModuleId,
127
+ getDependenciesByModule: ()=>getDependenciesByModule,
128
+ getDependencyByPackageData: ()=>getDependencyByPackageData,
129
+ getDependencyByResolvedRequest: ()=>getDependencyByResolvedRequest,
130
+ getEntryPoints: ()=>getEntryPoints,
131
+ getInitialAssetsSizeInfo: ()=>getInitialAssetsSizeInfo,
132
+ getModuleByDependency: ()=>getModuleByDependency,
133
+ getModuleDetails: ()=>getModuleDetails,
134
+ getModuleIdsByChunk: ()=>getModuleIdsByChunk,
135
+ getModuleIdsByModulesIds: ()=>getModuleIdsByModulesIds,
136
+ getModulesByAsset: ()=>getModulesByAsset,
137
+ getModulesByChunk: ()=>getModulesByChunk,
138
+ getModulesByChunks: ()=>getModulesByChunks,
139
+ isAssetMatchExtension: ()=>isAssetMatchExtension,
140
+ isAssetMatchExtensions: ()=>isAssetMatchExtensions,
141
+ isInitialAsset: ()=>isInitialAsset
142
+ });
143
+ var bundle_namespaceObject = {};
144
+ __webpack_require__.r(bundle_namespaceObject), __webpack_require__.d(bundle_namespaceObject, {
145
+ getBundleDiffPageQueryString: ()=>getBundleDiffPageQueryString,
146
+ getBundleDiffPageUrl: ()=>getBundleDiffPageUrl,
147
+ parseFilesFromBundlePageUrlQuery: ()=>parseFilesFromBundlePageUrlQuery
148
+ });
149
+ var plugin_namespaceObject = {};
150
+ __webpack_require__.r(plugin_namespaceObject), __webpack_require__.d(plugin_namespaceObject, {
151
+ getPluginData: ()=>getPluginData,
152
+ getPluginHooks: ()=>getPluginHooks,
153
+ getPluginSummary: ()=>getPluginSummary,
154
+ getPluginTapNames: ()=>getPluginTapNames
155
+ });
156
+ var alerts_namespaceObject = {};
157
+ __webpack_require__.r(alerts_namespaceObject), __webpack_require__.d(alerts_namespaceObject, {
158
+ getPackageRelationAlertDetails: ()=>getPackageRelationAlertDetails
159
+ });
160
+ var rspack_namespaceObject = {};
161
+ __webpack_require__.r(rspack_namespaceObject), __webpack_require__.d(rspack_namespaceObject, {
162
+ RspackLoaderInternalPropertyName: ()=>RspackLoaderInternalPropertyName,
163
+ RspackSummaryCostsDataName: ()=>rspack_RspackSummaryCostsDataName,
164
+ checkSourceMapSupport: ()=>checkSourceMapSupport
165
+ });
166
+ var data_namespaceObject = {};
167
+ __webpack_require__.r(data_namespaceObject), __webpack_require__.d(data_namespaceObject, {
168
+ APIDataLoader: ()=>APIDataLoader
169
+ });
170
+ var lodash_namespaceObject = {};
171
+ __webpack_require__.r(lodash_namespaceObject), __webpack_require__.d(lodash_namespaceObject, {
172
+ compact: ()=>compact,
173
+ isEmpty: ()=>isEmpty,
174
+ isNil: ()=>isNil,
175
+ isNumber: ()=>isNumber,
176
+ isObject: ()=>isObject,
177
+ isPlainObject: ()=>isPlainObject,
178
+ isString: ()=>isString,
179
+ isUndefined: ()=>isUndefined,
180
+ last: ()=>last,
181
+ pick: ()=>pick
182
+ });
183
+ var package_namespaceObject = {};
184
+ __webpack_require__.r(package_namespaceObject), __webpack_require__.d(package_namespaceObject, {
185
+ MODULE_PATH_PACKAGES: ()=>MODULE_PATH_PACKAGES,
186
+ PACKAGE_PATH_NAME: ()=>PACKAGE_PATH_NAME,
187
+ getPackageMetaFromModulePath: ()=>getPackageMetaFromModulePath
188
+ });
189
+ var global_config_namespaceObject = {};
190
+ __webpack_require__.r(global_config_namespaceObject), __webpack_require__.d(global_config_namespaceObject, {
191
+ getMcpConfigPath: ()=>getMcpConfigPath,
192
+ writeMcpPort: ()=>writeMcpPort
193
+ });
194
+ var summary_SummaryCostsDataName = function(SummaryCostsDataName) {
195
+ return SummaryCostsDataName.Bootstrap = "bootstrap->beforeCompile", SummaryCostsDataName.Compile = "beforeCompile->afterCompile", SummaryCostsDataName.Done = "afterCompile->done", SummaryCostsDataName.Minify = "minify(processAssets)", SummaryCostsDataName;
196
+ }({});
197
+ let sep = '!';
198
+ function encode(str) {
199
+ let res = `${str.charCodeAt(0)}`;
200
+ for(let i = 1; i < str.length; i++)res += `!${str.charCodeAt(i)}`;
201
+ return res;
202
+ }
203
+ function decode(str) {
204
+ let res = '', tmp = '';
205
+ for(let i = 0; i < str.length; i++)'!' === str[i] ? (res += String.fromCharCode(+tmp), tmp = '') : tmp += str[i];
206
+ return tmp && (res += String.fromCharCode(+tmp)), res;
207
+ }
208
+ let external_zlib_namespaceObject = require("zlib"), external_buffer_namespaceObject = require("buffer"), external_picocolors_namespaceObject = require("picocolors");
209
+ var external_picocolors_default = __webpack_require__.n(external_picocolors_namespaceObject);
210
+ let external_rslog_namespaceObject = require("rslog"), types_namespaceObject = require("@rsdoctor/types");
211
+ function debug(getMsg, prefix = '') {
212
+ process.env.DEBUG && (logger.level = 'verbose', logger.debug(`${prefix} ${getMsg()}`));
213
+ }
214
+ let rsdoctorLogger = (0, external_rslog_namespaceObject.createLogger)();
215
+ rsdoctorLogger.override({
216
+ log: (message)=>{
217
+ console.log(`${external_picocolors_default().green('[RSDOCTOR LOG]')} ${message}`);
218
+ },
219
+ info: (message)=>{
220
+ console.log(`${external_picocolors_default().yellow('[RSDOCTOR INFO]')} ${message}`);
221
+ },
222
+ warn: (message)=>{
223
+ console.warn(`${external_picocolors_default().yellow('[RSDOCTOR WARN]')} ${message}`);
224
+ },
225
+ start: (message)=>{
226
+ console.log(`${external_picocolors_default().green('[RSDOCTOR START]')} ${message}`);
227
+ },
228
+ ready: (message)=>{
229
+ console.log(`${external_picocolors_default().green('[RSDOCTOR READY]')} ${message}`);
230
+ },
231
+ error: (message)=>{
232
+ console.error(`${external_picocolors_default().red('[RSDOCTOR ERROR]')} ${message}`);
233
+ },
234
+ success: (message)=>{
235
+ console.error(`${external_picocolors_default().green('[RSDOCTOR SUCCESS]')} ${message}`);
236
+ },
237
+ debug: (message)=>{
238
+ process.env.DEBUG && console.log(`${external_picocolors_default().blue('[RSDOCTOR DEBUG]')} ${message}`);
239
+ }
240
+ });
241
+ let _timers = new Map();
242
+ function time(label) {
243
+ process.env.DEBUG === Constants.RsdoctorProcessEnvDebugKey && (_timers.has(label) || _timers.set(label, Date.now()));
244
+ }
245
+ function timeEnd(label) {
246
+ if (process.env.DEBUG !== Constants.RsdoctorProcessEnvDebugKey) return;
247
+ let start = _timers.get(label);
248
+ if (null == start) return void logger.debug(`Timer '${label}' does not exist.`);
249
+ let duration = Date.now() - start;
250
+ logger.debug(`Timer '${label}' ended: ${duration}ms`), _timers.delete(label);
251
+ }
252
+ function mergeIntervals(intervals) {
253
+ let previous, current;
254
+ intervals.sort((a, b)=>a[0] - b[0]);
255
+ let result = [];
256
+ for(let i = 0; i < intervals.length; i++)current = intervals[i], !previous || current[0] > previous[1] ? (previous = current, result.push(current)) : previous[1] = Math.max(previous[1], current[1]);
257
+ return result;
258
+ }
259
+ function compressText(input) {
260
+ try {
261
+ return (0, external_zlib_namespaceObject.deflateSync)(input).toString('base64');
262
+ } catch (e) {
263
+ return rsdoctorLogger.debug(`compressText error: ${e}`), '';
264
+ }
265
+ }
266
+ function decompressText(input) {
267
+ return (0, external_zlib_namespaceObject.inflateSync)(external_buffer_namespaceObject.Buffer.from(input, 'base64')).toString();
268
+ }
269
+ function random(min, max) {
270
+ return Math.floor(Math.random() * (max - min + 1) + min);
271
+ }
272
+ let external_path_namespaceObject = require("path");
273
+ var external_path_default = __webpack_require__.n(external_path_namespaceObject);
274
+ function isUrl(uri) {
275
+ return /^https?:\/\//.test(uri);
276
+ }
277
+ function isFilePath(uri) {
278
+ return (0, external_path_namespaceObject.isAbsolute)(uri);
279
+ }
280
+ function isRemoteUrl(uri) {
281
+ return !!('string' == typeof uri && (isUrl(uri) || isFilePath(uri)));
282
+ }
283
+ function isShardingData(data) {
284
+ return !!(Array.isArray(data) && data.length > 0 && data.every((e)=>isRemoteUrl(e)));
285
+ }
286
+ async function fetchShardingData(shardingFiles, fetchImplement) {
287
+ let res = await Promise.all(shardingFiles.map((url)=>fetchImplement(url))), strings = 0 === res.length ? [] : res.reduce((t, e)=>t + e);
288
+ return 'object' == typeof strings ? strings : JSON.parse(decompressText(strings));
289
+ }
290
+ async function fetchShardingFiles(data, fetchImplement, filterKeys) {
291
+ return (await Promise.all(Object.keys(data).map(async (_key)=>{
292
+ let val = data[_key];
293
+ return filterKeys?.length && 0 > filterKeys.indexOf(_key) ? {
294
+ [_key]: []
295
+ } : isShardingData(val) ? {
296
+ [_key]: await fetchShardingData(val, fetchImplement)
297
+ } : {
298
+ [_key]: val
299
+ };
300
+ }))).reduce((t, c)=>Object.assign(t, c));
301
+ }
302
+ function findLoaderTotalTiming(loaders) {
303
+ let start = 1 / 0, end = -1 / 0;
304
+ for(let i = 0; i < loaders.length; i++){
305
+ let loader = loaders[i];
306
+ loader.startAt <= start && (start = loader.startAt), loader.endAt >= end && (end = loader.endAt);
307
+ }
308
+ return {
309
+ start,
310
+ end
311
+ };
312
+ }
313
+ function getLoadersCosts(filter, loaders) {
314
+ let match = {}, others = {};
315
+ loaders.forEach((e)=>{
316
+ filter(e) ? (match[e.pid] || (match[e.pid] = []), match[e.pid].push([
317
+ e.startAt,
318
+ e.endAt
319
+ ])) : (others[e.pid] || (others[e.pid] = []), others[e.pid].push([
320
+ e.startAt,
321
+ e.endAt
322
+ ]));
323
+ });
324
+ let costs = 0, pids = Object.keys(match);
325
+ for(let i = 0; i < pids.length; i++){
326
+ let pid = pids[i], _match = mergeIntervals(match[pid]), _others = mergeIntervals(others[pid] || []).filter(([s, e])=>_match.some((el)=>s >= el[0] && e <= el[1]));
327
+ costs += (_match.length ? _match.reduce((t, c)=>t += c[1] - c[0], 0) : 0) - (_others.length ? _others.reduce((t, c)=>t += c[1] - c[0], 0) : 0);
328
+ }
329
+ return costs;
330
+ }
331
+ function getLoaderCosts(loader, loaders) {
332
+ let blocked = loaders.filter((e)=>!e.loader.includes('builtin') && e !== loader && e.pid === loader.pid && !!(e.startAt >= loader.startAt) && !!(e.endAt <= loader.endAt)), costs = loader.endAt - loader.startAt;
333
+ return blocked.length && mergeIntervals(blocked.map((e)=>[
334
+ Math.max(e.startAt, loader.startAt),
335
+ Math.min(e.endAt, loader.endAt)
336
+ ])).forEach((e)=>{
337
+ let sub = e[1] - e[0];
338
+ costs -= sub;
339
+ }), costs;
340
+ }
341
+ function getLoaderNames(loaders) {
342
+ let names = new Set();
343
+ return loaders.forEach((e)=>e.loaders.forEach((l)=>names.add(getLoadrName(l.loader)))), [
344
+ ...names
345
+ ];
346
+ }
347
+ function getLoadersTransformData(loaders) {
348
+ let res = [];
349
+ for(let i = 0; i < loaders.length; i++){
350
+ let item = loaders[i];
351
+ for(let j = 0; j < item.loaders.length; j++){
352
+ let loader = item.loaders[j];
353
+ res.push(loader);
354
+ }
355
+ }
356
+ return res;
357
+ }
358
+ function getLoaderChartData(loaders) {
359
+ let res = [], list = getLoadersTransformData(loaders);
360
+ return loaders.forEach((item)=>{
361
+ item.loaders.forEach((el)=>{
362
+ res.push({
363
+ layer: item.resource.layer,
364
+ loader: getLoadrName(el.loader),
365
+ isPitch: el.isPitch,
366
+ startAt: el.startAt,
367
+ endAt: el.endAt,
368
+ pid: el.pid,
369
+ sync: el.sync,
370
+ resource: item.resource.path,
371
+ costs: getLoaderCosts(el, list)
372
+ });
373
+ });
374
+ }), res;
375
+ }
376
+ function getLoaderFileTree(loaders) {
377
+ let list = getLoadersTransformData(loaders);
378
+ return loaders.map((data)=>{
379
+ let { loaders: arr, resource } = data;
380
+ return {
381
+ path: resource.path,
382
+ layer: resource.layer,
383
+ loaders: arr.map((l)=>({
384
+ key: l.path,
385
+ loader: getLoadrName(l.loader),
386
+ path: l.path,
387
+ errors: l.errors,
388
+ costs: getLoaderCosts(l, list)
389
+ }))
390
+ };
391
+ });
392
+ }
393
+ function getLoaderFileDetails(path, loaders) {
394
+ let data = loaders.find((e)=>e.resource.path === path);
395
+ if (!data) throw Error(`"${path}" not match any loader data`);
396
+ let list = getLoadersTransformData(loaders);
397
+ return {
398
+ ...data,
399
+ loaders: data.loaders.map((el)=>({
400
+ ...el,
401
+ loader: getLoadrName(el.loader),
402
+ costs: getLoaderCosts(el, list)
403
+ }))
404
+ };
405
+ }
406
+ function getLoaderFolderStatistics(folder, loaders) {
407
+ let datas = loaders.filter((data)=>{
408
+ let { path } = data.resource;
409
+ return path.startsWith(folder);
410
+ }), filteredLoaders = [], uniqueLoaders = new Map();
411
+ return datas.forEach((data)=>{
412
+ data.loaders.forEach((fl)=>{
413
+ let uniqueLoader = uniqueLoaders.get(fl.loader);
414
+ return uniqueLoader ? uniqueLoaders.set(fl.loader, {
415
+ files: uniqueLoader.files + 1,
416
+ path: fl.path
417
+ }) : uniqueLoaders.set(fl.loader, {
418
+ files: 1,
419
+ path: fl.path
420
+ }), filteredLoaders.push({
421
+ loader: fl.loader,
422
+ startAt: fl.startAt,
423
+ endAt: fl.endAt,
424
+ pid: fl.pid
425
+ });
426
+ });
427
+ }), Array.from(uniqueLoaders).map((uniqueLoader)=>{
428
+ let costs = getLoadersCosts((l)=>l.loader === uniqueLoader[0], filteredLoaders);
429
+ return {
430
+ loader: uniqueLoader[0],
431
+ files: uniqueLoader[1].files,
432
+ path: uniqueLoader[1].path,
433
+ costs
434
+ };
435
+ });
436
+ }
437
+ function collectResourceDirectories(loaders, root) {
438
+ let directories = new Set();
439
+ return loaders.forEach((item)=>{
440
+ if (item.resource.path.startsWith(root)) {
441
+ let pathParts = item.resource.path.split(root).slice(1).join('/').split('/');
442
+ if (pathParts.length >= 2) {
443
+ let twoLevelDir = pathParts.slice(0, 2).join('/');
444
+ directories.add(`${root}/${twoLevelDir}`);
445
+ }
446
+ } else {
447
+ let pathParts = item.resource.path.split('/'), twoLevelDir = pathParts.slice(0, pathParts.length - 1).join('/');
448
+ directories.add(twoLevelDir);
449
+ }
450
+ }), Array.from(directories);
451
+ }
452
+ function getDirectoriesLoaders(loaders, root) {
453
+ return collectResourceDirectories(loaders, root || process.cwd()).map((directory)=>{
454
+ let stats = getLoaderFolderStatistics(directory, loaders);
455
+ return {
456
+ directory,
457
+ stats
458
+ };
459
+ });
460
+ }
461
+ function getLoaderFileFirstInput(file, loaders) {
462
+ for(let i = 0; i < loaders.length; i++){
463
+ let item = loaders[i];
464
+ if (item.resource.path === file) {
465
+ let nonPitchLoaders = item.loaders.filter((e)=>!e.isPitch);
466
+ if (!nonPitchLoaders.length) return '';
467
+ return nonPitchLoaders[0].input || '';
468
+ }
469
+ }
470
+ return '';
471
+ }
472
+ function getLoaderFileInputAndOutput(file, loader, loaderIndex, loaders) {
473
+ for(let i = 0; i < loaders.length; i++){
474
+ let item = loaders[i];
475
+ if (item.resource.path === file) for(let j = 0; j < item.loaders.length; j++){
476
+ let l = item.loaders[j];
477
+ if (l.loader === loader && l.loaderIndex === loaderIndex) return {
478
+ input: l.input || '',
479
+ output: l.result || ''
480
+ };
481
+ return {
482
+ input: '',
483
+ output: ''
484
+ };
485
+ }
486
+ }
487
+ return {
488
+ input: '',
489
+ output: ''
490
+ };
491
+ }
492
+ let LoaderInternalPropertyName = '__l__', isVue = (compiler)=>('module' in compiler.options && compiler.options.module.rules || []).some((rule)=>!!(rule && 'object' == typeof rule && rule.test instanceof RegExp && rule.test?.test('.vue'))), getLoadrName = (loader)=>{
493
+ let regResults = loader.includes('node_modules') ? loader.split('node_modules') : null;
494
+ return regResults ? regResults[regResults.length - 1] : loader;
495
+ }, external_process_namespaceObject = require("process");
496
+ function toFixedDigits(num, digits = 2) {
497
+ return 0 === digits ? Math.floor(num) : +num.toFixed(digits);
498
+ }
499
+ function getUnit(num, type) {
500
+ return 'm' === type ? num > 1 ? 'mins' : 'min' : num > 1 ? 'hours' : 'hour';
501
+ }
502
+ function formatCosts(costs) {
503
+ if ((costs = Number(costs)) >= 1000) {
504
+ let sec = costs / 1000;
505
+ if (sec >= 60) {
506
+ let mins = sec / 60;
507
+ if (mins >= 60) {
508
+ let hours = toFixedDigits(mins / 60, 0), restMins = toFixedDigits(mins % 60, 1), hUnit = getUnit(hours, 'h');
509
+ return restMins > 0 ? `${hours}${hUnit} ${restMins}${getUnit(restMins, 'm')}` : `${hours}${hUnit}`;
510
+ }
511
+ let mUnit = getUnit(mins = toFixedDigits(mins, 0), 'm'), restSec = toFixedDigits(sec % 60, 0);
512
+ return restSec > 0 ? `${mins}${mUnit} ${restSec}s` : `${mins}${mUnit}`;
513
+ }
514
+ return `${toFixedDigits(sec, 1)}s`;
515
+ }
516
+ if (costs >= 10) return `${+toFixedDigits(costs, 0)}ms`;
517
+ if (costs >= 1) return `${+toFixedDigits(costs, 1)}ms`;
518
+ let r = +toFixedDigits(costs, 2);
519
+ return 0 === r && (r = +toFixedDigits(costs, 3)), `${r}ms`;
520
+ }
521
+ function getCurrentTimestamp(start, startHRTime) {
522
+ let endHRTime = (0, external_process_namespaceObject.hrtime)(startHRTime);
523
+ return start + 1000 * endHRTime[0] + (process.env.RSTEST ? Math.round(endHRTime[1] / 1000000) : endHRTime[1] / 1000000);
524
+ }
525
+ function isResolveSuccessData(data) {
526
+ return !!data.result;
527
+ }
528
+ function isResolveFailData(data) {
529
+ return !!data.error;
530
+ }
531
+ function getResolverCosts(resolver, resolvers) {
532
+ let blocked = resolvers.filter((e)=>e !== resolver && e.pid === resolver.pid && e.startAt >= resolver.startAt && e.endAt <= resolver.endAt), costs = resolver.endAt - resolver.startAt;
533
+ return blocked.length && mergeIntervals(blocked.map((e)=>[
534
+ Math.max(e.startAt, resolver.startAt),
535
+ Math.min(e.endAt, resolver.endAt)
536
+ ])).forEach((e)=>{
537
+ let sub = e[1] - e[0];
538
+ costs -= sub;
539
+ }), costs;
540
+ }
541
+ function getResolverFileTree(resolver) {
542
+ return resolver.map((e)=>({
543
+ issuerPath: e.issuerPath
544
+ }));
545
+ }
546
+ function getResolverFileDetails(filepath, resolvers, modules, moduleCodeMap) {
547
+ let module = modules.find((item)=>item.path === filepath), matchResolvers = resolvers.filter((e)=>e.issuerPath === filepath), before = module && moduleCodeMap && moduleCodeMap[module.id] ? moduleCodeMap[module.id].source : '', after = matchResolvers.reduce((t, c)=>c.request && isResolveSuccessData(c) ? t.replace(RegExp(`["']${c.request}["']`), `"${c.result}"`) : t, before);
548
+ return {
549
+ filepath,
550
+ before,
551
+ after,
552
+ resolvers: matchResolvers.map((e)=>({
553
+ ...e,
554
+ costs: getResolverCosts(e, resolvers)
555
+ }))
556
+ };
557
+ }
558
+ function getChunkIdsByAsset(asset) {
559
+ return asset.chunks ? asset.chunks : [];
560
+ }
561
+ function getChunksByModule(module, chunks) {
562
+ return module.chunks.length ? getChunksByChunkIds(module.chunks, chunks) : [];
563
+ }
564
+ function getChunkByChunkId(chunkId, chunks) {
565
+ return chunks.find((e)=>e.id === chunkId);
566
+ }
567
+ function getChunksByChunkIds(chunkIds, chunks, filters) {
568
+ return chunkIds.length ? chunkIds.map((id)=>chunks.find((e)=>e.id === id)).filter(Boolean).map((chunk)=>{
569
+ if (filters && filters.length > 0) {
570
+ let filtered = {};
571
+ for (let key of filters)void 0 !== chunk[key] && (filtered[key] = chunk[key]);
572
+ return filtered;
573
+ }
574
+ return chunk;
575
+ }) : [];
576
+ }
577
+ function getChunksByAsset(asset, chunks, filters) {
578
+ return getChunksByChunkIds(getChunkIdsByAsset(asset), chunks, filters);
579
+ }
580
+ function getChunksByModuleId(id, modules, chunks) {
581
+ let mod = modules.find((e)=>e.id === id);
582
+ return mod ? getChunksByModule(mod, chunks) : [];
583
+ }
584
+ function getDependencyByPackageData(dep, dependencies) {
585
+ return dependencies.find((item)=>item.id === dep.dependencyId);
586
+ }
587
+ function getDependenciesByModule(module, dependencies) {
588
+ return module.dependencies.map((id)=>dependencies.find((dep)=>dep.id === id)).filter(Boolean);
589
+ }
590
+ function getDependencyByResolvedRequest(resolvedRequest, dependencies) {
591
+ return dependencies.find((e)=>e.resolvedRequest === resolvedRequest);
592
+ }
593
+ function isStyleExt(path) {
594
+ return /\.(c|le|sa|sc)ss(\?.*)?$/.test(path);
595
+ }
596
+ function isJsExt(path) {
597
+ return /\.(js|ts|jsx|tsx)(\?.*)?$/.test(path);
598
+ }
599
+ function getModulesByAsset(asset, chunks, modules, filterModules, checkModules) {
600
+ let cks = getChunksByChunkIds(getChunkIdsByAsset(asset), chunks);
601
+ return getModulesByChunks(asset.path, cks, modules, filterModules, checkModules);
602
+ }
603
+ function getModuleIdsByChunk(chunk) {
604
+ let { modules = [] } = chunk;
605
+ return modules;
606
+ }
607
+ function getModuleIdsByModulesIds(moduleIds, modules) {
608
+ return moduleIds.map((id)=>modules.find((m)=>m.id === id)).filter(Boolean);
609
+ }
610
+ function getModulesByChunk(chunk, modules, filterModules) {
611
+ return getModuleIdsByChunk(chunk).map((id)=>{
612
+ let module = modules.find((e)=>e.id === id);
613
+ if (filterModules && filterModules.length > 0) {
614
+ if (!module) return null;
615
+ let filtered = {};
616
+ for (let key of filterModules)void 0 !== module[key] && (filtered[key] = module[key]);
617
+ return filtered;
618
+ }
619
+ return module;
620
+ }).filter(Boolean);
621
+ }
622
+ function getTypeChecker(assetPath) {
623
+ return isStyleExt(assetPath) ? isStyleExt : isJsExt(assetPath) ? isJsExt : ()=>!0;
624
+ }
625
+ function getModulesByChunks(assetPath, chunks, modules, filterModules, checkModules) {
626
+ let res = [], typeChecker = getTypeChecker(assetPath);
627
+ try {
628
+ chunks.forEach((chunk)=>{
629
+ getModulesByChunk(chunk, modules, filterModules).forEach((md)=>{
630
+ let name = md.path || '';
631
+ typeChecker(name) && (!checkModules || checkModules(md)) && !res.filter((_m)=>_m.id === md.id).length && res.push(md);
632
+ });
633
+ });
634
+ } catch (error) {
635
+ rsdoctorLogger.debug(error);
636
+ }
637
+ return res;
638
+ }
639
+ function getModuleByDependency(dep, modules) {
640
+ return modules.find((item)=>item.id === dep.module);
641
+ }
642
+ function filterModulesAndDependenciesByPackageDeps(deps, dependencies, modules) {
643
+ let _dependencies = [], _modules = [];
644
+ for(let i = 0; i < deps.length; i++){
645
+ let dep = getDependencyByPackageData(deps[i], dependencies);
646
+ if (dep) {
647
+ _dependencies.push(dep);
648
+ let module = getModuleByDependency(dep, modules);
649
+ module && _modules.push(module);
650
+ }
651
+ }
652
+ return {
653
+ dependencies: _dependencies,
654
+ modules: _modules
655
+ };
656
+ }
657
+ function getModuleDetails(moduleId, modules, dependencies) {
658
+ let module = modules.find((e)=>e.id === moduleId);
659
+ return {
660
+ module,
661
+ dependencies: getDependenciesByModule(module, dependencies)
662
+ };
663
+ }
664
+ let EXT = 'js|css|html', hashPattern = /[a-z|A-Z|0-9]{4,32}/, hashSeparatorPattern = /[-|.]/, fileExtensionPattern = /(?:\.[a-z|A-Z|0-9]{2,}){1,}/, filenamePattern = RegExp(`(.*)${hashSeparatorPattern.source}${hashPattern.source}(${fileExtensionPattern.source})$`);
665
+ function formatAssetName(assetName, fileConfig) {
666
+ let splitFilesList = fileConfig?.split('.'), outputFileTailName = '', unHashedFileName = assetName;
667
+ return splitFilesList?.length && splitFilesList.length >= 3 && splitFilesList[splitFilesList.length - 2]?.indexOf('[') < 0 && 'js|css|html'.indexOf(splitFilesList[splitFilesList.length - 1]) > -1 ? (outputFileTailName = splitFilesList[splitFilesList.length - 2], unHashedFileName = assetName.replace(/(.*)(\.[a-f0-9]{4,32})([^.]*.[^.]+){2,}/g, '$1'), `${unHashedFileName}.${outputFileTailName}.${assetName.substring(assetName.lastIndexOf('.') + 1)}`) : assetName.replace(filenamePattern, '$1$2');
668
+ }
669
+ function isAssetMatchExtension(asset, ext) {
670
+ return asset.path.slice(-ext.length) === ext || extname(asset.path) === ext;
671
+ }
672
+ function isAssetMatchExtensions(asset, exts) {
673
+ return !!exts.length && exts.some((ext)=>isAssetMatchExtension(asset, ext));
674
+ }
675
+ function filterAssetsByExtensions(assets, exts) {
676
+ return 'string' == typeof exts ? assets.filter((e)=>isAssetMatchExtension(e, exts)) : Array.isArray(exts) ? assets.filter((e)=>isAssetMatchExtensions(e, exts)) : [];
677
+ }
678
+ function filterAssets(assets, filterOrExtensions) {
679
+ return filterOrExtensions && (assets = 'function' == typeof filterOrExtensions ? assets.filter(filterOrExtensions) : filterAssetsByExtensions(assets, filterOrExtensions)), assets;
680
+ }
681
+ function getAssetsSizeInfo(assets, chunks, options = {}) {
682
+ let { withFileContent = !0, filterOrExtensions } = options;
683
+ return (assets = assets.filter((e)=>!isAssetMatchExtensions(e, types_namespaceObject.Constants.MapExtensions)), filterOrExtensions && (assets = filterAssets(assets, filterOrExtensions)), assets.length) ? {
684
+ count: assets.length,
685
+ size: assets.reduce((t, c)=>t + c.size, 0),
686
+ files: assets.map((e)=>({
687
+ path: e.path,
688
+ size: e.size,
689
+ gzipSize: e.gzipSize,
690
+ initial: isInitialAsset(e, chunks),
691
+ content: withFileContent ? e.content : void 0
692
+ }))
693
+ } : {
694
+ count: 0,
695
+ size: 0,
696
+ files: []
697
+ };
698
+ }
699
+ function isInitialAsset(asset, chunks) {
700
+ return getChunksByAsset(asset, chunks).some((e)=>!!e.initial);
701
+ }
702
+ function getInitialAssetsSizeInfo(assets, chunks, options = {}) {
703
+ return options.filterOrExtensions && (assets = filterAssets(assets, options.filterOrExtensions)), getAssetsSizeInfo(assets, chunks, {
704
+ ...options,
705
+ filterOrExtensions: (asset)=>isInitialAsset(asset, chunks)
706
+ });
707
+ }
708
+ function getAssetsDiffResult(baseline, current) {
709
+ return {
710
+ all: {
711
+ total: diffAssetsByExtensions(baseline, current)
712
+ },
713
+ js: {
714
+ total: diffAssetsByExtensions(baseline, current, types_namespaceObject.Constants.JSExtension),
715
+ initial: diffAssetsByExtensions(baseline, current, types_namespaceObject.Constants.JSExtension, !0)
716
+ },
717
+ css: {
718
+ total: diffAssetsByExtensions(baseline, current, types_namespaceObject.Constants.CSSExtension),
719
+ initial: diffAssetsByExtensions(baseline, current, types_namespaceObject.Constants.CSSExtension, !0)
720
+ },
721
+ imgs: {
722
+ total: diffAssetsByExtensions(baseline, current, types_namespaceObject.Constants.ImgExtensions)
723
+ },
724
+ html: {
725
+ total: diffAssetsByExtensions(baseline, current, types_namespaceObject.Constants.HtmlExtension)
726
+ },
727
+ media: {
728
+ total: diffAssetsByExtensions(baseline, current, types_namespaceObject.Constants.MediaExtensions)
729
+ },
730
+ fonts: {
731
+ total: diffAssetsByExtensions(baseline, current, types_namespaceObject.Constants.FontExtensions)
732
+ },
733
+ others: {
734
+ total: diffAssetsByExtensions(baseline, current, (asset)=>!isAssetMatchExtensions(asset, [
735
+ types_namespaceObject.Constants.JSExtension,
736
+ types_namespaceObject.Constants.CSSExtension,
737
+ types_namespaceObject.Constants.HtmlExtension
738
+ ].concat(types_namespaceObject.Constants.ImgExtensions, types_namespaceObject.Constants.MediaExtensions, types_namespaceObject.Constants.FontExtensions, types_namespaceObject.Constants.MapExtensions)))
739
+ }
740
+ };
741
+ }
742
+ function diffSize(bSize, cSize) {
743
+ let isEqual = bSize === cSize;
744
+ return {
745
+ percent: isEqual ? 0 : 0 === bSize ? 100 : Math.abs(cSize - bSize) / bSize * 100,
746
+ state: isEqual ? types_namespaceObject.Client.RsdoctorClientDiffState.Equal : bSize > cSize ? types_namespaceObject.Client.RsdoctorClientDiffState.Down : types_namespaceObject.Client.RsdoctorClientDiffState.Up
747
+ };
748
+ }
749
+ function diffAssetsByExtensions(baseline, current, filterOrExtensions, isInitial = !1) {
750
+ let cSize, cCount, { size: bSize, count: bCount } = isInitial ? getInitialAssetsSizeInfo(baseline.assets, baseline.chunks, {
751
+ filterOrExtensions
752
+ }) : getAssetsSizeInfo(baseline.assets, baseline.chunks, {
753
+ filterOrExtensions
754
+ });
755
+ if (baseline === current) cSize = bSize, cCount = bCount;
756
+ else {
757
+ let { size, count } = isInitial ? getInitialAssetsSizeInfo(current.assets, current.chunks, {
758
+ filterOrExtensions
759
+ }) : getAssetsSizeInfo(current.assets, current.chunks, {
760
+ filterOrExtensions
761
+ });
762
+ cSize = size, cCount = count;
763
+ }
764
+ let { percent, state } = diffSize(bSize, cSize);
765
+ return {
766
+ size: {
767
+ baseline: bSize,
768
+ current: cSize
769
+ },
770
+ count: {
771
+ baseline: bCount,
772
+ current: cCount
773
+ },
774
+ percent,
775
+ state
776
+ };
777
+ }
778
+ function getAssetsSummary(assets, chunks, options = {}) {
779
+ let jsOpt = {
780
+ ...options,
781
+ filterOrExtensions: types_namespaceObject.Constants.JSExtension
782
+ }, cssOpt = {
783
+ ...options,
784
+ filterOrExtensions: types_namespaceObject.Constants.CSSExtension
785
+ }, imgOpt = {
786
+ ...options,
787
+ filterOrExtensions: types_namespaceObject.Constants.ImgExtensions
788
+ }, htmlOpt = {
789
+ ...options,
790
+ filterOrExtensions: types_namespaceObject.Constants.HtmlExtension
791
+ }, mediaOpt = {
792
+ ...options,
793
+ filterOrExtensions: types_namespaceObject.Constants.MediaExtensions
794
+ }, fontOpt = {
795
+ ...options,
796
+ filterOrExtensions: types_namespaceObject.Constants.FontExtensions
797
+ }, otherOpt = {
798
+ ...options,
799
+ filterOrExtensions: (asset)=>!isAssetMatchExtensions(asset, [
800
+ types_namespaceObject.Constants.JSExtension,
801
+ types_namespaceObject.Constants.CSSExtension,
802
+ types_namespaceObject.Constants.HtmlExtension
803
+ ].concat(types_namespaceObject.Constants.ImgExtensions, types_namespaceObject.Constants.MediaExtensions, types_namespaceObject.Constants.FontExtensions, types_namespaceObject.Constants.MapExtensions))
804
+ };
805
+ return {
806
+ all: {
807
+ total: getAssetsSizeInfo(assets, chunks, options)
808
+ },
809
+ js: {
810
+ total: getAssetsSizeInfo(assets, chunks, jsOpt),
811
+ initial: getInitialAssetsSizeInfo(assets, chunks, jsOpt)
812
+ },
813
+ css: {
814
+ total: getAssetsSizeInfo(assets, chunks, cssOpt),
815
+ initial: getInitialAssetsSizeInfo(assets, chunks, cssOpt)
816
+ },
817
+ imgs: {
818
+ total: getAssetsSizeInfo(assets, chunks, imgOpt)
819
+ },
820
+ html: {
821
+ total: getAssetsSizeInfo(assets, chunks, htmlOpt)
822
+ },
823
+ media: {
824
+ total: getAssetsSizeInfo(assets, chunks, mediaOpt)
825
+ },
826
+ fonts: {
827
+ total: getAssetsSizeInfo(assets, chunks, fontOpt)
828
+ },
829
+ others: {
830
+ total: getAssetsSizeInfo(assets, chunks, otherOpt)
831
+ }
832
+ };
833
+ }
834
+ function getAssetDetails(assetPath, assets, chunks, modules, checkModules) {
835
+ let asset = assets.find((e)=>e.path === assetPath);
836
+ return {
837
+ asset,
838
+ chunks: getChunksByAsset(asset, chunks),
839
+ modules: getModulesByAsset(asset, chunks, modules, void 0, checkModules)
840
+ };
841
+ }
842
+ function getAllBundleData(assets, chunks, modules, filtersModules) {
843
+ let result = [];
844
+ try {
845
+ for(let i = 0; i < assets.length; i++){
846
+ let asset = assets[i];
847
+ result.push({
848
+ asset,
849
+ modules: getModulesByAsset(asset, chunks, modules, filtersModules)
850
+ });
851
+ }
852
+ return result;
853
+ } catch (error) {
854
+ return console.error(error), [];
855
+ }
856
+ }
857
+ function extname(filename) {
858
+ let matches = filename.split('?')[0].match(/\.([0-9a-z]+)(?:[\?#]|$)/i);
859
+ return matches ? `.${matches[1]}` : '';
860
+ }
861
+ function getEntryPoints(entrypoints) {
862
+ return entrypoints;
863
+ }
864
+ let bundle_sep = ',';
865
+ function getBundleDiffPageQueryString(files) {
866
+ let qs = encodeURIComponent(files.join(','));
867
+ return qs && (qs = `?${types_namespaceObject.Client.RsdoctorClientUrlQuery.BundleDiffFiles}=${qs}`), qs;
868
+ }
869
+ function getBundleDiffPageUrl(files) {
870
+ let qs = getBundleDiffPageQueryString(files);
871
+ if ('development' === process.env.NODE_ENV && 'undefined' != typeof location) {
872
+ let { search = '', origin } = location;
873
+ return search && (qs += `&${search.slice(1)}`), `${origin}${qs}#${types_namespaceObject.Client.RsdoctorClientRoutes.BundleDiff}`;
874
+ }
875
+ return `${qs}#${types_namespaceObject.Client.RsdoctorClientRoutes.BundleDiff}`;
876
+ }
877
+ function parseFilesFromBundlePageUrlQuery(queryValue) {
878
+ return decodeURIComponent(queryValue).split(',');
879
+ }
880
+ function getPluginHooks(plugin) {
881
+ return Object.keys(plugin);
882
+ }
883
+ function getPluginTapNames(plugin) {
884
+ let hooks = getPluginHooks(plugin), tapNames = new Set();
885
+ return hooks.forEach((hook)=>{
886
+ plugin[hook].forEach((data)=>{
887
+ tapNames.add(data.tapName);
888
+ });
889
+ }), [
890
+ ...tapNames
891
+ ];
892
+ }
893
+ function getPluginSummary(plugin) {
894
+ return {
895
+ hooks: getPluginHooks(plugin),
896
+ tapNames: getPluginTapNames(plugin)
897
+ };
898
+ }
899
+ function getPluginData(plugin, selectedHooks = [], selectedTapNames = []) {
900
+ let hooks = getPluginHooks(plugin).filter((hook)=>!selectedHooks.length || -1 !== selectedHooks.indexOf(hook));
901
+ return hooks.length ? getPluginTapNames(plugin).reduce((total, tapName)=>(selectedTapNames.length && -1 === selectedTapNames.indexOf(tapName) || hooks.forEach((hook)=>{
902
+ let hookData = plugin[hook].filter((e)=>e.tapName === tapName);
903
+ 0 !== hookData.length && total.push({
904
+ tapName,
905
+ hook,
906
+ data: hookData.map((e)=>({
907
+ startAt: e.startAt,
908
+ endAt: e.endAt,
909
+ costs: e.costs,
910
+ type: e.type
911
+ }))
912
+ });
913
+ }), total), []) : [];
914
+ }
915
+ function getPackageRelationAlertDetails(modules, dependencies, root, packageDependencies, moduleCodeMap) {
916
+ return packageDependencies.slice().reverse().map((dep)=>{
917
+ let dependency = dependencies.find((item)=>item.id === dep.dependencyId);
918
+ if (!dependency) return null;
919
+ let module = modules.find((item)=>item.id === dependency.module);
920
+ return module ? {
921
+ group: dep.group,
922
+ module,
923
+ dependency,
924
+ relativePath: (0, external_path_namespaceObject.relative)(root, module.path),
925
+ moduleCode: moduleCodeMap?.[module.id]
926
+ } : null;
927
+ }).filter(Boolean);
928
+ }
929
+ let RspackLoaderInternalPropertyName = '__l__';
930
+ var rspack_RspackSummaryCostsDataName = function(RspackSummaryCostsDataName) {
931
+ return RspackSummaryCostsDataName.Bootstrap = "bootstrap->rspack:beforeCompile", RspackSummaryCostsDataName.Compile = "rspack:beforeCompile->afterCompile", RspackSummaryCostsDataName.Done = "rspack:afterCompile->done", RspackSummaryCostsDataName.Minify = "rspack:minify(rspack:optimizeChunkAssets)", RspackSummaryCostsDataName;
932
+ }({});
933
+ function checkSourceMapSupport(configs) {
934
+ if (!Array.isArray(configs) || !configs[0]) return {
935
+ isRspack: !1,
936
+ hasSourceMap: !1
937
+ };
938
+ let isRspack = 'rspack' === configs[0].name && configs[0]?.config?.name !== 'lynx', devtool = configs[0].config?.devtool, plugins = configs[0].config?.plugins, hasLynxSourcemapPlugin = plugins?.filter((plugin)=>plugin && plugin.includes('SourceMapDevToolPlugin'));
939
+ return {
940
+ isRspack,
941
+ hasSourceMap: 'string' == typeof devtool && devtool.includes('source-map') && !devtool.includes('eval') || !!hasLynxSourcemapPlugin?.length
942
+ };
943
+ }
944
+ class APIDataLoader {
945
+ loader;
946
+ constructor(loader){
947
+ this.loader = loader, this.loadAPI = this.loadAPI.bind(this);
948
+ }
949
+ log(...args) {
950
+ console.log(`[${this.constructor.name}]`, ...args);
951
+ }
952
+ loadAPI(...args) {
953
+ let [api, body] = args;
954
+ switch(api){
955
+ case types_namespaceObject.SDK.ServerAPI.API.LoadDataByKey:
956
+ return this.loader.loadData(body.key);
957
+ case types_namespaceObject.SDK.ServerAPI.API.GetProjectInfo:
958
+ return Promise.all([
959
+ this.loader.loadData('root'),
960
+ this.loader.loadData('pid'),
961
+ this.loader.loadData('hash'),
962
+ this.loader.loadData('summary'),
963
+ this.loader.loadData('configs'),
964
+ this.loader.loadData('envinfo'),
965
+ this.loader.loadData('errors')
966
+ ]).then(([root, pid, hash, summary, configs, envinfo, errors])=>({
967
+ root,
968
+ pid,
969
+ hash,
970
+ summary,
971
+ configs,
972
+ envinfo,
973
+ errors
974
+ }));
975
+ case types_namespaceObject.SDK.ServerAPI.API.GetClientRoutes:
976
+ if ('undefined' != typeof window && window?.[types_namespaceObject.Constants.WINDOW_RSDOCTOR_TAG]) return window[types_namespaceObject.Constants.WINDOW_RSDOCTOR_TAG].enableRoutes;
977
+ return this.loader.loadManifest().then((res)=>{
978
+ let { enableRoutes = [] } = res.client || {};
979
+ return enableRoutes;
980
+ });
981
+ case types_namespaceObject.SDK.ServerAPI.API.GetLoaderNames:
982
+ return this.loader.loadData('loader').then((res)=>getLoaderNames(res || []));
983
+ case types_namespaceObject.SDK.ServerAPI.API.GetLayers:
984
+ return this.loader.loadData('moduleGraph').then((res)=>{
985
+ let { layers } = res || {};
986
+ return layers;
987
+ });
988
+ case types_namespaceObject.SDK.ServerAPI.API.GetLoaderChartData:
989
+ return this.loader.loadData('loader').then((res)=>getLoaderChartData(res || []));
990
+ case types_namespaceObject.SDK.ServerAPI.API.GetLoaderFileTree:
991
+ return this.loader.loadData('loader').then((res)=>getLoaderFileTree(res || []));
992
+ case types_namespaceObject.SDK.ServerAPI.API.GetLoaderFileDetails:
993
+ return this.loader.loadData('loader').then((res)=>getLoaderFileDetails(body.path, res || []));
994
+ case types_namespaceObject.SDK.ServerAPI.API.GetLoaderFolderStatistics:
995
+ return this.loader.loadData('loader').then((res)=>getLoaderFolderStatistics(body.folder, res || []));
996
+ case types_namespaceObject.SDK.ServerAPI.API.GetLoaderFileFirstInput:
997
+ return this.loader.loadData('loader').then((res)=>getLoaderFileFirstInput(body.file, res || []));
998
+ case types_namespaceObject.SDK.ServerAPI.API.GetLoaderFileInputAndOutput:
999
+ return this.loader.loadData('loader').then((res)=>getLoaderFileFirstInput(body.file, res || []));
1000
+ case types_namespaceObject.SDK.ServerAPI.API.GetResolverFileTree:
1001
+ return this.loader.loadData('resolver').then((res)=>getResolverFileTree(res || []));
1002
+ case types_namespaceObject.SDK.ServerAPI.API.GetResolverFileDetails:
1003
+ return Promise.all([
1004
+ this.loader.loadData('resolver'),
1005
+ this.loader.loadData('moduleGraph.modules'),
1006
+ this.loader.loadData('moduleCodeMap')
1007
+ ]).then((res)=>{
1008
+ let resolverData = res[0], modules = res[1], moduleCodeMap = res[2];
1009
+ return getResolverFileDetails(body.filepath, resolverData || [], modules || [], moduleCodeMap || {});
1010
+ });
1011
+ case types_namespaceObject.SDK.ServerAPI.API.GetPluginSummary:
1012
+ return this.loader.loadData('plugin').then((res)=>getPluginSummary(res || {}));
1013
+ case types_namespaceObject.SDK.ServerAPI.API.GetPluginData:
1014
+ return this.loader.loadData('plugin').then((res)=>{
1015
+ let { hooks, tapNames } = body;
1016
+ return getPluginData(res || {}, hooks, tapNames);
1017
+ });
1018
+ case types_namespaceObject.SDK.ServerAPI.API.GetAssetsSummary:
1019
+ return this.loader.loadData('chunkGraph').then((res)=>{
1020
+ let { withFileContent = !0 } = body, { assets = [], chunks = [] } = res || {};
1021
+ return getAssetsSummary(assets, chunks, {
1022
+ withFileContent
1023
+ });
1024
+ });
1025
+ case types_namespaceObject.SDK.ServerAPI.API.GetAssetDetails:
1026
+ return Promise.all([
1027
+ this.loader.loadData('chunkGraph'),
1028
+ this.loader.loadData('moduleGraph'),
1029
+ this.loader.loadData('configs')
1030
+ ]).then((res)=>{
1031
+ let { assetPath } = body, { isRspack, hasSourceMap } = checkSourceMapSupport(res[2] || []), { assets = [], chunks = [] } = res[0] || {}, { modules = [] } = res[1] || {};
1032
+ return getAssetDetails(assetPath, assets, chunks, modules, isRspack || hasSourceMap ? (_module)=>!0 : ()=>!0);
1033
+ });
1034
+ case types_namespaceObject.SDK.ServerAPI.API.GetSummaryBundles:
1035
+ return Promise.all([
1036
+ this.loader.loadData('chunkGraph'),
1037
+ this.loader.loadData('moduleGraph')
1038
+ ]).then((res)=>{
1039
+ let { assets = [], chunks = [] } = res[0] || {}, { modules = [] } = res[1] || {};
1040
+ return getAllBundleData(assets, chunks, modules, [
1041
+ 'id',
1042
+ 'path',
1043
+ 'size',
1044
+ 'kind'
1045
+ ]);
1046
+ });
1047
+ case types_namespaceObject.SDK.ServerAPI.API.GetChunksByModuleId:
1048
+ return Promise.all([
1049
+ this.loader.loadData('chunkGraph'),
1050
+ this.loader.loadData('moduleGraph')
1051
+ ]).then((res)=>{
1052
+ let { moduleId } = body, { chunks = [] } = res[0] || {}, { modules = [] } = res[1] || {};
1053
+ return getChunksByModuleId(moduleId, modules, chunks);
1054
+ });
1055
+ case types_namespaceObject.SDK.ServerAPI.API.GetModuleDetails:
1056
+ return Promise.all([
1057
+ this.loader.loadData('chunkGraph'),
1058
+ this.loader.loadData('moduleGraph')
1059
+ ]).then((res)=>{
1060
+ let { moduleId } = body, { modules = [], dependencies = [] } = res[1] || {};
1061
+ return getModuleDetails(moduleId, modules, dependencies);
1062
+ });
1063
+ case types_namespaceObject.SDK.ServerAPI.API.GetModulesByModuleIds:
1064
+ return this.loader.loadData('moduleGraph').then((res)=>{
1065
+ let { moduleIds } = body, { modules = [] } = res || {};
1066
+ return getModuleIdsByModulesIds(moduleIds, modules);
1067
+ });
1068
+ case types_namespaceObject.SDK.ServerAPI.API.GetEntryPoints:
1069
+ return Promise.all([
1070
+ this.loader.loadData('chunkGraph')
1071
+ ]).then((res)=>{
1072
+ let [chunkGraph] = res, { entrypoints = [] } = chunkGraph || {};
1073
+ return getEntryPoints(entrypoints);
1074
+ });
1075
+ case types_namespaceObject.SDK.ServerAPI.API.GetModuleCodeByModuleId:
1076
+ return this.loader.loadData('moduleCodeMap').then((moduleCodeMap)=>{
1077
+ let { moduleId } = body;
1078
+ return moduleCodeMap ? moduleCodeMap[moduleId] : {
1079
+ source: '',
1080
+ transformed: '',
1081
+ parsedSource: ''
1082
+ };
1083
+ });
1084
+ case types_namespaceObject.SDK.ServerAPI.API.GetModuleCodeByModuleIds:
1085
+ return this.loader.loadData('moduleCodeMap').then((moduleCodeMap)=>{
1086
+ let { moduleIds } = body, _moduleCodeData = {};
1087
+ return moduleCodeMap ? (moduleIds.forEach((id)=>{
1088
+ _moduleCodeData[id] = moduleCodeMap[id];
1089
+ }), _moduleCodeData) : [];
1090
+ });
1091
+ case types_namespaceObject.SDK.ServerAPI.API.GetAllModuleGraph:
1092
+ return this.loader.loadData('moduleGraph').then((moduleGraph)=>moduleGraph?.modules);
1093
+ case types_namespaceObject.SDK.ServerAPI.API.GetSearchModules:
1094
+ return Promise.all([
1095
+ this.loader.loadData('moduleGraph'),
1096
+ this.loader.loadData('chunkGraph')
1097
+ ]).then((res)=>{
1098
+ let [moduleGraph, chunkGraph] = res, { moduleName } = body;
1099
+ if (!moduleName) return [];
1100
+ let assetMap = chunkGraph.chunks.reduce((acc, chunk)=>(chunk.assets.forEach((asset)=>{
1101
+ acc[chunk.id] || (acc[chunk.id] = []), acc[chunk.id].push(asset);
1102
+ }), acc), {}), searchedChunksMap = new Map();
1103
+ return moduleGraph?.modules.filter((module)=>{
1104
+ module.webpackId.includes(moduleName) && module.chunks.forEach((chunk)=>{
1105
+ searchedChunksMap.has(chunk) || (assetMap[chunk] || []).forEach((asset)=>{
1106
+ asset.endsWith('.js') && searchedChunksMap.set(chunk, asset);
1107
+ });
1108
+ });
1109
+ }), Object.fromEntries(searchedChunksMap);
1110
+ });
1111
+ case types_namespaceObject.SDK.ServerAPI.API.GetSearchModuleInChunk:
1112
+ return Promise.all([
1113
+ this.loader.loadData('moduleGraph'),
1114
+ this.loader.loadData('root')
1115
+ ]).then((res)=>{
1116
+ let [moduleGraph, root] = res, { moduleName, chunk } = body;
1117
+ return moduleName ? moduleGraph?.modules.filter((module)=>module.webpackId.includes(moduleName) && module.chunks.includes(chunk)).map((filteredModule)=>({
1118
+ id: filteredModule.id,
1119
+ path: filteredModule.path,
1120
+ relativePath: (0, external_path_namespaceObject.relative)(root, filteredModule.path)
1121
+ })) : [];
1122
+ });
1123
+ case types_namespaceObject.SDK.ServerAPI.API.GetAllChunkGraph:
1124
+ return this.loader.loadData('chunkGraph').then((chunkGraph)=>chunkGraph?.chunks);
1125
+ case types_namespaceObject.SDK.ServerAPI.API.GetPackageRelationAlertDetails:
1126
+ return Promise.all([
1127
+ this.loader.loadData('moduleGraph'),
1128
+ this.loader.loadData('errors'),
1129
+ this.loader.loadData('root'),
1130
+ this.loader.loadData('moduleCodeMap')
1131
+ ]).then((res)=>{
1132
+ let { id, target } = body, [moduleGraph, errors = [], root = '', moduleCodeMap] = res, { modules = [], dependencies = [] } = moduleGraph || {}, { packages = [] } = errors.find((e)=>e.id === id) || {}, { dependencies: pkgDependencies = [] } = packages.find((e)=>e.target.name === target.name && e.target.root === target.root && e.target.version === target.version) || {};
1133
+ return getPackageRelationAlertDetails(modules, dependencies, root, pkgDependencies, moduleCodeMap || {});
1134
+ });
1135
+ case types_namespaceObject.SDK.ServerAPI.API.GetOverlayAlerts:
1136
+ return this.loader.loadData('errors').then((res)=>(res || []).filter((e)=>e.code === types_namespaceObject.Rule.RuleMessageCodeEnumerated.Overlay));
1137
+ case types_namespaceObject.SDK.ServerAPI.API.BundleDiffManifest:
1138
+ return this.loader.loadManifest();
1139
+ case types_namespaceObject.SDK.ServerAPI.API.GetBundleDiffSummary:
1140
+ return Promise.all([
1141
+ this.loader.loadManifest(),
1142
+ this.loader.loadData('root'),
1143
+ this.loader.loadData('hash'),
1144
+ this.loader.loadData('errors'),
1145
+ this.loader.loadData('chunkGraph'),
1146
+ this.loader.loadData('moduleGraph'),
1147
+ this.loader.loadData('moduleCodeMap'),
1148
+ this.loader.loadData('packageGraph'),
1149
+ this.loader.loadData('configs')
1150
+ ]).then(([_manifest, root = '', hash = '', errors = {}, chunkGraph = {}, moduleGraph = {}, moduleCodeMap = {}, packageGraph = {}, configs = []])=>{
1151
+ let outputFilename = '';
1152
+ return 'string' == typeof configs[0]?.config?.output?.chunkFilename && (outputFilename = configs[0]?.config.output.chunkFilename), {
1153
+ root,
1154
+ hash,
1155
+ errors,
1156
+ chunkGraph,
1157
+ moduleGraph,
1158
+ packageGraph,
1159
+ outputFilename,
1160
+ moduleCodeMap
1161
+ };
1162
+ });
1163
+ case types_namespaceObject.SDK.ServerAPI.API.GetChunkGraph:
1164
+ return this.loader.loadData('chunkGraph').then((res)=>{
1165
+ let { chunks = [] } = res || {};
1166
+ return chunks;
1167
+ });
1168
+ case types_namespaceObject.SDK.ServerAPI.API.GetAllModuleGraphFilter:
1169
+ return this.loader.loadData('moduleGraph').then((moduleGraph)=>moduleGraph?.modules.map((m)=>({
1170
+ id: m.id,
1171
+ webpackId: m.webpackId,
1172
+ path: m.path,
1173
+ size: m.size,
1174
+ chunks: m.chunks,
1175
+ kind: m.kind
1176
+ })));
1177
+ case types_namespaceObject.SDK.ServerAPI.API.GetModuleByName:
1178
+ return this.loader.loadData('moduleGraph').then((moduleGraph)=>{
1179
+ let { moduleName } = body, { modules = [] } = moduleGraph || {};
1180
+ return modules.filter((m)=>m.path.includes(moduleName)).map((m)=>({
1181
+ id: m.id,
1182
+ path: m.path
1183
+ })) || [];
1184
+ });
1185
+ case types_namespaceObject.SDK.ServerAPI.API.GetModuleIssuerPath:
1186
+ return this.loader.loadData('moduleGraph').then((moduleGraph)=>{
1187
+ let { moduleId } = body, modules = moduleGraph?.modules || [], issuerPath = modules.find((m)=>String(m.id) === moduleId)?.issuerPath || [];
1188
+ return Array.isArray(issuerPath) && issuerPath.length > 0 && 'number' == typeof issuerPath[0] ? issuerPath.map((id)=>modules.find((m)=>m.id === id)?.path).filter(Boolean) : issuerPath;
1189
+ });
1190
+ case types_namespaceObject.SDK.ServerAPI.API.GetPackageInfo:
1191
+ return this.loader.loadData('packageGraph').then((packageGraph)=>packageGraph?.packages);
1192
+ case types_namespaceObject.SDK.ServerAPI.API.GetPackageDependency:
1193
+ return this.loader.loadData('packageGraph').then((packageGraph)=>packageGraph?.dependencies || []);
1194
+ case types_namespaceObject.SDK.ServerAPI.API.GetChunkGraphAI:
1195
+ return this.loader.loadData('chunkGraph').then((res)=>{
1196
+ let { chunks = [] } = res || {};
1197
+ return chunks.map(({ modules, ...rest })=>rest);
1198
+ });
1199
+ case types_namespaceObject.SDK.ServerAPI.API.GetChunkByIdAI:
1200
+ return Promise.all([
1201
+ this.loader.loadData('chunkGraph'),
1202
+ this.loader.loadData('moduleGraph')
1203
+ ]).then(([chunkGraph, moduleGraph])=>{
1204
+ let { chunks = [] } = chunkGraph || {}, { modules = [] } = moduleGraph || {}, { chunkId } = body, chunkInfo = chunks.find((c)=>c.id === chunkId);
1205
+ if (!chunkInfo) return null;
1206
+ let chunkModules = modules.filter((m)=>chunkInfo.modules.includes(m.id)).map((module)=>({
1207
+ id: module.id,
1208
+ path: module.path,
1209
+ size: module.size,
1210
+ chunks: module.chunks,
1211
+ kind: module.kind,
1212
+ issuerPath: module.issuerPath
1213
+ }));
1214
+ return chunkInfo.modulesInfo = chunkModules, chunkInfo;
1215
+ });
1216
+ case types_namespaceObject.SDK.ServerAPI.API.GetDirectoriesLoaders:
1217
+ return Promise.all([
1218
+ this.loader.loadData('root'),
1219
+ this.loader.loadData('loader')
1220
+ ]).then(([root, loaders])=>getDirectoriesLoaders(loaders || [], root || ''));
1221
+ default:
1222
+ throw Error(`API not implement: "${api}"`);
1223
+ }
1224
+ }
1225
+ }
1226
+ function isUndefined(value) {
1227
+ return void 0 === value;
1228
+ }
1229
+ function isNumber(value) {
1230
+ return 'number' == typeof value && !Number.isNaN(value);
1231
+ }
1232
+ function isObject(value) {
1233
+ return 'object' == typeof value && null !== value;
1234
+ }
1235
+ function isEmpty(value) {
1236
+ return null == value || Array.isArray(value) && 0 === value.length || 'object' == typeof value && 0 === Object.keys(value).length;
1237
+ }
1238
+ function last(array) {
1239
+ return array[array.length - 1];
1240
+ }
1241
+ function compact(array) {
1242
+ return array.filter((item)=>null != item || !item);
1243
+ }
1244
+ function isNil(value) {
1245
+ return null == value;
1246
+ }
1247
+ let isPlainObject = (obj)=>null !== obj && 'object' == typeof obj && Object.getPrototypeOf(obj) === Object.prototype, isString = (v)=>'string' == typeof v || !!v && 'object' == typeof v && !Array.isArray(v) && '[object String]' === ({}).toString.call(v);
1248
+ function pick(obj, keys) {
1249
+ let result = {};
1250
+ for(let i = 0; i < keys.length; i++){
1251
+ let key = keys[i];
1252
+ Object.hasOwn(obj, key) && (result[key] = obj[key]);
1253
+ }
1254
+ return result;
1255
+ }
1256
+ let PACKAGE_PREFIX = /(?:node_modules|~)(?:\/\.pnpm)?/, PACKAGE_SLUG = /[a-zA-Z0-9]+(?:[-|_|.]+[a-zA-Z0-9]+)*/, VERSION = /@[\w|\-|_|.]+/, VERSION_NUMBER = '@([\\d.]+)', MODULE_PATH_PACKAGES = RegExp(`(?:${PACKAGE_PREFIX.source}/)(?:(?:@${PACKAGE_SLUG.source}[/|+])?(?:${PACKAGE_SLUG.source}\\+)*(?:${PACKAGE_SLUG.source})(?:${VERSION.source})?)(?:_(?:@${PACKAGE_SLUG.source}[/|+])?(?:${PACKAGE_SLUG.source})(?:@${PACKAGE_SLUG.source})?)*/`, 'g'), PACKAGE_PATH_NAME = /(?:(?:node_modules|~)(?:\/\.pnpm)?\/)(?:((?:@[a-zA-Z0-9]+(?:[-|_|.]+[a-zA-Z0-9]+)*[/|+])?(?:(?:[a-zA-Z0-9]+(?:[-|_|.]+[a-zA-Z0-9]+)*\+)*)(?:[a-zA-Z0-9]+(?:[-|_|.]+[a-zA-Z0-9]+)*))(?:@[\w|\-|_|.]+)?)(?:_((?:@[a-zA-Z0-9]+(?:[-|_|.]+[a-zA-Z0-9]+)*[/|+])?(?:[a-zA-Z0-9]+(?:[-|_|.]+[a-zA-Z0-9]+)*))(?:@[a-zA-Z0-9]+(?:[-|_|.]+[a-zA-Z0-9]+)*))*\//gm, uniqLast = (data)=>{
1257
+ let res = [];
1258
+ return data.forEach((item, index)=>{
1259
+ data.slice(index + 1).includes(item) || res.push(item);
1260
+ }), res;
1261
+ }, getPackageMetaFromModulePath = (modulePath)=>{
1262
+ let paths = modulePath.match(MODULE_PATH_PACKAGES);
1263
+ if (!paths) return {
1264
+ name: '',
1265
+ version: ''
1266
+ };
1267
+ let names = uniqLast(paths.flatMap((packagePath)=>{
1268
+ let found = packagePath.matchAll(PACKAGE_PATH_NAME);
1269
+ return found ? compact([
1270
+ ...found
1271
+ ].flat()).slice(1).filter(Boolean).map((name)=>name.replace(/\+/g, '/')) : [];
1272
+ }));
1273
+ if (isEmpty(names)) return {
1274
+ name: '',
1275
+ version: ''
1276
+ };
1277
+ let name = last(names), pattern = RegExp(`(.*)(${last(paths)}).*`), path = modulePath.replace(pattern, '$1$2').replace(/\/$/, '');
1278
+ return {
1279
+ name,
1280
+ version: path && name && path.match(RegExp(`${name}@([\\d.]+)`))?.flat().slice(1)?.[0] || ''
1281
+ };
1282
+ }, external_fs_namespaceObject = require("fs");
1283
+ var external_fs_default = __webpack_require__.n(external_fs_namespaceObject);
1284
+ let external_os_namespaceObject = require("os");
1285
+ var external_os_default = __webpack_require__.n(external_os_namespaceObject);
1286
+ function writeMcpPort(port, builderName) {
1287
+ let homeDir = external_os_default().homedir(), rsdoctorDir = external_path_default().join(homeDir, '.cache/rsdoctor'), mcpPortFilePath = external_path_default().join(rsdoctorDir, 'mcp.json');
1288
+ external_fs_default().existsSync(rsdoctorDir) || external_fs_default().mkdirSync(rsdoctorDir, {
1289
+ recursive: !0
1290
+ });
1291
+ let mcpJson = {
1292
+ portList: {},
1293
+ port: 0
1294
+ };
1295
+ if (external_fs_default().existsSync(mcpPortFilePath)) try {
1296
+ mcpJson = JSON.parse(external_fs_default().readFileSync(mcpPortFilePath, 'utf8'));
1297
+ } catch (error) {
1298
+ rsdoctorLogger.debug('Failed to parse mcp.json', error);
1299
+ }
1300
+ mcpJson.portList || (mcpJson.portList = {}), mcpJson.portList[builderName || 'builder'] = port, mcpJson.port = port, external_fs_default().writeFileSync(mcpPortFilePath, JSON.stringify(mcpJson, null, 2), 'utf8');
1301
+ }
1302
+ function getMcpConfigPath() {
1303
+ let homeDir = external_os_default().homedir(), rsdoctorDir = external_path_default().join(homeDir, '.cache/rsdoctor');
1304
+ return external_path_default().join(rsdoctorDir, 'mcp.json');
1305
+ }
1306
+ for(var __webpack_i__ in exports.Alerts = __webpack_exports__.Alerts, exports.Algorithm = __webpack_exports__.Algorithm, exports.Bundle = __webpack_exports__.Bundle, exports.Crypto = __webpack_exports__.Crypto, exports.Data = __webpack_exports__.Data, exports.File = __webpack_exports__.File, exports.GlobalConfig = __webpack_exports__.GlobalConfig, exports.Graph = __webpack_exports__.Graph, exports.Loader = __webpack_exports__.Loader, exports.Lodash = __webpack_exports__.Lodash, exports.Manifest = __webpack_exports__.Manifest, exports.Package = __webpack_exports__.Package, exports.Plugin = __webpack_exports__.Plugin, exports.Resolver = __webpack_exports__.Resolver, exports.Rspack = __webpack_exports__.Rspack, exports.Summary = __webpack_exports__.Summary, exports.Time = __webpack_exports__.Time, exports.Url = __webpack_exports__.Url, __webpack_exports__)-1 === [
1307
+ "Alerts",
1308
+ "Algorithm",
1309
+ "Bundle",
1310
+ "Crypto",
1311
+ "Data",
1312
+ "File",
1313
+ "GlobalConfig",
1314
+ "Graph",
1315
+ "Loader",
1316
+ "Lodash",
1317
+ "Manifest",
1318
+ "Package",
1319
+ "Plugin",
1320
+ "Resolver",
1321
+ "Rspack",
1322
+ "Summary",
1323
+ "Time",
1324
+ "Url"
1325
+ ].indexOf(__webpack_i__) && (exports[__webpack_i__] = __webpack_exports__[__webpack_i__]);
1326
+ Object.defineProperty(exports, '__esModule', {
1327
+ value: !0
1328
+ });