bunup 0.5.7 → 0.5.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  // @bun
2
- var Ur=Object.create;var{getPrototypeOf:Gr,defineProperty:q,getOwnPropertyNames:Yr}=Object;var Dr=Object.prototype.hasOwnProperty;var _=(r,n,t)=>{t=r!=null?Ur(Gr(r)):{};let e=n||!r||!r.__esModule?q(t,"default",{value:r,enumerable:!0}):t;for(let o of Yr(r))if(!Dr.call(e,o))q(e,o,{get:()=>r[o],enumerable:!0});return e};var Kr=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports);var O=Kr((fn,U)=>{var k=process||{},z=k.argv||[],L=k.env||{},Xr=!(!!L.NO_COLOR||z.includes("--no-color"))&&(!!L.FORCE_COLOR||z.includes("--color")||k.platform==="win32"||(k.stdout||{}).isTTY&&L.TERM!=="dumb"||!!L.CI),Zr=(r,n,t=r)=>(e)=>{let o=""+e,i=o.indexOf(n,r.length);return~i?r+qr(o,n,t,i)+n:r+o+n},qr=(r,n,t,e)=>{let o="",i=0;do o+=r.substring(i,e)+t,i=e+n.length,e=r.indexOf(n,i);while(~e);return o+r.substring(i)},V=(r=Xr)=>{let n=r?Zr:()=>String;return{isColorSupported:r,reset:n("\x1B[0m","\x1B[0m"),bold:n("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:n("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:n("\x1B[3m","\x1B[23m"),underline:n("\x1B[4m","\x1B[24m"),inverse:n("\x1B[7m","\x1B[27m"),hidden:n("\x1B[8m","\x1B[28m"),strikethrough:n("\x1B[9m","\x1B[29m"),black:n("\x1B[30m","\x1B[39m"),red:n("\x1B[31m","\x1B[39m"),green:n("\x1B[32m","\x1B[39m"),yellow:n("\x1B[33m","\x1B[39m"),blue:n("\x1B[34m","\x1B[39m"),magenta:n("\x1B[35m","\x1B[39m"),cyan:n("\x1B[36m","\x1B[39m"),white:n("\x1B[37m","\x1B[39m"),gray:n("\x1B[90m","\x1B[39m"),bgBlack:n("\x1B[40m","\x1B[49m"),bgRed:n("\x1B[41m","\x1B[49m"),bgGreen:n("\x1B[42m","\x1B[49m"),bgYellow:n("\x1B[43m","\x1B[49m"),bgBlue:n("\x1B[44m","\x1B[49m"),bgMagenta:n("\x1B[45m","\x1B[49m"),bgCyan:n("\x1B[46m","\x1B[49m"),bgWhite:n("\x1B[47m","\x1B[49m"),blackBright:n("\x1B[90m","\x1B[39m"),redBright:n("\x1B[91m","\x1B[39m"),greenBright:n("\x1B[92m","\x1B[39m"),yellowBright:n("\x1B[93m","\x1B[39m"),blueBright:n("\x1B[94m","\x1B[39m"),magentaBright:n("\x1B[95m","\x1B[39m"),cyanBright:n("\x1B[96m","\x1B[39m"),whiteBright:n("\x1B[97m","\x1B[39m"),bgBlackBright:n("\x1B[100m","\x1B[49m"),bgRedBright:n("\x1B[101m","\x1B[49m"),bgGreenBright:n("\x1B[102m","\x1B[49m"),bgYellowBright:n("\x1B[103m","\x1B[49m"),bgBlueBright:n("\x1B[104m","\x1B[49m"),bgMagentaBright:n("\x1B[105m","\x1B[49m"),bgCyanBright:n("\x1B[106m","\x1B[49m"),bgWhiteBright:n("\x1B[107m","\x1B[49m")}};U.exports=V();U.exports.createColors=V});function Hr(r){return r}function Qr(r){return r}import xr from"path";import{build as en}from"rolldown";import{dts as tn}from"rolldown-plugin-dts";var c=_(O(),1),N=!1;function J(r){N=r??!1}class x{static instance;loggedOnceMessages=new Set;MAX_LABEL_LENGTH=3;cliColor=c.default.blue;mutedColor=c.default.dim;infoColor=c.default.cyan;warnColor=c.default.yellow;errorColor=c.default.red;defaultColor=c.default.white;progressFgColorMap={ESM:c.default.yellow,CJS:c.default.green,IIFE:c.default.magenta,DTS:c.default.blue};progressBgColorMap={ESM:c.default.bgYellow,CJS:c.default.bgGreen,IIFE:c.default.bgMagenta,DTS:c.default.bgBlue};labels={cli:"CLI",info:"INFO",warn:"WARN",error:"ERROR"};constructor(){}static getInstance(){if(!x.instance)x.instance=new x;return x.instance}dispose(){this.loggedOnceMessages.clear()}shouldLog(r){if(!r?.once)return!0;if(this.loggedOnceMessages.has(r.once))return!1;return this.loggedOnceMessages.add(r.once),!0}formatMessage({fgColor:r,bgColor:n,label:t,message:e,identifier:o,muted:i}){let s=" ".repeat(Math.max(0,this.MAX_LABEL_LENGTH-t.length)),u=i?this.mutedColor(e):e,g=o?` ${n(c.default.black(` ${o} `))}`:"";return`${r(t)} ${s}${u}${g}`}output(r,n={},t=console.log){if(N||!this.shouldLog(n))return;if(n.verticalSpace)t("");if(t(r),n.verticalSpace)t("")}cli(r,n={}){let t=this.formatMessage({fgColor:this.cliColor,bgColor:c.default.bgBlue,label:this.labels.cli,message:r,identifier:n.identifier,muted:n.muted});this.output(t,n)}info(r,n={}){let t=this.formatMessage({fgColor:this.infoColor,bgColor:c.default.bgCyan,label:this.labels.info,message:r,identifier:n.identifier,muted:n.muted});this.output(t,n)}warn(r,n={}){let t=this.formatMessage({fgColor:this.warnColor,bgColor:c.default.bgYellow,label:this.labels.warn,message:r,identifier:n.identifier,muted:n.muted});this.output(t,n,console.warn)}error(r,n={}){let t=this.formatMessage({fgColor:this.errorColor,bgColor:c.default.bgRed,label:this.labels.error,message:r,identifier:n.identifier,muted:n.muted});this.output(t,n,console.error)}getProgressFgColor(r){for(let[n,t]of Object.entries(this.progressFgColorMap))if(r.includes(n))return t;return this.defaultColor}getProgressBgColor(r){for(let[n,t]of Object.entries(this.progressBgColorMap))if(r.includes(n))return t;return c.default.bgWhite}progress(r,n,t={}){let e=this.getProgressFgColor(r),o=this.getProgressBgColor(r),i=this.formatMessage({fgColor:e,bgColor:o,label:r,message:n,identifier:t.identifier,muted:t.muted});this.output(i,t)}}var d=x.getInstance();import br from"path";import{ResolverFactory as nn}from"oxc-resolver";import P from"fs/promises";import Vr from"path";var zr=_(O(),1);class R extends Error{constructor(r){super(r);this.name="BunupError"}}class p extends R{constructor(r){super(r);this.name="BunupBuildError"}}class G extends R{constructor(r){super(r);this.name="BunupDTSBuildError"}}class T extends R{constructor(r){super(r);this.name="BunupIsolatedDeclError"}}var I=(r)=>{if(r instanceof Error)return r.message;return String(r)};function v(r){return r instanceof T}function rr(r,n){switch(r){case"esm":return C(n)?".js":".mjs";case"cjs":return C(n)?".cjs":".js";case"iife":return".global.js"}}function nr(r,n){switch(r){case"esm":return C(n)?".d.ts":".d.mts";case"cjs":return C(n)?".d.cts":".d.ts";case"iife":return".d.ts"}}function Y(r){return r==="node"||r==="bun"}function C(r){return r==="module"}function er(r){if(!r)return[];return Array.from(new Set([...Object.keys(r.dependencies||{}),...Object.keys(r.peerDependencies||{})]))}function S(r,n=3){return r.split("/").slice(-n).join("/")}async function tr(r,n){let t=Vr.join(r,n);try{await P.rm(t,{recursive:!0,force:!0})}catch(e){throw new p(`Failed to clean output directory: ${e}`)}await P.mkdir(t,{recursive:!0})}function Nr(r){return er(r).map((n)=>new RegExp(`^${n}($|\\/|\\\\)`))}function or(r,n){return typeof n==="string"?n===r:n.test(r)}function $(r,n,t){let o=Nr(t).some((s)=>s.test(r))||n.external?.some((s)=>or(r,s)),i=n.noExternal?.some((s)=>or(r,s));return o&&!i}import{resolveTsImportPath as rn}from"ts-import-resolver";var D=_(O(),1);import{isolatedDeclaration as Jr}from"oxc-transform";var ir=[];async function sr(r){try{let n=await Bun.file(r).text(),{code:t,errors:e}=Jr(r,n);for(let o of e)ir.push({error:o,sourceText:n,tsFile:r});return t}catch(n){return console.log(n),d.warn(`Failed to generate declaration for ${r}: ${I(n)}`),null}}function gr(r){let n=!1;for(let{error:t,sourceText:e,tsFile:o}of ir){if(!n&&!r)console.log(`
3
- `);let i=t.labels[0],s=i?vr(e,i.start):"",g=`${S(o)}${s}: ${Pr(t.message)}`;d[r?"warn":"error"](g),n=!0}if(n&&!r)throw console.log(`
4
- `),console.log(D.default.gray(`See ${D.default.blue("https://bunup.dev/docs/troubleshooting/explicit-type-annotation-errors")} for details.`)),console.log(`
5
- `),new T}function vr(r,n){if(n===void 0)return"";let t=r.slice(0,n).split(`
6
- `),e=t.length,o=t[t.length-1].length+1;return` (${e}:${o})`}function Pr(r){return r.replace(" with --isolatedDeclarations","").replace(" with --isolatedDeclaration","")}var y="\x00dts:",ur=(r,n,t)=>{let e=new Map;return{name:"bunup:virtual-dts",async resolveId(o,i){if(j(o))return e.set(o,r),o;if(!i||!j(i))return null;let s=n.tsconfig?rn({path:o,importer:F(i),tsconfig:n.tsconfig,rootDir:t}):null;if(!s||!A(s))return null;let u=h(s);if(!u)return null;let g=W(u);return e.set(g,s),g},load:{filter:{id:{include:[ar],exclude:[cr]}},async handler(o){if(j(o)){let i=e.get(o);if(!i)return null;let s=await sr(i);if(!s)return null;return{code:s,moduleSideEffects:!1}}return null}},buildEnd(){e.clear()}}};var ar=/\.(d\.ts|d\.mts|d\.cts|ts|mts|cts|tsx)$/,cr=/[\\/]node_modules[\\/]/,K=/\.(js|mjs|cjs|ts|mts|cts|tsx|jsx)$/;function H(r){return r.endsWith(".d.ts")||r.endsWith(".d.mts")||r.endsWith(".d.cts")}function mr(r){return K.test(r)&&!H(r)}function A(r){return[".ts",".mts",".cts",".tsx"].some((n)=>r.endsWith(n))&&!H(r)}function h(r){if(H(r))return r;if(r.endsWith(".mts"))return`${r.slice(0,-4)}.d.mts`;if(r.endsWith(".cts"))return`${r.slice(0,-4)}.d.cts`;if(K.test(r))return r.replace(K,".d.ts");return`${r}.d.ts`}function j(r){return r.startsWith(y)}function F(r){return r.replace(y,"")}function W(r){return`${y}${r}`}function lr(r,n,t,e){if(typeof e==="boolean"&&e)return!1;if(Array.isArray(e)){for(let o of e)if(typeof o==="string"&&r===o)return!1;else if(o instanceof RegExp&&o.test(r))return!1}return $(r,n,t)}var Q;function dr(r,n){return{name:"bunup:types-resolve",buildStart(){Q||=new nn({mainFields:["types","typings","module","main"],conditionNames:["types","typings","import","require"],extensions:[".d.ts",".d.mts",".d.cts",".ts",".mts",".cts"],...r.path&&{tsconfig:{configFile:r.path}},modules:["node_modules","node_modules/@types"]})},async resolveId(t,e){if(n===!1)return;if(t==="bun")return;let o=e?F(e):void 0;if(/\0/.test(t))return;if(Array.isArray(n)){if(!n.some((g)=>typeof g==="string"?g===t:g.test(t)))return}let i=o?br.dirname(o):process.cwd(),{path:s}=await Q.async(i,t);if(!s)return;if(mr(s)){let u=h(s);try{let{path:g}=await Q.async(br.dirname(s),u);if(g)return g}catch(g){}return}return s}}}async function fr(r,n,t,e,o){let i=h(r),s=W(i),u=typeof n.dts==="object"&&"resolve"in n.dts?n.dts.resolve:void 0,{output:g}=await en({input:s,write:!1,...e.path&&{resolve:{tsconfigFilename:e.path}},onwarn(b,l){if(["UNRESOLVED_IMPORT","CIRCULAR_DEPENDENCY","EMPTY_BUNDLE"].includes(b.code??""))return;l(b)},plugins:[ur(r,e,o),u&&dr(e,u),tn({dtsInput:!0,emitDtsOnly:!0})],external:(b)=>lr(b,n,t,u)});gr(!!n.watch);let a=g[0]?.code;if(!a)return d.warn(`Generated empty declaration file for entry "${r}"`,{muted:!0}),"";return a}async function pr(r,n,t,e,o){let i=xr.resolve(xr.resolve(r),n);return fr(i,t,o,e,r)}import{basename as on,dirname as sn,extname as gn}from"path";function Cr(r){let n=on(r),t=gn(n);return t?n.slice(0,-t.length):n}function X(r){if(typeof r==="string")return[{fullEntryPath:r,name:Cr(r)}];if(typeof r==="object"&&!Array.isArray(r))return Object.entries(r).map(([e,o])=>({fullEntryPath:o,name:e}));let n=[],t=new Set;for(let e of r){let o=Cr(e);if(!t.has(o)){n.push({fullEntryPath:e,name:o}),t.add(o);continue}let s=sn(e).split("/").filter((g)=>g!=="."&&g!=="");if(s.length===0){let g=1,a;do a=`${o}_${g++}`;while(t.has(a));n.push({fullEntryPath:e,name:a}),t.add(a);continue}let u=!1;for(let g=1;g<=s.length&&!u;g++){let b=`${s.slice(-g).join("/")}/${o}`;if(!t.has(b))n.push({fullEntryPath:e,name:b}),t.add(b),u=!0}if(!u){let g=1,a;do a=`${s.join("/")}/${o}_${g++}`;while(t.has(a));n.push({fullEntryPath:e,name:a}),t.add(a)}}return n}function hr(r){return r.filter((n)=>A(n.fullEntryPath))}function Br(r,n){return`[dir]/${r}${n}`}import{loadConfig as wr}from"coffi";async function Mr(r){let{config:n,filepath:t}=await wr({name:"package",cwd:r,extensions:[".json"]});return{packageJson:n,path:t}}async function Sr(r,n){let{config:t,filepath:e}=await wr({name:"tsconfig",cwd:r,extensions:[".json"],preferredPath:n});return{tsconfig:t,path:e}}var un={entry:[],format:["cjs"],outDir:"dist",target:"node",clean:!0};function Er(r){return{...un,...r}}function Lr(r){let{minify:n,minifyWhitespace:t,minifyIdentifiers:e,minifySyntax:o}=r,i=n===!0;return{whitespace:t??i,identifiers:e??i,syntax:o??i}}function kr(r,n){return n==="cjs"?r:void 0}function Or(r,n,t,e){return{...typeof t==="object"&&Object.keys(t).reduce((o,i)=>{let s=JSON.stringify(t[i]);return o[`process.env.${i}`]=s,o[`import.meta.env.${i}`]=s,o},{}),...r,...e==="cjs"&&(n===!0||typeof n==="object"&&n.importMetaUrl)&&{"import.meta.url":"importMetaUrl"}}}function Rr(r,n){return r===void 0?n==="esm":r}function Tr(r){return typeof r==="string"?r:void 0}function Ir(r,n){return{name:"bunup:external-plugin",setup(t){t.onResolve({filter:/.*/},(e)=>{let o=e.path;if($(o,r,n))return{path:o,external:!0};return null})}}}var an=/\.(js|ts|jsx|tsx|mts|cts)$/,Z={dirnameFilename:{appliesTo:(r,n)=>r==="esm"&&Y(n),isNeededInFile:(r)=>/\b__dirname\b/.test(r)||/\b__filename\b/.test(r),generateCode:()=>`import { fileURLToPath } from 'url';
2
+ var Ir=Object.create;var{getPrototypeOf:Tr,defineProperty:Y,getOwnPropertyNames:kr}=Object;var Fr=Object.prototype.hasOwnProperty;var F=(r,e,t)=>{t=r!=null?Ir(Tr(r)):{};let n=e||!r||!r.__esModule?Y(t,"default",{value:r,enumerable:!0}):t;for(let o of kr(r))if(!Fr.call(n,o))Y(n,o,{get:()=>r[o],enumerable:!0});return n};var jr=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports);var O=jr((se,j)=>{var S=process||{},G=S.argv||[],E=S.env||{},Ar=!(!!E.NO_COLOR||G.includes("--no-color"))&&(!!E.FORCE_COLOR||G.includes("--color")||S.platform==="win32"||(S.stdout||{}).isTTY&&E.TERM!=="dumb"||!!E.CI),_r=(r,e,t=r)=>(n)=>{let o=""+n,i=o.indexOf(e,r.length);return~i?r+vr(o,e,t,i)+e:r+o+e},vr=(r,e,t,n)=>{let o="",i=0;do o+=r.substring(i,n)+t,i=n+e.length,n=r.indexOf(e,i);while(~n);return o+r.substring(i)},H=(r=Ar)=>{let e=r?_r:()=>String;return{isColorSupported:r,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};j.exports=H();j.exports.createColors=H});function $r(r){return r}function Dr(r){return r}import{build as Nr}from"rolldown";import{dts as qr}from"rolldown-plugin-dts";import Qr from"path";var l=F(O(),1),K=!1;function X(r){K=r??!1}class x{static instance;loggedOnceMessages=new Set;MAX_LABEL_LENGTH=3;cliColor=l.default.blue;mutedColor=l.default.dim;infoColor=l.default.cyan;warnColor=l.default.yellow;errorColor=l.default.red;defaultColor=l.default.white;progressFgColorMap={ESM:l.default.yellow,CJS:l.default.green,IIFE:l.default.magenta,DTS:l.default.blue};progressBgColorMap={ESM:l.default.bgYellow,CJS:l.default.bgGreen,IIFE:l.default.bgMagenta,DTS:l.default.bgBlue};labels={cli:"CLI",info:"INFO",warn:"WARN",error:"ERROR"};constructor(){}static getInstance(){if(!x.instance)x.instance=new x;return x.instance}dispose(){this.loggedOnceMessages.clear()}shouldLog(r){if(!r?.once)return!0;if(this.loggedOnceMessages.has(r.once))return!1;return this.loggedOnceMessages.add(r.once),!0}formatMessage({fgColor:r,bgColor:e,label:t,message:n,identifier:o,muted:i}){let s=" ".repeat(Math.max(0,this.MAX_LABEL_LENGTH-t.length)),c=i?this.mutedColor(n):n,g=o?` ${e(l.default.black(` ${o} `))}`:"";return`${r(t)} ${s}${c}${g}`}output(r,e={},t=console.log){if(K||!this.shouldLog(e))return;if(e.verticalSpace)t("");if(t(r),e.verticalSpace)t("")}cli(r,e={}){let t=this.formatMessage({fgColor:this.cliColor,bgColor:l.default.bgBlue,label:this.labels.cli,message:r,identifier:e.identifier,muted:e.muted});this.output(t,e)}info(r,e={}){let t=this.formatMessage({fgColor:this.infoColor,bgColor:l.default.bgCyan,label:this.labels.info,message:r,identifier:e.identifier,muted:e.muted});this.output(t,e)}warn(r,e={}){let t=this.formatMessage({fgColor:this.warnColor,bgColor:l.default.bgYellow,label:this.labels.warn,message:r,identifier:e.identifier,muted:e.muted});this.output(t,e,console.warn)}error(r,e={}){let t=this.formatMessage({fgColor:this.errorColor,bgColor:l.default.bgRed,label:this.labels.error,message:r,identifier:e.identifier,muted:e.muted});this.output(t,e,console.error)}getProgressFgColor(r){for(let[e,t]of Object.entries(this.progressFgColorMap))if(r.includes(e))return t;return this.defaultColor}getProgressBgColor(r){for(let[e,t]of Object.entries(this.progressBgColorMap))if(r.includes(e))return t;return l.default.bgWhite}progress(r,e,t={}){let n=this.getProgressFgColor(r),o=this.getProgressBgColor(r),i=this.formatMessage({fgColor:n,bgColor:o,label:r,message:e,identifier:t.identifier,muted:t.muted});this.output(i,t)}}var b=x.getInstance();var A=F(O(),1);import{isolatedDeclaration as Yr}from"oxc-transform";var Ur=F(O(),1);class M extends Error{constructor(r){super(r);this.name="BunupError"}}class h extends M{constructor(r){super(r);this.name="BunupBuildError"}}class $ extends M{constructor(r){super(r);this.name="BunupDTSBuildError"}}class R extends M{constructor(r){super(r);this.name="BunupIsolatedDeclError"}}var y=(r)=>{if(r instanceof Error)return r.message;return String(r)};function N(r){return r instanceof R}import q from"fs/promises";import Wr from"path";function Q(r,e){switch(r){case"esm":return C(e)?".js":".mjs";case"cjs":return C(e)?".cjs":".js";case"iife":return".global.js"}}function V(r,e){switch(r){case"esm":return C(e)?".d.ts":".d.mts";case"cjs":return C(e)?".d.cts":".d.ts";case"iife":return".d.ts"}}function D(r){return r==="node"||r==="bun"}function C(r){return r==="module"}function Z(r){if(!r)return[];return Array.from(new Set([...Object.keys(r.dependencies||{}),...Object.keys(r.peerDependencies||{})]))}function B(r,e=3){return r.split("/").slice(-e).join("/")}async function z(r,e){let t=Wr.join(r,e);try{await q.rm(t,{recursive:!0,force:!0})}catch(n){throw new h(`Failed to clean output directory: ${n}`)}await q.mkdir(t,{recursive:!0})}var J=[];async function P(r){try{let e=await Bun.file(r).text(),{code:t,errors:n}=Yr(r,e);for(let o of n)J.push({error:o,sourceText:e,tsFile:r});return t}catch(e){return console.log(e),b.warn(`Failed to generate declaration for ${r}: ${y(e)}`),null}}function rr(r){let e=!1;for(let{error:t,sourceText:n,tsFile:o}of J){if(!e&&!r)console.log(`
3
+ `);let i=t.labels[0],s=i?Gr(n,i.start):"",g=`${B(o)}${s}: ${Hr(t.message)}`;b[r?"warn":"error"](g),e=!0}if(e&&!r)throw console.log(`
4
+ `),console.log(A.default.gray(`See ${A.default.blue("https://bunup.dev/docs/troubleshooting/explicit-type-annotation-errors")} for details.`)),console.log(`
5
+ `),new R}function Gr(r,e){if(e===void 0)return"";let t=r.slice(0,e).split(`
6
+ `),n=t.length,o=t[t.length-1].length+1;return` (${n}:${o})`}function Hr(r){return r.replace(" with --isolatedDeclarations","").replace(" with --isolatedDeclaration","")}function Kr(r){return Z(r).map((e)=>new RegExp(`^${e}($|\\/|\\\\)`))}function er(r,e){return typeof e==="string"?e===r:e.test(r)}function _(r,e,t){let o=Kr(t).some((s)=>s.test(r))||e.external?.some((s)=>er(r,s)),i=e.noExternal?.some((s)=>er(r,s));return o&&!i}var tr=/\.(d\.ts|d\.mts|d\.cts|ts|mts|cts|tsx)$/,or=/[\\/]node_modules[\\/]/,nr=/\.(js|mjs|cjs|ts|mts|cts|tsx|jsx)$/;function L(r){return r.endsWith(".d.ts")||r.endsWith(".d.mts")||r.endsWith(".d.cts")}function I(r){return[".ts",".mts",".cts",".tsx"].some((e)=>r.endsWith(e))&&!L(r)}function T(r){if(L(r))return r;if(r.endsWith(".mts"))return`${r.slice(0,-4)}.d.mts`;if(r.endsWith(".cts"))return`${r.slice(0,-4)}.d.cts`;if(nr.test(r))return r.replace(nr,".d.ts");return`${r}.d.ts`}import{resolveTsImportPath as Xr}from"ts-import-resolver";var ir=(r,e,t)=>{let n=new Map;return{name:"bunup:virtual-dts",async resolveId(o,i){if(i===void 0)return n.set(o,r),o;let s=Xr({path:o,importer:i,tsconfig:e.tsconfig,rootDir:t});if(!s||!I(s))return null;let c=T(s);if(!c)return null;return n.set(c,s),c},load:{filter:{id:{include:[tr],exclude:[or]}},async handler(o){if(L(o)){let i=n.get(o);if(!i)return null;let s=await P(i);if(!s)return null;return{code:s,moduleSideEffects:!1}}return null}},buildEnd(){n.clear()}}};async function sr(r,e,t,n){let o=Qr.resolve(n,r),i=T(o),s=typeof e.dts==="object"&&"resolve"in e.dts?e.dts.resolve:void 0,{output:c}=await Nr({input:i,write:!1,...t.path&&{resolve:{tsconfigFilename:t.path}},onwarn(a,f){if(["UNRESOLVED_IMPORT","CIRCULAR_DEPENDENCY","EMPTY_BUNDLE"].includes(a.code??""))return;f(a)},plugins:[ir(o,t,n),qr({dtsInput:!0,emitDtsOnly:!0,resolve:s})]});rr(!!e.watch);let g=c[0]?.code;if(!g)return b.warn(`Generated empty declaration file for entry "${o}"`,{muted:!0}),"";return g}import{basename as Vr,dirname as Zr,extname as zr}from"path";function gr(r){let e=Vr(r),t=zr(e);return t?e.slice(0,-t.length):e}function v(r){if(typeof r==="string")return[{fullPath:r,outputBasePath:gr(r)}];if(typeof r==="object"&&!Array.isArray(r))return Object.entries(r).map(([n,o])=>({fullPath:o,outputBasePath:n}));let e=[],t=new Set;for(let n of r){let o=gr(n);if(!t.has(o)){e.push({fullPath:n,outputBasePath:o}),t.add(o);continue}let s=Zr(n).split("/").filter((g)=>g!=="."&&g!=="");if(s.length===0){let g=1,a;do a=`${o}_${g++}`;while(t.has(a));e.push({fullPath:n,outputBasePath:a}),t.add(a);continue}let c=!1;for(let g=1;g<=s.length&&!c;g++){let f=`${s.slice(-g).join("/")}/${o}`;if(!t.has(f))e.push({fullPath:n,outputBasePath:f}),t.add(f),c=!0}if(!c){let g=1,a;do a=`${s.join("/")}/${o}_${g++}`;while(t.has(a));e.push({fullPath:n,outputBasePath:a}),t.add(a)}}return e}function ar(r){return r.filter((e)=>I(e.fullPath))}function lr(r,e){return`[dir]/${r}${e}`}function ur(r){return`${r}-[hash].[ext]`}function cr(r){return`${r}-[name]-[hash].[ext]`}import{loadConfig as dr}from"coffi";async function mr(r){let{config:e,filepath:t}=await dr({name:"package",cwd:r,extensions:[".json"]});return{packageJson:e,path:t}}async function br(r,e){let{config:t,filepath:n}=await dr({name:"tsconfig",cwd:r,extensions:[".json"],preferredPath:e});return{tsconfig:t,path:n}}var Jr={entry:[],format:["cjs"],outDir:"dist",target:"node",clean:!0};function fr(r){return{...Jr,...r}}function pr(r){let{minify:e,minifyWhitespace:t,minifyIdentifiers:n,minifySyntax:o}=r,i=e===!0;return{whitespace:t??i,identifiers:n??i,syntax:o??i}}function xr(r,e){return e==="cjs"?r:void 0}function hr(r){if(r===!0)return"inline";return typeof r==="string"?r:void 0}function Cr(r,e,t,n){return{...typeof t==="object"&&Object.keys(t).reduce((o,i)=>{let s=JSON.stringify(t[i]);return o[`process.env.${i}`]=s,o[`import.meta.env.${i}`]=s,o},{}),...r,...n==="cjs"&&(e===!0||typeof e==="object"&&e.importMetaUrl)&&{"import.meta.url":"importMetaUrl"}}}function Br(r,e){return r===void 0?e==="esm":r}function wr(r){return typeof r==="string"?r:void 0}function Er(r,e){return{name:"bunup:external-plugin",setup(t){t.onResolve({filter:/.*/},(n)=>{let o=n.path;if(_(o,r,e))return{path:o,external:!0};return null})}}}var Pr=/\.(js|ts|jsx|tsx|mts|cts)$/,U={dirnameFilename:{appliesTo:(r,e)=>r==="esm"&&D(e),isNeededInFile:(r)=>/\b__dirname\b/.test(r)||/\b__filename\b/.test(r),generateCode:()=>`import { fileURLToPath } from 'url';
7
7
  import { dirname } from 'path';
8
8
 
9
9
  const __filename = fileURLToPath(import.meta.url);
10
10
  const __dirname = dirname(__filename);
11
11
 
12
- `},importMetaUrl:{appliesTo:(r,n)=>r==="cjs"&&Y(n),isNeededInFile:(r)=>/\bimport\.meta\.url\b/.test(r),generateCode:()=>`import { pathToFileURL } from 'url';
12
+ `},importMetaUrl:{appliesTo:(r,e)=>r==="cjs"&&D(e),isNeededInFile:(r)=>/\bimport\.meta\.url\b/.test(r),generateCode:()=>`import { pathToFileURL } from 'url';
13
13
 
14
14
  const importMetaUrl = pathToFileURL(__filename).href;
15
15
 
16
- `}};function $r({format:r,target:n,shims:t}){let o=cn(t).map((i)=>Z[i]).filter((i)=>i.appliesTo(r,n));if(o.length===0)return{name:"bunup:inject-shims",setup(){}};return{name:"bunup:inject-shims",setup(i){i.onLoad({filter:an},async({path:s})=>{let u=await Bun.file(s).text(),g=o.filter((m)=>m.isNeededInFile(u));if(g.length===0)return;let{shebangLine:a,codeContent:b}=mn(u),l=g.map((m)=>m.generateCode()).join("");return{contents:a+l+b}})}}}function cn(r){if(r===!0)return Object.keys(Z);if(!r)return[];return Object.entries(r).filter(([n,t])=>t&&(n in Z)).map(([n])=>n)}function mn(r){if(!r.startsWith("#!"))return{shebangLine:"",codeContent:r};let n=r.indexOf(`
17
- `);return n===-1?{shebangLine:"",codeContent:r}:{shebangLine:r.slice(0,n+1),codeContent:r.slice(n+1)}}function jr(r){if(!r)return[];return r.filter((n)=>n.type==="bun")}function yr(r){if(!r)return[];return r.filter((n)=>n.type==="bunup")}async function Ar(r,n){if(!r)return;for(let t of r)if(t.hooks.onBuildStart)await t.hooks.onBuildStart(n)}async function Fr(r,n,t){if(!r)return;for(let e of r)if(e.hooks.onBuildDone)await e.hooks.onBuildDone({options:n,output:t})}async function ln(r,n=process.cwd()){let t={files:[]},e=Er(r);if(!e.entry||e.entry.length===0||!e.outDir)throw new p("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(e.clean)tr(n,e.outDir);J(e.silent);let{packageJson:o,path:i}=await Mr(n);if(o&&i)d.cli(`Using ${S(i,2)}`,{muted:!0,identifier:e.name,once:`${i}:${e.name}`});let s=yr(e.plugins);await Ar(s,e);let u=X(e.entry),g=o?.type;if(!e.dtsOnly){let a=[Ir(e,o),...jr(e.plugins).map((l)=>l.plugin)],b=e.format.flatMap((l)=>u.map(async(m)=>{let E=e.outputExtension?.({format:l,packageType:g,options:e,entry:m}).js??rr(l,g),B=await Bun.build({entrypoints:[`${n}/${m.fullEntryPath}`],format:l,naming:{entry:Br(m.name,E)},splitting:Rr(e.splitting,l),bytecode:kr(e.bytecode,l),define:Or(e.define,e.shims,e.env,l),minify:Lr(e),outdir:`${n}/${e.outDir}`,target:e.target,sourcemap:e.sourcemap,loader:e.loader,drop:e.drop,banner:e.banner,footer:e.footer,publicPath:e.publicPath,env:Tr(e.env),plugins:[...a,$r({format:l,target:e.target,shims:e.shims})],throw:!1});if(!B.success)for(let f of B.logs){if(f.level==="error")throw new p(f.message);if(f.level==="warning")d.warn(f.message);else if(f.level==="info")d.info(f.message)}let w=Wr(e.outDir,m.name,E),M=_r(n,w);t.files.push({fullPath:M,relativePathToOutputDir:w}),d.progress(l.toUpperCase(),w,{identifier:e.name})}));await Promise.all(b)}if(e.dts||e.dtsOnly){let a=await Sr(n,e.preferredTsconfigPath);if(a.path)d.cli(`Using ${S(a.path,2)}`,{muted:!0,identifier:e.name,once:`${a.path}:${e.name}`});let b=e.format.filter((m)=>{if(m==="iife"&&!C(g)&&e.format.includes("cjs"))return!1;return!0}),l=typeof e.dts==="object"&&e.dts.entry?X(e.dts.entry):hr(u);try{await Promise.all(l.map(async(m)=>{let E=await pr(n,m.fullEntryPath,e,a,o);await Promise.all(b.map(async(B)=>{let w=e.outputExtension?.({format:B,packageType:g,options:e,entry:m}).dts??nr(B,g),M=Wr(e.outDir,m.name,w),f=_r(n,M);t.files.push({fullPath:f,relativePathToOutputDir:M}),await Bun.write(f,E),d.progress("DTS",M,{identifier:e.name})}))}))}catch(m){if(v(m))throw m;throw new G(I(m))}}if(await Fr(s,e,t),e.onSuccess)await e.onSuccess(e)}function Wr(r,n,t){return`${r}/${n}${t}`}function _r(r,n){return`${r}/${n}`}export{Qr as defineWorkspace,Hr as defineConfig,ln as build};
16
+ `}};function Sr({format:r,target:e,shims:t}){let o=re(t).map((i)=>U[i]).filter((i)=>i.appliesTo(r,e));if(o.length===0)return{name:"bunup:inject-shims",setup(){}};return{name:"bunup:inject-shims",setup(i){i.onLoad({filter:Pr},async({path:s})=>{let c=await Bun.file(s).text(),g=o.filter((u)=>u.isNeededInFile(c));if(g.length===0)return;let{shebangLine:a,codeContent:f}=ee(c),d=g.map((u)=>u.generateCode()).join("");return{contents:a+d+f}})}}}function re(r){if(r===!0)return Object.keys(U);if(!r)return[];return Object.entries(r).filter(([e,t])=>t&&(e in U)).map(([e])=>e)}function ee(r){if(!r.startsWith("#!"))return{shebangLine:"",codeContent:r};let e=r.indexOf(`
17
+ `);return e===-1?{shebangLine:"",codeContent:r}:{shebangLine:r.slice(0,e+1),codeContent:r.slice(e+1)}}function Or(r){if(!r)return[];return r.filter((e)=>e.type==="bun")}function Mr(r){if(!r)return[];return r.filter((e)=>e.type==="bunup")}async function Rr(r,e){if(!r)return;for(let t of r)if(t.hooks.onBuildStart)await t.hooks.onBuildStart(e)}async function yr(r,e,t){if(!r)return;for(let n of r)if(n.hooks.onBuildDone)await n.hooks.onBuildDone({options:e,output:t})}async function ne(r,e=process.cwd()){let t={files:[]},n=fr(r);if(!n.entry||n.entry.length===0||!n.outDir)throw new h("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(n.clean)z(e,n.outDir);X(n.silent);let{packageJson:o,path:i}=await mr(e);if(o&&i)b.cli(`Using ${B(i,2)}`,{muted:!0,identifier:n.name,once:`${i}:${n.name}`});let s=Mr(n.plugins);await Rr(s,n);let c=v(n.entry),g=o?.type;if(!n.dtsOnly){let a=[Er(n,o),...Or(n.plugins).map((d)=>d.plugin)],f=n.format.flatMap((d)=>c.map(async(u)=>{let w=n.outputExtension?.({format:d,packageType:g,options:n,entry:u}).js??Q(d,g),p=await Bun.build({entrypoints:[`${e}/${u.fullPath}`],format:d,naming:{entry:lr(u.outputBasePath,w),chunk:ur(u.outputBasePath),asset:cr(u.outputBasePath)},splitting:Br(n.splitting,d),bytecode:xr(n.bytecode,d),define:Cr(n.define,n.shims,n.env,d),minify:pr(n),outdir:`${e}/${n.outDir}`,target:n.target,sourcemap:hr(n.sourcemap),loader:n.loader,drop:n.drop,banner:n.banner,footer:n.footer,publicPath:n.publicPath,env:wr(n.env),plugins:[...a,Sr({format:d,target:n.target,shims:n.shims})],throw:!1});if(!p.success)for(let m of p.logs){if(m.level==="error")throw new h(m.message);if(m.level==="warning")b.warn(m.message);else if(m.level==="info")b.info(m.message)}for(let m of p.outputs)t.files.push({fullPath:m.path,relativePathToRootDir:m.path.replace(`${e}/`,"")});let k=Lr(n.outDir,u.outputBasePath,w);b.progress(d.toUpperCase(),k,{identifier:n.name})}));await Promise.all(f)}if(n.dts||n.dtsOnly){let a=await br(e,n.preferredTsconfigPath);if(a.path)b.cli(`Using ${B(a.path,2)}`,{muted:!0,identifier:n.name,once:`${a.path}:${n.name}`});let f=n.format.filter((u)=>{if(u==="iife"&&!C(g)&&n.format.includes("cjs"))return!1;return!0}),d=typeof n.dts==="object"&&n.dts.entry?v(n.dts.entry):ar(c);try{await Promise.all(d.map(async(u)=>{let w=await sr(u.fullPath,n,a,e);await Promise.all(f.map(async(p)=>{let k=n.outputExtension?.({format:p,packageType:g,options:n,entry:u}).dts??V(p,g),m=Lr(n.outDir,u.outputBasePath,k),W=te(e,m);t.files.push({fullPath:W,relativePathToRootDir:m}),await Bun.write(W,w),b.progress("DTS",m,{identifier:n.name})}))}))}catch(u){if(N(u))throw u;throw new $(y(u))}}if(await yr(s,n,t),n.onSuccess)await n.onSuccess(n)}function Lr(r,e,t){return`${r}/${e}${t}`}function te(r,e){return`${r}/${e}`}export{Dr as defineWorkspace,$r as defineConfig,ne as build};