@effect/sql-mysql2 0.50.0 → 4.0.0-beta.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.
@@ -1,29 +1,28 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as Reactivity from "@effect/experimental/Reactivity";
5
- import * as Client from "@effect/sql/SqlClient";
6
- import { SqlError } from "@effect/sql/SqlError";
7
- import * as Statement from "@effect/sql/Statement";
8
4
  import * as Config from "effect/Config";
9
- import type { ConfigError } from "effect/ConfigError";
10
- import * as Context from "effect/Context";
11
5
  import * as Duration from "effect/Duration";
12
6
  import * as Effect from "effect/Effect";
13
7
  import * as Layer from "effect/Layer";
14
8
  import * as Redacted from "effect/Redacted";
15
9
  import type { Scope } from "effect/Scope";
10
+ import * as ServiceMap from "effect/ServiceMap";
11
+ import * as Reactivity from "effect/unstable/reactivity/Reactivity";
12
+ import * as Client from "effect/unstable/sql/SqlClient";
13
+ import { SqlError } from "effect/unstable/sql/SqlError";
14
+ import * as Statement from "effect/unstable/sql/Statement";
16
15
  import * as Mysql from "mysql2";
17
16
  /**
18
17
  * @category type ids
19
18
  * @since 1.0.0
20
19
  */
21
- export declare const TypeId: unique symbol;
20
+ export declare const TypeId: TypeId;
22
21
  /**
23
22
  * @category type ids
24
23
  * @since 1.0.0
25
24
  */
26
- export type TypeId = typeof TypeId;
25
+ export type TypeId = "~@effect/sql-mysql2/MysqlClient";
27
26
  /**
28
27
  * @category models
29
28
  * @since 1.0.0
@@ -36,7 +35,7 @@ export interface MysqlClient extends Client.SqlClient {
36
35
  * @category tags
37
36
  * @since 1.0.0
38
37
  */
39
- export declare const MysqlClient: Context.Tag<MysqlClient, MysqlClient>;
38
+ export declare const MysqlClient: ServiceMap.Service<MysqlClient, MysqlClient>;
40
39
  /**
41
40
  * @category models
42
41
  * @since 1.0.0
@@ -67,12 +66,12 @@ export declare const make: (options: MysqlClientConfig) => Effect.Effect<MysqlCl
67
66
  * @category layers
68
67
  * @since 1.0.0
69
68
  */
70
- export declare const layerConfig: (config: Config.Config.Wrap<MysqlClientConfig>) => Layer.Layer<MysqlClient | Client.SqlClient, ConfigError | SqlError>;
69
+ export declare const layerConfig: (config: Config.Wrap<MysqlClientConfig>) => Layer.Layer<MysqlClient | Client.SqlClient, Config.ConfigError | SqlError>;
71
70
  /**
72
71
  * @category layers
73
72
  * @since 1.0.0
74
73
  */
75
- export declare const layer: (config: MysqlClientConfig) => Layer.Layer<MysqlClient | Client.SqlClient, ConfigError | SqlError>;
74
+ export declare const layer: (config: MysqlClientConfig) => Layer.Layer<MysqlClient | Client.SqlClient, Config.ConfigError | SqlError>;
76
75
  /**
77
76
  * @category compiler
78
77
  * @since 1.0.0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MysqlClient.d.ts","sourceRoot":"","sources":["../src/MysqlClient.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,18 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import * as Reactivity from "@effect/experimental/Reactivity";
5
- import * as Client from "@effect/sql/SqlClient";
6
- import { SqlError } from "@effect/sql/SqlError";
7
- import { asyncPauseResume } from "@effect/sql/SqlStream";
8
- import * as Statement from "@effect/sql/Statement";
9
- import * as Chunk from "effect/Chunk";
10
4
  import * as Config from "effect/Config";
11
- import * as Context from "effect/Context";
12
5
  import * as Duration from "effect/Duration";
13
6
  import * as Effect from "effect/Effect";
14
7
  import * as Layer from "effect/Layer";
15
8
  import * as Redacted from "effect/Redacted";
9
+ import * as ServiceMap from "effect/ServiceMap";
16
10
  import * as Stream from "effect/Stream";
11
+ import * as Reactivity from "effect/unstable/reactivity/Reactivity";
12
+ import * as Client from "effect/unstable/sql/SqlClient";
13
+ import { SqlError } from "effect/unstable/sql/SqlError";
14
+ import { asyncPauseResume } from "effect/unstable/sql/SqlStream";
15
+ import * as Statement from "effect/unstable/sql/Statement";
17
16
  import * as Mysql from "mysql2";
18
17
  const ATTR_DB_SYSTEM_NAME = "db.system.name";
19
18
  const ATTR_DB_NAMESPACE = "db.namespace";
@@ -23,12 +22,12 @@ const ATTR_SERVER_PORT = "server.port";
23
22
  * @category type ids
24
23
  * @since 1.0.0
25
24
  */
26
- export const TypeId = /*#__PURE__*/Symbol.for("@effect/sql-mysql2/MysqlClient");
25
+ export const TypeId = "~@effect/sql-mysql2/MysqlClient";
27
26
  /**
28
27
  * @category tags
29
28
  * @since 1.0.0
30
29
  */
31
- export const MysqlClient = /*#__PURE__*/Context.GenericTag("@effect/sql-mysql2/MysqlClient");
30
+ export const MysqlClient = /*#__PURE__*/ServiceMap.Service("@effect/sql-mysql2/MysqlClient");
32
31
  /**
33
32
  * @category constructors
34
33
  * @since 1.0.0
@@ -42,7 +41,7 @@ export const make = options => Effect.gen(function* () {
42
41
  this.conn = conn;
43
42
  }
44
43
  runRaw(sql, values, rowsAsArray = false, method = "execute") {
45
- return Effect.async(resume => {
44
+ return Effect.callback(resume => {
46
45
  ;
47
46
  this.conn[method]({
48
47
  sql,
@@ -77,7 +76,7 @@ export const make = options => Effect.gen(function* () {
77
76
  }
78
77
  executeStream(sql, params, transformRows) {
79
78
  const stream = queryStream(this.conn, sql, params);
80
- return transformRows ? Stream.mapChunks(stream, _ => Chunk.unsafeFromArray(transformRows(Chunk.toReadonlyArray(_)))) : stream;
79
+ return transformRows ? Stream.mapArray(stream, _ => transformRows(_)) : stream;
81
80
  }
82
81
  }
83
82
  const pool = options.url ? Mysql.createPool({
@@ -85,9 +84,9 @@ export const make = options => Effect.gen(function* () {
85
84
  multipleStatements: true,
86
85
  supportBigNumbers: true,
87
86
  connectionLimit: options.maxConnections,
88
- idleTimeout: options.connectionTTL ? Duration.toMillis(options.connectionTTL) : undefined
87
+ idleTimeout: options.connectionTTL ? Duration.toMillis(Duration.fromDurationInputUnsafe(options.connectionTTL)) : undefined
89
88
  }) : Mysql.createPool({
90
- ...(options.poolConfig ?? {}),
89
+ ...options.poolConfig,
91
90
  host: options.host,
92
91
  port: options.port,
93
92
  database: options.database,
@@ -96,10 +95,9 @@ export const make = options => Effect.gen(function* () {
96
95
  multipleStatements: true,
97
96
  supportBigNumbers: true,
98
97
  connectionLimit: options.maxConnections,
99
- maxIdle: options.poolConfig?.maxIdle ?? 0,
100
- idleTimeout: options.connectionTTL ? Duration.toMillis(options.connectionTTL) : undefined
98
+ idleTimeout: options.connectionTTL ? Duration.toMillis(Duration.fromDurationInputUnsafe(options.connectionTTL)) : undefined
101
99
  });
102
- yield* Effect.acquireRelease(Effect.async(resume => {
100
+ yield* Effect.acquireRelease(Effect.callback(resume => {
103
101
  ;
104
102
  pool.query("SELECT 1", cause => {
105
103
  if (cause) {
@@ -111,23 +109,23 @@ export const make = options => Effect.gen(function* () {
111
109
  resume(Effect.void);
112
110
  }
113
111
  });
114
- }), () => Effect.async(resume => {
112
+ }), () => Effect.callback(resume => {
115
113
  pool.end(() => resume(Effect.void));
116
- })).pipe(Effect.timeoutFail({
114
+ })).pipe(Effect.timeoutOrElse({
117
115
  duration: Duration.seconds(5),
118
- onTimeout: () => new SqlError({
116
+ onTimeout: () => Effect.fail(new SqlError({
119
117
  message: "MysqlClient: Connection timeout",
120
118
  cause: new Error("connection timeout")
121
- })
119
+ }))
122
120
  }));
123
121
  const poolConnection = new ConnectionImpl(pool);
124
- const acquireConn = Effect.acquireRelease(Effect.async(resume => {
122
+ const acquireConn = Effect.acquireRelease(Effect.callback(resume => {
125
123
  pool.getConnection((cause, conn) => {
126
124
  if (cause) {
127
- resume(new SqlError({
125
+ resume(Effect.fail(new SqlError({
128
126
  cause,
129
127
  message: "Failed to acquire connection"
130
- }));
128
+ })));
131
129
  } else {
132
130
  resume(Effect.succeed(conn));
133
131
  }
@@ -153,12 +151,12 @@ export const make = options => Effect.gen(function* () {
153
151
  * @category layers
154
152
  * @since 1.0.0
155
153
  */
156
- export const layerConfig = config => Layer.scopedContext(Config.unwrap(config).pipe(Effect.flatMap(make), Effect.map(client => Context.make(MysqlClient, client).pipe(Context.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
154
+ export const layerConfig = config => Layer.effectServices(Config.unwrap(config).asEffect().pipe(Effect.flatMap(make), Effect.map(client => ServiceMap.make(MysqlClient, client).pipe(ServiceMap.add(Client.SqlClient, client))))).pipe(Layer.provide(Reactivity.layer));
157
155
  /**
158
156
  * @category layers
159
157
  * @since 1.0.0
160
158
  */
161
- export const layer = config => Layer.scopedContext(Effect.map(make(config), client => Context.make(MysqlClient, client).pipe(Context.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
159
+ export const layer = config => Layer.effectServices(Effect.map(make(config), client => ServiceMap.make(MysqlClient, client).pipe(ServiceMap.add(Client.SqlClient, client)))).pipe(Layer.provide(Reactivity.layer));
162
160
  /**
163
161
  * @category compiler
164
162
  * @since 1.0.0
@@ -180,8 +178,9 @@ export const makeCompiler = transform => Statement.makeCompiler({
180
178
  });
181
179
  const escape = /*#__PURE__*/Statement.defaultEscape("`");
182
180
  function queryStream(conn, sql, params) {
183
- return asyncPauseResume(emit => {
181
+ return asyncPauseResume(Effect.fnUntraced(function* (emit) {
184
182
  const query = conn.query(sql, params).stream();
183
+ yield* Effect.addFinalizer(() => Effect.sync(() => query.destroy()));
185
184
  let buffer = [];
186
185
  let taskPending = false;
187
186
  query.on("error", cause => emit.fail(new SqlError({
@@ -200,12 +199,21 @@ function queryStream(conn, sql, params) {
200
199
  });
201
200
  }
202
201
  });
203
- query.on("end", () => emit.end());
202
+ query.on("end", () => {
203
+ if (buffer.length > 0) {
204
+ emit.array(buffer);
205
+ buffer = [];
206
+ }
207
+ emit.end();
208
+ });
204
209
  return {
205
- onInterrupt: Effect.sync(() => query.destroy()),
206
- onPause: Effect.sync(() => query.pause()),
207
- onResume: Effect.sync(() => query.resume())
210
+ onPause() {
211
+ query.pause();
212
+ },
213
+ onResume() {
214
+ query.resume();
215
+ }
208
216
  };
209
- });
217
+ }));
210
218
  }
211
219
  //# sourceMappingURL=MysqlClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MysqlClient.js","names":["Config","Duration","Effect","Layer","Redacted","ServiceMap","Stream","Reactivity","Client","SqlError","asyncPauseResume","Statement","Mysql","ATTR_DB_SYSTEM_NAME","ATTR_DB_NAMESPACE","ATTR_SERVER_ADDRESS","ATTR_SERVER_PORT","TypeId","MysqlClient","Service","make","options","gen","compiler","makeCompiler","transformQueryNames","transformRows","transformResultNames","defaultTransforms","array","undefined","ConnectionImpl","conn","constructor","runRaw","sql","values","rowsAsArray","method","callback","resume","cause","results","_fields","fail","message","succeed","run","pipe","map","Array","isArray","execute","params","executeRaw","executeValues","executeUnprepared","executeStream","stream","queryStream","mapArray","_","pool","url","createPool","uri","value","multipleStatements","supportBigNumbers","connectionLimit","maxConnections","idleTimeout","connectionTTL","toMillis","fromDurationInputUnsafe","poolConfig","host","port","database","user","username","password","acquireRelease","query","void","end","timeoutOrElse","duration","seconds","onTimeout","Error","poolConnection","acquireConn","getConnection","sync","release","transactionAcquirer","spanAttributes","Object","entries","push","assign","acquirer","config","layerConfig","effectServices","unwrap","asEffect","flatMap","client","add","SqlClient","provide","layer","transform","dialect","placeholder","onIdentifier","withoutTransform","escape","onCustom","onRecordUpdate","defaultEscape","fnUntraced","emit","addFinalizer","destroy","buffer","taskPending","on","row","queueMicrotask","items","length","onPause","pause","onResume"],"sources":["../src/MysqlClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import type * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import * as Migrator from "effect/unstable/sql/Migrator";
7
+ import type * as Client from "effect/unstable/sql/SqlClient";
8
+ import type { SqlError } from "effect/unstable/sql/SqlError";
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ export * from "effect/unstable/sql/Migrator";
13
+ /**
14
+ * @category constructor
15
+ * @since 1.0.0
16
+ */
17
+ export declare const run: <R2 = never>({ loader, schemaDirectory, table }: Migrator.MigratorOptions<R2>) => Effect.Effect<ReadonlyArray<readonly [id: number, name: string]>, Migrator.MigrationError | SqlError, Client.SqlClient | R2>;
18
+ /**
19
+ * @category layers
20
+ * @since 1.0.0
21
+ */
22
+ export declare const layer: <R>(options: Migrator.MigratorOptions<R>) => Layer.Layer<never, Migrator.MigrationError | SqlError, Client.SqlClient | R>;
23
+ //# sourceMappingURL=MysqlMigrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MysqlMigrator.d.ts","sourceRoot":"","sources":["../src/MysqlMigrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAA;AACxD,OAAO,KAAK,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAE5D;;GAEG;AACH,cAAc,8BAA8B,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAC3B,EAAE,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAC7D,MAAM,CAAC,MAAM,CAChB,aAAa,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,EAClD,QAAQ,CAAC,cAAc,GAAG,QAAQ,EAClC,MAAM,CAAC,SAAS,GAAG,EAAE,CAsDrB,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EACrB,SAAS,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,KACnC,KAAK,CAAC,KAAK,CACZ,KAAK,EACL,QAAQ,CAAC,cAAc,GAAG,QAAQ,EAClC,MAAM,CAAC,SAAS,GAAG,CAAC,CACgB,CAAA"}
@@ -0,0 +1,70 @@
1
+ import * as Layer from "effect/Layer";
2
+ import * as Migrator from "effect/unstable/sql/Migrator";
3
+ /**
4
+ * @since 1.0.0
5
+ */
6
+ export * from "effect/unstable/sql/Migrator";
7
+ /**
8
+ * @category constructor
9
+ * @since 1.0.0
10
+ */
11
+ export const run = /*#__PURE__*/Migrator.make({
12
+ // TODO: re-add when Command module is available
13
+ // dumpSchema(path, table) {
14
+ // const mysqlDump = (args: Array<string>) =>
15
+ // Effect.gen(function*() {
16
+ // const sql = yield* MysqlClient
17
+ // const dump = yield* pipe(
18
+ // Command.make(
19
+ // "mysqldump",
20
+ // ...(sql.config.host ? ["-h", sql.config.host] : []),
21
+ // ...(sql.config.port ? ["-P", sql.config.port.toString()] : []),
22
+ // ...(sql.config.username ? ["-u", sql.config.username] : []),
23
+ // ...(sql.config.password ? [`-p${Redacted.value(sql.config.password)}`] : []),
24
+ // ...(sql.config.database ? [sql.config.database] : []),
25
+ // "--skip-comments",
26
+ // "--compact",
27
+ // ...args
28
+ // ),
29
+ // Command.env({
30
+ // PATH: (globalThis as any).process?.env.PATH
31
+ // }),
32
+ // Command.string
33
+ // )
34
+ //
35
+ // return dump.replace(/^\/\*.*$/gm, "")
36
+ // .replace(/\n{2,}/gm, "\n\n")
37
+ // .trim()
38
+ // }).pipe(
39
+ // Effect.mapError((error) => new Migrator.MigrationError({ kind: "Failed", message: error.message }))
40
+ // )
41
+ //
42
+ // const dumpSchema = mysqlDump(["--no-data"])
43
+ //
44
+ // const dumpMigrations = mysqlDump(["--no-create-info", "--tables", table])
45
+ //
46
+ // const dumpAll = Effect.map(
47
+ // Effect.all([dumpSchema, dumpMigrations], { concurrency: 2 }),
48
+ // ([schema, migrations]) => schema + "\n\n" + migrations
49
+ // )
50
+ //
51
+ // const dumpFile = (file: string) =>
52
+ // Effect.gen(function*() {
53
+ // const fs = yield* FileSystem
54
+ // const path = yield* Path
55
+ // const dump = yield* dumpAll
56
+ // yield* fs.makeDirectory(path.dirname(file), { recursive: true })
57
+ // yield* fs.writeFileString(file, dump)
58
+ // }).pipe(
59
+ // Effect.mapError((error) => new Migrator.MigrationError({ kind: "Failed", message: error.message }))
60
+ // )
61
+ //
62
+ // return dumpFile(path)
63
+ // }
64
+ });
65
+ /**
66
+ * @category layers
67
+ * @since 1.0.0
68
+ */
69
+ export const layer = options => Layer.effectDiscard(run(options));
70
+ //# sourceMappingURL=MysqlMigrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MysqlMigrator.js","names":["Layer","Migrator","run","make","layer","options","effectDiscard"],"sources":["../src/MysqlMigrator.ts"],"sourcesContent":[null],"mappings":"AAIA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,8BAA8B;AAIxD;;;AAGA,cAAc,8BAA8B;AAE5C;;;;AAIA,OAAO,MAAMC,GAAG,gBAMZD,QAAQ,CAACE,IAAI,CAAC;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAA,CACD,CAAC;AAEF;;;;AAIA,OAAO,MAAMC,KAAK,GAChBC,OAAoC,IAKjCL,KAAK,CAACM,aAAa,CAACJ,GAAG,CAACG,OAAO,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ /**
5
+ * @since 1.0.0
6
+ */
7
+ export * as MysqlClient from "./MysqlClient.ts";
8
+ /**
9
+ * @since 1.0.0
10
+ */
11
+ export * as MysqlMigrator from "./MysqlMigrator.ts";
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAA;AAE/C;;GAEG;AACH,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ // @barrel: Auto-generated exports. Do not edit manually.
1
5
  /**
2
6
  * @since 1.0.0
3
7
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["MysqlClient","MysqlMigrator"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAIA;AAEA;;;AAGA,OAAO,KAAKA,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB","ignoreList":[]}
package/package.json CHANGED
@@ -1,64 +1,64 @@
1
1
  {
2
2
  "name": "@effect/sql-mysql2",
3
- "version": "0.50.0",
4
- "description": "A MySQL toolkit for Effect",
3
+ "version": "4.0.0-beta.0",
4
+ "type": "module",
5
5
  "license": "MIT",
6
+ "description": "A MySQL toolkit for Effect",
7
+ "homepage": "https://effect.website",
6
8
  "repository": {
7
9
  "type": "git",
8
- "url": "https://github.com/Effect-TS/effect.git",
9
- "directory": "packages/sql-mysql2"
10
+ "url": "https://github.com/Effect-TS/effect-smol.git",
11
+ "directory": "packages/sql/mysql2"
10
12
  },
11
- "sideEffects": [],
12
- "homepage": "https://effect.website",
13
- "dependencies": {
14
- "mysql2": "^3.11.0"
13
+ "bugs": {
14
+ "url": "https://github.com/Effect-TS/effect-smol/issues"
15
15
  },
16
- "peerDependencies": {
17
- "@effect/experimental": "^0.58.0",
18
- "@effect/platform": "^0.94.0",
19
- "@effect/sql": "^0.49.0",
20
- "effect": "^3.19.13"
16
+ "tags": [
17
+ "typescript",
18
+ "sql",
19
+ "database"
20
+ ],
21
+ "keywords": [
22
+ "typescript",
23
+ "sql",
24
+ "database"
25
+ ],
26
+ "sideEffects": [],
27
+ "exports": {
28
+ "./package.json": "./package.json",
29
+ ".": "./dist/index.js",
30
+ "./*": "./dist/*.js",
31
+ "./internal/*": null,
32
+ "./*/index": null
21
33
  },
34
+ "files": [
35
+ "src/**/*.ts",
36
+ "dist/**/*.js",
37
+ "dist/**/*.js.map",
38
+ "dist/**/*.d.ts",
39
+ "dist/**/*.d.ts.map"
40
+ ],
22
41
  "publishConfig": {
42
+ "access": "public",
23
43
  "provenance": true
24
44
  },
25
- "main": "./dist/cjs/index.js",
26
- "module": "./dist/esm/index.js",
27
- "types": "./dist/dts/index.d.ts",
28
- "exports": {
29
- "./package.json": "./package.json",
30
- ".": {
31
- "types": "./dist/dts/index.d.ts",
32
- "import": "./dist/esm/index.js",
33
- "default": "./dist/cjs/index.js"
34
- },
35
- "./MysqlClient": {
36
- "types": "./dist/dts/MysqlClient.d.ts",
37
- "import": "./dist/esm/MysqlClient.js",
38
- "default": "./dist/cjs/MysqlClient.js"
39
- },
40
- "./MysqlMigrator": {
41
- "types": "./dist/dts/MysqlMigrator.d.ts",
42
- "import": "./dist/esm/MysqlMigrator.js",
43
- "default": "./dist/cjs/MysqlMigrator.js"
44
- },
45
- "./index": {
46
- "types": "./dist/dts/index.d.ts",
47
- "import": "./dist/esm/index.js",
48
- "default": "./dist/cjs/index.js"
49
- }
45
+ "devDependencies": {
46
+ "@testcontainers/mysql": "^11.11.0",
47
+ "effect": "^4.0.0-beta.0"
48
+ },
49
+ "peerDependencies": {
50
+ "effect": "^4.0.0-beta.0"
51
+ },
52
+ "dependencies": {
53
+ "mysql2": "^3.16.2"
50
54
  },
51
- "typesVersions": {
52
- "*": {
53
- "MysqlClient": [
54
- "./dist/dts/MysqlClient.d.ts"
55
- ],
56
- "MysqlMigrator": [
57
- "./dist/dts/MysqlMigrator.d.ts"
58
- ],
59
- "index": [
60
- "./dist/dts/index.d.ts"
61
- ]
62
- }
55
+ "scripts": {
56
+ "codegen": "effect-utils codegen",
57
+ "build": "tsc -b tsconfig.json && pnpm babel",
58
+ "build:tsgo": "tsgo -b tsconfig.json && pnpm babel",
59
+ "babel": "babel dist --plugins annotate-pure-calls --out-dir dist --source-maps",
60
+ "check": "tsc -b tsconfig.json",
61
+ "test": "vitest",
62
+ "coverage": "vitest --coverage"
63
63
  }
64
64
  }