@mikro-orm/nestjs 5.1.3-dev.0 → 5.1.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.
@@ -44,9 +44,10 @@ const mikro_orm_common_1 = require("./mikro-orm.common");
44
44
  const mikro_orm_providers_1 = require("./mikro-orm.providers");
45
45
  const mikro_orm_middleware_1 = require("./mikro-orm.middleware");
46
46
  const middleware_helper_1 = require("./middleware.helper");
47
- async function tryRequire(cb) {
47
+ async function tryRequire(name) {
48
+ var _a;
48
49
  try {
49
- return await cb();
50
+ return await (_a = name, Promise.resolve().then(() => __importStar(require(_a))));
50
51
  }
51
52
  catch {
52
53
  return undefined; // ignore, optional dependency
@@ -58,30 +59,40 @@ let MikroOrmCoreModule = MikroOrmCoreModule_1 = class MikroOrmCoreModule {
58
59
  this.moduleRef = moduleRef;
59
60
  }
60
61
  static async forRoot(options) {
62
+ const config = (!options || Object.keys(options).length === 0)
63
+ ? await core_1.ConfigurationLoader.getConfiguration()
64
+ : new core_1.Configuration(options);
65
+ const em = config.getDriver().createEntityManager();
61
66
  const contextName = this.setContextName(options?.contextName);
62
- const knex = await tryRequire(() => Promise.resolve().then(() => __importStar(require('@mikro-orm/knex'))));
63
- const mongo = await tryRequire(() => Promise.resolve().then(() => __importStar(require('@mikro-orm/mongodb'))));
67
+ const knex = await tryRequire('@mikro-orm/knex');
68
+ const mongo = await tryRequire('@mikro-orm/mongodb');
64
69
  return {
65
70
  module: MikroOrmCoreModule_1,
66
71
  providers: [
67
72
  { provide: mikro_orm_common_1.MIKRO_ORM_MODULE_OPTIONS, useValue: options || {} },
68
73
  (0, mikro_orm_providers_1.createMikroOrmProvider)(contextName),
69
74
  (0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, core_1.EntityManager, contextName),
70
- ...(knex ? [(0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, knex.SqlEntityManager, contextName)] : []),
71
- ...(mongo ? [(0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, mongo.MongoEntityManager, contextName)] : []),
75
+ (0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, em.constructor, contextName),
76
+ ...(knex ? [(0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, knex.EntityManager, contextName)] : []),
77
+ ...(mongo ? [(0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, mongo.EntityManager, contextName)] : []),
72
78
  ],
73
79
  exports: [
74
80
  contextName ? (0, mikro_orm_common_1.getMikroORMToken)(contextName) : core_1.MikroORM,
75
81
  contextName ? (0, mikro_orm_common_1.getEntityManagerToken)(contextName) : core_1.EntityManager,
76
- ...(knex ? (contextName ? [] : [knex.SqlEntityManager]) : []),
77
- ...(mongo ? (contextName ? [] : [mongo.MongoEntityManager]) : []),
82
+ ...(contextName ? [] : [em.constructor]),
83
+ ...(knex ? (contextName ? [] : [knex.EntityManager]) : []),
84
+ ...(mongo ? (contextName ? [] : [mongo.EntityManager]) : []),
78
85
  ],
79
86
  };
80
87
  }
81
88
  static async forRootAsync(options) {
89
+ const config = (!options || Object.keys(options).length === 0)
90
+ ? await core_1.ConfigurationLoader.getConfiguration()
91
+ : new core_1.Configuration(options);
92
+ const em = config.getDriver().createEntityManager();
82
93
  const contextName = this.setContextName(options?.contextName);
83
- const knex = await tryRequire(() => Promise.resolve().then(() => __importStar(require('@mikro-orm/knex'))));
84
- const mongo = await tryRequire(() => Promise.resolve().then(() => __importStar(require('@mikro-orm/mongodb'))));
94
+ const knex = await tryRequire('@mikro-orm/knex');
95
+ const mongo = await tryRequire('@mikro-orm/mongodb');
85
96
  return {
86
97
  module: MikroOrmCoreModule_1,
87
98
  imports: options.imports || [],
@@ -90,14 +101,16 @@ let MikroOrmCoreModule = MikroOrmCoreModule_1 = class MikroOrmCoreModule {
90
101
  ...(0, mikro_orm_providers_1.createAsyncProviders)({ ...options, contextName: options.contextName }),
91
102
  (0, mikro_orm_providers_1.createMikroOrmProvider)(contextName),
92
103
  (0, mikro_orm_providers_1.createEntityManagerProvider)(options.scope, core_1.EntityManager, contextName),
93
- ...(knex ? [(0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, knex.SqlEntityManager, contextName)] : []),
94
- ...(mongo ? [(0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, mongo.MongoEntityManager, contextName)] : []),
104
+ (0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, em.constructor, contextName),
105
+ ...(knex ? [(0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, knex.EntityManager, contextName)] : []),
106
+ ...(mongo ? [(0, mikro_orm_providers_1.createEntityManagerProvider)(options?.scope, mongo.EntityManager, contextName)] : []),
95
107
  ],
96
108
  exports: [
97
109
  contextName ? (0, mikro_orm_common_1.getMikroORMToken)(contextName) : core_1.MikroORM,
98
110
  contextName ? (0, mikro_orm_common_1.getEntityManagerToken)(contextName) : core_1.EntityManager,
99
- ...(knex ? (contextName ? [] : [knex.SqlEntityManager]) : []),
100
- ...(mongo ? (contextName ? [] : [mongo.MongoEntityManager]) : []),
111
+ ...(contextName ? [] : [em.constructor]),
112
+ ...(knex ? (contextName ? [] : [knex.EntityManager]) : []),
113
+ ...(mongo ? (contextName ? [] : [mongo.EntityManager]) : []),
101
114
  ],
102
115
  };
103
116
  }
@@ -7,5 +7,5 @@ export declare const getMikroORMToken: (name: string) => string;
7
7
  export declare const InjectMikroORM: (name: string) => (target: object, key: string | symbol, index?: number | undefined) => void;
8
8
  export declare const getEntityManagerToken: (name: string) => string;
9
9
  export declare const InjectEntityManager: (name: string) => (target: object, key: string | symbol, index?: number | undefined) => void;
10
- export declare const getRepositoryToken: <T>(entity: EntityName<T>, name?: string) => string;
11
- export declare const InjectRepository: <T>(entity: EntityName<T>, name?: string) => (target: object, key: string | symbol, index?: number | undefined) => void;
10
+ export declare const getRepositoryToken: <T extends object>(entity: EntityName<T>, name?: string) => string;
11
+ export declare const InjectRepository: <T extends object>(entity: EntityName<T>, name?: string) => (target: object, key: string | symbol, index?: number | undefined) => void;
@@ -3,6 +3,6 @@ import type { EntityName } from './typings';
3
3
  export declare class MikroOrmEntitiesStorage {
4
4
  private static readonly storage;
5
5
  static addEntity(entity: EntityName<AnyEntity>, contextName?: string): void;
6
- static getEntities(contextName?: string): never[] | IterableIterator<EntityName<AnyEntity<any>>>;
6
+ static getEntities(contextName?: string): never[] | IterableIterator<EntityName<Partial<any>>>;
7
7
  static clear(contextName?: string): void;
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mikro-orm/nestjs",
3
- "version": "5.1.3-dev.0",
3
+ "version": "5.1.3",
4
4
  "license": "MIT",
5
5
  "author": {
6
6
  "name": "Martin Adamek",
@@ -40,63 +40,31 @@
40
40
  "lint": "eslint src/**/*.ts"
41
41
  },
42
42
  "peerDependencies": {
43
- "@mikro-orm/better-sqlite": "^5.0.0||^6.0.0-dev.0",
44
43
  "@mikro-orm/core": "^5.0.0||^6.0.0-dev.0",
45
- "@mikro-orm/knex": "^5.0.0||^6.0.0-dev.0",
46
- "@mikro-orm/mariadb": "^5.0.0||^6.0.0-dev.0",
47
- "@mikro-orm/mongodb": "^5.0.0||^6.0.0-dev.0",
48
- "@mikro-orm/mysql": "^5.0.0||^6.0.0-dev.0",
49
- "@mikro-orm/postgresql": "^5.0.0||^6.0.0-dev.0",
50
- "@mikro-orm/sqlite": "^5.0.0||^6.0.0-dev.0",
51
44
  "@nestjs/common": "^8.0.0 || ^9.0.0",
52
45
  "@nestjs/core": "^8.0.0 || ^9.0.0"
53
46
  },
54
- "peerDependenciesMeta": {
55
- "@mikro-orm/better-sqlite": {
56
- "optional": true
57
- },
58
- "@mikro-orm/knex": {
59
- "optional": true
60
- },
61
- "@mikro-orm/mariadb": {
62
- "optional": true
63
- },
64
- "@mikro-orm/mongodb": {
65
- "optional": true
66
- },
67
- "@mikro-orm/mysql": {
68
- "optional": true
69
- },
70
- "@mikro-orm/postgresql": {
71
- "optional": true
72
- },
73
- "@mikro-orm/sqlite": {
74
- "optional": true
75
- }
76
- },
77
47
  "devDependencies": {
78
- "@mikro-orm/core": "^5.2.3",
79
- "@mikro-orm/knex": "^5.2.3",
80
- "@mikro-orm/mongodb": "^5.2.3",
81
- "@mikro-orm/sqlite": "^5.2.3",
82
- "@nestjs/common": "^9.0.1",
83
- "@nestjs/core": "^9.0.1",
84
- "@nestjs/platform-express": "^9.0.1",
85
- "@nestjs/testing": "^9.0.1",
86
- "@types/jest": "^28.0.0",
87
- "@types/node": "^18.0.0",
88
- "@types/supertest": "^2.0.11",
89
- "@typescript-eslint/eslint-plugin": "~5.35.0",
90
- "@typescript-eslint/parser": "~5.35.0",
48
+ "@mikro-orm/core": "^5.6.0",
49
+ "@mikro-orm/sqlite": "^5.6.0",
50
+ "@nestjs/common": "^9.2.1",
51
+ "@nestjs/core": "^9.2.1",
52
+ "@nestjs/platform-express": "^9.2.1",
53
+ "@nestjs/testing": "^9.2.1",
54
+ "@types/jest": "^29.2.4",
55
+ "@types/node": "^18.11.17",
56
+ "@types/supertest": "^2.0.12",
57
+ "@typescript-eslint/eslint-plugin": "~5.46.1",
58
+ "@typescript-eslint/parser": "~5.46.1",
91
59
  "conventional-changelog": "^3.1.25",
92
60
  "conventional-changelog-cli": "^2.2.2",
93
- "eslint": "^8.9.0",
94
- "jest": "^28.0.0",
95
- "rxjs": "^7.5.4",
96
- "supertest": "^6.2.2",
97
- "ts-jest": "^28.0.0",
98
- "ts-node": "^10.5.0",
99
- "typescript": "4.7.4"
61
+ "eslint": "^8.30.0",
62
+ "jest": "^29.3.1",
63
+ "rxjs": "^7.8.0",
64
+ "supertest": "^6.3.3",
65
+ "ts-jest": "^29.0.3",
66
+ "ts-node": "^10.9.1",
67
+ "typescript": "4.9.4"
100
68
  },
101
69
  "commitlint": {
102
70
  "extends": [
package/typings.d.ts CHANGED
@@ -4,10 +4,10 @@ import type { AbstractHttpAdapter } from '@nestjs/core';
4
4
  export interface NestMiddlewareConsumer extends MiddlewareConsumer {
5
5
  httpAdapter: AbstractHttpAdapter;
6
6
  }
7
- declare type MikroOrmNestScopeOptions = {
7
+ type MikroOrmNestScopeOptions = {
8
8
  scope?: Scope;
9
9
  };
10
- export declare type MikroOrmMiddlewareModuleOptions = {
10
+ export type MikroOrmMiddlewareModuleOptions = {
11
11
  /**
12
12
  * Routes to apply the middleware.
13
13
  *
@@ -17,7 +17,7 @@ export declare type MikroOrmMiddlewareModuleOptions = {
17
17
  */
18
18
  forRoutesPath?: string;
19
19
  };
20
- export declare type MikroOrmModuleOptions<D extends IDatabaseDriver = IDatabaseDriver> = {
20
+ export type MikroOrmModuleOptions<D extends IDatabaseDriver = IDatabaseDriver> = {
21
21
  registerRequestContext?: boolean;
22
22
  autoLoadEntities?: boolean;
23
23
  } & Options<D> & MikroOrmMiddlewareModuleOptions;