prisma-generator-express 1.45.1 → 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.
- package/dist/client/encodeQueryParams.js +4 -0
- package/dist/client/encodeQueryParams.js.map +1 -1
- package/dist/copy/misc.d.ts +4 -2
- package/dist/copy/misc.js +35 -24
- package/dist/copy/misc.js.map +1 -1
- package/dist/generators/generateFastifyHandler.js +2 -4
- package/dist/generators/generateFastifyHandler.js.map +1 -1
- package/dist/generators/generateHonoHandler.js +2 -4
- package/dist/generators/generateHonoHandler.js.map +1 -1
- package/dist/generators/generateImportPrismaStatement.d.ts +0 -1
- package/dist/generators/generateImportPrismaStatement.js +2 -20
- package/dist/generators/generateImportPrismaStatement.js.map +1 -1
- package/dist/generators/generateOperationCore.js +1 -1
- package/dist/generators/generateQueryBuilderHelper.js +9 -0
- package/dist/generators/generateQueryBuilderHelper.js.map +1 -1
- package/dist/generators/generateRelationMeta.js +0 -10
- package/dist/generators/generateRelationMeta.js.map +1 -1
- package/dist/generators/generateRouteConfigType.js +33 -12
- package/dist/generators/generateRouteConfigType.js.map +1 -1
- package/dist/generators/generateRouter.d.ts +0 -1
- package/dist/generators/generateRouter.js +75 -70
- package/dist/generators/generateRouter.js.map +1 -1
- package/dist/generators/generateRouterFastify.js +83 -89
- package/dist/generators/generateRouterFastify.js.map +1 -1
- package/dist/generators/generateRouterHono.js +257 -237
- package/dist/generators/generateRouterHono.js.map +1 -1
- package/dist/generators/generateUnifiedDocs.d.ts +2 -2
- package/dist/generators/generateUnifiedDocs.js +90 -252
- package/dist/generators/generateUnifiedDocs.js.map +1 -1
- package/dist/generators/generateUnifiedHandler.js +2 -4
- package/dist/generators/generateUnifiedHandler.js.map +1 -1
- package/dist/index.js +16 -8
- package/dist/index.js.map +1 -1
- package/dist/utils/copyFiles.js +3 -2
- package/dist/utils/copyFiles.js.map +1 -1
- package/dist/utils/strings.d.ts +0 -1
- package/dist/utils/strings.js +0 -9
- package/dist/utils/strings.js.map +1 -1
- package/package.json +1 -1
- package/src/client/encodeQueryParams.ts +7 -15
- package/src/copy/autoIncludePlanner.ts +4 -17
- package/src/copy/autoIncludeRuntime.ts +11 -19
- package/src/copy/buildModelOpenApi.ts +11 -14
- package/src/copy/docsRenderer.ts +8 -14
- package/src/copy/misc.ts +28 -23
- package/src/copy/operationRuntime.ts +61 -43
- package/src/copy/parseQueryParams.ts +5 -14
- package/src/copy/routeConfig.express.ts +24 -18
- package/src/copy/routeConfig.fastify.ts +1 -1
- package/src/copy/routeConfig.hono.ts +34 -6
- package/src/copy/routeConfig.ts +2 -2
- package/src/generators/generateFastifyHandler.ts +2 -5
- package/src/generators/generateHonoHandler.ts +2 -5
- package/src/generators/generateImportPrismaStatement.ts +3 -35
- package/src/generators/generateOperationCore.ts +1 -1
- package/src/generators/generateQueryBuilderHelper.ts +9 -0
- package/src/generators/generateRelationMeta.ts +0 -10
- package/src/generators/generateRouteConfigType.ts +34 -10
- package/src/generators/generateRouter.ts +75 -71
- package/src/generators/generateRouterFastify.ts +83 -89
- package/src/generators/generateRouterHono.ts +257 -237
- package/src/generators/generateUnifiedDocs.ts +89 -267
- package/src/generators/generateUnifiedHandler.ts +2 -4
- package/src/index.ts +45 -14
- package/src/utils/copyFiles.ts +2 -2
- package/src/utils/strings.ts +0 -8
- package/src/copy/createOutputValidatorMiddleware.ts +0 -47
- package/src/copy/createValidatorMiddleware.ts +0 -62
- 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(
|
|
5
|
+
function generateUnifiedDocs(modelNames, target, importStyle) {
|
|
6
6
|
const ext = (0, importExt_1.importExt)(importStyle);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
30
|
+
const _env = getEnv()
|
|
45
31
|
|
|
46
|
-
|
|
47
|
-
docsTitle?: string
|
|
48
|
-
docsUi?: DocsUI
|
|
49
|
-
}
|
|
32
|
+
const MODELS = ${JSON.stringify(modelNames)} as const
|
|
50
33
|
|
|
51
|
-
|
|
52
|
-
disableOpenApi?: boolean
|
|
34
|
+
interface UnifiedDocsConfig {
|
|
53
35
|
title?: string
|
|
54
|
-
description?: string
|
|
55
36
|
basePath?: string
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
[modelName: string]: ModelDocsConfig
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
function escapeHtml(input: string) {
|
|
63
|
-
return input
|
|
64
|
-
.replace(/&/g, '&')
|
|
65
|
-
.replace(/</g, '<')
|
|
66
|
-
.replace(/>/g, '>')
|
|
67
|
-
.replace(/"/g, '"')
|
|
68
|
-
.replace(/'/g, ''')
|
|
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
|
|
83
|
-
|
|
84
|
-
if (
|
|
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
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
168
|
-
|
|
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
|
-
${
|
|
55
|
+
${renderIndexFn}
|
|
175
56
|
|
|
176
|
-
|
|
57
|
+
export default registerUnifiedDocs
|
|
177
58
|
`;
|
|
178
59
|
}
|
|
179
|
-
function
|
|
180
|
-
return `
|
|
181
|
-
|
|
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
|
-
|
|
185
|
-
return res.status(404).send('OpenAPI documentation is disabled')
|
|
186
|
-
}
|
|
64
|
+
const _env = getEnv()
|
|
187
65
|
|
|
188
|
-
|
|
189
|
-
|
|
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
|
-
|
|
199
|
-
|
|
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
|
-
|
|
203
|
-
|
|
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
|
-
|
|
213
|
-
return c.text('OpenAPI documentation is disabled', 404)
|
|
214
|
-
}
|
|
92
|
+
${renderIndexFn}
|
|
215
93
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
}
|
|
219
|
-
}`;
|
|
94
|
+
export default registerUnifiedDocs
|
|
95
|
+
`;
|
|
220
96
|
}
|
|
221
|
-
function
|
|
222
|
-
return `
|
|
223
|
-
|
|
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
|
-
|
|
101
|
+
const _env = getEnv()
|
|
235
102
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
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
|
-
|
|
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
|
-
|
|
261
|
-
|
|
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
|
-
|
|
126
|
+
${renderIndexFn}
|
|
283
127
|
|
|
284
|
-
|
|
285
|
-
|
|
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,
|
|
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 = `${
|
|
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":";;
|
|
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
|
-
|
|
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'
|
|
55
|
-
|
|
56
|
-
|
|
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 &&
|
|
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":";;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/copyFiles.js
CHANGED
|
@@ -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[^'"
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"copyFiles.js","sourceRoot":"","sources":["../../src/utils/copyFiles.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/strings.d.ts
CHANGED
package/dist/utils/strings.js
CHANGED
|
@@ -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":";;;
|
|
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.
|
|
4
|
+
"version": "1.46.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "MIT",
|