Home / Function/ updateAndCopyPackageJson() — drizzle-orm Function Reference

updateAndCopyPackageJson() — drizzle-orm Function Reference

Architecture documentation for the updateAndCopyPackageJson() function in build.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  9d598133_cdef_26b3_bfe2_0dfc92289556["updateAndCopyPackageJson()"]
  753ed290_5782_c744_1455_18e809074ec3["build.ts"]
  9d598133_cdef_26b3_bfe2_0dfc92289556 -->|defined in| 753ed290_5782_c744_1455_18e809074ec3
  style 9d598133_cdef_26b3_bfe2_0dfc92289556 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-orm/scripts/build.ts lines 5–47

async function updateAndCopyPackageJson() {
	const pkg = await fs.readJSON('package.json');

	const entries = await glob('src/**/*.ts');

	pkg.exports = entries.reduce<
		Record<string, {
			import: {
				types?: string;
				default: string;
			};
			require: {
				types: string;
				default: string;
			};
			default: string;
			types: string;
		}>
	>(
		(acc, rawEntry) => {
			const entry = rawEntry.match(/src\/(.*)\.ts/)![1]!;
			const exportsEntry = entry === 'index' ? '.' : './' + entry.replace(/\/index$/, '');
			const importEntry = `./${entry}.js`;
			const requireEntry = `./${entry}.cjs`;
			acc[exportsEntry] = {
				import: {
					types: `./${entry}.d.ts`,
					default: importEntry,
				},
				require: {
					types: `./${entry}.d.cts`,
					default: requireEntry,
				},
				types: `./${entry}.d.ts`,
				default: importEntry,
			};
			return acc;
		},
		{},
	);

	await fs.writeJSON('dist.new/package.json', pkg, { spaces: 2 });
}

Domain

Subdomains

Frequently Asked Questions

What does updateAndCopyPackageJson() do?
updateAndCopyPackageJson() is a function in the drizzle-orm codebase, defined in drizzle-orm/scripts/build.ts.
Where is updateAndCopyPackageJson() defined?
updateAndCopyPackageJson() is defined in drizzle-orm/scripts/build.ts at line 5.

Analyze Your Own Codebase

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

Try Supermodel Free