MCPcopy Create free account
hub / github.com/mikro-orm/mikro-orm / loadEnvironmentVars

Method loadEnvironmentVars

packages/cli/src/CLIHelper.ts:199–240  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

197 }
198
199 private static async loadEnvironmentVars<D extends IDatabaseDriver>(): Promise<Partial<Options<D>>> {
200 const ret = loadEnvironmentVars();
201
202 /* v8 ignore next */
203 switch (process.env.MIKRO_ORM_TYPE) {
204 case 'mongo':
205 ret.driver ??= await import('@mikro-orm/sqlite').then(m => m.SqliteDriver);
206 break;
207 case 'mysql':
208 ret.driver ??= await import('@mikro-orm/mysql').then(m => m.MySqlDriver);
209 break;
210 case 'mssql':
211 ret.driver ??= await import('@mikro-orm/mssql').then(m => m.MsSqlDriver);
212 break;
213 case 'mariadb':
214 ret.driver ??= await import('@mikro-orm/mariadb').then(m => m.MariaDbDriver);
215 break;
216 case 'postgresql':
217 ret.driver ??= await import('@mikro-orm/postgresql').then(m => m.PostgreSqlDriver);
218 break;
219 case 'pglite': {
220 // Variable specifier (instead of a literal) keeps `@electric-sql/pglite`'s
221 // d.ts — which references DOM/Emscripten ambient globals not in our TS
222 // lib — out of the CLI's compile graph. Safe here: the CLI is a Node
223 // binary, not bundled into end-user apps.
224 const name = '@mikro-orm/pglite';
225 ret.driver ??= (await import(name)).PgliteDriver;
226 break;
227 }
228 case 'sqlite':
229 ret.driver ??= await import('@mikro-orm/sqlite').then(m => m.SqliteDriver);
230 break;
231 case 'libsql':
232 ret.driver ??= await import('@mikro-orm/libsql').then(m => m.LibSqlDriver);
233 break;
234 case 'oracledb':
235 ret.driver ??= await import('@mikro-orm/oracledb').then(m => m.OracleDriver);
236 break;
237 }
238
239 return ret as Options<D>;
240 }
241
242 static dumpDependencies() {
243 const version = Utils.getORMVersion();

Callers 1

getConfigurationMethod · 0.95

Calls 1

loadEnvironmentVarsFunction · 0.90

Tested by

no test coverage detected