@rudderjs/orm-drizzle 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -29,9 +29,37 @@ type DrizzleDb = {
29
29
  end?: () => Promise<void>;
30
30
  };
31
31
  };
32
+ /**
33
+ * Global name → Drizzle table schema map.
34
+ *
35
+ * The Drizzle adapter resolves related-table schemas by name (e.g. for
36
+ * `whereHas('comments', ...)` it needs the `comments` table to build the
37
+ * EXISTS subquery). Apps register their schemas via the `tables` option on
38
+ * `drizzle({ tables: { posts, comments, ... } })`, which proxies into this
39
+ * registry. Library code that needs to register tables outside the
40
+ * adapter's normal init path can call `DrizzleTableRegistry.register()`
41
+ * directly.
42
+ *
43
+ * **Required for `whereHas` / `withAggregate` on Drizzle.** Without a
44
+ * registered schema the adapter throws a clear "no table schema registered
45
+ * for X" error. Prisma's adapter discovers schemas via the generated client
46
+ * and needs no registry — this is Drizzle-specific.
47
+ *
48
+ * @example
49
+ * import { drizzle, DrizzleTableRegistry } from '@rudderjs/orm-drizzle'
50
+ * import { posts, comments } from './schema.js'
51
+ *
52
+ * // Typical: register at adapter init
53
+ * drizzle({ tables: { posts, comments } })
54
+ *
55
+ * // Or imperatively (e.g. tests, dynamic registration)
56
+ * DrizzleTableRegistry.register('comments', comments)
57
+ */
32
58
  export declare class DrizzleTableRegistry {
33
59
  private static tables;
60
+ /** Register a Drizzle table schema by name. Idempotent — last write wins. */
34
61
  static register(name: string, table: unknown): void;
62
+ /** Look up a previously-registered table schema by name. */
35
63
  static get(name: string): unknown | undefined;
36
64
  }
37
65
  export declare class DrizzleAdapter implements OrmAdapter {
@@ -55,11 +83,43 @@ export interface DrizzleConfig {
55
83
  driver?: 'sqlite' | 'postgresql' | 'libsql';
56
84
  /** Connection URL. Falls back to DATABASE_URL env var */
57
85
  url?: string;
58
- /** Map of table name → drizzle table schema object */
86
+ /**
87
+ * Map of table name → Drizzle table schema. Required for any table
88
+ * referenced through a relation traversal — `whereHas('comments', ...)`,
89
+ * `withAggregate({ countComments: ... })`, etc. — because the adapter
90
+ * resolves related schemas by name at query-build time. Tables you only
91
+ * query directly (via `from(comments)`) do not need to appear here.
92
+ *
93
+ * Equivalent to calling `DrizzleTableRegistry.register(name, schema)` for
94
+ * each entry. Missing entries surface as a clear "no table schema
95
+ * registered for X" error.
96
+ */
59
97
  tables?: Record<string, unknown>;
60
98
  /** Primary key column name. Defaults to 'id' */
61
99
  primaryKey?: string;
62
100
  }
101
+ /**
102
+ * Build the Drizzle ORM adapter provider.
103
+ *
104
+ * **Null-value reminder.** Drizzle's `eq(col, null)` never matches — SQL
105
+ * requires `IS NULL` semantics, not equality. When writing custom Drizzle
106
+ * predicates in your app code, use `isNull(col)` / `isNotNull(col)` from
107
+ * `drizzle-orm`. The adapter itself routes null comparisons through the
108
+ * correct operators internally.
109
+ *
110
+ * @example
111
+ * import { posts, comments } from './schema.js'
112
+ *
113
+ * database({
114
+ * default: 'main',
115
+ * connections: {
116
+ * main: drizzle({
117
+ * driver: 'postgresql',
118
+ * tables: { posts, comments },
119
+ * }),
120
+ * },
121
+ * })
122
+ */
63
123
  export declare function drizzle(config?: DrizzleConfig): OrmAdapterProvider;
64
124
  import { ServiceProvider } from '@rudderjs/core';
65
125
  export interface DatabaseConnectionConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,15 +1,71 @@
1
1
  import { eq, ne, gt, gte, lt, lte, like, notLike, inArray, notInArray, isNull, isNotNull, and, or, asc, desc, count as sqlCount, sql, exists, notExists, getTableColumns, } from 'drizzle-orm';
2
2
  import { resolveOptionalPeer } from '@rudderjs/support';
3
3
  // ─── Global Table Registry ─────────────────────────────────
4
+ /**
5
+ * Global name → Drizzle table schema map.
6
+ *
7
+ * The Drizzle adapter resolves related-table schemas by name (e.g. for
8
+ * `whereHas('comments', ...)` it needs the `comments` table to build the
9
+ * EXISTS subquery). Apps register their schemas via the `tables` option on
10
+ * `drizzle({ tables: { posts, comments, ... } })`, which proxies into this
11
+ * registry. Library code that needs to register tables outside the
12
+ * adapter's normal init path can call `DrizzleTableRegistry.register()`
13
+ * directly.
14
+ *
15
+ * **Required for `whereHas` / `withAggregate` on Drizzle.** Without a
16
+ * registered schema the adapter throws a clear "no table schema registered
17
+ * for X" error. Prisma's adapter discovers schemas via the generated client
18
+ * and needs no registry — this is Drizzle-specific.
19
+ *
20
+ * @example
21
+ * import { drizzle, DrizzleTableRegistry } from '@rudderjs/orm-drizzle'
22
+ * import { posts, comments } from './schema.js'
23
+ *
24
+ * // Typical: register at adapter init
25
+ * drizzle({ tables: { posts, comments } })
26
+ *
27
+ * // Or imperatively (e.g. tests, dynamic registration)
28
+ * DrizzleTableRegistry.register('comments', comments)
29
+ */
4
30
  export class DrizzleTableRegistry {
5
31
  static tables = new Map();
32
+ /** Register a Drizzle table schema by name. Idempotent — last write wins. */
6
33
  static register(name, table) {
7
34
  this.tables.set(name, table);
8
35
  }
36
+ /** Look up a previously-registered table schema by name. */
9
37
  static get(name) {
10
38
  return this.tables.get(name);
11
39
  }
12
40
  }
41
+ /**
42
+ * @internal — type-erase a Drizzle query builder.
43
+ *
44
+ * Drizzle's query builders are thenable: chaining `.select().from().where()`
45
+ * returns a builder that resolves to row results when awaited. The builder
46
+ * type carries the full chained shape, which is incompatible with our
47
+ * `Promise<T[]>` adapter contract. Rather than peppering every CRUD method
48
+ * with `as unknown as Promise<T[]>`, route every await through `exec<R>(q)`
49
+ * — one cast site, one place to update if Drizzle's API tightens.
50
+ */
51
+ function exec(q) {
52
+ return q;
53
+ }
54
+ /**
55
+ * @internal — for batch UPDATE/DELETE queries: invoke `.returning()` when the
56
+ * driver supports it (Postgres, SQLite), else await the bare query.
57
+ *
58
+ * Used by `deleteAll()` / `updateAll()` to report row counts via the returned
59
+ * array length. MySQL drivers ignore `.returning()` and silently return zero
60
+ * — adapter consumers needing precise MySQL counts should switch to a
61
+ * Postgres or SQLite Drizzle driver until we surface driver capability flags.
62
+ */
63
+ async function awaitReturningOrPlain(q) {
64
+ const r = q.returning;
65
+ const target = typeof r === 'function' ? r.call(q) : q;
66
+ const result = await target;
67
+ return Array.isArray(result) ? result : [];
68
+ }
13
69
  /** @internal — combine SQL exprs with AND. Single-element returns as-is so
14
70
  * callers don't pay an extra wrap. Empty input returns a tautology so
15
71
  * EXISTS subqueries with no inner predicate stay valid. */
@@ -311,7 +367,7 @@ class DrizzleQueryBuilder {
311
367
  let q = this.db.select({ value: valueExpr }).from(this.table);
312
368
  if (cond)
313
369
  q = q.where(cond);
314
- const result = await q;
370
+ const result = await exec(q);
315
371
  const raw = result[0]?.value;
316
372
  if (fn === 'count')
317
373
  return Number(raw ?? 0);
@@ -478,7 +534,7 @@ class DrizzleQueryBuilder {
478
534
  if (orderBy.length)
479
535
  q = q.orderBy(...orderBy);
480
536
  q = q.limit(1);
481
- const result = await q;
537
+ const result = await exec(q);
482
538
  return result[0] ?? null;
483
539
  }
484
540
  async find(id) {
@@ -489,9 +545,7 @@ class DrizzleQueryBuilder {
489
545
  const cond = softExpr ? and(pkExpr, softExpr) : pkExpr;
490
546
  const fields = this.buildAggregateSelectFields();
491
547
  const sel = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
492
- const result = await sel
493
- .where(cond)
494
- .limit(1);
548
+ const result = await exec(sel.where(cond).limit(1));
495
549
  return result[0] ?? null;
496
550
  }
497
551
  async get() {
@@ -510,7 +564,7 @@ class DrizzleQueryBuilder {
510
564
  q = q.limit(this._limitN);
511
565
  if (this._offsetN !== null)
512
566
  q = q.offset(this._offsetN);
513
- return q;
567
+ return exec(q);
514
568
  }
515
569
  async all() {
516
570
  return this.get();
@@ -525,7 +579,7 @@ class DrizzleQueryBuilder {
525
579
  let q = this.db.select({ value: sqlCount() }).from(this.table);
526
580
  if (cond)
527
581
  q = q.where(cond);
528
- const result = await q;
582
+ const result = await exec(q);
529
583
  return Number(result[0]?.value ?? 0);
530
584
  }
531
585
  /**
@@ -632,10 +686,10 @@ class DrizzleQueryBuilder {
632
686
  }
633
687
  async create(data) {
634
688
  this._assertNotSubBuilder();
635
- const result = await this.db
689
+ const result = await exec(this.db
636
690
  .insert(this.table)
637
691
  .values(data)
638
- .returning();
692
+ .returning());
639
693
  if (!result[0])
640
694
  throw new Error('[RudderJS ORM Drizzle] create() returned no rows.');
641
695
  return result[0];
@@ -643,11 +697,11 @@ class DrizzleQueryBuilder {
643
697
  async update(id, data) {
644
698
  this._assertNotSubBuilder();
645
699
  const pkCol = this.col(this.primaryKey);
646
- const result = await this.db
700
+ const result = await exec(this.db
647
701
  .update(this.table)
648
702
  .set(data)
649
703
  .where(eq(pkCol, id))
650
- .returning();
704
+ .returning());
651
705
  if (!result[0])
652
706
  throw new Error('[RudderJS ORM Drizzle] update() returned no rows.');
653
707
  return result[0];
@@ -656,35 +710,35 @@ class DrizzleQueryBuilder {
656
710
  this._assertNotSubBuilder();
657
711
  const pkCol = this.col(this.primaryKey);
658
712
  if (this._softDeletes) {
659
- await this.db.update(this.table).set({ deletedAt: new Date() }).where(eq(pkCol, id));
713
+ await exec(this.db.update(this.table).set({ deletedAt: new Date() }).where(eq(pkCol, id)));
660
714
  return;
661
715
  }
662
- await this.db
716
+ await exec(this.db
663
717
  .delete(this.table)
664
- .where(eq(pkCol, id));
718
+ .where(eq(pkCol, id)));
665
719
  }
666
720
  async restore(id) {
667
721
  this._assertNotSubBuilder();
668
722
  const pkCol = this.col(this.primaryKey);
669
- const result = await this.db
723
+ const result = await exec(this.db
670
724
  .update(this.table)
671
725
  .set({ deletedAt: null })
672
726
  .where(eq(pkCol, id))
673
- .returning();
727
+ .returning());
674
728
  return result[0];
675
729
  }
676
730
  async forceDelete(id) {
677
731
  this._assertNotSubBuilder();
678
732
  const pkCol = this.col(this.primaryKey);
679
- await this.db
733
+ await exec(this.db
680
734
  .delete(this.table)
681
- .where(eq(pkCol, id));
735
+ .where(eq(pkCol, id)));
682
736
  }
683
737
  async insertMany(rows) {
684
738
  this._assertNotSubBuilder();
685
739
  if (rows.length === 0)
686
740
  return;
687
- await this.db.insert(this.table).values(rows);
741
+ await exec(this.db.insert(this.table).values(rows));
688
742
  }
689
743
  async deleteAll() {
690
744
  this._assertNotSubBuilder();
@@ -692,33 +746,24 @@ class DrizzleQueryBuilder {
692
746
  let q = this.db.delete(this.table);
693
747
  if (cond)
694
748
  q = q.where(cond);
695
- // .returning() lets us count rows deleted across SQLite/Postgres without
696
- // a driver-specific RowsAffected hop. MySQL drivers ignore .returning()
697
- // and the count comes back zero — adapter consumers needing precise MySQL
698
- // counts should switch to a Postgres or SQLite Drizzle driver until we
699
- // surface driver capability flags.
700
- const result = await (q.returning?.() ?? q);
701
- return Array.isArray(result) ? result.length : 0;
749
+ return (await awaitReturningOrPlain(q)).length;
702
750
  }
703
751
  async updateAll(data) {
704
752
  const cond = this.buildConditions();
705
753
  let q = this.db.update(this.table).set(data);
706
754
  if (cond)
707
755
  q = q.where(cond);
708
- // Same .returning() rationale as deleteAll — count via returning where the
709
- // driver supports it (Postgres/SQLite). MySQL returns zero.
710
- const result = await (q.returning?.() ?? q);
711
- return Array.isArray(result) ? result.length : 0;
756
+ return (await awaitReturningOrPlain(q)).length;
712
757
  }
713
758
  async increment(id, column, amount = 1, extra = {}) {
714
759
  this._assertNotSubBuilder();
715
760
  const pkCol = this.col(this.primaryKey);
716
761
  const col = this.col(column);
717
- const result = await this.db
762
+ const result = await exec(this.db
718
763
  .update(this.table)
719
764
  .set({ [column]: sql `${col} + ${amount}`, ...extra })
720
765
  .where(eq(pkCol, id))
721
- .returning();
766
+ .returning());
722
767
  if (!result[0])
723
768
  throw new Error('[RudderJS ORM Drizzle] increment() returned no rows.');
724
769
  return result[0];
@@ -727,11 +772,11 @@ class DrizzleQueryBuilder {
727
772
  this._assertNotSubBuilder();
728
773
  const pkCol = this.col(this.primaryKey);
729
774
  const col = this.col(column);
730
- const result = await this.db
775
+ const result = await exec(this.db
731
776
  .update(this.table)
732
777
  .set({ [column]: sql `${col} - ${amount}`, ...extra })
733
778
  .where(eq(pkCol, id))
734
- .returning();
779
+ .returning());
735
780
  if (!result[0])
736
781
  throw new Error('[RudderJS ORM Drizzle] decrement() returned no rows.');
737
782
  return result[0];
@@ -751,8 +796,8 @@ class DrizzleQueryBuilder {
751
796
  pageQ = pageQ.orderBy(...orderBy);
752
797
  pageQ = pageQ.limit(perPage).offset((page - 1) * perPage);
753
798
  const [data, countResult] = await Promise.all([
754
- pageQ,
755
- cntQ,
799
+ exec(pageQ),
800
+ exec(cntQ),
756
801
  ]);
757
802
  const total = Number(countResult[0]?.value ?? 0);
758
803
  const lastPage = Math.max(1, Math.ceil(total / perPage));
@@ -830,6 +875,28 @@ export class DrizzleAdapter {
830
875
  await end();
831
876
  }
832
877
  }
878
+ /**
879
+ * Build the Drizzle ORM adapter provider.
880
+ *
881
+ * **Null-value reminder.** Drizzle's `eq(col, null)` never matches — SQL
882
+ * requires `IS NULL` semantics, not equality. When writing custom Drizzle
883
+ * predicates in your app code, use `isNull(col)` / `isNotNull(col)` from
884
+ * `drizzle-orm`. The adapter itself routes null comparisons through the
885
+ * correct operators internally.
886
+ *
887
+ * @example
888
+ * import { posts, comments } from './schema.js'
889
+ *
890
+ * database({
891
+ * default: 'main',
892
+ * connections: {
893
+ * main: drizzle({
894
+ * driver: 'postgresql',
895
+ * tables: { posts, comments },
896
+ * }),
897
+ * },
898
+ * })
899
+ */
833
900
  export function drizzle(config = {}) {
834
901
  return {
835
902
  async create() {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/orm-drizzle",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Drizzle ORM adapter for RudderJS. Implements OrmAdapterProvider / OrmAdapter / QueryBuilder<T> using Drizzle's SQL-like fluent API.",
5
5
  "rudderjs": {
6
6
  "provider": "DatabaseProvider",
@@ -14,6 +14,9 @@
14
14
  "directory": "packages/orm-drizzle"
15
15
  },
16
16
  "type": "module",
17
+ "engines": {
18
+ "node": "^20.19.0 || >=22.12.0"
19
+ },
17
20
  "files": [
18
21
  "dist",
19
22
  "boost"
@@ -29,13 +32,13 @@
29
32
  },
30
33
  "dependencies": {
31
34
  "drizzle-orm": "^0.38.0",
32
- "@rudderjs/contracts": "^1.6.0",
33
- "@rudderjs/core": "^1.1.3",
34
- "@rudderjs/orm": "^1.9.1",
35
- "@rudderjs/support": "^1.2.0"
35
+ "@rudderjs/contracts": "^1.6.1",
36
+ "@rudderjs/core": "^1.1.5",
37
+ "@rudderjs/orm": "^1.9.2",
38
+ "@rudderjs/support": "^1.2.2"
36
39
  },
37
40
  "peerDependencies": {
38
- "@rudderjs/ai": "^1.6.1"
41
+ "@rudderjs/ai": "^1.6.3"
39
42
  },
40
43
  "peerDependenciesMeta": {
41
44
  "@rudderjs/ai": {