@rivetkit/db 0.9.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/drizzle/mod.cjs.map +1 -1
- package/dist/mod.cjs.map +1 -1
- package/package.json +2 -2
package/dist/drizzle/mod.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"sources":["/Users/nathan/rivet/rivetkit/packages/db/dist/drizzle/mod.cjs","../../src/drizzle/mod.ts"],"names":["client"],"mappings":"AAAA;ACAA,6GAAqB;AACrB;AAEC;AAAW,4DACL;AACP,2DAA0C;AAC1C,+DAA0C;AAG1C,qFAAc;AAEd,yCAAkE;AAG3D,SAAS,YAAA,CACf,MAAA,EACS;AAGT,EAAA,OAAO,sCAAA;AAAqB,IAC3B,OAAA,EAAS,QAAA;AAAA,IACT,MAAA,EAAQ,gBAAA;AAAA,IACR,GAAG;AAAA,EACJ,CAAC,CAAA;AACF;AAYO,SAAS,EAAA,CAGf,MAAA,EAC+D;AAC/D,EAAA,OAAO;AAAA,IACN,YAAA,EAAc,MAAA,CAAO,GAAA,EAAA,GAAQ;AAE5B,MAAA,GAAA,CAAI,CAAC,GAAA,CAAI,WAAA,EAAa;AACrB,QAAA,MAAM,IAAI,KAAA,CAAM,oDAAoD,CAAA;AAAA,MACrE;AAEA,MAAA,MAAM,KAAA,EAAO,MAAM,GAAA,CAAI,WAAA,CAAY,CAAA;AAEnC,MAAA,GAAA,CAAI,CAAC,IAAA,EAAM;AACV,QAAA,MAAM,IAAI,KAAA;AAAA,UACT;AAAA,QACD,CAAA;AAAA,MACD;AAEA,MAAA,GAAA,CAAI,YAAA,CAAa,IAAI,CAAA,EAAG;AAGvB,QAAA,MAAMA,QAAAA,EAAS,oCAAA,IAAoC,EAAM,MAAM,CAAA;AAC/D,QAAA,OAAO,MAAA,CAAO,MAAA,CAAOA,OAAAA,EAAQ;AAAA;AAAA,UAE5B,OAAA,EAAS,MAAA,CAAO,KAAA,EAAA,GAAU,IAAA,EAAA,GACzBA,OAAAA,CAAO,OAAA,CAAQ,IAAA,CAAK,KAAA,EAAO,GAAG,IAAI;AAAA,QACpC,CAAqB,CAAA;AAAA,MACtB;AAGA,MAAA,MAAM,OAAA,EAAS,qCAAA;AAAc,QAC5B,MAAA,EAAQ,IAAI,4BAAA,CAAS,IAAc,CAAA;AAAA,QACnC,GAAG;AAAA,MACJ,CAAC,CAAA;AAED,MAAA,OAAO,MAAA,CAAO,MAAA,CAAO,MAAA,EAAQ;AAAA,QAC5B,OAAA,EAAS,MAAA,CAAO,KAAA,EAAA,GAAU,IAAA,EAAA,GACzB,MAAA,CAAO,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAA,CAAE,GAAA,CAAI,GAAG,IAAI;AAAA,MAC3C,CAAqB,CAAA;AAAA,IACtB,CAAA;AAAA,IACA,SAAA,EAAW,MAAA,CAAO,MAAA,EAAA,GAAW;AAE5B,MAAA,GAAA,CAAI,OAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,MAAA,CAAQ,UAAA,EAAY;AACvB,QAAA,MAAM,+BAAA,MAAe,EAAQ,OAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,MAAA,CAAQ,UAAU,CAAA;AAAA,MAChD;AAAA,IACD;AAAA,EACD,CAAA;AACD;AAEA,SAAS,YAAA,CAAa,IAAA,EAAmC;AACxD,EAAA,OACC,OAAO,KAAA,IAAS,SAAA,GAChB,KAAA,IAAS,KAAA,GACT,OAAA,GAAU,KAAA,GACV,OAAQ,IAAA,CAAa,KAAA,IAAS,UAAA;AAEhC;ADzCA;AACE;AACA;AACF,qDAAC","file":"/Users/nathan/rivet/rivetkit/packages/db/dist/drizzle/mod.cjs","sourcesContent":[null,"import Database from \"better-sqlite3\";\nimport {\n\ttype BetterSQLite3Database,\n\tdrizzle as sqliteDrizzle,\n} from \"drizzle-orm/better-sqlite3\";\nimport { drizzle as durableDrizzle } from \"drizzle-orm/durable-sqlite\";\nimport { migrate as durableMigrate } from \"drizzle-orm/durable-sqlite/migrator\";\nimport type { DatabaseProvider, RawAccess } from \"@/config\";\n\nexport * from \"drizzle-orm/sqlite-core\";\n\nimport { type Config, defineConfig as originalDefineConfig } from \"drizzle-kit\";\nimport type { SQLiteShim } from \"@/utils\";\n\nexport function defineConfig(\n\tconfig: Partial<Config & { driver: \"durable-sqlite\" }>,\n): Config {\n\t// This is a workaround to avoid the \"drizzle-kit\" import issue in the examples.\n\t// It allows us to use the same defineConfig function in both the main package and the examples.\n\treturn originalDefineConfig({\n\t\tdialect: \"sqlite\",\n\t\tdriver: \"durable-sqlite\",\n\t\t...config,\n\t});\n}\n\ninterface DatabaseFactoryConfig<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n> {\n\t/**\n\t * The database schema.\n\t */\n\tschema?: TSchema;\n\tmigrations?: any;\n}\n\nexport function db<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n>(\n\tconfig?: DatabaseFactoryConfig<TSchema>,\n): DatabaseProvider<BetterSQLite3Database<TSchema> & RawAccess> {\n\treturn {\n\t\tcreateClient: async (ctx) => {\n\t\t\t// Create a database connection using the provided context\n\t\t\tif (!ctx.getDatabase) {\n\t\t\t\tthrow new Error(\"createDatabase method is not available in context.\");\n\t\t\t}\n\n\t\t\tconst conn = await ctx.getDatabase();\n\n\t\t\tif (!conn) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Cannot create database connection, or database feature is not enabled.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (isSQLiteShim(conn)) {\n\t\t\t\t// If the connection is already an object with exec method, return it\n\t\t\t\t// i.e. in serverless environments (Cloudflare Workers)\n\t\t\t\tconst client = durableDrizzle<TSchema, SQLiteShim>(conn, config);\n\t\t\t\treturn Object.assign(client, {\n\t\t\t\t\t// client.$client.exec is the underlying SQLite client\n\t\t\t\t\texecute: async (query, ...args) =>\n\t\t\t\t\t\tclient.$client.exec(query, ...args),\n\t\t\t\t} satisfies RawAccess);\n\t\t\t}\n\n\t\t\t// Create a database client using the connection\n\t\t\tconst client = sqliteDrizzle({\n\t\t\t\tclient: new Database(conn as string),\n\t\t\t\t...config,\n\t\t\t});\n\n\t\t\treturn Object.assign(client, {\n\t\t\t\texecute: async (query, ...args) =>\n\t\t\t\t\tclient.$client.prepare(query).all(...args),\n\t\t\t} satisfies RawAccess);\n\t\t},\n\t\tonMigrate: async (client) => {\n\t\t\t// Run migrations if provided in the config\n\t\t\tif (config?.migrations) {\n\t\t\t\tawait durableMigrate(client, config?.migrations);\n\t\t\t}\n\t\t},\n\t};\n}\n\nfunction isSQLiteShim(conn: unknown): conn is SQLiteShim {\n\treturn (\n\t\ttypeof conn === \"object\" &&\n\t\tconn !== null &&\n\t\t\"exec\" in conn &&\n\t\ttypeof (conn as any).exec === \"function\"\n\t);\n}\n"]}
|
package/dist/mod.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/
|
|
1
|
+
{"version":3,"sources":["/Users/nathan/rivet/rivetkit/packages/db/dist/mod.cjs","../src/mod.ts","../src/utils.ts"],"names":[],"mappings":"AAAA;ACAA,6GAAmB;ADEnB;AACA;AEMO,SAAS,YAAA,CAAgB,IAAA,EAAuC;AACtE,EAAA,OACC,OAAO,KAAA,IAAS,SAAA,GAChB,KAAA,IAAS,KAAA,GACT,OAAA,GAAU,KAAA,GACV,OAAQ,IAAA,CAAoB,KAAA,IAAS,UAAA;AAEvC;AFTA;AACA;ACAO,SAAS,EAAA,CAAG;AAAA,EAClB;AACD,EAAA,EAA2B,CAAC,CAAA,EAAgC;AAC3D,EAAA,OAAO;AAAA,IACN,YAAA,EAAc,MAAA,CAAO,GAAA,EAAA,GAAQ;AAE5B,MAAA,GAAA,CAAI,CAAC,GAAA,CAAI,WAAA,EAAa;AACrB,QAAA,MAAM,IAAI,KAAA,CAAM,oDAAoD,CAAA;AAAA,MACrE;AAEA,MAAA,MAAM,KAAA,EAAO,MAAM,GAAA,CAAI,WAAA,CAAY,CAAA;AAEnC,MAAA,GAAA,CAAI,CAAC,IAAA,EAAM;AACV,QAAA,MAAM,IAAI,KAAA;AAAA,UACT;AAAA,QACD,CAAA;AAAA,MACD;AAEA,MAAA,GAAA,CAAI,YAAA,CAAa,IAAI,CAAA,EAAG;AAGvB,QAAA,OAAO,MAAA,CAAO,MAAA,CAAO,CAAC,CAAA,EAAG,IAAA,EAAM;AAAA,UAC9B,OAAA,EAAS,MAAA,CAAO,KAAA,EAAA,GAAU,IAAA,EAAA,GAAS;AAClC,YAAA,OAAO,IAAA,CAAK,IAAA,CAAK,KAAA,EAAO,GAAG,IAAI,CAAA;AAAA,UAChC;AAAA,QACD,CAAqB,CAAA;AAAA,MACtB;AAEA,MAAA,MAAM,OAAA,EAAS,IAAI,4BAAA,CAAO,IAAc,CAAA;AACxC,MAAA,OAAO,MAAA,CAAO,MAAA,CAAO,CAAC,CAAA,EAAG,MAAA,EAAQ;AAAA,QAChC,OAAA,EAAS,MAAA,CAAO,KAAA,EAAA,GAAU,IAAA,EAAA,GAAS;AAClC,UAAA,OAAO,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,GAAA,CAAI,GAAG,IAAI,CAAA;AAAA,QACzC;AAAA,MACD,CAAqB,CAAA;AAAA,IACtB,CAAA;AAAA,IACA,SAAA,EAAW,MAAA,CAAO,MAAA,EAAA,GAAW;AAE5B,MAAA,GAAA,CAAI,SAAA,EAAW;AACd,QAAA,MAAM,SAAA,CAAU,MAAM,CAAA;AAAA,MACvB;AAAA,IACD;AAAA,EACD,CAAA;AACD;ADNA;AACE;AACF,gBAAC","file":"/Users/nathan/rivet/rivetkit/packages/db/dist/mod.cjs","sourcesContent":[null,"import SQLite from \"better-sqlite3\";\nimport type { DatabaseProvider, RawAccess } from \"./config\";\nimport { isSQLiteShim, type SQLiteShim } from \"./utils\";\n\ninterface DatabaseFactoryConfig {\n\tonMigrate?: (db: RawAccess) => Promise<void> | void;\n}\n\nexport function db({\n\tonMigrate,\n}: DatabaseFactoryConfig = {}): DatabaseProvider<RawAccess> {\n\treturn {\n\t\tcreateClient: async (ctx) => {\n\t\t\t// Create a database connection using the provided context\n\t\t\tif (!ctx.getDatabase) {\n\t\t\t\tthrow new Error(\"createDatabase method is not available in context.\");\n\t\t\t}\n\n\t\t\tconst conn = await ctx.getDatabase();\n\n\t\t\tif (!conn) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t\"Cannot create database connection, or database feature is not enabled.\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (isSQLiteShim(conn)) {\n\t\t\t\t// If the connection is already an object with exec method, return it\n\t\t\t\t// i.e. in serverless environments (Cloudflare Workers)\n\t\t\t\treturn Object.assign({}, conn, {\n\t\t\t\t\texecute: async (query, ...args) => {\n\t\t\t\t\t\treturn conn.exec(query, ...args);\n\t\t\t\t\t},\n\t\t\t\t} satisfies RawAccess) as SQLiteShim & RawAccess;\n\t\t\t}\n\n\t\t\tconst client = new SQLite(conn as string);\n\t\t\treturn Object.assign({}, client, {\n\t\t\t\texecute: async (query, ...args) => {\n\t\t\t\t\treturn client.prepare(query).all(...args);\n\t\t\t\t},\n\t\t\t} satisfies RawAccess) as RawAccess;\n\t\t},\n\t\tonMigrate: async (client) => {\n\t\t\t// Run migrations if provided in the config\n\t\t\tif (onMigrate) {\n\t\t\t\tawait onMigrate(client);\n\t\t\t}\n\t\t},\n\t};\n}\n","/**\n * On serverless environments, we use a shim, as not all methods are available.\n * This is a minimal shim that only includes the `exec` method, which is used for\n * running raw SQL commands.\n */\nexport type SQLiteShim = {\n\texec: (query: string, ...args: unknown[]) => unknown[];\n};\n\nexport function isSQLiteShim<T>(conn: unknown): conn is SQLiteShim & T {\n\treturn (\n\t\ttypeof conn === \"object\" &&\n\t\tconn !== null &&\n\t\t\"exec\" in conn &&\n\t\ttypeof (conn as SQLiteShim).exec === \"function\"\n\t);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rivetkit/db",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"stableVersion": "0.8.0",
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"better-sqlite3": "^11.10.0",
|
|
56
|
-
"@rivetkit/core": "0.
|
|
56
|
+
"@rivetkit/core": "2.0.0"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"build": "tsup src/mod.ts src/drizzle/mod.ts",
|