Some checks failed
CI / build-and-test (pull_request) Failing after 1m19s
CI (.gitea/workflows/ci.yaml): lint → typecheck → vitest w/ coverage → OpenNext build → preview smoke → bundle-size budgets; Node 20; npm ci; artifacts; safe env; D1 dry-run scaffold. Budgets: add scripts/budgets.mjs; TOTAL_STATIC_MAX_BYTES and MAX_ASSET_BYTES thresholds; report top offenders; fail on breach; README CI section. Flags: add lib/flags.ts with typed booleans and safe defaults (ADMIN_ENABLED, ARTISTS_MODULE_ENABLED, UPLOADS_ADMIN_ENABLED, BOOKING_ENABLED, PUBLIC_APPOINTMENT_REQUESTS_ENABLED, REFERENCE_UPLOADS_PUBLIC_ENABLED, DEPOSITS_ENABLED, PUBLIC_DB_ARTISTS_ENABLED, ADVANCED_NAV_SCROLL_ANIMATIONS_ENABLED, STRICT_CI_GATES_ENABLED, ISR_CACHE_R2_ENABLED); robust parsing; client provider; unit tests. Wiring: gate Admin shell and admin write APIs (503 JSON on uploads and artists writes); disable booking submit and short-circuit booking mutations when off; render static Hero/Artists when advanced animations off; tests for UI and API guards. Ops: expand docs/prd/rollback-strategy.md with “Feature Flags Operations,” Cloudflare Dashboard and wrangler.toml steps, preview simulation, incident playbook, and post-toggle smoke checklist. Release: add docs/releases/2025-09-19-feature-flags-rollout.md with last-good commit, preview/production flag matrices, rollback notes, and smoke results; link from rollback doc. Chore: fix TS issues (gift-cards boolean handling, Lenis options, tailwind darkMode), remove next-on-pages peer conflict, update package.json scripts, configure Gitea act_runner label, open draft PR to trigger CI. Refs: CI-1, FF-1, FF-2, FF-3, OPS-1 Impact: defaults preserve current behavior; no runtime changes unless flags flipped
32 lines
1.1 KiB
JSON
32 lines
1.1 KiB
JSON
{
|
|
"version": 3,
|
|
"middleware": {
|
|
"/": {
|
|
"files": [
|
|
"server/edge-runtime-webpack.js",
|
|
"server/middleware.js"
|
|
],
|
|
"name": "middleware",
|
|
"page": "/",
|
|
"matchers": [
|
|
{
|
|
"regexp": "^(?:\\/(_next\\/data\\/[^/]{1,}))?(?:\\/((?!_next\\/static|_next\\/image|favicon.ico|public|.*\\.png$|.*\\.jpg$|.*\\.jpeg$|.*\\.gif$|.*\\.svg$).*))(.json)?[\\/#\\?]?$",
|
|
"originalSource": "/((?!_next/static|_next/image|favicon.ico|public|.*\\.png$|.*\\.jpg$|.*\\.jpeg$|.*\\.gif$|.*\\.svg$).*)"
|
|
}
|
|
],
|
|
"wasm": [],
|
|
"assets": [],
|
|
"env": {
|
|
"__NEXT_BUILD_ID": "Wg86ttPbchbaXr-QgMl_6",
|
|
"NEXT_SERVER_ACTIONS_ENCRYPTION_KEY": "17081RAAyATuiotK5R7hh5isqj2lH5h4DOEGRt6U024=",
|
|
"__NEXT_PREVIEW_MODE_ID": "88d6565b640e48aee50946d953a2e540",
|
|
"__NEXT_PREVIEW_MODE_ENCRYPTION_KEY": "557cec8a7efe472f27a80fe51c78a386ecfc7bbaf73c297a8f9ad8988c889827",
|
|
"__NEXT_PREVIEW_MODE_SIGNING_KEY": "6942ce5017ba913dc3d9f31aa8c1b62cef0723664c92edea56b6aebbbeebc663"
|
|
}
|
|
}
|
|
},
|
|
"functions": {},
|
|
"sortedMiddleware": [
|
|
"/"
|
|
]
|
|
} |