npm install
npm run dev
Repositoryt har inget package-lock.json, så npm ci är inte den verifierade installationsvägen.
npm test
npx wrangler d1 migrations apply DB --local
npx wrangler deploy --dry-run
Verifiera dessutom berörda flöden manuellt när ändringen påverkar routing, submission eller admin.
Produktionsmigrationer körs med:
npm run migrate:production
Regler:
Produktionsdatabasen ska skapas med jurisdiction=eu. Cloudflare-jurisdiction är creation-time providerkonfiguration och kan inte läggas till på en befintlig D1-databas; replacement görs därför genom verifierad export/import till en ny EU-databas före binding-cutover.
Klarspråks D1-requestväg använder Sessions API. Read replication får därför vara auto på EU-databasen; replikerna hålls inom den konfigurerade EU-jurisdictionen.
Produktionsmigrationer ska gå via bindingen:
npm run migrate:production
npm run deploy
Deploy använder wrangler deploy --strict. Vanlig PR-verifiering ska inte implicit deploya.
Efter avsedd produktiondeploy:
npm run verify:production
Kontrollera canonical host och IDN-alias, inklusive redirect och Worker-first-beteende.
Verifiera att API:t läser publicerad data från D1 och att frontend återger samma state.
Verifiera validering, Turnstile och att ett förslag hamnar i review-state utan automatisk publicering. Response-CSP ska explicit tillåta https://challenges.cloudflare.com för Turnstiles script/frame och ska inte återinföra 'unsafe-inline' för script-src. script-src ska innehålla en unik nonce-... per response; efter production deploy ska Cloudflares injicerade JavaScript Detection-script bära samma nonce så att det inte blockeras av CSP.
Verifiera behörighetsgräns och explicita stateövergångar för godkännande/publicering/arkivering.
Verifiera att publika sidor har avsedd canonical/robots metadata och att adminytor inte blir indexerbara eller publikt cacheade.
Kontrollera auth/route före dataändringar. Försök inte lösa accessproblem genom att göra admin-API mer publikt.
Persistent logs/traces är aktiverade med sampling och query-string-redaction. Redaction ska behållas även under felsökning; lägg inte känsliga requestparametrar i loggar.