support for module naming or separate .internal.ts .api.ts files
I currently organise all my code as follows:
convex
├── domain
│ ├── table
│ │ ├── queries
│ │ │ ├── getFoo.ts
│ │ │ └── getBar.ts
│ │ ├── mutations
│ │ │ ├── insertFoo.ts
│ │ │ └── insertBar.ts
│ │ ├── actions
│ │ │ └── userflow.ts
│ │ └── table.ts
│ ├── queries.ts // barrel exports
│ ├── mutations.ts
│ ├── actions.ts
│ └── tables.ts
├── actions.ts
├── queriesPublic.ts
├── queriesInternal.ts
├── mutationsInternal.ts
├── mutationsPublic.ts
└── schema.ts
This allows me to keep everything really organised. Each query/mutation function in the table folder looks like:
In the top level mutation files, I can then import all the mutation objects and wrap them:
mutationsInternal.ts
mutationsPublic.ts
I like this because then I can keep my internal and public mutations and queries separate from each other which feels like better practice.
However, when I want to use them I then have to type out internal.mutationsInternal.foo or api.mutationsPublic.baz which is mildly annoying because of the naming redundancy - see comment as hitting message length limit
