@atls/nestjs-mikro-orm-config 0.0.1
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/CHANGELOG.md +11 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/module/index.d.ts +5 -0
- package/dist/module/index.js +4 -0
- package/dist/module/mikro-orm-config.module.constants.d.ts +3 -0
- package/dist/module/mikro-orm-config.module.constants.js +3 -0
- package/dist/module/mikro-orm-config.module.d.ts +5 -0
- package/dist/module/mikro-orm-config.module.interfaces.d.ts +16 -0
- package/dist/module/mikro-orm-config.module.interfaces.js +1 -0
- package/dist/module/mikro-orm-config.module.js +39 -0
- package/dist/module/mikro-orm.config-builder.d.ts +4 -0
- package/dist/module/mikro-orm.config-builder.js +22 -0
- package/dist/module/mikro-orm.config.d.ts +10 -0
- package/dist/module/mikro-orm.config.js +60 -0
- package/package.json +56 -0
package/CHANGELOG.md
ADDED
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './module/index.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./module/index.js";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export const MIKRO_ORM_CONFIG_MODULE_OPTIONS = Symbol('mikro-orm-config-module-options');
|
|
2
|
+
export const MIKRO_ORM_CONFIG_MODULE_OPTIONS_PORT = Symbol('mikro-orm-config-module-options-port');
|
|
3
|
+
export const MIKRO_ORM_CONFIG_MODULE_OPTIONS_HOST = Symbol('mikro-orm-config-module-options-host');
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AnyEntity } from '@mikro-orm/core';
|
|
2
|
+
import type { EntityName } from '@mikro-orm/core';
|
|
3
|
+
import type { MigrationObject } from '@mikro-orm/core';
|
|
4
|
+
import type { Options } from '@mikro-orm/core';
|
|
5
|
+
export interface MikroORMConfigOptions {
|
|
6
|
+
driver: Options['driver'];
|
|
7
|
+
port?: number;
|
|
8
|
+
host?: string;
|
|
9
|
+
database?: string;
|
|
10
|
+
username?: string;
|
|
11
|
+
password?: string;
|
|
12
|
+
entities?: Array<EntityName<AnyEntity>> | Record<string, EntityName<AnyEntity>>;
|
|
13
|
+
migrationsList?: Array<MigrationObject> | Record<string, MigrationObject['class']>;
|
|
14
|
+
migrationsTableName?: string;
|
|
15
|
+
debug?: boolean;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var MikroORMConfigModule_1;
|
|
8
|
+
import { Module } from '@nestjs/common';
|
|
9
|
+
import { MIKRO_ORM_CONFIG_MODULE_OPTIONS } from './mikro-orm-config.module.constants.js';
|
|
10
|
+
import { MIKRO_ORM_CONFIG_MODULE_OPTIONS_HOST } from './mikro-orm-config.module.constants.js';
|
|
11
|
+
import { MIKRO_ORM_CONFIG_MODULE_OPTIONS_PORT } from './mikro-orm-config.module.constants.js';
|
|
12
|
+
import { MikroORMConfig } from './mikro-orm.config.js';
|
|
13
|
+
let MikroORMConfigModule = MikroORMConfigModule_1 = class MikroORMConfigModule {
|
|
14
|
+
static register(options) {
|
|
15
|
+
return {
|
|
16
|
+
module: MikroORMConfigModule_1,
|
|
17
|
+
providers: [
|
|
18
|
+
MikroORMConfig,
|
|
19
|
+
{
|
|
20
|
+
provide: MIKRO_ORM_CONFIG_MODULE_OPTIONS,
|
|
21
|
+
useValue: options,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
provide: MIKRO_ORM_CONFIG_MODULE_OPTIONS_PORT,
|
|
25
|
+
useValue: options.port,
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
provide: MIKRO_ORM_CONFIG_MODULE_OPTIONS_HOST,
|
|
29
|
+
useValue: options.host,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
exports: [MikroORMConfig],
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
MikroORMConfigModule = MikroORMConfigModule_1 = __decorate([
|
|
37
|
+
Module({})
|
|
38
|
+
], MikroORMConfigModule);
|
|
39
|
+
export { MikroORMConfigModule };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Logger } from '@atls/logger';
|
|
2
|
+
import { MikroORMLogger } from '@atls/mikro-orm-logger';
|
|
3
|
+
export class MikroORMConfigBuilder {
|
|
4
|
+
static build(options) {
|
|
5
|
+
return {
|
|
6
|
+
driver: options.driver,
|
|
7
|
+
port: options.port || 5432,
|
|
8
|
+
host: options.host || process.env.DB_HOST || 'localhost',
|
|
9
|
+
dbName: options.dbName || process.env.DB_DATABASE || 'db',
|
|
10
|
+
user: options.user || process.env.DB_USERNAME || 'postgres',
|
|
11
|
+
password: options.password || process.env.DB_PASSWORD || 'password',
|
|
12
|
+
debug: options.debug || Boolean(process.env.DB_DEBUG) || false,
|
|
13
|
+
migrations: options.migrations,
|
|
14
|
+
entities: options.entities,
|
|
15
|
+
forceUndefined: true,
|
|
16
|
+
loggerFactory: (opts) => new MikroORMLogger(opts),
|
|
17
|
+
logger: (message) => {
|
|
18
|
+
new Logger('mikro-orm:migrations').info(message);
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MikroOrmOptionsFactory } from '@mikro-orm/nestjs';
|
|
2
|
+
import type { MikroOrmModuleOptions } from '@mikro-orm/nestjs';
|
|
3
|
+
import { MikroORMConfigOptions } from './mikro-orm-config.module.interfaces.js';
|
|
4
|
+
export declare class MikroORMConfig implements MikroOrmOptionsFactory {
|
|
5
|
+
private readonly options;
|
|
6
|
+
private readonly port;
|
|
7
|
+
private readonly host;
|
|
8
|
+
constructor(options: MikroORMConfigOptions, port: number, host: string);
|
|
9
|
+
createMikroOrmOptions(): MikroOrmModuleOptions;
|
|
10
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { Inject } from '@nestjs/common';
|
|
14
|
+
import { Injectable } from '@nestjs/common';
|
|
15
|
+
import { MIKRO_ORM_CONFIG_MODULE_OPTIONS } from './mikro-orm-config.module.constants.js';
|
|
16
|
+
import { MIKRO_ORM_CONFIG_MODULE_OPTIONS_HOST } from './mikro-orm-config.module.constants.js';
|
|
17
|
+
import { MIKRO_ORM_CONFIG_MODULE_OPTIONS_PORT } from './mikro-orm-config.module.constants.js';
|
|
18
|
+
import { MikroORMConfigBuilder } from './mikro-orm.config-builder.js';
|
|
19
|
+
let MikroORMConfig = class MikroORMConfig {
|
|
20
|
+
options;
|
|
21
|
+
port;
|
|
22
|
+
host;
|
|
23
|
+
constructor(options, port, host) {
|
|
24
|
+
this.options = options;
|
|
25
|
+
this.port = port;
|
|
26
|
+
this.host = host;
|
|
27
|
+
}
|
|
28
|
+
createMikroOrmOptions() {
|
|
29
|
+
return MikroORMConfigBuilder.build({
|
|
30
|
+
driver: this.options.driver,
|
|
31
|
+
port: this.port || this.options?.port,
|
|
32
|
+
host: this.host || this.options?.host,
|
|
33
|
+
dbName: this.options?.database,
|
|
34
|
+
user: this.options?.username,
|
|
35
|
+
password: this.options?.password,
|
|
36
|
+
debug: this.options?.debug,
|
|
37
|
+
entities: Array.isArray(this.options.entities)
|
|
38
|
+
? this.options.entities
|
|
39
|
+
: Object.values(this.options.entities),
|
|
40
|
+
migrations: {
|
|
41
|
+
disableForeignKeys: false,
|
|
42
|
+
tableName: this.options.migrationsTableName,
|
|
43
|
+
migrationsList: Array.isArray(this.options.migrationsList)
|
|
44
|
+
? this.options.migrationsList
|
|
45
|
+
: Object.keys(this.options.migrationsList).map((name) => ({
|
|
46
|
+
name,
|
|
47
|
+
class: this.options.migrationsList[name],
|
|
48
|
+
})),
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
MikroORMConfig = __decorate([
|
|
54
|
+
Injectable(),
|
|
55
|
+
__param(0, Inject(MIKRO_ORM_CONFIG_MODULE_OPTIONS)),
|
|
56
|
+
__param(1, Inject(MIKRO_ORM_CONFIG_MODULE_OPTIONS_PORT)),
|
|
57
|
+
__param(2, Inject(MIKRO_ORM_CONFIG_MODULE_OPTIONS_HOST)),
|
|
58
|
+
__metadata("design:paramtypes", [Object, Number, String])
|
|
59
|
+
], MikroORMConfig);
|
|
60
|
+
export { MikroORMConfig };
|
package/package.json
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atls/nestjs-mikro-orm-config",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"license": "BSD-3-Clause",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
"./package.json": "./package.json",
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"main": "dist/index.js",
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "yarn library build",
|
|
20
|
+
"prepack": "yarn run build",
|
|
21
|
+
"postpack": "rm -rf dist"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@atls/logger": "0.0.3",
|
|
25
|
+
"@atls/mikro-orm-logger": "0.0.1"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@mikro-orm/core": "5.7.12",
|
|
29
|
+
"@mikro-orm/nestjs": "5.2.0",
|
|
30
|
+
"@nestjs/common": "10.0.5",
|
|
31
|
+
"@nestjs/core": "10.0.5",
|
|
32
|
+
"reflect-metadata": "^0.2.2",
|
|
33
|
+
"rxjs": "^7.8.1"
|
|
34
|
+
},
|
|
35
|
+
"peerDependencies": {
|
|
36
|
+
"@mikro-orm/core": "^5",
|
|
37
|
+
"@mikro-orm/nestjs": "^5",
|
|
38
|
+
"@nestjs/common": "^10",
|
|
39
|
+
"@nestjs/core": "^10",
|
|
40
|
+
"reflect-metadata": "^0.2",
|
|
41
|
+
"rxjs": "^7"
|
|
42
|
+
},
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"exports": {
|
|
45
|
+
"./package.json": "./package.json",
|
|
46
|
+
".": {
|
|
47
|
+
"import": "./dist/index.js",
|
|
48
|
+
"types": "./dist/index.d.ts",
|
|
49
|
+
"default": "./dist/index.js"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"main": "dist/index.js",
|
|
53
|
+
"typings": "dist/index.d.ts"
|
|
54
|
+
},
|
|
55
|
+
"typings": "dist/index.d.ts"
|
|
56
|
+
}
|