56 lines
1.8 KiB
JavaScript
56 lines
1.8 KiB
JavaScript
/**
|
|
* Configuration Lighthouse pour Veza V5 Ultra
|
|
* Objectif: Score 100/100 sur tous les critères
|
|
*/
|
|
|
|
module.exports = {
|
|
ci: {
|
|
collect: {
|
|
url: ['http://localhost:5173'],
|
|
numberOfRuns: 3,
|
|
settings: {
|
|
chromeFlags: '--no-sandbox --disable-dev-shm-usage',
|
|
preset: 'desktop',
|
|
},
|
|
},
|
|
assert: {
|
|
assertions: {
|
|
'categories:performance': ['error', { minScore: 1.0 }],
|
|
'categories:accessibility': ['error', { minScore: 1.0 }],
|
|
'categories:best-practices': ['error', { minScore: 1.0 }],
|
|
'categories:seo': ['error', { minScore: 1.0 }],
|
|
'categories:pwa': ['error', { minScore: 1.0 }],
|
|
|
|
// Performance spécifique
|
|
'first-contentful-paint': ['error', { maxNumericValue: 800 }],
|
|
'largest-contentful-paint': ['error', { maxNumericValue: 1500 }],
|
|
'speed-index': ['error', { maxNumericValue: 1000 }],
|
|
'cumulative-layout-shift': ['error', { maxNumericValue: 0.1 }],
|
|
'total-blocking-time': ['error', { maxNumericValue: 200 }],
|
|
'interactive': ['error', { maxNumericValue: 1500 }],
|
|
|
|
// Bundle size
|
|
'unused-javascript': ['warn', { maxLength: 0 }],
|
|
'unused-css-rules': ['warn', { maxLength: 0 }],
|
|
'render-blocking-resources': ['error', { maxLength: 0 }],
|
|
|
|
// PWA
|
|
'service-worker': 'error',
|
|
'viewport': 'error',
|
|
'apple-touch-icon': 'error',
|
|
'maskable-icon': 'error',
|
|
'splash-screen': 'error',
|
|
'themed-omnibox': 'error',
|
|
'content-width': 'error',
|
|
'image-aspect-ratio': 'error',
|
|
'installable-manifest': 'error',
|
|
'pwa-cross-browser': 'error',
|
|
'pwa-page-transitions': 'error',
|
|
'pwa-each-page-has-url': 'error',
|
|
},
|
|
},
|
|
upload: {
|
|
target: 'temporary-public-storage',
|
|
},
|
|
},
|
|
};
|