prisma-generator-express 1.56.3 → 1.57.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/README.md CHANGED
@@ -2991,6 +2991,181 @@ UserRouter({
2991
2991
  })
2992
2992
  ```
2993
2993
 
2994
+ ## Global guard drop for E2E SQLite
2995
+
2996
+ Generated routers can globally skip Prisma guard in E2E mode.
2997
+
2998
+ This is used when the production Prisma schema and SQLite E2E schema intentionally differ. Example: production stores `normalized_skills` as `String[]`, while SQLite stores it as `Json?`. Guard shapes generated from the SQLite schema would reject scalar-list filters such as:
2999
+
3000
+ ```ts
3001
+ {
3002
+ normalized_skills: {
3003
+ hasSome: ['typescript', 'react']
3004
+ }
3005
+ }
3006
+ ```
3007
+
3008
+ In E2E, the generated router should skip guard and let the E2E Prisma extension rewrite supported scalar-list filters before the SQL extension runs.
3009
+
3010
+ ### Behavior
3011
+
3012
+ Generated routers use this effective guard-drop flag:
3013
+
3014
+ ```ts
3015
+ const DROP_GUARD = GENERATOR_DROP_GUARD || process.env.E2E === 'true'
3016
+ ```
3017
+
3018
+ When `DROP_GUARD` is true:
3019
+
3020
+ ```ts
3021
+ delegate.findMany(args)
3022
+ ```
3023
+
3024
+ is used instead of:
3025
+
3026
+ ```ts
3027
+ delegate.guard(shape, caller).findMany(args)
3028
+ ```
3029
+
3030
+ This is global for generated routers. No per-router config is required.
3031
+
3032
+ ### Production safety
3033
+
3034
+ Production must keep:
3035
+
3036
+ ```env
3037
+ E2E=false
3038
+ ```
3039
+
3040
+ or leave `E2E` unset.
3041
+
3042
+ Do not set generator config `dropGuard = true` for normal production generation unless guard should be disabled everywhere.
3043
+
3044
+ Recommended setup:
3045
+
3046
+ ```prisma
3047
+ generator express {
3048
+ provider = "prisma-generator-express"
3049
+ target = "express"
3050
+ }
3051
+ ```
3052
+
3053
+ Then generated routers drop guard only when runtime env has:
3054
+
3055
+ ```env
3056
+ E2E=true
3057
+ ```
3058
+
3059
+ ### E2E scalar-list support
3060
+
3061
+ E2E SQLite scalar-list support is intentionally narrow in phase 1.
3062
+
3063
+ Supported:
3064
+
3065
+ ```ts
3066
+ {
3067
+ normalized_skills: {
3068
+ hasSome: ['typescript', 'react']
3069
+ }
3070
+ }
3071
+ ```
3072
+
3073
+ The E2E Prisma extension pre-resolves matching row IDs using SQLite `json_each`, then rewrites the query to:
3074
+
3075
+ ```ts
3076
+ {
3077
+ id: {
3078
+ in: [...]
3079
+ }
3080
+ }
3081
+ ```
3082
+
3083
+ This happens before the SQL extension compiles the Prisma query.
3084
+
3085
+ ### Extension chain
3086
+
3087
+ E2E Prisma client chain:
3088
+
3089
+ ```ts
3090
+ basePrisma
3091
+ .$extends(normalizedSkillsExtension())
3092
+ .$extends(guardExtension)
3093
+ .$extends(e2eListOpsExtension())
3094
+ .$extends(speed)
3095
+ ```
3096
+
3097
+ Guard extension remains in the chain, but generated routers do not pass guard shapes when `E2E=true`.
3098
+
3099
+ ### Phase 1 scope
3100
+
3101
+ Supported:
3102
+
3103
+ ```text
3104
+ hasSome only
3105
+ allowlisted JSON-backed scalar-list fields only
3106
+ top-level where
3107
+ AND / OR / NOT recursion
3108
+ findMany / findFirst / count / aggregate / groupBy / updateMany / deleteMany
3109
+ ```
3110
+
3111
+ Out of scope:
3112
+
3113
+ ```text
3114
+ has
3115
+ hasEvery
3116
+ isEmpty
3117
+ equals
3118
+ nested relation where
3119
+ include/select nested where
3120
+ _count.where
3121
+ findUnique
3122
+ update
3123
+ delete
3124
+ upsert
3125
+ null values inside hasSome input
3126
+ ```
3127
+
3128
+ Unsupported cases should fail loudly instead of being partially rewritten.
3129
+
3130
+ ### Why not regenerate guard from SQLite schema
3131
+
3132
+ Do not depend on SQLite-generated guard output for this path.
3133
+
3134
+ The SQLite schema is a derived test schema. It may intentionally erase Postgres-only field information such as scalar-list types. Guard correctness belongs to the production schema, not the SQLite test schema.
3135
+
3136
+ For phase 1, global E2E guard drop is simpler:
3137
+
3138
+ ```text
3139
+ production keeps guard
3140
+ E2E skips guard
3141
+ E2E list-op extension handles hasSome
3142
+ SQL extension receives normal id filters
3143
+ ```
3144
+
3145
+ ### Required implementation notes
3146
+
3147
+ Generated router code should compute:
3148
+
3149
+ ```ts
3150
+ const DROP_GUARD = ${dropGuard} || process.env.E2E === 'true'
3151
+ ```
3152
+
3153
+ Then only assign guard shape when guard is not dropped:
3154
+
3155
+ ```ts
3156
+ if (opConfig.shape && !DROP_GUARD) {
3157
+ locals.guardShape = opConfig.shape
3158
+ }
3159
+ ```
3160
+
3161
+ The same behavior should apply to all generated targets:
3162
+
3163
+ ```text
3164
+ Express
3165
+ Fastify
3166
+ Hono
3167
+ ```
3168
+
2994
3169
  ## Environment variables
2995
3170
 
2996
3171
  | Variable | Default | Description |
@@ -1,10 +1,44 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
5
38
  Object.defineProperty(exports, "__esModule", { value: true });
6
39
  exports.getRelativeClientPath = getRelativeClientPath;
7
40
  exports.getGuardShapesImport = getGuardShapesImport;
41
+ const fs = __importStar(require("fs"));
8
42
  const path_1 = __importDefault(require("path"));
9
43
  function findClientGenerator(options) {
10
44
  const byName = options.otherGenerators.find((gen) => gen.name === 'client');
@@ -54,6 +88,9 @@ function getGuardShapesImport(options, modelName) {
54
88
  const outputValue = options.generator.output?.value;
55
89
  if (!outputValue)
56
90
  return null;
91
+ const shapesFilePath = path_1.default.join(guard.output.value, 'shapes.ts');
92
+ if (!fs.existsSync(shapesFilePath))
93
+ return null;
57
94
  const fromDir = path_1.default.join(outputValue, modelName);
58
95
  const shapesPath = path_1.default.join(guard.output.value, 'shapes');
59
96
  return getRelativeImportPath(fromDir, shapesPath);
@@ -1 +1 @@
1
- {"version":3,"file":"generateImportPrismaStatement.js","sourceRoot":"","sources":["../../src/generators/generateImportPrismaStatement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateImportPrismaStatement.js","sourceRoot":"","sources":["../../src/generators/generateImportPrismaStatement.ts"],"names":[],"mappings":"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"}
@@ -173,19 +173,21 @@ export async function updateEach(
173
173
  }
174
174
  const items = body as Record<string, unknown>[]
175
175
  const client = ctx.prisma as PrismaClientLike
176
- const delegate = getDelegate(client, '${modelNameLower}')
177
176
 
178
177
  if (atomic) {
179
178
  if (typeof client.$transaction !== 'function') {
180
179
  throw new HttpError(500, 'Atomic updateEach requires transaction support on the Prisma client')
181
180
  }
182
- const ops = items.map((item) => delegate.update(item))
183
- const runArray = client.$transaction as unknown as (
184
- promises: unknown[],
185
- ) => Promise<unknown[]>
186
- return runArray(ops)
181
+ const runInteractive = client.$transaction as unknown as <T>(
182
+ fn: (tx: unknown) => Promise<T>,
183
+ ) => Promise<T>
184
+ return runInteractive(async (tx) => {
185
+ const txDelegate = getDelegate(tx, '${modelNameLower}')
186
+ return Promise.all(items.map((item) => txDelegate.update(item)))
187
+ })
187
188
  }
188
189
 
190
+ const delegate = getDelegate(client, '${modelNameLower}')
189
191
  const settled = await Promise.allSettled(
190
192
  items.map((item) => delegate.update(item)),
191
193
  )
@@ -1 +1 @@
1
- {"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":";;AAyEA,8CAuJC;AA9ND,kDAA8C;AAe9C,SAAS,aAAa,CACpB,IAAY,EACZ,aAAqB,EACrB,QAAuB;IAEvB,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;IAClD,CAAC;IACD,IAAI,QAAQ,KAAK,qBAAqB,EAAE,CAAC;QACvC,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;QAC1B,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;IAClD,CAAC;IACD,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;IACrF,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAA;IACrF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAA;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,cAAsB,EAAE,IAA2B;IAC9E,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,OAAO;;;;;;;0CAO+B,cAAc;;;;;;;;;;;;yBAY/B,CAAA;IACvB,CAAC;IAED,OAAO;4CACmC,cAAc;;;;;;;;;gBAS1C,CAAA;AAChB,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAyB;IACzD,MAAM,GAAG,GAAG,IAAA,qBAAS,EAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAA;IACpC,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC7E,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC3C,MAAM,aAAa,GAAG,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAExF,MAAM,eAAe,GAAG;QACtB,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB;QAClE,OAAO,EAAE,WAAW,EAAE,SAAS;KAChC,CAAA;IAED,MAAM,oBAAoB,GAAG,eAAe;SACzC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;wBACO,EAAE;;;4CAGkB,cAAc;;;6DAGG,EAAE;;oBAE3C,EAAE;EACpB,CAAC;SACE,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,MAAM,QAAQ,GAAG;QACf,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;QAC9D,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;QACtE,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE;QACxF,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QACvE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QAC/E,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,qBAAqB,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QACjG,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE;QACrE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE;QACvE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;KACpF,CAAA;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;QAEjE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO;wBACW,EAAE,CAAC,IAAI;8BACD,EAAE,CAAC,IAAI,kCAAkC,aAAa;EAClF,CAAA;QACE,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QAC9B,MAAM,eAAe,GAAG,EAAE,CAAC,cAAc;aACtC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,6BAA6B,KAAK,IAAI,CAAC;aACtD,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,OAAO;wBACa,EAAE,CAAC,IAAI;;EAE7B,eAAe;;4CAE2B,cAAc;;;6DAGG,MAAM;;oBAE/C,MAAM;EACxB,CAAA;IACA,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEb,OAAO;;;;;;;;;;;;6BAYoB,GAAG;;;;;;4CAMY,cAAc;;;;;;;EAOxD,oBAAoB;EACpB,aAAa;;;;;;;;;;;;;;;EAeb,aAAa;;;;;;;;;;;;;;;;;;;;0CAoB2B,cAAc;;;;;;;;;;;;;;;;;;;;;;CAsBvD,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"generateOperationCore.js","sourceRoot":"","sources":["../../src/generators/generateOperationCore.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,35 @@ exports.generateRouteConfigType = generateRouteConfigType;
4
4
  const importExt_1 = require("../utils/importExt");
5
5
  const strings_1 = require("../utils/strings");
6
6
  const ROUTER_OPERATIONS = [
7
- 'findUnique', 'findUniqueOrThrow', 'findFirst', 'findFirstOrThrow',
8
- 'findMany', 'findManyPaginated', 'count', 'aggregate', 'groupBy',
9
- 'create', 'createMany', 'createManyAndReturn',
10
- 'update', 'updateMany', 'updateManyAndReturn',
11
- 'upsert', 'delete', 'deleteMany',
7
+ 'findUnique',
8
+ 'findUniqueOrThrow',
9
+ 'findFirst',
10
+ 'findFirstOrThrow',
11
+ 'findMany',
12
+ 'findManyPaginated',
13
+ 'count',
14
+ 'aggregate',
15
+ 'groupBy',
16
+ 'create',
17
+ 'createMany',
18
+ 'createManyAndReturn',
19
+ 'update',
20
+ 'updateMany',
21
+ 'updateManyAndReturn',
22
+ 'upsert',
23
+ 'delete',
24
+ 'deleteMany',
12
25
  ];
13
26
  const READ_OPERATIONS = new Set([
14
- 'findUnique', 'findUniqueOrThrow', 'findFirst', 'findFirstOrThrow',
15
- 'findMany', 'findManyPaginated', 'count', 'aggregate', 'groupBy',
27
+ 'findUnique',
28
+ 'findUniqueOrThrow',
29
+ 'findFirst',
30
+ 'findFirstOrThrow',
31
+ 'findMany',
32
+ 'findManyPaginated',
33
+ 'count',
34
+ 'aggregate',
35
+ 'groupBy',
16
36
  ]);
17
37
  const ROUTER_OP_TO_SHAPE_OP = {
18
38
  findUnique: 'findUnique',
@@ -73,10 +93,13 @@ function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport,
73
93
  ? `import type { ProgressiveVariantConfig, ProgressiveStage } from '../routeConfig.target${ext}'\n`
74
94
  : '';
75
95
  if (!guardShapesImport) {
76
- return progressiveTypeImport + `export type ${m}RouteConfig${generics} = ${baseConfig}\n`;
96
+ return (progressiveTypeImport +
97
+ `export type ${m}RouteConfig${generics} = ${baseConfig}\n`);
77
98
  }
78
99
  const shapeOps = Object.values(ROUTER_OP_TO_SHAPE_OP).filter((v, i, a) => a.indexOf(v) === i);
79
- const opShapeImports = shapeOps.map((op) => `${m}${(0, strings_1.capitalize)(op)}ShapeInput`).join(',\n ');
100
+ const opShapeImports = shapeOps
101
+ .map((op) => `${m}${(0, strings_1.capitalize)(op)}ShapeInput`)
102
+ .join(',\n ');
80
103
  const overrides = ROUTER_OPERATIONS.map((routerOp) => {
81
104
  const shapeOp = ROUTER_OP_TO_SHAPE_OP[routerOp];
82
105
  const c = (0, strings_1.capitalize)(shapeOp);
@@ -86,6 +109,7 @@ function generateRouteConfigType(modelName, hookHandlerType, guardShapesImport,
86
109
  ` after?: ${hookRef}[]`,
87
110
  ` shape?: ${m}${c}ShapeInput<TCtx>`,
88
111
  ` pagination?: Partial<PaginationConfig>`,
112
+ ` dropGuard?: boolean`,
89
113
  ];
90
114
  if (isRead && supportsProgressive) {
91
115
  lines.push(` progressive?: Record<string, ProgressiveVariantConfig>`);
@@ -1 +1 @@
1
- {"version":3,"file":"generateRouteConfigType.js","sourceRoot":"","sources":["../../src/generators/generateRouteConfigType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateRouteConfigType.js","sourceRoot":"","sources":["../../src/generators/generateRouteConfigType.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { DMMF } from '@prisma/generator-helper';
2
2
  import { ImportStyle } from '../utils/resolveImportStyle';
3
3
  import { WriteStrategy, FindManyPaginatedMode } from '../constants';
4
- export declare function generateRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }: {
4
+ export declare function generateRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, }: {
5
5
  model: DMMF.Model;
6
6
  enums: DMMF.DatamodelEnum[];
7
7
  guardShapesImport: string | null;
8
8
  importStyle: ImportStyle;
9
9
  writeStrategy: WriteStrategy;
10
10
  findManyPaginatedMode: FindManyPaginatedMode;
11
+ dropGuard: boolean;
11
12
  }): string;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateRouterFunction = generateRouterFunction;
4
4
  const generateRouteConfigType_1 = require("./generateRouteConfigType");
5
5
  const importExt_1 = require("../utils/importExt");
6
- function generateRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }) {
6
+ function generateRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, }) {
7
7
  const ext = (0, importExt_1.importExt)(importStyle);
8
8
  const modelName = model.name;
9
9
  const modelNameLower = modelName.toLowerCase();
@@ -81,6 +81,7 @@ const _env = getEnv()
81
81
 
82
82
  const WRITE_STRATEGY: WriteStrategy = '${writeStrategy}'
83
83
  const FIND_MANY_PAGINATED_MODE: FindManyPaginatedMode = '${findManyPaginatedMode}'
84
+ const DROP_GUARD = ${dropGuard} || _env.E2E === 'true'
84
85
 
85
86
  const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
86
87
  const MODEL_ENUMS = ${JSON.stringify(enumsMeta, null, 2)} as const
@@ -217,7 +218,7 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
217
218
  const headerValue = req.get(headerName)
218
219
  const caller = config.guard?.resolveVariant?.(req) ?? headerValue ?? undefined
219
220
  if (caller) locals.guardCaller = caller
220
- if (opConfig.shape) locals.guardShape = opConfig.shape
221
+ if (opConfig.shape && !DROP_GUARD) locals.guardShape = opConfig.shape
221
222
  next()
222
223
  }
223
224
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateRouter.js","sourceRoot":"","sources":["../../src/generators/generateRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateRouter.js","sourceRoot":"","sources":["../../src/generators/generateRouter.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { DMMF } from '@prisma/generator-helper';
2
2
  import { ImportStyle } from '../utils/resolveImportStyle';
3
3
  import { WriteStrategy, FindManyPaginatedMode } from '../constants';
4
- export declare function generateFastifyRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }: {
4
+ export declare function generateFastifyRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, }: {
5
5
  model: DMMF.Model;
6
6
  enums: DMMF.DatamodelEnum[];
7
7
  guardShapesImport: string | null;
8
8
  importStyle: ImportStyle;
9
9
  writeStrategy: WriteStrategy;
10
10
  findManyPaginatedMode: FindManyPaginatedMode;
11
+ dropGuard: boolean;
11
12
  }): string;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateFastifyRouterFunction = generateFastifyRouterFunction;
4
4
  const generateRouteConfigType_1 = require("./generateRouteConfigType");
5
5
  const importExt_1 = require("../utils/importExt");
6
- function generateFastifyRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }) {
6
+ function generateFastifyRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, }) {
7
7
  const ext = (0, importExt_1.importExt)(importStyle);
8
8
  const modelName = model.name;
9
9
  const modelNameLower = modelName.toLowerCase();
@@ -65,6 +65,7 @@ const _env = getEnv()
65
65
 
66
66
  const WRITE_STRATEGY: WriteStrategy = '${writeStrategy}'
67
67
  const FIND_MANY_PAGINATED_MODE: FindManyPaginatedMode = '${findManyPaginatedMode}'
68
+ const DROP_GUARD = ${dropGuard} || _env.E2E === 'true'
68
69
 
69
70
  const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
70
71
 
@@ -140,7 +141,7 @@ function makeShapeHook(
140
141
  if (caller) {
141
142
  fx.guardCaller = caller
142
143
  }
143
- if (opConfig.shape) {
144
+ if (opConfig.shape && !DROP_GUARD) {
144
145
  fx.guardShape = opConfig.shape
145
146
  }
146
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateRouterFastify.js","sourceRoot":"","sources":["../../src/generators/generateRouterFastify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateRouterFastify.js","sourceRoot":"","sources":["../../src/generators/generateRouterFastify.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { DMMF } from '@prisma/generator-helper';
2
2
  import { ImportStyle } from '../utils/resolveImportStyle';
3
3
  import { WriteStrategy, FindManyPaginatedMode } from '../constants';
4
- export declare function generateHonoRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }: {
4
+ export declare function generateHonoRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, }: {
5
5
  model: DMMF.Model;
6
6
  enums: DMMF.DatamodelEnum[];
7
7
  guardShapesImport: string | null;
8
8
  importStyle: ImportStyle;
9
9
  writeStrategy: WriteStrategy;
10
10
  findManyPaginatedMode: FindManyPaginatedMode;
11
+ dropGuard: boolean;
11
12
  }): string;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateHonoRouterFunction = generateHonoRouterFunction;
4
4
  const generateRouteConfigType_1 = require("./generateRouteConfigType");
5
5
  const importExt_1 = require("../utils/importExt");
6
- function generateHonoRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, }) {
6
+ function generateHonoRouterFunction({ model, enums, guardShapesImport, importStyle, writeStrategy, findManyPaginatedMode, dropGuard, }) {
7
7
  const ext = (0, importExt_1.importExt)(importStyle);
8
8
  const modelName = model.name;
9
9
  const modelNameLower = modelName.toLowerCase();
@@ -76,6 +76,7 @@ const _env = getEnv()
76
76
 
77
77
  const WRITE_STRATEGY: WriteStrategy = '${writeStrategy}'
78
78
  const FIND_MANY_PAGINATED_MODE: FindManyPaginatedMode = '${findManyPaginatedMode}'
79
+ const DROP_GUARD = ${dropGuard} || _env.E2E === 'true'
79
80
 
80
81
  const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
81
82
 
@@ -155,7 +156,7 @@ function makeShapeMiddleware<TCtx, TPrisma, TEnv extends HonoEnvBase>(
155
156
  const headerValue = c.req.header(headerName)
156
157
  const caller = config.guard?.resolveVariant?.(c) ?? headerValue ?? undefined
157
158
  if (caller) c.set('guardCaller', caller)
158
- if (opConfig.shape) {
159
+ if (opConfig.shape && !DROP_GUARD) {
159
160
  c.set('guardShape', opConfig.shape)
160
161
  }
161
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateRouterHono.js","sourceRoot":"","sources":["../../src/generators/generateRouterHono.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateRouterHono.js","sourceRoot":"","sources":["../../src/generators/generateRouterHono.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -54,6 +54,17 @@ function getFindManyPaginatedMode(options) {
54
54
  return 'promiseAll';
55
55
  throw new Error(`Invalid findManyPaginatedMode "${raw}". Expected "transaction" or "promiseAll".`);
56
56
  }
57
+ function getDropGuard(options) {
58
+ const raw = options.generator.config.dropGuard;
59
+ if (raw === undefined || raw === null || raw === '')
60
+ return false;
61
+ const lower = String(raw).toLowerCase();
62
+ if (lower === 'true' || lower === '1')
63
+ return true;
64
+ if (lower === 'false' || lower === '0')
65
+ return false;
66
+ throw new Error(`Invalid dropGuard "${raw}". Expected "true" or "false".`);
67
+ }
57
68
  function validateClientGeneratorPresent(options) {
58
69
  (0, generateImportPrismaStatement_1.getRelativeClientPath)(options, options.dmmf.datamodel.models[0]?.name ?? 'Model');
59
70
  }
@@ -69,6 +80,7 @@ function validateClientGeneratorPresent(options) {
69
80
  const target = getTarget(options);
70
81
  const writeStrategy = getWriteStrategy(options);
71
82
  const findManyPaginatedMode = getFindManyPaginatedMode(options);
83
+ const dropGuard = getDropGuard(options);
72
84
  const manifestDefaultAbs = path_1.default.resolve(__dirname, '..', 'generated', target);
73
85
  const currentOutput = options.generator.output?.value;
74
86
  const isUnsetOrManifestDefault = !currentOutput || path_1.default.resolve(currentOutput) === manifestDefaultAbs;
@@ -84,6 +96,7 @@ function validateClientGeneratorPresent(options) {
84
96
  console.log(` Import style: ${importStyle}`);
85
97
  console.log(` Write strategy: ${writeStrategy}`);
86
98
  console.log(` findManyPaginated mode: ${findManyPaginatedMode}`);
99
+ console.log(` Drop guard: ${dropGuard}`);
87
100
  if (options.dmmf.datamodel.models.length > 0) {
88
101
  validateClientGeneratorPresent(options);
89
102
  }
@@ -101,7 +114,9 @@ function validateClientGeneratorPresent(options) {
101
114
  continue;
102
115
  }
103
116
  modelNames.push(model.name);
104
- const guardShapesImport = (0, generateImportPrismaStatement_1.getGuardShapesImport)(options, model.name);
117
+ const guardShapesImport = dropGuard
118
+ ? null
119
+ : (0, generateImportPrismaStatement_1.getGuardShapesImport)(options, model.name);
105
120
  await (0, writeFileSafely_1.writeFileSafely)({
106
121
  content: (0, generateOperationCore_1.generateModelCore)({
107
122
  model: model,
@@ -127,6 +142,7 @@ function validateClientGeneratorPresent(options) {
127
142
  importStyle,
128
143
  writeStrategy,
129
144
  findManyPaginatedMode,
145
+ dropGuard,
130
146
  })
131
147
  : target === 'hono'
132
148
  ? (0, generateRouterHono_1.generateHonoRouterFunction)({
@@ -136,6 +152,7 @@ function validateClientGeneratorPresent(options) {
136
152
  importStyle,
137
153
  writeStrategy,
138
154
  findManyPaginatedMode,
155
+ dropGuard,
139
156
  })
140
157
  : (0, generateRouter_1.generateRouterFunction)({
141
158
  model: model,
@@ -144,6 +161,7 @@ function validateClientGeneratorPresent(options) {
144
161
  importStyle,
145
162
  writeStrategy,
146
163
  findManyPaginatedMode,
164
+ dropGuard,
147
165
  });
148
166
  await (0, writeFileSafely_1.writeFileSafely)({
149
167
  content: routerContent,
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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"}
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.3",
4
+ "version": "1.57.0",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "MIT",
@@ -91,6 +91,7 @@ export interface BaseOperationConfig<HookHandler, TShape = Record<string, unknow
91
91
  before?: HookHandler[]
92
92
  after?: HookHandler[]
93
93
  shape?: TShape
94
+ dropGuard?: boolean
94
95
  pagination?: Partial<PaginationConfig>
95
96
  }
96
97
 
@@ -105,6 +106,7 @@ export interface BaseRouteConfig<
105
106
  customUrlPrefix?: string
106
107
  specBasePath?: string
107
108
  disableOpenApi?: boolean
109
+ dropGuard?: boolean
108
110
  disablePostReads?: boolean
109
111
  scalarCdnUrl?: string
110
112
  openApiTitle?: string
@@ -1,4 +1,5 @@
1
1
  import { GeneratorOptions } from '@prisma/generator-helper'
2
+ import * as fs from 'fs'
2
3
  import path from 'path'
3
4
 
4
5
  function findClientGenerator(options: GeneratorOptions) {
@@ -74,6 +75,9 @@ export function getGuardShapesImport(
74
75
  const outputValue = options.generator.output?.value
75
76
  if (!outputValue) return null
76
77
 
78
+ const shapesFilePath = path.join(guard.output.value, 'shapes.ts')
79
+ if (!fs.existsSync(shapesFilePath)) return null
80
+
77
81
  const fromDir = path.join(outputValue, modelName)
78
82
  const shapesPath = path.join(guard.output.value, 'shapes')
79
83
  return getRelativeImportPath(fromDir, shapesPath)
@@ -199,19 +199,21 @@ export async function updateEach(
199
199
  }
200
200
  const items = body as Record<string, unknown>[]
201
201
  const client = ctx.prisma as PrismaClientLike
202
- const delegate = getDelegate(client, '${modelNameLower}')
203
202
 
204
203
  if (atomic) {
205
204
  if (typeof client.$transaction !== 'function') {
206
205
  throw new HttpError(500, 'Atomic updateEach requires transaction support on the Prisma client')
207
206
  }
208
- const ops = items.map((item) => delegate.update(item))
209
- const runArray = client.$transaction as unknown as (
210
- promises: unknown[],
211
- ) => Promise<unknown[]>
212
- return runArray(ops)
207
+ const runInteractive = client.$transaction as unknown as <T>(
208
+ fn: (tx: unknown) => Promise<T>,
209
+ ) => Promise<T>
210
+ return runInteractive(async (tx) => {
211
+ const txDelegate = getDelegate(tx, '${modelNameLower}')
212
+ return Promise.all(items.map((item) => txDelegate.update(item)))
213
+ })
213
214
  }
214
215
 
216
+ const delegate = getDelegate(client, '${modelNameLower}')
215
217
  const settled = await Promise.allSettled(
216
218
  items.map((item) => delegate.update(item)),
217
219
  )
@@ -4,18 +4,38 @@ import type { Target } from '../constants'
4
4
  import { capitalize } from '../utils/strings'
5
5
 
6
6
  const ROUTER_OPERATIONS = [
7
- 'findUnique', 'findUniqueOrThrow', 'findFirst', 'findFirstOrThrow',
8
- 'findMany', 'findManyPaginated', 'count', 'aggregate', 'groupBy',
9
- 'create', 'createMany', 'createManyAndReturn',
10
- 'update', 'updateMany', 'updateManyAndReturn',
11
- 'upsert', 'delete', 'deleteMany',
7
+ 'findUnique',
8
+ 'findUniqueOrThrow',
9
+ 'findFirst',
10
+ 'findFirstOrThrow',
11
+ 'findMany',
12
+ 'findManyPaginated',
13
+ 'count',
14
+ 'aggregate',
15
+ 'groupBy',
16
+ 'create',
17
+ 'createMany',
18
+ 'createManyAndReturn',
19
+ 'update',
20
+ 'updateMany',
21
+ 'updateManyAndReturn',
22
+ 'upsert',
23
+ 'delete',
24
+ 'deleteMany',
12
25
  ] as const
13
26
 
14
27
  type RouterOperation = (typeof ROUTER_OPERATIONS)[number]
15
28
 
16
29
  const READ_OPERATIONS: ReadonlySet<RouterOperation> = new Set<RouterOperation>([
17
- 'findUnique', 'findUniqueOrThrow', 'findFirst', 'findFirstOrThrow',
18
- 'findMany', 'findManyPaginated', 'count', 'aggregate', 'groupBy',
30
+ 'findUnique',
31
+ 'findUniqueOrThrow',
32
+ 'findFirst',
33
+ 'findFirstOrThrow',
34
+ 'findMany',
35
+ 'findManyPaginated',
36
+ 'count',
37
+ 'aggregate',
38
+ 'groupBy',
19
39
  ])
20
40
 
21
41
  const ROUTER_OP_TO_SHAPE_OP: Record<RouterOperation, string> = {
@@ -88,11 +108,18 @@ export function generateRouteConfigType(
88
108
  : ''
89
109
 
90
110
  if (!guardShapesImport) {
91
- return progressiveTypeImport + `export type ${m}RouteConfig${generics} = ${baseConfig}\n`
111
+ return (
112
+ progressiveTypeImport +
113
+ `export type ${m}RouteConfig${generics} = ${baseConfig}\n`
114
+ )
92
115
  }
93
116
 
94
- const shapeOps = Object.values(ROUTER_OP_TO_SHAPE_OP).filter((v, i, a) => a.indexOf(v) === i)
95
- const opShapeImports = shapeOps.map((op) => `${m}${capitalize(op)}ShapeInput`).join(',\n ')
117
+ const shapeOps = Object.values(ROUTER_OP_TO_SHAPE_OP).filter(
118
+ (v, i, a) => a.indexOf(v) === i,
119
+ )
120
+ const opShapeImports = shapeOps
121
+ .map((op) => `${m}${capitalize(op)}ShapeInput`)
122
+ .join(',\n ')
96
123
 
97
124
  const overrides = ROUTER_OPERATIONS.map((routerOp) => {
98
125
  const shapeOp = ROUTER_OP_TO_SHAPE_OP[routerOp]
@@ -103,10 +130,13 @@ export function generateRouteConfigType(
103
130
  ` after?: ${hookRef}[]`,
104
131
  ` shape?: ${m}${c}ShapeInput<TCtx>`,
105
132
  ` pagination?: Partial<PaginationConfig>`,
133
+ ` dropGuard?: boolean`,
106
134
  ]
107
135
  if (isRead && supportsProgressive) {
108
136
  lines.push(` progressive?: Record<string, ProgressiveVariantConfig>`)
109
- lines.push(` progressiveStages?: Record<string, ProgressiveStage<TCtx, TPrisma>>`)
137
+ lines.push(
138
+ ` progressiveStages?: Record<string, ProgressiveStage<TCtx, TPrisma>>`,
139
+ )
110
140
  }
111
141
  return ` ${routerOp}?: {\n${lines.join('\n')}\n }`
112
142
  }).join('\n')
@@ -124,4 +154,4 @@ export function generateRouteConfigType(
124
154
  ` resolveContext?: (request: ${requestType}) => TCtx | Promise<TCtx>\n` +
125
155
  `${overrides}\n}\n`
126
156
  )
127
- }
157
+ }
@@ -11,6 +11,7 @@ export function generateRouterFunction({
11
11
  importStyle,
12
12
  writeStrategy,
13
13
  findManyPaginatedMode,
14
+ dropGuard,
14
15
  }: {
15
16
  model: DMMF.Model
16
17
  enums: DMMF.DatamodelEnum[]
@@ -18,6 +19,7 @@ export function generateRouterFunction({
18
19
  importStyle: ImportStyle
19
20
  writeStrategy: WriteStrategy
20
21
  findManyPaginatedMode: FindManyPaginatedMode
22
+ dropGuard: boolean
21
23
  }): string {
22
24
  const ext = importExt(importStyle)
23
25
  const modelName = model.name
@@ -102,6 +104,7 @@ const _env = getEnv()
102
104
 
103
105
  const WRITE_STRATEGY: WriteStrategy = '${writeStrategy}'
104
106
  const FIND_MANY_PAGINATED_MODE: FindManyPaginatedMode = '${findManyPaginatedMode}'
107
+ const DROP_GUARD = ${dropGuard} || _env.E2E === 'true'
105
108
 
106
109
  const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
107
110
  const MODEL_ENUMS = ${JSON.stringify(enumsMeta, null, 2)} as const
@@ -238,7 +241,7 @@ export function ${routerFunctionName}<TCtx = unknown, TPrisma = any>(config: ${m
238
241
  const headerValue = req.get(headerName)
239
242
  const caller = config.guard?.resolveVariant?.(req) ?? headerValue ?? undefined
240
243
  if (caller) locals.guardCaller = caller
241
- if (opConfig.shape) locals.guardShape = opConfig.shape
244
+ if (opConfig.shape && !DROP_GUARD) locals.guardShape = opConfig.shape
242
245
  next()
243
246
  }
244
247
  }
@@ -11,6 +11,7 @@ export function generateFastifyRouterFunction({
11
11
  importStyle,
12
12
  writeStrategy,
13
13
  findManyPaginatedMode,
14
+ dropGuard,
14
15
  }: {
15
16
  model: DMMF.Model
16
17
  enums: DMMF.DatamodelEnum[]
@@ -18,6 +19,7 @@ export function generateFastifyRouterFunction({
18
19
  importStyle: ImportStyle
19
20
  writeStrategy: WriteStrategy
20
21
  findManyPaginatedMode: FindManyPaginatedMode
22
+ dropGuard: boolean
21
23
  }): string {
22
24
  const ext = importExt(importStyle)
23
25
  const modelName = model.name
@@ -86,6 +88,7 @@ const _env = getEnv()
86
88
 
87
89
  const WRITE_STRATEGY: WriteStrategy = '${writeStrategy}'
88
90
  const FIND_MANY_PAGINATED_MODE: FindManyPaginatedMode = '${findManyPaginatedMode}'
91
+ const DROP_GUARD = ${dropGuard} || _env.E2E === 'true'
89
92
 
90
93
  const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
91
94
 
@@ -161,7 +164,7 @@ function makeShapeHook(
161
164
  if (caller) {
162
165
  fx.guardCaller = caller
163
166
  }
164
- if (opConfig.shape) {
167
+ if (opConfig.shape && !DROP_GUARD) {
165
168
  fx.guardShape = opConfig.shape
166
169
  }
167
170
  }
@@ -11,6 +11,7 @@ export function generateHonoRouterFunction({
11
11
  importStyle,
12
12
  writeStrategy,
13
13
  findManyPaginatedMode,
14
+ dropGuard,
14
15
  }: {
15
16
  model: DMMF.Model
16
17
  enums: DMMF.DatamodelEnum[]
@@ -18,6 +19,7 @@ export function generateHonoRouterFunction({
18
19
  importStyle: ImportStyle
19
20
  writeStrategy: WriteStrategy
20
21
  findManyPaginatedMode: FindManyPaginatedMode
22
+ dropGuard: boolean
21
23
  }): string {
22
24
  const ext = importExt(importStyle)
23
25
  const modelName = model.name
@@ -97,6 +99,7 @@ const _env = getEnv()
97
99
 
98
100
  const WRITE_STRATEGY: WriteStrategy = '${writeStrategy}'
99
101
  const FIND_MANY_PAGINATED_MODE: FindManyPaginatedMode = '${findManyPaginatedMode}'
102
+ const DROP_GUARD = ${dropGuard} || _env.E2E === 'true'
100
103
 
101
104
  const MODEL_FIELDS = ${JSON.stringify(fieldsMeta, null, 2)} as const
102
105
 
@@ -176,7 +179,7 @@ function makeShapeMiddleware<TCtx, TPrisma, TEnv extends HonoEnvBase>(
176
179
  const headerValue = c.req.header(headerName)
177
180
  const caller = config.guard?.resolveVariant?.(c) ?? headerValue ?? undefined
178
181
  if (caller) c.set('guardCaller', caller)
179
- if (opConfig.shape) {
182
+ if (opConfig.shape && !DROP_GUARD) {
180
183
  c.set('guardShape', opConfig.shape)
181
184
  }
182
185
  }
package/src/index.ts CHANGED
@@ -79,6 +79,17 @@ function getFindManyPaginatedMode(
79
79
  )
80
80
  }
81
81
 
82
+ function getDropGuard(options: GeneratorOptions): boolean {
83
+ const raw = (options.generator.config as Record<string, unknown>).dropGuard
84
+ if (raw === undefined || raw === null || raw === '') return false
85
+ const lower = String(raw).toLowerCase()
86
+ if (lower === 'true' || lower === '1') return true
87
+ if (lower === 'false' || lower === '0') return false
88
+ throw new Error(
89
+ `Invalid dropGuard "${raw}". Expected "true" or "false".`,
90
+ )
91
+ }
92
+
82
93
  function validateClientGeneratorPresent(options: GeneratorOptions): void {
83
94
  getRelativeClientPath(
84
95
  options,
@@ -99,6 +110,7 @@ generatorHandler({
99
110
  const target = getTarget(options)
100
111
  const writeStrategy = getWriteStrategy(options)
101
112
  const findManyPaginatedMode = getFindManyPaginatedMode(options)
113
+ const dropGuard = getDropGuard(options)
102
114
 
103
115
  const manifestDefaultAbs = path.resolve(
104
116
  __dirname,
@@ -124,6 +136,7 @@ generatorHandler({
124
136
  console.log(` Import style: ${importStyle}`)
125
137
  console.log(` Write strategy: ${writeStrategy}`)
126
138
  console.log(` findManyPaginated mode: ${findManyPaginatedMode}`)
139
+ console.log(` Drop guard: ${dropGuard}`)
127
140
 
128
141
  if (options.dmmf.datamodel.models.length > 0) {
129
142
  validateClientGeneratorPresent(options)
@@ -151,7 +164,9 @@ generatorHandler({
151
164
  }
152
165
  modelNames.push(model.name)
153
166
 
154
- const guardShapesImport = getGuardShapesImport(options, model.name)
167
+ const guardShapesImport = dropGuard
168
+ ? null
169
+ : getGuardShapesImport(options, model.name)
155
170
 
156
171
  await writeFileSafely({
157
172
  content: generateModelCore({
@@ -181,6 +196,7 @@ generatorHandler({
181
196
  importStyle,
182
197
  writeStrategy,
183
198
  findManyPaginatedMode,
199
+ dropGuard,
184
200
  })
185
201
  : target === 'hono'
186
202
  ? generateHonoRouterFunction({
@@ -190,6 +206,7 @@ generatorHandler({
190
206
  importStyle,
191
207
  writeStrategy,
192
208
  findManyPaginatedMode,
209
+ dropGuard,
193
210
  })
194
211
  : generateRouterFunction({
195
212
  model: model as DMMF.Model,
@@ -198,6 +215,7 @@ generatorHandler({
198
215
  importStyle,
199
216
  writeStrategy,
200
217
  findManyPaginatedMode,
218
+ dropGuard,
201
219
  })
202
220
 
203
221
  await writeFileSafely({
@@ -258,4 +276,4 @@ generatorHandler({
258
276
  console.log(`✓ ${modelNames.length} models (${target})`)
259
277
  console.log('')
260
278
  },
261
- })
279
+ })