prisma-generator-express 1.56.2 → 1.56.3
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/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -3
- package/src/index.ts +32 -11
package/dist/index.js
CHANGED
|
@@ -29,7 +29,8 @@ function getTarget(options) {
|
|
|
29
29
|
throw new Error(`Invalid target "${raw}". Expected "express", "fastify", or "hono".`);
|
|
30
30
|
}
|
|
31
31
|
function getWriteStrategy(options) {
|
|
32
|
-
const raw = String(options.generator.config.writeStrategy ??
|
|
32
|
+
const raw = String(options.generator.config.writeStrategy ??
|
|
33
|
+
'regular');
|
|
33
34
|
const lower = raw.toLowerCase();
|
|
34
35
|
if (lower === 'regular')
|
|
35
36
|
return 'regular';
|
|
@@ -44,7 +45,8 @@ function getWriteStrategy(options) {
|
|
|
44
45
|
throw new Error(`Invalid writeStrategy "${raw}". Expected "regular", "throwOnNonReturning", or "forceReturn".`);
|
|
45
46
|
}
|
|
46
47
|
function getFindManyPaginatedMode(options) {
|
|
47
|
-
const raw = String(options.generator.config
|
|
48
|
+
const raw = String(options.generator.config
|
|
49
|
+
.findManyPaginatedMode ?? 'promiseAll');
|
|
48
50
|
const lower = raw.toLowerCase();
|
|
49
51
|
if (lower === 'transaction')
|
|
50
52
|
return 'transaction';
|
|
@@ -67,9 +69,10 @@ function validateClientGeneratorPresent(options) {
|
|
|
67
69
|
const target = getTarget(options);
|
|
68
70
|
const writeStrategy = getWriteStrategy(options);
|
|
69
71
|
const findManyPaginatedMode = getFindManyPaginatedMode(options);
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
72
|
+
const manifestDefaultAbs = path_1.default.resolve(__dirname, '..', 'generated', target);
|
|
73
|
+
const currentOutput = options.generator.output?.value;
|
|
74
|
+
const isUnsetOrManifestDefault = !currentOutput || path_1.default.resolve(currentOutput) === manifestDefaultAbs;
|
|
75
|
+
if (isUnsetOrManifestDefault) {
|
|
73
76
|
const schemaDir = path_1.default.dirname(options.schemaPath);
|
|
74
77
|
const outputPath = path_1.default.join(schemaDir, 'generated', target);
|
|
75
78
|
options.generator.output = { value: outputPath, fromEnvVar: null };
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,+DAIiC;AACjC,gDAAuB;AACvB,gFAA4E;AAC5E,gFAA4E;AAC5E,0EAAsE;AACtE,gEAAoE;AACpE,8EAAkF;AAClF,wEAA4E;AAC5E,kFAA8E;AAC9E,0EAAsE;AACtE,wFAAoF;AACpF,8EAAsE;AACtE,4EAG0C;AAC1C,8FAGmD;AACnD,6DAAyD;AACzD,iDAA6C;AAC7C,mEAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
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.56.
|
|
4
|
+
"version": "1.56.3",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "MIT",
|
|
@@ -57,8 +57,7 @@
|
|
|
57
57
|
"pino-pretty": "^13.0.0",
|
|
58
58
|
"prisma": "7.5.0",
|
|
59
59
|
"semantic-release": "^24.2.9",
|
|
60
|
-
"typescript": "5.9.3"
|
|
61
|
-
"vitest-mock-extended": "^3.1.0"
|
|
60
|
+
"typescript": "5.9.3"
|
|
62
61
|
},
|
|
63
62
|
"homepage": "https://github.com/multipliedtwice/prisma-generator-express",
|
|
64
63
|
"repository": {
|
package/src/index.ts
CHANGED
|
@@ -25,7 +25,12 @@ import {
|
|
|
25
25
|
import { writeFileSafely } from './utils/writeFileSafely'
|
|
26
26
|
import { copyFiles } from './utils/copyFiles'
|
|
27
27
|
import { resolveImportStyle, ImportStyle } from './utils/resolveImportStyle'
|
|
28
|
-
import {
|
|
28
|
+
import {
|
|
29
|
+
GENERATOR_NAME,
|
|
30
|
+
Target,
|
|
31
|
+
WriteStrategy,
|
|
32
|
+
FindManyPaginatedMode,
|
|
33
|
+
} from './constants'
|
|
29
34
|
|
|
30
35
|
const GENERATOR_OFF_RE = /\bgenerator off\b/
|
|
31
36
|
|
|
@@ -34,12 +39,15 @@ function getTarget(options: GeneratorOptions): Target {
|
|
|
34
39
|
(options.generator.config as Record<string, unknown>).target ?? 'express',
|
|
35
40
|
).toLowerCase()
|
|
36
41
|
if (raw === 'express' || raw === 'fastify' || raw === 'hono') return raw
|
|
37
|
-
throw new Error(
|
|
42
|
+
throw new Error(
|
|
43
|
+
`Invalid target "${raw}". Expected "express", "fastify", or "hono".`,
|
|
44
|
+
)
|
|
38
45
|
}
|
|
39
46
|
|
|
40
47
|
function getWriteStrategy(options: GeneratorOptions): WriteStrategy {
|
|
41
48
|
const raw = String(
|
|
42
|
-
(options.generator.config as Record<string, unknown>).writeStrategy ??
|
|
49
|
+
(options.generator.config as Record<string, unknown>).writeStrategy ??
|
|
50
|
+
'regular',
|
|
43
51
|
)
|
|
44
52
|
const lower = raw.toLowerCase()
|
|
45
53
|
if (lower === 'regular') return 'regular'
|
|
@@ -56,9 +64,12 @@ function getWriteStrategy(options: GeneratorOptions): WriteStrategy {
|
|
|
56
64
|
)
|
|
57
65
|
}
|
|
58
66
|
|
|
59
|
-
function getFindManyPaginatedMode(
|
|
67
|
+
function getFindManyPaginatedMode(
|
|
68
|
+
options: GeneratorOptions,
|
|
69
|
+
): FindManyPaginatedMode {
|
|
60
70
|
const raw = String(
|
|
61
|
-
(options.generator.config as Record<string, unknown>)
|
|
71
|
+
(options.generator.config as Record<string, unknown>)
|
|
72
|
+
.findManyPaginatedMode ?? 'promiseAll',
|
|
62
73
|
)
|
|
63
74
|
const lower = raw.toLowerCase()
|
|
64
75
|
if (lower === 'transaction') return 'transaction'
|
|
@@ -69,7 +80,10 @@ function getFindManyPaginatedMode(options: GeneratorOptions): FindManyPaginatedM
|
|
|
69
80
|
}
|
|
70
81
|
|
|
71
82
|
function validateClientGeneratorPresent(options: GeneratorOptions): void {
|
|
72
|
-
getRelativeClientPath(
|
|
83
|
+
getRelativeClientPath(
|
|
84
|
+
options,
|
|
85
|
+
options.dmmf.datamodel.models[0]?.name ?? 'Model',
|
|
86
|
+
)
|
|
73
87
|
}
|
|
74
88
|
|
|
75
89
|
generatorHandler({
|
|
@@ -85,11 +99,18 @@ generatorHandler({
|
|
|
85
99
|
const target = getTarget(options)
|
|
86
100
|
const writeStrategy = getWriteStrategy(options)
|
|
87
101
|
const findManyPaginatedMode = getFindManyPaginatedMode(options)
|
|
88
|
-
const hasExplicitOutput =
|
|
89
|
-
!!options.generator.output?.fromEnvVar ||
|
|
90
|
-
(options.generator.config as Record<string, unknown>).output !== undefined
|
|
91
102
|
|
|
92
|
-
|
|
103
|
+
const manifestDefaultAbs = path.resolve(
|
|
104
|
+
__dirname,
|
|
105
|
+
'..',
|
|
106
|
+
'generated',
|
|
107
|
+
target,
|
|
108
|
+
)
|
|
109
|
+
const currentOutput = options.generator.output?.value
|
|
110
|
+
const isUnsetOrManifestDefault =
|
|
111
|
+
!currentOutput || path.resolve(currentOutput) === manifestDefaultAbs
|
|
112
|
+
|
|
113
|
+
if (isUnsetOrManifestDefault) {
|
|
93
114
|
const schemaDir = path.dirname(options.schemaPath)
|
|
94
115
|
const outputPath = path.join(schemaDir, 'generated', target)
|
|
95
116
|
options.generator.output = { value: outputPath, fromEnvVar: null }
|
|
@@ -237,4 +258,4 @@ generatorHandler({
|
|
|
237
258
|
console.log(`✓ ${modelNames.length} models (${target})`)
|
|
238
259
|
console.log('')
|
|
239
260
|
},
|
|
240
|
-
})
|
|
261
|
+
})
|