build.ts — drizzle-orm Source File
Architecture documentation for build.ts, a typescript file in the drizzle-orm codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 753ed290_5782_c744_1455_18e809074ec3["build.ts"] c10a8be4_82f5_0980_d482_1683db51662a["globals"] 753ed290_5782_c744_1455_18e809074ec3 --> c10a8be4_82f5_0980_d482_1683db51662a 7a50f276_e4b6_7905_ee35_58545d0171ef["cpy"] 753ed290_5782_c744_1455_18e809074ec3 --> 7a50f276_e4b6_7905_ee35_58545d0171ef style 753ed290_5782_c744_1455_18e809074ec3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
#!/usr/bin/env -S pnpm tsx
import 'zx/globals';
import cpy from 'cpy';
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 });
}
await fs.remove('dist.new');
await Promise.all([
(async () => {
await $`tsup`.stdio('pipe', 'pipe', 'pipe');
})(),
(async () => {
await $`tsc -p tsconfig.dts.json`.stdio('pipe', 'pipe', 'pipe');
await cpy('dist-dts/**/*.d.ts', 'dist.new', {
rename: (basename) => basename.replace(/\.d\.ts$/, '.d.cts'),
});
await cpy('dist-dts/**/*.d.ts', 'dist.new', {
rename: (basename) => basename.replace(/\.d\.ts$/, '.d.ts'),
});
})(),
]);
await Promise.all([
$`tsup src/version.ts --no-config --dts --format esm --outDir dist.new`.stdio('pipe', 'pipe', 'pipe'),
$`tsup src/version.ts --no-config --dts --format cjs --outDir dist.new`.stdio('pipe', 'pipe', 'pipe'),
]);
await $`scripts/fix-imports.ts`;
await fs.copy('../README.md', 'dist.new/README.md');
await updateAndCopyPackageJson();
await fs.remove('dist');
await fs.rename('dist.new', 'dist');
Domain
Subdomains
Functions
Dependencies
- cpy
- globals
Source
Frequently Asked Questions
What does build.ts do?
build.ts is a source file in the drizzle-orm codebase, written in typescript. It belongs to the DrizzleORM domain, QueryBuilders subdomain.
What functions are defined in build.ts?
build.ts defines 1 function(s): updateAndCopyPackageJson.
What does build.ts depend on?
build.ts imports 2 module(s): cpy, globals.
Where is build.ts in the architecture?
build.ts is located at drizzle-orm/scripts/build.ts (domain: DrizzleORM, subdomain: QueryBuilders, directory: drizzle-orm/scripts).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free