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

cli.ts — drizzle-orm Source File

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

File typescript DrizzleKit 3 imports 4 dependents

Entity Profile

Dependency Diagram

graph LR
  ce0519f7_91ef_9fe5_de1a_968bd9acd812["cli.ts"]
  5e835bc2_6860_21e3_492c_babcc3e93529["schemaValidator.ts"]
  ce0519f7_91ef_9fe5_de1a_968bd9acd812 --> 5e835bc2_6860_21e3_492c_babcc3e93529
  9135e6b6_37f7_c980_ee35_90f5531de5a4["common.ts"]
  ce0519f7_91ef_9fe5_de1a_968bd9acd812 --> 9135e6b6_37f7_c980_ee35_90f5531de5a4
  9d8cc145_835b_8147_2ea5_b7b5383ae775["zod"]
  ce0519f7_91ef_9fe5_de1a_968bd9acd812 --> 9d8cc145_835b_8147_2ea5_b7b5383ae775
  c2c22050_0d5c_404e_2b18_5934c728a89c["introspect.ts"]
  c2c22050_0d5c_404e_2b18_5934c728a89c --> ce0519f7_91ef_9fe5_de1a_968bd9acd812
  9b24aa9e_af00_88e2_5a0a_d67a2b0b670c["pgIntrospect.ts"]
  9b24aa9e_af00_88e2_5a0a_d67a2b0b670c --> ce0519f7_91ef_9fe5_de1a_968bd9acd812
  6219550e_1686_ca7a_0d96_0838fb90e7cb["push.ts"]
  6219550e_1686_ca7a_0d96_0838fb90e7cb --> ce0519f7_91ef_9fe5_de1a_968bd9acd812
  09e5bcf1_0f03_3dbd_fbdb_762440f28855["utils.ts"]
  09e5bcf1_0f03_3dbd_fbdb_762440f28855 --> ce0519f7_91ef_9fe5_de1a_968bd9acd812
  style ce0519f7_91ef_9fe5_de1a_968bd9acd812 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { array, boolean, intersection, literal, object, string, TypeOf, union } from 'zod';
import { dialect } from '../../schemaValidator';
import { casing, casingType, prefix } from './common';

export const cliConfigGenerate = object({
	dialect: dialect.optional(),
	schema: union([string(), string().array()]).optional(),
	out: string().optional().default('./drizzle'),
	config: string().optional(),
	name: string().optional(),
	prefix: prefix.optional(),
	breakpoints: boolean().optional().default(true),
	custom: boolean().optional().default(false),
}).strict();

export type CliConfigGenerate = TypeOf<typeof cliConfigGenerate>;

export const pushParams = object({
	dialect: dialect,
	casing: casingType.optional(),
	schema: union([string(), string().array()]),
	tablesFilter: union([string(), string().array()]).optional(),
	schemaFilter: union([string(), string().array()])
		.optional()
		.default(['public']),
	extensionsFilters: literal('postgis').array().optional(),
	verbose: boolean().optional(),
	strict: boolean().optional(),
	entities: object({
		roles: boolean().or(object({
			provider: string().optional(),
			include: string().array().optional(),
			exclude: string().array().optional(),
		})).optional().default(false),
	}).optional(),
}).passthrough();

export type PushParams = TypeOf<typeof pushParams>;

export const pullParams = object({
	config: string().optional(),
	dialect: dialect,
	out: string().optional().default('drizzle'),
	tablesFilter: union([string(), string().array()]).optional(),
	schemaFilter: union([string(), string().array()])
		.optional()
		.default(['public']),
	extensionsFilters: literal('postgis').array().optional(),
	casing,
	breakpoints: boolean().optional().default(true),
	migrations: object({
		prefix: prefix.optional().default('index'),
	}).optional(),
	entities: object({
		roles: boolean().or(object({
			provider: string().optional(),
			include: string().array().optional(),
			exclude: string().array().optional(),
		})).optional().default(false),
	}).optional(),
}).passthrough();

export type Entities = TypeOf<typeof pullParams>['entities'];

export type PullParams = TypeOf<typeof pullParams>;

export const configCheck = object({
	dialect: dialect.optional(),
	out: string().optional(),
});

export const cliConfigCheck = intersection(
	object({
		config: string().optional(),
	}),
	configCheck,
);

export type CliCheckConfig = TypeOf<typeof cliConfigCheck>;

Domain

Dependencies

Frequently Asked Questions

What does cli.ts do?
cli.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleKit domain.
What does cli.ts depend on?
cli.ts imports 3 module(s): common.ts, schemaValidator.ts, zod.
What files import cli.ts?
cli.ts is imported by 4 file(s): introspect.ts, pgIntrospect.ts, push.ts, utils.ts.
Where is cli.ts in the architecture?
cli.ts is located at drizzle-kit/src/cli/validations/cli.ts (domain: DrizzleKit, directory: drizzle-kit/src/cli/validations).

Analyze Your Own Codebase

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

Try Supermodel Free