proagents 1.6.17 → 1.6.18
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/.claude/settings.local.json +169 -0
- package/COMMANDS.md +595 -0
- package/README.md +13 -23
- package/package.json +2 -7
- package/.proagents/ai-models/README.md +0 -141
- package/.proagents/ai-models/cost-management.md +0 -362
- package/.proagents/ai-models/fallbacks.md +0 -342
- package/.proagents/ai-models/model-config.md +0 -318
- package/.proagents/ai-models/task-routing.md +0 -503
- package/.proagents/ai-training/README.md +0 -155
- package/.proagents/ai-training/continuous-learning.md +0 -413
- package/.proagents/ai-training/domain-knowledge.md +0 -378
- package/.proagents/ai-training/pattern-learning.md +0 -455
- package/.proagents/ai-training/training-data.md +0 -337
- package/.proagents/ai-training/user-preferences.md +0 -346
- package/.proagents/approval-workflows/README.md +0 -146
- package/.proagents/approval-workflows/approval-config.md +0 -332
- package/.proagents/approval-workflows/approval-stages.md +0 -503
- package/.proagents/approval-workflows/emergency-bypass.md +0 -351
- package/.proagents/approval-workflows/examples.md +0 -859
- package/.proagents/approval-workflows/notifications.md +0 -320
- package/.proagents/compliance/README.md +0 -206
- package/.proagents/compliance/access-control.md +0 -310
- package/.proagents/compliance/audit-logging.md +0 -444
- package/.proagents/compliance/compliance-frameworks.md +0 -429
- package/.proagents/compliance/reports.md +0 -491
- package/.proagents/compliance/retention-policies.md +0 -454
- package/.proagents/config-versioning/README.md +0 -120
- package/.proagents/config-versioning/changelog.md +0 -300
- package/.proagents/config-versioning/rollback.md +0 -283
- package/.proagents/config-versioning/versioning.md +0 -330
- package/.proagents/contract-testing/README.md +0 -223
- package/.proagents/contract-testing/contract-testing.md +0 -614
- package/.proagents/contract-testing/pact-integration.md +0 -507
- package/.proagents/contract-testing/schema-validation.md +0 -565
- package/.proagents/dependency-management/README.md +0 -140
- package/.proagents/dependency-management/automation.md +0 -363
- package/.proagents/dependency-management/compatibility.md +0 -319
- package/.proagents/dependency-management/security-scanning.md +0 -413
- package/.proagents/dependency-management/update-policies.md +0 -374
- package/.proagents/disaster-recovery/README.md +0 -247
- package/.proagents/disaster-recovery/automation.md +0 -366
- package/.proagents/disaster-recovery/backup-recovery.md +0 -571
- package/.proagents/disaster-recovery/incident-response.md +0 -565
- package/.proagents/disaster-recovery/rollback-procedures.md +0 -499
- package/.proagents/disaster-recovery/runbooks.md +0 -603
- package/.proagents/disaster-recovery/scenarios.md +0 -892
- package/.proagents/disaster-recovery/testing.md +0 -438
- package/.proagents/environments/README.md +0 -244
- package/.proagents/environments/configuration.md +0 -437
- package/.proagents/environments/promotion.md +0 -434
- package/.proagents/environments/setup.md +0 -420
- package/.proagents/examples/README.md +0 -55
- package/.proagents/examples/backend-nodejs/README.md +0 -188
- package/.proagents/examples/backend-nodejs/complete-conversation.md +0 -601
- package/.proagents/examples/backend-nodejs/proagents.config.yaml +0 -415
- package/.proagents/examples/backend-nodejs/workflow-example.md +0 -909
- package/.proagents/examples/fullstack-nextjs/README.md +0 -155
- package/.proagents/examples/fullstack-nextjs/complete-conversation.md +0 -604
- package/.proagents/examples/fullstack-nextjs/proagents.config.yaml +0 -287
- package/.proagents/examples/fullstack-nextjs/workflow-example.md +0 -553
- package/.proagents/examples/mobile-react-native/README.md +0 -171
- package/.proagents/examples/mobile-react-native/complete-conversation.md +0 -825
- package/.proagents/examples/mobile-react-native/proagents.config.yaml +0 -330
- package/.proagents/examples/mobile-react-native/workflow-example.md +0 -723
- package/.proagents/examples/web-frontend-react/README.md +0 -125
- package/.proagents/examples/web-frontend-react/complete-conversation.md +0 -556
- package/.proagents/examples/web-frontend-react/proagents.config.yaml +0 -183
- package/.proagents/examples/web-frontend-react/workflow-example.md +0 -603
- package/.proagents/existing-projects/README.md +0 -65
- package/.proagents/existing-projects/challenges.md +0 -861
- package/.proagents/existing-projects/coexistence-mode.md +0 -483
- package/.proagents/existing-projects/compatibility-assessment.md +0 -541
- package/.proagents/existing-projects/gradual-adoption.md +0 -515
- package/.proagents/existing-projects/migration-strategies.md +0 -788
- package/.proagents/existing-projects/pattern-reconciliation.md +0 -489
- package/.proagents/existing-projects/team-onboarding.md +0 -617
- package/.proagents/existing-projects/technical-debt-handling.md +0 -644
- package/.proagents/feature-flags/README.md +0 -263
- package/.proagents/feature-flags/ab-testing.md +0 -413
- package/.proagents/feature-flags/configuration.md +0 -420
- package/.proagents/feature-flags/kill-switches.md +0 -444
- package/.proagents/feature-flags/rollout-strategies.md +0 -392
- package/.proagents/history.log +0 -12
- package/.proagents/i18n/README.md +0 -133
- package/.proagents/i18n/extraction.md +0 -433
- package/.proagents/i18n/tms-integration.md +0 -332
- package/.proagents/i18n/translation-workflow.md +0 -413
- package/.proagents/i18n/validation.md +0 -355
- package/.proagents/logging/README.md +0 -276
- package/.proagents/logging/aggregation.md +0 -475
- package/.proagents/logging/log-levels.md +0 -376
- package/.proagents/logging/sensitive-data.md +0 -423
- package/.proagents/logging/structured-logging.md +0 -406
- package/.proagents/metrics/README.md +0 -69
- package/.proagents/metrics/code-quality-kpis.md +0 -461
- package/.proagents/metrics/deployment-metrics.md +0 -517
- package/.proagents/metrics/developer-productivity.md +0 -368
- package/.proagents/metrics/learning-effectiveness.md +0 -478
- package/.proagents/migrations/README.md +0 -77
- package/.proagents/migrations/from-claude-projects.md +0 -313
- package/.proagents/migrations/from-cursor-rules.md +0 -345
- package/.proagents/migrations/from-custom-workflows.md +0 -410
- package/.proagents/monitoring/README.md +0 -308
- package/.proagents/monitoring/alerting.md +0 -449
- package/.proagents/monitoring/dashboards.md +0 -454
- package/.proagents/monitoring/health-checks.md +0 -436
- package/.proagents/monitoring/metrics.md +0 -434
- package/.proagents/multi-project/README.md +0 -170
- package/.proagents/multi-project/coordinated-deploy.md +0 -510
- package/.proagents/multi-project/cross-project-deps.md +0 -395
- package/.proagents/multi-project/unified-changelog.md +0 -477
- package/.proagents/multi-project/walkthroughs/monorepo-setup.md +0 -787
- package/.proagents/multi-project/workspace-config.md +0 -408
- package/.proagents/notifications/README.md +0 -151
- package/.proagents/notifications/channels.md +0 -457
- package/.proagents/notifications/preferences.md +0 -415
- package/.proagents/notifications/routing.md +0 -449
- package/.proagents/notifications/scheduling.md +0 -425
- package/.proagents/notifications/templates.md +0 -446
- package/.proagents/offline-mode/README.md +0 -145
- package/.proagents/offline-mode/caching.md +0 -344
- package/.proagents/offline-mode/offline-operations.md +0 -312
- package/.proagents/offline-mode/queue-specifications.md +0 -679
- package/.proagents/offline-mode/sync.md +0 -475
- package/.proagents/parallel-features/README.md +0 -85
- package/.proagents/parallel-features/conflict-detection.md +0 -226
- package/.proagents/parallel-features/dependency-management.md +0 -392
- package/.proagents/parallel-features/merge-coordination.md +0 -506
- package/.proagents/parallel-features/tracking-system.md +0 -416
- package/.proagents/performance/README.md +0 -59
- package/.proagents/performance/bundle-analysis.md +0 -375
- package/.proagents/performance/load-testing.md +0 -563
- package/.proagents/performance/runtime-metrics.md +0 -489
- package/.proagents/performance/web-vitals.md +0 -425
- package/.proagents/plugins/README.md +0 -139
- package/.proagents/plugins/creating-plugins.md +0 -504
- package/.proagents/plugins/plugin-api.md +0 -467
- package/.proagents/plugins/plugin-registry.md +0 -276
- package/.proagents/reporting/README.md +0 -158
- package/.proagents/reporting/dashboards.md +0 -366
- package/.proagents/reporting/exports.md +0 -524
- package/.proagents/reporting/quality-metrics.md +0 -385
- package/.proagents/reporting/templates/README.md +0 -56
- package/.proagents/reporting/templates/dashboard-config.json +0 -187
- package/.proagents/reporting/templates/metrics-queries.md +0 -427
- package/.proagents/reporting/templates/react-dashboard.tsx +0 -544
- package/.proagents/reporting/templates/widgets.md +0 -451
- package/.proagents/reporting/velocity-metrics.md +0 -340
- package/.proagents/reverse-engineering/README.md +0 -151
- package/.proagents/reverse-engineering/architecture-extraction.md +0 -325
- package/.proagents/reverse-engineering/code-analysis.md +0 -377
- package/.proagents/reverse-engineering/dependency-mapping.md +0 -567
- package/.proagents/reverse-engineering/diagram-generation.md +0 -586
- package/.proagents/reverse-engineering/documentation-generation.md +0 -468
- package/.proagents/reverse-engineering/pattern-detection.md +0 -569
- package/.proagents/reverse-engineering/quality-assessment.md +0 -733
- package/.proagents/secrets/README.md +0 -278
- package/.proagents/secrets/access-control.md +0 -443
- package/.proagents/secrets/rotation.md +0 -403
- package/.proagents/secrets/scanning.md +0 -487
- package/.proagents/secrets/storage.md +0 -394
- package/.proagents/webhooks/README.md +0 -126
- package/.proagents/webhooks/endpoints.md +0 -298
- package/.proagents/webhooks/events.md +0 -316
- package/.proagents/webhooks/payloads.md +0 -325
- package/.proagents/webhooks/reliability.md +0 -363
- package/.proagents/webhooks/security.md +0 -380
|
@@ -1,375 +0,0 @@
|
|
|
1
|
-
# Bundle Analysis Guide
|
|
2
|
-
|
|
3
|
-
Analyze and optimize your application bundle size.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
Bundle analysis helps identify:
|
|
10
|
-
- Large dependencies
|
|
11
|
-
- Unused code (dead code)
|
|
12
|
-
- Duplicate modules
|
|
13
|
-
- Optimization opportunities
|
|
14
|
-
|
|
15
|
-
---
|
|
16
|
-
|
|
17
|
-
## Analysis Tools
|
|
18
|
-
|
|
19
|
-
### webpack-bundle-analyzer
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# Install
|
|
23
|
-
npm install --save-dev webpack-bundle-analyzer
|
|
24
|
-
|
|
25
|
-
# Add to webpack config
|
|
26
|
-
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
|
|
27
|
-
|
|
28
|
-
module.exports = {
|
|
29
|
-
plugins: [
|
|
30
|
-
new BundleAnalyzerPlugin({
|
|
31
|
-
analyzerMode: 'static',
|
|
32
|
-
reportFilename: 'bundle-report.html',
|
|
33
|
-
openAnalyzer: false,
|
|
34
|
-
})
|
|
35
|
-
]
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
# Or run as CLI
|
|
39
|
-
npx webpack-bundle-analyzer stats.json
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
### source-map-explorer
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
# Install
|
|
46
|
-
npm install --save-dev source-map-explorer
|
|
47
|
-
|
|
48
|
-
# Generate source maps and analyze
|
|
49
|
-
npm run build
|
|
50
|
-
npx source-map-explorer 'build/static/js/*.js'
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### bundlephobia
|
|
54
|
-
|
|
55
|
-
Check package sizes before installing:
|
|
56
|
-
- Visit: https://bundlephobia.com/
|
|
57
|
-
- Search for package name
|
|
58
|
-
- See minified + gzipped size
|
|
59
|
-
- See download time estimates
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Bundle Size Budgets
|
|
64
|
-
|
|
65
|
-
### Recommended Budgets
|
|
66
|
-
|
|
67
|
-
| Category | Target | Warning | Error |
|
|
68
|
-
|----------|--------|---------|-------|
|
|
69
|
-
| Initial JS | < 100KB | > 150KB | > 200KB |
|
|
70
|
-
| Initial CSS | < 50KB | > 75KB | > 100KB |
|
|
71
|
-
| Total Initial | < 150KB | > 250KB | > 350KB |
|
|
72
|
-
| Per-route chunk | < 50KB | > 75KB | > 100KB |
|
|
73
|
-
| Image | < 100KB | > 200KB | > 500KB |
|
|
74
|
-
|
|
75
|
-
### Configure Bundle Budgets
|
|
76
|
-
|
|
77
|
-
```javascript
|
|
78
|
-
// webpack.config.js
|
|
79
|
-
module.exports = {
|
|
80
|
-
performance: {
|
|
81
|
-
maxEntrypointSize: 250000, // 250KB
|
|
82
|
-
maxAssetSize: 100000, // 100KB
|
|
83
|
-
hints: 'warning',
|
|
84
|
-
assetFilter: (assetFilename) => {
|
|
85
|
-
return !/\.map$/.test(assetFilename);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
// For Next.js - next.config.js
|
|
91
|
-
module.exports = {
|
|
92
|
-
experimental: {
|
|
93
|
-
bundlePagesExternals: true,
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### CI Budget Check
|
|
99
|
-
|
|
100
|
-
```yaml
|
|
101
|
-
# GitHub Actions
|
|
102
|
-
- name: Check bundle size
|
|
103
|
-
run: |
|
|
104
|
-
npm run build
|
|
105
|
-
BUNDLE_SIZE=$(du -sb build/static/js | cut -f1)
|
|
106
|
-
if [ $BUNDLE_SIZE -gt 250000 ]; then
|
|
107
|
-
echo "Bundle too large: $BUNDLE_SIZE bytes"
|
|
108
|
-
exit 1
|
|
109
|
-
fi
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## Common Issues & Fixes
|
|
115
|
-
|
|
116
|
-
### 1. Large Dependencies
|
|
117
|
-
|
|
118
|
-
**Problem:** Single large library bloating bundle
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
# Identify large packages
|
|
122
|
-
npx source-map-explorer build/static/js/main.*.js
|
|
123
|
-
|
|
124
|
-
# Common culprits:
|
|
125
|
-
# - moment.js (~300KB) → use date-fns (~20KB)
|
|
126
|
-
# - lodash (~70KB) → use lodash-es + tree shaking
|
|
127
|
-
# - charts (~200KB) → lazy load
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**Fix: Replace with lighter alternatives**
|
|
131
|
-
|
|
132
|
-
| Heavy | Light Alternative | Savings |
|
|
133
|
-
|-------|------------------|---------|
|
|
134
|
-
| moment | date-fns | ~280KB |
|
|
135
|
-
| lodash | lodash-es | ~50KB |
|
|
136
|
-
| axios | ky, fetch | ~15KB |
|
|
137
|
-
| uuid | nanoid | ~10KB |
|
|
138
|
-
| classnames | clsx | ~5KB |
|
|
139
|
-
|
|
140
|
-
### 2. No Tree Shaking
|
|
141
|
-
|
|
142
|
-
**Problem:** Importing entire library
|
|
143
|
-
|
|
144
|
-
```javascript
|
|
145
|
-
// BAD: Imports entire lodash
|
|
146
|
-
import _ from 'lodash';
|
|
147
|
-
_.map(arr, fn);
|
|
148
|
-
|
|
149
|
-
// GOOD: Import only what you need
|
|
150
|
-
import map from 'lodash/map';
|
|
151
|
-
map(arr, fn);
|
|
152
|
-
|
|
153
|
-
// BETTER: Use native
|
|
154
|
-
arr.map(fn);
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### 3. Duplicate Dependencies
|
|
158
|
-
|
|
159
|
-
**Problem:** Same package multiple versions
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
# Check for duplicates
|
|
163
|
-
npm ls lodash
|
|
164
|
-
npm dedupe
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
### 4. No Code Splitting
|
|
168
|
-
|
|
169
|
-
**Problem:** Single large bundle
|
|
170
|
-
|
|
171
|
-
```javascript
|
|
172
|
-
// BAD: Import everything at once
|
|
173
|
-
import Dashboard from './Dashboard';
|
|
174
|
-
import Settings from './Settings';
|
|
175
|
-
import Analytics from './Analytics';
|
|
176
|
-
|
|
177
|
-
// GOOD: Dynamic imports
|
|
178
|
-
const Dashboard = React.lazy(() => import('./Dashboard'));
|
|
179
|
-
const Settings = React.lazy(() => import('./Settings'));
|
|
180
|
-
const Analytics = React.lazy(() => import('./Analytics'));
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
### 5. Including Dev Dependencies
|
|
184
|
-
|
|
185
|
-
**Problem:** Development code in production
|
|
186
|
-
|
|
187
|
-
```javascript
|
|
188
|
-
// webpack.config.js
|
|
189
|
-
module.exports = {
|
|
190
|
-
mode: 'production',
|
|
191
|
-
optimization: {
|
|
192
|
-
usedExports: true, // Tree shaking
|
|
193
|
-
minimize: true,
|
|
194
|
-
}
|
|
195
|
-
};
|
|
196
|
-
|
|
197
|
-
// Remove console.log in production
|
|
198
|
-
plugins: [
|
|
199
|
-
new webpack.DefinePlugin({
|
|
200
|
-
'process.env.NODE_ENV': JSON.stringify('production')
|
|
201
|
-
})
|
|
202
|
-
]
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
|
|
207
|
-
## Optimization Techniques
|
|
208
|
-
|
|
209
|
-
### 1. Code Splitting
|
|
210
|
-
|
|
211
|
-
```javascript
|
|
212
|
-
// Route-based splitting
|
|
213
|
-
import { lazy, Suspense } from 'react';
|
|
214
|
-
|
|
215
|
-
const Dashboard = lazy(() => import('./pages/Dashboard'));
|
|
216
|
-
const Settings = lazy(() => import('./pages/Settings'));
|
|
217
|
-
|
|
218
|
-
function App() {
|
|
219
|
-
return (
|
|
220
|
-
<Suspense fallback={<Loading />}>
|
|
221
|
-
<Routes>
|
|
222
|
-
<Route path="/dashboard" element={<Dashboard />} />
|
|
223
|
-
<Route path="/settings" element={<Settings />} />
|
|
224
|
-
</Routes>
|
|
225
|
-
</Suspense>
|
|
226
|
-
);
|
|
227
|
-
}
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
### 2. Dynamic Imports
|
|
231
|
-
|
|
232
|
-
```javascript
|
|
233
|
-
// Load heavy library on demand
|
|
234
|
-
const loadChart = async () => {
|
|
235
|
-
const { Chart } = await import('chart.js');
|
|
236
|
-
return Chart;
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
// In component
|
|
240
|
-
useEffect(() => {
|
|
241
|
-
if (showChart) {
|
|
242
|
-
loadChart().then(Chart => {
|
|
243
|
-
// Use Chart
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
}, [showChart]);
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
### 3. Tree Shaking
|
|
250
|
-
|
|
251
|
-
```javascript
|
|
252
|
-
// package.json - mark as side-effect free
|
|
253
|
-
{
|
|
254
|
-
"sideEffects": false
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
// Or specify files with side effects
|
|
258
|
-
{
|
|
259
|
-
"sideEffects": ["*.css", "*.scss"]
|
|
260
|
-
}
|
|
261
|
-
```
|
|
262
|
-
|
|
263
|
-
### 4. Compression
|
|
264
|
-
|
|
265
|
-
```javascript
|
|
266
|
-
// webpack.config.js
|
|
267
|
-
const CompressionPlugin = require('compression-webpack-plugin');
|
|
268
|
-
|
|
269
|
-
plugins: [
|
|
270
|
-
new CompressionPlugin({
|
|
271
|
-
algorithm: 'gzip',
|
|
272
|
-
test: /\.(js|css|html|svg)$/,
|
|
273
|
-
threshold: 10240,
|
|
274
|
-
minRatio: 0.8,
|
|
275
|
-
})
|
|
276
|
-
]
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
### 5. External CDN
|
|
280
|
-
|
|
281
|
-
```javascript
|
|
282
|
-
// webpack.config.js
|
|
283
|
-
module.exports = {
|
|
284
|
-
externals: {
|
|
285
|
-
react: 'React',
|
|
286
|
-
'react-dom': 'ReactDOM',
|
|
287
|
-
}
|
|
288
|
-
};
|
|
289
|
-
|
|
290
|
-
// Load from CDN in HTML
|
|
291
|
-
<script src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
---
|
|
295
|
-
|
|
296
|
-
## Monitoring Bundle Size
|
|
297
|
-
|
|
298
|
-
### Track Over Time
|
|
299
|
-
|
|
300
|
-
```bash
|
|
301
|
-
# Generate size report
|
|
302
|
-
npx bundlesize
|
|
303
|
-
|
|
304
|
-
# Compare with previous build
|
|
305
|
-
npx bundlewatch
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
### Bundle Size Check Action
|
|
309
|
-
|
|
310
|
-
```yaml
|
|
311
|
-
# .github/workflows/bundle.yml
|
|
312
|
-
name: Bundle Size
|
|
313
|
-
|
|
314
|
-
on: pull_request
|
|
315
|
-
|
|
316
|
-
jobs:
|
|
317
|
-
bundle:
|
|
318
|
-
runs-on: ubuntu-latest
|
|
319
|
-
steps:
|
|
320
|
-
- uses: actions/checkout@v3
|
|
321
|
-
|
|
322
|
-
- name: Build
|
|
323
|
-
run: npm ci && npm run build
|
|
324
|
-
|
|
325
|
-
- name: Analyze bundle
|
|
326
|
-
uses: preactjs/compressed-size-action@v2
|
|
327
|
-
with:
|
|
328
|
-
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
|
329
|
-
pattern: "./build/static/js/*.js"
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
## Bundle Analysis Report
|
|
335
|
-
|
|
336
|
-
```markdown
|
|
337
|
-
# Bundle Analysis Report
|
|
338
|
-
|
|
339
|
-
**Date:** [YYYY-MM-DD]
|
|
340
|
-
**Build:** [build-id]
|
|
341
|
-
|
|
342
|
-
## Summary
|
|
343
|
-
|
|
344
|
-
| Metric | Before | After | Change |
|
|
345
|
-
|--------|--------|-------|--------|
|
|
346
|
-
| Total JS | 250KB | 180KB | -28% |
|
|
347
|
-
| Main chunk | 150KB | 100KB | -33% |
|
|
348
|
-
| Vendor chunk | 100KB | 80KB | -20% |
|
|
349
|
-
| CSS | 45KB | 40KB | -11% |
|
|
350
|
-
|
|
351
|
-
## Largest Dependencies
|
|
352
|
-
|
|
353
|
-
| Package | Size | % of Bundle |
|
|
354
|
-
|---------|------|-------------|
|
|
355
|
-
| react-dom | 40KB | 22% |
|
|
356
|
-
| lodash | 25KB | 14% |
|
|
357
|
-
| axios | 15KB | 8% |
|
|
358
|
-
|
|
359
|
-
## Recommendations
|
|
360
|
-
|
|
361
|
-
1. [ ] Replace lodash with native methods
|
|
362
|
-
2. [ ] Lazy load Chart component
|
|
363
|
-
3. [ ] Enable gzip compression
|
|
364
|
-
4. [ ] Add route-based code splitting
|
|
365
|
-
```
|
|
366
|
-
|
|
367
|
-
---
|
|
368
|
-
|
|
369
|
-
## Commands
|
|
370
|
-
|
|
371
|
-
| Command | Description |
|
|
372
|
-
|---------|-------------|
|
|
373
|
-
| `pa:bundle-analyze` | Analyze bundle |
|
|
374
|
-
| `pa:bundle-report` | Generate report |
|
|
375
|
-
| `pa:bundle-optimize` | Optimization suggestions |
|