@prisma/config 6.20.0-integration-merge-release-workflows.2 → 6.20.0-integration-feat-prisma-7-config.2
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.d.ts +31 -276
- package/dist/index.js +73 -314
- package/package.json +4 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { Schema } from 'effect';
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* An interface that exposes some basic information about the
|
|
5
3
|
* adapter like its name and provider type.
|
|
@@ -87,6 +85,15 @@ declare type ConnectionInfo = {
|
|
|
87
85
|
supportsRelationJoins: boolean;
|
|
88
86
|
};
|
|
89
87
|
|
|
88
|
+
export declare type Datasource = {
|
|
89
|
+
url: string;
|
|
90
|
+
/**
|
|
91
|
+
* @deprecated
|
|
92
|
+
*/
|
|
93
|
+
directUrl?: string;
|
|
94
|
+
shadowDatabaseUrl?: string;
|
|
95
|
+
};
|
|
96
|
+
|
|
90
97
|
/**
|
|
91
98
|
* This default config can be used as basis for unit and integration tests.
|
|
92
99
|
*/
|
|
@@ -119,34 +126,7 @@ declare type EnumsConfigShape = {
|
|
|
119
126
|
|
|
120
127
|
export declare function env<Env extends Record<string, string | undefined>>(name: keyof Env & string): string;
|
|
121
128
|
|
|
122
|
-
declare type Error_2 = MappedError & {
|
|
123
|
-
originalCode?: string;
|
|
124
|
-
originalMessage?: string;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
declare type ErrorCapturingFunction<T> = T extends (...args: infer A) => Promise<infer R> ? (...args: A) => Promise<Result<ErrorCapturingInterface<R>>> : T extends (...args: infer A) => infer R ? (...args: A) => Result<ErrorCapturingInterface<R>> : T;
|
|
128
|
-
|
|
129
|
-
declare type ErrorCapturingInterface<T> = {
|
|
130
|
-
[K in keyof T]: ErrorCapturingFunction<T[K]>;
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
declare interface ErrorCapturingSqlMigrationAwareDriverAdapterFactory extends ErrorCapturingInterface<SqlMigrationAwareDriverAdapterFactory> {
|
|
134
|
-
readonly errorRegistry: ErrorRegistry;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
declare type ErrorRecord = {
|
|
138
|
-
error: unknown;
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
declare interface ErrorRegistry {
|
|
142
|
-
consumeError(id: number): ErrorRecord | undefined;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
129
|
declare type ExperimentalConfig = {
|
|
146
|
-
/**
|
|
147
|
-
* Enable experimental adapter support.
|
|
148
|
-
*/
|
|
149
|
-
adapter?: boolean;
|
|
150
130
|
/**
|
|
151
131
|
* Enable experimental Prisma Studio features.
|
|
152
132
|
*/
|
|
@@ -204,130 +184,6 @@ declare type LoadConfigFromFileInput = {
|
|
|
204
184
|
configRoot?: string;
|
|
205
185
|
};
|
|
206
186
|
|
|
207
|
-
/**
|
|
208
|
-
* User's Prisma configuration should live in `prisma.config.ts` instead of `package.json#prisma`.
|
|
209
|
-
* See: https://pris.ly/prisma-config.
|
|
210
|
-
*
|
|
211
|
-
* This function returns `null` if no `package.json` is found, or if the `prisma` property is not defined therein.
|
|
212
|
-
*
|
|
213
|
-
* TODO: remove in Prisma 7.
|
|
214
|
-
* @deprecated
|
|
215
|
-
*/
|
|
216
|
-
export declare function loadConfigFromPackageJson(cwd?: string): Promise<{
|
|
217
|
-
config: PrismaConfigPackageJson;
|
|
218
|
-
loadedFromFile: string;
|
|
219
|
-
} | null>;
|
|
220
|
-
|
|
221
|
-
declare type MappedError = {
|
|
222
|
-
kind: 'GenericJs';
|
|
223
|
-
id: number;
|
|
224
|
-
} | {
|
|
225
|
-
kind: 'UnsupportedNativeDataType';
|
|
226
|
-
type: string;
|
|
227
|
-
} | {
|
|
228
|
-
kind: 'InvalidIsolationLevel';
|
|
229
|
-
level: string;
|
|
230
|
-
} | {
|
|
231
|
-
kind: 'LengthMismatch';
|
|
232
|
-
column?: string;
|
|
233
|
-
} | {
|
|
234
|
-
kind: 'UniqueConstraintViolation';
|
|
235
|
-
constraint?: {
|
|
236
|
-
fields: string[];
|
|
237
|
-
} | {
|
|
238
|
-
index: string;
|
|
239
|
-
} | {
|
|
240
|
-
foreignKey: {};
|
|
241
|
-
};
|
|
242
|
-
} | {
|
|
243
|
-
kind: 'NullConstraintViolation';
|
|
244
|
-
constraint?: {
|
|
245
|
-
fields: string[];
|
|
246
|
-
} | {
|
|
247
|
-
index: string;
|
|
248
|
-
} | {
|
|
249
|
-
foreignKey: {};
|
|
250
|
-
};
|
|
251
|
-
} | {
|
|
252
|
-
kind: 'ForeignKeyConstraintViolation';
|
|
253
|
-
constraint?: {
|
|
254
|
-
fields: string[];
|
|
255
|
-
} | {
|
|
256
|
-
index: string;
|
|
257
|
-
} | {
|
|
258
|
-
foreignKey: {};
|
|
259
|
-
};
|
|
260
|
-
} | {
|
|
261
|
-
kind: 'DatabaseNotReachable';
|
|
262
|
-
host?: string;
|
|
263
|
-
port?: number;
|
|
264
|
-
} | {
|
|
265
|
-
kind: 'DatabaseDoesNotExist';
|
|
266
|
-
db?: string;
|
|
267
|
-
} | {
|
|
268
|
-
kind: 'DatabaseAlreadyExists';
|
|
269
|
-
db?: string;
|
|
270
|
-
} | {
|
|
271
|
-
kind: 'DatabaseAccessDenied';
|
|
272
|
-
db?: string;
|
|
273
|
-
} | {
|
|
274
|
-
kind: 'ConnectionClosed';
|
|
275
|
-
} | {
|
|
276
|
-
kind: 'TlsConnectionError';
|
|
277
|
-
reason: string;
|
|
278
|
-
} | {
|
|
279
|
-
kind: 'AuthenticationFailed';
|
|
280
|
-
user?: string;
|
|
281
|
-
} | {
|
|
282
|
-
kind: 'TransactionWriteConflict';
|
|
283
|
-
} | {
|
|
284
|
-
kind: 'TableDoesNotExist';
|
|
285
|
-
table?: string;
|
|
286
|
-
} | {
|
|
287
|
-
kind: 'ColumnNotFound';
|
|
288
|
-
column?: string;
|
|
289
|
-
} | {
|
|
290
|
-
kind: 'TooManyConnections';
|
|
291
|
-
cause: string;
|
|
292
|
-
} | {
|
|
293
|
-
kind: 'ValueOutOfRange';
|
|
294
|
-
cause: string;
|
|
295
|
-
} | {
|
|
296
|
-
kind: 'MissingFullTextSearchIndex';
|
|
297
|
-
} | {
|
|
298
|
-
kind: 'SocketTimeout';
|
|
299
|
-
} | {
|
|
300
|
-
kind: 'InconsistentColumnData';
|
|
301
|
-
cause: string;
|
|
302
|
-
} | {
|
|
303
|
-
kind: 'TransactionAlreadyClosed';
|
|
304
|
-
cause: string;
|
|
305
|
-
} | {
|
|
306
|
-
kind: 'postgres';
|
|
307
|
-
code: string;
|
|
308
|
-
severity: string;
|
|
309
|
-
message: string;
|
|
310
|
-
detail: string | undefined;
|
|
311
|
-
column: string | undefined;
|
|
312
|
-
hint: string | undefined;
|
|
313
|
-
} | {
|
|
314
|
-
kind: 'mysql';
|
|
315
|
-
code: number;
|
|
316
|
-
message: string;
|
|
317
|
-
state: string;
|
|
318
|
-
} | {
|
|
319
|
-
kind: 'sqlite';
|
|
320
|
-
/**
|
|
321
|
-
* Sqlite extended error code: https://www.sqlite.org/rescode.html
|
|
322
|
-
*/
|
|
323
|
-
extendedCode: number;
|
|
324
|
-
message: string;
|
|
325
|
-
} | {
|
|
326
|
-
kind: 'mssql';
|
|
327
|
-
code: number;
|
|
328
|
-
message: string;
|
|
329
|
-
};
|
|
330
|
-
|
|
331
187
|
declare type MigrationsConfigShape = {
|
|
332
188
|
/**
|
|
333
189
|
* The path to the directory where Prisma should store migration files, and look for them.
|
|
@@ -352,70 +208,11 @@ declare const PRISMA_CONFIG_INTERNAL_BRAND: unique symbol;
|
|
|
352
208
|
* The configuration for the Prisma Development Kit, before it is passed to the `defineConfig` function.
|
|
353
209
|
* Thanks to the branding, this type is opaque and cannot be constructed directly.
|
|
354
210
|
*/
|
|
355
|
-
export declare type PrismaConfig =
|
|
356
|
-
|
|
357
|
-
export declare class PrismaConfigEnvError extends Error {
|
|
358
|
-
constructor(name: string);
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
* The configuration for the Prisma Development Kit, after it has been parsed and processed
|
|
363
|
-
* by the `defineConfig` function.
|
|
364
|
-
* Thanks to the branding, this type is opaque and cannot be constructed directly.
|
|
365
|
-
*/
|
|
366
|
-
export declare type PrismaConfigInternal = _PrismaConfigInternal & {
|
|
367
|
-
__brand: typeof PRISMA_CONFIG_INTERNAL_BRAND;
|
|
368
|
-
};
|
|
369
|
-
|
|
370
|
-
declare type _PrismaConfigInternal = Omit<PrismaConfig, 'engine' | 'datasource' | 'adapter'> & {
|
|
371
|
-
loadedFromFile: string | null;
|
|
211
|
+
export declare type PrismaConfig = {
|
|
372
212
|
/**
|
|
373
|
-
* The
|
|
374
|
-
* This is set to `null` if no `package.json#prisma` config was found.
|
|
375
|
-
* The configuration read from the Prisma config file (e.g., `prisma.config.ts`) takes precedence over
|
|
376
|
-
* this `package.json#prisma` config.
|
|
377
|
-
* @deprecated
|
|
213
|
+
* The datasource URL configuration for the database connection.
|
|
378
214
|
*/
|
|
379
|
-
|
|
380
|
-
/**
|
|
381
|
-
* The Prisma configuration from `package.json#prisma`.
|
|
382
|
-
* @deprecated
|
|
383
|
-
*/
|
|
384
|
-
config: PrismaConfigPackageJson;
|
|
385
|
-
/**
|
|
386
|
-
* The path from where the `package.json` config was loaded.
|
|
387
|
-
* @deprecated
|
|
388
|
-
*/
|
|
389
|
-
loadedFromFile: string;
|
|
390
|
-
} | null;
|
|
391
|
-
} & ({
|
|
392
|
-
engine: 'classic';
|
|
393
|
-
datasource: {
|
|
394
|
-
url: string;
|
|
395
|
-
shadowDatabaseUrl?: string;
|
|
396
|
-
};
|
|
397
|
-
} | {
|
|
398
|
-
engine: 'js';
|
|
399
|
-
adapter: () => Promise<ErrorCapturingSqlMigrationAwareDriverAdapterFactory>;
|
|
400
|
-
} | {
|
|
401
|
-
engine?: never;
|
|
402
|
-
});
|
|
403
|
-
|
|
404
|
-
/**
|
|
405
|
-
* Example:
|
|
406
|
-
* ```json
|
|
407
|
-
* {
|
|
408
|
-
* "schema": "./prisma/schema.prisma",
|
|
409
|
-
* "seed": "tsx ./prisma/seed.ts"
|
|
410
|
-
* }
|
|
411
|
-
* ```
|
|
412
|
-
*/
|
|
413
|
-
declare type PrismaConfigPackageJson = {
|
|
414
|
-
schema?: string;
|
|
415
|
-
seed?: string;
|
|
416
|
-
};
|
|
417
|
-
|
|
418
|
-
declare type PrismaConfigUnconditional = {
|
|
215
|
+
datasource: Simplify<Datasource>;
|
|
419
216
|
/**
|
|
420
217
|
* Experimental feature gates. Each experimental feature must be explicitly enabled.
|
|
421
218
|
*/
|
|
@@ -450,6 +247,23 @@ declare type PrismaConfigUnconditional = {
|
|
|
450
247
|
typedSql?: Simplify<TypedSqlConfigShape>;
|
|
451
248
|
};
|
|
452
249
|
|
|
250
|
+
export declare class PrismaConfigEnvError extends Error {
|
|
251
|
+
constructor(name: string);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* The configuration for the Prisma Development Kit, after it has been parsed and processed
|
|
256
|
+
* by the `defineConfig` function.
|
|
257
|
+
* Thanks to the branding, this type is opaque and cannot be constructed directly.
|
|
258
|
+
*/
|
|
259
|
+
export declare type PrismaConfigInternal = _PrismaConfigInternal & {
|
|
260
|
+
__brand: typeof PRISMA_CONFIG_INTERNAL_BRAND;
|
|
261
|
+
};
|
|
262
|
+
|
|
263
|
+
declare type _PrismaConfigInternal = PrismaConfig & {
|
|
264
|
+
loadedFromFile: string | null;
|
|
265
|
+
};
|
|
266
|
+
|
|
453
267
|
declare type PrismaStudioConfigShape = {
|
|
454
268
|
adapter: () => Promise<SqlMigrationAwareDriverAdapterFactory>;
|
|
455
269
|
};
|
|
@@ -467,69 +281,10 @@ declare interface Queryable<Query, Result> extends AdapterInfo {
|
|
|
467
281
|
executeRaw(params: Query): Promise<number>;
|
|
468
282
|
}
|
|
469
283
|
|
|
470
|
-
declare type
|
|
471
|
-
|
|
472
|
-
flatMap<U>(fn: (value: T) => Result<U>): Result<U>;
|
|
473
|
-
} & ({
|
|
474
|
-
readonly ok: true;
|
|
475
|
-
readonly value: T;
|
|
476
|
-
} | {
|
|
477
|
-
readonly ok: false;
|
|
478
|
-
readonly error: Error_2;
|
|
479
|
-
});
|
|
480
|
-
|
|
481
|
-
declare type SchemaEngineConfig = SchemaEngineConfigJs | SchemaEngineConfigClassic | SchemaEngineConfigAbsent;
|
|
482
|
-
|
|
483
|
-
declare type SchemaEngineConfigAbsent = {
|
|
484
|
-
engine?: never;
|
|
485
|
-
};
|
|
486
|
-
|
|
487
|
-
declare type SchemaEngineConfigClassic = {
|
|
488
|
-
/**
|
|
489
|
-
* Uses the "old classic" Schema Engine binary
|
|
490
|
-
*/
|
|
491
|
-
engine: 'classic';
|
|
492
|
-
/**
|
|
493
|
-
* The database connection configuration, which overwrites the `datasource` block's `url`-like attributes in the Prisma schema file.
|
|
494
|
-
*/
|
|
495
|
-
datasource: SchemaEngineConfigClassicDatasource;
|
|
496
|
-
};
|
|
497
|
-
|
|
498
|
-
export declare type SchemaEngineConfigClassicDatasource = {
|
|
499
|
-
url: string;
|
|
500
|
-
directUrl?: string;
|
|
501
|
-
shadowDatabaseUrl?: string;
|
|
284
|
+
export declare type SchemaEngineConfigInternal = {
|
|
285
|
+
datasource: Datasource;
|
|
502
286
|
};
|
|
503
287
|
|
|
504
|
-
export declare type SchemaEngineConfigInternal = SchemaEngineConfigJsInternal | SchemaEngineConfigClassic | SchemaEngineConfigAbsent;
|
|
505
|
-
|
|
506
|
-
declare type SchemaEngineConfigJs = {
|
|
507
|
-
/**
|
|
508
|
-
* Uses the new, unstable JavaScript based Schema Engine.
|
|
509
|
-
*/
|
|
510
|
-
engine: 'js';
|
|
511
|
-
/**
|
|
512
|
-
* The function that instantiates the driver adapter to use for the JavaScript based Schema Engine.
|
|
513
|
-
*/
|
|
514
|
-
adapter: () => Promise<SqlMigrationAwareDriverAdapterFactory>;
|
|
515
|
-
};
|
|
516
|
-
|
|
517
|
-
declare type SchemaEngineConfigJsInternal = {
|
|
518
|
-
/**
|
|
519
|
-
* Uses the new, unstable JavaScript based Schema Engine.
|
|
520
|
-
*/
|
|
521
|
-
engine: 'js';
|
|
522
|
-
/**
|
|
523
|
-
* The function that instantiates the driver adapter to use for the JavaScript based Schema Engine.
|
|
524
|
-
*/
|
|
525
|
-
adapter: () => Promise<ErrorCapturingSqlMigrationAwareDriverAdapterFactory>;
|
|
526
|
-
};
|
|
527
|
-
|
|
528
|
-
declare const SchemaEngineConfigJsInternal: Schema.Struct<{
|
|
529
|
-
engine: Schema.Literal<["js"]>;
|
|
530
|
-
adapter: Schema.declare<() => Promise<ErrorCapturingSqlMigrationAwareDriverAdapterFactory>, () => Promise<ErrorCapturingSqlMigrationAwareDriverAdapterFactory>, readonly [], never>;
|
|
531
|
-
}>;
|
|
532
|
-
|
|
533
288
|
/**
|
|
534
289
|
* Simplifies the type signature of a type.
|
|
535
290
|
* Re-exported from `effect/Types`.
|
package/dist/index.js
CHANGED
|
@@ -34,8 +34,7 @@ __export(index_exports, {
|
|
|
34
34
|
defaultTestConfig: () => defaultTestConfig,
|
|
35
35
|
defineConfig: () => defineConfig,
|
|
36
36
|
env: () => env,
|
|
37
|
-
loadConfigFromFile: () => loadConfigFromFile
|
|
38
|
-
loadConfigFromPackageJson: () => loadConfigFromPackageJson
|
|
37
|
+
loadConfigFromFile: () => loadConfigFromFile
|
|
39
38
|
});
|
|
40
39
|
module.exports = __toCommonJS(index_exports);
|
|
41
40
|
|
|
@@ -226,129 +225,7 @@ function safeStringify(value, indent = 2) {
|
|
|
226
225
|
}
|
|
227
226
|
|
|
228
227
|
// ../driver-adapter-utils/dist/index.mjs
|
|
229
|
-
function isDriverAdapterError(error) {
|
|
230
|
-
return error["name"] === "DriverAdapterError" && typeof error["cause"] === "object";
|
|
231
|
-
}
|
|
232
|
-
function ok(value) {
|
|
233
|
-
return {
|
|
234
|
-
ok: true,
|
|
235
|
-
value,
|
|
236
|
-
map(fn) {
|
|
237
|
-
return ok(fn(value));
|
|
238
|
-
},
|
|
239
|
-
flatMap(fn) {
|
|
240
|
-
return fn(value);
|
|
241
|
-
}
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
function err(error) {
|
|
245
|
-
return {
|
|
246
|
-
ok: false,
|
|
247
|
-
error,
|
|
248
|
-
map() {
|
|
249
|
-
return err(error);
|
|
250
|
-
},
|
|
251
|
-
flatMap() {
|
|
252
|
-
return err(error);
|
|
253
|
-
}
|
|
254
|
-
};
|
|
255
|
-
}
|
|
256
228
|
var debug = Debug("driver-adapter-utils");
|
|
257
|
-
var ErrorRegistryInternal = class {
|
|
258
|
-
registeredErrors = [];
|
|
259
|
-
consumeError(id) {
|
|
260
|
-
return this.registeredErrors[id];
|
|
261
|
-
}
|
|
262
|
-
registerNewError(error) {
|
|
263
|
-
let i = 0;
|
|
264
|
-
while (this.registeredErrors[i] !== void 0) {
|
|
265
|
-
i++;
|
|
266
|
-
}
|
|
267
|
-
this.registeredErrors[i] = { error };
|
|
268
|
-
return i;
|
|
269
|
-
}
|
|
270
|
-
};
|
|
271
|
-
function copySymbolsFromSource(source, target) {
|
|
272
|
-
const symbols = Object.getOwnPropertySymbols(source);
|
|
273
|
-
const symbolObject = Object.fromEntries(symbols.map((symbol) => [symbol, true]));
|
|
274
|
-
Object.assign(target, symbolObject);
|
|
275
|
-
}
|
|
276
|
-
var bindMigrationAwareSqlAdapterFactory = (adapterFactory) => {
|
|
277
|
-
const errorRegistry = new ErrorRegistryInternal();
|
|
278
|
-
const boundFactory = {
|
|
279
|
-
adapterName: adapterFactory.adapterName,
|
|
280
|
-
provider: adapterFactory.provider,
|
|
281
|
-
errorRegistry,
|
|
282
|
-
connect: async (...args) => {
|
|
283
|
-
const ctx = await wrapAsync(errorRegistry, adapterFactory.connect.bind(adapterFactory))(...args);
|
|
284
|
-
return ctx.map((ctx2) => bindAdapter(ctx2, errorRegistry));
|
|
285
|
-
},
|
|
286
|
-
connectToShadowDb: async (...args) => {
|
|
287
|
-
const ctx = await wrapAsync(errorRegistry, adapterFactory.connectToShadowDb.bind(adapterFactory))(...args);
|
|
288
|
-
return ctx.map((ctx2) => bindAdapter(ctx2, errorRegistry));
|
|
289
|
-
}
|
|
290
|
-
};
|
|
291
|
-
copySymbolsFromSource(adapterFactory, boundFactory);
|
|
292
|
-
return boundFactory;
|
|
293
|
-
};
|
|
294
|
-
var bindAdapter = (adapter, errorRegistry = new ErrorRegistryInternal()) => {
|
|
295
|
-
const boundAdapter = {
|
|
296
|
-
adapterName: adapter.adapterName,
|
|
297
|
-
errorRegistry,
|
|
298
|
-
queryRaw: wrapAsync(errorRegistry, adapter.queryRaw.bind(adapter)),
|
|
299
|
-
executeRaw: wrapAsync(errorRegistry, adapter.executeRaw.bind(adapter)),
|
|
300
|
-
executeScript: wrapAsync(errorRegistry, adapter.executeScript.bind(adapter)),
|
|
301
|
-
dispose: wrapAsync(errorRegistry, adapter.dispose.bind(adapter)),
|
|
302
|
-
provider: adapter.provider,
|
|
303
|
-
startTransaction: async (...args) => {
|
|
304
|
-
const ctx = await wrapAsync(errorRegistry, adapter.startTransaction.bind(adapter))(...args);
|
|
305
|
-
return ctx.map((ctx2) => bindTransaction(errorRegistry, ctx2));
|
|
306
|
-
}
|
|
307
|
-
};
|
|
308
|
-
if (adapter.getConnectionInfo) {
|
|
309
|
-
boundAdapter.getConnectionInfo = wrapSync(errorRegistry, adapter.getConnectionInfo.bind(adapter));
|
|
310
|
-
}
|
|
311
|
-
return boundAdapter;
|
|
312
|
-
};
|
|
313
|
-
var bindTransaction = (errorRegistry, transaction) => {
|
|
314
|
-
return {
|
|
315
|
-
adapterName: transaction.adapterName,
|
|
316
|
-
provider: transaction.provider,
|
|
317
|
-
options: transaction.options,
|
|
318
|
-
queryRaw: wrapAsync(errorRegistry, transaction.queryRaw.bind(transaction)),
|
|
319
|
-
executeRaw: wrapAsync(errorRegistry, transaction.executeRaw.bind(transaction)),
|
|
320
|
-
commit: wrapAsync(errorRegistry, transaction.commit.bind(transaction)),
|
|
321
|
-
rollback: wrapAsync(errorRegistry, transaction.rollback.bind(transaction))
|
|
322
|
-
};
|
|
323
|
-
};
|
|
324
|
-
function wrapAsync(registry, fn) {
|
|
325
|
-
return async (...args) => {
|
|
326
|
-
try {
|
|
327
|
-
return ok(await fn(...args));
|
|
328
|
-
} catch (error) {
|
|
329
|
-
debug("[error@wrapAsync]", error);
|
|
330
|
-
if (isDriverAdapterError(error)) {
|
|
331
|
-
return err(error.cause);
|
|
332
|
-
}
|
|
333
|
-
const id = registry.registerNewError(error);
|
|
334
|
-
return err({ kind: "GenericJs", id });
|
|
335
|
-
}
|
|
336
|
-
};
|
|
337
|
-
}
|
|
338
|
-
function wrapSync(registry, fn) {
|
|
339
|
-
return (...args) => {
|
|
340
|
-
try {
|
|
341
|
-
return ok(fn(...args));
|
|
342
|
-
} catch (error) {
|
|
343
|
-
debug("[error@wrapSync]", error);
|
|
344
|
-
if (isDriverAdapterError(error)) {
|
|
345
|
-
return err(error.cause);
|
|
346
|
-
}
|
|
347
|
-
const id = registry.registerNewError(error);
|
|
348
|
-
return err({ kind: "GenericJs", id });
|
|
349
|
-
}
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
229
|
var mockAdapterErrors = {
|
|
353
230
|
queryRaw: new Error("Not implemented: queryRaw"),
|
|
354
231
|
executeRaw: new Error("Not implemented: executeRaw"),
|
|
@@ -358,7 +235,7 @@ var mockAdapterErrors = {
|
|
|
358
235
|
};
|
|
359
236
|
|
|
360
237
|
// src/PrismaConfig.ts
|
|
361
|
-
var
|
|
238
|
+
var import_effect2 = require("effect");
|
|
362
239
|
var import_Function = require("effect/Function");
|
|
363
240
|
|
|
364
241
|
// src/defineConfig.ts
|
|
@@ -368,18 +245,15 @@ var import_effect = require("effect");
|
|
|
368
245
|
function defaultConfig() {
|
|
369
246
|
return makePrismaConfigInternal({
|
|
370
247
|
loadedFromFile: null,
|
|
371
|
-
|
|
248
|
+
datasource: {
|
|
249
|
+
url: "<default_datasource_url>"
|
|
250
|
+
}
|
|
372
251
|
});
|
|
373
252
|
}
|
|
374
253
|
|
|
375
254
|
// src/defineConfig.ts
|
|
376
255
|
function validateExperimentalFeatures(config) {
|
|
377
256
|
const experimental = config.experimental || {};
|
|
378
|
-
if (config.engine === "js" && !experimental.adapter) {
|
|
379
|
-
return import_effect.Either.left(
|
|
380
|
-
new Error('The `engine === "js"` configuration requires `experimental.adapter` to be set to `true`.')
|
|
381
|
-
);
|
|
382
|
-
}
|
|
383
257
|
if (config.studio && !experimental.studio) {
|
|
384
258
|
return import_effect.Either.left(new Error("The `studio` configuration requires `experimental.studio` to be set to `true`."));
|
|
385
259
|
}
|
|
@@ -412,7 +286,7 @@ function defineConfig(configInput) {
|
|
|
412
286
|
debug2("[default]: %o", config);
|
|
413
287
|
defineExperimentalConfig(config, configInput);
|
|
414
288
|
defineSchemaConfig(config, configInput);
|
|
415
|
-
|
|
289
|
+
defineDatasource(config, configInput);
|
|
416
290
|
defineStudioConfig(config, configInput);
|
|
417
291
|
defineMigrationsConfig(config, configInput);
|
|
418
292
|
defineTablesConfig(config, configInput);
|
|
@@ -485,25 +359,10 @@ function defineStudioConfig(config, configInput) {
|
|
|
485
359
|
};
|
|
486
360
|
debug2("[config.studio]: %o", config.studio);
|
|
487
361
|
}
|
|
488
|
-
function
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
const { engine, adapter: getAdapterFactory } = configInput;
|
|
493
|
-
const adapter = async () => {
|
|
494
|
-
const adapterFactory = await getAdapterFactory();
|
|
495
|
-
debug2("[config.adapter]: %o", adapterFactory.adapterName);
|
|
496
|
-
return bindMigrationAwareSqlAdapterFactory(adapterFactory);
|
|
497
|
-
};
|
|
498
|
-
Object.assign(config, { engine, adapter });
|
|
499
|
-
debug2("[config.engine]: %o", engine);
|
|
500
|
-
debug2("[config.adapter]: %o", adapter);
|
|
501
|
-
} else if (configInput.engine === "classic") {
|
|
502
|
-
const { engine, datasource } = configInput;
|
|
503
|
-
Object.assign(config, { engine, datasource });
|
|
504
|
-
debug2("[config.engine]: %o", engine);
|
|
505
|
-
debug2("[config.datasource]: %o", datasource);
|
|
506
|
-
}
|
|
362
|
+
function defineDatasource(config, configInput) {
|
|
363
|
+
const { datasource } = configInput;
|
|
364
|
+
Object.assign(config, { datasource });
|
|
365
|
+
debug2("[config.datasource]: %o", datasource);
|
|
507
366
|
}
|
|
508
367
|
function defineExtensionsConfig(config, configInput) {
|
|
509
368
|
if (!configInput["extensions"]) {
|
|
@@ -513,133 +372,73 @@ function defineExtensionsConfig(config, configInput) {
|
|
|
513
372
|
debug2("[config.extensions]: %o", config["extensions"]);
|
|
514
373
|
}
|
|
515
374
|
|
|
516
|
-
// src/loadConfigFromPackageJson.ts
|
|
517
|
-
var import_promises = require("node:fs/promises");
|
|
518
|
-
var import_node_process = __toESM(require("node:process"));
|
|
519
|
-
var import_effect2 = require("effect");
|
|
520
|
-
var import_package = require("empathic/package");
|
|
521
|
-
var PrismaConfigPackageJsonShape = import_effect2.Schema.Struct({
|
|
522
|
-
schema: import_effect2.Schema.optional(import_effect2.Schema.String),
|
|
523
|
-
seed: import_effect2.Schema.optional(import_effect2.Schema.NonEmptyString)
|
|
524
|
-
});
|
|
525
|
-
async function loadConfigFromPackageJson(cwd = import_node_process.default.cwd()) {
|
|
526
|
-
const pkgPath = (0, import_package.up)({ cwd });
|
|
527
|
-
if (pkgPath === void 0) {
|
|
528
|
-
return null;
|
|
529
|
-
}
|
|
530
|
-
const pkgJson = await (0, import_promises.readFile)(pkgPath, { encoding: "utf-8" }).then((p) => JSON.parse(p));
|
|
531
|
-
const deprecatedConfig = pkgJson["prisma"];
|
|
532
|
-
if (deprecatedConfig === void 0) {
|
|
533
|
-
return null;
|
|
534
|
-
}
|
|
535
|
-
if (Object.keys(deprecatedConfig).length === 1 && deprecatedConfig["prismaCommit"] !== void 0) {
|
|
536
|
-
return null;
|
|
537
|
-
}
|
|
538
|
-
return {
|
|
539
|
-
config: deprecatedConfig,
|
|
540
|
-
loadedFromFile: pkgPath
|
|
541
|
-
};
|
|
542
|
-
}
|
|
543
|
-
|
|
544
375
|
// src/PrismaConfig.ts
|
|
545
376
|
var debug3 = Debug("prisma:config:PrismaConfig");
|
|
546
|
-
var SqlMigrationAwareDriverAdapterFactoryShape =
|
|
377
|
+
var SqlMigrationAwareDriverAdapterFactoryShape = import_effect2.Schema.declare(
|
|
547
378
|
(input) => {
|
|
548
379
|
return typeof input === "function";
|
|
549
380
|
},
|
|
550
381
|
{
|
|
551
382
|
identifier: "SqlMigrationAwareDriverAdapterFactory",
|
|
552
|
-
encode:
|
|
553
|
-
decode:
|
|
383
|
+
encode: import_effect2.identity,
|
|
384
|
+
decode: import_effect2.identity
|
|
554
385
|
}
|
|
555
386
|
);
|
|
556
|
-
var
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
decode: import_effect3.identity
|
|
564
|
-
}
|
|
565
|
-
);
|
|
566
|
-
var SchemaEngineConfigClassicShape = import_effect3.Schema.Struct({
|
|
567
|
-
engine: import_effect3.Schema.Literal("classic"),
|
|
568
|
-
datasource: import_effect3.Schema.Struct({
|
|
569
|
-
url: import_effect3.Schema.String,
|
|
570
|
-
directUrl: import_effect3.Schema.optional(import_effect3.Schema.String),
|
|
571
|
-
shadowDatabaseUrl: import_effect3.Schema.optional(import_effect3.Schema.String)
|
|
572
|
-
})
|
|
573
|
-
});
|
|
574
|
-
var SchemaEngineConfigJsShape = import_effect3.Schema.Struct({
|
|
575
|
-
engine: import_effect3.Schema.Literal("js"),
|
|
576
|
-
adapter: SqlMigrationAwareDriverAdapterFactoryShape
|
|
577
|
-
});
|
|
578
|
-
var SchemaEngineConfigAbsentShape = import_effect3.Schema.Struct({
|
|
579
|
-
engine: import_effect3.Schema.optional(import_effect3.Schema.Never)
|
|
580
|
-
});
|
|
581
|
-
var SchemaEngineConfigShape = import_effect3.Schema.Union(
|
|
582
|
-
SchemaEngineConfigClassicShape,
|
|
583
|
-
SchemaEngineConfigJsShape,
|
|
584
|
-
SchemaEngineConfigAbsentShape
|
|
585
|
-
);
|
|
586
|
-
var SchemaEngineConfigJsInternal = import_effect3.Schema.Struct({
|
|
587
|
-
engine: import_effect3.Schema.Literal("js"),
|
|
588
|
-
adapter: ErrorCapturingSqlMigrationAwareDriverAdapterFactoryShape
|
|
387
|
+
var DatasourceShape = import_effect2.Schema.Struct({
|
|
388
|
+
url: import_effect2.Schema.String,
|
|
389
|
+
/**
|
|
390
|
+
* @deprecated
|
|
391
|
+
*/
|
|
392
|
+
directUrl: import_effect2.Schema.optional(import_effect2.Schema.String),
|
|
393
|
+
shadowDatabaseUrl: import_effect2.Schema.optional(import_effect2.Schema.String)
|
|
589
394
|
});
|
|
590
|
-
var
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
);
|
|
595
|
-
var ExperimentalConfigShape = import_effect3.Schema.Struct({
|
|
596
|
-
adapter: import_effect3.Schema.optional(import_effect3.Schema.Boolean),
|
|
597
|
-
studio: import_effect3.Schema.optional(import_effect3.Schema.Boolean),
|
|
598
|
-
externalTables: import_effect3.Schema.optional(import_effect3.Schema.Boolean),
|
|
599
|
-
extensions: import_effect3.Schema.optional(import_effect3.Schema.Boolean)
|
|
395
|
+
var ExperimentalConfigShape = import_effect2.Schema.Struct({
|
|
396
|
+
studio: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
|
|
397
|
+
externalTables: import_effect2.Schema.optional(import_effect2.Schema.Boolean),
|
|
398
|
+
extensions: import_effect2.Schema.optional(import_effect2.Schema.Boolean)
|
|
600
399
|
});
|
|
601
400
|
if (false) {
|
|
602
401
|
__testExperimentalConfigShapeValueA;
|
|
603
402
|
__testExperimentalConfigShapeValueB;
|
|
604
403
|
}
|
|
605
|
-
var MigrationsConfigShape =
|
|
606
|
-
path:
|
|
607
|
-
initShadowDb:
|
|
608
|
-
seed:
|
|
404
|
+
var MigrationsConfigShape = import_effect2.Schema.Struct({
|
|
405
|
+
path: import_effect2.Schema.optional(import_effect2.Schema.String),
|
|
406
|
+
initShadowDb: import_effect2.Schema.optional(import_effect2.Schema.String),
|
|
407
|
+
seed: import_effect2.Schema.optional(import_effect2.Schema.NonEmptyString)
|
|
609
408
|
});
|
|
610
409
|
if (false) {
|
|
611
410
|
__testMigrationsConfigShapeValueA;
|
|
612
411
|
__testMigrationsConfigShapeValueB;
|
|
613
412
|
}
|
|
614
|
-
var TablesConfigShape =
|
|
615
|
-
external:
|
|
413
|
+
var TablesConfigShape = import_effect2.Schema.Struct({
|
|
414
|
+
external: import_effect2.Schema.optional(import_effect2.Schema.mutable(import_effect2.Schema.Array(import_effect2.Schema.String)))
|
|
616
415
|
});
|
|
617
416
|
if (false) {
|
|
618
417
|
__testTablesConfigShapeValueA;
|
|
619
418
|
__testTablesConfigShapeValueB;
|
|
620
419
|
}
|
|
621
|
-
var EnumsConfigShape =
|
|
622
|
-
external:
|
|
420
|
+
var EnumsConfigShape = import_effect2.Schema.Struct({
|
|
421
|
+
external: import_effect2.Schema.optional(import_effect2.Schema.mutable(import_effect2.Schema.Array(import_effect2.Schema.String)))
|
|
623
422
|
});
|
|
624
423
|
if (false) {
|
|
625
424
|
__testEnumsConfigShapeValueA;
|
|
626
425
|
__testEnumsConfigShapeValueB;
|
|
627
426
|
}
|
|
628
|
-
var ViewsConfigShape =
|
|
629
|
-
path:
|
|
427
|
+
var ViewsConfigShape = import_effect2.Schema.Struct({
|
|
428
|
+
path: import_effect2.Schema.optional(import_effect2.Schema.String)
|
|
630
429
|
});
|
|
631
430
|
if (false) {
|
|
632
431
|
__testViewsConfigShapeValueA;
|
|
633
432
|
__testViewsConfigShapeValueB;
|
|
634
433
|
}
|
|
635
|
-
var TypedSqlConfigShape =
|
|
636
|
-
path:
|
|
434
|
+
var TypedSqlConfigShape = import_effect2.Schema.Struct({
|
|
435
|
+
path: import_effect2.Schema.optional(import_effect2.Schema.String)
|
|
637
436
|
});
|
|
638
437
|
if (false) {
|
|
639
438
|
__testTypedSqlConfigShapeValueA;
|
|
640
439
|
__testTypedSqlConfigShapeValueB;
|
|
641
440
|
}
|
|
642
|
-
var PrismaStudioConfigShape =
|
|
441
|
+
var PrismaStudioConfigShape = import_effect2.Schema.Struct({
|
|
643
442
|
/**
|
|
644
443
|
* Instantiates the Prisma driver adapter to use for Prisma Studio.
|
|
645
444
|
*/
|
|
@@ -653,80 +452,64 @@ if (false) {
|
|
|
653
452
|
__testPrismaConfig;
|
|
654
453
|
__testPrismaConfigInternal;
|
|
655
454
|
}
|
|
656
|
-
var
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
455
|
+
var PrismaConfigShape = import_effect2.Schema.Struct({
|
|
456
|
+
datasource: DatasourceShape,
|
|
457
|
+
experimental: import_effect2.Schema.optional(ExperimentalConfigShape),
|
|
458
|
+
schema: import_effect2.Schema.optional(import_effect2.Schema.String),
|
|
459
|
+
studio: import_effect2.Schema.optional(PrismaStudioConfigShape),
|
|
460
|
+
migrations: import_effect2.Schema.optional(MigrationsConfigShape),
|
|
461
|
+
tables: import_effect2.Schema.optional(TablesConfigShape),
|
|
462
|
+
enums: import_effect2.Schema.optional(EnumsConfigShape),
|
|
463
|
+
views: import_effect2.Schema.optional(ViewsConfigShape),
|
|
464
|
+
typedSql: import_effect2.Schema.optional(TypedSqlConfigShape),
|
|
465
|
+
extensions: import_effect2.Schema.optional(import_effect2.Schema.Any)
|
|
666
466
|
});
|
|
667
|
-
var PrismaConfigShape = import_effect3.Schema.extend(SchemaEngineConfigShape, PrismaConfigUnconditionalShape);
|
|
668
467
|
if (false) {
|
|
669
468
|
__testPrismaConfigValueA;
|
|
670
469
|
__testPrismaConfigValueB;
|
|
671
470
|
}
|
|
672
471
|
function validateExperimentalFeatures2(config) {
|
|
673
472
|
const experimental = config.experimental || {};
|
|
674
|
-
if (config.engine === "js" && !experimental.adapter) {
|
|
675
|
-
return import_effect3.Either.left(
|
|
676
|
-
new Error("The `engine === 'js'` configuration requires `experimental.adapter` to be set to `true`.")
|
|
677
|
-
);
|
|
678
|
-
}
|
|
679
473
|
if (config.studio && !experimental.studio) {
|
|
680
|
-
return
|
|
474
|
+
return import_effect2.Either.left(new Error("The `studio` configuration requires `experimental.studio` to be set to `true`."));
|
|
681
475
|
}
|
|
682
476
|
if (config.tables?.external && !experimental.externalTables) {
|
|
683
|
-
return
|
|
477
|
+
return import_effect2.Either.left(
|
|
684
478
|
new Error("The `tables.external` configuration requires `experimental.externalTables` to be set to `true`.")
|
|
685
479
|
);
|
|
686
480
|
}
|
|
687
481
|
if (config.enums?.external && !experimental.externalTables) {
|
|
688
|
-
return
|
|
482
|
+
return import_effect2.Either.left(
|
|
689
483
|
new Error("The `enums.external` configuration requires `experimental.externalTables` to be set to `true`.")
|
|
690
484
|
);
|
|
691
485
|
}
|
|
692
486
|
if (config.migrations?.initShadowDb && !experimental.externalTables) {
|
|
693
|
-
return
|
|
487
|
+
return import_effect2.Either.left(
|
|
694
488
|
new Error(
|
|
695
489
|
"The `migrations.initShadowDb` configuration requires `experimental.externalTables` to be set to `true`."
|
|
696
490
|
)
|
|
697
491
|
);
|
|
698
492
|
}
|
|
699
493
|
if (config["extensions"] && !experimental.extensions) {
|
|
700
|
-
return
|
|
494
|
+
return import_effect2.Either.left(
|
|
701
495
|
new Error("The `extensions` configuration requires `experimental.extensions` to be set to `true`.")
|
|
702
496
|
);
|
|
703
497
|
}
|
|
704
|
-
return
|
|
498
|
+
return import_effect2.Either.right(config);
|
|
705
499
|
}
|
|
706
500
|
function parsePrismaConfigShape(input) {
|
|
707
501
|
return (0, import_Function.pipe)(
|
|
708
|
-
|
|
502
|
+
import_effect2.Schema.decodeUnknownEither(PrismaConfigShape, {})(input, {
|
|
709
503
|
onExcessProperty: "error"
|
|
710
504
|
}),
|
|
711
|
-
|
|
505
|
+
import_effect2.Either.flatMap(validateExperimentalFeatures2)
|
|
712
506
|
);
|
|
713
507
|
}
|
|
714
508
|
var PRISMA_CONFIG_INTERNAL_BRAND = Symbol.for("PrismaConfigInternal");
|
|
715
|
-
var PrismaConfigInternalShape =
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
import_effect3.Schema.Struct({
|
|
720
|
-
loadedFromFile: import_effect3.Schema.NullOr(import_effect3.Schema.String),
|
|
721
|
-
deprecatedPackageJson: import_effect3.Schema.NullOr(
|
|
722
|
-
import_effect3.Schema.Struct({
|
|
723
|
-
config: PrismaConfigPackageJsonShape,
|
|
724
|
-
loadedFromFile: import_effect3.Schema.String
|
|
725
|
-
})
|
|
726
|
-
)
|
|
727
|
-
})
|
|
728
|
-
)
|
|
729
|
-
);
|
|
509
|
+
var PrismaConfigInternalShape = import_effect2.Schema.Struct({
|
|
510
|
+
...PrismaConfigShape.fields,
|
|
511
|
+
loadedFromFile: import_effect2.Schema.NullOr(import_effect2.Schema.String)
|
|
512
|
+
});
|
|
730
513
|
function brandPrismaConfigInternal(config) {
|
|
731
514
|
Object.defineProperty(config, "__brand", {
|
|
732
515
|
value: PRISMA_CONFIG_INTERNAL_BRAND,
|
|
@@ -740,10 +523,10 @@ function parsePrismaConfigInternalShape(input) {
|
|
|
740
523
|
debug3("Parsing PrismaConfigInternal: %o", input);
|
|
741
524
|
if (typeof input === "object" && input !== null && input["__brand"] === PRISMA_CONFIG_INTERNAL_BRAND) {
|
|
742
525
|
debug3("Short-circuit: input is already a PrismaConfigInternal object");
|
|
743
|
-
return
|
|
526
|
+
return import_effect2.Either.right(input);
|
|
744
527
|
}
|
|
745
528
|
return (0, import_Function.pipe)(
|
|
746
|
-
|
|
529
|
+
import_effect2.Schema.decodeUnknownEither(PrismaConfigInternalShape, {})(input, {
|
|
747
530
|
onExcessProperty: "error"
|
|
748
531
|
}),
|
|
749
532
|
// Brand the output type to make `PrismaConfigInternal` opaque, without exposing the `Effect/Brand` type
|
|
@@ -752,24 +535,24 @@ function parsePrismaConfigInternalShape(input) {
|
|
|
752
535
|
// - https://github.com/microsoft/rushstack/issues/1308
|
|
753
536
|
// - https://github.com/microsoft/rushstack/issues/4034
|
|
754
537
|
// - https://github.com/microsoft/TypeScript/issues/58914
|
|
755
|
-
|
|
538
|
+
import_effect2.Either.map(brandPrismaConfigInternal)
|
|
756
539
|
);
|
|
757
540
|
}
|
|
758
541
|
function makePrismaConfigInternal(makeArgs) {
|
|
759
|
-
return
|
|
542
|
+
return (0, import_Function.pipe)(PrismaConfigInternalShape.make(makeArgs), brandPrismaConfigInternal);
|
|
760
543
|
}
|
|
761
544
|
function parseDefaultExport(defaultExport) {
|
|
762
545
|
const parseResultEither = (0, import_Function.pipe)(
|
|
763
546
|
// If the given config conforms to the `PrismaConfig` shape, feed it to `defineConfig`.
|
|
764
547
|
parsePrismaConfigShape(defaultExport),
|
|
765
|
-
|
|
548
|
+
import_effect2.Either.map((config) => {
|
|
766
549
|
debug3("Parsed `PrismaConfig` shape: %o", config);
|
|
767
550
|
return defineConfig(config);
|
|
768
551
|
}),
|
|
769
552
|
// Otherwise, try to parse it as a `PrismaConfigInternal` shape.
|
|
770
|
-
|
|
553
|
+
import_effect2.Either.orElse(() => parsePrismaConfigInternalShape(defaultExport))
|
|
771
554
|
);
|
|
772
|
-
if (
|
|
555
|
+
if (import_effect2.Either.isLeft(parseResultEither)) {
|
|
773
556
|
throw parseResultEither.left;
|
|
774
557
|
}
|
|
775
558
|
return parseResultEither.right;
|
|
@@ -779,7 +562,9 @@ function parseDefaultExport(defaultExport) {
|
|
|
779
562
|
function defaultTestConfig() {
|
|
780
563
|
return makePrismaConfigInternal({
|
|
781
564
|
loadedFromFile: null,
|
|
782
|
-
|
|
565
|
+
datasource: {
|
|
566
|
+
url: "<default_datasource_url>"
|
|
567
|
+
}
|
|
783
568
|
});
|
|
784
569
|
}
|
|
785
570
|
|
|
@@ -800,27 +585,16 @@ function env(name) {
|
|
|
800
585
|
|
|
801
586
|
// src/loadConfigFromFile.ts
|
|
802
587
|
var import_node_path = __toESM(require("node:path"));
|
|
803
|
-
var
|
|
588
|
+
var import_node_process = __toESM(require("node:process"));
|
|
804
589
|
var debug4 = Debug("prisma:config:loadConfigFromFile");
|
|
805
590
|
var SUPPORTED_EXTENSIONS = [".js", ".ts", ".mjs", ".cjs", ".mts", ".cts"];
|
|
806
591
|
async function loadConfigFromFile({
|
|
807
592
|
configFile,
|
|
808
|
-
configRoot =
|
|
593
|
+
configRoot = import_node_process.default.cwd()
|
|
809
594
|
}) {
|
|
810
595
|
const start = performance.now();
|
|
811
596
|
const getTime = () => `${(performance.now() - start).toFixed(2)}ms`;
|
|
812
597
|
const diagnostics = [];
|
|
813
|
-
const deprecatedPrismaConfigFromJson = await loadConfigFromPackageJson(configRoot);
|
|
814
|
-
if (deprecatedPrismaConfigFromJson) {
|
|
815
|
-
diagnostics.push({
|
|
816
|
-
_tag: "warn",
|
|
817
|
-
value: ({ warn, link }) => () => warn(
|
|
818
|
-
`The configuration property \`package.json#prisma\` is deprecated and will be removed in Prisma 7. Please migrate to a Prisma config file (e.g., \`prisma.config.ts\`).
|
|
819
|
-
For more information, see: ${link("https://pris.ly/prisma-config")}
|
|
820
|
-
`
|
|
821
|
-
)
|
|
822
|
-
});
|
|
823
|
-
}
|
|
824
598
|
try {
|
|
825
599
|
const { configModule, resolvedPath, error } = await loadConfigTsOrJs(configRoot, configFile);
|
|
826
600
|
if (error) {
|
|
@@ -855,20 +629,6 @@ For more information, see: ${link("https://pris.ly/prisma-config")}
|
|
|
855
629
|
`))
|
|
856
630
|
});
|
|
857
631
|
const prismaConfig = transformPathsInConfigToAbsolute(parsedConfig, resolvedPath);
|
|
858
|
-
if (deprecatedPrismaConfigFromJson) {
|
|
859
|
-
diagnostics.push({
|
|
860
|
-
_tag: "warn",
|
|
861
|
-
value: ({ warn, link }) => () => warn(`The Prisma config file in ${import_node_path.default.relative(
|
|
862
|
-
configRoot,
|
|
863
|
-
resolvedPath
|
|
864
|
-
)} overrides the deprecated \`package.json#prisma\` property in ${import_node_path.default.relative(
|
|
865
|
-
configRoot,
|
|
866
|
-
deprecatedPrismaConfigFromJson.loadedFromFile
|
|
867
|
-
)}.
|
|
868
|
-
For more information, see: ${link("https://pris.ly/prisma-config")}
|
|
869
|
-
`)
|
|
870
|
-
});
|
|
871
|
-
}
|
|
872
632
|
return {
|
|
873
633
|
config: {
|
|
874
634
|
...prismaConfig,
|
|
@@ -995,6 +755,5 @@ function transformPathsInConfigToAbsolute(prismaConfig, resolvedPath) {
|
|
|
995
755
|
defaultTestConfig,
|
|
996
756
|
defineConfig,
|
|
997
757
|
env,
|
|
998
|
-
loadConfigFromFile
|
|
999
|
-
loadConfigFromPackageJson
|
|
758
|
+
loadConfigFromFile
|
|
1000
759
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prisma/config",
|
|
3
|
-
"version": "6.20.0-integration-
|
|
3
|
+
"version": "6.20.0-integration-feat-prisma-7-config.2",
|
|
4
4
|
"description": "Internal package used to define and read Prisma configuration files",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,9 +18,10 @@
|
|
|
18
18
|
"empathic": "2.0.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
+
"dotenv": "17.2.3",
|
|
21
22
|
"vitest": "3.2.4",
|
|
22
|
-
"@prisma/driver-adapter-utils": "6.20.0-integration-
|
|
23
|
-
"@prisma/get-platform": "6.20.0-integration-
|
|
23
|
+
"@prisma/driver-adapter-utils": "6.20.0-integration-feat-prisma-7-config.2",
|
|
24
|
+
"@prisma/get-platform": "6.20.0-integration-feat-prisma-7-config.2"
|
|
24
25
|
},
|
|
25
26
|
"files": [
|
|
26
27
|
"dist"
|