Home / File/ createInstance.ts — drizzle-orm Source File

createInstance.ts — drizzle-orm Source File

Architecture documentation for createInstance.ts, a typescript file in the drizzle-orm codebase. 4 imports, 3 dependents.

File typescript DrizzleORM DatabaseDrivers 4 imports 3 dependents 1 functions

Entity Profile

Dependency Diagram

graph LR
  e3c6db28_687e_2189_213a_3608ab4aafde["createInstance.ts"]
  e9c5db23_dc8f_4a33_356a_8f8fbacc4a0e["dockerode"]
  e3c6db28_687e_2189_213a_3608ab4aafde --> e9c5db23_dc8f_4a33_356a_8f8fbacc4a0e
  249e672a_a0ca_539d_aeb8_1505bb753d14["get-port"]
  e3c6db28_687e_2189_213a_3608ab4aafde --> 249e672a_a0ca_539d_aeb8_1505bb753d14
  de47b2dd_7ed5_08f6_5b8a_f44c9896ce49["uuid"]
  e3c6db28_687e_2189_213a_3608ab4aafde --> de47b2dd_7ed5_08f6_5b8a_f44c9896ce49
  c10a8be4_82f5_0980_d482_1683db51662a["globals"]
  e3c6db28_687e_2189_213a_3608ab4aafde --> c10a8be4_82f5_0980_d482_1683db51662a
  002d7087_5536_1a01_222f_6216abee9f09["gel-custom.test.ts"]
  002d7087_5536_1a01_222f_6216abee9f09 --> e3c6db28_687e_2189_213a_3608ab4aafde
  420ed34c_6b16_edc7_54c0_6d31aba86b76["gel-ext.test.ts"]
  420ed34c_6b16_edc7_54c0_6d31aba86b76 --> e3c6db28_687e_2189_213a_3608ab4aafde
  e0204a71_2582_46d4_0d96_46af572427a8["gel.test.ts"]
  e0204a71_2582_46d4_0d96_46af572427a8 --> e3c6db28_687e_2189_213a_3608ab4aafde
  style e3c6db28_687e_2189_213a_3608ab4aafde fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import Docker from 'dockerode';
import getPort from 'get-port';
import { v4 as uuidV4 } from 'uuid';
import 'zx/globals';

export async function createDockerDB(): Promise<{ connectionString: string; container: Docker.Container }> {
	const docker = new Docker();
	const port = await getPort({ port: 5656 });
	const image = 'geldata/gel:6';

	const pullStream = await docker.pull(image);
	await new Promise((resolve, reject) =>
		docker.modem.followProgress(pullStream, (err) => (err ? reject(err) : resolve(err)))
	);

	const gelContainer = await docker.createContainer({
		Image: image,
		Env: [
			'GEL_CLIENT_SECURITY=insecure_dev_mode',
			'GEL_SERVER_SECURITY=insecure_dev_mode',
			'GEL_CLIENT_TLS_SECURITY=no_host_verification',
			'GEL_SERVER_PASSWORD=password',
		],
		name: `drizzle-integration-tests-${uuidV4()}`,
		HostConfig: {
			AutoRemove: true,
			PortBindings: {
				'5656/tcp': [{ HostPort: `${port}` }],
			},
		},
	});

	await gelContainer.start();

	return { connectionString: `gel://admin:password@localhost:${port}/main`, container: gelContainer };
}

Domain

Subdomains

Functions

Dependencies

  • dockerode
  • get-port
  • globals
  • uuid

Frequently Asked Questions

What does createInstance.ts do?
createInstance.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, DatabaseDrivers subdomain.
What functions are defined in createInstance.ts?
createInstance.ts defines 1 function(s): createDockerDB.
What does createInstance.ts depend on?
createInstance.ts imports 4 module(s): dockerode, get-port, globals, uuid.
What files import createInstance.ts?
createInstance.ts is imported by 3 file(s): gel-custom.test.ts, gel-ext.test.ts, gel.test.ts.
Where is createInstance.ts in the architecture?
createInstance.ts is located at integration-tests/tests/gel/createInstance.ts (domain: DrizzleORM, subdomain: DatabaseDrivers, directory: integration-tests/tests/gel).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free