import { defineConfig } from "tsup"; import esbuild from "esbuild"; const createRequireSnippet = ` import { createRequire as topLevelCreateRequire } from "node:module"; import { fileURLToPath as topLevelFileURLToPath, URL as topLevelURL } from "node:url"; const require = topLevelCreateRequire(import.meta.url); const __filename = topLevelFileURLToPath(import.meta.url); const __dirname = topLevelFileURLToPath(new topLevelURL(".", import.meta.url)); `; export default defineConfig({ entry: ["src/bin.ts"], outDir: "dust", bundle: true, clean: true, format: "esm", platform: "node", banner: { js: "#!/usr/bin/env node" + createRequireSnippet }, sourcemap: true, onSuccess: async () => { //todo heh we can use a typescript compiler instead here? like tsc. does it have what what we need await esbuild.build({ entryPoints: ["src/framework/workerFramework.ts"], outdir: "dust/framework", bundle: true, format: "esm", keepNames: true, platform: "node", }); }, });