@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 ADDED
@@ -0,0 +1,11 @@
1
+
2
+
3
+ ## 0.0.1 (2025-03-14)
4
+
5
+
6
+ ### Features
7
+
8
+
9
+ * **nestjs:** init ([b6d0be1](https://github.com/atls/nestjs/commit/b6d0be197b5d38325fc01caa2b3f08e21d9d6816))
10
+
11
+
@@ -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,5 @@
1
+ export type * from './mikro-orm-config.module.interfaces.js';
2
+ export * from './mikro-orm-config.module.constants.js';
3
+ export * from './mikro-orm.config-builder.js';
4
+ export * from './mikro-orm-config.module.js';
5
+ export * from './mikro-orm.config.js';
@@ -0,0 +1,4 @@
1
+ export * from "./mikro-orm-config.module.constants.js";
2
+ export * from "./mikro-orm.config-builder.js";
3
+ export * from "./mikro-orm-config.module.js";
4
+ export * from "./mikro-orm.config.js";
@@ -0,0 +1,3 @@
1
+ export declare const MIKRO_ORM_CONFIG_MODULE_OPTIONS: unique symbol;
2
+ export declare const MIKRO_ORM_CONFIG_MODULE_OPTIONS_PORT: unique symbol;
3
+ export declare const MIKRO_ORM_CONFIG_MODULE_OPTIONS_HOST: unique symbol;
@@ -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,5 @@
1
+ import type { DynamicModule } from '@nestjs/common';
2
+ import type { MikroORMConfigOptions } from './mikro-orm-config.module.interfaces.js';
3
+ export declare class MikroORMConfigModule {
4
+ static register(options: MikroORMConfigOptions): DynamicModule;
5
+ }
@@ -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,4 @@
1
+ import type { MikroOrmModuleOptions } from '@mikro-orm/nestjs';
2
+ export declare class MikroORMConfigBuilder {
3
+ static build(options: Partial<MikroOrmModuleOptions>): MikroOrmModuleOptions;
4
+ }
@@ -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
+ }