prisma-generator-express 1.45.0 → 1.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +155 -30
  2. package/dist/client/encodeQueryParams.js +4 -0
  3. package/dist/client/encodeQueryParams.js.map +1 -1
  4. package/dist/copy/misc.d.ts +4 -2
  5. package/dist/copy/misc.js +35 -24
  6. package/dist/copy/misc.js.map +1 -1
  7. package/dist/generators/generateFastifyHandler.js +2 -4
  8. package/dist/generators/generateFastifyHandler.js.map +1 -1
  9. package/dist/generators/generateHonoHandler.js +2 -4
  10. package/dist/generators/generateHonoHandler.js.map +1 -1
  11. package/dist/generators/generateImportPrismaStatement.d.ts +0 -1
  12. package/dist/generators/generateImportPrismaStatement.js +2 -20
  13. package/dist/generators/generateImportPrismaStatement.js.map +1 -1
  14. package/dist/generators/generateOperationCore.js +1 -1
  15. package/dist/generators/generateQueryBuilderHelper.js +9 -0
  16. package/dist/generators/generateQueryBuilderHelper.js.map +1 -1
  17. package/dist/generators/generateRelationMeta.js +0 -10
  18. package/dist/generators/generateRelationMeta.js.map +1 -1
  19. package/dist/generators/generateRouteConfigType.js +33 -12
  20. package/dist/generators/generateRouteConfigType.js.map +1 -1
  21. package/dist/generators/generateRouter.d.ts +0 -1
  22. package/dist/generators/generateRouter.js +75 -70
  23. package/dist/generators/generateRouter.js.map +1 -1
  24. package/dist/generators/generateRouterFastify.js +83 -89
  25. package/dist/generators/generateRouterFastify.js.map +1 -1
  26. package/dist/generators/generateRouterHono.js +257 -237
  27. package/dist/generators/generateRouterHono.js.map +1 -1
  28. package/dist/generators/generateUnifiedDocs.d.ts +2 -2
  29. package/dist/generators/generateUnifiedDocs.js +90 -252
  30. package/dist/generators/generateUnifiedDocs.js.map +1 -1
  31. package/dist/generators/generateUnifiedHandler.js +2 -4
  32. package/dist/generators/generateUnifiedHandler.js.map +1 -1
  33. package/dist/index.js +16 -8
  34. package/dist/index.js.map +1 -1
  35. package/dist/utils/copyFiles.js +3 -2
  36. package/dist/utils/copyFiles.js.map +1 -1
  37. package/dist/utils/strings.d.ts +0 -1
  38. package/dist/utils/strings.js +0 -9
  39. package/dist/utils/strings.js.map +1 -1
  40. package/package.json +1 -1
  41. package/src/client/encodeQueryParams.ts +7 -15
  42. package/src/copy/autoIncludePlanner.ts +4 -17
  43. package/src/copy/autoIncludeRuntime.ts +11 -19
  44. package/src/copy/buildModelOpenApi.ts +11 -14
  45. package/src/copy/docsRenderer.ts +8 -14
  46. package/src/copy/misc.ts +28 -23
  47. package/src/copy/operationRuntime.ts +61 -43
  48. package/src/copy/parseQueryParams.ts +5 -14
  49. package/src/copy/routeConfig.express.ts +24 -18
  50. package/src/copy/routeConfig.fastify.ts +1 -1
  51. package/src/copy/routeConfig.hono.ts +34 -6
  52. package/src/copy/routeConfig.ts +2 -2
  53. package/src/generators/generateFastifyHandler.ts +2 -5
  54. package/src/generators/generateHonoHandler.ts +2 -5
  55. package/src/generators/generateImportPrismaStatement.ts +3 -35
  56. package/src/generators/generateOperationCore.ts +1 -1
  57. package/src/generators/generateQueryBuilderHelper.ts +9 -0
  58. package/src/generators/generateRelationMeta.ts +0 -10
  59. package/src/generators/generateRouteConfigType.ts +34 -10
  60. package/src/generators/generateRouter.ts +75 -71
  61. package/src/generators/generateRouterFastify.ts +83 -89
  62. package/src/generators/generateRouterHono.ts +257 -237
  63. package/src/generators/generateUnifiedDocs.ts +89 -267
  64. package/src/generators/generateUnifiedHandler.ts +2 -4
  65. package/src/index.ts +45 -14
  66. package/src/utils/copyFiles.ts +2 -2
  67. package/src/utils/strings.ts +0 -8
  68. package/src/copy/createOutputValidatorMiddleware.ts +0 -47
  69. package/src/copy/createValidatorMiddleware.ts +0 -62
  70. package/src/copy/transformZod.ts +0 -139
@@ -2,292 +2,130 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateUnifiedDocs = generateUnifiedDocs;
4
4
  const importExt_1 = require("../utils/importExt");
5
- function generateUnifiedDocs(models, target = 'express', importStyle = 'none') {
5
+ function generateUnifiedDocs(modelNames, target, importStyle) {
6
6
  const ext = (0, importExt_1.importExt)(importStyle);
7
- const imports = models
8
- .map((model) => `import { ${model}Docs } from './${model}/${model}Docs${ext}'`)
9
- .join('\n');
10
- const handlersEntries = models
11
- .map((model) => ` ${model}: ${model}Docs`)
12
- .join(',\n');
13
- const frameworkImport = target === 'fastify'
14
- ? `import type { FastifyInstance, FastifyRequest, FastifyReply } from 'fastify'`
15
- : target === 'hono'
16
- ? `import type { Hono, Context } from 'hono'`
17
- : `import type { Request, Response } from 'express'`;
18
- const routeConfigImport = `import type { RouteConfig } from './routeConfig.target${ext}'`;
19
- const handlerType = target === 'fastify'
20
- ? `(config: any) => (request: FastifyRequest, reply: FastifyReply) => Promise<void>`
21
- : target === 'hono'
22
- ? `(config: any) => (c: Context) => Response | Promise<Response>`
23
- : `(config: any) => (req: Request, res: Response) => any`;
24
- const combinedDocsReturn = target === 'fastify'
25
- ? generateFastifyCombinedDocs()
26
- : target === 'hono'
27
- ? generateHonoCombinedDocs()
28
- : generateExpressCombinedDocs();
29
- const registerDocs = target === 'fastify'
30
- ? generateFastifyRegisterDocs()
31
- : target === 'hono'
32
- ? generateHonoRegisterDocs()
33
- : generateExpressRegisterDocs();
34
- return `${imports}
35
- ${frameworkImport}
36
- ${routeConfigImport}
37
-
38
- const _env = typeof process !== 'undefined' && process.env ? process.env : {} as Record<string, string | undefined>
39
-
40
- const docsHandlers: Record<string, ${handlerType}> = {
41
- ${handlersEntries}
42
- }
7
+ if (target === 'fastify')
8
+ return generateFastify(modelNames, ext);
9
+ if (target === 'hono')
10
+ return generateHono(modelNames, ext);
11
+ return generateExpress(modelNames, ext);
12
+ }
13
+ const renderIndexFn = `function renderIndex(title: string, modelNames: string[], basePath: string): string {
14
+ const links = modelNames
15
+ .map((n) => '<li><a href="' + basePath + '/' + n.toLowerCase() + '">' + n + '</a></li>')
16
+ .join('')
17
+
18
+ return '<!DOCTYPE html><html><head><meta charset="utf-8" /><title>' + title +
19
+ '</title><script src="https://cdn.tailwindcss.com"></script></head>' +
20
+ '<body class="m-0 bg-white text-gray-900 font-sans">' +
21
+ '<div class="max-w-[1120px] mx-auto px-5 pt-[30px] pb-20">' +
22
+ '<h1 class="text-xl font-black border-b-2 border-gray-900 pb-3">' + title + '</h1>' +
23
+ '<ul class="mt-4 list-disc pl-6 text-sm">' + links + '</ul>' +
24
+ '</div></body></html>'
25
+ }`;
26
+ function generateExpress(modelNames, ext) {
27
+ return `import type { Router } from 'express'
28
+ import { getEnv, removeTrailingSlash } from './misc${ext}'
43
29
 
44
- type DocsUI = 'docs' | 'scalar' | 'json' | 'yaml' | 'playground'
30
+ const _env = getEnv()
45
31
 
46
- interface ModelDocsConfig extends RouteConfig {
47
- docsTitle?: string
48
- docsUi?: DocsUI
49
- }
32
+ const MODELS = ${JSON.stringify(modelNames)} as const
50
33
 
51
- export interface CombinedDocsConfig {
52
- disableOpenApi?: boolean
34
+ interface UnifiedDocsConfig {
53
35
  title?: string
54
- description?: string
55
36
  basePath?: string
56
- version?: string
57
- modelConfigs: {
58
- [modelName: string]: ModelDocsConfig
59
- }
60
- }
61
-
62
- function escapeHtml(input: string) {
63
- return input
64
- .replace(/&/g, '&amp;')
65
- .replace(/</g, '&lt;')
66
- .replace(/>/g, '&gt;')
67
- .replace(/"/g, '&quot;')
68
- .replace(/'/g, '&#039;')
69
- }
70
-
71
- function removeTrailingSlash(p: string): string {
72
- if (p === '/') return ''
73
- return p.endsWith('/') ? p.slice(0, -1) : p
74
- }
75
-
76
- function isOpenApiDisabled(disableOpenApi?: boolean) {
77
- if (disableOpenApi === true) return true
78
- if (disableOpenApi === false) return false
79
- return _env.DISABLE_OPENAPI === 'true' || _env.NODE_ENV === 'production'
37
+ models?: string[]
38
+ disableInProduction?: boolean
80
39
  }
81
40
 
82
- function isPlaygroundAvailable(config?: ModelDocsConfig) {
83
- if (_env.NODE_ENV === 'production') return false
84
- if (!config) return true
85
- if (config.queryBuilder === false) return false
86
- if (typeof config.queryBuilder === 'object' && config.queryBuilder.enabled === false) return false
87
- return true
88
- }
41
+ export function registerUnifiedDocs(router: Router, config: UnifiedDocsConfig = {}): void {
42
+ const disabled = config.disableInProduction !== false && _env.NODE_ENV === 'production'
43
+ if (disabled) return
89
44
 
90
- function buildCombinedHtml(
91
- config: CombinedDocsConfig,
92
- registeredModels: string[],
93
- ) {
94
- const title = config.title || 'API Documentation'
95
- const description = config.description || ''
96
- const version = config.version || ''
97
45
  const basePath = removeTrailingSlash(config.basePath || '/docs')
98
- const generatedAt = new Date().toISOString()
99
-
100
- const modelRows = registeredModels.map((m) => {
101
- const lower = m.toLowerCase()
102
- const docsUrl = basePath + '/' + lower
103
- const scalarUrl = docsUrl + '?ui=scalar'
104
- const jsonUrl = docsUrl + '?ui=json'
105
- const yamlUrl = docsUrl + '?ui=yaml'
106
- const playgroundUrl = docsUrl + '?ui=playground'
107
- const modelCfg = config.modelConfigs[m]
108
- const modelPlayground = isPlaygroundAvailable(modelCfg)
109
- const playgroundLink = modelPlayground
110
- ? ', <a href="' + playgroundUrl + '" class="text-inherit underline">playground</a>'
111
- : ''
112
- return '<tr>' +
113
- '<td class="text-left py-2 px-2 border-b border-gray-300 align-top">' + escapeHtml(m) + '</td>' +
114
- '<td class="text-left py-2 px-2 border-b border-gray-300 align-top"><a href="' + docsUrl + '" class="text-inherit underline">' + escapeHtml(docsUrl) + '</a></td>' +
115
- '<td class="text-left py-2 px-2 border-b border-gray-300 align-top">' +
116
- '<a href="' + scalarUrl + '" class="text-inherit underline">scalar</a>, ' +
117
- '<a href="' + jsonUrl + '" class="text-inherit underline">json</a>, ' +
118
- '<a href="' + yamlUrl + '" class="text-inherit underline">yaml</a>' +
119
- playgroundLink +
120
- '</td>' +
121
- '</tr>'
122
- }).join('')
123
-
124
- const descriptionHtml = description
125
- ? '<div class="mt-1.5 text-gray-500 text-sm">' + escapeHtml(description) + '</div>'
126
- : ''
127
- const versionHtml = version
128
- ? '<div>Version: ' + escapeHtml(version) + '</div>'
129
- : ''
130
-
131
- return '<!DOCTYPE html>' +
132
- '<html lang="en">' +
133
- '<head>' +
134
- '<meta charset="utf-8" />' +
135
- '<meta name="viewport" content="width=device-width, initial-scale=1" />' +
136
- '<title>' + escapeHtml(title) + '</title>' +
137
- '<script src="https://cdn.tailwindcss.com"></' + 'script>' +
138
- '</head>' +
139
- '<body class="m-0 bg-white text-gray-900 font-serif leading-normal">' +
140
- '<div class="max-w-[980px] mx-auto px-7 pt-10 pb-16">' +
141
- '<div class="border-b-2 border-gray-900 pb-3.5 mb-[18px]">' +
142
- '<div class="text-[28px] font-bold tracking-wide">' + escapeHtml(title) + '</div>' +
143
- descriptionHtml +
144
- '<div class="mt-3 flex gap-x-5 text-[13px] text-gray-500">' +
145
- versionHtml +
146
- '<div>Generated: ' + escapeHtml(generatedAt) + '</div>' +
147
- '</div>' +
148
- '</div>' +
149
- '<div class="mt-[22px]">' +
150
- '<h2 class="m-0 mb-2.5 text-lg border-t border-gray-300 pt-3.5">Models</h2>' +
151
- '<table class="w-full border-collapse text-[13px]">' +
152
- '<thead>' +
153
- '<tr>' +
154
- '<th class="text-left py-2 px-2 border-b border-gray-300 align-top font-bold">Model</th>' +
155
- '<th class="text-left py-2 px-2 border-b border-gray-300 align-top font-bold">Documentation</th>' +
156
- '<th class="text-left py-2 px-2 border-b border-gray-300 align-top font-bold">Views</th>' +
157
- '</tr>' +
158
- '</thead>' +
159
- '<tbody>' + modelRows + '</tbody>' +
160
- '</table>' +
161
- '</div>' +
162
- '</div>' +
163
- '</body>' +
164
- '</html>'
165
- }
46
+ const enabled = config.models && config.models.length > 0
47
+ ? MODELS.filter((m) => config.models!.includes(m))
48
+ : MODELS
166
49
 
167
- function getRegisteredModels(config: CombinedDocsConfig) {
168
- return Object.keys(config.modelConfigs).filter((m) => {
169
- const cfg = config.modelConfigs[m]
170
- return m in docsHandlers && !isOpenApiDisabled(cfg?.disableOpenApi ?? config.disableOpenApi)
50
+ router.get(basePath, (_req, res) => {
51
+ res.type('html').send(renderIndex(config.title || 'API Documentation', enabled as string[], basePath))
171
52
  })
172
53
  }
173
54
 
174
- ${combinedDocsReturn}
55
+ ${renderIndexFn}
175
56
 
176
- ${registerDocs}
57
+ export default registerUnifiedDocs
177
58
  `;
178
59
  }
179
- function generateExpressCombinedDocs() {
180
- return `export function generateCombinedDocs(config: CombinedDocsConfig) {
181
- return (req: Request, res: Response) => {
182
- const registeredModels = getRegisteredModels(config)
60
+ function generateFastify(modelNames, ext) {
61
+ return `import type { FastifyInstance } from 'fastify'
62
+ import { getEnv, removeTrailingSlash } from './misc${ext}'
183
63
 
184
- if (registeredModels.length === 0) {
185
- return res.status(404).send('OpenAPI documentation is disabled')
186
- }
64
+ const _env = getEnv()
187
65
 
188
- const html = buildCombinedHtml(config, registeredModels)
189
- res.type('html').send(html)
190
- }
191
- }`;
66
+ const MODELS = ${JSON.stringify(modelNames)} as const
67
+
68
+ interface UnifiedDocsConfig {
69
+ title?: string
70
+ basePath?: string
71
+ models?: string[]
72
+ disableInProduction?: boolean
192
73
  }
193
- function generateFastifyCombinedDocs() {
194
- return `export function generateCombinedDocs(config: CombinedDocsConfig) {
195
- return async (request: FastifyRequest, reply: FastifyReply) => {
196
- const registeredModels = getRegisteredModels(config)
197
74
 
198
- if (registeredModels.length === 0) {
199
- return reply.code(404).send('OpenAPI documentation is disabled')
200
- }
75
+ export async function registerUnifiedDocs(
76
+ fastify: FastifyInstance,
77
+ config: UnifiedDocsConfig = {},
78
+ ): Promise<void> {
79
+ const disabled = config.disableInProduction !== false && _env.NODE_ENV === 'production'
80
+ if (disabled) return
201
81
 
202
- const html = buildCombinedHtml(config, registeredModels)
203
- return reply.type('text/html').send(html)
204
- }
205
- }`;
82
+ const basePath = removeTrailingSlash(config.basePath || '/docs')
83
+ const enabled = config.models && config.models.length > 0
84
+ ? MODELS.filter((m) => config.models!.includes(m))
85
+ : MODELS
86
+
87
+ fastify.get(basePath, async (_request, reply) => {
88
+ reply.type('text/html').send(renderIndex(config.title || 'API Documentation', enabled as string[], basePath))
89
+ })
206
90
  }
207
- function generateHonoCombinedDocs() {
208
- return `export function generateCombinedDocs(config: CombinedDocsConfig) {
209
- return (c: Context): Response | Promise<Response> => {
210
- const registeredModels = getRegisteredModels(config)
211
91
 
212
- if (registeredModels.length === 0) {
213
- return c.text('OpenAPI documentation is disabled', 404)
214
- }
92
+ ${renderIndexFn}
215
93
 
216
- const html = buildCombinedHtml(config, registeredModels)
217
- return c.html(html)
218
- }
219
- }`;
94
+ export default registerUnifiedDocs
95
+ `;
220
96
  }
221
- function generateExpressRegisterDocs() {
222
- return `export function registerModelDocs(
223
- app: any,
224
- basePath: string = '/docs',
225
- configs: CombinedDocsConfig['modelConfigs'] = {},
226
- options?: { disableOpenApi?: boolean }
227
- ) {
228
- const normalizedBase = removeTrailingSlash(basePath)
229
- const registeredModels = Object.keys(configs).filter((m) => {
230
- const cfg = configs[m]
231
- return m in docsHandlers && !isOpenApiDisabled(cfg?.disableOpenApi ?? options?.disableOpenApi)
232
- })
97
+ function generateHono(modelNames, ext) {
98
+ return `import type { Hono } from 'hono'
99
+ import { getEnv, removeTrailingSlash } from './misc${ext}'
233
100
 
234
- if (registeredModels.length === 0) return
101
+ const _env = getEnv()
235
102
 
236
- registeredModels.forEach((model) => {
237
- const handler = docsHandlers[model]
238
- const cfg = configs[model] || {}
239
- const docPath = normalizedBase + '/' + model.toLowerCase()
240
- console.log(' Registered docs: ' + docPath)
241
- app.get(docPath, handler(cfg))
242
- })
243
- }`;
103
+ const MODELS = ${JSON.stringify(modelNames)} as const
104
+
105
+ interface UnifiedDocsConfig {
106
+ title?: string
107
+ basePath?: string
108
+ models?: string[]
109
+ disableInProduction?: boolean
244
110
  }
245
- function generateFastifyRegisterDocs() {
246
- return `export function registerModelDocs(
247
- app: FastifyInstance,
248
- basePath: string = '/docs',
249
- configs: CombinedDocsConfig['modelConfigs'] = {},
250
- options?: { disableOpenApi?: boolean }
251
- ) {
252
- const normalizedBase = removeTrailingSlash(basePath)
253
- const registeredModels = Object.keys(configs).filter((m) => {
254
- const cfg = configs[m]
255
- return m in docsHandlers && !isOpenApiDisabled(cfg?.disableOpenApi ?? options?.disableOpenApi)
256
- })
257
111
 
258
- if (registeredModels.length === 0) return
112
+ export function registerUnifiedDocs(app: Hono, config: UnifiedDocsConfig = {}): void {
113
+ const disabled = config.disableInProduction !== false && _env.NODE_ENV === 'production'
114
+ if (disabled) return
115
+
116
+ const basePath = removeTrailingSlash(config.basePath || '/docs')
117
+ const enabled = config.models && config.models.length > 0
118
+ ? MODELS.filter((m) => config.models!.includes(m))
119
+ : MODELS
259
120
 
260
- registeredModels.forEach((model) => {
261
- const handler = docsHandlers[model]
262
- const cfg = configs[model] || {}
263
- const docPath = normalizedBase + '/' + model.toLowerCase()
264
- console.log(' Registered docs: ' + docPath)
265
- app.get(docPath, handler(cfg))
121
+ app.get(basePath, (c) => {
122
+ return c.html(renderIndex(config.title || 'API Documentation', enabled as string[], basePath))
266
123
  })
267
- }`;
268
124
  }
269
- function generateHonoRegisterDocs() {
270
- return `export function registerModelDocs(
271
- app: Hono<any>,
272
- basePath: string = '/docs',
273
- configs: CombinedDocsConfig['modelConfigs'] = {},
274
- options?: { disableOpenApi?: boolean }
275
- ) {
276
- const normalizedBase = removeTrailingSlash(basePath)
277
- const registeredModels = Object.keys(configs).filter((m) => {
278
- const cfg = configs[m]
279
- return m in docsHandlers && !isOpenApiDisabled(cfg?.disableOpenApi ?? options?.disableOpenApi)
280
- })
281
125
 
282
- if (registeredModels.length === 0) return
126
+ ${renderIndexFn}
283
127
 
284
- registeredModels.forEach((model) => {
285
- const handler = docsHandlers[model]
286
- const cfg = configs[model] || {}
287
- const docPath = normalizedBase + '/' + model.toLowerCase()
288
- console.log(' Registered docs: ' + docPath)
289
- app.get(docPath, handler(cfg))
290
- })
291
- }`;
128
+ export default registerUnifiedDocs
129
+ `;
292
130
  }
293
131
  //# sourceMappingURL=generateUnifiedDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateUnifiedDocs.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedDocs.ts"],"names":[],"mappings":";;AAIA,kDA6LC;AA/LD,kDAA8C;AAE9C,SAAgB,mBAAmB,CACjC,MAAgB,EAChB,SAAiB,SAAS,EAC1B,cAA2B,MAAM;IAEjC,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,WAAW,CAAC,CAAA;IAElC,MAAM,OAAO,GAAG,MAAM;SACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,KAAK,kBAAkB,KAAK,IAAI,KAAK,OAAO,GAAG,GAAG,CAAC;SAC9E,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,eAAe,GAAG,MAAM;SAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,KAAK,MAAM,CAAC;SAC1C,IAAI,CAAC,KAAK,CAAC,CAAA;IAEd,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,8EAA8E;QAChF,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,2CAA2C;YAC7C,CAAC,CAAC,kDAAkD,CAAA;IAE1D,MAAM,iBAAiB,GAAG,yDAAyD,GAAG,GAAG,CAAA;IAEzF,MAAM,WAAW,GACf,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,kFAAkF;QACpF,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,+DAA+D;YACjE,CAAC,CAAC,uDAAuD,CAAA;IAE/D,MAAM,kBAAkB,GACtB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,2BAA2B,EAAE;QAC/B,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,wBAAwB,EAAE;YAC5B,CAAC,CAAC,2BAA2B,EAAE,CAAA;IAErC,MAAM,YAAY,GAChB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,2BAA2B,EAAE;QAC/B,CAAC,CAAC,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,wBAAwB,EAAE;YAC5B,CAAC,CAAC,2BAA2B,EAAE,CAAA;IAErC,OAAO,GAAG,OAAO;EACjB,eAAe;EACf,iBAAiB;;;;qCAIkB,WAAW;EAC9C,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqIf,kBAAkB;;EAElB,YAAY;CACb,CAAA;AACD,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;;;;;;;;;;;EAWP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"generateUnifiedDocs.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedDocs.ts"],"names":[],"mappings":";;AAIA,kDASC;AAZD,kDAA8C;AAG9C,SAAgB,mBAAmB,CACjC,UAAoB,EACpB,MAAc,EACd,WAAwB;IAExB,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,WAAW,CAAC,CAAA;IAClC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IACjE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;IAC3D,OAAO,eAAe,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;AACzC,CAAC;AAED,MAAM,aAAa,GAAG;;;;;;;;;;;;EAYpB,CAAA;AAEF,SAAS,eAAe,CAAC,UAAoB,EAAE,GAAW;IACxD,OAAO;qDAC4C,GAAG;;;;iBAIvC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;EAuBzC,aAAa;;;CAGd,CAAA;AACD,CAAC;AAED,SAAS,eAAe,CAAC,UAAoB,EAAE,GAAW;IACxD,OAAO;qDAC4C,GAAG;;;;iBAIvC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BzC,aAAa;;;CAGd,CAAA;AACD,CAAC;AAED,SAAS,YAAY,CAAC,UAAoB,EAAE,GAAW;IACrD,OAAO;qDAC4C,GAAG;;;;iBAIvC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;EAuBzC,aAAa;;;CAGd,CAAA;AACD,CAAC"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateUnifiedHandler = generateUnifiedHandler;
4
- const strings_1 = require("../utils/strings");
5
4
  const importExt_1 = require("../utils/importExt");
6
5
  const CORE_NAME_MAP = {
7
6
  delete: 'deleteUnique',
@@ -32,9 +31,8 @@ const ALL_OPS = [
32
31
  function generateUnifiedHandler(options) {
33
32
  const ext = (0, importExt_1.importExt)(options.importStyle);
34
33
  const modelName = options.model.name;
35
- const prefix = (0, strings_1.toCamelCase)(modelName);
36
34
  const handlers = ALL_OPS.map((op) => {
37
- const exportName = `${prefix}${op.charAt(0).toUpperCase() + op.slice(1)}`;
35
+ const exportName = `${modelName}${op.charAt(0).toUpperCase() + op.slice(1)}`;
38
36
  return `
39
37
  export async function ${exportName}(
40
38
  req: Request,
@@ -49,7 +47,7 @@ export async function ${exportName}(
49
47
  }
50
48
  }`;
51
49
  }).join('\n');
52
- return `import { Request, Response, NextFunction } from 'express'
50
+ return `import type { Request, Response, NextFunction } from 'express'
53
51
  import * as core from './${modelName}Core${ext}'
54
52
  import { OperationContext, mapError } from '../operationRuntime${ext}'
55
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"generateUnifiedHandler.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedHandler.ts"],"names":[],"mappings":";;AAuCA,wDAyDC;AA/FD,8CAA8C;AAE9C,kDAA8C;AAO9C,MAAM,aAAa,GAA2B;IAC5C,MAAM,EAAE,cAAc;CACvB,CAAA;AAED,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;AAChC,CAAC;AAED,MAAM,OAAO,GAAG;IACd,UAAU;IACV,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,mBAAmB;IACnB,mBAAmB;IACnB,QAAQ;IACR,YAAY;IACZ,qBAAqB;IACrB,QAAQ;IACR,YAAY;IACZ,qBAAqB;IACrB,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,OAAO;IACP,SAAS;CACV,CAAA;AAED,SAAgB,sBAAsB,CAAC,OAA8B;IACnE,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;IACpC,MAAM,MAAM,GAAG,IAAA,qBAAW,EAAC,SAAS,CAAC,CAAA;IAErC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAClC,MAAM,UAAU,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAEzE,OAAO;wBACa,UAAU;;;;;;mDAMiB,UAAU,CAAC,EAAE,CAAC;;;;;EAK/D,CAAA;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO;2BACkB,SAAS,OAAO,GAAG;iEACmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BlE,QAAQ;CACT,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"generateUnifiedHandler.js","sourceRoot":"","sources":["../../src/generators/generateUnifiedHandler.ts"],"names":[],"mappings":";;AAsCA,wDAwDC;AA5FD,kDAA8C;AAO9C,MAAM,aAAa,GAA2B;IAC5C,MAAM,EAAE,cAAc;CACvB,CAAA;AAED,SAAS,UAAU,CAAC,EAAU;IAC5B,OAAO,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAA;AAChC,CAAC;AAED,MAAM,OAAO,GAAG;IACd,UAAU;IACV,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,mBAAmB;IACnB,mBAAmB;IACnB,QAAQ;IACR,YAAY;IACZ,qBAAqB;IACrB,QAAQ;IACR,YAAY;IACZ,qBAAqB;IACrB,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,WAAW;IACX,OAAO;IACP,SAAS;CACV,CAAA;AAED,SAAgB,sBAAsB,CAAC,OAA8B;IACnE,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;IAEpC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAClC,MAAM,UAAU,GAAG,GAAG,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAE5E,OAAO;wBACa,UAAU;;;;;;mDAMiB,UAAU,CAAC,EAAE,CAAC;;;;;EAK/D,CAAA;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO;2BACkB,SAAS,OAAO,GAAG;iEACmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BlE,QAAQ;CACT,CAAA;AACD,CAAC"}
package/dist/index.js CHANGED
@@ -21,12 +21,16 @@ const writeFileSafely_1 = require("./utils/writeFileSafely");
21
21
  const copyFiles_1 = require("./utils/copyFiles");
22
22
  const resolveImportStyle_1 = require("./utils/resolveImportStyle");
23
23
  const constants_1 = require("./constants");
24
+ const GENERATOR_OFF_RE = /\bgenerator off\b/;
24
25
  function getTarget(options) {
25
26
  const raw = String(options.generator.config.target ?? 'express').toLowerCase();
26
27
  if (raw === 'express' || raw === 'fastify' || raw === 'hono')
27
28
  return raw;
28
29
  throw new Error(`Invalid target "${raw}". Expected "express", "fastify", or "hono".`);
29
30
  }
31
+ function validateClientGeneratorPresent(options) {
32
+ (0, generateImportPrismaStatement_1.getRelativeClientPath)(options, options.dmmf.datamodel.models[0]?.name ?? 'Model');
33
+ }
30
34
  (0, generator_helper_1.generatorHandler)({
31
35
  onManifest() {
32
36
  return {
@@ -37,8 +41,8 @@ function getTarget(options) {
37
41
  },
38
42
  async onGenerate(options) {
39
43
  const target = getTarget(options);
40
- const hasExplicitOutput = !!options.generator.output?.fromEnvVar
41
- || options.generator.config.output !== undefined;
44
+ const hasExplicitOutput = !!options.generator.output?.fromEnvVar ||
45
+ options.generator.config.output !== undefined;
42
46
  if (!hasExplicitOutput) {
43
47
  const schemaDir = path_1.default.dirname(options.schemaPath);
44
48
  const outputPath = path_1.default.join(schemaDir, 'generated', target);
@@ -49,19 +53,24 @@ function getTarget(options) {
49
53
  console.log(` Target: ${target}`);
50
54
  console.log(` Output: ${options.generator.output?.value}`);
51
55
  console.log(` Import style: ${importStyle}`);
56
+ if (options.dmmf.datamodel.models.length > 0) {
57
+ validateClientGeneratorPresent(options);
58
+ }
52
59
  await (0, copyFiles_1.copyFiles)(options, target, importStyle);
53
60
  const modelNames = [];
54
- const generateHandler = target === 'fastify' ? generateFastifyHandler_1.generateFastifyHandler :
55
- target === 'hono' ? generateHonoHandler_1.generateHonoHandler :
56
- generateUnifiedHandler_1.generateUnifiedHandler;
61
+ const generateHandler = target === 'fastify'
62
+ ? generateFastifyHandler_1.generateFastifyHandler
63
+ : target === 'hono'
64
+ ? generateHonoHandler_1.generateHonoHandler
65
+ : generateUnifiedHandler_1.generateUnifiedHandler;
57
66
  const allModels = options.dmmf.datamodel.models;
58
67
  for (const model of options.dmmf.datamodel.models) {
59
- if (model.documentation && model.documentation.includes('generator off')) {
68
+ if (model.documentation &&
69
+ GENERATOR_OFF_RE.test(model.documentation)) {
60
70
  console.log(` Skipping: ${model.name} (generator off)`);
61
71
  continue;
62
72
  }
63
73
  modelNames.push(model.name);
64
- const relativeClientPath = (0, generateImportPrismaStatement_1.getRelativeClientPath)(options, model.name);
65
74
  const guardShapesImport = (0, generateImportPrismaStatement_1.getGuardShapesImport)(options, model.name);
66
75
  await (0, writeFileSafely_1.writeFileSafely)({
67
76
  content: (0, generateOperationCore_1.generateModelCore)({ model: model, importStyle }),
@@ -92,7 +101,6 @@ function getTarget(options) {
92
101
  : (0, generateRouter_1.generateRouterFunction)({
93
102
  model: model,
94
103
  enums: options.dmmf.datamodel.enums,
95
- relativeClientPath,
96
104
  guardShapesImport,
97
105
  importStyle,
98
106
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ function resolveTemplateDir(subpath) {
63
63
  function escapeRegex(str) {
64
64
  return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
65
65
  }
66
- const RELATIVE_IMPORT_RE = /(\b(?:import|export)\b[^'"\n;]*?\bfrom\s+|\bimport\s+|\bimport\s*\(\s*)(['"])(\.{1,2}\/[^'"\n]+)\2/g;
66
+ const RELATIVE_IMPORT_RE = /(\b(?:import|export)\b[^'";]*?\bfrom\s+|\bimport\s+|\bimport\s*\(\s*)(['"])(\.{1,2}\/[^'"\n]+)\2/g;
67
67
  const SKIP_EXTENSION_RE = /\.(m?[jt]sx?|json|css|svg|png|jpe?g|gif|webp|wasm)$/i;
68
68
  function applyExtension(content, style) {
69
69
  if (style === 'none')
@@ -92,6 +92,8 @@ function copyFileSync(srcDir, destDir, filename, importStyle, options) {
92
92
  let content = fs.readFileSync(srcPath, 'utf-8');
93
93
  if (options?.importRewrites) {
94
94
  for (const rewrite of options.importRewrites) {
95
+ if (rewrite.from === rewrite.to)
96
+ continue;
95
97
  content = content.replace(new RegExp('from [\'"]' + escapeRegex(rewrite.from) + '[\'"]', 'g'), "from '" + rewrite.to + "'");
96
98
  }
97
99
  }
@@ -128,7 +130,6 @@ async function copyFiles(options, target, importStyle) {
128
130
  const err = copyFileSync(copyBase, outputPath, targetConfigFile, importStyle, {
129
131
  required: true,
130
132
  destFilename: 'routeConfig.target.ts',
131
- importRewrites: [{ from: './routeConfig', to: './routeConfig' }],
132
133
  });
133
134
  if (err)
134
135
  errors.push(err);
@@ -1 +1 @@
1
- {"version":3,"file":"copyFiles.js","sourceRoot":"","sources":["../../src/utils/copyFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copyFiles.js","sourceRoot":"","sources":["../../src/utils/copyFiles.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  export declare const capitalize: (str: string) => string;
2
- export declare function toCamelCase(str: string): string;
@@ -1,15 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.capitalize = void 0;
4
- exports.toCamelCase = toCamelCase;
5
4
  const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1);
6
5
  exports.capitalize = capitalize;
7
- function toCamelCase(str) {
8
- if (!str)
9
- return str;
10
- return str
11
- .split('_')
12
- .map((part, i) => i === 0 ? part.toLowerCase() : (0, exports.capitalize)(part))
13
- .join('');
14
- }
15
6
  //# sourceMappingURL=strings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/utils/strings.ts"],"names":[],"mappings":";;;AAGA,kCAMC;AATM,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACxC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAD/B,QAAA,UAAU,cACqB;AAE5C,SAAgB,WAAW,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAA;IACpB,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,CAAC;SACjE,IAAI,CAAC,EAAE,CAAC,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../../src/utils/strings.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACxC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAD/B,QAAA,UAAU,cACqB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "prisma-generator-express",
3
3
  "description": "Prisma generator for Express, Fastify, and Hono CRUD APIs with OpenAPI documentation",
4
- "version": "1.45.0",
4
+ "version": "1.46.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "MIT",