@rsdk/db.mikro-orm 5.9.0-next.1 → 5.9.0-next.3
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/dist/mikro-orm.plugin.d.ts +1 -0
- package/dist/mikro-orm.plugin.js +24 -1
- package/dist/mikro-orm.plugin.js.map +1 -1
- package/dist/types.d.ts +13 -4
- package/package.json +30 -4
- package/src/mikro-orm.plugin.ts +33 -3
- package/src/types.ts +24 -4
package/dist/mikro-orm.plugin.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
2
4
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
3
5
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
6
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -47,7 +49,7 @@ class MikroOrmPlugin {
|
|
|
47
49
|
inject: [mikro_orm_config_1.MikroOrmPluginConfig, mikro_orm_logger_adapter_1.MikroOrmAdapter, core_1.APP_NAME],
|
|
48
50
|
useFactory: (config, logger, appName) => {
|
|
49
51
|
return (0, lodash_1.default)({
|
|
50
|
-
|
|
52
|
+
driver: this.options.driver ?? this.mapTypeToDriver(this.options.type),
|
|
51
53
|
clientUrl: config.url.toString(),
|
|
52
54
|
...(config.schema && {
|
|
53
55
|
schema: config.schema,
|
|
@@ -88,6 +90,27 @@ class MikroOrmPlugin {
|
|
|
88
90
|
getMigrationsOption() {
|
|
89
91
|
return [node_path_1.default.resolve(process.cwd(), 'dist/mikro-orm/migrations')];
|
|
90
92
|
}
|
|
93
|
+
mapTypeToDriver(type) {
|
|
94
|
+
try {
|
|
95
|
+
switch (type) {
|
|
96
|
+
case 'mongo':
|
|
97
|
+
return require('@mikro-orm/mongodb').MongoDriver;
|
|
98
|
+
case 'mysql':
|
|
99
|
+
return require('@mikro-orm/mysql').MySqlDriver;
|
|
100
|
+
case 'mariadb':
|
|
101
|
+
return require('@mikro-orm/mariadb').MariaDbDriver;
|
|
102
|
+
case 'sqlite':
|
|
103
|
+
return require('@mikro-orm/sqlite').SqliteDriver;
|
|
104
|
+
case 'better-sqlite':
|
|
105
|
+
return require('@mikro-orm/better-sqlite').BetterSqliteDriver;
|
|
106
|
+
default:
|
|
107
|
+
return require('@mikro-orm/postgresql').PostgreSqlDriver;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
throw new core_1.NoInitException(MikroOrmPlugin.name, type, 'You probably should install package with driver for your DB');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
91
114
|
}
|
|
92
115
|
exports.MikroOrmPlugin = MikroOrmPlugin;
|
|
93
116
|
//# sourceMappingURL=mikro-orm.plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mikro-orm.plugin.js","sourceRoot":"","sources":["../src/mikro-orm.plugin.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;;;;AAGjD,8CAAmD;AAQnD,
|
|
1
|
+
{"version":3,"file":"mikro-orm.plugin.js","sourceRoot":"","sources":["../src/mikro-orm.plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import type { MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';
|
|
2
2
|
import type { Type } from '@nestjs/common';
|
|
3
|
-
export
|
|
4
|
-
|
|
3
|
+
export type DriverType = 'mongo' | 'mysql' | 'mariadb' | 'postgresql' | 'sqlite' | 'better-sqlite';
|
|
4
|
+
export type MikroOrmPluginOptions = {
|
|
5
5
|
entitiesTs: NonNullable<MikroOrmModuleSyncOptions['entitiesTs'] | Type>[];
|
|
6
|
-
overrideConfig?: Partial<Omit<MikroOrmModuleSyncOptions, '
|
|
7
|
-
}
|
|
6
|
+
overrideConfig?: Partial<Omit<MikroOrmModuleSyncOptions, 'driver'>>;
|
|
7
|
+
} & ({
|
|
8
|
+
driver: NonNullable<MikroOrmModuleSyncOptions['driver']>;
|
|
9
|
+
type?: never;
|
|
10
|
+
} | {
|
|
11
|
+
driver?: never;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated use "driver" instead
|
|
14
|
+
*/
|
|
15
|
+
type: DriverType;
|
|
16
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rsdk/db.mikro-orm",
|
|
3
|
-
"version": "5.9.0-next.
|
|
3
|
+
"version": "5.9.0-next.3",
|
|
4
4
|
"description": "Mikro-orm module for platform",
|
|
5
5
|
"license": "Apache License 2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -17,8 +17,14 @@
|
|
|
17
17
|
"lodash": "^4.17.21"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"@mikro-orm/
|
|
21
|
-
"@mikro-orm/
|
|
20
|
+
"@mikro-orm/better-sqlite": "^5.7.12 || ^6.4.0",
|
|
21
|
+
"@mikro-orm/core": "^5.7.12 || ^6.4.0",
|
|
22
|
+
"@mikro-orm/mariadb": "^5.7.12 || ^6.4.0",
|
|
23
|
+
"@mikro-orm/mongodb": "^5.7.12 || ^6.4.0",
|
|
24
|
+
"@mikro-orm/mysql": "^5.7.12 || ^6.4.0",
|
|
25
|
+
"@mikro-orm/nestjs": "^5.2.3 || ^6.1.0",
|
|
26
|
+
"@mikro-orm/postgresql": "^5.7.12 || ^6.4.0",
|
|
27
|
+
"@mikro-orm/sqlite": "^5.7.12 || ^6.4.0",
|
|
22
28
|
"@nestjs/common": "^10.0.0",
|
|
23
29
|
"@nestjs/core": "^10.0.0",
|
|
24
30
|
"@rsdk/common": "*",
|
|
@@ -30,5 +36,25 @@
|
|
|
30
36
|
"reflect-metadata": "^0.1.12 || ^0.2.0",
|
|
31
37
|
"rxjs": "^7.1.0"
|
|
32
38
|
},
|
|
33
|
-
"
|
|
39
|
+
"peerDependenciesMeta": {
|
|
40
|
+
"@mikro-orm/better-sqlite": {
|
|
41
|
+
"optional": true
|
|
42
|
+
},
|
|
43
|
+
"@mikro-orm/mariadb": {
|
|
44
|
+
"optional": true
|
|
45
|
+
},
|
|
46
|
+
"@mikro-orm/mongodb": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"@mikro-orm/mysql": {
|
|
50
|
+
"optional": true
|
|
51
|
+
},
|
|
52
|
+
"@mikro-orm/postgresql": {
|
|
53
|
+
"optional": true
|
|
54
|
+
},
|
|
55
|
+
"@mikro-orm/sqlite": {
|
|
56
|
+
"optional": true
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"gitHead": "12aa57867964cfb626c6e16c87aa3620643984ba"
|
|
34
60
|
}
|
package/src/mikro-orm.plugin.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable import/no-extraneous-dependencies */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
1
3
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
4
|
|
|
3
5
|
import type { MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';
|
|
@@ -9,7 +11,7 @@ import type {
|
|
|
9
11
|
IErrorsTransformer,
|
|
10
12
|
PlatformAppPlugin,
|
|
11
13
|
} from '@rsdk/core';
|
|
12
|
-
import { APP_NAME } from '@rsdk/core';
|
|
14
|
+
import { APP_NAME, NoInitException } from '@rsdk/core';
|
|
13
15
|
import { getSecureContextOptions } from '@rsdk/db';
|
|
14
16
|
import { LoggerFactory } from '@rsdk/logging';
|
|
15
17
|
import _ from 'lodash';
|
|
@@ -19,7 +21,7 @@ import { MikroOrmPluginConfig } from './providers/mikro-orm.config';
|
|
|
19
21
|
import { MikroOrmAdapter } from './providers/mikro-orm-logger.adapter';
|
|
20
22
|
import { MikroOrmErrorTransformer } from './mikro-orm.errors-transformer';
|
|
21
23
|
import { MikroOrmHealthIndicator } from './providers';
|
|
22
|
-
import type { MikroOrmPluginOptions } from './types';
|
|
24
|
+
import type { DriverType, MikroOrmPluginOptions } from './types';
|
|
23
25
|
|
|
24
26
|
export class MikroOrmPlugin implements PlatformAppPlugin {
|
|
25
27
|
private static readonly logger = LoggerFactory.create(MikroOrmPlugin);
|
|
@@ -59,7 +61,8 @@ export class MikroOrmPlugin implements PlatformAppPlugin {
|
|
|
59
61
|
appName: string,
|
|
60
62
|
): MikroOrmModuleSyncOptions => {
|
|
61
63
|
return _(<MikroOrmModuleSyncOptions>{
|
|
62
|
-
|
|
64
|
+
driver:
|
|
65
|
+
this.options.driver ?? this.mapTypeToDriver(this.options.type),
|
|
63
66
|
clientUrl: config.url.toString(),
|
|
64
67
|
...(config.schema && {
|
|
65
68
|
schema: config.schema,
|
|
@@ -102,4 +105,31 @@ export class MikroOrmPlugin implements PlatformAppPlugin {
|
|
|
102
105
|
private getMigrationsOption(): string[] {
|
|
103
106
|
return [path.resolve(process.cwd(), 'dist/mikro-orm/migrations')];
|
|
104
107
|
}
|
|
108
|
+
|
|
109
|
+
private mapTypeToDriver(
|
|
110
|
+
type: DriverType,
|
|
111
|
+
): MikroOrmModuleSyncOptions['driver'] {
|
|
112
|
+
try {
|
|
113
|
+
switch (type) {
|
|
114
|
+
case 'mongo':
|
|
115
|
+
return require('@mikro-orm/mongodb').MongoDriver;
|
|
116
|
+
case 'mysql':
|
|
117
|
+
return require('@mikro-orm/mysql').MySqlDriver;
|
|
118
|
+
case 'mariadb':
|
|
119
|
+
return require('@mikro-orm/mariadb').MariaDbDriver;
|
|
120
|
+
case 'sqlite':
|
|
121
|
+
return require('@mikro-orm/sqlite').SqliteDriver;
|
|
122
|
+
case 'better-sqlite':
|
|
123
|
+
return require('@mikro-orm/better-sqlite').BetterSqliteDriver;
|
|
124
|
+
default:
|
|
125
|
+
return require('@mikro-orm/postgresql').PostgreSqlDriver;
|
|
126
|
+
}
|
|
127
|
+
} catch {
|
|
128
|
+
throw new NoInitException(
|
|
129
|
+
MikroOrmPlugin.name,
|
|
130
|
+
type,
|
|
131
|
+
'You probably should install package with driver for your DB',
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
105
135
|
}
|
package/src/types.ts
CHANGED
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import type { MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';
|
|
2
2
|
import type { Type } from '@nestjs/common';
|
|
3
3
|
|
|
4
|
-
export
|
|
5
|
-
|
|
4
|
+
export type DriverType =
|
|
5
|
+
| 'mongo'
|
|
6
|
+
| 'mysql'
|
|
7
|
+
| 'mariadb'
|
|
8
|
+
| 'postgresql'
|
|
9
|
+
| 'sqlite'
|
|
10
|
+
| 'better-sqlite';
|
|
11
|
+
|
|
12
|
+
export type MikroOrmPluginOptions = {
|
|
6
13
|
entitiesTs: NonNullable<MikroOrmModuleSyncOptions['entitiesTs'] | Type>[];
|
|
7
|
-
overrideConfig?: Partial<Omit<MikroOrmModuleSyncOptions, '
|
|
8
|
-
}
|
|
14
|
+
overrideConfig?: Partial<Omit<MikroOrmModuleSyncOptions, 'driver'>>;
|
|
15
|
+
} & (
|
|
16
|
+
| {
|
|
17
|
+
driver: NonNullable<MikroOrmModuleSyncOptions['driver']>;
|
|
18
|
+
type?: never;
|
|
19
|
+
}
|
|
20
|
+
| {
|
|
21
|
+
driver?: never;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated use "driver" instead
|
|
25
|
+
*/
|
|
26
|
+
type: DriverType;
|
|
27
|
+
}
|
|
28
|
+
);
|