Repository navigation
feat: migrate Invoicely to Cloudflare Workers - #86
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (4)
💤 Files with no reviewable changes (1)
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe web workspace adds Cloudflare Workers configuration and build, preview, and deployment tasks. The README and new deployment guide describe local setup, staging validation, production cutover, and rollback. The root Node.js minimum changes to version 22. ChangesCloudflare Workers deployment
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Feature Merge Risk: ⚪ Minimal · up to The Cloudflare deployment guide retains staging validation and a Vercel rollback path. No actionable risk blocks merging. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The migration has separate staging resources and a manual, reversible production cutover. No specific new security defect is established, but deployed permissions, alternate public endpoints, and authenticated staging behavior remain unverified. Retained concerns Security review detailsSecurity Blast Radius
Security Findings and Attack Paths
Trust Boundaries and Controls
Resilience and Maintainability Implications
Hardening Proposals
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 4 functions across 3 files. (4 skipped: 4 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 ESLint
package.jsonOops! Something went wrong! :( ESLint: 9.30.0 Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './library.js' is not defined by "exports" in /node_modules/@invoicely/eslint-config/package.json Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
ℹ️ Review info
⚙️ Run configuration
- Configuration used: Organization UI
- Review profile: CHILL
- Plan: Advanced
- Run ID:
95b00edb-ffec-409f-85a5-5066d6fca917
⛔ Files ignored due to path filters (1)
yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (15)
.github/workflows/cloudflare.ymlREADME.mdapps/web/.dev.vars.exampleapps/web/.gitignoreapps/web/next.config.tsapps/web/open-next.config.tsapps/web/package.jsonapps/web/public/_headersapps/web/scripts/cloudflare-smoke.mjsapps/web/src/app/layout.tsxapps/web/tsconfig.jsonapps/web/wrangler.jsoncdocs/cloudflare.mdpackage.jsonturbo.json
💤 Files with no reviewable changes (1)
- apps/web/src/app/layout.tsx
Included review availability: This review used your included allowance. Your plan provides up to 4 included reviews per hour; 2 remain after this review.
Moves the existing Next.js application to Cloudflare Workers using OpenNext, with root-level build, preview, and deploy commands and a hosting guide. The migration keeps Neon, Better Auth, the existing R2 S3 client, and invoice/PDF behavior; production traffic moves only when the custom domain is attached.
Validation was performed on macOS and Ubuntu with Node 22, including 16 runtime checks. The Vercel preview also deployed successfully. Cloudflare Workers Builds handles deployment using the commands in the hosting guide.
Validation completed in an isolated checkout:
yarn install --immutable,yarn lint, andyarn build:cloudflarepassed, including TypeScript checks.Before production cutover: configure build/runtime secrets and cache buckets, then validate Google OAuth, authenticated Neon/R2 writes, Sentry delivery, and PDF/PNG exports on staging. Export-file verification was limited by the test browser blocking generated blob URL navigation; PDF preview rendering passed. The deployment guide includes these checks and rollback instructions.