@mikro-orm/libsql 7.0.0-dev.9 → 7.0.0-dev.90

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.
@@ -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>;
@@ -1,18 +1,8 @@
1
- import { BaseSqliteConnection, Utils } from '@mikro-orm/knex';
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 4 */
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 5 */
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 3 */
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 4 */
85
+ /* v8 ignore next */
86
86
  if (!this.connection.isValid()) {
87
87
  await this.destroy();
88
88
  await this.init();
@@ -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 EntityManager = SqlEntityManager> extends MikroORM<LibSqlDriver, EM> {
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?: Options<D, EM>): Promise<MikroORM<D, EM>>;
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
- static initSync<D extends IDatabaseDriver = LibSqlDriver, EM extends EntityManager = D[typeof EntityManagerType] & EntityManager>(options: Options<D, EM>): MikroORM<D, EM>;
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
- static initSync(options) {
18
- return super.initSync(options);
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
  [![Chat on discord](https://img.shields.io/discord/1214904142443839538?label=discord&color=blue)](https://discord.gg/w8bjxFHS7X)
12
12
  [![Downloads](https://img.shields.io/npm/dm/@mikro-orm/core.svg)](https://www.npmjs.com/package/@mikro-orm/core)
13
13
  [![Coverage Status](https://img.shields.io/coveralls/mikro-orm/mikro-orm.svg)](https://coveralls.io/r/mikro-orm/mikro-orm?branch=master)
14
- [![Maintainability](https://api.codeclimate.com/v1/badges/27999651d3adc47cfa40/maintainability)](https://codeclimate.com/github/mikro-orm/mikro-orm/maintainability)
15
14
  [![Build Status](https://github.com/mikro-orm/mikro-orm/workflows/tests/badge.svg?branch=master)](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
- - [Preloading Deeply Nested Structures via populate](https://mikro-orm.io/docs/nested-populate)
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.9",
4
+ "version": "7.0.0-dev.90",
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.11.0"
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.9",
54
- "libsql": "0.5.5",
53
+ "@mikro-orm/knex": "7.0.0-dev.90",
54
+ "libsql": "0.5.22",
55
55
  "sqlstring-sqlite": "0.1.1"
56
56
  },
57
57
  "devDependencies": {
58
- "@mikro-orm/core": "^6.4.13",
59
- "kysely": "0.28.0"
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.9",
62
+ "@mikro-orm/core": "7.0.0-dev.90",
63
63
  "kysely": "*"
64
64
  }
65
65
  }