@mikro-orm/libsql 7.0.0-dev.9 → 7.0.0-dev.91
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/LibSqlConnection.d.ts +0 -1
- package/LibSqlConnection.js +2 -12
- package/LibSqlDialect.js +4 -4
- package/LibSqlMikroORM.d.ts +7 -8
- package/LibSqlMikroORM.js +6 -8
- package/README.md +3 -2
- package/index.d.ts +1 -1
- package/package.json +7 -7
package/LibSqlConnection.d.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { BaseSqliteConnection, type Dictionary } from '@mikro-orm/knex';
|
|
|
2
2
|
import { type Options } from 'libsql';
|
|
3
3
|
import { LibSqlDialect } from './LibSqlDialect.js';
|
|
4
4
|
export declare class LibSqlConnection extends BaseSqliteConnection {
|
|
5
|
-
connect(): Promise<void>;
|
|
6
5
|
private database;
|
|
7
6
|
createKyselyDialect(options: Dictionary & Options): LibSqlDialect;
|
|
8
7
|
loadFile(path: string): Promise<void>;
|
package/LibSqlConnection.js
CHANGED
|
@@ -1,18 +1,8 @@
|
|
|
1
|
-
import { BaseSqliteConnection
|
|
1
|
+
import { BaseSqliteConnection } from '@mikro-orm/knex';
|
|
2
2
|
import { readFile } from 'node:fs/promises';
|
|
3
3
|
import Database from 'libsql';
|
|
4
4
|
import { LibSqlDialect } from './LibSqlDialect.js';
|
|
5
|
-
import { dirname } from 'node:path';
|
|
6
|
-
import { CompiledQuery } from 'kysely';
|
|
7
5
|
export class LibSqlConnection extends BaseSqliteConnection {
|
|
8
|
-
async connect() {
|
|
9
|
-
await super.connect(true);
|
|
10
|
-
const dbName = this.config.get('dbName');
|
|
11
|
-
if (dbName && dbName !== ':memory:' && !dirname(dbName).startsWith('libsql:/')) {
|
|
12
|
-
Utils.ensureDir(dirname(dbName));
|
|
13
|
-
}
|
|
14
|
-
await this.client.executeQuery(CompiledQuery.raw('pragma foreign_keys = on'));
|
|
15
|
-
}
|
|
16
6
|
database;
|
|
17
7
|
createKyselyDialect(options) {
|
|
18
8
|
const dbName = options.url ?? this.config.get('dbName');
|
|
@@ -24,7 +14,7 @@ export class LibSqlConnection extends BaseSqliteConnection {
|
|
|
24
14
|
onCreateConnection: this.options.onCreateConnection ?? this.config.get('onCreateConnection'),
|
|
25
15
|
});
|
|
26
16
|
}
|
|
27
|
-
/* v8 ignore next
|
|
17
|
+
/* v8 ignore next */
|
|
28
18
|
async loadFile(path) {
|
|
29
19
|
await this.ensureConnection();
|
|
30
20
|
this.database.exec((await readFile(path)).toString());
|
package/LibSqlDialect.js
CHANGED
|
@@ -36,7 +36,7 @@ class LibSqlConnection {
|
|
|
36
36
|
};
|
|
37
37
|
}
|
|
38
38
|
const query = sql.trim().toLowerCase();
|
|
39
|
-
/* v8 ignore next
|
|
39
|
+
/* v8 ignore next */
|
|
40
40
|
if (query.startsWith('select') || ((query.startsWith('insert into') || query.startsWith('update ')) && query.includes(' returning '))) {
|
|
41
41
|
return {
|
|
42
42
|
rows: stmt.all(parameters),
|
|
@@ -49,10 +49,10 @@ class LibSqlConnection {
|
|
|
49
49
|
rows: [],
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
|
-
/* v8 ignore start */
|
|
53
52
|
async *streamQuery(compiledQuery) {
|
|
54
53
|
const { sql, parameters } = compiledQuery;
|
|
55
54
|
const stmt = this.db.prepare(sql);
|
|
55
|
+
/* v8 ignore next */
|
|
56
56
|
if (!sql.toLowerCase().startsWith('select')) {
|
|
57
57
|
throw new Error('Sqlite driver only supports streaming of select queries');
|
|
58
58
|
}
|
|
@@ -75,14 +75,14 @@ class LibSqlKyselyDriver extends SqliteDriver {
|
|
|
75
75
|
async init() {
|
|
76
76
|
this.db = await this.config.database();
|
|
77
77
|
this.connection = new LibSqlConnection(this.db);
|
|
78
|
-
/* v8 ignore next
|
|
78
|
+
/* v8 ignore next */
|
|
79
79
|
if (this.config.onCreateConnection) {
|
|
80
80
|
await this.config.onCreateConnection(this.connection);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
async acquireConnection() {
|
|
84
84
|
await this.connectionMutex.lock();
|
|
85
|
-
/* v8 ignore next
|
|
85
|
+
/* v8 ignore next */
|
|
86
86
|
if (!this.connection.isValid()) {
|
|
87
87
|
await this.destroy();
|
|
88
88
|
await this.init();
|
package/LibSqlMikroORM.d.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { MikroORM, type Options, type IDatabaseDriver, type EntityManager, type EntityManagerType } from '@mikro-orm/core';
|
|
2
|
-
import { LibSqlDriver } from './LibSqlDriver.js';
|
|
1
|
+
import { type AnyEntity, type EntityClass, type EntitySchema, MikroORM, type Options, type IDatabaseDriver, type EntityManager, type EntityManagerType } from '@mikro-orm/core';
|
|
3
2
|
import type { SqlEntityManager } from '@mikro-orm/knex';
|
|
3
|
+
import { LibSqlDriver } from './LibSqlDriver.js';
|
|
4
|
+
export type LibSqlOptions<EM extends SqlEntityManager<LibSqlDriver> = SqlEntityManager<LibSqlDriver>, Entities extends (string | EntityClass<AnyEntity> | EntitySchema)[] = (string | EntityClass<AnyEntity> | EntitySchema)[]> = Options<LibSqlDriver, EM, Entities>;
|
|
5
|
+
export declare function defineLibSqlConfig<EM extends SqlEntityManager<LibSqlDriver> = SqlEntityManager<LibSqlDriver>, Entities extends (string | EntityClass<AnyEntity> | EntitySchema)[] = (string | EntityClass<AnyEntity> | EntitySchema)[]>(options: LibSqlOptions<EM, Entities>): Options<LibSqlDriver, EM, Entities>;
|
|
4
6
|
/**
|
|
5
7
|
* @inheritDoc
|
|
6
8
|
*/
|
|
7
|
-
export declare class LibSqlMikroORM<EM extends
|
|
8
|
-
private static DRIVER;
|
|
9
|
+
export declare class LibSqlMikroORM<EM extends SqlEntityManager<LibSqlDriver> = SqlEntityManager<LibSqlDriver>, Entities extends (string | EntityClass<AnyEntity> | EntitySchema)[] = (string | EntityClass<AnyEntity> | EntitySchema)[]> extends MikroORM<LibSqlDriver, EM, Entities> {
|
|
9
10
|
/**
|
|
10
11
|
* @inheritDoc
|
|
11
12
|
*/
|
|
12
|
-
static init<D extends IDatabaseDriver = LibSqlDriver, EM extends EntityManager = D[typeof EntityManagerType] & EntityManager>(options
|
|
13
|
+
static init<D extends IDatabaseDriver = LibSqlDriver, EM extends EntityManager<D> = D[typeof EntityManagerType] & EntityManager<D>, Entities extends (string | EntityClass<AnyEntity> | EntitySchema)[] = (string | EntityClass<AnyEntity> | EntitySchema)[]>(options: Options<D, EM, Entities>): Promise<MikroORM<D, EM, Entities>>;
|
|
13
14
|
/**
|
|
14
15
|
* @inheritDoc
|
|
15
16
|
*/
|
|
16
|
-
|
|
17
|
+
constructor(options: Options<LibSqlDriver, EM, Entities>);
|
|
17
18
|
}
|
|
18
|
-
export type LibSqlOptions = Options<LibSqlDriver>;
|
|
19
|
-
export declare function defineLibSqlConfig(options: LibSqlOptions): Options<LibSqlDriver, SqlEntityManager<LibSqlDriver> & EntityManager<IDatabaseDriver<import("@mikro-orm/core").Connection>>>;
|
package/LibSqlMikroORM.js
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
import { defineConfig, MikroORM, } from '@mikro-orm/core';
|
|
2
2
|
import { LibSqlDriver } from './LibSqlDriver.js';
|
|
3
|
+
export function defineLibSqlConfig(options) {
|
|
4
|
+
return defineConfig({ driver: LibSqlDriver, ...options });
|
|
5
|
+
}
|
|
3
6
|
/**
|
|
4
7
|
* @inheritDoc
|
|
5
8
|
*/
|
|
6
9
|
export class LibSqlMikroORM extends MikroORM {
|
|
7
|
-
static DRIVER = LibSqlDriver;
|
|
8
10
|
/**
|
|
9
11
|
* @inheritDoc
|
|
10
12
|
*/
|
|
11
13
|
static async init(options) {
|
|
12
|
-
return super.init(options);
|
|
14
|
+
return super.init(defineLibSqlConfig(options));
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* @inheritDoc
|
|
16
18
|
*/
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
constructor(options) {
|
|
20
|
+
super(defineLibSqlConfig(options));
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
|
-
/* v8 ignore next 3 */
|
|
22
|
-
export function defineLibSqlConfig(options) {
|
|
23
|
-
return defineConfig({ driver: LibSqlDriver, ...options });
|
|
24
|
-
}
|
package/README.md
CHANGED
|
@@ -11,7 +11,6 @@ TypeScript ORM for Node.js based on Data Mapper, [Unit of Work](https://mikro-or
|
|
|
11
11
|
[](https://discord.gg/w8bjxFHS7X)
|
|
12
12
|
[](https://www.npmjs.com/package/@mikro-orm/core)
|
|
13
13
|
[](https://coveralls.io/r/mikro-orm/mikro-orm?branch=master)
|
|
14
|
-
[](https://codeclimate.com/github/mikro-orm/mikro-orm/maintainability)
|
|
15
14
|
[](https://github.com/mikro-orm/mikro-orm/actions?workflow=tests)
|
|
16
15
|
|
|
17
16
|
## 🤔 Unit of What?
|
|
@@ -141,7 +140,7 @@ There is also auto-generated [CHANGELOG.md](CHANGELOG.md) file based on commit m
|
|
|
141
140
|
- [Composite and Foreign Keys as Primary Key](https://mikro-orm.io/docs/composite-keys)
|
|
142
141
|
- [Filters](https://mikro-orm.io/docs/filters)
|
|
143
142
|
- [Using `QueryBuilder`](https://mikro-orm.io/docs/query-builder)
|
|
144
|
-
- [
|
|
143
|
+
- [Populating relations](https://mikro-orm.io/docs/populating-relations)
|
|
145
144
|
- [Property Validation](https://mikro-orm.io/docs/property-validation)
|
|
146
145
|
- [Lifecycle Hooks](https://mikro-orm.io/docs/events#hooks)
|
|
147
146
|
- [Vanilla JS Support](https://mikro-orm.io/docs/usage-with-js)
|
|
@@ -382,6 +381,8 @@ See also the list of contributors who [participated](https://github.com/mikro-or
|
|
|
382
381
|
|
|
383
382
|
Please ⭐️ this repository if this project helped you!
|
|
384
383
|
|
|
384
|
+
> If you'd like to support my open-source work, consider sponsoring me directly at [github.com/sponsors/b4nan](https://github.com/sponsors/b4nan).
|
|
385
|
+
|
|
385
386
|
## 📝 License
|
|
386
387
|
|
|
387
388
|
Copyright © 2018 [Martin Adámek](https://github.com/b4nan).
|
package/index.d.ts
CHANGED
|
@@ -2,4 +2,4 @@ export * from '@mikro-orm/knex';
|
|
|
2
2
|
export * from './LibSqlConnection.js';
|
|
3
3
|
export * from './LibSqlDriver.js';
|
|
4
4
|
export * from './LibSqlPlatform.js';
|
|
5
|
-
export { LibSqlMikroORM as MikroORM, LibSqlOptions as Options, defineLibSqlConfig as defineConfig, } from './LibSqlMikroORM.js';
|
|
5
|
+
export { LibSqlMikroORM as MikroORM, type LibSqlOptions as Options, defineLibSqlConfig as defineConfig, } from './LibSqlMikroORM.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mikro-orm/libsql",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "7.0.0-dev.
|
|
4
|
+
"version": "7.0.0-dev.91",
|
|
5
5
|
"description": "TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.",
|
|
6
6
|
"exports": {
|
|
7
7
|
"./package.json": "./package.json",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"homepage": "https://mikro-orm.io",
|
|
40
40
|
"engines": {
|
|
41
|
-
"node": ">= 22.
|
|
41
|
+
"node": ">= 22.17.0"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|
|
44
44
|
"build": "yarn clean && yarn compile && yarn copy",
|
|
@@ -50,16 +50,16 @@
|
|
|
50
50
|
"access": "public"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@mikro-orm/knex": "7.0.0-dev.
|
|
54
|
-
"libsql": "0.5.
|
|
53
|
+
"@mikro-orm/knex": "7.0.0-dev.91",
|
|
54
|
+
"libsql": "0.5.22",
|
|
55
55
|
"sqlstring-sqlite": "0.1.1"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@mikro-orm/core": "^6.
|
|
59
|
-
"kysely": "0.28.
|
|
58
|
+
"@mikro-orm/core": "^6.6.2",
|
|
59
|
+
"kysely": "0.28.8"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
|
-
"@mikro-orm/core": "7.0.0-dev.
|
|
62
|
+
"@mikro-orm/core": "7.0.0-dev.91",
|
|
63
63
|
"kysely": "*"
|
|
64
64
|
}
|
|
65
65
|
}
|