@basmilius/tools
Version:
Commonly used tools for building.
5 lines (3 loc) • 1.03 kB
JavaScript
import{build as d}from"bun";async function i(t){try{t.root??="src",t.outdir??="dist",t.minify??=!0,t.sourcemap??="linked",t.splitting??=!1,t.format??="esm",t.target??="node",await d(t),console.log("✔ Build complete!")}catch(o){console.error("✘ Build failed!"),console.error(o),process.exit(1)}}import{file as l,pathToFileURL as n,write as u}from"bun";import{isolatedDeclaration as m}from"oxc-transform";function a(){let t=new Set;return{name:"oxc-transform-dts",setup(o){if(!o.config.root||!o.config.outdir){console.warn("✘ No types generated, osx-transform-dts requires both a root and outdir.");return}let e=n(o.config.root).pathname,s=n(o.config.outdir).pathname;o.onStart(()=>{t.clear()}),o.onLoad({filter:/\.ts$/},async(r)=>{if(r.path.startsWith(e)&&!t.has(r.path)){t.add(r.path);let{code:p}=m(r.path,await l(r.path).text());await u(r.path.replace(new RegExp(`^${e}`),s).replace(/\.ts$/,".d.ts"),p)}return})}}}export{a as dts,i as build};
//# debugId=8D54A8D4C2CA7E1464756E2164756E21
//# sourceMappingURL=index.js.map