kysely-node-native-sqlite 1.0.0-rc1

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/README.md ADDED
@@ -0,0 +1,8 @@
1
+ # Node-native Sqlite Dialect for Kysely
2
+
3
+ A dialect for [Kysely](https://www.kysely.dev/) that enables the use of the [native SQLite drivers](https://nodejs.org/api/sqlite.html).
4
+
5
+ ```typescript
6
+ const dialect = new NodeNativeSqliteDialect(dbPath);
7
+ const db = new Kysely<DatabaseSchema>({ dialect });
8
+ ```
@@ -0,0 +1,7 @@
1
+ declare class Mutex {
2
+ #private;
3
+ lock(): Promise<void>;
4
+ unlock(): void;
5
+ }
6
+ export default Mutex;
7
+ //# sourceMappingURL=Mutex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mutex.d.ts","sourceRoot":"","sources":["../src/Mutex.ts"],"names":[],"mappings":"AAAA,cAAM,KAAK;;IAIH,IAAI;IAOV,MAAM;CAMP;AAED,eAAe,KAAK,CAAC"}
package/dist/Mutex.js ADDED
@@ -0,0 +1,19 @@
1
+ class Mutex {
2
+ #promise;
3
+ #resolve;
4
+ async lock() {
5
+ while (this.#promise)
6
+ await this.#promise;
7
+ const { resolve, promise } = Promise.withResolvers();
8
+ this.#promise = promise;
9
+ this.#resolve = resolve;
10
+ }
11
+ unlock() {
12
+ const resolve = this.#resolve;
13
+ this.#promise = undefined;
14
+ this.#resolve = undefined;
15
+ resolve?.();
16
+ }
17
+ }
18
+ export default Mutex;
19
+ //# sourceMappingURL=Mutex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mutex.js","sourceRoot":"","sources":["../src/Mutex.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK;IACT,QAAQ,CAA4B;IACpC,QAAQ,CAA2B;IAEnC,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,CAAC,QAAQ,CAAC;QAC1C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAQ,CAAC;QAC3D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC1B,OAAO,EAAE,EAAE,CAAC;IACd,CAAC;CACF;AAED,eAAe,KAAK,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { DatabaseSync } from "node:sqlite";
2
+ import type { DatabaseConnection, QueryResult } from "kysely";
3
+ import { CompiledQuery } from "kysely";
4
+ declare class NodeNativeSqliteConnection implements DatabaseConnection, Disposable {
5
+ #private;
6
+ constructor(...args: ConstructorParameters<typeof DatabaseSync>);
7
+ [Symbol.dispose](): void;
8
+ executeQuery<R>(compiledQuery: CompiledQuery): Promise<QueryResult<R>>;
9
+ streamQuery<R>(compiledQuery: CompiledQuery, _chunkSize?: number): AsyncIterableIterator<QueryResult<R>>;
10
+ }
11
+ export default NodeNativeSqliteConnection;
12
+ //# sourceMappingURL=NodeNativeSqliteConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeNativeSqliteConnection.d.ts","sourceRoot":"","sources":["../src/NodeNativeSqliteConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,cAAM,0BAA2B,YAAW,kBAAkB,EAAE,UAAU;;gBAG5D,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,YAAY,CAAC;IAI/D,CAAC,MAAM,CAAC,OAAO,CAAC;IAIV,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAoDrE,WAAW,CAAC,CAAC,EAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAQzC;AAED,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { DatabaseSync } from "node:sqlite";
2
+ import { CompiledQuery } from "kysely";
3
+ class NodeNativeSqliteConnection {
4
+ #db;
5
+ constructor(...args) {
6
+ this.#db = new DatabaseSync(...args);
7
+ }
8
+ [Symbol.dispose]() {
9
+ this.#db[Symbol.dispose]();
10
+ }
11
+ async executeQuery(compiledQuery) {
12
+ const { sql, parameters, query } = compiledQuery;
13
+ const stmt = this.#db.prepare(sql);
14
+ // Determine if we should use .all() (for SELECT/RETURNING) or .run() (for others)
15
+ // We use a heuristic based on the query kind and content.
16
+ let useAll = false;
17
+ if (query.kind === "SelectQueryNode") {
18
+ useAll = true;
19
+ }
20
+ else if (query.kind === "InsertQueryNode" ||
21
+ query.kind === "UpdateQueryNode" ||
22
+ query.kind === "DeleteQueryNode") {
23
+ // Check if there is a returning clause.
24
+ // Kysely's QueryNode structure for these usually has a 'returning' property if it exists.
25
+ // However, accessing it might require type guards.
26
+ // A simpler robust check for 'RETURNING' in the SQL string is often sufficient and faster
27
+ // than traversing the node tree if types are tricky, but let's try to use the node if possible.
28
+ // For now, let's rely on the SQL string for the RETURNING clause as a fallback or primary check
29
+ // because the node structure might vary.
30
+ if (sql.toLowerCase().includes("returning")) {
31
+ useAll = true;
32
+ }
33
+ }
34
+ else if (query.kind === "RawNode") {
35
+ const lowerSql = sql.toLowerCase().trim();
36
+ if (lowerSql.startsWith("select") ||
37
+ lowerSql.startsWith("pragma") ||
38
+ lowerSql.startsWith("with") ||
39
+ lowerSql.includes("returning")) {
40
+ useAll = true;
41
+ }
42
+ }
43
+ if (useAll) {
44
+ const rows = stmt.all(...parameters);
45
+ return {
46
+ rows,
47
+ };
48
+ }
49
+ else {
50
+ const result = stmt.run(...parameters);
51
+ return {
52
+ rows: [],
53
+ insertId: BigInt(result.lastInsertRowid),
54
+ numAffectedRows: BigInt(result.changes),
55
+ };
56
+ }
57
+ }
58
+ async *streamQuery(compiledQuery, _chunkSize) {
59
+ // node:sqlite is synchronous and doesn't support streaming yet.
60
+ // We simulate streaming by executing the query and yielding results.
61
+ const result = await this.executeQuery(compiledQuery);
62
+ if (result.rows) {
63
+ yield { rows: result.rows };
64
+ }
65
+ }
66
+ }
67
+ export default NodeNativeSqliteConnection;
68
+ //# sourceMappingURL=NodeNativeSqliteConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeNativeSqliteConnection.js","sourceRoot":"","sources":["../src/NodeNativeSqliteConnection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,0BAA0B;IAC9B,GAAG,CAAe;IAElB,YAAY,GAAG,IAAgD;QAC7D,IAAI,CAAC,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,aAA4B;QAChD,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEnC,kFAAkF;QAClF,0DAA0D;QAC1D,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;aAAM,IACL,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAChC,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAChC,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAChC,CAAC;YACD,wCAAwC;YACxC,0FAA0F;YAC1F,mDAAmD;YACnD,0FAA0F;YAC1F,gGAAgG;YAChG,gGAAgG;YAChG,yCAAyC;YACzC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5C,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YAC1C,IACE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC7B,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC7B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC3B,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC9B,CAAC;gBACD,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAI,UAA8B,CAAQ,CAAC;YACjE,OAAO;gBACL,IAAI;aACL,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAI,UAA8B,CAAC,CAAC;YAC5D,OAAO;gBACL,IAAI,EAAE,EAAE;gBACR,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;gBACxC,eAAe,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;aACxC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,WAAW,CAChB,aAA4B,EAC5B,UAAmB;QAEnB,gEAAgE;QAChE,qEAAqE;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAI,aAAa,CAAC,CAAC;QACzD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;CACF;AAED,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { DatabaseSync } from "node:sqlite";
2
+ import { type DatabaseIntrospector, type Dialect, type Driver, Kysely, SqliteAdapter, SqliteQueryCompiler } from "kysely";
3
+ declare class NodeNativeSqliteDialect implements Dialect {
4
+ #private;
5
+ constructor(...args: ConstructorParameters<typeof DatabaseSync>);
6
+ createAdapter(): SqliteAdapter;
7
+ createDriver(): Driver;
8
+ createIntrospector(db: Kysely<unknown>): DatabaseIntrospector;
9
+ createQueryCompiler(): SqliteQueryCompiler;
10
+ }
11
+ export default NodeNativeSqliteDialect;
12
+ //# sourceMappingURL=NodeNativeSqliteDialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeNativeSqliteDialect.d.ts","sourceRoot":"","sources":["../src/NodeNativeSqliteDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,KAAK,MAAM,EACX,MAAM,EACN,aAAa,EAEb,mBAAmB,EACpB,MAAM,QAAQ,CAAC;AAIhB,cAAM,uBAAwB,YAAW,OAAO;;gBAGlC,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,YAAY,CAAC;IAI/D,aAAa,IAAI,aAAa;IAG9B,YAAY,IAAI,MAAM;IAGtB,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,oBAAoB;IAG7D,mBAAmB,IAAI,mBAAmB;CAG3C;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { DatabaseSync } from "node:sqlite";
2
+ import { Kysely, SqliteAdapter, SqliteIntrospector, SqliteQueryCompiler, } from "kysely";
3
+ import NodeNativeSqliteDriver from "./NodeNativeSqliteDriver.js";
4
+ class NodeNativeSqliteDialect {
5
+ #args;
6
+ constructor(...args) {
7
+ this.#args = args;
8
+ }
9
+ createAdapter() {
10
+ return new SqliteAdapter();
11
+ }
12
+ createDriver() {
13
+ return new NodeNativeSqliteDriver(...this.#args);
14
+ }
15
+ createIntrospector(db) {
16
+ return new SqliteIntrospector(db);
17
+ }
18
+ createQueryCompiler() {
19
+ return new SqliteQueryCompiler();
20
+ }
21
+ }
22
+ export default NodeNativeSqliteDialect;
23
+ //# sourceMappingURL=NodeNativeSqliteDialect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeNativeSqliteDialect.js","sourceRoot":"","sources":["../src/NodeNativeSqliteDialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAIL,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,QAAQ,CAAC;AAEhB,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAEjE,MAAM,uBAAuB;IAClB,KAAK,CAA6C;IAE3D,YAAY,GAAG,IAAgD;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,aAAa,EAAE,CAAC;IAC7B,CAAC;IACD,YAAY;QACV,OAAO,IAAI,sBAAsB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IACD,kBAAkB,CAAC,EAAmB;QACpC,OAAO,IAAI,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,mBAAmB;QACjB,OAAO,IAAI,mBAAmB,EAAE,CAAC;IACnC,CAAC;CACF;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { DatabaseSync } from "node:sqlite";
2
+ import type { DatabaseConnection, Driver, QueryCompiler, TransactionSettings } from "kysely";
3
+ import NodeNativeSqliteConnection from "./NodeNativeSqliteConnection.ts";
4
+ declare class NodeNativeSqliteDriver implements Driver, AsyncDisposable {
5
+ #private;
6
+ constructor(...args: ConstructorParameters<typeof DatabaseSync>);
7
+ get connection(): NodeNativeSqliteConnection;
8
+ acquireConnection(): Promise<NodeNativeSqliteConnection>;
9
+ beginTransaction(connection: NodeNativeSqliteConnection, _settings: TransactionSettings): Promise<void>;
10
+ commitTransaction(connection: DatabaseConnection): Promise<void>;
11
+ destroy(): Promise<void>;
12
+ [Symbol.asyncDispose](): Promise<void>;
13
+ init(): Promise<void>;
14
+ releaseConnection(_connection: DatabaseConnection): Promise<void>;
15
+ releaseSavepoint(connection: DatabaseConnection, savepointName: string, compileQuery: QueryCompiler["compileQuery"]): Promise<void>;
16
+ rollbackToSavepoint(connection: DatabaseConnection, savepointName: string, compileQuery: QueryCompiler["compileQuery"]): Promise<void>;
17
+ rollbackTransaction(connection: DatabaseConnection): Promise<void>;
18
+ savepoint(connection: DatabaseConnection, savepointName: string, compileQuery: QueryCompiler["compileQuery"]): Promise<void>;
19
+ }
20
+ export default NodeNativeSqliteDriver;
21
+ //# sourceMappingURL=NodeNativeSqliteDriver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeNativeSqliteDriver.d.ts","sourceRoot":"","sources":["../src/NodeNativeSqliteDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAI7F,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE,cAAM,sBAAuB,YAAW,MAAM,EAAE,eAAe;;gBAKjD,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,YAAY,CAAC;IAI/D,IAAI,UAAU,+BAIb;IAEK,iBAAiB;IAKjB,gBAAgB,CAAC,UAAU,EAAE,0BAA0B,EAAE,SAAS,EAAE,mBAAmB;IAGvF,iBAAiB,CAAC,UAAU,EAAE,kBAAkB;IAIhD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,CAAC,MAAM,CAAC,YAAY,CAAC;IAIrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,iBAAiB,CAAC,WAAW,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE,gBAAgB,CACpB,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC;IAOvC,mBAAmB,CACvB,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC;IAOvC,mBAAmB,CAAC,UAAU,EAAE,kBAAkB;IAIlD,SAAS,CACb,UAAU,EAAE,kBAAkB,EAC9B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC;CAI9C;AAWD,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { DatabaseSync } from "node:sqlite";
2
+ import { CompiledQuery, IdentifierNode, RawNode } from "kysely";
3
+ import Mutex from "./Mutex.js";
4
+ import NodeNativeSqliteConnection from "./NodeNativeSqliteConnection.js";
5
+ class NodeNativeSqliteDriver {
6
+ #args;
7
+ #connection;
8
+ #mutex = new Mutex();
9
+ constructor(...args) {
10
+ this.#args = args;
11
+ }
12
+ get connection() {
13
+ if (typeof this.#connection === "undefined")
14
+ throw new Error("Database was not initialized. Run `init` first");
15
+ return this.#connection;
16
+ }
17
+ async acquireConnection() {
18
+ await this.#mutex.lock();
19
+ return this.connection;
20
+ }
21
+ async beginTransaction(connection, _settings) {
22
+ await connection.executeQuery(CompiledQuery.raw("BEGIN"));
23
+ }
24
+ async commitTransaction(connection) {
25
+ await connection.executeQuery(CompiledQuery.raw("COMMIT"));
26
+ }
27
+ async destroy() {
28
+ this.#connection?.[Symbol.dispose]();
29
+ }
30
+ async [Symbol.asyncDispose]() {
31
+ await this.destroy();
32
+ }
33
+ async init() {
34
+ this.#connection = new NodeNativeSqliteConnection(...this.#args);
35
+ }
36
+ async releaseConnection(_connection) {
37
+ this.#mutex.unlock();
38
+ }
39
+ async releaseSavepoint(connection, savepointName, compileQuery) {
40
+ await connection.executeQuery(compileQuery(savepointCommand("RELEASE SAVEPOINT", savepointName)));
41
+ }
42
+ async rollbackToSavepoint(connection, savepointName, compileQuery) {
43
+ await connection.executeQuery(compileQuery(savepointCommand("ROLLBACK TO SAVEPOINT", savepointName)));
44
+ }
45
+ async rollbackTransaction(connection) {
46
+ await connection.executeQuery(CompiledQuery.raw("ROLLBACK"));
47
+ }
48
+ async savepoint(connection, savepointName, compileQuery) {
49
+ await connection.executeQuery(compileQuery(savepointCommand("SAVEPOINT", savepointName)));
50
+ }
51
+ }
52
+ const savepointCommand = (command, savepointName) => RawNode.createWithChildren([
53
+ RawNode.createWithSql(command),
54
+ IdentifierNode.create(savepointName),
55
+ ]);
56
+ export default NodeNativeSqliteDriver;
57
+ //# sourceMappingURL=NodeNativeSqliteDriver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeNativeSqliteDriver.js","sourceRoot":"","sources":["../src/NodeNativeSqliteDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAEhE,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,0BAA0B,MAAM,iCAAiC,CAAC;AAEzE,MAAM,sBAAsB;IAC1B,KAAK,CAA6C;IAClD,WAAW,CAAyC;IACpD,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;IAErB,YAAY,GAAG,IAAgD;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,WAAW;YACzC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAsC,EAAE,SAA8B;QAC3F,MAAM,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,UAA8B;QACpD,MAAM,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,WAAW,GAAG,IAAI,0BAA0B,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAA+B;QACrD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAA8B,EAC9B,aAAqB,EACrB,YAA2C;QAE3C,MAAM,UAAU,CAAC,YAAY,CAC3B,YAAY,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,UAA8B,EAC9B,aAAqB,EACrB,YAA2C;QAE3C,MAAM,UAAU,CAAC,YAAY,CAC3B,YAAY,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC,CACvE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,UAA8B;QACtD,MAAM,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,SAAS,CACb,UAA8B,EAC9B,aAAqB,EACrB,YAA2C;QAE3C,MAAM,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,CACvB,OAAoE,EACpE,aAAqB,EACZ,EAAE,CACX,OAAO,CAAC,kBAAkB,CAAC;IACzB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;IAC9B,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC;CACrC,CAAC,CAAC;AAEL,eAAe,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default, default as NodeNativeSqliteDialect } from "./NodeNativeSqliteDialect.ts";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { default, default as NodeNativeSqliteDialect } from "./NodeNativeSqliteDialect.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
package/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "kysely-node-native-sqlite",
3
+ "version": "1.0.0-rc1",
4
+ "type": "module",
5
+ "description": "Kysely dialect for Node.js native SQLite (node:sqlite)",
6
+ "keywords": [
7
+ "sqlite",
8
+ "kysely",
9
+ "dialect"
10
+ ],
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "peerDependencies": {
21
+ "kysely": ">=0.27.0"
22
+ },
23
+ "devDependencies": {
24
+ "kysely": "^0.27.5",
25
+ "typescript": "^5.9.3",
26
+ "@types/node": "^24.10.1"
27
+ },
28
+ "scripts": {
29
+ "build": "tsc",
30
+ "test": "node --test src/**/*.test.ts"
31
+ }
32
+ }