Performance: Swagger/OpenAPI specification
MEDIUM IMPACT
This affects the initial page load speed and bundle size of API documentation UI and can impact server response time if not optimized.
const swaggerUi = require('swagger-ui-express'); const path = require('path'); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(null, { swaggerOptions: { url: '/swagger.json' } })); app.get('/swagger.json', (req, res) => { res.sendFile(path.join(__dirname, 'optimized-swagger.json')); });
const swaggerUi = require('swagger-ui-express'); const swaggerDocument = require('./large-swagger.json'); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Load large Swagger JSON inline | High (many nodes for docs) | Multiple reflows during render | High paint cost due to complex UI | [X] Bad |
| Lazy load Swagger JSON via URL | Moderate (only rendered on demand) | Single reflow after load | Moderate paint cost | [OK] Good |