Project cleanup and reorganization
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
log:
|
||||
level: info
|
||||
|
||||
runner:
|
||||
file: .runner
|
||||
capacity: 2
|
||||
timeout: 3h
|
||||
insecure: false
|
||||
fetch_timeout: 5s
|
||||
fetch_interval: 2s
|
||||
labels:
|
||||
- "self-hosted:host"
|
||||
- "macos-latest:host"
|
||||
|
||||
cache:
|
||||
enabled: true
|
||||
dir: ""
|
||||
host: ""
|
||||
port: 0
|
||||
external_server: ""
|
||||
|
||||
# container:
|
||||
# network: ""
|
||||
# privileged: false
|
||||
# options:
|
||||
# workdir_parent:
|
||||
# valid_volumes: []
|
||||
# docker_host: ""
|
||||
# force_pull: false
|
||||
# mode: "host"
|
||||
|
||||
host:
|
||||
workdir_parent: ""
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"ci": {
|
||||
"collect": {
|
||||
"url": [
|
||||
"http://127.0.0.1:3010/",
|
||||
"http://127.0.0.1:3010/blog",
|
||||
"http://127.0.0.1:3010/blog/resolving-active-conflicts"
|
||||
],
|
||||
"numberOfRuns": 3,
|
||||
"settings": {
|
||||
"preset": "desktop",
|
||||
"throttling": {
|
||||
"rttMs": 40,
|
||||
"throughputKbps": 10240,
|
||||
"cpuSlowdownMultiplier": 1,
|
||||
"requestLatencyMs": 0,
|
||||
"downloadThroughputKbps": 0,
|
||||
"uploadThroughputKbps": 0
|
||||
},
|
||||
"chromeFlags": [
|
||||
"--disable-web-security",
|
||||
"--disable-features=VizDisplayCompositor",
|
||||
"--ignore-certificate-errors",
|
||||
"--ignore-ssl-errors",
|
||||
"--ignore-certificate-errors-spki-list",
|
||||
"--allow-running-insecure-content",
|
||||
"--disable-extensions",
|
||||
"--no-sandbox",
|
||||
"--disable-setuid-sandbox",
|
||||
"--disable-dev-shm-usage",
|
||||
"--disable-gpu",
|
||||
"--headless"
|
||||
]
|
||||
}
|
||||
},
|
||||
"assert": {
|
||||
"assertions": {
|
||||
"categories:performance": ["error", { "minScore": 0.9 }],
|
||||
"categories:accessibility": ["warn", { "minScore": 0.95 }],
|
||||
"categories:best-practices": ["warn", { "minScore": 0.9 }],
|
||||
"categories:seo": ["warn", { "minScore": 0.9 }],
|
||||
"first-contentful-paint": ["warn", { "maxNumericValue": 2000 }],
|
||||
"largest-contentful-paint": ["warn", { "maxNumericValue": 2500 }],
|
||||
"first-meaningful-paint": ["warn", { "maxNumericValue": 2000 }],
|
||||
"speed-index": ["warn", { "maxNumericValue": 3000 }],
|
||||
"interactive": ["warn", { "maxNumericValue": 3000 }],
|
||||
"total-blocking-time": ["warn", { "maxNumericValue": 300 }],
|
||||
"cumulative-layout-shift": ["warn", { "maxNumericValue": 0.1 }],
|
||||
"max-potential-fid": ["warn", { "maxNumericValue": 130 }],
|
||||
"server-response-time": ["warn", { "maxNumericValue": 600 }],
|
||||
"render-blocking-resources": ["warn", { "maxLength": 0 }],
|
||||
"unused-css-rules": ["warn", { "maxLength": 0 }],
|
||||
"unused-javascript": ["warn", { "maxLength": 0 }],
|
||||
"modern-image-formats": ["warn", { "maxLength": 0 }],
|
||||
"uses-optimized-images": ["warn", { "maxLength": 0 }],
|
||||
"uses-text-compression": ["warn", { "maxLength": 0 }],
|
||||
"uses-responsive-images": ["warn", { "maxLength": 0 }],
|
||||
"efficient-animated-content": ["warn", { "maxLength": 0 }],
|
||||
"preload-lcp-image": ["warn", { "maxLength": 0 }],
|
||||
"total-byte-weight": ["warn", { "maxNumericValue": 500000 }],
|
||||
"uses-long-cache-ttl": ["warn", { "maxLength": 0 }],
|
||||
"dom-size": ["warn", { "maxNumericValue": 1500 }],
|
||||
"critical-request-chains": ["warn", { "maxLength": 0 }],
|
||||
"user-timings": ["warn", { "maxLength": 0 }],
|
||||
"bootup-time": ["warn", { "maxNumericValue": 1000 }],
|
||||
"mainthread-work-breakdown": ["warn", { "maxLength": 0 }],
|
||||
"font-display": ["warn", { "maxLength": 0 }],
|
||||
"resource-summary": ["warn", { "maxLength": 0 }],
|
||||
"third-party-summary": ["warn", { "maxLength": 0 }],
|
||||
"largest-contentful-paint-element": ["warn", { "maxLength": 0 }],
|
||||
"layout-shift-elements": ["warn", { "maxLength": 0 }],
|
||||
"long-tasks": ["warn", { "maxLength": 0 }],
|
||||
"non-composited-animations": ["warn", { "maxLength": 0 }],
|
||||
"unsized-images": ["warn", { "maxLength": 0 }]
|
||||
}
|
||||
},
|
||||
"upload": {
|
||||
"target": "temporary-public-storage",
|
||||
"outputDir": "./lighthouse-results"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"onlyCategories": ["performance", "accessibility", "best-practices", "seo"],
|
||||
"skipAudits": ["uses-http2"],
|
||||
"formFactor": "desktop",
|
||||
"throttling": {
|
||||
"rttMs": 40,
|
||||
"throughputKbps": 10240,
|
||||
"cpuSlowdownMultiplier": 1,
|
||||
"requestLatencyMs": 0,
|
||||
"downloadThroughputKbps": 0,
|
||||
"uploadThroughputKbps": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,385 @@
|
||||
{
|
||||
"budgets": [
|
||||
{
|
||||
"name": "lcp",
|
||||
"maxValue": 2500,
|
||||
"description": "Largest Contentful Paint should be under 2.5s"
|
||||
},
|
||||
{
|
||||
"name": "fid",
|
||||
"maxValue": 100,
|
||||
"description": "First Input Delay should be under 100ms"
|
||||
},
|
||||
{
|
||||
"name": "cls",
|
||||
"maxValue": 0.1,
|
||||
"description": "Cumulative Layout Shift should be under 0.1"
|
||||
},
|
||||
{
|
||||
"name": "fcp",
|
||||
"maxValue": 1800,
|
||||
"description": "First Contentful Paint should be under 1.8s"
|
||||
},
|
||||
{
|
||||
"name": "ttfb",
|
||||
"maxValue": 800,
|
||||
"description": "Time to First Byte should be under 800ms"
|
||||
},
|
||||
{
|
||||
"name": "bundle-size",
|
||||
"maxSizeKB": 500,
|
||||
"description": "Individual bundle size should be under 500KB"
|
||||
},
|
||||
{
|
||||
"name": "total-size",
|
||||
"maxSizeKB": 2000,
|
||||
"description": "Total bundle size should be under 2MB"
|
||||
}
|
||||
],
|
||||
"performance": {
|
||||
"budgets": [
|
||||
{
|
||||
"path": "/*",
|
||||
"timings": [
|
||||
{
|
||||
"metric": "first-contentful-paint",
|
||||
"budget": 2000
|
||||
},
|
||||
{
|
||||
"metric": "largest-contentful-paint",
|
||||
"budget": 2500
|
||||
},
|
||||
{
|
||||
"metric": "first-meaningful-paint",
|
||||
"budget": 2000
|
||||
},
|
||||
{
|
||||
"metric": "speed-index",
|
||||
"budget": 3000
|
||||
},
|
||||
{
|
||||
"metric": "interactive",
|
||||
"budget": 3000
|
||||
},
|
||||
{
|
||||
"metric": "total-blocking-time",
|
||||
"budget": 300
|
||||
},
|
||||
{
|
||||
"metric": "cumulative-layout-shift",
|
||||
"budget": 0.1
|
||||
},
|
||||
{
|
||||
"metric": "max-potential-fid",
|
||||
"budget": 130
|
||||
}
|
||||
],
|
||||
"resourceSizes": [
|
||||
{
|
||||
"resourceType": "script",
|
||||
"budget": 300
|
||||
},
|
||||
{
|
||||
"resourceType": "total",
|
||||
"budget": 500
|
||||
},
|
||||
{
|
||||
"resourceType": "image",
|
||||
"budget": 100
|
||||
},
|
||||
{
|
||||
"resourceType": "stylesheet",
|
||||
"budget": 50
|
||||
},
|
||||
{
|
||||
"resourceType": "font",
|
||||
"budget": 50
|
||||
}
|
||||
],
|
||||
"resourceCounts": [
|
||||
{
|
||||
"resourceType": "script",
|
||||
"budget": 10
|
||||
},
|
||||
{
|
||||
"resourceType": "total",
|
||||
"budget": 50
|
||||
},
|
||||
{
|
||||
"resourceType": "image",
|
||||
"budget": 20
|
||||
},
|
||||
{
|
||||
"resourceType": "stylesheet",
|
||||
"budget": 5
|
||||
},
|
||||
{
|
||||
"resourceType": "font",
|
||||
"budget": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"timing": {
|
||||
"budgets": [
|
||||
{
|
||||
"path": "/*",
|
||||
"timings": [
|
||||
{
|
||||
"metric": "first-contentful-paint",
|
||||
"budget": 2000
|
||||
},
|
||||
{
|
||||
"metric": "largest-contentful-paint",
|
||||
"budget": 2500
|
||||
},
|
||||
{
|
||||
"metric": "first-meaningful-paint",
|
||||
"budget": 2000
|
||||
},
|
||||
{
|
||||
"metric": "speed-index",
|
||||
"budget": 3000
|
||||
},
|
||||
{
|
||||
"metric": "interactive",
|
||||
"budget": 3000
|
||||
},
|
||||
{
|
||||
"metric": "total-blocking-time",
|
||||
"budget": 300
|
||||
},
|
||||
{
|
||||
"metric": "cumulative-layout-shift",
|
||||
"budget": 0.1
|
||||
},
|
||||
{
|
||||
"metric": "max-potential-fid",
|
||||
"budget": 130
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"resourceSizes": {
|
||||
"budgets": [
|
||||
{
|
||||
"path": "/*",
|
||||
"resourceSizes": [
|
||||
{
|
||||
"resourceType": "script",
|
||||
"budget": 300
|
||||
},
|
||||
{
|
||||
"resourceType": "total",
|
||||
"budget": 500
|
||||
},
|
||||
{
|
||||
"resourceType": "image",
|
||||
"budget": 100
|
||||
},
|
||||
{
|
||||
"resourceType": "stylesheet",
|
||||
"budget": 50
|
||||
},
|
||||
{
|
||||
"resourceType": "font",
|
||||
"budget": 50
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"resourceCounts": {
|
||||
"budgets": [
|
||||
{
|
||||
"path": "/*",
|
||||
"resourceCounts": [
|
||||
{
|
||||
"resourceType": "script",
|
||||
"budget": 10
|
||||
},
|
||||
{
|
||||
"resourceType": "total",
|
||||
"budget": 50
|
||||
},
|
||||
{
|
||||
"resourceType": "image",
|
||||
"budget": 20
|
||||
},
|
||||
{
|
||||
"resourceType": "stylesheet",
|
||||
"budget": 5
|
||||
},
|
||||
{
|
||||
"resourceType": "font",
|
||||
"budget": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "/blog",
|
||||
"timings": [
|
||||
{
|
||||
"metric": "first-contentful-paint",
|
||||
"budget": 2000
|
||||
},
|
||||
{
|
||||
"metric": "largest-contentful-paint",
|
||||
"budget": 2500
|
||||
},
|
||||
{
|
||||
"metric": "first-meaningful-paint",
|
||||
"budget": 2000
|
||||
},
|
||||
{
|
||||
"metric": "speed-index",
|
||||
"budget": 3000
|
||||
},
|
||||
{
|
||||
"metric": "interactive",
|
||||
"budget": 3000
|
||||
},
|
||||
{
|
||||
"metric": "total-blocking-time",
|
||||
"budget": 300
|
||||
},
|
||||
{
|
||||
"metric": "cumulative-layout-shift",
|
||||
"budget": 0.1
|
||||
},
|
||||
{
|
||||
"metric": "max-potential-fid",
|
||||
"budget": 130
|
||||
}
|
||||
],
|
||||
"resourceSizes": [
|
||||
{
|
||||
"resourceType": "script",
|
||||
"budget": 300
|
||||
},
|
||||
{
|
||||
"resourceType": "total",
|
||||
"budget": 500
|
||||
},
|
||||
{
|
||||
"resourceType": "image",
|
||||
"budget": 100
|
||||
},
|
||||
{
|
||||
"resourceType": "stylesheet",
|
||||
"budget": 50
|
||||
},
|
||||
{
|
||||
"resourceType": "font",
|
||||
"budget": 50
|
||||
}
|
||||
],
|
||||
"resourceCounts": [
|
||||
{
|
||||
"resourceType": "script",
|
||||
"budget": 10
|
||||
},
|
||||
{
|
||||
"resourceType": "total",
|
||||
"budget": 50
|
||||
},
|
||||
{
|
||||
"resourceType": "image",
|
||||
"budget": 20
|
||||
},
|
||||
{
|
||||
"resourceType": "stylesheet",
|
||||
"budget": 5
|
||||
},
|
||||
{
|
||||
"resourceType": "font",
|
||||
"budget": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"path": "/blog/*",
|
||||
"timings": [
|
||||
{
|
||||
"metric": "first-contentful-paint",
|
||||
"budget": 2000
|
||||
},
|
||||
{
|
||||
"metric": "largest-contentful-paint",
|
||||
"budget": 2500
|
||||
},
|
||||
{
|
||||
"metric": "first-meaningful-paint",
|
||||
"budget": 2000
|
||||
},
|
||||
{
|
||||
"metric": "speed-index",
|
||||
"budget": 3000
|
||||
},
|
||||
{
|
||||
"metric": "interactive",
|
||||
"budget": 3000
|
||||
},
|
||||
{
|
||||
"metric": "total-blocking-time",
|
||||
"budget": 300
|
||||
},
|
||||
{
|
||||
"metric": "cumulative-layout-shift",
|
||||
"budget": 0.1
|
||||
},
|
||||
{
|
||||
"metric": "max-potential-fid",
|
||||
"budget": 130
|
||||
}
|
||||
],
|
||||
"resourceSizes": [
|
||||
{
|
||||
"resourceType": "script",
|
||||
"budget": 300
|
||||
},
|
||||
{
|
||||
"resourceType": "total",
|
||||
"budget": 500
|
||||
},
|
||||
{
|
||||
"resourceType": "image",
|
||||
"budget": 100
|
||||
},
|
||||
{
|
||||
"resourceType": "stylesheet",
|
||||
"budget": 50
|
||||
},
|
||||
{
|
||||
"resourceType": "font",
|
||||
"budget": 50
|
||||
}
|
||||
],
|
||||
"resourceCounts": [
|
||||
{
|
||||
"resourceType": "script",
|
||||
"budget": 10
|
||||
},
|
||||
{
|
||||
"resourceType": "total",
|
||||
"budget": 50
|
||||
},
|
||||
{
|
||||
"resourceType": "image",
|
||||
"budget": 20
|
||||
},
|
||||
{
|
||||
"resourceType": "stylesheet",
|
||||
"budget": 5
|
||||
},
|
||||
{
|
||||
"resourceType": "font",
|
||||
"budget": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
log:
|
||||
level: info
|
||||
|
||||
runner:
|
||||
capacity: 2
|
||||
|
||||
runners:
|
||||
- name: community-rule-runner
|
||||
labels:
|
||||
- "ubuntu-latest:docker://mcr.microsoft.com/playwright:v1.54.2-jammy"
|
||||
Reference in New Issue
Block a user