@revealui/core 0.3.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/admin/components/AdminDashboard.d.ts.map +1 -1
- package/dist/client/admin/components/AdminDashboard.js +20 -3
- package/dist/client/richtext/index.d.ts.map +1 -1
- package/dist/client/richtext/plugins/FloatingToolbarPlugin.js +1 -3
- package/dist/collections/operations/create.d.ts +2 -1
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +28 -1
- package/dist/database/type-adapter.d.ts.map +1 -1
- package/dist/features.d.ts +13 -3
- package/dist/features.d.ts.map +1 -1
- package/dist/features.js +17 -0
- package/dist/globals/GlobalOperations.d.ts.map +1 -1
- package/dist/globals/GlobalOperations.js +12 -2
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/license.d.ts +6 -0
- package/dist/license.d.ts.map +1 -1
- package/dist/license.js +14 -1
- package/dist/monitoring/alerts.d.ts +4 -4
- package/dist/monitoring/alerts.d.ts.map +1 -1
- package/dist/plugins/nested-docs.d.ts.map +1 -1
- package/dist/plugins/nested-docs.js +0 -1
- package/dist/queries/queryBuilder.d.ts.map +1 -1
- package/dist/queries/queryBuilder.js +4 -3
- package/dist/richtext/index.d.ts.map +1 -1
- package/dist/storage/vercel-blob.d.ts.map +1 -1
- package/dist/storage/vercel-blob.js +3 -0
- package/dist/types/api.d.ts.map +1 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/core.d.ts +1 -1
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/extensions.d.ts.map +1 -1
- package/dist/types/frontend.d.ts.map +1 -1
- package/dist/types/legacy.d.ts.map +1 -1
- package/dist/types/query.d.ts.map +1 -1
- package/dist/types/runtime.d.ts +1 -0
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/utils/error-responses.d.ts.map +1 -1
- package/dist/utils/error-responses.js +2 -3
- package/package.json +24 -24
- package/dist/caching/app-cache.d.ts +0 -242
- package/dist/caching/app-cache.d.ts.map +0 -1
- package/dist/caching/app-cache.js +0 -438
- package/dist/caching/cdn-config.d.ts +0 -155
- package/dist/caching/cdn-config.d.ts.map +0 -1
- package/dist/caching/cdn-config.js +0 -415
- package/dist/caching/edge-cache.d.ts +0 -177
- package/dist/caching/edge-cache.d.ts.map +0 -1
- package/dist/caching/edge-cache.js +0 -414
- package/dist/caching/service-worker.d.ts +0 -157
- package/dist/caching/service-worker.d.ts.map +0 -1
- package/dist/caching/service-worker.js +0 -438
- package/dist/client/admin/utils/auth.d.ts +0 -23
- package/dist/client/admin/utils/auth.d.ts.map +0 -1
- package/dist/client/admin/utils/auth.js +0 -52
- package/dist/client/http/client.d.ts +0 -15
- package/dist/client/http/client.d.ts.map +0 -1
- package/dist/client/http/client.js +0 -49
- package/dist/client/http/fetchBanner.d.ts +0 -18
- package/dist/client/http/fetchBanner.d.ts.map +0 -1
- package/dist/client/http/fetchBanner.js +0 -44
- package/dist/client/http/fetchCard.d.ts +0 -18
- package/dist/client/http/fetchCard.d.ts.map +0 -1
- package/dist/client/http/fetchCard.js +0 -46
- package/dist/client/http/fetchEvents.d.ts +0 -18
- package/dist/client/http/fetchEvents.d.ts.map +0 -1
- package/dist/client/http/fetchEvents.js +0 -44
- package/dist/client/http/fetchHero.d.ts +0 -17
- package/dist/client/http/fetchHero.d.ts.map +0 -1
- package/dist/client/http/fetchHero.js +0 -55
- package/dist/client/http/fetchMainInfos.d.ts +0 -17
- package/dist/client/http/fetchMainInfos.d.ts.map +0 -1
- package/dist/client/http/fetchMainInfos.js +0 -44
- package/dist/client/http/fetchVideos.d.ts +0 -13
- package/dist/client/http/fetchVideos.d.ts.map +0 -1
- package/dist/client/http/fetchVideos.js +0 -36
- package/dist/client/http/index.d.ts +0 -19
- package/dist/client/http/index.d.ts.map +0 -1
- package/dist/client/http/index.js +0 -11
- package/dist/error-handling/circuit-breaker.d.ts +0 -262
- package/dist/error-handling/circuit-breaker.d.ts.map +0 -1
- package/dist/error-handling/circuit-breaker.js +0 -550
- package/dist/error-handling/retry.d.ts +0 -194
- package/dist/error-handling/retry.d.ts.map +0 -1
- package/dist/error-handling/retry.js +0 -455
- package/dist/errors/index.d.ts +0 -23
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -40
- package/dist/generated/agents/index.d.ts +0 -8
- package/dist/generated/agents/index.d.ts.map +0 -1
- package/dist/generated/agents/index.js +0 -7
- package/dist/generated/components/index.d.ts +0 -8
- package/dist/generated/components/index.d.ts.map +0 -1
- package/dist/generated/components/index.js +0 -7
- package/dist/generated/functions/index.d.ts +0 -8
- package/dist/generated/functions/index.d.ts.map +0 -1
- package/dist/generated/functions/index.js +0 -7
- package/dist/generated/hooks/index.d.ts +0 -8
- package/dist/generated/hooks/index.d.ts.map +0 -1
- package/dist/generated/hooks/index.js +0 -7
- package/dist/generated/plans/index.d.ts +0 -8
- package/dist/generated/plans/index.d.ts.map +0 -1
- package/dist/generated/plans/index.js +0 -7
- package/dist/generated/prompts/index.d.ts +0 -8
- package/dist/generated/prompts/index.d.ts.map +0 -1
- package/dist/generated/prompts/index.js +0 -7
- package/dist/generated/tools/index.d.ts +0 -8
- package/dist/generated/tools/index.d.ts.map +0 -1
- package/dist/generated/tools/index.js +0 -7
- package/dist/generated/types/supabase.d.ts +0 -193
- package/dist/generated/types/supabase.d.ts.map +0 -1
- package/dist/generated/types/supabase.js +0 -5
- package/dist/optimization/asset-optimizer.d.ts +0 -206
- package/dist/optimization/asset-optimizer.d.ts.map +0 -1
- package/dist/optimization/asset-optimizer.js +0 -336
- package/dist/optimization/build-optimizer.d.ts +0 -202
- package/dist/optimization/build-optimizer.d.ts.map +0 -1
- package/dist/optimization/build-optimizer.js +0 -271
- package/dist/optimization/bundle-analyzer.d.ts +0 -98
- package/dist/optimization/bundle-analyzer.d.ts.map +0 -1
- package/dist/optimization/bundle-analyzer.js +0 -346
- package/dist/optimization/code-splitting.d.ts +0 -121
- package/dist/optimization/code-splitting.d.ts.map +0 -1
- package/dist/optimization/code-splitting.js +0 -261
- package/dist/plugin/index.d.ts +0 -12
- package/dist/plugin/index.d.ts.map +0 -1
- package/dist/plugin/index.js +0 -4
- package/dist/security/audit.d.ts +0 -188
- package/dist/security/audit.d.ts.map +0 -1
- package/dist/security/audit.js +0 -433
- package/dist/security/auth.d.ts +0 -110
- package/dist/security/auth.d.ts.map +0 -1
- package/dist/security/auth.js +0 -257
- package/dist/security/authorization.d.ts +0 -211
- package/dist/security/authorization.d.ts.map +0 -1
- package/dist/security/authorization.js +0 -492
- package/dist/security/encryption.d.ts +0 -226
- package/dist/security/encryption.d.ts.map +0 -1
- package/dist/security/encryption.js +0 -534
- package/dist/security/gdpr-storage.d.ts +0 -102
- package/dist/security/gdpr-storage.d.ts.map +0 -1
- package/dist/security/gdpr-storage.js +0 -65
- package/dist/security/gdpr.d.ts +0 -320
- package/dist/security/gdpr.d.ts.map +0 -1
- package/dist/security/gdpr.js +0 -531
- package/dist/security/headers.d.ts +0 -184
- package/dist/security/headers.d.ts.map +0 -1
- package/dist/security/headers.js +0 -420
- package/dist/utils/jwt-validation.d.ts +0 -14
- package/dist/utils/jwt-validation.d.ts.map +0 -1
- package/dist/utils/jwt-validation.js +0 -36
- package/dist/utils/request-headers.d.ts +0 -15
- package/dist/utils/request-headers.d.ts.map +0 -1
- package/dist/utils/request-headers.js +0 -31
|
@@ -1,271 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Build Performance Optimization
|
|
3
|
-
*
|
|
4
|
-
* Utilities for optimizing build performance and configuration
|
|
5
|
-
*/
|
|
6
|
-
export const DEFAULT_NEXT_CONFIG = {
|
|
7
|
-
compiler: {
|
|
8
|
-
removeConsole: {
|
|
9
|
-
exclude: ['error', 'warn'],
|
|
10
|
-
},
|
|
11
|
-
},
|
|
12
|
-
swcMinify: true,
|
|
13
|
-
outputFileTracing: true,
|
|
14
|
-
experimental: {
|
|
15
|
-
optimizeCss: true,
|
|
16
|
-
optimizePackageImports: ['lodash', 'date-fns', 'recharts', '@radix-ui/react-icons'],
|
|
17
|
-
},
|
|
18
|
-
productionBrowserSourceMaps: false,
|
|
19
|
-
generateEtags: true,
|
|
20
|
-
poweredByHeader: false,
|
|
21
|
-
compress: true,
|
|
22
|
-
};
|
|
23
|
-
export const DEFAULT_WEBPACK_CONFIG = {
|
|
24
|
-
minimize: true,
|
|
25
|
-
splitChunks: {
|
|
26
|
-
chunks: 'all',
|
|
27
|
-
minSize: 20000,
|
|
28
|
-
maxSize: 244000,
|
|
29
|
-
minChunks: 1,
|
|
30
|
-
maxAsyncRequests: 30,
|
|
31
|
-
maxInitialRequests: 30,
|
|
32
|
-
cacheGroups: {
|
|
33
|
-
defaultVendors: {
|
|
34
|
-
test: /[\\/]node_modules[\\/]/,
|
|
35
|
-
priority: -10,
|
|
36
|
-
reuseExistingChunk: true,
|
|
37
|
-
},
|
|
38
|
-
default: {
|
|
39
|
-
minChunks: 2,
|
|
40
|
-
priority: -20,
|
|
41
|
-
reuseExistingChunk: true,
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
runtimeChunk: 'single',
|
|
46
|
-
moduleIds: 'deterministic',
|
|
47
|
-
chunkIds: 'deterministic',
|
|
48
|
-
concatenateModules: true,
|
|
49
|
-
usedExports: true,
|
|
50
|
-
sideEffects: true,
|
|
51
|
-
providedExports: true,
|
|
52
|
-
innerGraph: true,
|
|
53
|
-
};
|
|
54
|
-
export const DEFAULT_TURBOPACK_CONFIG = {
|
|
55
|
-
resolveExtensions: ['.tsx', '.ts', '.jsx', '.js', '.json'],
|
|
56
|
-
resolveAlias: {
|
|
57
|
-
'@': './src',
|
|
58
|
-
'@components': './src/components',
|
|
59
|
-
'@lib': './src/lib',
|
|
60
|
-
'@utils': './src/utils',
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
export const DEFAULT_CACHE_CONFIG = {
|
|
64
|
-
type: 'filesystem',
|
|
65
|
-
cacheDirectory: '.next/cache',
|
|
66
|
-
compression: 'gzip',
|
|
67
|
-
maxAge: 1000 * 60 * 60 * 24 * 7, // 1 week
|
|
68
|
-
};
|
|
69
|
-
export const DEFAULT_TREE_SHAKING_CONFIG = {
|
|
70
|
-
usedExports: true,
|
|
71
|
-
sideEffects: true,
|
|
72
|
-
providedExports: true,
|
|
73
|
-
innerGraph: true,
|
|
74
|
-
mangleExports: true,
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Generate package.json sideEffects field
|
|
78
|
-
*/
|
|
79
|
-
export function generateSideEffectsConfig(includeCSS = true) {
|
|
80
|
-
if (!includeCSS) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
return ['*.css', '*.scss', '*.sass', '*.less'];
|
|
84
|
-
}
|
|
85
|
-
export const DEFAULT_MODULE_RESOLUTION = {
|
|
86
|
-
extensions: ['.tsx', '.ts', '.jsx', '.js', '.json'],
|
|
87
|
-
alias: {
|
|
88
|
-
'@': './src',
|
|
89
|
-
'@components': './src/components',
|
|
90
|
-
'@lib': './src/lib',
|
|
91
|
-
'@utils': './src/utils',
|
|
92
|
-
'@hooks': './src/hooks',
|
|
93
|
-
'@types': './src/types',
|
|
94
|
-
},
|
|
95
|
-
modules: ['node_modules'],
|
|
96
|
-
symlinks: true,
|
|
97
|
-
fullySpecified: false,
|
|
98
|
-
};
|
|
99
|
-
export const DEFAULT_PARALLEL_CONFIG = {
|
|
100
|
-
parallel: true,
|
|
101
|
-
cache: true,
|
|
102
|
-
threads: 4,
|
|
103
|
-
};
|
|
104
|
-
export const DEFAULT_PERFORMANCE_CONFIG = {
|
|
105
|
-
hints: 'warning',
|
|
106
|
-
maxEntrypointSize: 250000, // 250KB
|
|
107
|
-
maxAssetSize: 250000,
|
|
108
|
-
assetFilter: (assetFilename) => {
|
|
109
|
-
return !assetFilename.endsWith('.map');
|
|
110
|
-
},
|
|
111
|
-
};
|
|
112
|
-
/**
|
|
113
|
-
* Analyze build performance
|
|
114
|
-
*/
|
|
115
|
-
export function analyzeBuildPerformance(stats) {
|
|
116
|
-
const issues = [];
|
|
117
|
-
let score = 100;
|
|
118
|
-
// Check build duration
|
|
119
|
-
if (stats.duration > 60000) {
|
|
120
|
-
issues.push({
|
|
121
|
-
type: 'warning',
|
|
122
|
-
message: `Build time (${(stats.duration / 1000).toFixed(1)}s) is slow. Consider parallel builds.`,
|
|
123
|
-
});
|
|
124
|
-
score -= 10;
|
|
125
|
-
}
|
|
126
|
-
// Check output size
|
|
127
|
-
if (stats.outputSize > 1024 * 1024) {
|
|
128
|
-
issues.push({
|
|
129
|
-
type: 'warning',
|
|
130
|
-
message: `Output size (${(stats.outputSize / 1024 / 1024).toFixed(1)}MB) is large. Consider code splitting.`,
|
|
131
|
-
});
|
|
132
|
-
score -= 15;
|
|
133
|
-
}
|
|
134
|
-
// Check for large assets
|
|
135
|
-
const largeAssets = stats.assets.filter((a) => a.size > 250000);
|
|
136
|
-
if (largeAssets.length > 0) {
|
|
137
|
-
issues.push({
|
|
138
|
-
type: 'warning',
|
|
139
|
-
message: `${largeAssets.length} assets exceed 250KB. Consider optimization.`,
|
|
140
|
-
});
|
|
141
|
-
score -= 10;
|
|
142
|
-
}
|
|
143
|
-
// Check for errors
|
|
144
|
-
if (stats.errors.length > 0) {
|
|
145
|
-
issues.push({
|
|
146
|
-
type: 'error',
|
|
147
|
-
message: `${stats.errors.length} build errors found.`,
|
|
148
|
-
});
|
|
149
|
-
score -= 30;
|
|
150
|
-
}
|
|
151
|
-
// Check for warnings
|
|
152
|
-
if (stats.warnings.length > 5) {
|
|
153
|
-
issues.push({
|
|
154
|
-
type: 'warning',
|
|
155
|
-
message: `${stats.warnings.length} build warnings found.`,
|
|
156
|
-
});
|
|
157
|
-
score -= 5;
|
|
158
|
-
}
|
|
159
|
-
return {
|
|
160
|
-
score: Math.max(0, score),
|
|
161
|
-
issues,
|
|
162
|
-
};
|
|
163
|
-
}
|
|
164
|
-
/**
|
|
165
|
-
* Generate tsconfig for optimal builds
|
|
166
|
-
*/
|
|
167
|
-
export function generateOptimizedTSConfig() {
|
|
168
|
-
return {
|
|
169
|
-
compilerOptions: {
|
|
170
|
-
target: 'ES2020',
|
|
171
|
-
lib: ['ES2020', 'DOM', 'DOM.Iterable'],
|
|
172
|
-
module: 'ESNext',
|
|
173
|
-
moduleResolution: 'bundler',
|
|
174
|
-
resolveJsonModule: true,
|
|
175
|
-
isolatedModules: true,
|
|
176
|
-
jsx: 'preserve',
|
|
177
|
-
incremental: true,
|
|
178
|
-
strict: true,
|
|
179
|
-
esModuleInterop: true,
|
|
180
|
-
skipLibCheck: true,
|
|
181
|
-
forceConsistentCasingInFileNames: true,
|
|
182
|
-
noEmit: true,
|
|
183
|
-
paths: {
|
|
184
|
-
'@/*': ['./src/*'],
|
|
185
|
-
'@components/*': ['./src/components/*'],
|
|
186
|
-
'@lib/*': ['./src/lib/*'],
|
|
187
|
-
'@utils/*': ['./src/utils/*'],
|
|
188
|
-
},
|
|
189
|
-
},
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
export function shouldPrebuildDependency(packageName, config = {}) {
|
|
193
|
-
const { include = [], exclude = [] } = config;
|
|
194
|
-
if (exclude.includes(packageName)) {
|
|
195
|
-
return false;
|
|
196
|
-
}
|
|
197
|
-
if (include.length > 0) {
|
|
198
|
-
return include.includes(packageName);
|
|
199
|
-
}
|
|
200
|
-
// Prebuild large, stable dependencies by default
|
|
201
|
-
const prebuildByDefault = ['react', 'react-dom', 'lodash', 'date-fns', 'zod', '@radix-ui'];
|
|
202
|
-
return prebuildByDefault.some((pkg) => packageName.startsWith(pkg));
|
|
203
|
-
}
|
|
204
|
-
export class BuildProfiler {
|
|
205
|
-
profiles = new Map();
|
|
206
|
-
stack = [];
|
|
207
|
-
start(name) {
|
|
208
|
-
const profile = {
|
|
209
|
-
name,
|
|
210
|
-
startTime: Date.now(),
|
|
211
|
-
children: [],
|
|
212
|
-
};
|
|
213
|
-
if (this.stack.length > 0) {
|
|
214
|
-
const parentName = this.stack[this.stack.length - 1];
|
|
215
|
-
if (parentName) {
|
|
216
|
-
const parent = this.profiles.get(parentName);
|
|
217
|
-
if (parent) {
|
|
218
|
-
parent.children.push(profile);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
this.profiles.set(name, profile);
|
|
223
|
-
this.stack.push(name);
|
|
224
|
-
}
|
|
225
|
-
end(name) {
|
|
226
|
-
const profile = this.profiles.get(name);
|
|
227
|
-
if (profile) {
|
|
228
|
-
profile.endTime = Date.now();
|
|
229
|
-
profile.duration = profile.endTime - profile.startTime;
|
|
230
|
-
}
|
|
231
|
-
const index = this.stack.indexOf(name);
|
|
232
|
-
if (index !== -1) {
|
|
233
|
-
this.stack.splice(index, 1);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
getProfile(name) {
|
|
237
|
-
return this.profiles.get(name);
|
|
238
|
-
}
|
|
239
|
-
getAllProfiles() {
|
|
240
|
-
return Array.from(this.profiles.values()).filter((p) => p.endTime !== undefined);
|
|
241
|
-
}
|
|
242
|
-
getSlowestProfiles(limit = 10) {
|
|
243
|
-
return this.getAllProfiles()
|
|
244
|
-
.sort((a, b) => (b.duration || 0) - (a.duration || 0))
|
|
245
|
-
.slice(0, limit);
|
|
246
|
-
}
|
|
247
|
-
reset() {
|
|
248
|
-
this.profiles.clear();
|
|
249
|
-
this.stack = [];
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Build optimization recommendations
|
|
254
|
-
*/
|
|
255
|
-
export function getBuildOptimizationRecommendations(stats) {
|
|
256
|
-
const recommendations = [];
|
|
257
|
-
if (stats.duration > 30000) {
|
|
258
|
-
recommendations.push('Enable parallel builds with --parallel flag', 'Use build cache with filesystem caching', 'Consider using Turbopack for faster builds');
|
|
259
|
-
}
|
|
260
|
-
if (stats.outputSize > 500000) {
|
|
261
|
-
recommendations.push('Enable code splitting for better chunking', 'Use dynamic imports for large components', 'Enable tree shaking in production');
|
|
262
|
-
}
|
|
263
|
-
const largeAssets = stats.assets.filter((a) => a.size > 250000);
|
|
264
|
-
if (largeAssets.length > 0) {
|
|
265
|
-
recommendations.push('Compress large assets with gzip/brotli', 'Optimize images using next/image', 'Split large vendor bundles');
|
|
266
|
-
}
|
|
267
|
-
if (stats.chunks.length > 100) {
|
|
268
|
-
recommendations.push('Too many chunks - adjust splitChunks configuration', 'Increase minSize and minChunks thresholds');
|
|
269
|
-
}
|
|
270
|
-
return recommendations;
|
|
271
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bundle Analyzer
|
|
3
|
-
*
|
|
4
|
-
* Analyzes bundle size, dependencies, and optimization opportunities
|
|
5
|
-
*/
|
|
6
|
-
export interface BundleStats {
|
|
7
|
-
totalSize: number;
|
|
8
|
-
gzipSize?: number;
|
|
9
|
-
files: BundleFile[];
|
|
10
|
-
chunks: BundleChunk[];
|
|
11
|
-
dependencies: DependencyStats[];
|
|
12
|
-
duplicates: DuplicateModule[];
|
|
13
|
-
largeFiles: BundleFile[];
|
|
14
|
-
}
|
|
15
|
-
export interface BundleFile {
|
|
16
|
-
path: string;
|
|
17
|
-
size: number;
|
|
18
|
-
gzipSize?: number;
|
|
19
|
-
type: string;
|
|
20
|
-
relativeSize: number;
|
|
21
|
-
}
|
|
22
|
-
export interface BundleChunk {
|
|
23
|
-
name: string;
|
|
24
|
-
size: number;
|
|
25
|
-
files: string[];
|
|
26
|
-
dependencies: string[];
|
|
27
|
-
}
|
|
28
|
-
export interface DependencyStats {
|
|
29
|
-
name: string;
|
|
30
|
-
version: string;
|
|
31
|
-
size: number;
|
|
32
|
-
instances: number;
|
|
33
|
-
treeshakeable: boolean;
|
|
34
|
-
}
|
|
35
|
-
export interface DuplicateModule {
|
|
36
|
-
name: string;
|
|
37
|
-
versions: string[];
|
|
38
|
-
totalSize: number;
|
|
39
|
-
locations: string[];
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Analyze bundle directory
|
|
43
|
-
*/
|
|
44
|
-
export declare function analyzeBundleDirectory(bundlePath: string): BundleStats;
|
|
45
|
-
/**
|
|
46
|
-
* Format file size
|
|
47
|
-
*/
|
|
48
|
-
export declare function formatSize(bytes: number): string;
|
|
49
|
-
/**
|
|
50
|
-
* Analyze webpack stats
|
|
51
|
-
*/
|
|
52
|
-
export declare function analyzeWebpackStats(statsPath: string): BundleStats;
|
|
53
|
-
/**
|
|
54
|
-
* Find duplicate dependencies
|
|
55
|
-
*/
|
|
56
|
-
export declare function findDuplicateDependencies(stats: BundleStats): DuplicateModule[];
|
|
57
|
-
/**
|
|
58
|
-
* Get optimization suggestions
|
|
59
|
-
*/
|
|
60
|
-
export interface OptimizationSuggestion {
|
|
61
|
-
type: 'bundle-split' | 'tree-shaking' | 'dynamic-import' | 'compression' | 'dependency';
|
|
62
|
-
severity: 'critical' | 'warning' | 'info';
|
|
63
|
-
message: string;
|
|
64
|
-
potentialSavings?: number;
|
|
65
|
-
file?: string;
|
|
66
|
-
}
|
|
67
|
-
export declare function getOptimizationSuggestions(stats: BundleStats): OptimizationSuggestion[];
|
|
68
|
-
/**
|
|
69
|
-
* Generate bundle report
|
|
70
|
-
*/
|
|
71
|
-
export declare function generateBundleReport(stats: BundleStats): string;
|
|
72
|
-
/**
|
|
73
|
-
* Compare two bundle stats
|
|
74
|
-
*/
|
|
75
|
-
export interface BundleComparison {
|
|
76
|
-
sizeDiff: number;
|
|
77
|
-
sizeChangePercent: number;
|
|
78
|
-
filesAdded: number;
|
|
79
|
-
filesRemoved: number;
|
|
80
|
-
filesChanged: number;
|
|
81
|
-
newLargeFiles: BundleFile[];
|
|
82
|
-
improvements: string[];
|
|
83
|
-
regressions: string[];
|
|
84
|
-
}
|
|
85
|
-
export declare function compareBundles(before: BundleStats, after: BundleStats): BundleComparison;
|
|
86
|
-
/**
|
|
87
|
-
* Get bundle health score (0-100)
|
|
88
|
-
*/
|
|
89
|
-
export declare function getBundleHealthScore(stats: BundleStats): {
|
|
90
|
-
score: number;
|
|
91
|
-
factors: Array<{
|
|
92
|
-
name: string;
|
|
93
|
-
score: number;
|
|
94
|
-
weight: number;
|
|
95
|
-
reason: string;
|
|
96
|
-
}>;
|
|
97
|
-
};
|
|
98
|
-
//# sourceMappingURL=bundle-analyzer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-analyzer.d.ts","sourceRoot":"","sources":["../../src/optimization/bundle-analyzer.ts"],"names":[],"mappings":"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"}
|