@hyrious/bun.lockb
Version:
Parse and print bun.lockb
31 lines (27 loc) • 893 B
text/typescript
import * as fs from 'node:fs'
import * as dts from '@hyrious/dts'
import * as esbuild from 'esbuild'
fs.rmSync('dist', { recursive: true, force: true })
esbuild.build({
entryPoints: ["src/lockb.ts", "src/lockb-cli.ts"],
bundle: true,
platform: 'node',
format: 'esm',
outdir: 'dist',
logLevel: 'info',
target: 'node20',
plugins: [{
name: 'cli',
setup({ onResolve, onLoad }) {
onResolve({ filter: /^\.\/.+\.js$/ }, (args) => {
return { path: args.path, external: true }
})
onLoad({ filter: /\-cli\.ts$/ }, (args) => {
const code = fs.readFileSync(args.path, 'utf8')
return { contents: `#!/usr/bin/env node\n${code}`, loader: "default" }
})
}
}]
}).catch(() => process.exit(1))
const { elapsed } = await dts.build('src/lockb.ts', 'dist/lockb.d.ts')
console.log("✅ DTS built in", (elapsed / 1000).toFixed(2), "s")