Performance: Swagger UI integration
MEDIUM IMPACT
This affects the initial page load speed and bundle size of the API documentation interface served by the Express app.
const swaggerUi = require('swagger-ui-express'); const swaggerDocument = require('./swagger.json'); const compression = require('compression'); app.use(compression()); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument, { explorer: true }));
const swaggerUi = require('swagger-ui-express'); const swaggerDocument = require('./swagger.json'); app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocument));
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Serve Swagger UI without compression or caching | Moderate (Swagger UI DOM) | Multiple on load | High due to large assets | [X] Bad |
| Serve Swagger UI with compression and caching | Moderate (Swagger UI DOM) | Multiple on load | Moderate with faster asset load | [OK] Good |