packlyze 2.0.2 → 3.0.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.
- package/README.md +35 -1
- package/dist/analyzer/packlyze.d.ts +15 -1
- package/dist/analyzer/packlyze.d.ts.map +1 -1
- package/dist/analyzer/packlyze.js +244 -18
- package/dist/analyzer/packlyze.js.map +1 -1
- package/dist/cli.js +213 -17
- package/dist/cli.js.map +1 -1
- package/dist/config/loader.d.ts +13 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +64 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/exporters/formats.d.ts +4 -0
- package/dist/exporters/formats.d.ts.map +1 -0
- package/dist/exporters/formats.js +130 -0
- package/dist/exporters/formats.js.map +1 -0
- package/dist/tracking/history.d.ts +22 -0
- package/dist/tracking/history.d.ts.map +1 -0
- package/dist/tracking/history.js +89 -0
- package/dist/tracking/history.js.map +1 -0
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/visualization/dependency-graph.d.ts +19 -0
- package/dist/visualization/dependency-graph.d.ts.map +1 -0
- package/dist/visualization/dependency-graph.js +101 -0
- package/dist/visualization/dependency-graph.js.map +1 -0
- package/dist/visualization/reports.js +217 -0
- package/dist/visualization/reports.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -8,14 +8,31 @@ const commander_1 = require("commander");
|
|
|
8
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
9
|
const ora_1 = __importDefault(require("ora"));
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
11
|
+
const path_1 = __importDefault(require("path"));
|
|
11
12
|
const table_1 = require("table");
|
|
12
13
|
const packlyze_1 = require("./analyzer/packlyze");
|
|
13
14
|
const reports_1 = require("./visualization/reports");
|
|
15
|
+
const formats_1 = require("./exporters/formats");
|
|
16
|
+
const loader_1 = require("./config/loader");
|
|
17
|
+
const history_1 = require("./tracking/history");
|
|
18
|
+
const dependency_graph_1 = require("./visualization/dependency-graph");
|
|
19
|
+
// Read version from package.json
|
|
20
|
+
const getVersion = () => {
|
|
21
|
+
try {
|
|
22
|
+
// In compiled CommonJS output, __dirname will be available
|
|
23
|
+
const packagePath = path_1.default.join(__dirname, '..', 'package.json');
|
|
24
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(packagePath, 'utf-8'));
|
|
25
|
+
return packageJson.version || '1.0.0';
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return '1.0.0';
|
|
29
|
+
}
|
|
30
|
+
};
|
|
14
31
|
const program = new commander_1.Command();
|
|
15
32
|
program
|
|
16
33
|
.name('packlyze')
|
|
17
34
|
.description('Advanced package analyzer with insights and recommendations')
|
|
18
|
-
.version(
|
|
35
|
+
.version(getVersion())
|
|
19
36
|
.helpOption('-h, --help', 'Show help');
|
|
20
37
|
program
|
|
21
38
|
.command('analyze <statsFile>')
|
|
@@ -24,53 +41,105 @@ program
|
|
|
24
41
|
.option('-j, --json', 'Output as JSON')
|
|
25
42
|
.option('-v, --verbose', 'Verbose output')
|
|
26
43
|
.option('--no-html', 'Do not generate HTML report')
|
|
44
|
+
.option('--format <format>', 'Export format: csv, markdown, or html (default: html)', 'html')
|
|
27
45
|
.option('--only-duplicates', 'Show only duplicate modules information')
|
|
28
46
|
.option('--only-large-modules', 'Show only large modules information')
|
|
29
47
|
.option('--large-module-threshold <percent>', 'Threshold in % of bundle size for a module to be considered large', parseFloat, 5)
|
|
30
48
|
.option('--max-gzip-size <mb>', 'Fail if gzip bundle size exceeds this value (in MB)', parseFloat)
|
|
31
49
|
.option('--max-initial-size <mb>', 'Fail if initial bundle size exceeds this value (in MB)', parseFloat)
|
|
32
50
|
.option('--baseline <statsFile>', 'Baseline stats file to compare against')
|
|
51
|
+
.option('--dependency-graph <path>', 'Generate dependency graph DOT file')
|
|
33
52
|
.action(async (statsFile, options) => {
|
|
53
|
+
// Load config file and merge with CLI options
|
|
54
|
+
const config = (0, loader_1.loadConfig)();
|
|
55
|
+
const mergedOptions = (0, loader_1.mergeConfigWithOptions)(config, options);
|
|
34
56
|
const spinner = (0, ora_1.default)('Analyzing package...').start();
|
|
57
|
+
const logVerbose = (message) => {
|
|
58
|
+
if (mergedOptions.verbose) {
|
|
59
|
+
spinner.text = message;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
35
62
|
try {
|
|
36
63
|
// Validate file exists
|
|
64
|
+
logVerbose('Validating stats file...');
|
|
37
65
|
if (!fs_1.default.existsSync(statsFile)) {
|
|
38
|
-
throw new Error(`File not found: ${statsFile}`
|
|
66
|
+
throw new Error(`File not found: ${statsFile}\n` +
|
|
67
|
+
`💡 Tip: Generate stats file with: webpack --profile --json ${statsFile}\n` +
|
|
68
|
+
` Or for other bundlers, check the Packlyze documentation.`);
|
|
39
69
|
}
|
|
40
|
-
|
|
70
|
+
logVerbose('Loading and parsing stats file...');
|
|
71
|
+
const analyzer = new packlyze_1.Packlyze(statsFile, mergedOptions.verbose ? logVerbose : undefined);
|
|
72
|
+
logVerbose('Extracting bundle statistics...');
|
|
41
73
|
const result = await analyzer.analyze();
|
|
42
74
|
let baselineResult;
|
|
43
|
-
if (
|
|
44
|
-
|
|
75
|
+
if (mergedOptions.baseline) {
|
|
76
|
+
logVerbose('Loading baseline file...');
|
|
77
|
+
const baselinePath = mergedOptions.baseline;
|
|
45
78
|
if (!fs_1.default.existsSync(baselinePath)) {
|
|
46
|
-
throw new Error(`Baseline file not found: ${baselinePath}`
|
|
79
|
+
throw new Error(`Baseline file not found: ${baselinePath}\n` +
|
|
80
|
+
`💡 Tip: Use a previous stats.json file as baseline for comparison.`);
|
|
47
81
|
}
|
|
48
|
-
|
|
82
|
+
logVerbose('Analyzing baseline...');
|
|
83
|
+
const baselineAnalyzer = new packlyze_1.Packlyze(baselinePath, mergedOptions.verbose ? logVerbose : undefined);
|
|
49
84
|
baselineResult = await baselineAnalyzer.analyze();
|
|
50
85
|
}
|
|
51
86
|
spinner.succeed('Analysis complete!');
|
|
52
|
-
if (
|
|
87
|
+
if (mergedOptions.json) {
|
|
53
88
|
console.log(JSON.stringify(result, null, 2));
|
|
54
89
|
}
|
|
55
90
|
else {
|
|
56
91
|
// Display formatted results
|
|
57
|
-
printSummary(result,
|
|
58
|
-
if (!
|
|
92
|
+
printSummary(result, mergedOptions, baselineResult);
|
|
93
|
+
if (!mergedOptions.onlyDuplicates && !mergedOptions.onlyLargeModules) {
|
|
59
94
|
printTopModules(result);
|
|
95
|
+
printPackageAnalysis(result);
|
|
96
|
+
printChunkAnalysis(result);
|
|
97
|
+
printUnusedModules(result);
|
|
60
98
|
printRecommendations(result);
|
|
61
99
|
printTreeshakingIssues(result);
|
|
62
100
|
}
|
|
63
|
-
if (
|
|
101
|
+
if (mergedOptions.onlyDuplicates || (!mergedOptions.onlyLargeModules && !mergedOptions.onlyDuplicates)) {
|
|
64
102
|
printDuplicates(result);
|
|
65
103
|
}
|
|
66
|
-
if (
|
|
67
|
-
printLargeModules(result,
|
|
104
|
+
if (mergedOptions.onlyLargeModules || (!mergedOptions.onlyLargeModules && !mergedOptions.onlyDuplicates)) {
|
|
105
|
+
printLargeModules(result, mergedOptions.largeModuleThreshold);
|
|
106
|
+
}
|
|
107
|
+
if (mergedOptions.html !== false) {
|
|
108
|
+
const format = mergedOptions.format || 'html';
|
|
109
|
+
const outputPath = mergedOptions.output;
|
|
110
|
+
if (format === 'csv') {
|
|
111
|
+
(0, formats_1.exportToCSV)(result, outputPath.replace(/\.html$/, '.csv'));
|
|
112
|
+
console.log(chalk_1.default.green(`✅ CSV report saved to ${outputPath.replace(/\.html$/, '.csv')}`));
|
|
113
|
+
}
|
|
114
|
+
else if (format === 'markdown' || format === 'md') {
|
|
115
|
+
(0, formats_1.exportToMarkdown)(result, outputPath.replace(/\.html$/, '.md'));
|
|
116
|
+
console.log(chalk_1.default.green(`✅ Markdown report saved to ${outputPath.replace(/\.html$/, '.md')}`));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
(0, reports_1.generateHTMLReport)(result, outputPath, baselineResult);
|
|
120
|
+
console.log(chalk_1.default.green(`✅ HTML report saved to ${outputPath}`));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
const exitCode = evaluateThresholds(result, mergedOptions);
|
|
124
|
+
// Generate dependency graph if requested
|
|
125
|
+
if (mergedOptions.dependencyGraph) {
|
|
126
|
+
const graphPath = mergedOptions.dependencyGraph;
|
|
127
|
+
(0, dependency_graph_1.generateDependencyGraph)(result, graphPath);
|
|
128
|
+
console.log(chalk_1.default.green(`✅ Dependency graph saved to ${graphPath}`));
|
|
129
|
+
console.log(chalk_1.default.gray(' Render with: dot -Tsvg graph.dot -o graph.svg'));
|
|
68
130
|
}
|
|
69
|
-
if
|
|
70
|
-
|
|
71
|
-
|
|
131
|
+
// Save to history if not in JSON mode
|
|
132
|
+
if (!mergedOptions.json) {
|
|
133
|
+
try {
|
|
134
|
+
(0, history_1.saveHistoryEntry)(result);
|
|
135
|
+
if (mergedOptions.verbose) {
|
|
136
|
+
console.log(chalk_1.default.gray('💾 Analysis saved to history'));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch (err) {
|
|
140
|
+
// Silently fail - history is optional
|
|
141
|
+
}
|
|
72
142
|
}
|
|
73
|
-
const exitCode = evaluateThresholds(result, options);
|
|
74
143
|
if (exitCode !== 0) {
|
|
75
144
|
process.exit(exitCode);
|
|
76
145
|
}
|
|
@@ -82,6 +151,62 @@ program
|
|
|
82
151
|
process.exit(1);
|
|
83
152
|
}
|
|
84
153
|
});
|
|
154
|
+
program
|
|
155
|
+
.command('trends')
|
|
156
|
+
.description('Show bundle size trends over time')
|
|
157
|
+
.option('-l, --limit <number>', 'Number of entries to show', '10')
|
|
158
|
+
.action((options) => {
|
|
159
|
+
const limit = Math.max(1, Math.min(100, parseInt(options.limit || '10', 10) || 10));
|
|
160
|
+
const trends = (0, history_1.getTrends)(undefined, limit);
|
|
161
|
+
if (trends.length === 0) {
|
|
162
|
+
console.log(chalk_1.default.yellow('\n📊 No history found. Run "packlyze analyze" to start tracking.\n'));
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
console.log(chalk_1.default.bold.cyan(`\n📈 Bundle Size Trends (Last ${trends.length} builds)\n`));
|
|
166
|
+
const data = [];
|
|
167
|
+
data.push(['#', 'Date', 'Total (MB)', 'Gzip (MB)', 'Modules', 'Chunks', 'Change']);
|
|
168
|
+
trends.forEach((entry, index) => {
|
|
169
|
+
const date = new Date(entry.timestamp).toLocaleDateString();
|
|
170
|
+
const totalMb = (entry.metrics.totalSize / 1024 / 1024).toFixed(2);
|
|
171
|
+
const gzipMb = (entry.metrics.totalGzipSize / 1024 / 1024).toFixed(2);
|
|
172
|
+
let change = '';
|
|
173
|
+
if (index > 0) {
|
|
174
|
+
const prevGzip = trends[index - 1].metrics.totalGzipSize;
|
|
175
|
+
const diff = entry.metrics.totalGzipSize - prevGzip;
|
|
176
|
+
const diffMb = (diff / 1024 / 1024).toFixed(2);
|
|
177
|
+
if (diff > 0) {
|
|
178
|
+
change = chalk_1.default.red(`+${diffMb}MB`);
|
|
179
|
+
}
|
|
180
|
+
else if (diff < 0) {
|
|
181
|
+
change = chalk_1.default.green(`${diffMb}MB`);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
change = chalk_1.default.gray('0MB');
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
data.push([
|
|
188
|
+
String(trends.length - index),
|
|
189
|
+
date,
|
|
190
|
+
totalMb,
|
|
191
|
+
gzipMb,
|
|
192
|
+
String(entry.metrics.moduleCount),
|
|
193
|
+
String(entry.metrics.chunkCount),
|
|
194
|
+
change || '-'
|
|
195
|
+
]);
|
|
196
|
+
});
|
|
197
|
+
console.log((0, table_1.table)(data, {
|
|
198
|
+
columns: {
|
|
199
|
+
0: { alignment: 'right' },
|
|
200
|
+
1: { alignment: 'left' },
|
|
201
|
+
2: { alignment: 'right' },
|
|
202
|
+
3: { alignment: 'right' },
|
|
203
|
+
4: { alignment: 'right' },
|
|
204
|
+
5: { alignment: 'right' },
|
|
205
|
+
6: { alignment: 'left' }
|
|
206
|
+
}
|
|
207
|
+
}));
|
|
208
|
+
console.log();
|
|
209
|
+
});
|
|
85
210
|
program.parse();
|
|
86
211
|
function printSummary(result, options, baseline) {
|
|
87
212
|
console.log(chalk_1.default.bold.cyan('\n📊 Package Analysis Results\n'));
|
|
@@ -90,6 +215,10 @@ function printSummary(result, options, baseline) {
|
|
|
90
215
|
const gzipMb = result.metrics.totalGzipSize / 1024 / 1024;
|
|
91
216
|
console.log(` Total Size: ${chalk_1.default.red(totalMb.toFixed(2))}MB${formatDeltaMb(baseline?.metrics.totalSize, result.metrics.totalSize)}`);
|
|
92
217
|
console.log(` Gzip Size: ${chalk_1.default.yellow(gzipMb.toFixed(2))}MB${formatDeltaMb(baseline?.metrics.totalGzipSize, result.metrics.totalGzipSize)}`);
|
|
218
|
+
if (result.metrics.totalBrotliSize) {
|
|
219
|
+
const brotliMb = result.metrics.totalBrotliSize / 1024 / 1024;
|
|
220
|
+
console.log(` Brotli Size (est): ${chalk_1.default.cyan(brotliMb.toFixed(2))}MB`);
|
|
221
|
+
}
|
|
93
222
|
console.log(` Modules: ${chalk_1.default.blue(result.metrics.moduleCount)}${formatDeltaCount(baseline?.metrics.moduleCount, result.metrics.moduleCount)}`);
|
|
94
223
|
console.log(` Chunks: ${chalk_1.default.blue(result.metrics.chunkCount)}${formatDeltaCount(baseline?.metrics.chunkCount, result.metrics.chunkCount)}`);
|
|
95
224
|
console.log(` Avg Module: ${chalk_1.default.green((result.metrics.averageModuleSize / 1024).toFixed(2))}KB\n`);
|
|
@@ -110,6 +239,73 @@ function printTopModules(result) {
|
|
|
110
239
|
});
|
|
111
240
|
console.log();
|
|
112
241
|
}
|
|
242
|
+
function printPackageAnalysis(result) {
|
|
243
|
+
if (result.packages.length === 0)
|
|
244
|
+
return;
|
|
245
|
+
console.log(chalk_1.default.bold.magenta('\n📦 Top Packages by Size\n'));
|
|
246
|
+
const data = [];
|
|
247
|
+
data.push(['#', 'Package', 'Size (KB)', 'Modules', '% of Bundle']);
|
|
248
|
+
result.packages.slice(0, 10).forEach((pkg, index) => {
|
|
249
|
+
data.push([
|
|
250
|
+
String(index + 1),
|
|
251
|
+
pkg.name.slice(-40),
|
|
252
|
+
(pkg.totalSize / 1024).toFixed(2),
|
|
253
|
+
String(pkg.moduleCount),
|
|
254
|
+
pkg.percentage.toFixed(2)
|
|
255
|
+
]);
|
|
256
|
+
});
|
|
257
|
+
console.log((0, table_1.table)(data, {
|
|
258
|
+
columns: {
|
|
259
|
+
0: { alignment: 'right' },
|
|
260
|
+
1: { alignment: 'left' },
|
|
261
|
+
2: { alignment: 'right' },
|
|
262
|
+
3: { alignment: 'right' },
|
|
263
|
+
4: { alignment: 'right' }
|
|
264
|
+
}
|
|
265
|
+
}));
|
|
266
|
+
}
|
|
267
|
+
function printChunkAnalysis(result) {
|
|
268
|
+
if (!result.chunkAnalysis)
|
|
269
|
+
return;
|
|
270
|
+
const analysis = result.chunkAnalysis;
|
|
271
|
+
console.log(chalk_1.default.bold.blue('\n📦 Chunk Analysis\n'));
|
|
272
|
+
console.log(` Average Chunk Size: ${chalk_1.default.cyan((analysis.averageChunkSize / 1024).toFixed(2))}KB`);
|
|
273
|
+
console.log(` Average Modules per Chunk: ${chalk_1.default.cyan(analysis.averageModulesPerChunk.toFixed(1))}`);
|
|
274
|
+
console.log(` Largest Chunk: ${chalk_1.default.yellow(analysis.largestChunk.name)} (${(analysis.largestChunk.size / 1024).toFixed(2)}KB)`);
|
|
275
|
+
console.log(` Smallest Chunk: ${chalk_1.default.green(analysis.smallestChunk.name)} (${(analysis.smallestChunk.size / 1024).toFixed(2)}KB)`);
|
|
276
|
+
console.log(` Initial Chunk Size: ${chalk_1.default.magenta((analysis.initialChunkSize / 1024).toFixed(2))}KB\n`);
|
|
277
|
+
if (analysis.recommendations.length > 0) {
|
|
278
|
+
console.log(chalk_1.default.bold('Chunk Recommendations:'));
|
|
279
|
+
analysis.recommendations.forEach(rec => {
|
|
280
|
+
console.log(` • ${rec}`);
|
|
281
|
+
});
|
|
282
|
+
console.log();
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
function printUnusedModules(result) {
|
|
286
|
+
if (!result.unusedModules || result.unusedModules.length === 0)
|
|
287
|
+
return;
|
|
288
|
+
console.log(chalk_1.default.bold.yellow('\n🔍 Potentially Unused Modules\n'));
|
|
289
|
+
console.log(chalk_1.default.gray(' Note: These modules may be unused or have unclear import paths\n'));
|
|
290
|
+
const data = [];
|
|
291
|
+
data.push(['#', 'Module', 'Size (KB)', 'Reason']);
|
|
292
|
+
result.unusedModules.slice(0, 10).forEach((module, index) => {
|
|
293
|
+
data.push([
|
|
294
|
+
String(index + 1),
|
|
295
|
+
module.name.slice(-50),
|
|
296
|
+
(module.size / 1024).toFixed(2),
|
|
297
|
+
module.reason.slice(0, 40)
|
|
298
|
+
]);
|
|
299
|
+
});
|
|
300
|
+
console.log((0, table_1.table)(data, {
|
|
301
|
+
columns: {
|
|
302
|
+
0: { alignment: 'right' },
|
|
303
|
+
1: { alignment: 'left' },
|
|
304
|
+
2: { alignment: 'right' },
|
|
305
|
+
3: { alignment: 'left' }
|
|
306
|
+
}
|
|
307
|
+
}));
|
|
308
|
+
}
|
|
113
309
|
function printRecommendations(result) {
|
|
114
310
|
if (result.recommendations.length === 0)
|
|
115
311
|
return;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,8CAAsB;AACtB,4CAAoB;AACpB,gDAAwB;AACxB,iCAA8B;AAE9B,kDAA+C;AAC/C,qDAA6D;AAC7D,iDAAoE;AACpE,4CAAqE;AACrE,gDAAiE;AACjE,uEAA2E;AAkB3E,iCAAiC;AACjC,MAAM,UAAU,GAAG,GAAW,EAAE;IAC9B,IAAI,CAAC;QACH,2DAA2D;QAC3D,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QACtE,OAAO,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,OAAO,CAAC,UAAU,EAAE,CAAC;KACrB,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;AAEzC,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,EAAE,sBAAsB,CAAC;KAChF,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;KACtC,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC;KACzC,MAAM,CAAC,WAAW,EAAE,6BAA6B,CAAC;KAClD,MAAM,CAAC,mBAAmB,EAAE,uDAAuD,EAAE,MAAM,CAAC;KAC5F,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;KACtE,MAAM,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;KACrE,MAAM,CAAC,oCAAoC,EAAE,mEAAmE,EAAE,UAAU,EAAE,CAAC,CAAC;KAChI,MAAM,CAAC,sBAAsB,EAAE,qDAAqD,EAAE,UAAU,CAAC;KACjG,MAAM,CAAC,yBAAyB,EAAE,wDAAwD,EAAE,UAAU,CAAC;KACvG,MAAM,CAAC,wBAAwB,EAAE,wCAAwC,CAAC;KAC1E,MAAM,CAAC,2BAA2B,EAAE,oCAAoC,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAuB,EAAE,EAAE;IAC3D,8CAA8C;IAC9C,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC5B,MAAM,aAAa,GAAG,IAAA,+BAAsB,EAAC,MAAM,EAAE,OAA6C,CAA8B,CAAC;IAEjI,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;IAEpD,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;QACrC,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,uBAAuB;QACvB,UAAU,CAAC,0BAA0B,CAAC,CAAC;QACvC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,mBAAmB,SAAS,IAAI;gBAChC,8DAA8D,SAAS,IAAI;gBAC3E,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,UAAU,CAAC,mCAAmC,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAEzF,UAAU,CAAC,iCAAiC,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QAExC,IAAI,cAA0C,CAAC;QAE/C,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC3B,UAAU,CAAC,0BAA0B,CAAC,CAAC;YACvC,MAAM,YAAY,GAAG,aAAa,CAAC,QAAkB,CAAC;YACtD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CACb,4BAA4B,YAAY,IAAI;oBAC5C,oEAAoE,CACrE,CAAC;YACJ,CAAC;YACD,UAAU,CAAC,uBAAuB,CAAC,CAAC;YACpC,MAAM,gBAAgB,GAAG,IAAI,mBAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACpG,cAAc,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACpD,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAEtC,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;YAEpD,IAAI,CAAC,aAAa,CAAC,cAAc,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACrE,eAAe,CAAC,MAAM,CAAC,CAAC;gBACxB,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAC7B,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC3B,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC3B,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBAC7B,sBAAsB,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;YAED,IAAI,aAAa,CAAC,cAAc,IAAI,CAAC,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;gBACvG,eAAe,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YAED,IAAI,aAAa,CAAC,gBAAgB,IAAI,CAAC,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;gBACzG,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,aAAa,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACjC,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,IAAI,MAAM,CAAC;gBAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;gBAExC,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBACrB,IAAA,qBAAW,EAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7F,CAAC;qBAAM,IAAI,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpD,IAAA,0BAAgB,EAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,8BAA8B,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjG,CAAC;qBAAM,CAAC;oBACN,IAAA,4BAAkB,EAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAE3D,yCAAyC;YACzC,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,aAAa,CAAC,eAAe,CAAC;gBAChD,IAAA,0CAAuB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,sCAAsC;YACtC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC;oBACH,IAAA,0BAAgB,EAAC,MAAM,CAAC,CAAC;oBACzB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,sCAAsC;gBACxC,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,EAAE,IAAI,CAAC;KACjE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;IAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAE3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oEAAoE,CAAC,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC;IAEzF,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEnF,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEtE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YACzD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,QAAQ,CAAC;YACpD,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACb,MAAM,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,GAAG,eAAK,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YAC7B,IAAI;YACJ,OAAO;YACP,MAAM;YACN,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAChC,MAAM,IAAI,GAAG;SACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,IAAA,aAAK,EAAC,IAAI,EAAE;QACtB,OAAO,EAAE;YACP,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YACxB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SACzB;KACF,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,SAAS,YAAY,CAAC,MAAsB,EAAE,OAAuB,EAAE,QAAyB;IAC9F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAEhE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvI,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChJ,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,wBAAwB,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAClJ,OAAO,CAAC,GAAG,CAAC,aAAa,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9I,OAAO,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEtG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CACT,yBAAyB,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CACjL,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CACT,4BAA4B,eAAK,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CACjK,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAAsB;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACtD,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsB;IAClD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAE/D,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClD,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACjB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;YACvB,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,IAAA,aAAK,EAAC,IAAI,EAAE;QACV,OAAO,EAAE;YACP,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YACxB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;SAC1B;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAsB;IAChD,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO;IAElC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAEtD,OAAO,CAAC,GAAG,CAAC,yBAAyB,eAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpG,OAAO,CAAC,GAAG,CAAC,gCAAgC,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtG,OAAO,CAAC,GAAG,CAAC,oBAAoB,eAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAClI,OAAO,CAAC,GAAG,CAAC,qBAAqB,eAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACpI,OAAO,CAAC,GAAG,CAAC,yBAAyB,eAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAEzG,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAClD,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAsB;IAChD,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC,CAAC;IAE9F,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAC1D,IAAI,CAAC,IAAI,CAAC;YACR,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,IAAA,aAAK,EAAC,IAAI,EAAE;QACV,OAAO,EAAE;YACP,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YACxB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SACzB;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAsB;IAClD,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEhD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACvD,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsB;IACpD,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAElD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrD,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAAsB;IAC7C,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;QACrE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,eAAe,CAAC,CAAC,CAAC;IAExF,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,IAAA,aAAK,EAAC,IAAI,EAAE;QACV,OAAO,EAAE;YACP,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SACzB;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAsB,EAAE,gBAAwB;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC;IAEzF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,SAAS,oBAAoB,CAAC,CAAC,CAAC;QACrF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,mBAAmB,SAAS,oBAAoB,CAAC,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;IAEvD,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;QAChC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CACT,IAAA,aAAK,EAAC,IAAI,EAAE;QACV,OAAO,EAAE;YACP,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;YACxB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;YACzB,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;SAC1B;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAsB,EAAE,OAAuB;IACzE,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;QAC1D,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,yBAAyB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,OAAO,CAAC,WAAW,MAAM,CAC9F,CACF,CAAC;YACF,QAAQ,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,GAAG,IAAI,CAAC;QACnE,IAAI,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;YACvC,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,4BAA4B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,OAAO,CAAC,cAAc,MAAM,CACvG,CACF,CAAC;YACF,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,aAAsB,EAAE,YAAqB;IAClE,IAAI,aAAa,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IAC5D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC;IACnD,OAAO,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC;AAC9E,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAiB,EAAE,OAAgB;IAC3D,IAAI,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,GAAG,QAAQ,CAAC;IAChC,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC;IACjD,OAAO,KAAK,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;AAC/D,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface PacklyzeConfig {
|
|
2
|
+
thresholds?: {
|
|
3
|
+
maxGzipSize?: number;
|
|
4
|
+
maxInitialSize?: number;
|
|
5
|
+
largeModuleThreshold?: number;
|
|
6
|
+
};
|
|
7
|
+
output?: string;
|
|
8
|
+
baseline?: string;
|
|
9
|
+
format?: 'html' | 'csv' | 'markdown' | 'md';
|
|
10
|
+
}
|
|
11
|
+
export declare function loadConfig(projectRoot?: string): PacklyzeConfig | null;
|
|
12
|
+
export declare function mergeConfigWithOptions(config: PacklyzeConfig | null, options: Record<string, unknown>): Record<string, unknown>;
|
|
13
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE;QACX,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;CAC7C;AASD,wBAAgB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAkBtE;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkCzB"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.loadConfig = loadConfig;
|
|
7
|
+
exports.mergeConfigWithOptions = mergeConfigWithOptions;
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const CONFIG_FILES = [
|
|
11
|
+
'packlyze.config.json',
|
|
12
|
+
'.packlyzerc',
|
|
13
|
+
'.packlyzerc.json',
|
|
14
|
+
'packlyze.json'
|
|
15
|
+
];
|
|
16
|
+
function loadConfig(projectRoot) {
|
|
17
|
+
const root = projectRoot || process.cwd();
|
|
18
|
+
for (const configFile of CONFIG_FILES) {
|
|
19
|
+
const configPath = path_1.default.join(root, configFile);
|
|
20
|
+
if (fs_1.default.existsSync(configPath)) {
|
|
21
|
+
try {
|
|
22
|
+
const content = fs_1.default.readFileSync(configPath, 'utf-8');
|
|
23
|
+
const config = JSON.parse(content);
|
|
24
|
+
return config;
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
console.warn(`Warning: Failed to parse config file ${configFile}: ${error}`);
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
function mergeConfigWithOptions(config, options) {
|
|
35
|
+
if (!config)
|
|
36
|
+
return options;
|
|
37
|
+
const merged = { ...options };
|
|
38
|
+
// Merge thresholds
|
|
39
|
+
if (config.thresholds) {
|
|
40
|
+
if (config.thresholds.maxGzipSize !== undefined && !options.maxGzipSize) {
|
|
41
|
+
merged.maxGzipSize = config.thresholds.maxGzipSize;
|
|
42
|
+
}
|
|
43
|
+
if (config.thresholds.maxInitialSize !== undefined && !options.maxInitialSize) {
|
|
44
|
+
merged.maxInitialSize = config.thresholds.maxInitialSize;
|
|
45
|
+
}
|
|
46
|
+
if (config.thresholds.largeModuleThreshold !== undefined && options.largeModuleThreshold === 5) {
|
|
47
|
+
merged.largeModuleThreshold = config.thresholds.largeModuleThreshold;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Merge output path
|
|
51
|
+
if (config.output && !options.output) {
|
|
52
|
+
merged.output = config.output;
|
|
53
|
+
}
|
|
54
|
+
// Merge baseline
|
|
55
|
+
if (config.baseline && !options.baseline) {
|
|
56
|
+
merged.baseline = config.baseline;
|
|
57
|
+
}
|
|
58
|
+
// Merge format
|
|
59
|
+
if (config.format && !options.format) {
|
|
60
|
+
merged.format = config.format;
|
|
61
|
+
}
|
|
62
|
+
return merged;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":";;;;;AAqBA,gCAkBC;AAED,wDAqCC;AA9ED,4CAAoB;AACpB,gDAAwB;AAaxB,MAAM,YAAY,GAAG;IACnB,sBAAsB;IACtB,aAAa;IACb,kBAAkB;IAClB,eAAe;CAChB,CAAC;AAEF,SAAgB,UAAU,CAAC,WAAoB;IAC7C,MAAM,IAAI,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1C,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;gBACrD,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,wCAAwC,UAAU,KAAK,KAAK,EAAE,CAAC,CAAC;gBAC7E,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,sBAAsB,CACpC,MAA6B,EAC7B,OAAgC;IAEhC,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC;IAE5B,MAAM,MAAM,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAC;IAEvD,mBAAmB;IACnB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACxE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC9E,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC;QAC3D,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,oBAAoB,KAAK,SAAS,IAAI,OAAO,CAAC,oBAAoB,KAAK,CAAC,EAAE,CAAC;YAC/F,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC;QACvE,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,iBAAiB;IACjB,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,eAAe;IACf,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/exporters/formats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CA+C5E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAsFjF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.exportToCSV = exportToCSV;
|
|
7
|
+
exports.exportToMarkdown = exportToMarkdown;
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
function exportToCSV(result, outputPath) {
|
|
11
|
+
const dir = path_1.default.dirname(outputPath);
|
|
12
|
+
if (dir && dir !== '.' && !fs_1.default.existsSync(dir)) {
|
|
13
|
+
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
14
|
+
}
|
|
15
|
+
const lines = [];
|
|
16
|
+
// Header
|
|
17
|
+
lines.push('Metric,Value');
|
|
18
|
+
lines.push(`Total Size (MB),${(result.metrics.totalSize / 1024 / 1024).toFixed(2)}`);
|
|
19
|
+
lines.push(`Gzip Size (MB),${(result.metrics.totalGzipSize / 1024 / 1024).toFixed(2)}`);
|
|
20
|
+
if (result.metrics.totalBrotliSize) {
|
|
21
|
+
lines.push(`Brotli Size (MB),${(result.metrics.totalBrotliSize / 1024 / 1024).toFixed(2)}`);
|
|
22
|
+
}
|
|
23
|
+
lines.push(`Module Count,${result.metrics.moduleCount}`);
|
|
24
|
+
lines.push(`Chunk Count,${result.metrics.chunkCount}`);
|
|
25
|
+
lines.push('');
|
|
26
|
+
// Top Modules
|
|
27
|
+
lines.push('Top Modules');
|
|
28
|
+
lines.push('Module Name,Size (KB),Percentage');
|
|
29
|
+
result.bundleStats.modules.slice(0, 20).forEach(m => {
|
|
30
|
+
lines.push(`"${m.name}",${(m.size / 1024).toFixed(2)},${m.percentage.toFixed(2)}`);
|
|
31
|
+
});
|
|
32
|
+
lines.push('');
|
|
33
|
+
// Packages
|
|
34
|
+
if (result.packages.length > 0) {
|
|
35
|
+
lines.push('Packages');
|
|
36
|
+
lines.push('Package Name,Size (KB),Modules,Percentage');
|
|
37
|
+
result.packages.slice(0, 20).forEach(pkg => {
|
|
38
|
+
lines.push(`"${pkg.name}",${(pkg.totalSize / 1024).toFixed(2)},${pkg.moduleCount},${pkg.percentage.toFixed(2)}`);
|
|
39
|
+
});
|
|
40
|
+
lines.push('');
|
|
41
|
+
}
|
|
42
|
+
// Duplicates
|
|
43
|
+
if (result.duplicates.length > 0) {
|
|
44
|
+
lines.push('Duplicates');
|
|
45
|
+
lines.push('Count,Total Size (KB),Potential Savings (KB),Example Names');
|
|
46
|
+
result.duplicates.forEach(dup => {
|
|
47
|
+
lines.push(`${dup.names.length},${(dup.totalSize / 1024).toFixed(2)},${(dup.savings / 1024).toFixed(2)},"${dup.names[0]}"`);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
fs_1.default.writeFileSync(outputPath, lines.join('\n'), 'utf-8');
|
|
51
|
+
}
|
|
52
|
+
function exportToMarkdown(result, outputPath) {
|
|
53
|
+
const dir = path_1.default.dirname(outputPath);
|
|
54
|
+
if (dir && dir !== '.' && !fs_1.default.existsSync(dir)) {
|
|
55
|
+
fs_1.default.mkdirSync(dir, { recursive: true });
|
|
56
|
+
}
|
|
57
|
+
const lines = [];
|
|
58
|
+
lines.push('# Bundle Analysis Report');
|
|
59
|
+
lines.push('');
|
|
60
|
+
lines.push(`**Generated:** ${new Date(result.timestamp).toLocaleString()}`);
|
|
61
|
+
lines.push('');
|
|
62
|
+
// Metrics
|
|
63
|
+
lines.push('## Metrics');
|
|
64
|
+
lines.push('');
|
|
65
|
+
lines.push('| Metric | Value |');
|
|
66
|
+
lines.push('|--------|-------|');
|
|
67
|
+
lines.push(`| Total Size | ${(result.metrics.totalSize / 1024 / 1024).toFixed(2)} MB |`);
|
|
68
|
+
lines.push(`| Gzip Size | ${(result.metrics.totalGzipSize / 1024 / 1024).toFixed(2)} MB |`);
|
|
69
|
+
if (result.metrics.totalBrotliSize) {
|
|
70
|
+
lines.push(`| Brotli Size (est) | ${(result.metrics.totalBrotliSize / 1024 / 1024).toFixed(2)} MB |`);
|
|
71
|
+
}
|
|
72
|
+
lines.push(`| Modules | ${result.metrics.moduleCount} |`);
|
|
73
|
+
lines.push(`| Chunks | ${result.metrics.chunkCount} |`);
|
|
74
|
+
lines.push(`| Avg Module Size | ${(result.metrics.averageModuleSize / 1024).toFixed(2)} KB |`);
|
|
75
|
+
lines.push('');
|
|
76
|
+
// Top Modules
|
|
77
|
+
lines.push('## Top Modules');
|
|
78
|
+
lines.push('');
|
|
79
|
+
lines.push('| # | Module | Size (KB) | Percentage |');
|
|
80
|
+
lines.push('|---|--------|-----------|------------|');
|
|
81
|
+
result.bundleStats.modules.slice(0, 20).forEach((m, i) => {
|
|
82
|
+
lines.push(`| ${i + 1} | \`${m.name}\` | ${(m.size / 1024).toFixed(2)} | ${m.percentage.toFixed(2)}% |`);
|
|
83
|
+
});
|
|
84
|
+
lines.push('');
|
|
85
|
+
// Packages
|
|
86
|
+
if (result.packages.length > 0) {
|
|
87
|
+
lines.push('## Top Packages');
|
|
88
|
+
lines.push('');
|
|
89
|
+
lines.push('| # | Package | Size (KB) | Modules | % of Bundle |');
|
|
90
|
+
lines.push('|---|---------|-----------|---------|--------------|');
|
|
91
|
+
result.packages.slice(0, 20).forEach((pkg, i) => {
|
|
92
|
+
lines.push(`| ${i + 1} | \`${pkg.name}\` | ${(pkg.totalSize / 1024).toFixed(2)} | ${pkg.moduleCount} | ${pkg.percentage.toFixed(2)}% |`);
|
|
93
|
+
});
|
|
94
|
+
lines.push('');
|
|
95
|
+
}
|
|
96
|
+
// Recommendations
|
|
97
|
+
if (result.recommendations.length > 0) {
|
|
98
|
+
lines.push('## Recommendations');
|
|
99
|
+
lines.push('');
|
|
100
|
+
result.recommendations.forEach(rec => {
|
|
101
|
+
const icon = rec.severity === 'critical' ? '🔴' : rec.severity === 'warning' ? '🟡' : '🟢';
|
|
102
|
+
lines.push(`### ${icon} ${rec.severity.toUpperCase()}: ${rec.message}`);
|
|
103
|
+
lines.push('');
|
|
104
|
+
lines.push(`**Action:** ${rec.action}`);
|
|
105
|
+
lines.push('');
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
// Duplicates
|
|
109
|
+
if (result.duplicates.length > 0) {
|
|
110
|
+
lines.push('## Duplicate Modules');
|
|
111
|
+
lines.push('');
|
|
112
|
+
lines.push('| Count | Total Size (KB) | Potential Savings (KB) | Example |');
|
|
113
|
+
lines.push('|-------|----------------|------------------------|---------|');
|
|
114
|
+
result.duplicates.forEach(dup => {
|
|
115
|
+
lines.push(`| ${dup.names.length} | ${(dup.totalSize / 1024).toFixed(2)} | ${(dup.savings / 1024).toFixed(2)} | \`${dup.names[0]}\` |`);
|
|
116
|
+
});
|
|
117
|
+
lines.push('');
|
|
118
|
+
}
|
|
119
|
+
// Tree-shaking issues
|
|
120
|
+
if (result.treeshakingIssues.length > 0) {
|
|
121
|
+
lines.push('## Tree-Shaking Issues');
|
|
122
|
+
lines.push('');
|
|
123
|
+
result.treeshakingIssues.slice(0, 10).forEach(issue => {
|
|
124
|
+
lines.push(`- ${issue}`);
|
|
125
|
+
});
|
|
126
|
+
lines.push('');
|
|
127
|
+
}
|
|
128
|
+
fs_1.default.writeFileSync(outputPath, lines.join('\n'), 'utf-8');
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=formats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/exporters/formats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AnalysisResult } from '../types.js';
|
|
2
|
+
export interface HistoryEntry {
|
|
3
|
+
timestamp: string;
|
|
4
|
+
metrics: {
|
|
5
|
+
totalSize: number;
|
|
6
|
+
totalGzipSize: number;
|
|
7
|
+
totalBrotliSize?: number;
|
|
8
|
+
moduleCount: number;
|
|
9
|
+
chunkCount: number;
|
|
10
|
+
};
|
|
11
|
+
gitCommit?: string;
|
|
12
|
+
gitBranch?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface HistoryData {
|
|
15
|
+
entries: HistoryEntry[];
|
|
16
|
+
}
|
|
17
|
+
export declare function getHistoryPath(projectRoot?: string): string;
|
|
18
|
+
export declare function ensureHistoryDir(projectRoot?: string): string;
|
|
19
|
+
export declare function loadHistory(projectRoot?: string): HistoryData;
|
|
20
|
+
export declare function saveHistoryEntry(result: AnalysisResult, projectRoot?: string): void;
|
|
21
|
+
export declare function getTrends(projectRoot?: string, limit?: number): HistoryEntry[];
|
|
22
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/tracking/history.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK7C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,YAAY,EAAE,CAAC;CACzB;AAED,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAO7D;AAED,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAc7D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CA6CnF;AAED,wBAAgB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAW,GAAG,YAAY,EAAE,CAGlF"}
|