@prisma/client-generator-ts 7.2.0-integration-engines-7-2-0-3-aqrln-zpupkzknszlw-04d61c41ec1a025cabe14093fa3121a5f45040ab.1 → 7.3.0-integration-fix-6-19-0-cloudflare-accelerate-engine.1

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.mjs CHANGED
@@ -111,14 +111,14 @@ var require_polyfills = __commonJS({
111
111
  fs3.fstatSync = statFixSync(fs3.fstatSync);
112
112
  fs3.lstatSync = statFixSync(fs3.lstatSync);
113
113
  if (fs3.chmod && !fs3.lchmod) {
114
- fs3.lchmod = function(path3, mode, cb) {
114
+ fs3.lchmod = function(path6, mode, cb) {
115
115
  if (cb) process.nextTick(cb);
116
116
  };
117
117
  fs3.lchmodSync = function() {
118
118
  };
119
119
  }
120
120
  if (fs3.chown && !fs3.lchown) {
121
- fs3.lchown = function(path3, uid, gid, cb) {
121
+ fs3.lchown = function(path6, uid, gid, cb) {
122
122
  if (cb) process.nextTick(cb);
123
123
  };
124
124
  fs3.lchownSync = function() {
@@ -185,9 +185,9 @@ var require_polyfills = __commonJS({
185
185
  };
186
186
  }(fs3.readSync);
187
187
  function patchLchmod(fs4) {
188
- fs4.lchmod = function(path3, mode, callback) {
188
+ fs4.lchmod = function(path6, mode, callback) {
189
189
  fs4.open(
190
- path3,
190
+ path6,
191
191
  constants.O_WRONLY | constants.O_SYMLINK,
192
192
  mode,
193
193
  function(err, fd) {
@@ -203,8 +203,8 @@ var require_polyfills = __commonJS({
203
203
  }
204
204
  );
205
205
  };
206
- fs4.lchmodSync = function(path3, mode) {
207
- var fd = fs4.openSync(path3, constants.O_WRONLY | constants.O_SYMLINK, mode);
206
+ fs4.lchmodSync = function(path6, mode) {
207
+ var fd = fs4.openSync(path6, constants.O_WRONLY | constants.O_SYMLINK, mode);
208
208
  var threw = true;
209
209
  var ret;
210
210
  try {
@@ -225,8 +225,8 @@ var require_polyfills = __commonJS({
225
225
  }
226
226
  function patchLutimes(fs4) {
227
227
  if (constants.hasOwnProperty("O_SYMLINK") && fs4.futimes) {
228
- fs4.lutimes = function(path3, at, mt, cb) {
229
- fs4.open(path3, constants.O_SYMLINK, function(er, fd) {
228
+ fs4.lutimes = function(path6, at, mt, cb) {
229
+ fs4.open(path6, constants.O_SYMLINK, function(er, fd) {
230
230
  if (er) {
231
231
  if (cb) cb(er);
232
232
  return;
@@ -238,8 +238,8 @@ var require_polyfills = __commonJS({
238
238
  });
239
239
  });
240
240
  };
241
- fs4.lutimesSync = function(path3, at, mt) {
242
- var fd = fs4.openSync(path3, constants.O_SYMLINK);
241
+ fs4.lutimesSync = function(path6, at, mt) {
242
+ var fd = fs4.openSync(path6, constants.O_SYMLINK);
243
243
  var ret;
244
244
  var threw = true;
245
245
  try {
@@ -358,11 +358,11 @@ var require_legacy_streams = __commonJS({
358
358
  ReadStream,
359
359
  WriteStream
360
360
  };
361
- function ReadStream(path3, options) {
362
- if (!(this instanceof ReadStream)) return new ReadStream(path3, options);
361
+ function ReadStream(path6, options) {
362
+ if (!(this instanceof ReadStream)) return new ReadStream(path6, options);
363
363
  Stream.call(this);
364
364
  var self = this;
365
- this.path = path3;
365
+ this.path = path6;
366
366
  this.fd = null;
367
367
  this.readable = true;
368
368
  this.paused = false;
@@ -407,10 +407,10 @@ var require_legacy_streams = __commonJS({
407
407
  self._read();
408
408
  });
409
409
  }
410
- function WriteStream(path3, options) {
411
- if (!(this instanceof WriteStream)) return new WriteStream(path3, options);
410
+ function WriteStream(path6, options) {
411
+ if (!(this instanceof WriteStream)) return new WriteStream(path6, options);
412
412
  Stream.call(this);
413
- this.path = path3;
413
+ this.path = path6;
414
414
  this.fd = null;
415
415
  this.writable = true;
416
416
  this.flags = "w";
@@ -494,11 +494,11 @@ var require_graceful_fs = __commonJS({
494
494
  }
495
495
  });
496
496
  }
497
- var debug2 = noop;
497
+ var debug3 = noop;
498
498
  if (util.debuglog)
499
- debug2 = util.debuglog("gfs4");
499
+ debug3 = util.debuglog("gfs4");
500
500
  else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
501
- debug2 = function() {
501
+ debug3 = function() {
502
502
  var m = util.format.apply(util, arguments);
503
503
  m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
504
504
  console.error(m);
@@ -533,7 +533,7 @@ var require_graceful_fs = __commonJS({
533
533
  }(fs3.closeSync);
534
534
  if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
535
535
  process.on("exit", function() {
536
- debug2(fs3[gracefulQueue]);
536
+ debug3(fs3[gracefulQueue]);
537
537
  __require("assert").equal(fs3[gracefulQueue].length, 0);
538
538
  });
539
539
  }
@@ -554,14 +554,14 @@ var require_graceful_fs = __commonJS({
554
554
  fs4.createWriteStream = createWriteStream;
555
555
  var fs$readFile = fs4.readFile;
556
556
  fs4.readFile = readFile;
557
- function readFile(path3, options, cb) {
557
+ function readFile(path6, options, cb) {
558
558
  if (typeof options === "function")
559
559
  cb = options, options = null;
560
- return go$readFile(path3, options, cb);
561
- function go$readFile(path4, options2, cb2, startTime) {
562
- return fs$readFile(path4, options2, function(err) {
560
+ return go$readFile(path6, options, cb);
561
+ function go$readFile(path7, options2, cb2, startTime) {
562
+ return fs$readFile(path7, options2, function(err) {
563
563
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
564
- enqueue([go$readFile, [path4, options2, cb2], err, startTime || Date.now(), Date.now()]);
564
+ enqueue([go$readFile, [path7, options2, cb2], err, startTime || Date.now(), Date.now()]);
565
565
  else {
566
566
  if (typeof cb2 === "function")
567
567
  cb2.apply(this, arguments);
@@ -571,14 +571,14 @@ var require_graceful_fs = __commonJS({
571
571
  }
572
572
  var fs$writeFile = fs4.writeFile;
573
573
  fs4.writeFile = writeFile;
574
- function writeFile(path3, data, options, cb) {
574
+ function writeFile(path6, data, options, cb) {
575
575
  if (typeof options === "function")
576
576
  cb = options, options = null;
577
- return go$writeFile(path3, data, options, cb);
578
- function go$writeFile(path4, data2, options2, cb2, startTime) {
579
- return fs$writeFile(path4, data2, options2, function(err) {
577
+ return go$writeFile(path6, data, options, cb);
578
+ function go$writeFile(path7, data2, options2, cb2, startTime) {
579
+ return fs$writeFile(path7, data2, options2, function(err) {
580
580
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
581
- enqueue([go$writeFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
581
+ enqueue([go$writeFile, [path7, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
582
582
  else {
583
583
  if (typeof cb2 === "function")
584
584
  cb2.apply(this, arguments);
@@ -589,14 +589,14 @@ var require_graceful_fs = __commonJS({
589
589
  var fs$appendFile = fs4.appendFile;
590
590
  if (fs$appendFile)
591
591
  fs4.appendFile = appendFile;
592
- function appendFile(path3, data, options, cb) {
592
+ function appendFile(path6, data, options, cb) {
593
593
  if (typeof options === "function")
594
594
  cb = options, options = null;
595
- return go$appendFile(path3, data, options, cb);
596
- function go$appendFile(path4, data2, options2, cb2, startTime) {
597
- return fs$appendFile(path4, data2, options2, function(err) {
595
+ return go$appendFile(path6, data, options, cb);
596
+ function go$appendFile(path7, data2, options2, cb2, startTime) {
597
+ return fs$appendFile(path7, data2, options2, function(err) {
598
598
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
599
- enqueue([go$appendFile, [path4, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
599
+ enqueue([go$appendFile, [path7, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
600
600
  else {
601
601
  if (typeof cb2 === "function")
602
602
  cb2.apply(this, arguments);
@@ -627,31 +627,31 @@ var require_graceful_fs = __commonJS({
627
627
  var fs$readdir = fs4.readdir;
628
628
  fs4.readdir = readdir;
629
629
  var noReaddirOptionVersions = /^v[0-5]\./;
630
- function readdir(path3, options, cb) {
630
+ function readdir(path6, options, cb) {
631
631
  if (typeof options === "function")
632
632
  cb = options, options = null;
633
- var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path4, options2, cb2, startTime) {
634
- return fs$readdir(path4, fs$readdirCallback(
635
- path4,
633
+ var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path7, options2, cb2, startTime) {
634
+ return fs$readdir(path7, fs$readdirCallback(
635
+ path7,
636
636
  options2,
637
637
  cb2,
638
638
  startTime
639
639
  ));
640
- } : function go$readdir2(path4, options2, cb2, startTime) {
641
- return fs$readdir(path4, options2, fs$readdirCallback(
642
- path4,
640
+ } : function go$readdir2(path7, options2, cb2, startTime) {
641
+ return fs$readdir(path7, options2, fs$readdirCallback(
642
+ path7,
643
643
  options2,
644
644
  cb2,
645
645
  startTime
646
646
  ));
647
647
  };
648
- return go$readdir(path3, options, cb);
649
- function fs$readdirCallback(path4, options2, cb2, startTime) {
648
+ return go$readdir(path6, options, cb);
649
+ function fs$readdirCallback(path7, options2, cb2, startTime) {
650
650
  return function(err, files) {
651
651
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
652
652
  enqueue([
653
653
  go$readdir,
654
- [path4, options2, cb2],
654
+ [path7, options2, cb2],
655
655
  err,
656
656
  startTime || Date.now(),
657
657
  Date.now()
@@ -722,7 +722,7 @@ var require_graceful_fs = __commonJS({
722
722
  enumerable: true,
723
723
  configurable: true
724
724
  });
725
- function ReadStream(path3, options) {
725
+ function ReadStream(path6, options) {
726
726
  if (this instanceof ReadStream)
727
727
  return fs$ReadStream.apply(this, arguments), this;
728
728
  else
@@ -742,7 +742,7 @@ var require_graceful_fs = __commonJS({
742
742
  }
743
743
  });
744
744
  }
745
- function WriteStream(path3, options) {
745
+ function WriteStream(path6, options) {
746
746
  if (this instanceof WriteStream)
747
747
  return fs$WriteStream.apply(this, arguments), this;
748
748
  else
@@ -760,22 +760,22 @@ var require_graceful_fs = __commonJS({
760
760
  }
761
761
  });
762
762
  }
763
- function createReadStream(path3, options) {
764
- return new fs4.ReadStream(path3, options);
763
+ function createReadStream(path6, options) {
764
+ return new fs4.ReadStream(path6, options);
765
765
  }
766
- function createWriteStream(path3, options) {
767
- return new fs4.WriteStream(path3, options);
766
+ function createWriteStream(path6, options) {
767
+ return new fs4.WriteStream(path6, options);
768
768
  }
769
769
  var fs$open = fs4.open;
770
770
  fs4.open = open;
771
- function open(path3, flags, mode, cb) {
771
+ function open(path6, flags, mode, cb) {
772
772
  if (typeof mode === "function")
773
773
  cb = mode, mode = null;
774
- return go$open(path3, flags, mode, cb);
775
- function go$open(path4, flags2, mode2, cb2, startTime) {
776
- return fs$open(path4, flags2, mode2, function(err, fd) {
774
+ return go$open(path6, flags, mode, cb);
775
+ function go$open(path7, flags2, mode2, cb2, startTime) {
776
+ return fs$open(path7, flags2, mode2, function(err, fd) {
777
777
  if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
778
- enqueue([go$open, [path4, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
778
+ enqueue([go$open, [path7, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
779
779
  else {
780
780
  if (typeof cb2 === "function")
781
781
  cb2.apply(this, arguments);
@@ -786,7 +786,7 @@ var require_graceful_fs = __commonJS({
786
786
  return fs4;
787
787
  }
788
788
  function enqueue(elem) {
789
- debug2("ENQUEUE", elem[0].name, elem[1]);
789
+ debug3("ENQUEUE", elem[0].name, elem[1]);
790
790
  fs3[gracefulQueue].push(elem);
791
791
  retry();
792
792
  }
@@ -813,10 +813,10 @@ var require_graceful_fs = __commonJS({
813
813
  var startTime = elem[3];
814
814
  var lastTime = elem[4];
815
815
  if (startTime === void 0) {
816
- debug2("RETRY", fn.name, args);
816
+ debug3("RETRY", fn.name, args);
817
817
  fn.apply(null, args);
818
818
  } else if (Date.now() - startTime >= 6e4) {
819
- debug2("TIMEOUT", fn.name, args);
819
+ debug3("TIMEOUT", fn.name, args);
820
820
  var cb = args.pop();
821
821
  if (typeof cb === "function")
822
822
  cb.call(null, err);
@@ -825,7 +825,7 @@ var require_graceful_fs = __commonJS({
825
825
  var sinceStart = Math.max(lastTime - startTime, 1);
826
826
  var desiredDelay = Math.min(sinceStart * 1.2, 100);
827
827
  if (sinceAttempt >= desiredDelay) {
828
- debug2("RETRY", fn.name, args);
828
+ debug3("RETRY", fn.name, args);
829
829
  fn.apply(null, args.concat([startTime]));
830
830
  } else {
831
831
  fs3[gracefulQueue].push(elem);
@@ -958,10 +958,10 @@ var require_fs = __commonJS({
958
958
  var require_utils = __commonJS({
959
959
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/mkdirs/utils.js"(exports, module) {
960
960
  "use strict";
961
- var path3 = __require("path");
961
+ var path6 = __require("path");
962
962
  module.exports.checkPath = function checkPath(pth) {
963
963
  if (process.platform === "win32") {
964
- const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path3.parse(pth).root, ""));
964
+ const pathHasInvalidWinCharacters = /[<>:"|?*]/.test(pth.replace(path6.parse(pth).root, ""));
965
965
  if (pathHasInvalidWinCharacters) {
966
966
  const error = new Error(`Path contains invalid characters: ${pth}`);
967
967
  error.code = "EINVAL";
@@ -1025,8 +1025,8 @@ var require_path_exists = __commonJS({
1025
1025
  "use strict";
1026
1026
  var u = require_universalify().fromPromise;
1027
1027
  var fs3 = require_fs();
1028
- function pathExists(path3) {
1029
- return fs3.access(path3).then(() => true).catch(() => false);
1028
+ function pathExists(path6) {
1029
+ return fs3.access(path6).then(() => true).catch(() => false);
1030
1030
  }
1031
1031
  module.exports = {
1032
1032
  pathExists: u(pathExists),
@@ -1041,8 +1041,8 @@ var require_utimes = __commonJS({
1041
1041
  "use strict";
1042
1042
  var fs3 = require_fs();
1043
1043
  var u = require_universalify().fromPromise;
1044
- async function utimesMillis(path3, atime, mtime) {
1045
- const fd = await fs3.open(path3, "r+");
1044
+ async function utimesMillis(path6, atime, mtime) {
1045
+ const fd = await fs3.open(path6, "r+");
1046
1046
  let closeErr = null;
1047
1047
  try {
1048
1048
  await fs3.futimes(fd, atime, mtime);
@@ -1057,8 +1057,8 @@ var require_utimes = __commonJS({
1057
1057
  throw closeErr;
1058
1058
  }
1059
1059
  }
1060
- function utimesMillisSync(path3, atime, mtime) {
1061
- const fd = fs3.openSync(path3, "r+");
1060
+ function utimesMillisSync(path6, atime, mtime) {
1061
+ const fd = fs3.openSync(path6, "r+");
1062
1062
  fs3.futimesSync(fd, atime, mtime);
1063
1063
  return fs3.closeSync(fd);
1064
1064
  }
@@ -1074,7 +1074,7 @@ var require_stat = __commonJS({
1074
1074
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/util/stat.js"(exports, module) {
1075
1075
  "use strict";
1076
1076
  var fs3 = require_fs();
1077
- var path3 = __require("path");
1077
+ var path6 = __require("path");
1078
1078
  var u = require_universalify().fromPromise;
1079
1079
  function getStats(src, dest, opts) {
1080
1080
  const statFunc = opts.dereference ? (file4) => fs3.stat(file4, { bigint: true }) : (file4) => fs3.lstat(file4, { bigint: true });
@@ -1102,8 +1102,8 @@ var require_stat = __commonJS({
1102
1102
  const { srcStat, destStat } = await getStats(src, dest, opts);
1103
1103
  if (destStat) {
1104
1104
  if (areIdentical(srcStat, destStat)) {
1105
- const srcBaseName = path3.basename(src);
1106
- const destBaseName = path3.basename(dest);
1105
+ const srcBaseName = path6.basename(src);
1106
+ const destBaseName = path6.basename(dest);
1107
1107
  if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
1108
1108
  return { srcStat, destStat, isChangingCase: true };
1109
1109
  }
@@ -1125,8 +1125,8 @@ var require_stat = __commonJS({
1125
1125
  const { srcStat, destStat } = getStatsSync(src, dest, opts);
1126
1126
  if (destStat) {
1127
1127
  if (areIdentical(srcStat, destStat)) {
1128
- const srcBaseName = path3.basename(src);
1129
- const destBaseName = path3.basename(dest);
1128
+ const srcBaseName = path6.basename(src);
1129
+ const destBaseName = path6.basename(dest);
1130
1130
  if (funcName === "move" && srcBaseName !== destBaseName && srcBaseName.toLowerCase() === destBaseName.toLowerCase()) {
1131
1131
  return { srcStat, destStat, isChangingCase: true };
1132
1132
  }
@@ -1145,9 +1145,9 @@ var require_stat = __commonJS({
1145
1145
  return { srcStat, destStat };
1146
1146
  }
1147
1147
  async function checkParentPaths(src, srcStat, dest, funcName) {
1148
- const srcParent = path3.resolve(path3.dirname(src));
1149
- const destParent = path3.resolve(path3.dirname(dest));
1150
- if (destParent === srcParent || destParent === path3.parse(destParent).root) return;
1148
+ const srcParent = path6.resolve(path6.dirname(src));
1149
+ const destParent = path6.resolve(path6.dirname(dest));
1150
+ if (destParent === srcParent || destParent === path6.parse(destParent).root) return;
1151
1151
  let destStat;
1152
1152
  try {
1153
1153
  destStat = await fs3.stat(destParent, { bigint: true });
@@ -1161,9 +1161,9 @@ var require_stat = __commonJS({
1161
1161
  return checkParentPaths(src, srcStat, destParent, funcName);
1162
1162
  }
1163
1163
  function checkParentPathsSync(src, srcStat, dest, funcName) {
1164
- const srcParent = path3.resolve(path3.dirname(src));
1165
- const destParent = path3.resolve(path3.dirname(dest));
1166
- if (destParent === srcParent || destParent === path3.parse(destParent).root) return;
1164
+ const srcParent = path6.resolve(path6.dirname(src));
1165
+ const destParent = path6.resolve(path6.dirname(dest));
1166
+ if (destParent === srcParent || destParent === path6.parse(destParent).root) return;
1167
1167
  let destStat;
1168
1168
  try {
1169
1169
  destStat = fs3.statSync(destParent, { bigint: true });
@@ -1180,8 +1180,8 @@ var require_stat = __commonJS({
1180
1180
  return destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev;
1181
1181
  }
1182
1182
  function isSrcSubdir(src, dest) {
1183
- const srcArr = path3.resolve(src).split(path3.sep).filter((i) => i);
1184
- const destArr = path3.resolve(dest).split(path3.sep).filter((i) => i);
1183
+ const srcArr = path6.resolve(src).split(path6.sep).filter((i) => i);
1184
+ const destArr = path6.resolve(dest).split(path6.sep).filter((i) => i);
1185
1185
  return srcArr.every((cur, i) => destArr[i] === cur);
1186
1186
  }
1187
1187
  function errMsg(src, dest, funcName) {
@@ -1206,7 +1206,7 @@ var require_copy = __commonJS({
1206
1206
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy.js"(exports, module) {
1207
1207
  "use strict";
1208
1208
  var fs3 = require_fs();
1209
- var path3 = __require("path");
1209
+ var path6 = __require("path");
1210
1210
  var { mkdirs } = require_mkdirs();
1211
1211
  var { pathExists } = require_path_exists();
1212
1212
  var { utimesMillis } = require_utimes();
@@ -1228,7 +1228,7 @@ var require_copy = __commonJS({
1228
1228
  await stat.checkParentPaths(src, srcStat, dest, "copy");
1229
1229
  const include = await runFilter(src, dest, opts);
1230
1230
  if (!include) return;
1231
- const destParent = path3.dirname(dest);
1231
+ const destParent = path6.dirname(dest);
1232
1232
  const dirExists = await pathExists(destParent);
1233
1233
  if (!dirExists) {
1234
1234
  await mkdirs(destParent);
@@ -1282,8 +1282,8 @@ var require_copy = __commonJS({
1282
1282
  }
1283
1283
  const promises = [];
1284
1284
  for await (const item of await fs3.opendir(src)) {
1285
- const srcItem = path3.join(src, item.name);
1286
- const destItem = path3.join(dest, item.name);
1285
+ const srcItem = path6.join(src, item.name);
1286
+ const destItem = path6.join(dest, item.name);
1287
1287
  promises.push(
1288
1288
  runFilter(srcItem, destItem, opts).then((include) => {
1289
1289
  if (include) {
@@ -1302,7 +1302,7 @@ var require_copy = __commonJS({
1302
1302
  async function onLink(destStat, src, dest, opts) {
1303
1303
  let resolvedSrc = await fs3.readlink(src);
1304
1304
  if (opts.dereference) {
1305
- resolvedSrc = path3.resolve(process.cwd(), resolvedSrc);
1305
+ resolvedSrc = path6.resolve(process.cwd(), resolvedSrc);
1306
1306
  }
1307
1307
  if (!destStat) {
1308
1308
  return fs3.symlink(resolvedSrc, dest);
@@ -1315,7 +1315,7 @@ var require_copy = __commonJS({
1315
1315
  throw e;
1316
1316
  }
1317
1317
  if (opts.dereference) {
1318
- resolvedDest = path3.resolve(process.cwd(), resolvedDest);
1318
+ resolvedDest = path6.resolve(process.cwd(), resolvedDest);
1319
1319
  }
1320
1320
  if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
1321
1321
  throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
@@ -1335,7 +1335,7 @@ var require_copy_sync = __commonJS({
1335
1335
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/copy/copy-sync.js"(exports, module) {
1336
1336
  "use strict";
1337
1337
  var fs3 = require_graceful_fs();
1338
- var path3 = __require("path");
1338
+ var path6 = __require("path");
1339
1339
  var mkdirsSync = require_mkdirs().mkdirsSync;
1340
1340
  var utimesMillisSync = require_utimes().utimesMillisSync;
1341
1341
  var stat = require_stat();
@@ -1356,7 +1356,7 @@ var require_copy_sync = __commonJS({
1356
1356
  const { srcStat, destStat } = stat.checkPathsSync(src, dest, "copy", opts);
1357
1357
  stat.checkParentPathsSync(src, srcStat, dest, "copy");
1358
1358
  if (opts.filter && !opts.filter(src, dest)) return;
1359
- const destParent = path3.dirname(dest);
1359
+ const destParent = path6.dirname(dest);
1360
1360
  if (!fs3.existsSync(destParent)) mkdirsSync(destParent);
1361
1361
  return getStats(destStat, src, dest, opts);
1362
1362
  }
@@ -1425,8 +1425,8 @@ var require_copy_sync = __commonJS({
1425
1425
  }
1426
1426
  }
1427
1427
  function copyDirItem(item, src, dest, opts) {
1428
- const srcItem = path3.join(src, item);
1429
- const destItem = path3.join(dest, item);
1428
+ const srcItem = path6.join(src, item);
1429
+ const destItem = path6.join(dest, item);
1430
1430
  if (opts.filter && !opts.filter(srcItem, destItem)) return;
1431
1431
  const { destStat } = stat.checkPathsSync(srcItem, destItem, "copy", opts);
1432
1432
  return getStats(destStat, srcItem, destItem, opts);
@@ -1434,7 +1434,7 @@ var require_copy_sync = __commonJS({
1434
1434
  function onLink(destStat, src, dest, opts) {
1435
1435
  let resolvedSrc = fs3.readlinkSync(src);
1436
1436
  if (opts.dereference) {
1437
- resolvedSrc = path3.resolve(process.cwd(), resolvedSrc);
1437
+ resolvedSrc = path6.resolve(process.cwd(), resolvedSrc);
1438
1438
  }
1439
1439
  if (!destStat) {
1440
1440
  return fs3.symlinkSync(resolvedSrc, dest);
@@ -1447,7 +1447,7 @@ var require_copy_sync = __commonJS({
1447
1447
  throw err;
1448
1448
  }
1449
1449
  if (opts.dereference) {
1450
- resolvedDest = path3.resolve(process.cwd(), resolvedDest);
1450
+ resolvedDest = path6.resolve(process.cwd(), resolvedDest);
1451
1451
  }
1452
1452
  if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
1453
1453
  throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`);
@@ -1484,11 +1484,11 @@ var require_remove = __commonJS({
1484
1484
  "use strict";
1485
1485
  var fs3 = require_graceful_fs();
1486
1486
  var u = require_universalify().fromCallback;
1487
- function remove(path3, callback) {
1488
- fs3.rm(path3, { recursive: true, force: true }, callback);
1487
+ function remove(path6, callback) {
1488
+ fs3.rm(path6, { recursive: true, force: true }, callback);
1489
1489
  }
1490
- function removeSync(path3) {
1491
- fs3.rmSync(path3, { recursive: true, force: true });
1490
+ function removeSync(path6) {
1491
+ fs3.rmSync(path6, { recursive: true, force: true });
1492
1492
  }
1493
1493
  module.exports = {
1494
1494
  remove: u(remove),
@@ -1503,7 +1503,7 @@ var require_empty = __commonJS({
1503
1503
  "use strict";
1504
1504
  var u = require_universalify().fromPromise;
1505
1505
  var fs3 = require_fs();
1506
- var path3 = __require("path");
1506
+ var path6 = __require("path");
1507
1507
  var mkdir = require_mkdirs();
1508
1508
  var remove = require_remove();
1509
1509
  var emptyDir = u(async function emptyDir2(dir) {
@@ -1513,7 +1513,7 @@ var require_empty = __commonJS({
1513
1513
  } catch {
1514
1514
  return mkdir.mkdirs(dir);
1515
1515
  }
1516
- return Promise.all(items.map((item) => remove.remove(path3.join(dir, item))));
1516
+ return Promise.all(items.map((item) => remove.remove(path6.join(dir, item))));
1517
1517
  });
1518
1518
  function emptyDirSync(dir) {
1519
1519
  let items;
@@ -1523,7 +1523,7 @@ var require_empty = __commonJS({
1523
1523
  return mkdir.mkdirsSync(dir);
1524
1524
  }
1525
1525
  items.forEach((item) => {
1526
- item = path3.join(dir, item);
1526
+ item = path6.join(dir, item);
1527
1527
  remove.removeSync(item);
1528
1528
  });
1529
1529
  }
@@ -1541,7 +1541,7 @@ var require_file = __commonJS({
1541
1541
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/file.js"(exports, module) {
1542
1542
  "use strict";
1543
1543
  var u = require_universalify().fromPromise;
1544
- var path3 = __require("path");
1544
+ var path6 = __require("path");
1545
1545
  var fs3 = require_fs();
1546
1546
  var mkdir = require_mkdirs();
1547
1547
  async function createFile(file4) {
@@ -1551,7 +1551,7 @@ var require_file = __commonJS({
1551
1551
  } catch {
1552
1552
  }
1553
1553
  if (stats && stats.isFile()) return;
1554
- const dir = path3.dirname(file4);
1554
+ const dir = path6.dirname(file4);
1555
1555
  let dirStats = null;
1556
1556
  try {
1557
1557
  dirStats = await fs3.stat(dir);
@@ -1577,7 +1577,7 @@ var require_file = __commonJS({
1577
1577
  } catch {
1578
1578
  }
1579
1579
  if (stats && stats.isFile()) return;
1580
- const dir = path3.dirname(file4);
1580
+ const dir = path6.dirname(file4);
1581
1581
  try {
1582
1582
  if (!fs3.statSync(dir).isDirectory()) {
1583
1583
  fs3.readdirSync(dir);
@@ -1600,7 +1600,7 @@ var require_link = __commonJS({
1600
1600
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/link.js"(exports, module) {
1601
1601
  "use strict";
1602
1602
  var u = require_universalify().fromPromise;
1603
- var path3 = __require("path");
1603
+ var path6 = __require("path");
1604
1604
  var fs3 = require_fs();
1605
1605
  var mkdir = require_mkdirs();
1606
1606
  var { pathExists } = require_path_exists();
@@ -1619,7 +1619,7 @@ var require_link = __commonJS({
1619
1619
  throw err;
1620
1620
  }
1621
1621
  if (dstStat && areIdentical(srcStat, dstStat)) return;
1622
- const dir = path3.dirname(dstpath);
1622
+ const dir = path6.dirname(dstpath);
1623
1623
  const dirExists = await pathExists(dir);
1624
1624
  if (!dirExists) {
1625
1625
  await mkdir.mkdirs(dir);
@@ -1639,7 +1639,7 @@ var require_link = __commonJS({
1639
1639
  err.message = err.message.replace("lstat", "ensureLink");
1640
1640
  throw err;
1641
1641
  }
1642
- const dir = path3.dirname(dstpath);
1642
+ const dir = path6.dirname(dstpath);
1643
1643
  const dirExists = fs3.existsSync(dir);
1644
1644
  if (dirExists) return fs3.linkSync(srcpath, dstpath);
1645
1645
  mkdir.mkdirsSync(dir);
@@ -1656,12 +1656,12 @@ var require_link = __commonJS({
1656
1656
  var require_symlink_paths = __commonJS({
1657
1657
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink-paths.js"(exports, module) {
1658
1658
  "use strict";
1659
- var path3 = __require("path");
1659
+ var path6 = __require("path");
1660
1660
  var fs3 = require_fs();
1661
1661
  var { pathExists } = require_path_exists();
1662
1662
  var u = require_universalify().fromPromise;
1663
1663
  async function symlinkPaths(srcpath, dstpath) {
1664
- if (path3.isAbsolute(srcpath)) {
1664
+ if (path6.isAbsolute(srcpath)) {
1665
1665
  try {
1666
1666
  await fs3.lstat(srcpath);
1667
1667
  } catch (err) {
@@ -1673,8 +1673,8 @@ var require_symlink_paths = __commonJS({
1673
1673
  toDst: srcpath
1674
1674
  };
1675
1675
  }
1676
- const dstdir = path3.dirname(dstpath);
1677
- const relativeToDst = path3.join(dstdir, srcpath);
1676
+ const dstdir = path6.dirname(dstpath);
1677
+ const relativeToDst = path6.join(dstdir, srcpath);
1678
1678
  const exists = await pathExists(relativeToDst);
1679
1679
  if (exists) {
1680
1680
  return {
@@ -1690,11 +1690,11 @@ var require_symlink_paths = __commonJS({
1690
1690
  }
1691
1691
  return {
1692
1692
  toCwd: srcpath,
1693
- toDst: path3.relative(dstdir, srcpath)
1693
+ toDst: path6.relative(dstdir, srcpath)
1694
1694
  };
1695
1695
  }
1696
1696
  function symlinkPathsSync(srcpath, dstpath) {
1697
- if (path3.isAbsolute(srcpath)) {
1697
+ if (path6.isAbsolute(srcpath)) {
1698
1698
  const exists2 = fs3.existsSync(srcpath);
1699
1699
  if (!exists2) throw new Error("absolute srcpath does not exist");
1700
1700
  return {
@@ -1702,8 +1702,8 @@ var require_symlink_paths = __commonJS({
1702
1702
  toDst: srcpath
1703
1703
  };
1704
1704
  }
1705
- const dstdir = path3.dirname(dstpath);
1706
- const relativeToDst = path3.join(dstdir, srcpath);
1705
+ const dstdir = path6.dirname(dstpath);
1706
+ const relativeToDst = path6.join(dstdir, srcpath);
1707
1707
  const exists = fs3.existsSync(relativeToDst);
1708
1708
  if (exists) {
1709
1709
  return {
@@ -1715,7 +1715,7 @@ var require_symlink_paths = __commonJS({
1715
1715
  if (!srcExists) throw new Error("relative srcpath does not exist");
1716
1716
  return {
1717
1717
  toCwd: srcpath,
1718
- toDst: path3.relative(dstdir, srcpath)
1718
+ toDst: path6.relative(dstdir, srcpath)
1719
1719
  };
1720
1720
  }
1721
1721
  module.exports = {
@@ -1763,7 +1763,7 @@ var require_symlink = __commonJS({
1763
1763
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/ensure/symlink.js"(exports, module) {
1764
1764
  "use strict";
1765
1765
  var u = require_universalify().fromPromise;
1766
- var path3 = __require("path");
1766
+ var path6 = __require("path");
1767
1767
  var fs3 = require_fs();
1768
1768
  var { mkdirs, mkdirsSync } = require_mkdirs();
1769
1769
  var { symlinkPaths, symlinkPathsSync } = require_symlink_paths();
@@ -1786,7 +1786,7 @@ var require_symlink = __commonJS({
1786
1786
  const relative = await symlinkPaths(srcpath, dstpath);
1787
1787
  srcpath = relative.toDst;
1788
1788
  const toType = await symlinkType(relative.toCwd, type);
1789
- const dir = path3.dirname(dstpath);
1789
+ const dir = path6.dirname(dstpath);
1790
1790
  if (!await pathExists(dir)) {
1791
1791
  await mkdirs(dir);
1792
1792
  }
@@ -1806,7 +1806,7 @@ var require_symlink = __commonJS({
1806
1806
  const relative = symlinkPathsSync(srcpath, dstpath);
1807
1807
  srcpath = relative.toDst;
1808
1808
  type = symlinkTypeSync(relative.toCwd, type);
1809
- const dir = path3.dirname(dstpath);
1809
+ const dir = path6.dirname(dstpath);
1810
1810
  const exists = fs3.existsSync(dir);
1811
1811
  if (exists) return fs3.symlinkSync(srcpath, dstpath, type);
1812
1812
  mkdirsSync(dir);
@@ -1958,18 +1958,18 @@ var require_output_file = __commonJS({
1958
1958
  "use strict";
1959
1959
  var u = require_universalify().fromPromise;
1960
1960
  var fs3 = require_fs();
1961
- var path3 = __require("path");
1961
+ var path6 = __require("path");
1962
1962
  var mkdir = require_mkdirs();
1963
1963
  var pathExists = require_path_exists().pathExists;
1964
1964
  async function outputFile(file4, data, encoding = "utf-8") {
1965
- const dir = path3.dirname(file4);
1965
+ const dir = path6.dirname(file4);
1966
1966
  if (!await pathExists(dir)) {
1967
1967
  await mkdir.mkdirs(dir);
1968
1968
  }
1969
1969
  return fs3.writeFile(file4, data, encoding);
1970
1970
  }
1971
1971
  function outputFileSync(file4, ...args) {
1972
- const dir = path3.dirname(file4);
1972
+ const dir = path6.dirname(file4);
1973
1973
  if (!fs3.existsSync(dir)) {
1974
1974
  mkdir.mkdirsSync(dir);
1975
1975
  }
@@ -2033,7 +2033,7 @@ var require_move = __commonJS({
2033
2033
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move.js"(exports, module) {
2034
2034
  "use strict";
2035
2035
  var fs3 = require_fs();
2036
- var path3 = __require("path");
2036
+ var path6 = __require("path");
2037
2037
  var { copy } = require_copy2();
2038
2038
  var { remove } = require_remove();
2039
2039
  var { mkdirp } = require_mkdirs();
@@ -2043,8 +2043,8 @@ var require_move = __commonJS({
2043
2043
  const overwrite = opts.overwrite || opts.clobber || false;
2044
2044
  const { srcStat, isChangingCase = false } = await stat.checkPaths(src, dest, "move", opts);
2045
2045
  await stat.checkParentPaths(src, srcStat, dest, "move");
2046
- const destParent = path3.dirname(dest);
2047
- const parsedParentPath = path3.parse(destParent);
2046
+ const destParent = path6.dirname(dest);
2047
+ const parsedParentPath = path6.parse(destParent);
2048
2048
  if (parsedParentPath.root !== destParent) {
2049
2049
  await mkdirp(destParent);
2050
2050
  }
@@ -2085,7 +2085,7 @@ var require_move_sync = __commonJS({
2085
2085
  "../../node_modules/.pnpm/fs-extra@11.3.0/node_modules/fs-extra/lib/move/move-sync.js"(exports, module) {
2086
2086
  "use strict";
2087
2087
  var fs3 = require_graceful_fs();
2088
- var path3 = __require("path");
2088
+ var path6 = __require("path");
2089
2089
  var copySync = require_copy2().copySync;
2090
2090
  var removeSync = require_remove().removeSync;
2091
2091
  var mkdirpSync = require_mkdirs().mkdirpSync;
@@ -2095,12 +2095,12 @@ var require_move_sync = __commonJS({
2095
2095
  const overwrite = opts.overwrite || opts.clobber || false;
2096
2096
  const { srcStat, isChangingCase = false } = stat.checkPathsSync(src, dest, "move", opts);
2097
2097
  stat.checkParentPathsSync(src, srcStat, dest, "move");
2098
- if (!isParentRoot(dest)) mkdirpSync(path3.dirname(dest));
2098
+ if (!isParentRoot(dest)) mkdirpSync(path6.dirname(dest));
2099
2099
  return doRename(src, dest, overwrite, isChangingCase);
2100
2100
  }
2101
2101
  function isParentRoot(dest) {
2102
- const parent = path3.dirname(dest);
2103
- const parsedPath = path3.parse(parent);
2102
+ const parent = path6.dirname(dest);
2103
+ const parsedPath = path6.parse(parent);
2104
2104
  return parsedPath.root === parent;
2105
2105
  }
2106
2106
  function doRename(src, dest, overwrite, isChangingCase) {
@@ -2214,8 +2214,15 @@ function getMappings(mappings, datamodel) {
2214
2214
  // src/generateClient.ts
2215
2215
  var import_fs_extra = __toESM(require_lib());
2216
2216
  import fs2 from "node:fs/promises";
2217
- import path2 from "node:path";
2218
- import { assertNever as assertNever3, pathToPosix, setClassName } from "@prisma/internals";
2217
+ import path5 from "node:path";
2218
+ import { overwriteFile } from "@prisma/fetch-engine";
2219
+ import {
2220
+ assertNever as assertNever3,
2221
+ ClientEngineType as ClientEngineType3,
2222
+ getClientEngineType as getClientEngineType4,
2223
+ pathToPosix as pathToPosix3,
2224
+ setClassName
2225
+ } from "@prisma/internals";
2219
2226
  import { glob } from "fast-glob";
2220
2227
 
2221
2228
  // ../../node_modules/.pnpm/kleur@4.1.5/node_modules/kleur/colors.mjs
@@ -2374,7 +2381,7 @@ var Enum = class {
2374
2381
  toTS() {
2375
2382
  const { type } = this;
2376
2383
  const enumVariants = `{
2377
- ${indent(type.data.map((v) => `${v.key}: ${this.getValue(v.value)}`).join(",\n"), TAB_SIZE)}
2384
+ ${indent(type.values.map((v) => `${v}: ${this.getValue(v)}`).join(",\n"), TAB_SIZE)}
2378
2385
  } as const`;
2379
2386
  const enumBody = this.isStrictEnum() ? `runtime.makeStrictEnum(${enumVariants})` : enumVariants;
2380
2387
  return `export const ${type.name} = ${enumBody}
@@ -2887,6 +2894,9 @@ var GenericArgsInfo = class {
2887
2894
  }
2888
2895
  };
2889
2896
 
2897
+ // src/TSClient/file-generators/BrowserFile.ts
2898
+ import { getClientEngineType } from "@prisma/internals";
2899
+
2890
2900
  // src/TSClient/ModelExports.ts
2891
2901
  import * as ts3 from "@prisma/ts-builders";
2892
2902
  function modelExports(context) {
@@ -2912,7 +2922,9 @@ var jsDocHeader = `/*
2912
2922
  * \u{1F7E2} You can import this file directly.
2913
2923
  */
2914
2924
  `;
2915
- function createBrowserFile(context, _options) {
2925
+ function createBrowserFile(context, options) {
2926
+ const clientEngineType = getClientEngineType(options.generator);
2927
+ options.generator.config.engineType = clientEngineType;
2916
2928
  return `${jsDocHeader}
2917
2929
  import * as Prisma from '${context.importFileName("./internal/prismaNamespaceBrowser")}'
2918
2930
  export { Prisma }
@@ -2923,14 +2935,50 @@ ${modelExports(context).join("\n")}
2923
2935
  }
2924
2936
 
2925
2937
  // src/TSClient/file-generators/ClassFile.ts
2938
+ import crypto from "node:crypto";
2939
+ import path2 from "node:path";
2940
+ import { getClientEngineType as getClientEngineType2, pathToPosix } from "@prisma/internals";
2926
2941
  import * as ts6 from "@prisma/ts-builders";
2942
+ import ciInfo from "ci-info";
2943
+
2944
+ // src/utils/buildInjectableEdgeEnv.ts
2945
+ function buildInjectableEdgeEnv(edge, datasources) {
2946
+ if (edge === true) {
2947
+ return declareInjectableEdgeEnv(datasources);
2948
+ }
2949
+ return ``;
2950
+ }
2951
+ function declareInjectableEdgeEnv(datasources) {
2952
+ const injectableEdgeEnv = { parsed: {} };
2953
+ const envVarNames = getSelectedEnvVarNames(datasources);
2954
+ for (const envVarName of envVarNames) {
2955
+ injectableEdgeEnv.parsed[envVarName] = getRuntimeEdgeEnvVar(envVarName);
2956
+ }
2957
+ const injectableEdgeEnvJson = JSON.stringify(injectableEdgeEnv, null, 2);
2958
+ const injectableEdgeEnvCode = injectableEdgeEnvJson.replace(/"/g, "");
2959
+ return `
2960
+ config.injectableEdgeEnv = () => (${injectableEdgeEnvCode})`;
2961
+ }
2962
+ function getSelectedEnvVarNames(datasources) {
2963
+ return datasources.reduce((acc, datasource) => {
2964
+ if (datasource.url.fromEnvVar) {
2965
+ return [...acc, datasource.url.fromEnvVar];
2966
+ }
2967
+ return acc;
2968
+ }, []);
2969
+ }
2970
+ function getRuntimeEdgeEnvVar(envVarName) {
2971
+ const cfwEnv = `typeof globalThis !== 'undefined' && globalThis['${envVarName}']`;
2972
+ const nodeOrVercelEnv = `typeof process !== 'undefined' && process.env && process.env.${envVarName}`;
2973
+ return `${cfwEnv} || ${nodeOrVercelEnv} || undefined`;
2974
+ }
2927
2975
 
2928
2976
  // src/utils/buildDebugInitialization.ts
2929
2977
  function buildDebugInitialization(edge) {
2930
2978
  if (!edge) {
2931
2979
  return "";
2932
2980
  }
2933
- const debugVar = `typeof globalThis !== 'undefined' && globalThis['DEBUG'] || (typeof process !== 'undefined' && process.env && process.env.DEBUG) || undefined`;
2981
+ const debugVar = getRuntimeEdgeEnvVar("DEBUG");
2934
2982
  return `if (${debugVar}) {
2935
2983
  runtime.Debug.enable(${debugVar})
2936
2984
  }
@@ -3407,7 +3455,7 @@ function escapeJson(str) {
3407
3455
  function buildRuntimeDataModel(datamodel, runtimeName) {
3408
3456
  const runtimeDataModel = dmmfToRuntimeDataModel(datamodel);
3409
3457
  let prunedDataModel;
3410
- if (runtimeName === "wasm-compiler-edge" || runtimeName === "client") {
3458
+ if (runtimeName === "wasm-engine-edge" || runtimeName === "wasm-compiler-edge" || runtimeName === "client") {
3411
3459
  prunedDataModel = pruneRuntimeDataModel(runtimeDataModel);
3412
3460
  } else {
3413
3461
  prunedDataModel = runtimeDataModel;
@@ -3417,28 +3465,50 @@ function buildRuntimeDataModel(datamodel, runtimeName) {
3417
3465
  config.runtimeDataModel = JSON.parse(${JSON.stringify(datamodelString)})`;
3418
3466
  }
3419
3467
 
3468
+ // src/utils/buildInlineDatasources.ts
3469
+ function buildInlineDatasources(datasources) {
3470
+ return datasources.reduce((acc, ds) => {
3471
+ return acc[ds.name] = buildInlineDatasource(ds), acc;
3472
+ }, {});
3473
+ }
3474
+ function buildInlineDatasource(ds) {
3475
+ if (ds.url.fromEnvVar) {
3476
+ return { url: { fromEnvVar: ds.url.fromEnvVar, value: null } };
3477
+ } else {
3478
+ return { url: { fromEnvVar: null, value: ds.url.value } };
3479
+ }
3480
+ }
3481
+
3420
3482
  // src/utils/wasm.ts
3421
3483
  import fs from "node:fs";
3422
3484
  import path from "node:path";
3485
+ import { capitalize as capitalize6 } from "@prisma/client-common";
3423
3486
  import { Debug } from "@prisma/debug";
3424
3487
  import { match } from "ts-pattern";
3425
3488
  var debug = Debug("prisma:client-generator-ts:wasm");
3426
- function usesEdgeWasmRuntime(runtimeName) {
3427
- return runtimeName === "wasm-compiler-edge";
3489
+ function usesEdgeWasmRuntime(component, runtimeName) {
3490
+ return runtimeName === "wasm-engine-edge" && component === "engine" || runtimeName === "wasm-compiler-edge" && component === "compiler";
3428
3491
  }
3429
- function buildGetWasmModule({ runtimeName, runtimeBase, activeProvider, moduleFormat }) {
3492
+ function buildGetWasmModule({
3493
+ component,
3494
+ runtimeName,
3495
+ runtimeBase,
3496
+ activeProvider,
3497
+ moduleFormat
3498
+ }) {
3499
+ const capitalizedComponent = capitalize6(component);
3430
3500
  const extension = match(moduleFormat).with("esm", () => "mjs").with("cjs", () => "js").exhaustive();
3431
- const buildNonEdgeLoader = runtimeName === "client";
3432
- const buildEdgeLoader = !buildNonEdgeLoader;
3501
+ const buildNonEdgeLoader = match(runtimeName).with("library", () => component === "engine" && !!process.env.PRISMA_CLIENT_FORCE_WASM).with("client", () => component === "compiler").otherwise(() => false);
3502
+ const buildEdgeLoader = usesEdgeWasmRuntime(component, runtimeName);
3433
3503
  let wasmPathBase;
3434
3504
  let wasmBindingsPath;
3435
3505
  let wasmModulePath;
3436
3506
  if (buildEdgeLoader) {
3437
- wasmPathBase = `./query_compiler_bg`;
3507
+ wasmPathBase = `./query_${component}_bg`;
3438
3508
  wasmBindingsPath = `${wasmPathBase}.js`;
3439
3509
  wasmModulePath = `${wasmPathBase}.wasm`;
3440
3510
  } else {
3441
- wasmPathBase = `${runtimeBase}/query_compiler_bg.${activeProvider}`;
3511
+ wasmPathBase = `${runtimeBase}/query_${component}_bg.${activeProvider}`;
3442
3512
  wasmBindingsPath = `${wasmPathBase}.mjs`;
3443
3513
  wasmModulePath = `${wasmPathBase}.wasm`;
3444
3514
  }
@@ -3452,26 +3522,26 @@ async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Modul
3452
3522
  return new WebAssembly.Module(wasmArray)
3453
3523
  }
3454
3524
 
3455
- config.compilerWasm = {
3525
+ config.${component}Wasm = {
3456
3526
  getRuntime: async () => await import(${JSON.stringify(wasmBindingsPath)}),
3457
3527
 
3458
- getQueryCompilerWasmModule: async () => {
3528
+ getQuery${capitalizedComponent}WasmModule: async () => {
3459
3529
  const { wasm } = await import(${JSON.stringify(wasmModulePath)})
3460
3530
  return await decodeBase64AsWasm(wasm)
3461
3531
  }
3462
3532
  }`;
3463
3533
  }
3464
3534
  if (buildEdgeLoader) {
3465
- return `config.compilerWasm = {
3535
+ return `config.${component}Wasm = {
3466
3536
  getRuntime: async () => await import(${JSON.stringify(wasmBindingsPath)}),
3467
3537
 
3468
- getQueryCompilerWasmModule: async () => {
3538
+ getQuery${capitalizedComponent}WasmModule: async () => {
3469
3539
  const { default: module } = await import(${JSON.stringify(`${wasmModulePath}?module`)})
3470
3540
  return module
3471
3541
  }
3472
3542
  }`;
3473
3543
  }
3474
- return `config.compilerWasm = undefined`;
3544
+ return `config.${component}Wasm = undefined`;
3475
3545
  }
3476
3546
  function readSourceFile(sourceFile) {
3477
3547
  const bundledLocation = path.join(__dirname, sourceFile);
@@ -3489,28 +3559,33 @@ function readSourceFile(sourceFile) {
3489
3559
  function buildWasmFileMap({ activeProvider, runtimeName }) {
3490
3560
  const fileMap = {};
3491
3561
  debug("buildWasmFileMap with", { runtimeName });
3492
- if (!usesEdgeWasmRuntime(runtimeName)) {
3493
- debug("Skipping component compiler for runtime", runtimeName);
3494
- return fileMap;
3495
- }
3496
- const fileNameBase = `query_compiler_bg.${activeProvider}`;
3497
- const files = {
3498
- [`query_compiler_bg.wasm`]: `${fileNameBase}.wasm`,
3499
- [`query_compiler_bg.js`]: `${fileNameBase}.mjs`
3500
- };
3501
- for (const [targetFile, sourceFile] of Object.entries(files)) {
3502
- fileMap[targetFile] = readSourceFile(sourceFile);
3562
+ for (const component of ["engine", "compiler"]) {
3563
+ if (!usesEdgeWasmRuntime(component, runtimeName)) {
3564
+ debug("Skipping component", component, "for runtime", runtimeName);
3565
+ continue;
3566
+ }
3567
+ const fileNameBase = `query_${component}_bg.${activeProvider}`;
3568
+ const files = {
3569
+ [`query_${component}_bg.wasm`]: `${fileNameBase}.wasm`,
3570
+ [`query_${component}_bg.js`]: `${fileNameBase}.mjs`
3571
+ };
3572
+ for (const [targetFile, sourceFile] of Object.entries(files)) {
3573
+ fileMap[targetFile] = readSourceFile(sourceFile);
3574
+ }
3503
3575
  }
3504
3576
  return fileMap;
3505
3577
  }
3506
3578
 
3507
3579
  // src/TSClient/PrismaClient.ts
3508
- import { capitalize as capitalize6, uncapitalize as uncapitalize4 } from "@prisma/client-common";
3580
+ import { capitalize as capitalize7, uncapitalize as uncapitalize4 } from "@prisma/client-common";
3509
3581
  import * as ts5 from "@prisma/ts-builders";
3510
3582
  import indent3 from "indent-string";
3511
3583
 
3512
3584
  // src/utils/runtimeImport.ts
3513
3585
  import * as ts4 from "@prisma/ts-builders";
3586
+ function runtimeImport(name) {
3587
+ return name;
3588
+ }
3514
3589
  function runtimeImportedType(name) {
3515
3590
  return ts4.namedType(`runtime.${name}`);
3516
3591
  }
@@ -3584,7 +3659,7 @@ function queryRawDefinition(context) {
3584
3659
  * const result = await prisma.$queryRaw\`SELECT * FROM User WHERE id = \${1} OR email = \${'user@email.com'};\`
3585
3660
  * \`\`\`
3586
3661
  *
3587
- * Read more in our [docs](https://pris.ly/d/raw-queries).
3662
+ * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
3588
3663
  */
3589
3664
  $queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;
3590
3665
 
@@ -3596,7 +3671,7 @@ function queryRawDefinition(context) {
3596
3671
  * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
3597
3672
  * \`\`\`
3598
3673
  *
3599
- * Read more in our [docs](https://pris.ly/d/raw-queries).
3674
+ * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
3600
3675
  */
3601
3676
  $queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;`;
3602
3677
  }
@@ -3612,7 +3687,7 @@ function executeRawDefinition(context) {
3612
3687
  * const result = await prisma.$executeRaw\`UPDATE User SET cool = \${true} WHERE email = \${'user@email.com'};\`
3613
3688
  * \`\`\`
3614
3689
  *
3615
- * Read more in our [docs](https://pris.ly/d/raw-queries).
3690
+ * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
3616
3691
  */
3617
3692
  $executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;
3618
3693
 
@@ -3624,7 +3699,7 @@ function executeRawDefinition(context) {
3624
3699
  * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
3625
3700
  * \`\`\`
3626
3701
  *
3627
- * Read more in our [docs](https://pris.ly/d/raw-queries).
3702
+ * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
3628
3703
  */
3629
3704
  $executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;`;
3630
3705
  }
@@ -3654,6 +3729,24 @@ function queryRawTypedDefinition(context) {
3654
3729
  ).setReturnType(prismaPromise(ts5.array(param.toArgument())));
3655
3730
  return ts5.stringify(method3, { indentLevel: 1, newLine: "leading" });
3656
3731
  }
3732
+ function metricDefinition(context) {
3733
+ if (!context.isPreviewFeatureOn("metrics")) {
3734
+ return "";
3735
+ }
3736
+ const property13 = ts5.property("$metrics", ts5.namedType(`runtime.${runtimeImport("MetricsClient")}`)).setDocComment(
3737
+ ts5.docComment`
3738
+ Gives access to the client metrics in json or prometheus format.
3739
+
3740
+ @example
3741
+ \`\`\`
3742
+ const metrics = await prisma.$metrics.json()
3743
+ // or
3744
+ const metrics = await prisma.$metrics.prometheus()
3745
+ \`\`\`
3746
+ `
3747
+ ).readonly();
3748
+ return ts5.stringify(property13, { indentLevel: 1, newLine: "leading" });
3749
+ }
3657
3750
  function runCommandRawDefinition(context) {
3658
3751
  if (!context.dmmf.mappings.otherOperations.write.includes("runCommandRaw")) {
3659
3752
  return "";
@@ -3669,10 +3762,17 @@ function runCommandRawDefinition(context) {
3669
3762
  })
3670
3763
  \`\`\`
3671
3764
 
3672
- Read more in our [docs](https://pris.ly/d/raw-queries).
3765
+ Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access).
3673
3766
  `);
3674
3767
  return ts5.stringify(method3, { indentLevel: 1, newLine: "leading" });
3675
3768
  }
3769
+ function eventRegistrationMethodDeclaration(runtimeName) {
3770
+ if (runtimeName === "binary") {
3771
+ return `$on<V extends (LogOpts | 'beforeExit')>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : V extends 'beforeExit' ? () => runtime.Types.Utils.JsPromise<void> : Prisma.LogEvent) => void): PrismaClient;`;
3772
+ } else {
3773
+ return `$on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;`;
3774
+ }
3775
+ }
3676
3776
  function getPrismaClientClassDocComment({ dmmf }) {
3677
3777
  let example;
3678
3778
  if (dmmf.mappings.modelOperations.length) {
@@ -3690,11 +3790,11 @@ function getPrismaClientClassDocComment({ dmmf }) {
3690
3790
  @example
3691
3791
  \`\`\`
3692
3792
  const prisma = new PrismaClient()
3693
- // Fetch zero or more ${capitalize6(example.plural)}
3793
+ // Fetch zero or more ${capitalize7(example.plural)}
3694
3794
  const ${uncapitalize4(example.plural)} = await prisma.${uncapitalize4(example.model)}.findMany()
3695
3795
  \`\`\`
3696
3796
 
3697
- Read more in our [docs](https://pris.ly/d/client).
3797
+ Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client).
3698
3798
  `;
3699
3799
  }
3700
3800
  var PrismaClientClass = class {
@@ -3717,18 +3817,18 @@ export interface PrismaClientConstructor {
3717
3817
  LogOpts extends LogOptions<Options> = LogOptions<Options>,
3718
3818
  OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'],
3719
3819
  ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
3720
- >(options: Prisma.Subset<Options, Prisma.PrismaClientOptions> ): PrismaClient<LogOpts, OmitOpts, ExtArgs>
3820
+ >(options?: Prisma.Subset<Options, Prisma.PrismaClientOptions> ): PrismaClient<LogOpts, OmitOpts, ExtArgs>
3721
3821
  }
3722
3822
 
3723
3823
  ${this.jsDoc}
3724
3824
  export interface PrismaClient<
3725
3825
  in LogOpts extends Prisma.LogLevel = never,
3726
- in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined,
3826
+ in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = Prisma.PrismaClientOptions['omit'],
3727
3827
  in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
3728
3828
  > {
3729
3829
  [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['other'] }
3730
3830
 
3731
- $on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;
3831
+ ${eventRegistrationMethodDeclaration(this.runtimeName)}
3732
3832
 
3733
3833
  /**
3734
3834
  * Connect with the database
@@ -3747,6 +3847,8 @@ ${[
3747
3847
  batchingTransactionDefinition(this.context),
3748
3848
  interactiveTransactionDefinition(this.context),
3749
3849
  runCommandRawDefinition(this.context),
3850
+ metricDefinition(this.context),
3851
+ this.applyPendingMigrationsDefinition(),
3750
3852
  extendsPropertyDefinition()
3751
3853
  ].filter((d) => d !== null).join("\n").trim()}
3752
3854
 
@@ -3761,7 +3863,7 @@ ${[
3761
3863
  * \`prisma.${methodName}\`: Exposes CRUD operations for the **${m.model}** model.
3762
3864
  * Example usage:
3763
3865
  * \`\`\`ts
3764
- * // Fetch zero or more ${capitalize6(m.plural)}
3866
+ * // Fetch zero or more ${capitalize7(m.plural)}
3765
3867
  * const ${uncapitalize4(m.plural)} = await prisma.${methodName}.findMany()
3766
3868
  * \`\`\`
3767
3869
  */
@@ -3771,6 +3873,15 @@ get ${methodName}(): Prisma.${m.model}Delegate<${generics.join(", ")}>;`;
3771
3873
  )}
3772
3874
  }`;
3773
3875
  }
3876
+ applyPendingMigrationsDefinition() {
3877
+ if (this.runtimeName !== "react-native") {
3878
+ return null;
3879
+ }
3880
+ const method3 = ts5.method("$applyPendingMigrations").setReturnType(promise(ts5.voidType)).setDocComment(
3881
+ ts5.docComment`Tries to apply pending migrations one by one. If a migration fails to apply, the function will stop and throw an error. You are responsible for informing the user and possibly blocking the app as we cannot guarantee the state of the database.`
3882
+ );
3883
+ return ts5.stringify(method3, { indentLevel: 1, newLine: "leading" });
3884
+ }
3774
3885
  };
3775
3886
 
3776
3887
  // src/TSClient/file-generators/ClassFile.ts
@@ -3796,7 +3907,8 @@ ${clientConfig(context, options)}
3796
3907
 
3797
3908
  ${prismaClientClass.toTS()}
3798
3909
 
3799
- export function getPrismaClientClass(): PrismaClientConstructor {
3910
+ export function getPrismaClientClass(dirname: string): PrismaClientConstructor {
3911
+ config.dirname = dirname
3800
3912
  return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
3801
3913
  }
3802
3914
  `;
@@ -3805,39 +3917,105 @@ function clientConfig(context, options) {
3805
3917
  const {
3806
3918
  edge,
3807
3919
  generator,
3920
+ outputDir,
3808
3921
  datamodel: inlineSchema,
3809
3922
  runtimeBase,
3810
3923
  runtimeName,
3924
+ datasources,
3925
+ copyEngine = true,
3811
3926
  target,
3812
3927
  activeProvider,
3813
3928
  moduleFormat
3814
3929
  } = options;
3930
+ const clientEngineType = getClientEngineType2(generator);
3931
+ generator.config.engineType = clientEngineType;
3932
+ const inlineSchemaHash = crypto.createHash("sha256").update(Buffer.from(inlineSchema, "utf8").toString("base64")).digest("hex");
3933
+ const datasourceFilePath = datasources[0].sourceFilePath;
3815
3934
  const config = {
3816
- previewFeatures: generator.previewFeatures,
3935
+ generator,
3936
+ relativePath: pathToPosix(path2.relative(outputDir, path2.dirname(datasourceFilePath))),
3817
3937
  clientVersion: options.clientVersion,
3818
3938
  engineVersion: options.engineVersion,
3939
+ datasourceNames: datasources.map((d) => d.name),
3819
3940
  activeProvider: options.activeProvider,
3941
+ postinstall: options.postinstall,
3942
+ ciName: ciInfo.name ?? void 0,
3943
+ inlineDatasources: buildInlineDatasources(datasources),
3820
3944
  inlineSchema,
3821
- runtimeDataModel: { models: {}, enums: {}, types: {} }
3945
+ inlineSchemaHash,
3946
+ copyEngine,
3947
+ runtimeDataModel: { models: {}, enums: {}, types: {} },
3948
+ dirname: ""
3822
3949
  };
3823
3950
  return `
3824
3951
  const config: runtime.GetPrismaClientConfig = ${JSON.stringify(config, null, 2)}
3825
3952
  ${buildRuntimeDataModel(context.dmmf.datamodel, runtimeName)}
3826
- ${buildGetWasmModule({ runtimeBase, runtimeName, target, activeProvider, moduleFormat })}
3953
+ ${buildGetWasmModule({ component: "engine", runtimeBase, runtimeName, target, activeProvider, moduleFormat })}
3954
+ ${buildGetWasmModule({ component: "compiler", runtimeBase, runtimeName, target, activeProvider, moduleFormat })}
3955
+ ${buildInjectableEdgeEnv(edge, datasources)}
3827
3956
  ${buildDebugInitialization(edge)}
3828
3957
  `;
3829
3958
  }
3830
3959
 
3831
3960
  // src/TSClient/file-generators/ClientFile.ts
3961
+ import path4 from "node:path";
3962
+ import { ClientEngineType as ClientEngineType2, getClientEngineType as getClientEngineType3 } from "@prisma/internals";
3832
3963
  import * as ts7 from "@prisma/ts-builders";
3964
+
3965
+ // src/utils/buildNFTAnnotations.ts
3966
+ import { getNodeAPIName } from "@prisma/get-platform";
3967
+ import { ClientEngineType, parseAWSNodejsRuntimeEnvVarVersion, pathToPosix as pathToPosix2 } from "@prisma/internals";
3968
+ import path3 from "path";
3969
+ function buildNFTAnnotations(noEngine, engineType, binaryTargets, relativeOutdir) {
3970
+ if (noEngine === true) return "";
3971
+ if (binaryTargets === void 0) {
3972
+ return "";
3973
+ }
3974
+ if (process.env.NETLIFY) {
3975
+ const isNodeMajor20OrUp = parseInt(process.versions.node.split(".")[0]) >= 20;
3976
+ const awsRuntimeVersion = parseAWSNodejsRuntimeEnvVarVersion();
3977
+ const isRuntimeEnvVar20OrUp = awsRuntimeVersion && awsRuntimeVersion >= 20;
3978
+ const isRuntimeEnvVar18OrDown = awsRuntimeVersion && awsRuntimeVersion <= 18;
3979
+ if ((isNodeMajor20OrUp || isRuntimeEnvVar20OrUp) && !isRuntimeEnvVar18OrDown) {
3980
+ binaryTargets = ["rhel-openssl-3.0.x"];
3981
+ } else {
3982
+ binaryTargets = ["rhel-openssl-1.0.x"];
3983
+ }
3984
+ }
3985
+ const engineAnnotations = binaryTargets.map((binaryTarget) => {
3986
+ const engineFilename = getQueryEngineFilename(engineType, binaryTarget);
3987
+ return engineFilename ? buildNFTAnnotation(engineFilename, relativeOutdir) : "";
3988
+ }).join("\n");
3989
+ return `${engineAnnotations}`;
3990
+ }
3991
+ function getQueryEngineFilename(engineType, binaryTarget) {
3992
+ if (engineType === ClientEngineType.Library) {
3993
+ return getNodeAPIName(binaryTarget, "fs");
3994
+ }
3995
+ if (engineType === ClientEngineType.Binary) {
3996
+ return `query-engine-${binaryTarget}`;
3997
+ }
3998
+ return void 0;
3999
+ }
4000
+ function buildNFTAnnotation(fileName, relativeOutdir) {
4001
+ const relativeFilePath = path3.join(relativeOutdir, fileName);
4002
+ return `
4003
+ // file annotations for bundling tools to include these files
4004
+ path.join(__dirname, ${JSON.stringify(pathToPosix2(fileName))})
4005
+ path.join(process.cwd(), ${JSON.stringify(pathToPosix2(relativeFilePath))})`;
4006
+ }
4007
+
4008
+ // src/TSClient/file-generators/ClientFile.ts
3833
4009
  var jsDocHeader3 = `/*
3834
4010
  * This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types.
3835
4011
  * If you're looking for something you can import in the client-side of your application, please refer to the \`browser.ts\` file instead.
3836
- *
4012
+ *
3837
4013
  * \u{1F7E2} You can import this file directly.
3838
4014
  */
3839
4015
  `;
3840
4016
  function createClientFile(context, options) {
4017
+ const clientEngineType = getClientEngineType3(options.generator);
4018
+ options.generator.config.engineType = clientEngineType;
3841
4019
  const imports = [
3842
4020
  ts7.moduleImport(context.runtimeImport).asNamespace("runtime"),
3843
4021
  ts7.moduleImport(context.importFileName("./enums")).asNamespace("$Enums"),
@@ -3847,7 +4025,9 @@ function createClientFile(context, options) {
3847
4025
  const exports = [
3848
4026
  ts7.moduleExportFrom(context.importFileName("./enums")).asNamespace("$Enums"),
3849
4027
  ts7.moduleExportFrom(context.importFileName("./enums")),
3850
- ts7.moduleExport(ts7.constDeclaration("PrismaClient").setValue(ts7.functionCall("$Class.getPrismaClientClass", []))).setDocComment(getPrismaClientClassDocComment(context)),
4028
+ ts7.moduleExport(
4029
+ ts7.constDeclaration("PrismaClient").setValue(ts7.functionCall("$Class.getPrismaClientClass", [ts7.namedValue("__dirname")]))
4030
+ ).setDocComment(getPrismaClientClassDocComment(context)),
3851
4031
  ts7.moduleExport(
3852
4032
  ts7.typeDeclaration(
3853
4033
  "PrismaClient",
@@ -3861,6 +4041,8 @@ function createClientFile(context, options) {
3861
4041
  )
3862
4042
  )
3863
4043
  ].map((e) => ts7.stringify(e));
4044
+ const binaryTargets = clientEngineType === ClientEngineType2.Library ? Object.keys(options.binaryPaths.libqueryEngine ?? {}) : Object.keys(options.binaryPaths.queryEngine ?? {});
4045
+ const relativeOutdir = path4.relative(process.cwd(), options.outputDir);
3864
4046
  return `${jsDocHeader3}
3865
4047
  ${buildPreamble(options.edge, options.moduleFormat)}
3866
4048
  ${imports.join("\n")}
@@ -3868,6 +4050,8 @@ ${imports.join("\n")}
3868
4050
  ${exports.join("\n")}
3869
4051
  export { Prisma }
3870
4052
 
4053
+ ${buildNFTAnnotations(options.edge || !options.copyEngine, clientEngineType, binaryTargets, relativeOutdir)}
4054
+
3871
4055
  ${modelExports(context).join("\n")}
3872
4056
  `;
3873
4057
  }
@@ -3939,7 +4123,7 @@ export {}
3939
4123
  import * as ts15 from "@prisma/ts-builders";
3940
4124
 
3941
4125
  // src/TSClient/Model.ts
3942
- import { capitalize as capitalize8 } from "@prisma/client-common";
4126
+ import { capitalize as capitalize9 } from "@prisma/client-common";
3943
4127
  import * as DMMF2 from "@prisma/dmmf";
3944
4128
  import * as ts14 from "@prisma/ts-builders";
3945
4129
  import indent5 from "indent-string";
@@ -4025,7 +4209,7 @@ var ArgsTypeBuilder = class {
4025
4209
  };
4026
4210
 
4027
4211
  // src/TSClient/Count.ts
4028
- import { capitalize as capitalize7 } from "@prisma/client-common";
4212
+ import { capitalize as capitalize8 } from "@prisma/client-common";
4029
4213
  import * as ts11 from "@prisma/ts-builders";
4030
4214
  import indent4 from "indent-string";
4031
4215
 
@@ -4144,7 +4328,7 @@ ${this.argsTypes.map((typeExport) => ts11.stringify(typeExport)).join("\n\n")}
4144
4328
  }
4145
4329
  };
4146
4330
  function getCountArgsType(typeName, fieldName) {
4147
- return `${typeName}Count${capitalize7(fieldName)}Args`;
4331
+ return `${typeName}Count${capitalize8(fieldName)}Args`;
4148
4332
  }
4149
4333
 
4150
4334
  // src/TSClient/ModelFieldRefs.ts
@@ -4808,7 +4992,7 @@ function getNonAggregateMethodDependencyValidations(modelMapping, actionName, co
4808
4992
  objectType11.add(ts14.property(reqArg, ts14.objectType()));
4809
4993
  }
4810
4994
  validators.push(
4811
- ts14.genericParameter(`${capitalize8(args.name)}DependenciesValidator`).extends(
4995
+ ts14.genericParameter(`${capitalize9(args.name)}DependenciesValidator`).extends(
4812
4996
  ts14.conditionalType().check(ts14.stringLiteral(args.name)).extends(ts14.namedType("Prisma.Keys<T>")).then(objectType11).else(ts14.objectType())
4813
4997
  )
4814
4998
  );
@@ -4968,36 +5152,33 @@ function createModelsFile(context, modelsNames) {
4968
5152
  }
4969
5153
 
4970
5154
  // src/TSClient/file-generators/PrismaNamespaceBrowserFile.ts
4971
- import { datamodelSchemaEnumToSchemaEnum } from "@prisma/dmmf";
4972
5155
  import * as ts16 from "@prisma/ts-builders";
4973
5156
 
4974
5157
  // src/TSClient/NullTypes.ts
4975
5158
  var nullTypes = `
4976
5159
  export const NullTypes = {
4977
- DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull),
4978
- JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull),
4979
- AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull),
5160
+ DbNull: runtime.objectEnumValues.classes.DbNull as (new (secret: never) => typeof runtime.objectEnumValues.instances.DbNull),
5161
+ JsonNull: runtime.objectEnumValues.classes.JsonNull as (new (secret: never) => typeof runtime.objectEnumValues.instances.JsonNull),
5162
+ AnyNull: runtime.objectEnumValues.classes.AnyNull as (new (secret: never) => typeof runtime.objectEnumValues.instances.AnyNull),
4980
5163
  }
4981
5164
  /**
4982
5165
  * Helper for filtering JSON entries that have \`null\` on the database (empty on the db)
4983
5166
  *
4984
5167
  * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
4985
5168
  */
4986
- export const DbNull = runtime.DbNull
4987
-
5169
+ export const DbNull = runtime.objectEnumValues.instances.DbNull
4988
5170
  /**
4989
5171
  * Helper for filtering JSON entries that have JSON \`null\` values (not empty on the db)
4990
5172
  *
4991
5173
  * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
4992
5174
  */
4993
- export const JsonNull = runtime.JsonNull
4994
-
5175
+ export const JsonNull = runtime.objectEnumValues.instances.JsonNull
4995
5176
  /**
4996
5177
  * Helper for filtering JSON entries that are \`Prisma.DbNull\` or \`Prisma.JsonNull\`
4997
5178
  *
4998
5179
  * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
4999
5180
  */
5000
- export const AnyNull = runtime.AnyNull
5181
+ export const AnyNull = runtime.objectEnumValues.instances.AnyNull
5001
5182
  `;
5002
5183
 
5003
5184
  // src/TSClient/file-generators/PrismaNamespaceBrowserFile.ts
@@ -5014,9 +5195,7 @@ var jsDocHeader7 = `/*
5014
5195
  */
5015
5196
  `;
5016
5197
  function createPrismaNamespaceBrowserFile(context) {
5017
- const prismaEnums = context.dmmf.schema.enumTypes.prisma?.map(
5018
- (datamodelEnum) => new Enum(datamodelSchemaEnumToSchemaEnum(datamodelEnum), false).toTS()
5019
- );
5198
+ const prismaEnums = context.dmmf.schema.enumTypes.prisma?.map((type) => new Enum(type, true).toTS());
5020
5199
  return `${jsDocHeader7}
5021
5200
  ${ts16.stringify(ts16.moduleImport(`${context.runtimeBase}/index-browser`).asNamespace("runtime"))}
5022
5201
 
@@ -5030,10 +5209,7 @@ ${nullTypes}
5030
5209
  ${new Enum(
5031
5210
  {
5032
5211
  name: "ModelName",
5033
- data: context.dmmf.mappings.modelOperations.map((m) => ({
5034
- key: m.model,
5035
- value: m.model
5036
- }))
5212
+ values: context.dmmf.mappings.modelOperations.map((m) => m.model)
5037
5213
  },
5038
5214
  true
5039
5215
  ).toTS()}
@@ -5046,7 +5222,6 @@ ${prismaEnums?.join("\n\n")}
5046
5222
  }
5047
5223
 
5048
5224
  // src/TSClient/file-generators/PrismaNamespaceFile.ts
5049
- import { datamodelSchemaEnumToSchemaEnum as datamodelSchemaEnumToSchemaEnum2 } from "@prisma/dmmf";
5050
5225
  import * as ts19 from "@prisma/ts-builders";
5051
5226
 
5052
5227
  // src/TSClient/common.ts
@@ -5094,6 +5269,14 @@ export type Decimal = runtime.Decimal
5094
5269
 
5095
5270
  export type DecimalJsLike = runtime.DecimalJsLike
5096
5271
 
5272
+ /**
5273
+ * Metrics
5274
+ */
5275
+ export type Metrics = runtime.Metrics
5276
+ export type Metric<T> = runtime.Metric<T>
5277
+ export type MetricHistogram = runtime.MetricHistogram
5278
+ export type MetricHistogramBucket = runtime.MetricHistogramBucket
5279
+
5097
5280
  /**
5098
5281
  * Extensions
5099
5282
  */
@@ -5400,6 +5583,25 @@ export const skip = runtime.skip
5400
5583
  return "";
5401
5584
  }
5402
5585
 
5586
+ // src/TSClient/Datasources.ts
5587
+ import indent6 from "indent-string";
5588
+ var Datasources = class {
5589
+ constructor(internalDatasources) {
5590
+ this.internalDatasources = internalDatasources;
5591
+ }
5592
+ toTS() {
5593
+ const sources = this.internalDatasources;
5594
+ return `
5595
+ export type Datasource = {
5596
+ url?: string
5597
+ }
5598
+ export type Datasources = {
5599
+ ${indent6(sources.map((s) => `${s.name}?: Datasource`).join("\n"), 2)}
5600
+ }
5601
+ `;
5602
+ }
5603
+ };
5604
+
5403
5605
  // src/TSClient/FieldRefInput.ts
5404
5606
  var FieldRefInput = class {
5405
5607
  constructor(type) {
@@ -5559,9 +5761,7 @@ function createPrismaNamespaceFile(context, options) {
5559
5761
  ts19.moduleImport(context.importFileName(`../models`)).asNamespace("Prisma").typeOnly(),
5560
5762
  ts19.moduleImport(context.importFileName(`./class`)).named(ts19.namedImport("PrismaClient").typeOnly())
5561
5763
  ].map((i) => ts19.stringify(i));
5562
- const prismaEnums = context.dmmf.schema.enumTypes.prisma?.map(
5563
- (type) => new Enum(datamodelSchemaEnumToSchemaEnum2(type), true).toTS()
5564
- );
5764
+ const prismaEnums = context.dmmf.schema.enumTypes.prisma?.map((type) => new Enum(type, true).toTS());
5565
5765
  const fieldRefs = context.dmmf.schema.fieldRefTypes.prisma?.map((type) => new FieldRefInput(type).toTS()) ?? [];
5566
5766
  return `${jsDocHeader8}
5567
5767
  ${imports.join("\n")}
@@ -5572,10 +5772,7 @@ ${commonCodeTS(options)}
5572
5772
  ${new Enum(
5573
5773
  {
5574
5774
  name: "ModelName",
5575
- data: context.dmmf.mappings.modelOperations.map((m) => ({
5576
- key: m.model,
5577
- value: m.model
5578
- }))
5775
+ values: context.dmmf.mappings.modelOperations.map((m) => m.model)
5579
5776
  },
5580
5777
  true
5581
5778
  ).toTS()}
@@ -5602,10 +5799,11 @@ export type BatchPayload = {
5602
5799
  count: number
5603
5800
  }
5604
5801
 
5802
+ ${new Datasources(options.datasources).toTS()}
5605
5803
  ${clientExtensionsDefinitions()}
5606
5804
  export type DefaultPrismaClient = PrismaClient
5607
5805
  export type ErrorFormat = 'pretty' | 'colorless' | 'minimal'
5608
- ${ts19.stringify(ts19.moduleExport(buildClientOptions(context)))}
5806
+ ${ts19.stringify(ts19.moduleExport(buildClientOptions(context, options)))}
5609
5807
  ${ts19.stringify(globalOmitConfig(context.dmmf))}
5610
5808
 
5611
5809
  /* Types for Logging */
@@ -5681,19 +5879,12 @@ function clientExtensionsDefinitions() {
5681
5879
  );
5682
5880
  return ts19.stringify(define);
5683
5881
  }
5684
- function buildClientOptions(context) {
5685
- const adapterOption = ts19.objectType().add(
5686
- ts19.property("adapter", ts19.namedType("runtime.SqlDriverAdapterFactory")).setDocComment(ts19.docComment("Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-pg`."))
5687
- ).add(ts19.property("accelerateUrl", ts19.neverType).optional());
5688
- const accelerateUrlOption = ts19.objectType().add(
5689
- ts19.property("accelerateUrl", ts19.stringType).setDocComment(
5690
- ts19.docComment(
5691
- "Prisma Accelerate URL allowing the client to connect through Accelerate instead of a direct database."
5692
- )
5693
- )
5694
- ).add(ts19.property("adapter", ts19.neverType).optional());
5695
- const mutuallyExclusiveOptions = ts19.unionType([adapterOption, accelerateUrlOption]);
5696
- const otherOptions = ts19.objectType().add(
5882
+ function buildClientOptions(context, options) {
5883
+ const clientOptions = ts19.interfaceDeclaration("PrismaClientOptions").add(
5884
+ ts19.property("datasources", ts19.namedType("Datasources")).optional().setDocComment(ts19.docComment("Overwrites the datasource url from your schema.prisma file"))
5885
+ ).add(
5886
+ ts19.property("datasourceUrl", ts19.stringType).optional().setDocComment(ts19.docComment("Overwrites the datasource url from your schema.prisma file"))
5887
+ ).add(
5697
5888
  ts19.property("errorFormat", ts19.namedType("ErrorFormat")).optional().setDocComment(ts19.docComment('@default "colorless"'))
5698
5889
  ).add(
5699
5890
  ts19.property("log", ts19.array(ts19.unionType([ts19.namedType("LogLevel"), ts19.namedType("LogDefinition")]))).optional().setDocComment(ts19.docComment`
@@ -5718,21 +5909,28 @@ function buildClientOptions(context) {
5718
5909
  { emit: 'stdout', level: 'error' }
5719
5910
  ]
5720
5911
  \`\`\`
5721
- Read more in our [docs](https://pris.ly/d/logging).
5912
+ Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option).
5722
5913
  `)
5723
5914
  );
5724
5915
  const transactionOptions = ts19.objectType().add(ts19.property("maxWait", ts19.numberType).optional()).add(ts19.property("timeout", ts19.numberType).optional());
5725
5916
  if (context.dmmf.hasEnumInNamespace("TransactionIsolationLevel", "prisma")) {
5726
5917
  transactionOptions.add(ts19.property("isolationLevel", ts19.namedType("TransactionIsolationLevel")).optional());
5727
5918
  }
5728
- otherOptions.add(
5919
+ clientOptions.add(
5729
5920
  ts19.property("transactionOptions", transactionOptions).optional().setDocComment(ts19.docComment`
5730
5921
  The default values for transactionOptions
5731
5922
  maxWait ?= 2000
5732
5923
  timeout ?= 5000
5733
5924
  `)
5734
5925
  );
5735
- otherOptions.add(
5926
+ if (["library", "client", "wasm-compiler-edge", "wasm-engine-edge"].includes(options.runtimeName)) {
5927
+ clientOptions.add(
5928
+ ts19.property("adapter", ts19.unionType([ts19.namedType("runtime.SqlDriverAdapterFactory"), ts19.namedType("null")])).optional().setDocComment(
5929
+ ts19.docComment("Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale`")
5930
+ )
5931
+ );
5932
+ }
5933
+ clientOptions.add(
5736
5934
  ts19.property("omit", ts19.namedType("GlobalOmitConfig")).optional().setDocComment(ts19.docComment`
5737
5935
  Global configuration for omitting model fields by default.
5738
5936
 
@@ -5748,27 +5946,7 @@ function buildClientOptions(context) {
5748
5946
  \`\`\`
5749
5947
  `)
5750
5948
  );
5751
- if (context.isSqlProvider()) {
5752
- otherOptions.add(
5753
- ts19.property("comments", ts19.array(ts19.namedType("runtime.SqlCommenterPlugin"))).optional().setDocComment(ts19.docComment`
5754
- SQL commenter plugins that add metadata to SQL queries as comments.
5755
- Comments follow the sqlcommenter format: https://google.github.io/sqlcommenter/
5756
-
5757
- @example
5758
- \`\`\`
5759
- const prisma = new PrismaClient({
5760
- adapter,
5761
- comments: [
5762
- traceContext(),
5763
- queryInsights(),
5764
- ],
5765
- })
5766
- \`\`\`
5767
- `)
5768
- );
5769
- }
5770
- const prismaClientOptions = ts19.intersectionType([mutuallyExclusiveOptions, otherOptions]);
5771
- return ts19.typeDeclaration("PrismaClientOptions", prismaClientOptions);
5949
+ return clientOptions;
5772
5950
  }
5773
5951
 
5774
5952
  // src/TSClient/GenerateContext.ts
@@ -5780,32 +5958,26 @@ var GenerateContext = class {
5780
5958
  outputFileName;
5781
5959
  importFileName;
5782
5960
  generator;
5783
- provider;
5784
5961
  constructor({
5785
5962
  dmmf,
5786
5963
  genericArgsInfo,
5787
5964
  runtimeBase,
5788
- runtimeImport,
5965
+ runtimeImport: runtimeImport2,
5789
5966
  outputFileName,
5790
5967
  importFileName,
5791
- generator,
5792
- provider
5968
+ generator
5793
5969
  }) {
5794
5970
  this.dmmf = dmmf;
5795
5971
  this.genericArgsInfo = genericArgsInfo;
5796
5972
  this.runtimeBase = runtimeBase;
5797
- this.runtimeImport = runtimeImport;
5973
+ this.runtimeImport = runtimeImport2;
5798
5974
  this.outputFileName = outputFileName;
5799
5975
  this.importFileName = importFileName;
5800
5976
  this.generator = generator;
5801
- this.provider = provider;
5802
5977
  }
5803
5978
  isPreviewFeatureOn(previewFeature) {
5804
5979
  return this.generator?.previewFeatures?.includes(previewFeature) ?? false;
5805
5980
  }
5806
- isSqlProvider() {
5807
- return this.provider !== "mongodb";
5808
- }
5809
5981
  };
5810
5982
 
5811
5983
  // src/TSClient/TSClient.ts
@@ -5825,8 +5997,7 @@ var TSClient = class {
5825
5997
  runtimeImport: `${this.options.runtimeBase}/${this.options.runtimeName}`,
5826
5998
  outputFileName: generatedFileNameMapper(this.options.generatedFileExtension),
5827
5999
  importFileName: importFileNameMapper(this.options.importFileExtension),
5828
- generator: this.options.generator,
5829
- provider: this.options.activeProvider
6000
+ generator: this.options.generator
5830
6001
  });
5831
6002
  const modelNames = Object.values(context.dmmf.typeAndModelMap).filter((model) => context.dmmf.outputTypeMap.model[model.name]).map((model) => model.name);
5832
6003
  const modelsFileMap = modelNames.reduce((acc, modelName) => {
@@ -6119,6 +6290,9 @@ function buildClient({
6119
6290
  engineVersion,
6120
6291
  clientVersion,
6121
6292
  activeProvider,
6293
+ postinstall,
6294
+ copyEngine,
6295
+ envPaths,
6122
6296
  typedSql,
6123
6297
  target,
6124
6298
  generatedFileExtension,
@@ -6126,11 +6300,13 @@ function buildClient({
6126
6300
  moduleFormat,
6127
6301
  tsNoCheckPreamble: tsNoCheckPreamble2
6128
6302
  }) {
6129
- const runtimeName = getRuntimeNameForTarget(target);
6303
+ const clientEngineType = getClientEngineType4(generator);
6304
+ const runtimeName = getRuntimeNameForTarget(target, clientEngineType);
6130
6305
  const outputName = generatedFileNameMapper(generatedFileExtension);
6131
6306
  const importName = importFileNameMapper(importFileExtension);
6132
6307
  const clientOptions = {
6133
6308
  dmmf: getPrismaClientDMMF(dmmf),
6309
+ envPaths: envPaths ?? { rootEnvPath: null, schemaEnvPath: void 0 },
6134
6310
  datasources,
6135
6311
  generator,
6136
6312
  binaryPaths,
@@ -6140,8 +6316,10 @@ function buildClient({
6140
6316
  clientVersion,
6141
6317
  engineVersion,
6142
6318
  activeProvider,
6319
+ postinstall,
6320
+ copyEngine,
6143
6321
  datamodel,
6144
- edge: ["wasm-compiler-edge"].includes(runtimeName),
6322
+ edge: ["edge", "wasm-engine-edge", "wasm-compiler-edge", "react-native"].includes(runtimeName),
6145
6323
  runtimeName,
6146
6324
  target,
6147
6325
  generatedFileExtension,
@@ -6149,6 +6327,9 @@ function buildClient({
6149
6327
  moduleFormat,
6150
6328
  tsNoCheckPreamble: tsNoCheckPreamble2
6151
6329
  };
6330
+ if (runtimeName === "react-native" && !generator.previewFeatures.includes("reactNative")) {
6331
+ throw new Error(`Using the "react-native" runtime requires the "reactNative" preview feature to be enabled.`);
6332
+ }
6152
6333
  const client = new TSClient(clientOptions);
6153
6334
  let fileMap = client.generateClientFiles();
6154
6335
  if (typedSql && typedSql.length > 0) {
@@ -6202,6 +6383,9 @@ async function generateClient(options) {
6202
6383
  clientVersion,
6203
6384
  engineVersion,
6204
6385
  activeProvider,
6386
+ postinstall,
6387
+ envPaths,
6388
+ copyEngine = true,
6205
6389
  typedSql,
6206
6390
  target,
6207
6391
  generatedFileExtension,
@@ -6209,6 +6393,7 @@ async function generateClient(options) {
6209
6393
  moduleFormat,
6210
6394
  tsNoCheckPreamble: tsNoCheckPreamble2
6211
6395
  } = options;
6396
+ const clientEngineType = getClientEngineType4(generator);
6212
6397
  const { runtimeBase, outputDir } = await getGenerationDirs(options);
6213
6398
  const { prismaClientDmmf, fileMap } = buildClient({
6214
6399
  datamodel,
@@ -6222,6 +6407,9 @@ async function generateClient(options) {
6222
6407
  clientVersion,
6223
6408
  engineVersion,
6224
6409
  activeProvider,
6410
+ postinstall,
6411
+ copyEngine,
6412
+ envPaths,
6225
6413
  typedSql,
6226
6414
  target,
6227
6415
  generatedFileExtension,
@@ -6245,11 +6433,27 @@ To learn more about how to rename models, check out https://pris.ly/d/naming-mod
6245
6433
  await deleteOutputDir(outputDir);
6246
6434
  await (0, import_fs_extra.ensureDir)(outputDir);
6247
6435
  await writeFileMap(outputDir, fileMap);
6436
+ const enginePath = clientEngineType === ClientEngineType3.Library ? binaryPaths.libqueryEngine : binaryPaths.queryEngine;
6437
+ if (copyEngine && enginePath) {
6438
+ if (process.env.NETLIFY) {
6439
+ await (0, import_fs_extra.ensureDir)("/tmp/prisma-engines");
6440
+ }
6441
+ for (const [binaryTarget, filePath] of Object.entries(enginePath)) {
6442
+ const fileName = path5.basename(filePath);
6443
+ let target2;
6444
+ if (process.env.NETLIFY && !["rhel-openssl-1.0.x", "rhel-openssl-3.0.x"].includes(binaryTarget)) {
6445
+ target2 = path5.join("/tmp/prisma-engines", fileName);
6446
+ } else {
6447
+ target2 = path5.join(outputDir, fileName);
6448
+ }
6449
+ await overwriteFile(filePath, target2);
6450
+ }
6451
+ }
6248
6452
  }
6249
6453
  function writeFileMap(outputDir, fileMap) {
6250
6454
  return Promise.all(
6251
6455
  Object.entries(fileMap).map(async ([fileName, content]) => {
6252
- const absolutePath = path2.join(outputDir, fileName);
6456
+ const absolutePath = path5.join(outputDir, fileName);
6253
6457
  await fs2.rm(absolutePath, { recursive: true, force: true });
6254
6458
  if (typeof content === "string" || Buffer.isBuffer(content)) {
6255
6459
  await fs2.writeFile(absolutePath, content);
@@ -6338,28 +6542,42 @@ function validateDmmfAgainstDenylists(prismaClientDmmf) {
6338
6542
  return errorArray.length > 0 ? errorArray : null;
6339
6543
  }
6340
6544
  async function getGenerationDirs({ runtimeBase, outputDir }) {
6341
- const normalizedOutputDir = path2.normalize(outputDir);
6342
- const normalizedRuntimeBase = pathToPosix(runtimeBase);
6343
- const userPackageRoot = await packageUp({ cwd: path2.dirname(normalizedOutputDir) });
6344
- const userProjectRoot = userPackageRoot ? path2.dirname(userPackageRoot) : process.cwd();
6545
+ const normalizedOutputDir = path5.normalize(outputDir);
6546
+ const normalizedRuntimeBase = pathToPosix3(runtimeBase);
6547
+ const userPackageRoot = await packageUp({ cwd: path5.dirname(normalizedOutputDir) });
6548
+ const userProjectRoot = userPackageRoot ? path5.dirname(userPackageRoot) : process.cwd();
6345
6549
  return {
6346
6550
  runtimeBase: normalizedRuntimeBase,
6347
6551
  outputDir: normalizedOutputDir,
6348
6552
  projectRoot: userProjectRoot
6349
6553
  };
6350
6554
  }
6351
- function getRuntimeNameForTarget(target) {
6555
+ function getRuntimeNameForTarget(target, engineType) {
6352
6556
  switch (target) {
6353
6557
  case "nodejs":
6354
6558
  case "deno":
6355
- return "client";
6559
+ return getNodeRuntimeName(engineType);
6356
6560
  case "workerd":
6357
6561
  case "vercel-edge":
6358
- return "wasm-compiler-edge";
6562
+ return engineType === ClientEngineType3.Client ? "wasm-compiler-edge" : "wasm-engine-edge";
6563
+ case "react-native":
6564
+ return "react-native";
6359
6565
  default:
6360
6566
  assertNever3(target, "Unknown runtime target");
6361
6567
  }
6362
6568
  }
6569
+ function getNodeRuntimeName(engineType) {
6570
+ if (engineType === ClientEngineType3.Binary) {
6571
+ return "binary";
6572
+ }
6573
+ if (engineType === ClientEngineType3.Library) {
6574
+ return "library";
6575
+ }
6576
+ if (engineType === ClientEngineType3.Client) {
6577
+ return "client";
6578
+ }
6579
+ assertNever3(engineType, "Unknown engine type");
6580
+ }
6363
6581
  async function deleteOutputDir(outputDir) {
6364
6582
  try {
6365
6583
  const files = await fs2.readdir(outputDir);
@@ -6394,12 +6612,14 @@ async function deleteOutputDir(outputDir) {
6394
6612
  }
6395
6613
 
6396
6614
  // src/generator.ts
6615
+ import { Debug as Debug2 } from "@prisma/debug";
6397
6616
  import { enginesVersion } from "@prisma/engines-version";
6398
- import { parseEnvValue } from "@prisma/internals";
6617
+ import { ClientEngineType as ClientEngineType4, getClientEngineType as getClientEngineType5, parseEnvValue } from "@prisma/internals";
6399
6618
  import { getTsconfig } from "get-tsconfig";
6619
+ import { match as match2 } from "ts-pattern";
6400
6620
 
6401
6621
  // package.json
6402
- var version = "7.2.0-integration-engines-7-2-0-3-aqrln-zpupkzknszlw-04d61c41ec1a025cabe14093fa3121a5f45040ab.1";
6622
+ var version = "7.3.0-integration-fix-6-19-0-cloudflare-accelerate-engine.1";
6403
6623
 
6404
6624
  // src/module-format.ts
6405
6625
  function parseModuleFormat(format) {
@@ -6442,7 +6662,16 @@ function fromTsConfigModule(module) {
6442
6662
  }
6443
6663
 
6444
6664
  // src/runtime-targets.ts
6445
- var supportedPublicRuntimes = ["nodejs", "deno", "bun", "workerd", "cloudflare", "vercel-edge", "edge-light"];
6665
+ var supportedPublicRuntimes = [
6666
+ "nodejs",
6667
+ "deno",
6668
+ "bun",
6669
+ "workerd",
6670
+ "cloudflare",
6671
+ "vercel-edge",
6672
+ "edge-light",
6673
+ "react-native"
6674
+ ];
6446
6675
  function parseRuntimeTarget(target) {
6447
6676
  switch (target.toLowerCase()) {
6448
6677
  case "workerd":
@@ -6456,6 +6685,8 @@ function parseRuntimeTarget(target) {
6456
6685
  return "nodejs";
6457
6686
  case "deno":
6458
6687
  return "deno";
6688
+ case "react-native":
6689
+ return "react-native";
6459
6690
  default:
6460
6691
  throw new Error(
6461
6692
  `Unknown target runtime: "${target}". The available options are: ${supportedPublicRuntimes.map((runtime) => `"${runtime}"`).join(", ")}`
@@ -6470,6 +6701,7 @@ function parseRuntimeTargetFromUnknown(target) {
6470
6701
  }
6471
6702
 
6472
6703
  // src/generator.ts
6704
+ var debug2 = Debug2("prisma:client:generator");
6473
6705
  var missingOutputErrorMessage = `An output path is required for the \`prisma-client\` generator. Please provide an output path in your schema file:
6474
6706
 
6475
6707
  ${dim(`generator client {
@@ -6488,11 +6720,13 @@ function getOutputPath(config) {
6488
6720
  var PrismaClientTsGenerator = class {
6489
6721
  name = "prisma-client-ts";
6490
6722
  getManifest(config) {
6723
+ const requiresEngines = match2(getClientEngineType5(config)).with(ClientEngineType4.Library, () => ["libqueryEngine"]).with(ClientEngineType4.Binary, () => ["queryEngine"]).with(ClientEngineType4.Client, () => []).exhaustive();
6724
+ debug2("requiresEngines", requiresEngines);
6491
6725
  return Promise.resolve({
6492
6726
  defaultOutput: getOutputPath(config),
6493
6727
  prettyName: "Prisma Client",
6494
6728
  version,
6495
- requiresEngines: [],
6729
+ requiresEngines,
6496
6730
  requiresEngineVersion: enginesVersion
6497
6731
  });
6498
6732
  }
@@ -6517,6 +6751,7 @@ var PrismaClientTsGenerator = class {
6517
6751
  schemaPath: options.schemaPath,
6518
6752
  binaryPaths: options.binaryPaths,
6519
6753
  datasources: options.datasources,
6754
+ envPaths: options.envPaths,
6520
6755
  outputDir,
6521
6756
  runtimeBase: "@prisma/client/runtime",
6522
6757
  dmmf: options.dmmf,
@@ -6524,6 +6759,8 @@ var PrismaClientTsGenerator = class {
6524
6759
  engineVersion: options.version,
6525
6760
  clientVersion: version,
6526
6761
  activeProvider: options.datasources[0]?.activeProvider,
6762
+ postinstall: options.postinstall,
6763
+ copyEngine: !options.noEngine,
6527
6764
  typedSql: options.typedSql,
6528
6765
  target,
6529
6766
  generatedFileExtension,