@mikro-orm/core 7.0.0-dev.7 → 7.0.0-dev.71

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.
Files changed (161) hide show
  1. package/EntityManager.d.ts +85 -42
  2. package/EntityManager.js +282 -194
  3. package/MikroORM.d.ts +11 -29
  4. package/MikroORM.js +33 -127
  5. package/README.md +3 -2
  6. package/cache/FileCacheAdapter.js +1 -2
  7. package/connections/Connection.d.ts +11 -7
  8. package/connections/Connection.js +16 -14
  9. package/drivers/DatabaseDriver.d.ts +11 -5
  10. package/drivers/DatabaseDriver.js +13 -4
  11. package/drivers/IDatabaseDriver.d.ts +27 -5
  12. package/entity/BaseEntity.d.ts +0 -1
  13. package/entity/BaseEntity.js +0 -3
  14. package/entity/Collection.d.ts +98 -30
  15. package/entity/Collection.js +432 -93
  16. package/entity/EntityAssigner.d.ts +1 -1
  17. package/entity/EntityAssigner.js +9 -1
  18. package/entity/EntityFactory.d.ts +7 -0
  19. package/entity/EntityFactory.js +63 -40
  20. package/entity/EntityHelper.js +26 -9
  21. package/entity/EntityLoader.d.ts +5 -4
  22. package/entity/EntityLoader.js +69 -36
  23. package/entity/EntityRepository.d.ts +1 -1
  24. package/entity/EntityValidator.js +4 -4
  25. package/entity/Reference.d.ts +9 -7
  26. package/entity/Reference.js +32 -5
  27. package/entity/WrappedEntity.d.ts +0 -2
  28. package/entity/WrappedEntity.js +1 -5
  29. package/entity/defineEntity.d.ts +549 -0
  30. package/entity/defineEntity.js +529 -0
  31. package/entity/index.d.ts +2 -1
  32. package/entity/index.js +2 -1
  33. package/entity/utils.d.ts +7 -0
  34. package/entity/utils.js +15 -3
  35. package/enums.d.ts +20 -5
  36. package/enums.js +13 -0
  37. package/errors.d.ts +6 -1
  38. package/errors.js +14 -4
  39. package/events/EventSubscriber.d.ts +3 -1
  40. package/hydration/ObjectHydrator.d.ts +4 -4
  41. package/hydration/ObjectHydrator.js +35 -24
  42. package/index.d.ts +2 -2
  43. package/index.js +1 -2
  44. package/logging/DefaultLogger.d.ts +1 -1
  45. package/logging/SimpleLogger.d.ts +1 -1
  46. package/metadata/EntitySchema.d.ts +9 -13
  47. package/metadata/EntitySchema.js +44 -26
  48. package/metadata/MetadataDiscovery.d.ts +6 -7
  49. package/metadata/MetadataDiscovery.js +161 -162
  50. package/metadata/MetadataProvider.d.ts +2 -2
  51. package/metadata/MetadataProvider.js +15 -0
  52. package/metadata/MetadataStorage.d.ts +0 -4
  53. package/metadata/MetadataStorage.js +6 -10
  54. package/metadata/MetadataValidator.d.ts +0 -7
  55. package/metadata/MetadataValidator.js +4 -13
  56. package/metadata/discover-entities.d.ts +5 -0
  57. package/metadata/discover-entities.js +39 -0
  58. package/metadata/index.d.ts +1 -1
  59. package/metadata/index.js +1 -1
  60. package/metadata/types.d.ts +480 -0
  61. package/metadata/types.js +1 -0
  62. package/naming-strategy/AbstractNamingStrategy.d.ts +5 -1
  63. package/naming-strategy/AbstractNamingStrategy.js +7 -1
  64. package/naming-strategy/NamingStrategy.d.ts +11 -1
  65. package/package.json +11 -10
  66. package/platforms/Platform.d.ts +6 -10
  67. package/platforms/Platform.js +6 -22
  68. package/serialization/EntitySerializer.d.ts +2 -0
  69. package/serialization/EntitySerializer.js +29 -11
  70. package/serialization/EntityTransformer.js +22 -12
  71. package/serialization/SerializationContext.js +14 -11
  72. package/types/ArrayType.d.ts +1 -1
  73. package/types/ArrayType.js +1 -2
  74. package/types/BigIntType.d.ts +8 -6
  75. package/types/BlobType.d.ts +0 -1
  76. package/types/BlobType.js +0 -3
  77. package/types/BooleanType.d.ts +2 -1
  78. package/types/BooleanType.js +3 -0
  79. package/types/DecimalType.d.ts +6 -4
  80. package/types/DecimalType.js +1 -1
  81. package/types/DoubleType.js +1 -1
  82. package/types/JsonType.d.ts +1 -1
  83. package/types/JsonType.js +7 -2
  84. package/types/Type.d.ts +2 -1
  85. package/types/Type.js +1 -1
  86. package/types/Uint8ArrayType.d.ts +0 -1
  87. package/types/Uint8ArrayType.js +0 -3
  88. package/types/index.d.ts +1 -1
  89. package/typings.d.ts +112 -77
  90. package/typings.js +32 -32
  91. package/unit-of-work/ChangeSetComputer.js +8 -3
  92. package/unit-of-work/ChangeSetPersister.d.ts +4 -2
  93. package/unit-of-work/ChangeSetPersister.js +37 -16
  94. package/unit-of-work/UnitOfWork.d.ts +8 -1
  95. package/unit-of-work/UnitOfWork.js +111 -54
  96. package/utils/AbstractSchemaGenerator.d.ts +5 -5
  97. package/utils/AbstractSchemaGenerator.js +10 -8
  98. package/utils/Configuration.d.ts +200 -191
  99. package/utils/Configuration.js +141 -152
  100. package/utils/ConfigurationLoader.d.ts +3 -44
  101. package/utils/ConfigurationLoader.js +26 -239
  102. package/utils/Cursor.d.ts +3 -3
  103. package/utils/Cursor.js +3 -0
  104. package/utils/DataloaderUtils.d.ts +15 -5
  105. package/utils/DataloaderUtils.js +53 -7
  106. package/utils/EntityComparator.d.ts +8 -4
  107. package/utils/EntityComparator.js +107 -60
  108. package/utils/QueryHelper.d.ts +9 -1
  109. package/utils/QueryHelper.js +69 -8
  110. package/utils/RawQueryFragment.d.ts +36 -4
  111. package/utils/RawQueryFragment.js +34 -13
  112. package/utils/TransactionManager.d.ts +65 -0
  113. package/utils/TransactionManager.js +223 -0
  114. package/utils/Utils.d.ts +17 -84
  115. package/utils/Utils.js +132 -252
  116. package/utils/index.d.ts +1 -0
  117. package/utils/index.js +1 -0
  118. package/utils/upsert-utils.d.ts +7 -2
  119. package/utils/upsert-utils.js +52 -1
  120. package/decorators/Check.d.ts +0 -3
  121. package/decorators/Check.js +0 -13
  122. package/decorators/CreateRequestContext.d.ts +0 -3
  123. package/decorators/CreateRequestContext.js +0 -32
  124. package/decorators/Embeddable.d.ts +0 -8
  125. package/decorators/Embeddable.js +0 -11
  126. package/decorators/Embedded.d.ts +0 -18
  127. package/decorators/Embedded.js +0 -18
  128. package/decorators/Entity.d.ts +0 -18
  129. package/decorators/Entity.js +0 -12
  130. package/decorators/Enum.d.ts +0 -9
  131. package/decorators/Enum.js +0 -16
  132. package/decorators/Filter.d.ts +0 -2
  133. package/decorators/Filter.js +0 -8
  134. package/decorators/Formula.d.ts +0 -4
  135. package/decorators/Formula.js +0 -15
  136. package/decorators/Indexed.d.ts +0 -19
  137. package/decorators/Indexed.js +0 -20
  138. package/decorators/ManyToMany.d.ts +0 -40
  139. package/decorators/ManyToMany.js +0 -14
  140. package/decorators/ManyToOne.d.ts +0 -30
  141. package/decorators/ManyToOne.js +0 -14
  142. package/decorators/OneToMany.d.ts +0 -28
  143. package/decorators/OneToMany.js +0 -17
  144. package/decorators/OneToOne.d.ts +0 -24
  145. package/decorators/OneToOne.js +0 -7
  146. package/decorators/PrimaryKey.d.ts +0 -8
  147. package/decorators/PrimaryKey.js +0 -20
  148. package/decorators/Property.d.ts +0 -250
  149. package/decorators/Property.js +0 -32
  150. package/decorators/Transactional.d.ts +0 -13
  151. package/decorators/Transactional.js +0 -28
  152. package/decorators/hooks.d.ts +0 -16
  153. package/decorators/hooks.js +0 -47
  154. package/decorators/index.d.ts +0 -17
  155. package/decorators/index.js +0 -17
  156. package/entity/ArrayCollection.d.ts +0 -116
  157. package/entity/ArrayCollection.js +0 -402
  158. package/metadata/ReflectMetadataProvider.d.ts +0 -8
  159. package/metadata/ReflectMetadataProvider.js +0 -44
  160. package/utils/resolveContextProvider.d.ts +0 -10
  161. package/utils/resolveContextProvider.js +0 -28
@@ -5,133 +5,136 @@ import { NullHighlighter } from '../utils/NullHighlighter.js';
5
5
  import { DefaultLogger } from '../logging/DefaultLogger.js';
6
6
  import { colors } from '../logging/colors.js';
7
7
  import { Utils } from '../utils/Utils.js';
8
- import { ReflectMetadataProvider } from '../metadata/ReflectMetadataProvider.js';
8
+ import { MetadataProvider } from '../metadata/MetadataProvider.js';
9
9
  import { NotFoundError } from '../errors.js';
10
10
  import { RequestContext } from './RequestContext.js';
11
11
  import { DataloaderType, FlushMode, LoadStrategy, PopulateHint } from '../enums.js';
12
12
  import { MemoryCacheAdapter } from '../cache/MemoryCacheAdapter.js';
13
13
  import { EntityComparator } from './EntityComparator.js';
14
+ const DEFAULTS = {
15
+ pool: {},
16
+ entities: [],
17
+ entitiesTs: [],
18
+ extensions: [],
19
+ subscribers: [],
20
+ filters: {},
21
+ discovery: {
22
+ warnWhenNoEntities: true,
23
+ checkDuplicateTableNames: true,
24
+ checkDuplicateFieldNames: true,
25
+ checkDuplicateEntities: true,
26
+ checkNonPersistentCompositeProps: true,
27
+ inferDefaultValues: true,
28
+ },
29
+ strict: false,
30
+ validate: false,
31
+ validateRequired: true,
32
+ context: (name) => RequestContext.getEntityManager(name),
33
+ contextName: 'default',
34
+ allowGlobalContext: false,
35
+ // eslint-disable-next-line no-console
36
+ logger: console.log.bind(console),
37
+ colors: true,
38
+ findOneOrFailHandler: (entityName, where) => NotFoundError.findOneFailed(entityName, where),
39
+ findExactlyOneOrFailHandler: (entityName, where) => NotFoundError.findExactlyOneFailed(entityName, where),
40
+ baseDir: process.cwd(),
41
+ hydrator: ObjectHydrator,
42
+ flushMode: FlushMode.AUTO,
43
+ loadStrategy: LoadStrategy.BALANCED,
44
+ dataloader: DataloaderType.NONE,
45
+ populateWhere: PopulateHint.ALL,
46
+ ignoreUndefinedInQuery: false,
47
+ onQuery: (sql) => sql,
48
+ autoJoinOneToOneOwner: true,
49
+ autoJoinRefsForFilters: true,
50
+ filtersOnRelations: true,
51
+ propagationOnPrototype: true,
52
+ populateAfterFlush: true,
53
+ serialization: {
54
+ includePrimaryKeys: true,
55
+ },
56
+ assign: {
57
+ updateNestedEntities: true,
58
+ updateByPrimaryKey: true,
59
+ mergeObjectProperties: false,
60
+ mergeEmbeddedProperties: true,
61
+ ignoreUndefined: false,
62
+ },
63
+ persistOnCreate: true,
64
+ upsertManaged: true,
65
+ forceEntityConstructor: false,
66
+ forceUndefined: false,
67
+ processOnCreateHooksEarly: false,
68
+ ensureDatabase: true,
69
+ ensureIndexes: false,
70
+ batchSize: 300,
71
+ debug: false,
72
+ ignoreDeprecations: false,
73
+ verbose: false,
74
+ driverOptions: {},
75
+ migrations: {
76
+ tableName: 'mikro_orm_migrations',
77
+ path: './migrations',
78
+ glob: '!(*.d).{js,ts,cjs}',
79
+ silent: false,
80
+ transactional: true,
81
+ disableForeignKeys: false,
82
+ allOrNothing: true,
83
+ dropTables: true,
84
+ safe: false,
85
+ snapshot: true,
86
+ emit: 'ts',
87
+ fileName: (timestamp, name) => `Migration${timestamp}${name ? '_' + name : ''}`,
88
+ },
89
+ schemaGenerator: {
90
+ disableForeignKeys: false,
91
+ createForeignKeyConstraints: true,
92
+ ignoreSchema: [],
93
+ skipTables: [],
94
+ skipColumns: {},
95
+ },
96
+ embeddables: {
97
+ prefixMode: 'relative',
98
+ },
99
+ entityGenerator: {
100
+ forceUndefined: true,
101
+ undefinedDefaults: false,
102
+ scalarTypeInDecorator: false,
103
+ bidirectionalRelations: true,
104
+ identifiedReferences: true,
105
+ scalarPropertiesForRelations: 'never',
106
+ entityDefinition: 'defineEntity',
107
+ decorators: 'legacy',
108
+ enumMode: 'dictionary',
109
+ fileName: (className) => className,
110
+ onlyPurePivotTables: false,
111
+ outputPurePivotTables: false,
112
+ readOnlyPivotTables: false,
113
+ useCoreBaseEntity: false,
114
+ },
115
+ metadataCache: {
116
+ pretty: false,
117
+ adapter: FileCacheAdapter,
118
+ options: { cacheDir: process.cwd() + '/temp' },
119
+ },
120
+ resultCache: {
121
+ adapter: MemoryCacheAdapter,
122
+ expiration: 1000, // 1s
123
+ options: {},
124
+ },
125
+ metadataProvider: MetadataProvider,
126
+ highlighter: new NullHighlighter(),
127
+ seeder: {
128
+ path: './seeders',
129
+ defaultSeeder: 'DatabaseSeeder',
130
+ glob: '!(*.d).{js,ts}',
131
+ emit: 'ts',
132
+ fileName: (className) => className,
133
+ },
134
+ preferReadReplicas: true,
135
+ dynamicImportProvider: /* v8 ignore next */ (id) => import(id),
136
+ };
14
137
  export class Configuration {
15
- static DEFAULTS = {
16
- pool: {},
17
- entities: [],
18
- entitiesTs: [],
19
- extensions: [],
20
- subscribers: [],
21
- filters: {},
22
- discovery: {
23
- warnWhenNoEntities: true,
24
- requireEntitiesArray: false,
25
- checkDuplicateTableNames: true,
26
- checkDuplicateFieldNames: true,
27
- checkDuplicateEntities: true,
28
- checkNonPersistentCompositeProps: true,
29
- alwaysAnalyseProperties: true,
30
- disableDynamicFileAccess: false,
31
- inferDefaultValues: true,
32
- },
33
- strict: false,
34
- validate: false,
35
- validateRequired: true,
36
- context: (name) => RequestContext.getEntityManager(name),
37
- contextName: 'default',
38
- allowGlobalContext: false,
39
- // eslint-disable-next-line no-console
40
- logger: console.log.bind(console),
41
- colors: true,
42
- findOneOrFailHandler: (entityName, where) => NotFoundError.findOneFailed(entityName, where),
43
- findExactlyOneOrFailHandler: (entityName, where) => NotFoundError.findExactlyOneFailed(entityName, where),
44
- baseDir: process.cwd(),
45
- hydrator: ObjectHydrator,
46
- flushMode: FlushMode.AUTO,
47
- loadStrategy: LoadStrategy.JOINED,
48
- dataloader: DataloaderType.NONE,
49
- populateWhere: PopulateHint.ALL,
50
- connect: true,
51
- ignoreUndefinedInQuery: false,
52
- onQuery: sql => sql,
53
- autoJoinOneToOneOwner: true,
54
- autoJoinRefsForFilters: true,
55
- propagationOnPrototype: true,
56
- populateAfterFlush: true,
57
- serialization: {
58
- includePrimaryKeys: true,
59
- },
60
- assign: {
61
- updateNestedEntities: true,
62
- updateByPrimaryKey: true,
63
- mergeObjectProperties: false,
64
- mergeEmbeddedProperties: true,
65
- ignoreUndefined: false,
66
- },
67
- persistOnCreate: true,
68
- upsertManaged: true,
69
- forceEntityConstructor: false,
70
- forceUndefined: false,
71
- ensureDatabase: true,
72
- ensureIndexes: false,
73
- batchSize: 300,
74
- debug: false,
75
- ignoreDeprecations: false,
76
- verbose: false,
77
- driverOptions: {},
78
- migrations: {
79
- tableName: 'mikro_orm_migrations',
80
- path: './migrations',
81
- glob: '!(*.d).{js,ts,cjs}',
82
- silent: false,
83
- transactional: true,
84
- disableForeignKeys: false,
85
- allOrNothing: true,
86
- dropTables: true,
87
- safe: false,
88
- snapshot: true,
89
- emit: 'ts',
90
- fileName: (timestamp, name) => `Migration${timestamp}${name ? '_' + name : ''}`,
91
- },
92
- schemaGenerator: {
93
- disableForeignKeys: false,
94
- createForeignKeyConstraints: true,
95
- ignoreSchema: [],
96
- },
97
- embeddables: {
98
- prefixMode: 'absolute',
99
- },
100
- entityGenerator: {
101
- forceUndefined: true,
102
- undefinedDefaults: false,
103
- bidirectionalRelations: false,
104
- identifiedReferences: false,
105
- scalarTypeInDecorator: false,
106
- scalarPropertiesForRelations: 'never',
107
- fileName: (className) => className,
108
- onlyPurePivotTables: false,
109
- outputPurePivotTables: false,
110
- readOnlyPivotTables: false,
111
- useCoreBaseEntity: false,
112
- },
113
- metadataCache: {
114
- pretty: false,
115
- adapter: FileCacheAdapter,
116
- options: { cacheDir: process.cwd() + '/temp' },
117
- },
118
- resultCache: {
119
- adapter: MemoryCacheAdapter,
120
- expiration: 1000, // 1s
121
- options: {},
122
- },
123
- metadataProvider: ReflectMetadataProvider,
124
- highlighter: new NullHighlighter(),
125
- seeder: {
126
- path: './seeders',
127
- defaultSeeder: 'DatabaseSeeder',
128
- glob: '!(*.d).{js,ts}',
129
- emit: 'ts',
130
- fileName: (className) => className,
131
- },
132
- preferReadReplicas: true,
133
- dynamicImportProvider: /* v8 ignore next */ (id) => import(id),
134
- };
135
138
  options;
136
139
  logger;
137
140
  driver;
@@ -140,11 +143,10 @@ export class Configuration {
140
143
  extensions = new Map();
141
144
  constructor(options, validate = true) {
142
145
  if (options.dynamicImportProvider) {
143
- Utils.setDynamicImportProvider(options.dynamicImportProvider);
146
+ Utils.dynamicImportProvider = options.dynamicImportProvider;
144
147
  }
145
- this.options = Utils.mergeConfig({}, Configuration.DEFAULTS, options);
148
+ this.options = Utils.mergeConfig({}, DEFAULTS, options);
146
149
  this.options.baseDir = Utils.absolutePath(this.options.baseDir);
147
- this.options.preferTs ??= options.preferTs;
148
150
  if (validate) {
149
151
  this.validateOptions();
150
152
  }
@@ -190,7 +192,7 @@ export class Configuration {
190
192
  * Resets the configuration to its default value
191
193
  */
192
194
  reset(key) {
193
- this.options[key] = Configuration.DEFAULTS[key];
195
+ this.options[key] = DEFAULTS[key];
194
196
  }
195
197
  /**
196
198
  * Gets Logger instance.
@@ -204,15 +206,6 @@ export class Configuration {
204
206
  }
205
207
  return this.options.dataloader;
206
208
  }
207
- /**
208
- * Gets current client URL (connection string).
209
- */
210
- getClientUrl(hidePassword = false) {
211
- if (hidePassword) {
212
- return this.options.clientUrl.replace(/\/\/([^:]+):(.+)@/, '//$1:*****@');
213
- }
214
- return this.options.clientUrl;
215
- }
216
209
  getSchema(skipDefaultSchema = false) {
217
210
  if (skipDefaultSchema && this.options.schema === this.platform.getDefaultSchemaName()) {
218
211
  return undefined;
@@ -293,8 +286,7 @@ export class Configuration {
293
286
  */
294
287
  getCachedService(cls, ...args) {
295
288
  if (!this.cache.has(cls.name)) {
296
- const Class = cls;
297
- this.cache.set(cls.name, new Class(...args));
289
+ this.cache.set(cls.name, new cls(...args));
298
290
  }
299
291
  return this.cache.get(cls.name);
300
292
  }
@@ -311,17 +303,15 @@ export class Configuration {
311
303
  if (!this.options.clientUrl) {
312
304
  this.options.clientUrl = this.platform.getDefaultClientUrl();
313
305
  }
314
- if (!('implicitTransactions' in this.options)) {
315
- this.options.implicitTransactions = this.platform.usesImplicitTransactions();
316
- }
306
+ this.options.implicitTransactions ??= this.platform.usesImplicitTransactions();
317
307
  try {
318
- const url = new URL(this.getClientUrl());
308
+ const url = new URL(this.options.clientUrl);
319
309
  if (url.pathname) {
320
310
  this.options.dbName = this.get('dbName', decodeURIComponent(url.pathname).substring(1));
321
311
  }
322
312
  }
323
313
  catch {
324
- const url = this.getClientUrl().match(/:\/\/.*\/([^?]+)/);
314
+ const url = this.options.clientUrl.match(/:\/\/.*\/([^?]+)/);
325
315
  if (url) {
326
316
  this.options.dbName = this.get('dbName', decodeURIComponent(url[1]));
327
317
  }
@@ -329,15 +319,14 @@ export class Configuration {
329
319
  if (validate && !this.options.dbName && this.options.clientUrl) {
330
320
  throw new Error("No database specified, `clientUrl` option provided but it's missing the pathname.");
331
321
  }
332
- if (!this.options.schema) {
333
- this.options.schema = this.platform.getDefaultSchemaName();
334
- }
335
- if (!this.options.charset) {
336
- this.options.charset = this.platform.getDefaultCharset();
337
- }
322
+ this.options.schema ??= this.platform.getDefaultSchemaName();
323
+ this.options.charset ??= this.platform.getDefaultCharset();
338
324
  Object.keys(this.options.filters).forEach(key => {
339
325
  this.options.filters[key].default ??= true;
340
326
  });
327
+ if (!this.options.filtersOnRelations) {
328
+ this.options.autoJoinRefsForFilters ??= false;
329
+ }
341
330
  this.options.subscribers = Utils.unique(this.options.subscribers).map(subscriber => {
342
331
  return subscriber.constructor.name === 'Function' ? new subscriber() : subscriber;
343
332
  });
@@ -359,13 +348,13 @@ export class Configuration {
359
348
  * break existing projects, only help with the new ones.
360
349
  */
361
350
  detectSourceFolder(options) {
362
- if (!Utils.pathExistsSync(this.options.baseDir + '/src')) {
351
+ if (!Utils.pathExists(this.options.baseDir + '/src')) {
363
352
  return;
364
353
  }
365
- const migrationsPathExists = Utils.pathExistsSync(this.options.baseDir + '/' + this.options.migrations.path);
366
- const seedersPathExists = Utils.pathExistsSync(this.options.baseDir + '/' + this.options.seeder.path);
367
- const distDir = Utils.pathExistsSync(this.options.baseDir + '/dist');
368
- const buildDir = Utils.pathExistsSync(this.options.baseDir + '/build');
354
+ const migrationsPathExists = Utils.pathExists(this.options.baseDir + '/' + this.options.migrations.path);
355
+ const seedersPathExists = Utils.pathExists(this.options.baseDir + '/' + this.options.seeder.path);
356
+ const distDir = Utils.pathExists(this.options.baseDir + '/dist');
357
+ const buildDir = Utils.pathExists(this.options.baseDir + '/build');
369
358
  // if neither `dist` nor `build` exist, we use the `src` folder as it might be a JS project without building, but with `src` folder
370
359
  const path = distDir ? './dist' : (buildDir ? './build' : './src');
371
360
  // only if the user did not provide any values and if the default path does not exist
@@ -1,54 +1,13 @@
1
- import type { EntityManager } from '../EntityManager.js';
2
- import type { EntityManagerType, IDatabaseDriver } from '../drivers/IDatabaseDriver.js';
1
+ import type { IDatabaseDriver } from '../drivers/IDatabaseDriver.js';
3
2
  import type { Dictionary } from '../typings.js';
4
- import { Configuration, type Options } from './Configuration.js';
3
+ import { type Options } from './Configuration.js';
5
4
  /**
6
5
  * @internal
7
6
  */
8
7
  export declare class ConfigurationLoader {
9
- /**
10
- * Gets a named configuration
11
- *
12
- * @param contextName Load a config with the given `contextName` value. Used when config file exports array or factory function. Setting it to "default" matches also config objects without `contextName` set.
13
- * @param paths Array of possible paths for a configuration file. Files will be checked in order, and the first existing one will be used. Defaults to the output of {@link ConfigurationLoader.getConfigPaths}.
14
- * @param options Additional options to augment the final configuration with.
15
- */
16
- static getConfiguration<D extends IDatabaseDriver = IDatabaseDriver, EM extends D[typeof EntityManagerType] & EntityManager = EntityManager>(contextName: string, paths?: string[], options?: Partial<Options>): Promise<Configuration<D, EM>>;
17
- /**
18
- * Gets the default config from the default paths
19
- *
20
- * @deprecated Prefer to explicitly set the `contextName` at the first argument. This signature is available for backwards compatibility, and may be removed in v7.
21
- */
22
- static getConfiguration<D extends IDatabaseDriver = IDatabaseDriver, EM extends D[typeof EntityManagerType] & EntityManager = EntityManager>(): Promise<Configuration<D, EM>>;
23
- /**
24
- * Gets default configuration out of the default paths, and possibly from `process.argv`
25
- *
26
- * @param validate Whether to validate the final configuration.
27
- * @param options Additional options to augment the final configuration with (just before validation).
28
- *
29
- * @deprecated Use the other overloads of this method. This signature will be removed in v7.
30
- */
31
- static getConfiguration<D extends IDatabaseDriver = IDatabaseDriver, EM extends D[typeof EntityManagerType] & EntityManager = EntityManager>(validate: boolean, options?: Partial<Options>): Promise<Configuration<D, EM>>;
32
- static getConfigFile(paths: string[]): Promise<[string, unknown] | []>;
8
+ static loadEnvironmentVars<D extends IDatabaseDriver>(): Partial<Options<D>>;
33
9
  static getPackageConfig(basePath?: string): Dictionary;
34
- static getSettings(): Settings;
35
- static configPathsFromArg(): string[] | undefined;
36
- static getConfigPaths(): string[];
37
- static isESM(): boolean;
38
- static registerTypeScriptSupport(configPath?: string): Promise<boolean>;
39
- static registerDotenv<D extends IDatabaseDriver>(options?: Options<D>): void;
40
- static loadEnvironmentVars<D extends IDatabaseDriver>(): Promise<Partial<Options<D>>>;
41
- static loadEnvironmentVarsSync<D extends IDatabaseDriver>(): Partial<Options<D>>;
42
10
  static getORMPackages(): Set<string>;
43
- /** @internal */
44
- static commonJSCompat(options: Partial<Options>): void;
45
11
  static getORMPackageVersion(name: string): string | undefined;
46
12
  static checkPackageVersion(): string;
47
13
  }
48
- export interface Settings {
49
- alwaysAllowTs?: boolean;
50
- verbose?: boolean;
51
- preferTs?: boolean;
52
- tsConfigPath?: string;
53
- configPaths?: string[];
54
- }