diff --git a/.changeset/crud-service-naming.md b/.changeset/crud-service-naming.md new file mode 100644 index 000000000..0a501f6c8 --- /dev/null +++ b/.changeset/crud-service-naming.md @@ -0,0 +1,12 @@ +--- +'@baseplate-dev/project-builder-server': patch +--- + +Change generated CRUD service file naming from model-service.ts to model.crud.ts pattern + +This change updates the service file generation to use explicit `.crud.ts` naming instead of the previous `-service.ts` pattern. This provides better separation between generated CRUD operations and future hand-written business logic files, supporting the planned architectural split between generated and manual code. + +Example changes: + +- `user-service.ts` → `user.crud.ts` +- `todo-item-service.ts` → `todo-item.crud.ts` diff --git a/packages/project-builder-server/src/compiler/backend/services.ts b/packages/project-builder-server/src/compiler/backend/services.ts index 802f87e68..110d325d2 100644 --- a/packages/project-builder-server/src/compiler/backend/services.ts +++ b/packages/project-builder-server/src/compiler/backend/services.ts @@ -21,6 +21,7 @@ import { undefinedIfEmpty, } from '@baseplate-dev/project-builder-lib'; import { notEmpty } from '@baseplate-dev/utils'; +import { kebabCase } from 'change-case'; import type { BackendAppEntryBuilder } from '../app-entry-builder.js'; @@ -99,6 +100,7 @@ function buildServiceForModel( return serviceFileGenerator({ name: `${model.name}Service`, id: `prisma-crud-service:${model.name}`, + fileName: `${kebabCase(model.name)}.crud`, children: { $crud: prismaCrudServiceGenerator({ modelName: model.name,