@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.
Files changed (69) hide show
  1. package/README.md +16 -0
  2. package/dist/beans.json +963 -17
  3. package/dist/decorators/migration.d.ts +7 -1
  4. package/dist/decorators/migration.d.ts.map +1 -1
  5. package/dist/decorators/migration.js +14 -6
  6. package/dist/decorators/migration.js.map +1 -1
  7. package/dist/dialect.d.ts +4 -18
  8. package/dist/dialect.d.ts.map +1 -1
  9. package/dist/dialect.js +5 -27
  10. package/dist/dialect.js.map +1 -1
  11. package/dist/dialects/d1.d.ts +23 -0
  12. package/dist/dialects/d1.d.ts.map +1 -0
  13. package/dist/dialects/d1.js +126 -0
  14. package/dist/dialects/d1.js.map +1 -0
  15. package/dist/dialects/index.d.ts +8 -0
  16. package/dist/dialects/index.d.ts.map +1 -0
  17. package/dist/dialects/index.js +8 -0
  18. package/dist/dialects/index.js.map +1 -0
  19. package/dist/dialects/libsql.d.ts +19 -0
  20. package/dist/dialects/libsql.d.ts.map +1 -0
  21. package/dist/dialects/libsql.js +129 -0
  22. package/dist/dialects/libsql.js.map +1 -0
  23. package/dist/dialects/mysql.d.ts +24 -0
  24. package/dist/dialects/mysql.d.ts.map +1 -0
  25. package/dist/dialects/mysql.js +141 -0
  26. package/dist/dialects/mysql.js.map +1 -0
  27. package/dist/dialects/neon.d.ts +17 -0
  28. package/dist/dialects/neon.d.ts.map +1 -0
  29. package/dist/dialects/neon.js +126 -0
  30. package/dist/dialects/neon.js.map +1 -0
  31. package/dist/dialects/planetscale.d.ts +20 -0
  32. package/dist/dialects/planetscale.d.ts.map +1 -0
  33. package/dist/dialects/planetscale.js +132 -0
  34. package/dist/dialects/planetscale.js.map +1 -0
  35. package/dist/dialects/postgres.d.ts +30 -0
  36. package/dist/dialects/postgres.d.ts.map +1 -0
  37. package/dist/dialects/postgres.js +148 -0
  38. package/dist/dialects/postgres.js.map +1 -0
  39. package/dist/dialects/sqlite.d.ts +17 -0
  40. package/dist/dialects/sqlite.d.ts.map +1 -0
  41. package/dist/dialects/sqlite.js +126 -0
  42. package/dist/dialects/sqlite.js.map +1 -0
  43. package/dist/index.d.ts +3 -2
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +3 -2
  46. package/dist/index.js.map +1 -1
  47. package/dist/kysely-database.d.ts +10 -17
  48. package/dist/kysely-database.d.ts.map +1 -1
  49. package/dist/kysely-database.js +5 -85
  50. package/dist/kysely-database.js.map +1 -1
  51. package/dist/kysely-transformer-plugin.d.ts.map +1 -1
  52. package/dist/kysely-transformer-plugin.js +15 -10
  53. package/dist/kysely-transformer-plugin.js.map +1 -1
  54. package/dist/pool-config.d.ts +12 -0
  55. package/dist/pool-config.d.ts.map +1 -0
  56. package/dist/{datasource-config.js → pool-config.js} +9 -57
  57. package/dist/pool-config.js.map +1 -0
  58. package/dist/transaction-manager.d.ts +6 -8
  59. package/dist/transaction-manager.d.ts.map +1 -1
  60. package/dist/transaction-manager.js +13 -16
  61. package/dist/transaction-manager.js.map +1 -1
  62. package/package.json +22 -7
  63. package/dist/datasource-config.d.ts +0 -31
  64. package/dist/datasource-config.d.ts.map +0 -1
  65. package/dist/datasource-config.js.map +0 -1
  66. package/dist/dialect-factory.d.ts +0 -9
  67. package/dist/dialect-factory.d.ts.map +0 -1
  68. package/dist/dialect-factory.js +0 -48
  69. 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` property.
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, dialect) {
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 by KyselyDatabase after creating the Kysely instance in @PostConstruct.
47
+ * Called manually or after @PostConstruct creates the Kysely instance.
53
48
  */
54
- configure(kysely, dialect) {
49
+ configure(kysely, supportsReturning) {
55
50
  this.kyselyRef = kysely;
56
- this._supportsReturning = dialectSupportsReturning(dialect);
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
- * Eagerly derived at construction / configure time.
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 Kysely instance to the constructor.');
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":"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"}
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.6.1",
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/cli": "0.6.5",
57
- "@goodie-ts/transformer": "0.11.0"
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"}
@@ -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"}