xypriss 1.1.4 → 1.2.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 (106) hide show
  1. package/dist/cjs/src/index.js +56 -0
  2. package/dist/cjs/src/index.js.map +1 -1
  3. package/dist/cjs/src/plugins/modules/PluginRegistry.js +6 -38
  4. package/dist/cjs/src/plugins/modules/PluginRegistry.js.map +1 -1
  5. package/dist/cjs/src/plugins/modules/builtin/JWTAuthPlugin.js +1 -1
  6. package/dist/cjs/src/plugins/modules/builtin/JWTAuthPlugin.js.map +1 -1
  7. package/dist/cjs/src/plugins/modules/builtin/SmartCachePlugin.js +1 -1
  8. package/dist/cjs/src/plugins/modules/builtin/SmartCachePlugin.js.map +1 -1
  9. package/dist/cjs/src/plugins/modules/core/CachePlugin.js +4 -4
  10. package/dist/cjs/src/plugins/modules/core/CachePlugin.js.map +1 -1
  11. package/dist/cjs/src/plugins/modules/core/PerformancePlugin.js +2 -2
  12. package/dist/cjs/src/plugins/modules/core/PerformancePlugin.js.map +1 -1
  13. package/dist/cjs/src/plugins/modules/core/SecurityPlugin.js +2 -2
  14. package/dist/cjs/src/plugins/modules/core/SecurityPlugin.js.map +1 -1
  15. package/dist/cjs/src/plugins/modules/index.js +304 -0
  16. package/dist/cjs/src/plugins/modules/index.js.map +1 -0
  17. package/dist/cjs/src/plugins/modules/network/builtin/CompressionPlugin.js +410 -0
  18. package/dist/cjs/src/plugins/modules/network/builtin/CompressionPlugin.js.map +1 -0
  19. package/dist/cjs/src/plugins/modules/network/builtin/ConnectionPlugin.js +797 -0
  20. package/dist/cjs/src/plugins/modules/network/builtin/ConnectionPlugin.js.map +1 -0
  21. package/dist/cjs/src/plugins/modules/network/builtin/ProxyPlugin.js +409 -0
  22. package/dist/cjs/src/plugins/modules/network/builtin/ProxyPlugin.js.map +1 -0
  23. package/dist/cjs/src/plugins/modules/network/builtin/RateLimitPlugin.js +606 -0
  24. package/dist/cjs/src/plugins/modules/network/builtin/RateLimitPlugin.js.map +1 -0
  25. package/dist/cjs/src/plugins/modules/network/core/NetworkPlugin.js +225 -0
  26. package/dist/cjs/src/plugins/modules/network/core/NetworkPlugin.js.map +1 -0
  27. package/dist/cjs/src/plugins/modules/network/core/NetworkPluginFactory.js +40 -0
  28. package/dist/cjs/src/plugins/modules/network/core/NetworkPluginFactory.js.map +1 -0
  29. package/dist/cjs/src/plugins/modules/network/index.js +120 -0
  30. package/dist/cjs/src/plugins/modules/network/index.js.map +1 -0
  31. package/dist/cjs/src/plugins/modules/network/types/NetworkTypes.js +24 -0
  32. package/dist/cjs/src/plugins/modules/network/types/NetworkTypes.js.map +1 -0
  33. package/dist/cjs/src/plugins/modules/network/utils/NetworkPluginUtils.js +63 -0
  34. package/dist/cjs/src/plugins/modules/network/utils/NetworkPluginUtils.js.map +1 -0
  35. package/dist/cjs/src/plugins/modules/types/PluginTypes.js +1 -0
  36. package/dist/cjs/src/plugins/modules/types/PluginTypes.js.map +1 -1
  37. package/dist/cjs/src/server/FastServer.js +111 -2
  38. package/dist/cjs/src/server/FastServer.js.map +1 -1
  39. package/dist/cjs/src/server/conf/networkConnectionConf.js +25 -0
  40. package/dist/cjs/src/server/conf/networkConnectionConf.js.map +1 -0
  41. package/dist/cjs/src/server/conf/proxyConfig.js +23 -0
  42. package/dist/cjs/src/server/conf/proxyConfig.js.map +1 -0
  43. package/dist/cjs/src/server/conf/rateLimitConfig.js +35 -0
  44. package/dist/cjs/src/server/conf/rateLimitConfig.js.map +1 -0
  45. package/dist/cjs/src/server/const/default.js +6 -0
  46. package/dist/cjs/src/server/const/default.js.map +1 -1
  47. package/dist/cjs/src/server/handlers/NotFoundHandler.js +217 -0
  48. package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -0
  49. package/dist/cjs/src/server/handlers/templates/notFoundTemp.js +163 -0
  50. package/dist/cjs/src/server/handlers/templates/notFoundTemp.js.map +1 -0
  51. package/dist/esm/mods/security/src/components/cache/UFSIMC.js +5 -5
  52. package/dist/esm/mods/security/src/components/cache/UFSIMC.js.map +1 -1
  53. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +3 -3
  54. package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
  55. package/dist/esm/src/index.js +18 -0
  56. package/dist/esm/src/index.js.map +1 -1
  57. package/dist/esm/src/plugins/modules/PluginRegistry.js +6 -38
  58. package/dist/esm/src/plugins/modules/PluginRegistry.js.map +1 -1
  59. package/dist/esm/src/plugins/modules/builtin/JWTAuthPlugin.js +1 -1
  60. package/dist/esm/src/plugins/modules/builtin/JWTAuthPlugin.js.map +1 -1
  61. package/dist/esm/src/plugins/modules/builtin/SmartCachePlugin.js +1 -1
  62. package/dist/esm/src/plugins/modules/builtin/SmartCachePlugin.js.map +1 -1
  63. package/dist/esm/src/plugins/modules/core/CachePlugin.js +4 -4
  64. package/dist/esm/src/plugins/modules/core/CachePlugin.js.map +1 -1
  65. package/dist/esm/src/plugins/modules/core/PerformancePlugin.js +2 -2
  66. package/dist/esm/src/plugins/modules/core/PerformancePlugin.js.map +1 -1
  67. package/dist/esm/src/plugins/modules/core/SecurityPlugin.js +2 -2
  68. package/dist/esm/src/plugins/modules/core/SecurityPlugin.js.map +1 -1
  69. package/dist/esm/src/plugins/modules/index.js +275 -0
  70. package/dist/esm/src/plugins/modules/index.js.map +1 -0
  71. package/dist/esm/src/plugins/modules/network/builtin/CompressionPlugin.js +389 -0
  72. package/dist/esm/src/plugins/modules/network/builtin/CompressionPlugin.js.map +1 -0
  73. package/dist/esm/src/plugins/modules/network/builtin/ConnectionPlugin.js +776 -0
  74. package/dist/esm/src/plugins/modules/network/builtin/ConnectionPlugin.js.map +1 -0
  75. package/dist/esm/src/plugins/modules/network/builtin/ProxyPlugin.js +407 -0
  76. package/dist/esm/src/plugins/modules/network/builtin/ProxyPlugin.js.map +1 -0
  77. package/dist/esm/src/plugins/modules/network/builtin/RateLimitPlugin.js +585 -0
  78. package/dist/esm/src/plugins/modules/network/builtin/RateLimitPlugin.js.map +1 -0
  79. package/dist/esm/src/plugins/modules/network/core/NetworkPlugin.js +223 -0
  80. package/dist/esm/src/plugins/modules/network/core/NetworkPlugin.js.map +1 -0
  81. package/dist/esm/src/plugins/modules/network/core/NetworkPluginFactory.js +38 -0
  82. package/dist/esm/src/plugins/modules/network/core/NetworkPluginFactory.js.map +1 -0
  83. package/dist/esm/src/plugins/modules/network/index.js +109 -0
  84. package/dist/esm/src/plugins/modules/network/index.js.map +1 -0
  85. package/dist/esm/src/plugins/modules/network/types/NetworkTypes.js +24 -0
  86. package/dist/esm/src/plugins/modules/network/types/NetworkTypes.js.map +1 -0
  87. package/dist/esm/src/plugins/modules/network/utils/NetworkPluginUtils.js +61 -0
  88. package/dist/esm/src/plugins/modules/network/utils/NetworkPluginUtils.js.map +1 -0
  89. package/dist/esm/src/plugins/modules/types/PluginTypes.js +1 -0
  90. package/dist/esm/src/plugins/modules/types/PluginTypes.js.map +1 -1
  91. package/dist/esm/src/server/FastServer.js +111 -2
  92. package/dist/esm/src/server/FastServer.js.map +1 -1
  93. package/dist/esm/src/server/conf/networkConnectionConf.js +23 -0
  94. package/dist/esm/src/server/conf/networkConnectionConf.js.map +1 -0
  95. package/dist/esm/src/server/conf/proxyConfig.js +21 -0
  96. package/dist/esm/src/server/conf/proxyConfig.js.map +1 -0
  97. package/dist/esm/src/server/conf/rateLimitConfig.js +33 -0
  98. package/dist/esm/src/server/conf/rateLimitConfig.js.map +1 -0
  99. package/dist/esm/src/server/const/default.js +6 -0
  100. package/dist/esm/src/server/const/default.js.map +1 -1
  101. package/dist/esm/src/server/handlers/NotFoundHandler.js +194 -0
  102. package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -0
  103. package/dist/esm/src/server/handlers/templates/notFoundTemp.js +161 -0
  104. package/dist/esm/src/server/handlers/templates/notFoundTemp.js.map +1 -0
  105. package/dist/index.d.ts +5085 -14
  106. package/package.json +8 -7
@@ -0,0 +1,410 @@
1
+ 'use strict';
2
+
3
+ var perf_hooks = require('perf_hooks');
4
+ var zlib = require('zlib');
5
+ var compression = require('compression');
6
+ var NetworkPlugin = require('../core/NetworkPlugin.js');
7
+ var NetworkTypes = require('../types/NetworkTypes.js');
8
+
9
+ function _interopNamespaceDefault(e) {
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var zlib__namespace = /*#__PURE__*/_interopNamespaceDefault(zlib);
27
+
28
+ /**
29
+ * Compression Plugin
30
+ *
31
+ * Handles response compression with multiple algorithms (Gzip, Brotli, Deflate)
32
+ * Provides smart compression based on content type and size optimization
33
+ */
34
+ /**
35
+ * Response compression plugin for optimizing bandwidth usage
36
+ */
37
+ class CompressionPlugin extends NetworkPlugin.NetworkPlugin {
38
+ constructor(config = {
39
+ enabled: true,
40
+ algorithms: ["gzip", "deflate"],
41
+ level: 6,
42
+ threshold: 1024,
43
+ contentTypes: ["text/*", "application/json"],
44
+ }) {
45
+ super(config);
46
+ this.id = "xypriss.network.compression";
47
+ this.name = "Response Compression Plugin";
48
+ this.version = "1.0.0";
49
+ this.networkCategory = NetworkTypes.NetworkCategory.COMPRESSION;
50
+ // Compression-specific state
51
+ this.compressionStats = {
52
+ totalRequests: 0,
53
+ compressedRequests: 0,
54
+ totalBytesOriginal: 0,
55
+ totalBytesCompressed: 0,
56
+ averageCompressionRatio: 0,
57
+ algorithmUsage: new Map(),
58
+ };
59
+ this.supportedAlgorithms = [];
60
+ this.initializeSupportedAlgorithms();
61
+ this.createCompressionMiddleware();
62
+ }
63
+ /**
64
+ * Initialize compression algorithms based on availability
65
+ */
66
+ initializeSupportedAlgorithms() {
67
+ const config = this.getCompressionConfig();
68
+ const requestedAlgorithms = config.algorithms || ["gzip", "deflate"];
69
+ // Check which algorithms are available
70
+ for (const algorithm of requestedAlgorithms) {
71
+ if (this.isAlgorithmSupported(algorithm)) {
72
+ this.supportedAlgorithms.push(algorithm);
73
+ this.compressionStats.algorithmUsage.set(algorithm, 0);
74
+ }
75
+ }
76
+ // Ensure at least gzip is available as fallback
77
+ if (this.supportedAlgorithms.length === 0) {
78
+ this.supportedAlgorithms.push("gzip");
79
+ this.compressionStats.algorithmUsage.set("gzip", 0);
80
+ }
81
+ }
82
+ /**
83
+ * Create compression middleware using the compression library
84
+ */
85
+ createCompressionMiddleware() {
86
+ const config = this.getCompressionConfig();
87
+ this.compressionMiddleware = compression({
88
+ level: config.level || 6,
89
+ threshold: config.threshold || 1024,
90
+ filter: (req, res) => {
91
+ // Use our custom filter logic
92
+ return this.shouldCompress(req, res);
93
+ },
94
+ });
95
+ }
96
+ /**
97
+ * Check if compression algorithm is supported
98
+ */
99
+ isAlgorithmSupported(algorithm) {
100
+ switch (algorithm) {
101
+ case "gzip":
102
+ case "deflate":
103
+ return true; // Always available in Node.js
104
+ case "brotli":
105
+ return typeof zlib__namespace.createBrotliCompress === "function";
106
+ default:
107
+ return false;
108
+ }
109
+ }
110
+ /**
111
+ * Execute compression logic
112
+ */
113
+ async executeNetwork(context) {
114
+ const startTime = perf_hooks.performance.now();
115
+ const { req, res } = context;
116
+ try {
117
+ // Apply compression using the middleware
118
+ await new Promise((resolve, reject) => {
119
+ this.compressionMiddleware(req, res, (err) => {
120
+ if (err)
121
+ reject(err);
122
+ else
123
+ resolve();
124
+ });
125
+ });
126
+ // Update statistics
127
+ this.compressionStats.totalRequests++;
128
+ const wasCompressed = !!res.getHeader("content-encoding");
129
+ if (wasCompressed) {
130
+ this.compressionStats.compressedRequests++;
131
+ const algorithm = res.getHeader("content-encoding");
132
+ const currentUsage = this.compressionStats.algorithmUsage.get(algorithm) || 0;
133
+ this.compressionStats.algorithmUsage.set(algorithm, currentUsage + 1);
134
+ }
135
+ const executionTime = perf_hooks.performance.now() - startTime;
136
+ return {
137
+ success: true,
138
+ executionTime,
139
+ shouldContinue: true,
140
+ data: {
141
+ compressed: wasCompressed,
142
+ algorithm: res.getHeader("content-encoding") || "none",
143
+ originalSize: context.networkMetrics.bytesReceived,
144
+ compressedSize: context.networkMetrics.bytesSent,
145
+ },
146
+ modifications: wasCompressed
147
+ ? {
148
+ headers: {
149
+ "Content-Encoding": res.getHeader("content-encoding"),
150
+ Vary: "Accept-Encoding",
151
+ },
152
+ compressed: true,
153
+ }
154
+ : undefined,
155
+ networkMetrics: {
156
+ processingTime: executionTime,
157
+ memoryUsage: process.memoryUsage().heapUsed,
158
+ cpuUsage: process.cpuUsage().user,
159
+ },
160
+ };
161
+ }
162
+ catch (error) {
163
+ return {
164
+ success: false,
165
+ executionTime: perf_hooks.performance.now() - startTime,
166
+ shouldContinue: true,
167
+ error,
168
+ };
169
+ }
170
+ }
171
+ /**
172
+ * Check if response should be compressed
173
+ */
174
+ shouldCompress(req, res) {
175
+ const config = this.getCompressionConfig();
176
+ // Check if compression is enabled
177
+ if (!config.enabled) {
178
+ return false;
179
+ }
180
+ // Check if client accepts compression
181
+ const acceptEncoding = req.get("Accept-Encoding") || "";
182
+ if (!this.clientSupportsCompression(acceptEncoding)) {
183
+ return false;
184
+ }
185
+ // Check content type
186
+ const contentType = res.get("Content-Type") || "";
187
+ if (!this.shouldCompressContentType(contentType)) {
188
+ return false;
189
+ }
190
+ // Check if already compressed
191
+ if (res.get("Content-Encoding")) {
192
+ return false;
193
+ }
194
+ // Check content length threshold
195
+ const contentLength = parseInt(res.get("Content-Length") || "0");
196
+ if (contentLength > 0 && contentLength < (config.threshold || 1024)) {
197
+ return false;
198
+ }
199
+ return true;
200
+ }
201
+ /**
202
+ * Check if client supports compression
203
+ */
204
+ clientSupportsCompression(acceptEncoding) {
205
+ return this.supportedAlgorithms.some((algorithm) => acceptEncoding.toLowerCase().includes(algorithm));
206
+ }
207
+ /**
208
+ * Check if content type should be compressed
209
+ */
210
+ shouldCompressContentType(contentType) {
211
+ const config = this.getCompressionConfig();
212
+ const contentTypes = config.contentTypes || [
213
+ "text/*",
214
+ "application/json",
215
+ "application/javascript",
216
+ "application/xml",
217
+ "application/rss+xml",
218
+ "application/atom+xml",
219
+ ];
220
+ // Check exclude list first
221
+ if (config.excludeContentTypes) {
222
+ for (const excludeType of config.excludeContentTypes) {
223
+ if (this.matchesContentType(contentType, excludeType)) {
224
+ return false;
225
+ }
226
+ }
227
+ }
228
+ // Check include list
229
+ return contentTypes.some((type) => this.matchesContentType(contentType, type));
230
+ }
231
+ /**
232
+ * Match content type with pattern (supports wildcards)
233
+ */
234
+ matchesContentType(contentType, pattern) {
235
+ if (pattern.includes("*")) {
236
+ const regex = new RegExp(pattern.replace("*", ".*"), "i");
237
+ return regex.test(contentType);
238
+ }
239
+ return contentType.toLowerCase().includes(pattern.toLowerCase());
240
+ }
241
+ /**
242
+ * Select best compression algorithm based on client support and preferences
243
+ */
244
+ selectCompressionAlgorithm(req) {
245
+ const acceptEncoding = req.get("Accept-Encoding") || "";
246
+ const encodings = acceptEncoding.toLowerCase();
247
+ // Priority order: brotli > gzip > deflate
248
+ const priorityOrder = [
249
+ "brotli",
250
+ "gzip",
251
+ "deflate",
252
+ ];
253
+ for (const algorithm of priorityOrder) {
254
+ if (this.supportedAlgorithms.includes(algorithm) &&
255
+ encodings.includes(algorithm)) {
256
+ return algorithm;
257
+ }
258
+ }
259
+ return null;
260
+ }
261
+ /**
262
+ * Apply compression to response
263
+ */
264
+ async applyCompression(context, algorithm) {
265
+ const { res } = context;
266
+ const config = this.getCompressionConfig();
267
+ // Set compression headers
268
+ res.setHeader("Content-Encoding", algorithm);
269
+ res.setHeader("Vary", "Accept-Encoding");
270
+ // Remove content-length header as it will change
271
+ res.removeHeader("Content-Length");
272
+ // Create compression stream
273
+ const compressionStream = this.createCompressionStream(algorithm, config.level || 6);
274
+ // Intercept response write/end methods
275
+ this.interceptResponse(res, compressionStream, context);
276
+ }
277
+ /**
278
+ * Create compression stream for algorithm
279
+ */
280
+ createCompressionStream(algorithm, level) {
281
+ switch (algorithm) {
282
+ case "gzip":
283
+ return zlib__namespace.createGzip({ level });
284
+ case "deflate":
285
+ return zlib__namespace.createDeflate({ level });
286
+ case "brotli":
287
+ return zlib__namespace.createBrotliCompress({
288
+ params: {
289
+ [zlib__namespace.constants.BROTLI_PARAM_QUALITY]: level,
290
+ },
291
+ });
292
+ default:
293
+ throw new Error(`Unsupported compression algorithm: ${algorithm}`);
294
+ }
295
+ }
296
+ /**
297
+ * Intercept response to apply compression
298
+ */
299
+ interceptResponse(res, compressionStream, context) {
300
+ res.write.bind(res);
301
+ res.end.bind(res);
302
+ let originalSize = 0;
303
+ let compressedSize = 0;
304
+ // Track compressed data
305
+ compressionStream.on("data", (chunk) => {
306
+ compressedSize += chunk.length;
307
+ });
308
+ // Override write method
309
+ res.write = function (chunk, encoding, callback) {
310
+ if (chunk) {
311
+ originalSize += Buffer.isBuffer(chunk)
312
+ ? chunk.length
313
+ : Buffer.byteLength(chunk, encoding);
314
+ return compressionStream.write(chunk, encoding, callback);
315
+ }
316
+ return true;
317
+ };
318
+ // Override end method
319
+ res.end = function (chunk, encoding, callback) {
320
+ if (chunk) {
321
+ originalSize += Buffer.isBuffer(chunk)
322
+ ? chunk.length
323
+ : Buffer.byteLength(chunk, encoding);
324
+ }
325
+ compressionStream.end(chunk, encoding, () => {
326
+ // Update metrics
327
+ context.networkMetrics.bytesSent = compressedSize;
328
+ context.networkMetrics.compressionRatio =
329
+ originalSize > 0 ? compressedSize / originalSize : 1;
330
+ if (callback)
331
+ callback();
332
+ });
333
+ return this;
334
+ };
335
+ // Pipe compression stream to response
336
+ compressionStream.pipe(res, { end: false });
337
+ }
338
+ /**
339
+ * Update compression statistics
340
+ */
341
+ updateCompressionStats(algorithm) {
342
+ this.compressionStats.totalRequests++;
343
+ this.compressionStats.compressedRequests++;
344
+ const currentUsage = this.compressionStats.algorithmUsage.get(algorithm) || 0;
345
+ this.compressionStats.algorithmUsage.set(algorithm, currentUsage + 1);
346
+ }
347
+ /**
348
+ * Get compression configuration
349
+ */
350
+ getCompressionConfig() {
351
+ return this.config;
352
+ }
353
+ /**
354
+ * Validate compression configuration
355
+ */
356
+ validateNetworkConfig(config) {
357
+ if (config.level && (config.level < 1 || config.level > 9)) {
358
+ return false;
359
+ }
360
+ if (config.threshold && config.threshold < 0) {
361
+ return false;
362
+ }
363
+ if (config.algorithms && config.algorithms.length === 0) {
364
+ return false;
365
+ }
366
+ return true;
367
+ }
368
+ /**
369
+ * Check network health
370
+ */
371
+ async checkNetworkHealth() {
372
+ const errorRate = this.performanceMetrics.errorCount /
373
+ Math.max(this.performanceMetrics.totalExecutions, 1);
374
+ this.compressionStats.compressedRequests /
375
+ Math.max(this.compressionStats.totalRequests, 1);
376
+ return {
377
+ healthy: errorRate < 0.1 &&
378
+ this.performanceMetrics.averageExecutionTime <
379
+ this.maxExecutionTime,
380
+ status: errorRate < 0.05
381
+ ? "healthy"
382
+ : errorRate < 0.1
383
+ ? "degraded"
384
+ : "unhealthy",
385
+ metrics: {
386
+ responseTime: this.performanceMetrics.averageExecutionTime,
387
+ errorRate,
388
+ throughput: this.performanceMetrics.totalExecutions,
389
+ connections: 0, // Not applicable for compression
390
+ },
391
+ lastCheck: new Date(),
392
+ };
393
+ }
394
+ /**
395
+ * Get compression statistics
396
+ */
397
+ getCompressionStats() {
398
+ return {
399
+ ...this.compressionStats,
400
+ supportedAlgorithms: [...this.supportedAlgorithms],
401
+ averageCompressionRatio: this.compressionStats.totalBytesOriginal > 0
402
+ ? this.compressionStats.totalBytesCompressed /
403
+ this.compressionStats.totalBytesOriginal
404
+ : 0,
405
+ };
406
+ }
407
+ }
408
+
409
+ exports.CompressionPlugin = CompressionPlugin;
410
+ //# sourceMappingURL=CompressionPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CompressionPlugin.js","sources":["../../../../../../../src/plugins/modules/network/builtin/CompressionPlugin.ts"],"sourcesContent":[null],"names":["NetworkPlugin","NetworkCategory","zlib","performance"],"mappings":"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"}