Files
Patrick Erichsen dfca6f5d9d feat: add disposable Vercel and Convex PR previews (#3017)
Adds isolated Convex-backed Vercel PR previews with shared local/preview seeding, preview-safe routing, and production guards.
2026-07-08 20:54:09 -07:00

88 lines
2.8 KiB
JSON

{
"buildCommand": "bun run build:vercel",
"headers": [
{
"source": "/(.*)",
"headers": [
{ "key": "X-Content-Type-Options", "value": "nosniff" },
{ "key": "X-Frame-Options", "value": "DENY" },
{ "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" },
{
"key": "Permissions-Policy",
"value": "camera=(), microphone=(), geolocation=(), payment=(), usb=()"
},
{ "key": "Cross-Origin-Opener-Policy", "value": "same-origin" },
{ "key": "Cross-Origin-Resource-Policy", "value": "same-origin" },
{ "key": "X-XSS-Protection", "value": "0" }
]
}
],
"redirects": [
{
"source": "/feeds/plugins",
"destination": "/v1/feeds/plugins",
"statusCode": 308
},
{
"source": "/feeds/skills",
"destination": "/v1/feeds/skills",
"statusCode": 308
},
{
"source": "/feeds/promotions",
"destination": "/v1/feeds/promotions",
"statusCode": 308
},
{
"source": "/",
"has": [
{
"type": "header",
"key": "host",
"value": "mirror-cn.clawhub.com"
}
],
"destination": "https://cn.clawhub-mirror.com/",
"statusCode": 302
},
{
"source": "/:path*",
"has": [
{
"type": "header",
"key": "host",
"value": "mirror-cn.clawhub.com"
}
],
"destination": "https://cn.clawhub-mirror.com/:path*",
"statusCode": 302
}
],
"images": {
"sizes": [256, 640, 1024, 1920],
"formats": ["image/webp"],
"minimumCacheTTL": 86400,
"dangerouslyAllowSVG": true,
"contentDispositionType": "attachment",
"contentSecurityPolicy": "default-src 'self'; script-src 'none'; sandbox;",
"remotePatterns": [
{ "protocol": "https", "hostname": "raw.githubusercontent.com" },
{ "protocol": "https", "hostname": "user-images.githubusercontent.com" },
{ "protocol": "https", "hostname": "avatars.githubusercontent.com" },
{ "protocol": "https", "hostname": "camo.githubusercontent.com" },
{ "protocol": "https", "hostname": "github.com" },
{ "protocol": "https", "hostname": "raw.github.com" },
{ "protocol": "https", "hostname": "img.shields.io" },
{ "protocol": "https", "hostname": "shields.io" },
{ "protocol": "https", "hostname": "cdn.jsdelivr.net" },
{ "protocol": "https", "hostname": "i.imgur.com" },
{ "protocol": "https", "hostname": "codecov.io" },
{ "protocol": "https", "hostname": "coveralls.io" },
{ "protocol": "https", "hostname": "codefactor.io" },
{ "protocol": "https", "hostname": "badgen.net" },
{ "protocol": "https", "hostname": "flat.badgen.net" },
{ "protocol": "https", "hostname": "gitlab.com" }
]
}
}