Feat: add Nestjs backend integration - #1119
Conversation
|
@modejota is attempting to deploy a commit to the Better T Stack Team on Vercel. A member of the Team first needs to authorize it. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (63)
🚧 Files skipped from review as they are similar to previous changes (52)
WalkthroughChangesNest.js is added as a supported backend across CLI prompts, validation, stack-builder compatibility, project generation, server templates, deployments, frontend Todo clients, EVLog setup, and automated tests. Nest.js backend support
Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration. 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
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (2)
packages/template-generator/templates/frontend/native/bare/app/_layout.tsx.hbs (1)
139-164: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winGenerate the Clerk bridge for Nest Todo projects with no API selected.
The widened Nest Todo branches render
<ClerkApiAuthBridge />, but its declaration—and, in native/TanStack Router templates, the required Clerk hook imports—remain gated onapi !== "none". A Clerk + Nest + Todo +api="none"project therefore fails type-checking.
packages/template-generator/templates/frontend/native/bare/app/_layout.tsx.hbs#L139-L164: include Nest Todo in the Clerk hook/bridge guards.packages/template-generator/templates/frontend/native/unistyles/app/_layout.tsx.hbs#L155-L200: include Nest Todo in the Clerk hook/bridge guards.packages/template-generator/templates/frontend/native/uniwind/app/_layout.tsx.hbs#L134-L157: include Nest Todo in the Clerk hook/bridge guards.packages/template-generator/templates/frontend/react/next/src/components/providers.tsx.hbs#L94-L109: include Nest Todo in theuseAuthandClerkApiAuthBridgeguards.packages/template-generator/templates/frontend/react/tanstack-router/src/main.tsx.hbs#L58-L75: include Nest Todo in the Clerk hook/bridge guards.packages/template-generator/templates/frontend/react/react-router/src/root.tsx.hbs (1)
161-217: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winWrap the Clerk + Nest Todo app in
QueryClientProvider.With
auth="clerk",backend="nest",examplescontaining"todo", andapi="none", Lines 165-213 take the plain fallback instead of the Nest Todo query branch. Todo query hooks then run without aQueryClientProvider. Apply the Nest Todo predicate to the Clerk auth bridge and ORPC provider branch as well.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 5bcbff79-8803-44a3-95a5-2fc2fd369eb1
⛔ Files ignored due to path filters (1)
packages/template-generator/src/templates.generated.tsis excluded by!**/*.generated.*
📒 Files selected for processing (63)
apps/cli/src/helpers/addons/evlog-setup.tsapps/cli/src/prompts/api.tsapps/cli/src/prompts/auth.tsapps/cli/src/prompts/backend.tsapps/cli/src/prompts/orm.tsapps/cli/src/prompts/package-manager.tsapps/cli/src/prompts/payments.tsapps/cli/src/prompts/server-deploy.tsapps/cli/src/utils/compatibility-rules.tsapps/cli/src/utils/config-validation.tsapps/cli/test/addons.test.tsapps/cli/test/backend-runtime.test.tsapps/cli/test/database-orm.test.tsapps/cli/test/deployment.test.tsapps/cli/test/generated-builds.test.tsapps/cli/test/nest.test.tsapps/web/src/app/(home)/new/_components/utils.tsapps/web/src/app/layout.tsxapps/web/src/lib/constant.tsapps/web/test/stack-builder-compatibility.test.tspackages/template-generator/src/post-process/vercel-config.tspackages/template-generator/src/processors/backend-deps.tspackages/template-generator/src/processors/examples-deps.tspackages/template-generator/src/processors/readme-generator.tspackages/template-generator/src/processors/runtime-deps.tspackages/template-generator/src/template-handlers/examples.tspackages/template-generator/src/utils/add-deps.tspackages/template-generator/src/utils/generated-ignore-patterns.tspackages/template-generator/templates/backend/server/base/package.json.hbspackages/template-generator/templates/backend/server/base/tsconfig.json.hbspackages/template-generator/templates/backend/server/base/tsdown.config.ts.hbspackages/template-generator/templates/backend/server/nest/src/app.controller.ts.hbspackages/template-generator/templates/backend/server/nest/src/app.module.ts.hbspackages/template-generator/templates/backend/server/nest/src/app.service.ts.hbspackages/template-generator/templates/backend/server/nest/src/main.ts.hbspackages/template-generator/templates/db/prisma/mongodb/src/index.ts.hbspackages/template-generator/templates/db/prisma/mysql/src/index.ts.hbspackages/template-generator/templates/db/prisma/postgres/src/index.ts.hbspackages/template-generator/templates/db/prisma/sqlite/src/index.ts.hbspackages/template-generator/templates/deploy/docker/server/Dockerfile.hbspackages/template-generator/templates/examples/todo/nest/native/utils/orpc.ts.hbspackages/template-generator/templates/examples/todo/nest/server/src/todos/dto/create-todo.dto.ts.hbspackages/template-generator/templates/examples/todo/nest/server/src/todos/dto/update-todo.dto.ts.hbspackages/template-generator/templates/examples/todo/nest/server/src/todos/entities/todo.entity.ts.hbspackages/template-generator/templates/examples/todo/nest/server/src/todos/todos.controller.ts.hbspackages/template-generator/templates/examples/todo/nest/server/src/todos/todos.module.ts.hbspackages/template-generator/templates/examples/todo/nest/server/src/todos/todos.service.ts.hbspackages/template-generator/templates/examples/todo/nest/web/astro/src/lib/orpc.ts.hbspackages/template-generator/templates/examples/todo/nest/web/nuxt/app/plugins/orpc.ts.hbspackages/template-generator/templates/examples/todo/nest/web/nuxt/app/plugins/vue-query.ts.hbspackages/template-generator/templates/examples/todo/nest/web/react/src/utils/orpc.ts.hbspackages/template-generator/templates/examples/todo/nest/web/solid/src/utils/orpc.ts.hbspackages/template-generator/templates/examples/todo/nest/web/svelte/src/lib/orpc.ts.hbspackages/template-generator/templates/frontend/native/bare/app/_layout.tsx.hbspackages/template-generator/templates/frontend/native/unistyles/app/_layout.tsx.hbspackages/template-generator/templates/frontend/native/uniwind/app/_layout.tsx.hbspackages/template-generator/templates/frontend/react/next/src/components/providers.tsx.hbspackages/template-generator/templates/frontend/react/react-router/src/root.tsx.hbspackages/template-generator/templates/frontend/react/tanstack-router/src/main.tsx.hbspackages/template-generator/templates/frontend/react/tanstack-start/src/router.tsx.hbspackages/template-generator/templates/frontend/solid/src/main.tsx.hbspackages/template-generator/templates/frontend/svelte/src/routes/+layout.svelte.hbspackages/types/src/schemas.ts
Expose Nest.js in CLI and web stack selection, with runtime, ORM, auth, deployment, and addon compatibility rules. Refs AmanVarshney01#428
Generate conventional Nest modules, controllers, services, DTOs, entities, and main entrypoints for Node and Bun projects. Add Prisma and Mongoose TODO support plus Docker and Vercel entrypoint handling. Refs AmanVarshney01#428
Register EvlogModule and initialize request logging for generated and existing Nest servers. Closes AmanVarshney01#428
Enable the generated oRPC query providers for Nest TODO projects without an API selection. Refs AmanVarshney01#428
cce3a57 to
899d6e4
Compare
Given the community requesting to add Nest.js as a backend framework in #428 I decided to do it on my own. Hope this helps.
Summary by CodeRabbit