@rsdoctor/utils 1.1.10 → 1.2.0-beta.1

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 (151) hide show
  1. package/dist/cjs/build/envinfo.js +107 -95
  2. package/dist/cjs/build/file/cache.js +65 -56
  3. package/dist/cjs/build/file/index.js +78 -41
  4. package/dist/cjs/build/file/sharding.js +90 -78
  5. package/dist/cjs/build/index.js +49 -47
  6. package/dist/cjs/build/json.js +91 -98
  7. package/dist/cjs/build/process.js +47 -42
  8. package/dist/cjs/build/server.js +110 -87
  9. package/dist/cjs/common/alerts.js +46 -44
  10. package/dist/cjs/common/algorithm.js +63 -54
  11. package/dist/cjs/common/bundle.js +52 -46
  12. package/dist/cjs/common/crypto.js +47 -46
  13. package/dist/cjs/common/data/index.js +381 -455
  14. package/dist/cjs/common/file.js +44 -0
  15. package/dist/cjs/common/global-config.js +72 -64
  16. package/dist/cjs/common/graph/assets.js +274 -308
  17. package/dist/cjs/common/graph/chunk.js +66 -63
  18. package/dist/cjs/common/graph/dependency.js +42 -32
  19. package/dist/cjs/common/graph/entrypoints.js +33 -25
  20. package/dist/cjs/common/graph/index.js +93 -27
  21. package/dist/cjs/common/graph/modules.js +113 -98
  22. package/dist/cjs/common/index.js +101 -83
  23. package/dist/cjs/common/loader.js +277 -273
  24. package/dist/cjs/common/lodash.js +73 -62
  25. package/dist/cjs/common/manifest.js +57 -59
  26. package/dist/cjs/common/package.js +79 -80
  27. package/dist/cjs/common/plugin.js +78 -73
  28. package/dist/cjs/common/resolver.js +79 -69
  29. package/dist/cjs/common/rspack.js +43 -34
  30. package/dist/cjs/common/summary.js +39 -31
  31. package/dist/cjs/common/time.js +73 -78
  32. package/dist/cjs/common/url.js +44 -36
  33. package/dist/cjs/error/error.js +183 -220
  34. package/dist/cjs/error/index.js +70 -28
  35. package/dist/cjs/error/transform.js +150 -143
  36. package/dist/cjs/error/utils.js +54 -58
  37. package/dist/cjs/index.js +37 -38
  38. package/dist/cjs/logger.js +99 -73
  39. package/dist/cjs/rule-utils/document/document.js +83 -82
  40. package/dist/cjs/rule-utils/document/index.js +75 -23
  41. package/dist/cjs/rule-utils/document/server.js +42 -35
  42. package/dist/cjs/rule-utils/document/types.js +17 -15
  43. package/dist/cjs/rule-utils/index.js +66 -21
  44. package/dist/cjs/rule-utils/parser/asserts.js +129 -147
  45. package/dist/cjs/rule-utils/parser/index.js +84 -25
  46. package/dist/cjs/rule-utils/parser/parser.js +50 -85
  47. package/dist/cjs/rule-utils/parser/types.js +38 -30
  48. package/dist/cjs/rule-utils/parser/utils.js +141 -168
  49. package/dist/esm/build/envinfo.mjs +57 -0
  50. package/dist/esm/build/file/cache.mjs +23 -0
  51. package/dist/esm/build/file/index.mjs +4 -0
  52. package/dist/esm/build/file/sharding.mjs +50 -0
  53. package/dist/esm/build/index.mjs +6 -0
  54. package/dist/esm/build/json.mjs +66 -0
  55. package/dist/esm/build/process.mjs +17 -0
  56. package/dist/esm/build/server.mjs +96 -0
  57. package/dist/esm/common/alerts.mjs +17 -0
  58. package/dist/esm/common/algorithm.mjs +32 -0
  59. package/dist/esm/common/bundle.mjs +22 -0
  60. package/dist/esm/common/crypto.mjs +17 -0
  61. package/dist/esm/common/data/index.mjs +354 -0
  62. package/dist/esm/common/file.mjs +7 -0
  63. package/dist/esm/common/global-config.mjs +32 -0
  64. package/dist/esm/common/graph/assets.mjs +238 -0
  65. package/dist/esm/common/graph/chunk.mjs +32 -0
  66. package/dist/esm/common/graph/dependency.mjs +10 -0
  67. package/dist/esm/common/graph/entrypoints.mjs +4 -0
  68. package/dist/esm/common/graph/index.mjs +5 -0
  69. package/dist/esm/common/graph/modules.mjs +78 -0
  70. package/dist/esm/common/index.mjs +19 -0
  71. package/dist/esm/common/loader.mjs +247 -0
  72. package/dist/esm/common/lodash.mjs +32 -0
  73. package/dist/esm/common/manifest.mjs +30 -0
  74. package/dist/esm/common/package.mjs +56 -0
  75. package/dist/esm/common/plugin.mjs +48 -0
  76. package/dist/esm/common/resolver.mjs +46 -0
  77. package/dist/esm/common/rspack.mjs +9 -0
  78. package/dist/esm/common/summary.mjs +8 -0
  79. package/dist/esm/common/time.mjs +43 -0
  80. package/dist/esm/common/url.mjs +14 -0
  81. package/dist/esm/error/error.mjs +154 -0
  82. package/dist/esm/error/index.mjs +3 -0
  83. package/dist/esm/error/transform.mjs +138 -0
  84. package/dist/esm/error/utils.mjs +22 -0
  85. package/dist/esm/index.mjs +3 -0
  86. package/dist/esm/logger.mjs +50 -0
  87. package/dist/esm/rule-utils/document/document.mjs +58 -0
  88. package/dist/esm/rule-utils/document/index.mjs +3 -0
  89. package/dist/esm/rule-utils/document/server.mjs +12 -0
  90. package/dist/esm/rule-utils/index.mjs +2 -0
  91. package/dist/esm/rule-utils/parser/asserts.mjs +104 -0
  92. package/dist/esm/rule-utils/parser/index.mjs +4 -0
  93. package/dist/esm/rule-utils/parser/parser.mjs +23 -0
  94. package/dist/esm/rule-utils/parser/types.mjs +7 -0
  95. package/dist/esm/rule-utils/parser/utils.mjs +109 -0
  96. package/dist/type/common/file.d.ts +3 -0
  97. package/dist/type/common/file.d.ts.map +1 -0
  98. package/dist/type/common/graph/modules.d.ts +1 -1
  99. package/dist/type/common/graph/modules.d.ts.map +1 -1
  100. package/dist/type/common/index.d.ts +1 -0
  101. package/dist/type/common/index.d.ts.map +1 -1
  102. package/dist/type/logger.d.ts +3 -1
  103. package/dist/type/logger.d.ts.map +1 -1
  104. package/package.json +13 -12
  105. package/dist/esm/build/envinfo.js +0 -75
  106. package/dist/esm/build/file/cache.js +0 -30
  107. package/dist/esm/build/file/index.js +0 -7
  108. package/dist/esm/build/file/sharding.js +0 -50
  109. package/dist/esm/build/index.js +0 -12
  110. package/dist/esm/build/json.js +0 -85
  111. package/dist/esm/build/process.js +0 -24
  112. package/dist/esm/build/server.js +0 -96
  113. package/dist/esm/common/alerts.js +0 -25
  114. package/dist/esm/common/algorithm.js +0 -39
  115. package/dist/esm/common/bundle.js +0 -30
  116. package/dist/esm/common/crypto.js +0 -28
  117. package/dist/esm/common/data/index.js +0 -428
  118. package/dist/esm/common/global-config.js +0 -38
  119. package/dist/esm/common/graph/assets.js +0 -310
  120. package/dist/esm/common/graph/chunk.js +0 -49
  121. package/dist/esm/common/graph/dependency.js +0 -14
  122. package/dist/esm/common/graph/entrypoints.js +0 -6
  123. package/dist/esm/common/graph/index.js +0 -5
  124. package/dist/esm/common/graph/modules.js +0 -90
  125. package/dist/esm/common/index.js +0 -36
  126. package/dist/esm/common/loader.js +0 -279
  127. package/dist/esm/common/lodash.js +0 -49
  128. package/dist/esm/common/manifest.js +0 -46
  129. package/dist/esm/common/package.js +0 -71
  130. package/dist/esm/common/plugin.js +0 -59
  131. package/dist/esm/common/resolver.js +0 -54
  132. package/dist/esm/common/rspack.js +0 -12
  133. package/dist/esm/common/summary.js +0 -10
  134. package/dist/esm/common/time.js +0 -64
  135. package/dist/esm/common/url.js +0 -20
  136. package/dist/esm/error/error.js +0 -202
  137. package/dist/esm/error/index.js +0 -5
  138. package/dist/esm/error/transform.js +0 -141
  139. package/dist/esm/error/utils.js +0 -40
  140. package/dist/esm/index.js +0 -6
  141. package/dist/esm/logger.js +0 -44
  142. package/dist/esm/rule-utils/document/document.js +0 -67
  143. package/dist/esm/rule-utils/document/index.js +0 -3
  144. package/dist/esm/rule-utils/document/server.js +0 -17
  145. package/dist/esm/rule-utils/index.js +0 -2
  146. package/dist/esm/rule-utils/parser/asserts.js +0 -132
  147. package/dist/esm/rule-utils/parser/index.js +0 -4
  148. package/dist/esm/rule-utils/parser/parser.js +0 -58
  149. package/dist/esm/rule-utils/parser/types.js +0 -9
  150. package/dist/esm/rule-utils/parser/utils.js +0 -164
  151. /package/dist/esm/rule-utils/document/{types.js → types.mjs} +0 -0
@@ -1,310 +0,0 @@
1
- import { Client, Constants } from "@rsdoctor/types";
2
- import { getChunksByAsset } from "./chunk";
3
- import { getModulesByAsset } from "./modules";
4
- const EXT = "js|css|html";
5
- const hashPattern = /[a-z|A-Z|0-9]{4,32}/;
6
- const hashSeparatorPattern = /[-|.]/;
7
- const fileExtensionPattern = /(?:\.[a-z|A-Z|0-9]{2,}){1,}/;
8
- const filenamePattern = new RegExp(
9
- `(.*)${hashSeparatorPattern.source}${hashPattern.source}(${fileExtensionPattern.source})$`
10
- );
11
- function formatAssetName(assetName, fileConfig) {
12
- const splitFilesList = fileConfig?.split(".");
13
- let outputFileTailName = "";
14
- let unHashedFileName = assetName;
15
- if (splitFilesList?.length && splitFilesList.length >= 3 && splitFilesList[splitFilesList.length - 2]?.indexOf("[") < 0 && EXT.indexOf(splitFilesList[splitFilesList.length - 1]) > -1) {
16
- outputFileTailName = splitFilesList[splitFilesList.length - 2];
17
- const _regPattern = /(.*)(\.[a-f0-9]{4,32})([^.]*.[^.]+){2,}/g;
18
- unHashedFileName = assetName.replace(_regPattern, "$1");
19
- return `${unHashedFileName}.${outputFileTailName}.${assetName.substring(
20
- assetName.lastIndexOf(".") + 1
21
- )}`;
22
- }
23
- return assetName.replace(filenamePattern, "$1$2");
24
- }
25
- function isAssetMatchExtension(asset, ext) {
26
- return asset.path.slice(-ext.length) === ext || extname(asset.path) === ext;
27
- }
28
- function isAssetMatchExtensions(asset, exts) {
29
- if (!exts.length)
30
- return false;
31
- return exts.some((ext) => isAssetMatchExtension(asset, ext));
32
- }
33
- function filterAssetsByExtensions(assets, exts) {
34
- if (typeof exts === "string")
35
- return assets.filter((e) => isAssetMatchExtension(e, exts));
36
- if (Array.isArray(exts)) {
37
- return assets.filter((e) => isAssetMatchExtensions(e, exts));
38
- }
39
- return [];
40
- }
41
- function filterAssets(assets, filterOrExtensions) {
42
- if (filterOrExtensions) {
43
- if (typeof filterOrExtensions === "function") {
44
- assets = assets.filter(filterOrExtensions);
45
- } else {
46
- assets = filterAssetsByExtensions(assets, filterOrExtensions);
47
- }
48
- }
49
- return assets;
50
- }
51
- function getAssetsSizeInfo(assets, chunks, options = {}) {
52
- const { withFileContent = true, filterOrExtensions } = options;
53
- assets = assets.filter(
54
- (e) => !isAssetMatchExtensions(e, Constants.MapExtensions)
55
- );
56
- if (filterOrExtensions) {
57
- assets = filterAssets(assets, filterOrExtensions);
58
- }
59
- if (assets.length) {
60
- return {
61
- count: assets.length,
62
- size: assets.reduce((t, c) => t + c.size, 0),
63
- files: assets.map((e) => ({
64
- path: e.path,
65
- size: e.size,
66
- gzipSize: e.gzipSize,
67
- initial: isInitialAsset(e, chunks),
68
- content: withFileContent ? e.content : void 0
69
- }))
70
- };
71
- }
72
- return {
73
- count: 0,
74
- size: 0,
75
- files: []
76
- };
77
- }
78
- function isInitialAsset(asset, chunks) {
79
- const cks = getChunksByAsset(asset, chunks);
80
- return cks.some((e) => Boolean(e.initial));
81
- }
82
- function getInitialAssetsSizeInfo(assets, chunks, options = {}) {
83
- if (options.filterOrExtensions) {
84
- assets = filterAssets(assets, options.filterOrExtensions);
85
- }
86
- return getAssetsSizeInfo(assets, chunks, {
87
- ...options,
88
- filterOrExtensions: (asset) => isInitialAsset(asset, chunks)
89
- });
90
- }
91
- function getAssetsDiffResult(baseline, current) {
92
- return {
93
- all: {
94
- total: diffAssetsByExtensions(baseline, current)
95
- },
96
- js: {
97
- total: diffAssetsByExtensions(baseline, current, Constants.JSExtension),
98
- initial: diffAssetsByExtensions(
99
- baseline,
100
- current,
101
- Constants.JSExtension,
102
- true
103
- )
104
- },
105
- css: {
106
- total: diffAssetsByExtensions(baseline, current, Constants.CSSExtension),
107
- initial: diffAssetsByExtensions(
108
- baseline,
109
- current,
110
- Constants.CSSExtension,
111
- true
112
- )
113
- },
114
- imgs: {
115
- total: diffAssetsByExtensions(baseline, current, Constants.ImgExtensions)
116
- },
117
- html: {
118
- total: diffAssetsByExtensions(baseline, current, Constants.HtmlExtension)
119
- },
120
- media: {
121
- total: diffAssetsByExtensions(
122
- baseline,
123
- current,
124
- Constants.MediaExtensions
125
- )
126
- },
127
- fonts: {
128
- total: diffAssetsByExtensions(
129
- baseline,
130
- current,
131
- Constants.FontExtensions
132
- )
133
- },
134
- others: {
135
- total: diffAssetsByExtensions(
136
- baseline,
137
- current,
138
- (asset) => !isAssetMatchExtensions(
139
- asset,
140
- [
141
- Constants.JSExtension,
142
- Constants.CSSExtension,
143
- Constants.HtmlExtension
144
- ].concat(
145
- Constants.ImgExtensions,
146
- Constants.MediaExtensions,
147
- Constants.FontExtensions,
148
- Constants.MapExtensions
149
- )
150
- )
151
- )
152
- }
153
- };
154
- }
155
- function diffSize(bSize, cSize) {
156
- const isEqual = bSize === cSize;
157
- const percent = isEqual ? 0 : bSize === 0 ? 100 : Math.abs(cSize - bSize) / bSize * 100;
158
- const state = isEqual ? Client.RsdoctorClientDiffState.Equal : bSize > cSize ? Client.RsdoctorClientDiffState.Down : Client.RsdoctorClientDiffState.Up;
159
- return { percent, state };
160
- }
161
- function diffAssetsByExtensions(baseline, current, filterOrExtensions, isInitial = false) {
162
- const { size: bSize, count: bCount } = isInitial ? getInitialAssetsSizeInfo(baseline.assets, baseline.chunks, {
163
- filterOrExtensions
164
- }) : getAssetsSizeInfo(baseline.assets, baseline.chunks, {
165
- filterOrExtensions
166
- });
167
- let cSize;
168
- let cCount;
169
- if (baseline === current) {
170
- cSize = bSize;
171
- cCount = bCount;
172
- } else {
173
- const { size, count } = isInitial ? getInitialAssetsSizeInfo(current.assets, current.chunks, {
174
- filterOrExtensions
175
- }) : getAssetsSizeInfo(current.assets, current.chunks, {
176
- filterOrExtensions
177
- });
178
- cSize = size;
179
- cCount = count;
180
- }
181
- const { percent, state } = diffSize(bSize, cSize);
182
- return {
183
- size: {
184
- baseline: bSize,
185
- current: cSize
186
- },
187
- count: {
188
- baseline: bCount,
189
- current: cCount
190
- },
191
- percent,
192
- state
193
- };
194
- }
195
- function getAssetsSummary(assets, chunks, options = {}) {
196
- const jsOpt = {
197
- ...options,
198
- filterOrExtensions: Constants.JSExtension
199
- };
200
- const cssOpt = {
201
- ...options,
202
- filterOrExtensions: Constants.CSSExtension
203
- };
204
- const imgOpt = {
205
- ...options,
206
- filterOrExtensions: Constants.ImgExtensions
207
- };
208
- const htmlOpt = {
209
- ...options,
210
- filterOrExtensions: Constants.HtmlExtension
211
- };
212
- const mediaOpt = {
213
- ...options,
214
- filterOrExtensions: Constants.MediaExtensions
215
- };
216
- const fontOpt = {
217
- ...options,
218
- filterOrExtensions: Constants.FontExtensions
219
- };
220
- const otherOpt = {
221
- ...options,
222
- filterOrExtensions: (asset) => !isAssetMatchExtensions(
223
- asset,
224
- [
225
- Constants.JSExtension,
226
- Constants.CSSExtension,
227
- Constants.HtmlExtension
228
- ].concat(
229
- Constants.ImgExtensions,
230
- Constants.MediaExtensions,
231
- Constants.FontExtensions,
232
- Constants.MapExtensions
233
- )
234
- )
235
- };
236
- return {
237
- all: {
238
- total: getAssetsSizeInfo(assets, chunks, options)
239
- },
240
- js: {
241
- total: getAssetsSizeInfo(assets, chunks, jsOpt),
242
- initial: getInitialAssetsSizeInfo(assets, chunks, jsOpt)
243
- },
244
- css: {
245
- total: getAssetsSizeInfo(assets, chunks, cssOpt),
246
- initial: getInitialAssetsSizeInfo(assets, chunks, cssOpt)
247
- },
248
- imgs: {
249
- total: getAssetsSizeInfo(assets, chunks, imgOpt)
250
- },
251
- html: {
252
- total: getAssetsSizeInfo(assets, chunks, htmlOpt)
253
- },
254
- media: {
255
- total: getAssetsSizeInfo(assets, chunks, mediaOpt)
256
- },
257
- fonts: {
258
- total: getAssetsSizeInfo(assets, chunks, fontOpt)
259
- },
260
- others: {
261
- total: getAssetsSizeInfo(assets, chunks, otherOpt)
262
- }
263
- };
264
- }
265
- function getAssetDetails(assetPath, assets, chunks, modules) {
266
- const asset = assets.find((e) => e.path === assetPath);
267
- return {
268
- asset,
269
- chunks: getChunksByAsset(asset, chunks),
270
- modules: getModulesByAsset(asset, chunks, modules)
271
- };
272
- }
273
- function getAllBundleData(assets, chunks, modules, filtersModules) {
274
- const result = [];
275
- try {
276
- for (let i = 0; i < assets.length; i++) {
277
- const asset = assets[i];
278
- result.push({
279
- asset,
280
- modules: getModulesByAsset(asset, chunks, modules, filtersModules)
281
- });
282
- }
283
- return result;
284
- } catch (error) {
285
- console.error(error);
286
- return [];
287
- }
288
- }
289
- function extname(filename) {
290
- const baseName = filename.split("?")[0];
291
- const matches = baseName.match(/\.([0-9a-z]+)(?:[\?#]|$)/i);
292
- return matches ? `.${matches[1]}` : "";
293
- }
294
- export {
295
- diffAssetsByExtensions,
296
- diffSize,
297
- extname,
298
- filterAssets,
299
- filterAssetsByExtensions,
300
- formatAssetName,
301
- getAllBundleData,
302
- getAssetDetails,
303
- getAssetsDiffResult,
304
- getAssetsSizeInfo,
305
- getAssetsSummary,
306
- getInitialAssetsSizeInfo,
307
- isAssetMatchExtension,
308
- isAssetMatchExtensions,
309
- isInitialAsset
310
- };
@@ -1,49 +0,0 @@
1
- function getChunkIdsByAsset(asset) {
2
- if (asset.chunks) {
3
- return asset.chunks;
4
- }
5
- return [];
6
- }
7
- function getChunksByModule(module, chunks) {
8
- if (module.chunks.length) {
9
- return getChunksByChunkIds(module.chunks, chunks);
10
- }
11
- return [];
12
- }
13
- function getChunkByChunkId(chunkId, chunks) {
14
- return chunks.find((e) => e.id === chunkId);
15
- }
16
- function getChunksByChunkIds(chunkIds, chunks, filters) {
17
- if (!chunkIds.length)
18
- return [];
19
- const result = chunkIds.map((id) => chunks.find((e) => e.id === id)).filter(Boolean).map((chunk) => {
20
- if (filters && filters.length > 0) {
21
- const filtered = {};
22
- for (const key of filters) {
23
- if (chunk[key] !== void 0) {
24
- filtered[key] = chunk[key];
25
- }
26
- }
27
- return filtered;
28
- }
29
- return chunk;
30
- });
31
- return result;
32
- }
33
- function getChunksByAsset(asset, chunks, filters) {
34
- return getChunksByChunkIds(getChunkIdsByAsset(asset), chunks, filters);
35
- }
36
- function getChunksByModuleId(id, modules, chunks) {
37
- const mod = modules.find((e) => e.id === id);
38
- if (!mod)
39
- return [];
40
- return getChunksByModule(mod, chunks);
41
- }
42
- export {
43
- getChunkByChunkId,
44
- getChunkIdsByAsset,
45
- getChunksByAsset,
46
- getChunksByChunkIds,
47
- getChunksByModule,
48
- getChunksByModuleId
49
- };
@@ -1,14 +0,0 @@
1
- function getDependencyByPackageData(dep, dependencies) {
2
- return dependencies.find((item) => item.id === dep.dependencyId);
3
- }
4
- function getDependenciesByModule(module, dependencies) {
5
- return module.dependencies.map((id) => dependencies.find((dep) => dep.id === id)).filter(Boolean);
6
- }
7
- function getDependencyByResolvedRequest(resolvedRequest, dependencies) {
8
- return dependencies.find((e) => e.resolvedRequest === resolvedRequest);
9
- }
10
- export {
11
- getDependenciesByModule,
12
- getDependencyByPackageData,
13
- getDependencyByResolvedRequest
14
- };
@@ -1,6 +0,0 @@
1
- function getEntryPoints(entrypoints) {
2
- return entrypoints;
3
- }
4
- export {
5
- getEntryPoints
6
- };
@@ -1,5 +0,0 @@
1
- export * from "./assets";
2
- export * from "./chunk";
3
- export * from "./modules";
4
- export * from "./dependency";
5
- export * from "./entrypoints";
@@ -1,90 +0,0 @@
1
- import { getChunksByChunkIds, getChunkIdsByAsset } from "./chunk";
2
- import {
3
- getDependenciesByModule,
4
- getDependencyByPackageData
5
- } from "./dependency";
6
- import { logger } from "../../logger";
7
- function getModulesByAsset(asset, chunks, modules, filterModules) {
8
- const ids = getChunkIdsByAsset(asset);
9
- const cks = getChunksByChunkIds(ids, chunks);
10
- const res = getModulesByChunks(cks, modules, filterModules);
11
- return res;
12
- }
13
- function getModuleIdsByChunk(chunk) {
14
- const { modules = [] } = chunk;
15
- return modules;
16
- }
17
- function getModuleIdsByModulesIds(moduleIds, modules) {
18
- return moduleIds.map((id) => modules.find((m) => m.id === id)).filter(Boolean);
19
- }
20
- function getModulesByChunk(chunk, modules, filterModules) {
21
- const ids = getModuleIdsByChunk(chunk);
22
- return ids.map((id) => {
23
- const module = modules.find((e) => e.id === id);
24
- if (filterModules && filterModules.length > 0) {
25
- if (!module) {
26
- return null;
27
- }
28
- const filtered = {};
29
- for (const key of filterModules) {
30
- if (module[key] !== void 0) {
31
- filtered[key] = module[key];
32
- }
33
- }
34
- return filtered;
35
- }
36
- return module;
37
- }).filter(Boolean);
38
- }
39
- function getModulesByChunks(chunks, modules, filterModules) {
40
- const res = [];
41
- try {
42
- chunks.forEach((chunk) => {
43
- getModulesByChunk(chunk, modules, filterModules).forEach((md) => {
44
- if (!res.filter((_m) => _m.id === md.id).length)
45
- res.push(md);
46
- });
47
- });
48
- } catch (error) {
49
- logger.debug(error);
50
- }
51
- return res;
52
- }
53
- function getModuleByDependency(dep, modules) {
54
- return modules.find((item) => item.id === dep.module);
55
- }
56
- function filterModulesAndDependenciesByPackageDeps(deps, dependencies, modules) {
57
- const _dependencies = [];
58
- const _modules = [];
59
- for (let i = 0; i < deps.length; i++) {
60
- const dep = getDependencyByPackageData(deps[i], dependencies);
61
- if (dep) {
62
- _dependencies.push(dep);
63
- const module = getModuleByDependency(dep, modules);
64
- if (module) {
65
- _modules.push(module);
66
- }
67
- }
68
- }
69
- return {
70
- dependencies: _dependencies,
71
- modules: _modules
72
- };
73
- }
74
- function getModuleDetails(moduleId, modules, dependencies) {
75
- const module = modules.find((e) => e.id === moduleId);
76
- return {
77
- module,
78
- dependencies: getDependenciesByModule(module, dependencies)
79
- };
80
- }
81
- export {
82
- filterModulesAndDependenciesByPackageDeps,
83
- getModuleByDependency,
84
- getModuleDetails,
85
- getModuleIdsByChunk,
86
- getModuleIdsByModulesIds,
87
- getModulesByAsset,
88
- getModulesByChunk,
89
- getModulesByChunks
90
- };
@@ -1,36 +0,0 @@
1
- import * as Summary from "./summary";
2
- import * as Crypto from "./crypto";
3
- import * as Manifest from "./manifest";
4
- import * as Loader from "./loader";
5
- import * as Time from "./time";
6
- import * as Algorithm from "./algorithm";
7
- import * as Resolver from "./resolver";
8
- import * as Graph from "./graph";
9
- import * as Bundle from "./bundle";
10
- import * as Url from "./url";
11
- import * as Plugin from "./plugin";
12
- import * as Data from "./data";
13
- import * as Alerts from "./alerts";
14
- import * as Rspack from "./rspack";
15
- import * as Package from "./package";
16
- import * as Lodash from "./lodash";
17
- import * as GlobalConfig from "./global-config";
18
- export {
19
- Alerts,
20
- Algorithm,
21
- Bundle,
22
- Crypto,
23
- Data,
24
- GlobalConfig,
25
- Graph,
26
- Loader,
27
- Lodash,
28
- Manifest,
29
- Package,
30
- Plugin,
31
- Resolver,
32
- Rspack,
33
- Summary,
34
- Time,
35
- Url
36
- };