@nest-boot/mikro-orm 7.3.0 → 7.3.2

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.
@@ -1,2 +1,3 @@
1
1
  import type { FindOptions, PopulatePath } from "@mikro-orm/core";
2
+ /** Options for {@link EntityService.chunkById}, excluding offset and orderBy (managed internally). */
2
3
  export type ChunkByIdOptions<Entity, Hint extends string = never, Fields extends string = PopulatePath.ALL, Excludes extends string = never> = Omit<FindOptions<Entity, Hint, Fields, Excludes>, "offset" | "orderBy">;
@@ -1,2 +1,3 @@
1
1
  import type { IdEntity } from "../interfaces/id-entity.interface";
2
+ /** Accepts either an entity's ID value or the entity instance itself. */
2
3
  export type IdOrEntity<Entity extends IdEntity> = Entity["id"] | Entity;
@@ -1,12 +1,37 @@
1
1
  import { Configuration, IDatabaseDriver } from "@mikro-orm/core";
2
- export declare function loadConfigFromEnv(): Promise<{
3
- driver?: new (config: Configuration) => IDatabaseDriver;
4
- } & ({
2
+ /** Constructor type for a MikroORM database driver. */
3
+ export type DatabaseDriverConstructor = new (config: Configuration) => IDatabaseDriver;
4
+ /** Database driver configuration for MikroORM. */
5
+ export interface DriverConfig {
6
+ /** Database driver class constructor. */
7
+ driver?: DatabaseDriverConstructor;
8
+ }
9
+ /** URL-based database connection configuration. */
10
+ export interface UrlConfig {
11
+ /** Database connection URL. */
5
12
  clientUrl?: string;
6
- } | {
13
+ }
14
+ /** Host-based database connection configuration. */
15
+ export interface HostConfig {
16
+ /** Database host. */
7
17
  host?: string;
18
+ /** Database port. */
8
19
  port?: number;
20
+ /** Database name. */
9
21
  dbName?: string;
22
+ /** Database user. */
10
23
  user?: string;
24
+ /** Database password. */
11
25
  password?: string;
12
- })>;
26
+ }
27
+ /**
28
+ * Loads MikroORM configuration from environment variables.
29
+ *
30
+ * @remarks
31
+ * Supports both connection URL (`DB_URL` / `DATABASE_URL`) and individual
32
+ * host/port/dbName/user/password variables. Automatically resolves the
33
+ * database driver based on the URL protocol or `DB_TYPE`.
34
+ *
35
+ * @returns MikroORM options derived from environment variables
36
+ */
37
+ export declare function loadConfigFromEnv(): Promise<DriverConfig & (UrlConfig | HostConfig)>;
@@ -36,26 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.loadConfigFromEnv = loadConfigFromEnv;
37
37
  const core_1 = require("@mikro-orm/core");
38
38
  const reflection_1 = require("@mikro-orm/reflection");
39
- const baseConfig = {
40
- colors: false,
41
- debug: !!(process.env.DB_DEBUG ?? process.env.DATABASE_DEBUG),
42
- dataloader: core_1.DataloaderType.ALL,
43
- timezone: "UTC",
44
- metadataProvider: reflection_1.TsMorphMetadataProvider,
45
- entities: ["dist/**/*.entity.js"],
46
- entitiesTs: ["src/**/*.entity.ts"],
47
- migrations: {
48
- snapshot: false,
49
- path: "dist/database/migrations",
50
- pathTs: "src/database/migrations",
51
- },
52
- seeder: {
53
- path: "dist/database/seeders",
54
- pathTs: "src/database/seeders",
55
- defaultSeeder: "DatabaseSeeder",
56
- fileName: (className) => className,
57
- },
58
- };
59
39
  async function getDriver(type) {
60
40
  switch (type) {
61
41
  case "mysql":
@@ -65,7 +45,37 @@ async function getDriver(type) {
65
45
  return (await Promise.resolve().then(() => __importStar(require("@mikro-orm/postgresql")))).PostgreSqlDriver;
66
46
  }
67
47
  }
48
+ /**
49
+ * Loads MikroORM configuration from environment variables.
50
+ *
51
+ * @remarks
52
+ * Supports both connection URL (`DB_URL` / `DATABASE_URL`) and individual
53
+ * host/port/dbName/user/password variables. Automatically resolves the
54
+ * database driver based on the URL protocol or `DB_TYPE`.
55
+ *
56
+ * @returns MikroORM options derived from environment variables
57
+ */
68
58
  async function loadConfigFromEnv() {
59
+ const baseConfig = {
60
+ colors: false,
61
+ debug: !!(process.env.DB_DEBUG ?? process.env.DATABASE_DEBUG),
62
+ dataloader: core_1.DataloaderType.ALL,
63
+ timezone: "UTC",
64
+ metadataProvider: reflection_1.TsMorphMetadataProvider,
65
+ entities: ["dist/**/*.entity.js"],
66
+ entitiesTs: ["src/**/*.entity.ts"],
67
+ migrations: {
68
+ snapshot: false,
69
+ path: "dist/database/migrations",
70
+ pathTs: "src/database/migrations",
71
+ },
72
+ seeder: {
73
+ path: "dist/database/seeders",
74
+ pathTs: "src/database/seeders",
75
+ defaultSeeder: "DatabaseSeeder",
76
+ fileName: (className) => className,
77
+ },
78
+ };
69
79
  const dbUrl = process.env.DB_URL ?? process.env.DATABASE_URL;
70
80
  if (dbUrl) {
71
81
  const dbType = new URL(dbUrl).protocol.replace(":", "");
@@ -1 +1 @@
1
- {"version":3,"file":"load-config-from-env.util.js","sourceRoot":"","sources":["../../src/utils/load-config-from-env.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-config-from-env.util.js","sourceRoot":"","sources":["../../src/utils/load-config-from-env.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "@nest-boot/mikro-orm",
3
- "version": "7.3.0",
3
+ "version": "7.3.2",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "https://github.com/nest-boot/nest-boot.git",
7
+ "directory": "packages/mikro-orm"
8
+ },
4
9
  "description": "",
5
10
  "author": {
6
11
  "name": "Xudong Huang",
@@ -43,16 +48,16 @@
43
48
  "rxjs": "^7.8.2",
44
49
  "ts-jest": "^29.4.4",
45
50
  "typescript": "^5.9.3",
46
- "@nest-boot/eslint-config": "^7.0.2",
47
- "@nest-boot/eslint-plugin": "^7.0.4",
48
- "@nest-boot/request-context": "^7.4.2",
49
- "@nest-boot/tsconfig": "^7.0.1"
51
+ "@nest-boot/eslint-config": "^7.0.3",
52
+ "@nest-boot/tsconfig": "^7.0.1",
53
+ "@nest-boot/eslint-plugin": "^7.0.5",
54
+ "@nest-boot/request-context": "^7.4.3"
50
55
  },
51
56
  "peerDependencies": {
52
57
  "@mikro-orm/core": "^6.0.0",
53
58
  "@mikro-orm/nestjs": "^6.0.0",
54
59
  "@mikro-orm/reflection": "^6.0.0",
55
- "@nest-boot/request-context": "^7.4.2",
60
+ "@nest-boot/request-context": "^7.4.3",
56
61
  "@nestjs/common": "^11.0.0",
57
62
  "@nestjs/core": "^11.0.0",
58
63
  "reflect-metadata": "^0.2.2",