drizzle-kit 0.24.1-87d7704 → 0.24.1-e2f75fb

Sign up to get free protection for your applications and to get access to all the features.
Files changed (8) hide show
  1. package/api.js +6681 -48191
  2. package/api.mjs +6681 -48190
  3. package/bin.cjs +122 -35
  4. package/index.d.mts +10 -4
  5. package/index.d.ts +10 -4
  6. package/package.json +1 -2
  7. package/utils.js +8 -0
  8. package/utils.mjs +7 -0
package/bin.cjs CHANGED
@@ -6584,7 +6584,7 @@ var init_sqliteSchema = __esm({
6584
6584
  function isPgArrayType(sqlType) {
6585
6585
  return sqlType.match(/.*\[\d*\].*|.*\[\].*/g) !== null;
6586
6586
  }
6587
- var import_fs, import_path, import_url, copy, objectValues, assertV1OutFolder, dryJournal, prepareOutFolder, validatorForDialect, validateWithReport, prepareMigrationFolder, prepareMigrationMeta, schemaRenameKey, tableRenameKey, columnRenameKey, normaliseSQLiteUrl;
6587
+ var import_fs, import_path, import_url, copy, objectValues, assertV1OutFolder, dryJournal, prepareOutFolder, validatorForDialect, validateWithReport, prepareMigrationFolder, prepareMigrationMeta, schemaRenameKey, tableRenameKey, columnRenameKey, normaliseSQLiteUrl, normalisePGliteUrl;
6588
6588
  var init_utils = __esm({
6589
6589
  "src/utils.ts"() {
6590
6590
  "use strict";
@@ -6781,6 +6781,12 @@ var init_utils = __esm({
6781
6781
  }
6782
6782
  assertUnreachable(type);
6783
6783
  };
6784
+ normalisePGliteUrl = (it) => {
6785
+ if (it.startsWith("file:")) {
6786
+ return it.substring(5);
6787
+ }
6788
+ return it;
6789
+ };
6784
6790
  }
6785
6791
  });
6786
6792
 
@@ -11235,7 +11241,7 @@ var init_outputs = __esm({
11235
11241
  });
11236
11242
 
11237
11243
  // src/cli/validations/common.ts
11238
- var assertCollisions, sqliteDriversLiterals, prefixes, prefix, sqliteDriver, postgresDriver, driver, configMigrations, configCommonSchema, casing, introspectParams, configIntrospectCliSchema, configGenerateSchema, configPushSchema, drivers, wrapParam;
11244
+ var assertCollisions, sqliteDriversLiterals, postgresqlDriversLiterals, prefixes, prefix, sqliteDriver, postgresDriver, driver, configMigrations, configCommonSchema, casing, introspectParams, configIntrospectCliSchema, configGenerateSchema, configPushSchema, drivers, wrapParam;
11239
11245
  var init_common = __esm({
11240
11246
  "src/cli/validations/common.ts"() {
11241
11247
  "use strict";
@@ -11265,6 +11271,10 @@ var init_common = __esm({
11265
11271
  literalType("d1-http"),
11266
11272
  literalType("expo")
11267
11273
  ];
11274
+ postgresqlDriversLiterals = [
11275
+ literalType("aws-data-api"),
11276
+ literalType("pglite")
11277
+ ];
11268
11278
  prefixes = [
11269
11279
  "index",
11270
11280
  "timestamp",
@@ -11277,7 +11287,7 @@ var init_common = __esm({
11277
11287
  const _2 = "";
11278
11288
  }
11279
11289
  sqliteDriver = unionType(sqliteDriversLiterals);
11280
- postgresDriver = literalType("aws-data-api");
11290
+ postgresDriver = unionType(postgresqlDriversLiterals);
11281
11291
  driver = unionType([sqliteDriver, postgresDriver]);
11282
11292
  configMigrations = objectType({
11283
11293
  table: stringType().optional(),
@@ -11333,7 +11343,7 @@ var init_common = __esm({
11333
11343
  strict: booleanType().default(false),
11334
11344
  out: stringType().optional()
11335
11345
  });
11336
- drivers = ["turso", "d1-http", "expo", "aws-data-api"];
11346
+ drivers = ["turso", "d1-http", "expo", "aws-data-api", "pglite"];
11337
11347
  wrapParam = (name, param, optional = false, type) => {
11338
11348
  const check2 = `[${source_default.green("\u2713")}]`;
11339
11349
  const cross = `[${source_default.red("x")}]`;
@@ -11505,6 +11515,10 @@ var init_postgres = __esm({
11505
11515
  database: stringType().min(1),
11506
11516
  secretArn: stringType().min(1),
11507
11517
  resourceArn: stringType().min(1)
11518
+ }),
11519
+ objectType({
11520
+ driver: literalType("pglite"),
11521
+ url: stringType().min(1)
11508
11522
  })
11509
11523
  ]);
11510
11524
  printConfigConnectionIssues2 = (options) => {
@@ -22981,11 +22995,11 @@ var init_sqlgenerator = __esm({
22981
22995
  const schemaPrefix = column7.typeSchema && column7.typeSchema !== "public" ? `"${column7.typeSchema}".` : "";
22982
22996
  const type = isPgNativeType(column7.type) ? column7.type : `${schemaPrefix}"${column7.type}"`;
22983
22997
  const generated = column7.generated;
22984
- const generatedStatement = ` GENERATED ALWAYS AS (${generated == null ? void 0 : generated.as}) STORED`;
22998
+ const generatedStatement = generated ? ` GENERATED ALWAYS AS (${generated == null ? void 0 : generated.as}) STORED` : "";
22985
22999
  const unsquashedIdentity = column7.identity ? PgSquasher.unsquashIdentity(column7.identity) : void 0;
22986
23000
  const identityWithSchema = schema5 ? `"${schema5}"."${unsquashedIdentity == null ? void 0 : unsquashedIdentity.name}"` : `"${unsquashedIdentity == null ? void 0 : unsquashedIdentity.name}"`;
22987
23001
  const identity = unsquashedIdentity ? ` GENERATED ${unsquashedIdentity.type === "always" ? "ALWAYS" : "BY DEFAULT"} AS IDENTITY (sequence name ${identityWithSchema}${unsquashedIdentity.increment ? ` INCREMENT BY ${unsquashedIdentity.increment}` : ""}${unsquashedIdentity.minValue ? ` MINVALUE ${unsquashedIdentity.minValue}` : ""}${unsquashedIdentity.maxValue ? ` MAXVALUE ${unsquashedIdentity.maxValue}` : ""}${unsquashedIdentity.startWith ? ` START WITH ${unsquashedIdentity.startWith}` : ""}${unsquashedIdentity.cache ? ` CACHE ${unsquashedIdentity.cache}` : ""}${unsquashedIdentity.cycle ? ` CYCLE` : ""})` : "";
22988
- statement += ` "${column7.name}" ${type}${primaryKeyStatement}${defaultStatement}${notNullStatement}${uniqueConstraint4}${generated ? generatedStatement : ""}${identity}`;
23002
+ statement += ` "${column7.name}" ${type}${primaryKeyStatement}${defaultStatement}${generatedStatement}${notNullStatement}${uniqueConstraint4}${identity}`;
22989
23003
  statement += i2 === columns.length - 1 ? "" : ",\n";
22990
23004
  }
22991
23005
  if (typeof compositePKs !== "undefined" && compositePKs.length > 0) {
@@ -23032,7 +23046,7 @@ var init_sqlgenerator = __esm({
23032
23046
  const onUpdateStatement = column7.onUpdate ? ` ON UPDATE CURRENT_TIMESTAMP` : "";
23033
23047
  const autoincrementStatement = column7.autoincrement ? " AUTO_INCREMENT" : "";
23034
23048
  const generatedStatement = column7.generated ? ` GENERATED ALWAYS AS (${(_a = column7.generated) == null ? void 0 : _a.as}) ${(_b = column7.generated) == null ? void 0 : _b.type.toUpperCase()}` : "";
23035
- statement += ` \`${column7.name}\` ${column7.type}${autoincrementStatement}${primaryKeyStatement}${notNullStatement}${defaultStatement}${onUpdateStatement}${generatedStatement}`;
23049
+ statement += ` \`${column7.name}\` ${column7.type}${autoincrementStatement}${primaryKeyStatement}${generatedStatement}${notNullStatement}${defaultStatement}${onUpdateStatement}`;
23036
23050
  statement += i2 === columns.length - 1 ? "" : ",\n";
23037
23051
  }
23038
23052
  if (typeof compositePKs !== "undefined" && compositePKs.length > 0) {
@@ -23081,7 +23095,7 @@ var init_sqlgenerator = __esm({
23081
23095
  const autoincrementStatement = column7.autoincrement ? " AUTOINCREMENT" : "";
23082
23096
  const generatedStatement = column7.generated ? ` GENERATED ALWAYS AS ${column7.generated.as} ${column7.generated.type.toUpperCase()}` : "";
23083
23097
  statement += " ";
23084
- statement += `\`${column7.name}\` ${column7.type}${primaryKeyStatement}${autoincrementStatement}${defaultStatement}${notNullStatement}${generatedStatement}`;
23098
+ statement += `\`${column7.name}\` ${column7.type}${primaryKeyStatement}${autoincrementStatement}${defaultStatement}${generatedStatement}${notNullStatement}`;
23085
23099
  statement += i2 === columns.length - 1 ? "" : ",\n";
23086
23100
  }
23087
23101
  compositePKs.forEach((it) => {
@@ -23471,8 +23485,8 @@ var init_sqlgenerator = __esm({
23471
23485
  const unsquashedIdentity = identity ? PgSquasher.unsquashIdentity(identity) : void 0;
23472
23486
  const identityWithSchema = schema5 ? `"${schema5}"."${unsquashedIdentity == null ? void 0 : unsquashedIdentity.name}"` : `"${unsquashedIdentity == null ? void 0 : unsquashedIdentity.name}"`;
23473
23487
  const identityStatement = unsquashedIdentity ? ` GENERATED ${unsquashedIdentity.type === "always" ? "ALWAYS" : "BY DEFAULT"} AS IDENTITY (sequence name ${identityWithSchema}${unsquashedIdentity.increment ? ` INCREMENT BY ${unsquashedIdentity.increment}` : ""}${unsquashedIdentity.minValue ? ` MINVALUE ${unsquashedIdentity.minValue}` : ""}${unsquashedIdentity.maxValue ? ` MAXVALUE ${unsquashedIdentity.maxValue}` : ""}${unsquashedIdentity.startWith ? ` START WITH ${unsquashedIdentity.startWith}` : ""}${unsquashedIdentity.cache ? ` CACHE ${unsquashedIdentity.cache}` : ""}${unsquashedIdentity.cycle ? ` CYCLE` : ""})` : "";
23474
- const generatedStatement = ` GENERATED ALWAYS AS (${generated == null ? void 0 : generated.as}) STORED`;
23475
- return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name}" ${fixedType}${primaryKeyStatement}${defaultStatement}${notNullStatement}${generated ? generatedStatement : ""}${identityStatement};`;
23488
+ const generatedStatement = generated ? ` GENERATED ALWAYS AS (${generated == null ? void 0 : generated.as}) STORED` : "";
23489
+ return `ALTER TABLE ${tableNameWithSchema} ADD COLUMN "${name}" ${fixedType}${primaryKeyStatement}${defaultStatement}${generatedStatement}${notNullStatement}${identityStatement};`;
23476
23490
  }
23477
23491
  };
23478
23492
  MySqlAlterTableAddColumnConvertor = class extends Convertor {
@@ -23496,7 +23510,7 @@ var init_sqlgenerator = __esm({
23496
23510
  const autoincrementStatement = `${autoincrement ? " AUTO_INCREMENT" : ""}`;
23497
23511
  const onUpdateStatement = `${onUpdate ? " ON UPDATE CURRENT_TIMESTAMP" : ""}`;
23498
23512
  const generatedStatement = generated ? ` GENERATED ALWAYS AS (${generated == null ? void 0 : generated.as}) ${generated == null ? void 0 : generated.type.toUpperCase()}` : "";
23499
- return `ALTER TABLE \`${tableName}\` ADD \`${name}\` ${type}${primaryKeyStatement}${autoincrementStatement}${defaultStatement}${notNullStatement}${onUpdateStatement}${generatedStatement};`;
23513
+ return `ALTER TABLE \`${tableName}\` ADD \`${name}\` ${type}${primaryKeyStatement}${autoincrementStatement}${defaultStatement}${generatedStatement}${notNullStatement}${onUpdateStatement};`;
23500
23514
  }
23501
23515
  };
23502
23516
  SQLiteAlterTableAddColumnConvertor = class extends Convertor {
@@ -23512,7 +23526,7 @@ var init_sqlgenerator = __esm({
23512
23526
  const referenceAsObject = referenceData ? SQLiteSquasher.unsquashFK(referenceData) : void 0;
23513
23527
  const referenceStatement = `${referenceAsObject ? ` REFERENCES ${referenceAsObject.tableTo}(${referenceAsObject.columnsTo})` : ""}`;
23514
23528
  const generatedStatement = generated ? ` GENERATED ALWAYS AS ${generated.as} ${generated.type.toUpperCase()}` : "";
23515
- return `ALTER TABLE \`${tableName}\` ADD \`${name}\` ${type}${primaryKeyStatement}${defaultStatement}${notNullStatement}${generatedStatement}${referenceStatement};`;
23529
+ return `ALTER TABLE \`${tableName}\` ADD \`${name}\` ${type}${primaryKeyStatement}${defaultStatement}${generatedStatement}${notNullStatement}${referenceStatement};`;
23516
23530
  }
23517
23531
  };
23518
23532
  PgAlterTableAlterColumnSetTypeConvertor = class extends Convertor {
@@ -23973,7 +23987,7 @@ var init_sqlgenerator = __esm({
23973
23987
  columnGenerated = statement.columnGenerated ? ` GENERATED ALWAYS AS (${(_f = statement.columnGenerated) == null ? void 0 : _f.as}) ${(_g = statement.columnGenerated) == null ? void 0 : _g.type.toUpperCase()}` : "";
23974
23988
  }
23975
23989
  columnDefault = columnDefault instanceof Date ? columnDefault.toISOString() : columnDefault;
23976
- return `ALTER TABLE \`${tableName}\` MODIFY COLUMN \`${columnName}\`${columnType}${columnAutoincrement}${columnNotNull}${columnDefault}${columnOnUpdate}${columnGenerated};`;
23990
+ return `ALTER TABLE \`${tableName}\` MODIFY COLUMN \`${columnName}\`${columnType}${columnAutoincrement}${columnGenerated}${columnNotNull}${columnDefault}${columnOnUpdate};`;
23977
23991
  }
23978
23992
  };
23979
23993
  SqliteAlterTableAlterColumnDropDefaultConvertor = class extends Convertor {
@@ -67548,9 +67562,9 @@ var require_dist_cjs47 = __commonJS({
67548
67562
  }
67549
67563
  });
67550
67564
 
67551
- // ../node_modules/.pnpm/@aws-sdk+token-providers@3.577.0_@aws-sdk+client-sso-oidc@3.583.0/node_modules/@aws-sdk/token-providers/dist-cjs/index.js
67565
+ // ../node_modules/.pnpm/@aws-sdk+token-providers@3.577.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts@3.583.0_/node_modules/@aws-sdk/token-providers/dist-cjs/index.js
67552
67566
  var require_dist_cjs48 = __commonJS({
67553
- "../node_modules/.pnpm/@aws-sdk+token-providers@3.577.0_@aws-sdk+client-sso-oidc@3.583.0/node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports2, module2) {
67567
+ "../node_modules/.pnpm/@aws-sdk+token-providers@3.577.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts@3.583.0_/node_modules/@aws-sdk/token-providers/dist-cjs/index.js"(exports2, module2) {
67554
67568
  "use strict";
67555
67569
  var __create3 = Object.create;
67556
67570
  var __defProp3 = Object.defineProperty;
@@ -67728,9 +67742,9 @@ var require_dist_cjs48 = __commonJS({
67728
67742
  }
67729
67743
  });
67730
67744
 
67731
- // ../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.583.0_@aws-sdk+client-sso-oidc@3.583.0/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js
67745
+ // ../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts@3.583.0_/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js
67732
67746
  var require_dist_cjs49 = __commonJS({
67733
- "../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.583.0_@aws-sdk+client-sso-oidc@3.583.0/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports2, module2) {
67747
+ "../node_modules/.pnpm/@aws-sdk+credential-provider-sso@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts@3.583.0_/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js"(exports2, module2) {
67734
67748
  "use strict";
67735
67749
  var __defProp3 = Object.defineProperty;
67736
67750
  var __getOwnPropDesc3 = Object.getOwnPropertyDescriptor;
@@ -70005,9 +70019,9 @@ var require_dist_cjs52 = __commonJS({
70005
70019
  }
70006
70020
  });
70007
70021
 
70008
- // ../node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts@3.583.0/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js
70022
+ // ../node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts_n4voux45fymjghrdt4o3r57x4m/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js
70009
70023
  var require_dist_cjs53 = __commonJS({
70010
- "../node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts@3.583.0/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports2, module2) {
70024
+ "../node_modules/.pnpm/@aws-sdk+credential-provider-ini@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts_n4voux45fymjghrdt4o3r57x4m/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js"(exports2, module2) {
70011
70025
  "use strict";
70012
70026
  var __create3 = Object.create;
70013
70027
  var __defProp3 = Object.defineProperty;
@@ -70175,9 +70189,9 @@ var require_dist_cjs53 = __commonJS({
70175
70189
  }
70176
70190
  });
70177
70191
 
70178
- // ../node_modules/.pnpm/@aws-sdk+credential-provider-node@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts@3.583.0/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js
70192
+ // ../node_modules/.pnpm/@aws-sdk+credential-provider-node@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-st_qaylqvuvqkdeetlwmxiq34v6lq/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js
70179
70193
  var require_dist_cjs54 = __commonJS({
70180
- "../node_modules/.pnpm/@aws-sdk+credential-provider-node@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-sts@3.583.0/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports2, module2) {
70194
+ "../node_modules/.pnpm/@aws-sdk+credential-provider-node@3.583.0_@aws-sdk+client-sso-oidc@3.583.0_@aws-sdk+client-st_qaylqvuvqkdeetlwmxiq34v6lq/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js"(exports2, module2) {
70181
70195
  "use strict";
70182
70196
  var __create3 = Object.create;
70183
70197
  var __defProp3 = Object.defineProperty;
@@ -71751,7 +71765,7 @@ __export(connections_exports, {
71751
71765
  connectToSQLite: () => connectToSQLite,
71752
71766
  preparePostgresDB: () => preparePostgresDB
71753
71767
  });
71754
- var preparePostgresDB, parseMysqlCredentials, connectToMySQL, prepareSqliteParams, connectToSQLite;
71768
+ var preparePostgresDB, parseMysqlCredentials, connectToMySQL, prepareSqliteParams, preparePGliteParams, connectToSQLite;
71755
71769
  var init_connections = __esm({
71756
71770
  "src/cli/connections.ts"() {
71757
71771
  "use strict";
@@ -71763,7 +71777,8 @@ var init_connections = __esm({
71763
71777
  init_outputs();
71764
71778
  preparePostgresDB = async (credentials2) => {
71765
71779
  if ("driver" in credentials2) {
71766
- if (credentials2.driver === "aws-data-api") {
71780
+ const { driver: driver2 } = credentials2;
71781
+ if (driver2 === "aws-data-api") {
71767
71782
  assertPackages("@aws-sdk/client-rds-data");
71768
71783
  const { RDSDataClient, ExecuteStatementCommand, TypeHint } = await Promise.resolve().then(() => __toESM(require_dist_cjs55()));
71769
71784
  const { AwsDataApiSession, drizzle } = await import("drizzle-orm/aws-data-api/pg");
@@ -71820,7 +71835,35 @@ var init_connections = __esm({
71820
71835
  migrate: migrateFn
71821
71836
  };
71822
71837
  }
71823
- assertUnreachable(credentials2.driver);
71838
+ if (driver2 === "pglite") {
71839
+ assertPackages("@electric-sql/pglite");
71840
+ const { PGlite } = await import("@electric-sql/pglite");
71841
+ const { drizzle } = await import("drizzle-orm/pglite");
71842
+ const { migrate: migrate2 } = await import("drizzle-orm/pglite/migrator");
71843
+ const pglite = new PGlite(normalisePGliteUrl(credentials2.url));
71844
+ await pglite.waitReady;
71845
+ const drzl = drizzle(pglite);
71846
+ const migrateFn = async (config) => {
71847
+ return migrate2(drzl, config);
71848
+ };
71849
+ const query = async (sql, params = []) => {
71850
+ const result = await pglite.query(sql, params);
71851
+ return result.rows;
71852
+ };
71853
+ const proxy = async (params) => {
71854
+ const preparedParams = preparePGliteParams(params.params);
71855
+ if (params.method === "values" || params.method === "get" || params.method === "all") {
71856
+ const result2 = await pglite.query(params.sql, preparedParams, {
71857
+ rowMode: params.mode
71858
+ });
71859
+ return result2.rows;
71860
+ }
71861
+ const result = await pglite.query(params.sql, preparedParams);
71862
+ return result.rows;
71863
+ };
71864
+ return { query, proxy, migrate: migrateFn };
71865
+ }
71866
+ assertUnreachable(driver2);
71824
71867
  }
71825
71868
  if (await checkPackage("pg")) {
71826
71869
  console.log(withStyle.info(`Using 'pg' driver for database querying`));
@@ -72038,6 +72081,15 @@ var init_connections = __esm({
72038
72081
  return param;
72039
72082
  });
72040
72083
  };
72084
+ preparePGliteParams = (params) => {
72085
+ return params.map((param) => {
72086
+ if (param && typeof param === "object" && "type" in param && "value" in param && param.type === "binary") {
72087
+ const value = typeof param.value === "object" ? JSON.stringify(param.value) : param.value;
72088
+ return value;
72089
+ }
72090
+ return param;
72091
+ });
72092
+ };
72041
72093
  connectToSQLite = async (credentials2) => {
72042
72094
  if ("driver" in credentials2) {
72043
72095
  const { driver: driver2 } = credentials2;
@@ -80400,10 +80452,13 @@ var init_studio2 = __esm({
80400
80452
  const customDefaults = getCustomDefaults(pgSchema2);
80401
80453
  let dbUrl;
80402
80454
  if ("driver" in credentials2) {
80403
- if (credentials2.driver === "aws-data-api") {
80455
+ const { driver: driver2 } = credentials2;
80456
+ if (driver2 === "aws-data-api") {
80404
80457
  dbUrl = `aws-data-api://${credentials2.database}/${credentials2.secretArn}/${credentials2.resourceArn}`;
80458
+ } else if (driver2 === "pglite") {
80459
+ dbUrl = credentials2.url;
80405
80460
  } else {
80406
- assertUnreachable(credentials2.driver);
80461
+ assertUnreachable(driver2);
80407
80462
  }
80408
80463
  } else if ("url" in credentials2) {
80409
80464
  dbUrl = credentials2.url;
@@ -83490,15 +83545,23 @@ var migrate = command({
83490
83545
  try {
83491
83546
  if (dialect7 === "postgresql") {
83492
83547
  if ("driver" in credentials2) {
83493
- if (credentials2.driver === "aws-data-api") {
83548
+ const { driver: driver2 } = credentials2;
83549
+ if (driver2 === "aws-data-api") {
83494
83550
  if (!await ormVersionGt("0.30.10")) {
83495
83551
  console.log(
83496
83552
  "To use 'aws-data-api' driver - please update drizzle-orm to the latest version"
83497
83553
  );
83498
83554
  process.exit(1);
83499
83555
  }
83556
+ } else if (driver2 === "pglite") {
83557
+ if (!await ormVersionGt("0.30.6")) {
83558
+ console.log(
83559
+ "To use 'pglite' driver - please update drizzle-orm to the latest version"
83560
+ );
83561
+ process.exit(1);
83562
+ }
83500
83563
  } else {
83501
- assertUnreachable(credentials2.driver);
83564
+ assertUnreachable(driver2);
83502
83565
  }
83503
83566
  }
83504
83567
  const { preparePostgresDB: preparePostgresDB2 } = await Promise.resolve().then(() => (init_connections(), connections_exports));
@@ -83627,15 +83690,23 @@ var push = command({
83627
83690
  );
83628
83691
  } else if (dialect7 === "postgresql") {
83629
83692
  if ("driver" in credentials2) {
83630
- if (credentials2.driver === "aws-data-api") {
83693
+ const { driver: driver2 } = credentials2;
83694
+ if (driver2 === "aws-data-api") {
83631
83695
  if (!await ormVersionGt("0.30.10")) {
83632
83696
  console.log(
83633
83697
  "To use 'aws-data-api' driver - please update drizzle-orm to the latest version"
83634
83698
  );
83635
83699
  process.exit(1);
83636
83700
  }
83701
+ } else if (driver2 === "pglite") {
83702
+ if (!await ormVersionGt("0.30.6")) {
83703
+ console.log(
83704
+ "To use 'pglite' driver - please update drizzle-orm to the latest version"
83705
+ );
83706
+ process.exit(1);
83707
+ }
83637
83708
  } else {
83638
- assertUnreachable(credentials2.driver);
83709
+ assertUnreachable(driver2);
83639
83710
  }
83640
83711
  }
83641
83712
  const { pgPush: pgPush2 } = await Promise.resolve().then(() => (init_push(), push_exports));
@@ -83772,15 +83843,23 @@ var pull = command({
83772
83843
  try {
83773
83844
  if (dialect7 === "postgresql") {
83774
83845
  if ("driver" in credentials2) {
83775
- if (credentials2.driver === "aws-data-api") {
83846
+ const { driver: driver2 } = credentials2;
83847
+ if (driver2 === "aws-data-api") {
83776
83848
  if (!await ormVersionGt("0.30.10")) {
83777
83849
  console.log(
83778
83850
  "To use 'aws-data-api' driver - please update drizzle-orm to the latest version"
83779
83851
  );
83780
83852
  process.exit(1);
83781
83853
  }
83854
+ } else if (driver2 === "pglite") {
83855
+ if (!await ormVersionGt("0.30.6")) {
83856
+ console.log(
83857
+ "To use 'pglite' driver - please update drizzle-orm to the latest version"
83858
+ );
83859
+ process.exit(1);
83860
+ }
83782
83861
  } else {
83783
- assertUnreachable(credentials2.driver);
83862
+ assertUnreachable(driver2);
83784
83863
  }
83785
83864
  }
83786
83865
  const { introspectPostgres: introspectPostgres2 } = await Promise.resolve().then(() => (init_introspect(), introspect_exports));
@@ -83870,15 +83949,23 @@ var studio = command({
83870
83949
  try {
83871
83950
  if (dialect7 === "postgresql") {
83872
83951
  if ("driver" in credentials2) {
83873
- if (credentials2.driver === "aws-data-api") {
83952
+ const { driver: driver2 } = credentials2;
83953
+ if (driver2 === "aws-data-api") {
83874
83954
  if (!await ormVersionGt("0.30.10")) {
83875
83955
  console.log(
83876
83956
  "To use 'aws-data-api' driver - please update drizzle-orm to the latest version"
83877
83957
  );
83878
83958
  process.exit(1);
83879
83959
  }
83960
+ } else if (driver2 === "pglite") {
83961
+ if (!await ormVersionGt("0.30.6")) {
83962
+ console.log(
83963
+ "To use 'pglite' driver - please update drizzle-orm to the latest version"
83964
+ );
83965
+ process.exit(1);
83966
+ }
83880
83967
  } else {
83881
- assertUnreachable(credentials2.driver);
83968
+ assertUnreachable(driver2);
83882
83969
  }
83883
83970
  }
83884
83971
  const { schema: schema5, relations: relations4, files } = schemaPath ? await preparePgSchema2(schemaPath) : { schema: {}, relations: {}, files: [] };
@@ -83941,7 +84028,7 @@ init_utils2();
83941
84028
  var version2 = async () => {
83942
84029
  const { npmVersion } = await ormCoreVersions();
83943
84030
  const ormVersion = npmVersion ? `drizzle-orm: v${npmVersion}` : "";
83944
- const envVersion = "0.24.1-87d7704";
84031
+ const envVersion = "0.24.1-e2f75fb";
83945
84032
  const kitVersion = envVersion ? `v${envVersion}` : "--";
83946
84033
  const versions = `drizzle-kit: ${kitVersion}
83947
84034
  ${ormVersion}`;
package/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import { ConnectionOptions } from 'tls';
2
2
 
3
3
  declare const prefixes: readonly ["index", "timestamp", "supabase", "unix", "none"];
4
4
  type Prefix = (typeof prefixes)[number];
5
- declare const drivers: readonly ["turso", "d1-http", "expo", "aws-data-api"];
5
+ declare const drivers: readonly ["turso", "d1-http", "expo", "aws-data-api", "pglite"];
6
6
  type Driver = (typeof drivers)[number];
7
7
 
8
8
  declare const dialects: readonly ["postgresql", "mysql", "sqlite"];
@@ -43,7 +43,7 @@ type Verify<T, U extends T> = U;
43
43
  *
44
44
  * ---
45
45
  * `driver` - optional param that is responsible for explicitly providing a driver to use when accessing a database
46
- * *Possible values*: `aws-data-api`, `d1-http`, `expo`, `turso`
46
+ * *Possible values*: `aws-data-api`, `d1-http`, `expo`, `turso`, `pglite`
47
47
  * If you don't use AWS Data API, D1, Turso or Expo - ypu don't need this driver. You can check a driver strategy choice here: https://orm.drizzle.team/kit-docs/upgrade-21
48
48
  *
49
49
  * See https://orm.drizzle.team/kit-docs/config-reference#driver
@@ -135,7 +135,7 @@ type Config = {
135
135
  authToken?: string;
136
136
  };
137
137
  } | {
138
- dialect: 'sqlite';
138
+ dialect: Verify<Dialect, 'sqlite'>;
139
139
  dbCredentials: {
140
140
  url: string;
141
141
  };
@@ -159,6 +159,12 @@ type Config = {
159
159
  secretArn: string;
160
160
  resourceArn: string;
161
161
  };
162
+ } | {
163
+ dialect: Verify<Dialect, 'postgresql'>;
164
+ driver: Verify<Driver, 'pglite'>;
165
+ dbCredentials: {
166
+ url: string;
167
+ };
162
168
  } | {
163
169
  dialect: Verify<Dialect, 'mysql'>;
164
170
  dbCredentials: {
@@ -207,7 +213,7 @@ type Config = {
207
213
  *
208
214
  * ---
209
215
  * `driver` - optional param that is responsible for explicitly providing a driver to use when accessing a database
210
- * *Possible values*: `aws-data-api`, `d1-http`, `expo`, `turso`
216
+ * *Possible values*: `aws-data-api`, `d1-http`, `expo`, `turso`, `pglite`
211
217
  * If you don't use AWS Data API, D1, Turso or Expo - ypu don't need this driver. You can check a driver strategy choice here: https://orm.drizzle.team/kit-docs/upgrade-21
212
218
  *
213
219
  * See https://orm.drizzle.team/kit-docs/config-reference#driver
package/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { ConnectionOptions } from 'tls';
2
2
 
3
3
  declare const prefixes: readonly ["index", "timestamp", "supabase", "unix", "none"];
4
4
  type Prefix = (typeof prefixes)[number];
5
- declare const drivers: readonly ["turso", "d1-http", "expo", "aws-data-api"];
5
+ declare const drivers: readonly ["turso", "d1-http", "expo", "aws-data-api", "pglite"];
6
6
  type Driver = (typeof drivers)[number];
7
7
 
8
8
  declare const dialects: readonly ["postgresql", "mysql", "sqlite"];
@@ -43,7 +43,7 @@ type Verify<T, U extends T> = U;
43
43
  *
44
44
  * ---
45
45
  * `driver` - optional param that is responsible for explicitly providing a driver to use when accessing a database
46
- * *Possible values*: `aws-data-api`, `d1-http`, `expo`, `turso`
46
+ * *Possible values*: `aws-data-api`, `d1-http`, `expo`, `turso`, `pglite`
47
47
  * If you don't use AWS Data API, D1, Turso or Expo - ypu don't need this driver. You can check a driver strategy choice here: https://orm.drizzle.team/kit-docs/upgrade-21
48
48
  *
49
49
  * See https://orm.drizzle.team/kit-docs/config-reference#driver
@@ -135,7 +135,7 @@ type Config = {
135
135
  authToken?: string;
136
136
  };
137
137
  } | {
138
- dialect: 'sqlite';
138
+ dialect: Verify<Dialect, 'sqlite'>;
139
139
  dbCredentials: {
140
140
  url: string;
141
141
  };
@@ -159,6 +159,12 @@ type Config = {
159
159
  secretArn: string;
160
160
  resourceArn: string;
161
161
  };
162
+ } | {
163
+ dialect: Verify<Dialect, 'postgresql'>;
164
+ driver: Verify<Driver, 'pglite'>;
165
+ dbCredentials: {
166
+ url: string;
167
+ };
162
168
  } | {
163
169
  dialect: Verify<Dialect, 'mysql'>;
164
170
  dbCredentials: {
@@ -207,7 +213,7 @@ type Config = {
207
213
  *
208
214
  * ---
209
215
  * `driver` - optional param that is responsible for explicitly providing a driver to use when accessing a database
210
- * *Possible values*: `aws-data-api`, `d1-http`, `expo`, `turso`
216
+ * *Possible values*: `aws-data-api`, `d1-http`, `expo`, `turso`, `pglite`
211
217
  * If you don't use AWS Data API, D1, Turso or Expo - ypu don't need this driver. You can check a driver strategy choice here: https://orm.drizzle.team/kit-docs/upgrade-21
212
218
  *
213
219
  * See https://orm.drizzle.team/kit-docs/config-reference#driver
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "drizzle-kit",
3
- "version": "0.24.1-87d7704",
3
+ "version": "0.24.1-e2f75fb",
4
4
  "homepage": "https://orm.drizzle.team",
5
5
  "keywords": [
6
6
  "drizzle",
@@ -74,7 +74,6 @@
74
74
  "@vercel/postgres": "^0.8.0",
75
75
  "ava": "^5.1.0",
76
76
  "better-sqlite3": "^9.4.3",
77
- "bun-types": "^0.6.6",
78
77
  "camelcase": "^7.0.1",
79
78
  "chalk": "^5.2.0",
80
79
  "commander": "^12.1.0",
package/utils.js CHANGED
@@ -570,6 +570,7 @@ __export(utils_exports, {
570
570
  dryJournal: () => dryJournal,
571
571
  isPgArrayType: () => isPgArrayType,
572
572
  kloudMeta: () => kloudMeta,
573
+ normalisePGliteUrl: () => normalisePGliteUrl,
573
574
  normaliseSQLiteUrl: () => normaliseSQLiteUrl,
574
575
  objectValues: () => objectValues,
575
576
  prepareMigrationFolder: () => prepareMigrationFolder,
@@ -5740,6 +5741,12 @@ var normaliseSQLiteUrl = (it, type) => {
5740
5741
  }
5741
5742
  assertUnreachable(type);
5742
5743
  };
5744
+ var normalisePGliteUrl = (it) => {
5745
+ if (it.startsWith("file:")) {
5746
+ return it.substring(5);
5747
+ }
5748
+ return it;
5749
+ };
5743
5750
  function isPgArrayType(sqlType) {
5744
5751
  return sqlType.match(/.*\[\d*\].*|.*\[\].*/g) !== null;
5745
5752
  }
@@ -5751,6 +5758,7 @@ function isPgArrayType(sqlType) {
5751
5758
  dryJournal,
5752
5759
  isPgArrayType,
5753
5760
  kloudMeta,
5761
+ normalisePGliteUrl,
5754
5762
  normaliseSQLiteUrl,
5755
5763
  objectValues,
5756
5764
  prepareMigrationFolder,
package/utils.mjs CHANGED
@@ -5721,6 +5721,12 @@ var normaliseSQLiteUrl = (it, type) => {
5721
5721
  }
5722
5722
  assertUnreachable(type);
5723
5723
  };
5724
+ var normalisePGliteUrl = (it) => {
5725
+ if (it.startsWith("file:")) {
5726
+ return it.substring(5);
5727
+ }
5728
+ return it;
5729
+ };
5724
5730
  function isPgArrayType(sqlType) {
5725
5731
  return sqlType.match(/.*\[\d*\].*|.*\[\].*/g) !== null;
5726
5732
  }
@@ -5731,6 +5737,7 @@ export {
5731
5737
  dryJournal,
5732
5738
  isPgArrayType,
5733
5739
  kloudMeta,
5740
+ normalisePGliteUrl,
5734
5741
  normaliseSQLiteUrl,
5735
5742
  objectValues,
5736
5743
  prepareMigrationFolder,