@goodie-ts/kysely 0.6.1 → 1.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/README.md +16 -0
- package/dist/beans.json +963 -17
- package/dist/decorators/migration.d.ts +7 -1
- package/dist/decorators/migration.d.ts.map +1 -1
- package/dist/decorators/migration.js +14 -6
- package/dist/decorators/migration.js.map +1 -1
- package/dist/dialect.d.ts +4 -18
- package/dist/dialect.d.ts.map +1 -1
- package/dist/dialect.js +5 -27
- package/dist/dialect.js.map +1 -1
- package/dist/dialects/d1.d.ts +23 -0
- package/dist/dialects/d1.d.ts.map +1 -0
- package/dist/dialects/d1.js +126 -0
- package/dist/dialects/d1.js.map +1 -0
- package/dist/dialects/index.d.ts +8 -0
- package/dist/dialects/index.d.ts.map +1 -0
- package/dist/dialects/index.js +8 -0
- package/dist/dialects/index.js.map +1 -0
- package/dist/dialects/libsql.d.ts +19 -0
- package/dist/dialects/libsql.d.ts.map +1 -0
- package/dist/dialects/libsql.js +129 -0
- package/dist/dialects/libsql.js.map +1 -0
- package/dist/dialects/mysql.d.ts +24 -0
- package/dist/dialects/mysql.d.ts.map +1 -0
- package/dist/dialects/mysql.js +141 -0
- package/dist/dialects/mysql.js.map +1 -0
- package/dist/dialects/neon.d.ts +17 -0
- package/dist/dialects/neon.d.ts.map +1 -0
- package/dist/dialects/neon.js +126 -0
- package/dist/dialects/neon.js.map +1 -0
- package/dist/dialects/planetscale.d.ts +20 -0
- package/dist/dialects/planetscale.d.ts.map +1 -0
- package/dist/dialects/planetscale.js +132 -0
- package/dist/dialects/planetscale.js.map +1 -0
- package/dist/dialects/postgres.d.ts +30 -0
- package/dist/dialects/postgres.d.ts.map +1 -0
- package/dist/dialects/postgres.js +148 -0
- package/dist/dialects/postgres.js.map +1 -0
- package/dist/dialects/sqlite.d.ts +17 -0
- package/dist/dialects/sqlite.d.ts.map +1 -0
- package/dist/dialects/sqlite.js +126 -0
- package/dist/dialects/sqlite.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/kysely-database.d.ts +10 -17
- package/dist/kysely-database.d.ts.map +1 -1
- package/dist/kysely-database.js +5 -85
- package/dist/kysely-database.js.map +1 -1
- package/dist/kysely-transformer-plugin.d.ts.map +1 -1
- package/dist/kysely-transformer-plugin.js +15 -10
- package/dist/kysely-transformer-plugin.js.map +1 -1
- package/dist/pool-config.d.ts +12 -0
- package/dist/pool-config.d.ts.map +1 -0
- package/dist/{datasource-config.js → pool-config.js} +9 -57
- package/dist/pool-config.js.map +1 -0
- package/dist/transaction-manager.d.ts +6 -8
- package/dist/transaction-manager.d.ts.map +1 -1
- package/dist/transaction-manager.js +13 -16
- package/dist/transaction-manager.js.map +1 -1
- package/package.json +22 -7
- package/dist/datasource-config.d.ts +0 -31
- package/dist/datasource-config.d.ts.map +0 -1
- package/dist/datasource-config.js.map +0 -1
- package/dist/dialect-factory.d.ts +0 -9
- package/dist/dialect-factory.d.ts.map +0 -1
- package/dist/dialect-factory.js +0 -48
- package/dist/dialect-factory.js.map +0 -1
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
-
import { supportsReturning as dialectSupportsReturning } from './dialect.js';
|
|
3
2
|
/**
|
|
4
3
|
* Manages database transactions using AsyncLocalStorage.
|
|
5
4
|
*
|
|
@@ -7,19 +6,22 @@ import { supportsReturning as dialectSupportsReturning } from './dialect.js';
|
|
|
7
6
|
* explicitly threading a transaction object through every method.
|
|
8
7
|
*
|
|
9
8
|
* When auto-wired via `createKyselyPlugin()`, the constructor receives
|
|
10
|
-
* the KyselyDatabase bean and reads its `.kysely`
|
|
11
|
-
* Manual `configure()` is still supported for backward compatibility.
|
|
9
|
+
* the KyselyDatabase bean and reads its `.kysely` and `.supportsReturning` properties.
|
|
12
10
|
*/
|
|
13
11
|
export class TransactionManager {
|
|
14
12
|
storage = new AsyncLocalStorage();
|
|
15
13
|
kyselyRef;
|
|
16
14
|
testTransactionActive = false;
|
|
17
15
|
_supportsReturning;
|
|
18
|
-
constructor(kyselyOrProvider
|
|
16
|
+
constructor(kyselyOrProvider) {
|
|
19
17
|
if (kyselyOrProvider) {
|
|
20
18
|
if ('kysely' in kyselyOrProvider) {
|
|
21
19
|
// Capture the current value (may already be set if @PostConstruct ran)
|
|
22
20
|
this.kyselyRef = kyselyOrProvider.kysely;
|
|
21
|
+
// Read supportsReturning from the provider (e.g. KyselyDatabase subclass)
|
|
22
|
+
if (kyselyOrProvider.supportsReturning !== undefined) {
|
|
23
|
+
this._supportsReturning = kyselyOrProvider.supportsReturning;
|
|
24
|
+
}
|
|
23
25
|
// Make the provider's .kysely property transaction-aware.
|
|
24
26
|
// Any code accessing provider.kysely (e.g. database.kysely) will
|
|
25
27
|
// automatically use the active transaction when inside one.
|
|
@@ -38,22 +40,17 @@ export class TransactionManager {
|
|
|
38
40
|
else {
|
|
39
41
|
this.kyselyRef = kyselyOrProvider;
|
|
40
42
|
}
|
|
41
|
-
const resolvedDialect = dialect ??
|
|
42
|
-
('dialect' in kyselyOrProvider
|
|
43
|
-
? kyselyOrProvider.dialect
|
|
44
|
-
: undefined);
|
|
45
|
-
if (resolvedDialect) {
|
|
46
|
-
this._supportsReturning = dialectSupportsReturning(resolvedDialect);
|
|
47
|
-
}
|
|
48
43
|
}
|
|
49
44
|
}
|
|
50
45
|
/**
|
|
51
46
|
* Configure the Kysely instance used for transactions.
|
|
52
|
-
* Called
|
|
47
|
+
* Called manually or after @PostConstruct creates the Kysely instance.
|
|
53
48
|
*/
|
|
54
|
-
configure(kysely,
|
|
49
|
+
configure(kysely, supportsReturning) {
|
|
55
50
|
this.kyselyRef = kysely;
|
|
56
|
-
|
|
51
|
+
if (supportsReturning !== undefined) {
|
|
52
|
+
this._supportsReturning = supportsReturning;
|
|
53
|
+
}
|
|
57
54
|
}
|
|
58
55
|
get kysely() {
|
|
59
56
|
if (!this.kyselyRef) {
|
|
@@ -94,11 +91,11 @@ export class TransactionManager {
|
|
|
94
91
|
}
|
|
95
92
|
/**
|
|
96
93
|
* Whether the underlying dialect supports RETURNING clauses.
|
|
97
|
-
*
|
|
94
|
+
* Derived from the KyselyDatabase provider at construction / configure time.
|
|
98
95
|
*/
|
|
99
96
|
get supportsReturning() {
|
|
100
97
|
if (this._supportsReturning === undefined) {
|
|
101
|
-
throw new Error('TransactionManager not configured. Call configure(kysely) or pass a
|
|
98
|
+
throw new Error('TransactionManager not configured. Call configure(kysely) or pass a KyselyProvider to the constructor.');
|
|
102
99
|
}
|
|
103
100
|
return this._supportsReturning;
|
|
104
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction-manager.js","sourceRoot":"","sources":["../src/transaction-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"transaction-manager.js","sourceRoot":"","sources":["../src/transaction-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goodie-ts/kysely",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Kysely integration for goodie-ts — @Transactional decorator, TransactionManager, KyselyDatabase",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -24,14 +24,16 @@
|
|
|
24
24
|
"import": "./dist/index.js"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
-
"dependencies": {
|
|
28
|
-
"@goodie-ts/core": "^0.9.0"
|
|
29
|
-
},
|
|
30
27
|
"peerDependencies": {
|
|
28
|
+
"@goodie-ts/core": ">=1.0.0",
|
|
31
29
|
"kysely": ">=0.27.0",
|
|
32
30
|
"pg": ">=8.0.0",
|
|
33
31
|
"mysql2": ">=3.0.0",
|
|
34
|
-
"better-sqlite3": ">=9.0.0"
|
|
32
|
+
"better-sqlite3": ">=9.0.0",
|
|
33
|
+
"kysely-neon": ">=0.3.0",
|
|
34
|
+
"kysely-planetscale": ">=1.0.0",
|
|
35
|
+
"@libsql/kysely-libsql": ">=0.4.0",
|
|
36
|
+
"kysely-d1": ">=0.4.0"
|
|
35
37
|
},
|
|
36
38
|
"peerDependenciesMeta": {
|
|
37
39
|
"pg": {
|
|
@@ -42,6 +44,18 @@
|
|
|
42
44
|
},
|
|
43
45
|
"better-sqlite3": {
|
|
44
46
|
"optional": true
|
|
47
|
+
},
|
|
48
|
+
"kysely-neon": {
|
|
49
|
+
"optional": true
|
|
50
|
+
},
|
|
51
|
+
"kysely-planetscale": {
|
|
52
|
+
"optional": true
|
|
53
|
+
},
|
|
54
|
+
"@libsql/kysely-libsql": {
|
|
55
|
+
"optional": true
|
|
56
|
+
},
|
|
57
|
+
"kysely-d1": {
|
|
58
|
+
"optional": true
|
|
45
59
|
}
|
|
46
60
|
},
|
|
47
61
|
"devDependencies": {
|
|
@@ -53,8 +67,9 @@
|
|
|
53
67
|
"mysql2": "^3.0.0",
|
|
54
68
|
"pg": "^8.0.0",
|
|
55
69
|
"ts-morph": "^24.0.0",
|
|
56
|
-
"@goodie-ts/
|
|
57
|
-
"@goodie-ts/
|
|
70
|
+
"@goodie-ts/core": "1.0.0",
|
|
71
|
+
"@goodie-ts/cli": "1.0.0",
|
|
72
|
+
"@goodie-ts/transformer": "1.0.0"
|
|
58
73
|
},
|
|
59
74
|
"files": [
|
|
60
75
|
"dist"
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Connection pool configuration, bound from `datasource.pool.*` keys.
|
|
3
|
-
*/
|
|
4
|
-
export declare class PoolConfig {
|
|
5
|
-
min: number;
|
|
6
|
-
max: number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Configuration properties for the datasource, bound from `datasource.*` keys.
|
|
10
|
-
*
|
|
11
|
-
* Users configure via `config/default.json`:
|
|
12
|
-
* ```json
|
|
13
|
-
* {
|
|
14
|
-
* "datasource": {
|
|
15
|
-
* "url": "postgres://localhost:5432/mydb",
|
|
16
|
-
* "dialect": "postgres",
|
|
17
|
-
* "pool": { "min": 2, "max": 10 }
|
|
18
|
-
* }
|
|
19
|
-
* }
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* Or via environment variables: `DATASOURCE_URL`, `DATASOURCE_DIALECT`, etc.
|
|
23
|
-
*/
|
|
24
|
-
export declare class DatasourceConfig {
|
|
25
|
-
readonly pool: PoolConfig;
|
|
26
|
-
url: string;
|
|
27
|
-
dialect: string;
|
|
28
|
-
constructor(pool: PoolConfig);
|
|
29
|
-
validate(): void;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=datasource-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datasource-config.d.ts","sourceRoot":"","sources":["../src/datasource-config.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,qBAEa,UAAU;IACrB,GAAG,SAAK;IACR,GAAG,SAAM;CACV;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAEa,gBAAgB;IAIf,QAAQ,CAAC,IAAI,EAAE,UAAU;IAHrC,GAAG,SAAM;IACT,OAAO,SAAM;gBAEQ,IAAI,EAAE,UAAU;IAGrC,QAAQ;CAcT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"datasource-config.js","sourceRoot":"","sources":["../src/datasource-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C;;GAEG;IAGU,UAAU;4BAFtB,SAAS,EAAE,EACX,uBAAuB,CAAC,iBAAiB,CAAC;;;;;;;;YAC3C,6KAGC;;;YAHY,uDAAU;;QACrB,GAAG,GAAG,CAAC,CAAC;QACR,GAAG,GAAG,EAAE,CAAC;;;;SAFE,UAAU;AAKvB;;;;;;;;;;;;;;;GAeG;IAGU,gBAAgB;4BAF5B,SAAS,EAAE,EACX,uBAAuB,CAAC,YAAY,CAAC;;;;;;;;;;oCAOnC,aAAa,EAAE;YAChB,2KAAA,QAAQ,6DAaP;YApBH,6KAqBC;;;YArBY,uDAAgB;;QAIN,IAAI,GAJd,mDAAgB;QAC3B,GAAG,GAAG,EAAE,CAAC;QACT,OAAO,GAAG,EAAE,CAAC;QAEb,YAAqB,IAAgB;YAAhB,SAAI,GAAJ,IAAI,CAAY;QAAG,CAAC;QAGzC,QAAQ;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,iGAAiG,CAClG,CAAC;YACJ,CAAC;YACD,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE9B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,yFAAyF,CAC1F,CAAC;YACJ,CAAC;QACH,CAAC;;;;SApBU,gBAAgB"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { DatasourceConfig } from './datasource-config.js';
|
|
2
|
-
/**
|
|
3
|
-
* Create a Kysely dialect instance from DatasourceConfig.
|
|
4
|
-
*
|
|
5
|
-
* Dynamically imports the appropriate driver package based on `config.dialect`.
|
|
6
|
-
* The driver packages are optional peer dependencies — users install only what they need.
|
|
7
|
-
*/
|
|
8
|
-
export default function createDialect(config: DatasourceConfig): Promise<import("kysely").PostgresDialect | import("kysely").MysqlDialect | import("kysely").SqliteDialect>;
|
|
9
|
-
//# sourceMappingURL=dialect-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialect-factory.d.ts","sourceRoot":"","sources":["../src/dialect-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D;;;;;GAKG;AACH,wBAA8B,aAAa,CAAC,MAAM,EAAE,gBAAgB,8GAcnE"}
|
package/dist/dialect-factory.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Create a Kysely dialect instance from DatasourceConfig.
|
|
3
|
-
*
|
|
4
|
-
* Dynamically imports the appropriate driver package based on `config.dialect`.
|
|
5
|
-
* The driver packages are optional peer dependencies — users install only what they need.
|
|
6
|
-
*/
|
|
7
|
-
export default async function createDialect(config) {
|
|
8
|
-
const dialect = config.dialect;
|
|
9
|
-
switch (dialect) {
|
|
10
|
-
case 'postgres':
|
|
11
|
-
return createPostgresDialect(config);
|
|
12
|
-
case 'mysql':
|
|
13
|
-
return createMysqlDialect(config);
|
|
14
|
-
case 'sqlite':
|
|
15
|
-
return createSqliteDialect(config);
|
|
16
|
-
default:
|
|
17
|
-
throw new Error(`Unsupported dialect: '${dialect}'. Supported dialects: 'postgres', 'mysql', 'sqlite'.`);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
async function createPostgresDialect(config) {
|
|
21
|
-
const { Pool } = await import('pg');
|
|
22
|
-
const { PostgresDialect } = await import('kysely');
|
|
23
|
-
return new PostgresDialect({
|
|
24
|
-
pool: new Pool({
|
|
25
|
-
connectionString: config.url,
|
|
26
|
-
min: config.pool.min,
|
|
27
|
-
max: config.pool.max,
|
|
28
|
-
}),
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
async function createMysqlDialect(config) {
|
|
32
|
-
const mysql2 = await import('mysql2/promise');
|
|
33
|
-
const { MysqlDialect } = await import('kysely');
|
|
34
|
-
return new MysqlDialect({
|
|
35
|
-
pool: mysql2.createPool({
|
|
36
|
-
uri: config.url,
|
|
37
|
-
connectionLimit: config.pool.max,
|
|
38
|
-
}),
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
async function createSqliteDialect(config) {
|
|
42
|
-
const BetterSqlite3 = await import('better-sqlite3');
|
|
43
|
-
const { SqliteDialect } = await import('kysely');
|
|
44
|
-
return new SqliteDialect({
|
|
45
|
-
database: new BetterSqlite3.default(config.url),
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=dialect-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialect-factory.js","sourceRoot":"","sources":["../src/dialect-factory.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CAAC,MAAwB;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAC;IAC1C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACvC,KAAK,OAAO;YACV,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACpC,KAAK,QAAQ;YACX,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACrC;YACE,MAAM,IAAI,KAAK,CACb,yBAAyB,OAAO,uDAAuD,CACxF,CAAC;IACN,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,MAAwB;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACnD,OAAO,IAAI,eAAe,CAAC;QACzB,IAAI,EAAE,IAAI,IAAI,CAAC;YACb,gBAAgB,EAAE,MAAM,CAAC,GAAG;YAC5B,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YACpB,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;SACrB,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAwB;IACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,IAAI,YAAY,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC;YACtB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;SACjC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,MAAwB;IACzD,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACrD,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,IAAI,aAAa,CAAC;QACvB,QAAQ,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;KAChD,CAAC,CAAC;AACL,CAAC"}
|