52 lines
1017 B
TypeScript
52 lines
1017 B
TypeScript
import * as esbuild from 'esbuild';
|
|
import { cpSync } from 'node:fs';
|
|
|
|
const driversPackages = [
|
|
// postgres drivers
|
|
'pg',
|
|
'postgres',
|
|
'@vercel/postgres',
|
|
'@neondatabase/serverless',
|
|
// mysql drivers
|
|
'mysql2',
|
|
'@planetscale/database',
|
|
// sqlite drivers
|
|
'@libsql/client',
|
|
'better-sqlite3',
|
|
];
|
|
|
|
esbuild.buildSync({
|
|
entryPoints: ['./src/utils.ts'],
|
|
bundle: true,
|
|
outfile: 'dist/utils.js',
|
|
format: 'cjs',
|
|
target: 'node16',
|
|
platform: 'node',
|
|
external: ['drizzle-orm', 'esbuild', ...driversPackages],
|
|
banner: {
|
|
js: `#!/usr/bin/env -S node --loader @esbuild-kit/esm-loader --no-warnings`,
|
|
},
|
|
});
|
|
|
|
esbuild.buildSync({
|
|
entryPoints: ['./src/cli/index.ts'],
|
|
bundle: true,
|
|
outfile: 'dist/index.cjs',
|
|
format: 'cjs',
|
|
target: 'node16',
|
|
platform: 'node',
|
|
external: [
|
|
'commander',
|
|
'json-diff',
|
|
'glob',
|
|
'esbuild',
|
|
'drizzle-orm',
|
|
...driversPackages,
|
|
],
|
|
banner: {
|
|
js: `#!/usr/bin/env -S node --loader ./dist/loader.mjs --no-warnings`,
|
|
},
|
|
});
|
|
|
|
cpSync('./src/loader.mjs', 'dist/loader.mjs');
|