bunup 0.8.0 → 0.8.2
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/README.md +1 -1
- package/dist/cli.js +17 -15
- package/dist/index.cjs +5 -3
- package/dist/index.js +5 -3
- package/dist/plugins.cjs +6 -6
- package/dist/plugins.js +7 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
[](https://www.npmjs.com/package/bunup) [](https://npmjs.com/package/bunup) [](https://bun.sh) [](https://github.com/sponsors/arshad-yaseen)
|
|
14
14
|
|
|
15
|
-
Bunup is the **blazing-fast build tool** for TypeScript and JavaScript libraries, designed for flawless developer experience and speed, **powered by Bun
|
|
15
|
+
Bunup is the **blazing-fast build tool** for TypeScript and JavaScript libraries, designed for flawless developer experience and speed, **powered by Bun** — up to **~100× faster than Tsup**.
|
|
16
16
|
|
|
17
17
|
| Bundler | Format | Build Time | Build Time (with dts) |
|
|
18
18
|
| --------- | ------------ | -------------- | --------------------- |
|
package/dist/cli.js
CHANGED
|
@@ -1,21 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
#!/usr/bin/env bun
|
|
2
3
|
// @bun
|
|
3
|
-
var
|
|
4
|
-
`),
|
|
5
|
-
`);else console.error(
|
|
6
|
-
`)+
|
|
7
|
-
`),
|
|
8
|
-
`),
|
|
9
|
-
|
|
4
|
+
var ci=Object.create;var{getPrototypeOf:mi,defineProperty:H,getOwnPropertyNames:gi}=Object;var xi=Object.prototype.hasOwnProperty;var Y=(i,r,s)=>{s=i!=null?ci(mi(i)):{};let n=r||!i||!i.__esModule?H(s,"default",{value:i,enumerable:!0}):s;for(let t of gi(i))if(!xi.call(n,t))H(n,t,{get:()=>i[t],enumerable:!0});return n};var ui=(i,r)=>()=>(r||i((r={exports:{}}).exports,r),r.exports);var xr=(i,r)=>{for(var s in r)H(i,s,{get:r[s],enumerable:!0,configurable:!0,set:(n)=>r[s]=()=>n})};var S=(i,r)=>()=>(i&&(r=i(i=0)),r);var fi=import.meta.require;var O=ui((ki,v)=>{var K=process||{},ur=K.argv||[],z=K.env||{},wi=!(!!z.NO_COLOR||ur.includes("--no-color"))&&(!!z.FORCE_COLOR||ur.includes("--color")||K.platform==="win32"||(K.stdout||{}).isTTY&&z.TERM!=="dumb"||!!z.CI),hi=(i,r,s=i)=>(n)=>{let t=""+n,d=t.indexOf(r,i.length);return~d?i+Bi(t,r,s,d)+r:i+t+r},Bi=(i,r,s,n)=>{let t="",d=0;do t+=i.substring(d,n)+s,d=n+r.length,n=i.indexOf(r,d);while(~n);return t+i.substring(d)},fr=(i=wi)=>{let r=i?hi:()=>String;return{isColorSupported:i,reset:r("\x1B[0m","\x1B[0m"),bold:r("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:r("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:r("\x1B[3m","\x1B[23m"),underline:r("\x1B[4m","\x1B[24m"),inverse:r("\x1B[7m","\x1B[27m"),hidden:r("\x1B[8m","\x1B[28m"),strikethrough:r("\x1B[9m","\x1B[29m"),black:r("\x1B[30m","\x1B[39m"),red:r("\x1B[31m","\x1B[39m"),green:r("\x1B[32m","\x1B[39m"),yellow:r("\x1B[33m","\x1B[39m"),blue:r("\x1B[34m","\x1B[39m"),magenta:r("\x1B[35m","\x1B[39m"),cyan:r("\x1B[36m","\x1B[39m"),white:r("\x1B[37m","\x1B[39m"),gray:r("\x1B[90m","\x1B[39m"),bgBlack:r("\x1B[40m","\x1B[49m"),bgRed:r("\x1B[41m","\x1B[49m"),bgGreen:r("\x1B[42m","\x1B[49m"),bgYellow:r("\x1B[43m","\x1B[49m"),bgBlue:r("\x1B[44m","\x1B[49m"),bgMagenta:r("\x1B[45m","\x1B[49m"),bgCyan:r("\x1B[46m","\x1B[49m"),bgWhite:r("\x1B[47m","\x1B[49m"),blackBright:r("\x1B[90m","\x1B[39m"),redBright:r("\x1B[91m","\x1B[39m"),greenBright:r("\x1B[92m","\x1B[39m"),yellowBright:r("\x1B[93m","\x1B[39m"),blueBright:r("\x1B[94m","\x1B[39m"),magentaBright:r("\x1B[95m","\x1B[39m"),cyanBright:r("\x1B[96m","\x1B[39m"),whiteBright:r("\x1B[97m","\x1B[39m"),bgBlackBright:r("\x1B[100m","\x1B[49m"),bgRedBright:r("\x1B[101m","\x1B[49m"),bgGreenBright:r("\x1B[102m","\x1B[49m"),bgYellowBright:r("\x1B[103m","\x1B[49m"),bgBlueBright:r("\x1B[104m","\x1B[49m"),bgMagentaBright:r("\x1B[105m","\x1B[49m"),bgCyanBright:r("\x1B[106m","\x1B[49m"),bgWhiteBright:r("\x1B[107m","\x1B[49m")}};v.exports=fr();v.exports.createColors=fr});function G(i){or=i??!1}class q{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};progressIdentifierBgColorMap={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(!q.instance)q.instance=new q;return q.instance}dispose(){this.loggedOnceMessages.clear()}shouldLog(i){if(!i?.once)return!0;if(this.loggedOnceMessages.has(i.once))return!1;return this.loggedOnceMessages.add(i.once),!0}formatMessage({fgColor:i,bgColor:r,label:s,message:n,identifier:t,muted:d}){let e=" ".repeat(Math.max(0,this.MAX_LABEL_LENGTH-s.length)),g=d?this.mutedColor(n):n,B=t?` ${r(c.default.black(` ${t} `))}`:"";return`${i(s)} ${e}${g}${B}`}output(i,r={},s=console.log){if(or||!this.shouldLog(r))return;if(r.verticalSpace)s("");if(s(i),r.verticalSpace)s("")}cli(i,r={}){let s=this.formatMessage({fgColor:this.cliColor,bgColor:c.default.bgBlue,label:this.labels.cli,message:i,identifier:r.identifier,muted:r.muted});this.output(s,r)}info(i,r={}){let s=this.formatMessage({fgColor:this.infoColor,bgColor:c.default.bgCyan,label:this.labels.info,message:i,identifier:r.identifier,muted:r.muted});this.output(s,r)}warn(i,r={}){let s=this.formatMessage({fgColor:this.warnColor,bgColor:c.default.bgYellow,label:this.labels.warn,message:i,identifier:r.identifier,muted:r.muted});this.output(s,r,console.warn)}error(i,r={}){let s=this.formatMessage({fgColor:this.errorColor,bgColor:c.default.bgRed,label:this.labels.error,message:i,identifier:r.identifier,muted:r.muted});this.output(s,r,console.error)}getProgressFgColor(i){for(let[r,s]of Object.entries(this.progressFgColorMap))if(i.includes(r))return s;return this.defaultColor}getProgressBgColor(i){for(let[r,s]of Object.entries(this.progressIdentifierBgColorMap))if(i.includes(r))return s;return c.default.bgWhite}progress(i,r,s={}){let n=this.getProgressFgColor(i),t=this.getProgressBgColor(i),d=this.formatMessage({fgColor:n,bgColor:t,label:i,message:r,identifier:s.identifier,muted:s.muted});this.output(d,s)}}var c,or=!1,m;var I=S(()=>{c=Y(O(),1);m=q.getInstance()});var o,L,X,wr,M,V,P=(i)=>{if(i instanceof Error)return i.message;return String(i)},Ci,a=(i,r)=>{let s=P(i),n=r?`[${r}] `:"",t="";if(i instanceof X)t="BUILD ERROR";else if(i instanceof wr)t="DTS ERROR";else if(i instanceof M)t="CLI ERROR";else if(i instanceof V)t="WATCH ERROR";else if(i instanceof L)t="BUNUP ERROR";let d=Ci.find((e)=>e.pattern.test(s)&&(e.errorType===t||!e.errorType));if(!d&&t)console.error(`${o.default.red(t)} ${n}${s}`);if(d)console.log(`
|
|
5
|
+
`),d.logSolution(s),console.log(`
|
|
6
|
+
`);else console.error(o.default.dim(o.default.white("If you think this is a bug, please open an issue at: ")+o.default.cyan("https://github.com/arshad-yaseen/bunup/issues/new")))},hr=(i,r)=>{a(i,r),process.exit(1)};var F=S(()=>{o=Y(O(),1);I();L=class L extends Error{constructor(i){super(i);this.name="BunupError"}};X=class X extends L{constructor(i){super(i);this.name="BunupBuildError"}};wr=class wr extends L{constructor(i){super(i);this.name="BunupDTSBuildError"}};M=class M extends L{constructor(i){super(i);this.name="BunupCLIError"}};V=class V extends L{constructor(i){super(i);this.name="BunupWatchError"}};Ci=[{pattern:/Could not resolve: "bun"/i,errorType:"BUILD ERROR",logSolution:()=>{m.error(o.default.white("You're trying to build a project that uses Bun. ")+o.default.white("Please set the target option to ")+o.default.cyan("`bun`")+o.default.white(`.
|
|
7
|
+
`)+o.default.white("Example: ")+o.default.green("`bunup --target bun`")+o.default.white(" or in config: ")+o.default.green("{ target: 'bun' }"))}}]});import li from"fs";import Cr from"fs/promises";import y,{normalize as sn}from"path";function lr(i){return Array.isArray(i)?i:[i]}function Sr(i,r){switch(i){case"esm":return E(r)?".js":".mjs";case"cjs":return E(r)?".cjs":".js";case"iife":return".global.js"}}function Mr(i,r){switch(i){case"esm":return E(r)?".d.ts":".d.mts";case"cjs":return E(r)?".d.cts":".d.ts";case"iife":return".global.d.ts"}}function $r(i){let r=y.basename(i),s=y.extname(r);return s?r.slice(0,-s.length):r}function Rr(i){return i.replace(y.extname(i),"")}function Wr(i){return i.replace(/\\/g,"/")}function E(i){return i==="module"}function p(i){return i>=1000?`${(i/1000).toFixed(2)}s`:`${Math.round(i)}ms`}function Yr(i){if(!i)return[];return Array.from(new Set([...Object.keys(i.dependencies||{}),...Object.keys(i.peerDependencies||{})]))}function A(i,r=3){return i.split("/").slice(-r).join("/")}async function Or(i,r){let s=y.join(i,r);try{await Cr.rm(s,{recursive:!0,force:!0})}catch(n){throw new X(`Failed to clean output directory: ${n}`)}await Cr.mkdir(s,{recursive:!0})}function jr(i){try{return li.accessSync(i),!0}catch(r){return!1}}var W=S(()=>{F()});import Ri from"path";import{loadConfig as Wi}from"coffi";async function Lr(i,r,s){return Array.isArray(i)&&"root"in i[0]?i.filter((n)=>s?s.includes(n.name):!0).map((n)=>({rootDir:Ri.resolve(r,n.root),options:Yi(n.config,"name",n.name)})):[{rootDir:r,options:i}]}function Yi(i,r,s){return Array.isArray(i)?i.map((n)=>({...n,[r]:s})):{...i,[r]:s}}async function Xr(i){let{config:r,filepath:s}=await Wi({name:"package",cwd:i,extensions:[".json"]});return{data:r,path:s}}var ir=()=>{};function U(i){if(typeof i==="string")return[{entry:i,outputBasePath:Fr(i)}];if(typeof i==="object"&&!Array.isArray(i))return Object.entries(i).map(([r,s])=>({entry:s,outputBasePath:r}));return i.map((r)=>({entry:r,outputBasePath:Fr(r)}))}function Fr(i){let r=Wr(Rr(i)).split("/");return r.length>1?r.slice(1).join("/"):r.join("/")}function Ur(i,r){return{entry:`[dir]/${i}${r}`,chunk:`${i}-[hash].[ext]`,asset:`${i}-[name]-[hash].[ext]`}}var nr=S(()=>{W()});function Qr(){return{type:"bunup",name:"use-client",hooks:{onBuildDone:async({output:i})=>{for(let r of i.files){let s=await Bun.file(r.fullPath).text();if(s.includes(''))s=s.replaceAll('',""),s=`
|
|
8
|
+
${s}`;await Bun.write(r.fullPath,s)}}}}}function _(i){let r={...Oi,...i};return{...r,plugins:[...r.plugins??[],Qr()]}}function Zr(i){let{minify:r,minifyWhitespace:s,minifyIdentifiers:n,minifySyntax:t}=i,d=r===!0;return{whitespace:s??d,identifiers:n??d,syntax:t??d}}function zr(i,r){return r==="cjs"?i:void 0}function Kr(i){if(i===!0)return"inline";return typeof i==="string"?i:void 0}function Gr(i,r){return{...typeof r==="object"&&Object.keys(r).reduce((s,n)=>{let t=JSON.stringify(r[n]);return s[`process.env.${n}`]=t,s[`import.meta.env.${n}`]=t,s},{}),...i}}function Vr(i,r){return i===void 0?r==="esm":i}function yr(i){return typeof i==="string"?i:void 0}var Oi;var tr=S(()=>{Oi={entry:[],format:["cjs"],outDir:"dist",target:"node",clean:!0}});function ji(i){return Yr(i).map((r)=>new RegExp(`^${r}($|\\/|\\\\)`))}function Er(i,r){return typeof r==="string"?r===i:r.test(i)}function pr(i,r,s){let t=ji(s).some((e)=>e.test(i))||r.external?.some((e)=>Er(i,e)),d=r.noExternal?.some((e)=>Er(i,e));return t&&!d}var Ar=S(()=>{W()});function Tr(i,r){return{name:"bunup:external-option-plugin",setup(s){s.onResolve({filter:/.*/},(n)=>{let t=n.path;if(pr(t,i,r))return{path:t,external:!0};return null})}}}var Jr=S(()=>{Ar()});function _r(i){if(!i)return[];return i.filter((r)=>r.type==="bun")}function Dr(i){if(!i)return[];return i.filter((r)=>r.type==="bunup")}async function kr(i,r){if(!i)return;for(let s of i)if(s.hooks.onBuildStart)await s.hooks.onBuildStart(r)}async function Nr(i,r,s,n){if(!i)return;for(let t of i)if(t.hooks.onBuildDone)await t.hooks.onBuildDone({options:r,output:s,meta:n})}var vr={};xr(vr,{build:()=>dr});import qi from"path";import{generateDts as Ii,logIsolatedDeclarationErrors as Li}from"bun-dts";async function dr(i,r=process.cwd()){let s={files:[]},n=_(i);if(!n.entry||n.entry.length===0||!n.outDir)throw new X("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(n.clean)Or(r,n.outDir);G(n.silent);let t=await Xr(r);if(t.data&&t.path)m.cli(`Using ${A(t.path,2)}`,{muted:!0,identifier:n.name,once:`${t.path}:${n.name}`});let d=Dr(n.plugins);await kr(d,n);let e=U(n.entry),g=t.data?.type,B=[Tr(n,t.data),..._r(n.plugins).map((w)=>w.plugin)];if(!n.dtsOnly){let w=n.format.flatMap((b)=>e.map(async({entry:l,outputBasePath:x})=>{let u=n.outputExtension?.({format:b,packageType:g,options:n,entry:l}).js??Sr(b,g),C=await Bun.build({entrypoints:[`${r}/${l}`],format:b,naming:Ur(x,u),splitting:Vr(n.splitting,b),bytecode:zr(n.bytecode,b),define:Gr(n.define,n.env),minify:Zr(n),outdir:`${r}/${n.outDir}`,target:n.target,sourcemap:Kr(n.sourcemap),loader:n.loader,drop:n.drop,banner:n.banner,footer:n.footer,publicPath:n.publicPath,env:yr(n.env),plugins:B,throw:!1});for(let f of C.logs){if(f.level==="error")throw console.log(`
|
|
9
|
+
`),console.log(f),console.log(`
|
|
10
|
+
`),new Error;if(f.level==="warning")m.warn(f.message);else if(f.level==="info")m.info(f.message)}for(let f of C.outputs){let j=Hr(f.path,r);if(f.kind==="entry-point")m.progress(b.toUpperCase(),j,{identifier:n.name});s.files.push({fullPath:f.path,relativePathToRootDir:j,dts:!1,entry:l,outputBasePath:x,format:b})}}));await Promise.all(w)}if(n.dts===!0||typeof n.dts==="object"||n.dtsOnly){let w=typeof n.dts==="object"&&"resolve"in n.dts?n.dts.resolve:void 0,b=typeof n.dts==="object"&&"entry"in n.dts?n.dts.entry:void 0,x=(b?U(b):e).map(async({entry:u,outputBasePath:C})=>{let f=await Ii(u,{cwd:r,preferredTsConfigPath:n.preferredTsconfigPath,resolve:w});for(let j of n.format){let bi=n.outputExtension?.({format:j,packageType:g,options:n,entry:u}).dts??Mr(j,g),N=qi.join(r,n.outDir,`${C}${bi}`),gr=Hr(N,r);if(s.files.push({fullPath:N,relativePathToRootDir:gr,dts:!0,entry:u,outputBasePath:C,format:j}),f.errors.length>0)Li(f.errors,{warnInsteadOfError:n.watch,shouldExit:!0});await Bun.write(N,f.dts),m.progress("DTS",gr,{identifier:n.name})}});await Promise.all(x)}if(await Nr(d,n,s,{packageJson:t}),n.onSuccess)await n.onSuccess(n)}function Hr(i,r){return i.replace(`${r}/`,"")}var er=S(()=>{F();nr();ir();I();tr();Jr();W()});var ti={};xr(ti,{newProject:()=>Ei});import{renameSync as Xi}from"fs";import Q from"path";import{cancel as Fi,confirm as Ui,intro as Qi,outro as Zi,select as zi,tasks as Ki,text as br}from"@clack/prompts";import{downloadTemplate as Gi}from"giget";import{replaceInFile as ri}from"replace-in-file";async function Ei(){Qi(R.default.bgCyan(R.default.black(" Scaffold a new project with Bunup ")));let i=await zi({message:"Select a template",options:ni.map((b)=>({value:b.dir,label:R.default.blue(b.name)}))}),r=ni.find((b)=>b.dir===i);if(!r)Fi("Invalid template"),process.exit(1);let s=r.monorepoDir!==void 0,n=await br({message:"Enter the project name",placeholder:r.defaultName,defaultValue:r.defaultName,validate:(b)=>{if(!b)return"Project name is required";if(b.includes(" "))return"Project name cannot contain spaces";if(jr(si(b)))return"Project already exists"}}),t=si(n),d=!1,e;if(s){if(d=await Ui({message:"Do you want to create a monorepo?",initialValue:!1}),d)e=await br({message:"Enter the name of the first package",placeholder:k,defaultValue:k})}let g=await br({message:"GitHub username and repo name (username/repo):",placeholder:`${cr}/${mr}`,defaultValue:`${cr}/${mr}`}),[B,w]=g.split("/");await Ki([{title:"Downloading template",task:async()=>{let b=d?r.monorepoDir:r.dir;return await Gi(`github:${Vi}/${yi}/${b}`,{dir:t}),"Template downloaded"}},{title:"Making the project yours",task:async()=>{if(await ri({files:Q.join(t,"**/*"),from:[new RegExp(mr,"g"),new RegExp(cr,"g"),new RegExp(r.defaultName,"g")],to:[w,B,n],ignore:["node_modules","dist","bun.lock"]}),d&&e)await ri({files:Q.join(t,"**/*"),from:[new RegExp(k,"g")],to:[e],ignore:["node_modules","dist","bun.lock"]}),Xi(Q.join(t,ii,k),Q.join(t,ii,e))}}]),Zi(`
|
|
11
|
+
${R.default.green("\u2728 Project scaffolded successfully! \u2728")}
|
|
10
12
|
|
|
11
|
-
${
|
|
13
|
+
${R.default.bold("Ready to launch your awesome new project?")}
|
|
12
14
|
|
|
13
|
-
${
|
|
14
|
-
${
|
|
15
|
-
${
|
|
15
|
+
${R.default.cyan("cd")} ${n}
|
|
16
|
+
${R.default.cyan("bun install")}
|
|
17
|
+
${R.default.cyan("bun run dev")}
|
|
16
18
|
|
|
17
|
-
${
|
|
18
|
-
`)}function
|
|
19
|
+
${R.default.yellow("Happy coding!")} \uD83D\uDE80
|
|
20
|
+
`)}function si(i){return Q.join(process.cwd(),i)}var R,Vi="arshad-yaseen",yi="bunup-new",cr="username",mr="repo-name",k="package-1",ii="packages",ni;var di=S(()=>{R=Y(O(),1);W();ni=[{defaultName:"my-ts-lib",name:"Typescript Library",dir:"ts-lib",monorepoDir:"ts-lib-monorepo"}]});import{exec as pi}from"tinyexec";var Z="0.8.2";F();I();var rr=Y(O(),1);var Br="https://bunup.dev/docs/guide/cli-options";F();I();W();function h(i){return(r,s)=>{s[i]=r===!0||r==="true"}}function $(i){return(r,s)=>{if(typeof r==="string")s[i]=r;else throw new M(`Option --${i} requires a string value`)}}function T(i){return(r,s)=>{if(typeof r==="string")s[i]=r.split(",");else throw new M(`Option --${i} requires a string value`)}}function Si(i){return(r,s)=>{if(typeof r==="boolean")s[i]=r;else if(typeof r==="string")if(r.toLowerCase()==="true"||r.toLowerCase()==="false")s[i]=r.toLowerCase()==="true";else s[i]=r;else throw new M(`Option --${i} requires a boolean or string value`)}}function Mi(){console.log(`
|
|
19
21
|
Bunup - \u26A1\uFE0F A blazing-fast build tool for your libraries built with Bun.
|
|
20
|
-
`),console.log("For more information on available options, visit:"),console.log(`${
|
|
21
|
-
`),process.exit(0)}function
|
|
22
|
+
`),console.log("For more information on available options, visit:"),console.log(`${rr.default.cyan(rr.default.underline(Br))}
|
|
23
|
+
`),process.exit(0)}function $i(){console.log(Z),process.exit(0)}var qr={name:{flags:["n","name"],handler:$("name")},format:{flags:["f","format"],handler:T("format")},outDir:{flags:["o","out-dir"],handler:$("outDir")},minify:{flags:["m","minify"],handler:h("minify")},watch:{flags:["w","watch"],handler:h("watch")},dts:{flags:["d","dts"],handler:h("dts")},banner:{flags:["bn","banner"],handler:$("banner")},footer:{flags:["ft","footer"],handler:$("footer")},external:{flags:["e","external"],handler:T("external")},sourcemap:{flags:["sm","sourcemap"],handler:Si("sourcemap")},target:{flags:["t","target"],handler:$("target")},minifyWhitespace:{flags:["mw","minify-whitespace"],handler:h("minifyWhitespace")},minifyIdentifiers:{flags:["mi","minify-identifiers"],handler:h("minifyIdentifiers")},minifySyntax:{flags:["ms","minify-syntax"],handler:h("minifySyntax")},clean:{flags:["c","clean"],handler:h("clean")},splitting:{flags:["s","splitting"],handler:h("splitting")},noExternal:{flags:["ne","no-external"],handler:T("noExternal")},preferredTsconfigPath:{flags:["tsconfig","preferred-tsconfig-path"],handler:$("preferredTsconfigPath")},bytecode:{flags:["bc","bytecode"],handler:h("bytecode")},silent:{flags:["silent"],handler:h("silent")},config:{flags:["config"],handler:$("config")},publicPath:{flags:["pp","public-path"],handler:$("publicPath")},env:{flags:["env"],handler:$("env")},onSuccess:{flags:["onSuccess"],handler:$("onSuccess")},filter:{flags:["filter"],handler:T("filter")},new:{flags:["new"],handler:h("new")},dtsOnly:{flags:["dts-only"],handler:h("dtsOnly")},entry:{flags:["entry"],handler:(i,r,s)=>{if(typeof i!=="string")throw new M(`Entry${s?` --entry.${s}`:""} requires a string value`);let n=r.entry||{};if(s){if(n[s])m.warn(`Duplicate entry name '${s}' provided via --entry.${s}. Overwriting previous entry.`);n[s]=i}else{let t=$r(i);if(n[t])m.warn(`Duplicate entry name '${t}' derived from '${i}'. Overwriting previous entry.`);n[t]=i}r.entry=n}},resolveDts:{flags:["rd","resolve-dts"],handler:(i,r)=>{if(!r.dts)r.dts={};if(typeof r.dts==="boolean")r.dts={};if(typeof i==="string")if(i==="true"||i==="false")r.dts.resolve=i==="true";else r.dts.resolve=i.split(",");else r.dts.resolve=!0}},help:{flags:["h","help"],handler:()=>Mi()},version:{flags:["v","version"],handler:()=>$i()}},J={};for(let i of Object.values(qr))for(let r of i.flags)J[r]=i.handler;function Ir(i){let r={};for(let s=0;s<i.length;s++){let n=i[s];if(n.startsWith("--")){let t,d;if(n.includes("=")){let[e,g]=n.slice(2).split("=",2);t=e,d=g}else{t=n.slice(2);let e=i[s+1];if(d=e&&!e.startsWith("-")?e:!0,typeof d==="string")s++}if(t.includes(".")){let[e,g]=t.split(".",2),B=J[e];if(B)B(d,r,g);else throw new M(`Unknown option: --${t}`)}else{let e=J[t];if(e)e(d,r);else throw new M(`Unknown option: --${t}`)}}else if(n.startsWith("-")){let t=n.slice(1),d=i[s+1],e=d&&!d.startsWith("-")?d:!0;if(typeof e==="string")s++;let g=J[t];if(g)g(e,r);else throw new M(`Unknown option: -${t}`)}else qr.entry.handler(n,r,void 0)}return r}var ei=Y(O(),1);ir();W();import{loadConfig as Ai}from"coffi";var Pr=Y(O(),1);er();F();nr();I();tr();W();import D from"path";async function ar(i,r){let s=new Set,n=_(i),t=typeof n.dts==="object"&&"entry"in n.dts?n.dts.entry:void 0,d=t?U(t):[],e=U(n.entry),g=new Set([...d.map(({entry:x})=>x),...e.map(({entry:x})=>x)]);for(let x of g){let u=D.resolve(r,x),C=D.dirname(u);s.add(C)}let w=(await import("chokidar")).watch(Array.from(s),{persistent:!0,ignoreInitial:!0,atomic:!0,ignorePermissionErrors:!0,ignored:[/[\\/]\.git[\\/]/,/[\\/]node_modules[\\/]/,D.join(r,n.outDir)]}),b=!1,l=async(x=!1)=>{if(b)return;b=!0;try{let u=performance.now();if(await dr(n,r),!x)m.cli(`\uD83D\uDCE6 Rebuild finished in ${Pr.default.green(p(performance.now()-u))}`)}catch(u){a(u)}finally{b=!1}};w.on("change",(x)=>{let u=D.relative(r,x);m.cli(`File changed: ${u}`,{muted:!0,once:u}),l()}),w.on("error",(x)=>{throw new V(`Watcher error: ${P(x)}`)}),await l(!0)}async function Ti(i=Bun.argv.slice(2)){let r=Ir(i);if(r.new){let{newProject:b}=await Promise.resolve().then(() => (di(),ti));await b();return}G(r.silent);let s=process.cwd(),{config:n,filepath:t}=await Ai({name:"bunup.config",extensions:[".ts",".js",".mjs",".cjs"],maxDepth:1,preferredPath:r.config,packageJsonProperty:"bunup"}),d=!n?[{rootDir:s,options:r}]:await Lr(n,s,r.filter);if(m.cli(`Using bunup v${Z} and bun v${Bun.version}`,{muted:!0}),t)m.cli(`Using ${A(t,2)}`,{muted:!0});let e=performance.now();m.cli("Build started");let{build:g}=await Promise.resolve().then(() => (er(),vr));await Promise.all(d.flatMap(({options:b,rootDir:l})=>{return lr(b).map(async(u)=>{let C={...u,...Ji(r)};if(C.watch)await ar(C,l);else await g(C,l)})}));let B=performance.now()-e,w=p(B);if(m.cli(`\u26A1\uFE0F Build completed in ${ei.default.green(w)}`),r.watch)m.cli("\uD83D\uDC40 Watching for file changes");if(r.onSuccess)m.cli(`Running command: ${r.onSuccess}`,{muted:!0}),await pi(r.onSuccess,[],{nodeOptions:{shell:!0,stdio:"inherit"}});if(!r.watch)process.exit(process.exitCode??0)}function Ji(i){return{...i,onSuccess:void 0,config:void 0,filter:void 0,new:void 0}}Ti().catch((i)=>hr(i));
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
// @bun @bun-cjs
|
|
2
|
-
(function(exports, require, module, __filename, __dirname) {var
|
|
3
|
-
`),
|
|
4
|
-
`),
|
|
3
|
+
(function(exports, require, module, __filename, __dirname) {var Rr=Object.create;var{getPrototypeOf:Er,defineProperty:B,getOwnPropertyNames:K,getOwnPropertyDescriptor:hr}=Object,U=Object.prototype.hasOwnProperty;var w=(n,r,g)=>{g=n!=null?Rr(Er(n)):{};let e=r||!n||!n.__esModule?B(g,"default",{value:n,enumerable:!0}):g;for(let b of K(n))if(!U.call(e,b))B(e,b,{get:()=>n[b],enumerable:!0});return e},H=new WeakMap,Ir=(n)=>{var r=H.get(n),g;if(r)return r;if(r=B({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function")K(n).map((e)=>!U.call(r,e)&&B(r,e,{get:()=>n[e],enumerable:!(g=hr(n,e))||g.enumerable}));return H.set(n,r),r},Lr=(n,r)=>()=>(r||n((r={exports:{}}).exports,r),r.exports);var Or=(n,r)=>{for(var g in r)B(n,g,{get:r[g],enumerable:!0,configurable:!0,set:(e)=>r[g]=()=>e})};var Y=Lr((Kr,F)=>{var I=process||{},j=I.argv||[],h=I.env||{},Sr=!(!!h.NO_COLOR||j.includes("--no-color"))&&(!!h.FORCE_COLOR||j.includes("--color")||I.platform==="win32"||(I.stdout||{}).isTTY&&h.TERM!=="dumb"||!!h.CI),$r=(n,r,g=n)=>(e)=>{let b=""+e,x=b.indexOf(r,n.length);return~x?n+Wr(b,r,g,x)+r:n+b+r},Wr=(n,r,g,e)=>{let b="",x=0;do b+=n.substring(x,e)+g,x=e+r.length,e=n.indexOf(r,x);while(~e);return b+n.substring(x)},q=(n=Sr)=>{let r=n?$r:()=>String;return{isColorSupported:n,reset:r("\x1B[0m","\x1B[0m"),bold:r("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:r("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:r("\x1B[3m","\x1B[23m"),underline:r("\x1B[4m","\x1B[24m"),inverse:r("\x1B[7m","\x1B[27m"),hidden:r("\x1B[8m","\x1B[28m"),strikethrough:r("\x1B[9m","\x1B[29m"),black:r("\x1B[30m","\x1B[39m"),red:r("\x1B[31m","\x1B[39m"),green:r("\x1B[32m","\x1B[39m"),yellow:r("\x1B[33m","\x1B[39m"),blue:r("\x1B[34m","\x1B[39m"),magenta:r("\x1B[35m","\x1B[39m"),cyan:r("\x1B[36m","\x1B[39m"),white:r("\x1B[37m","\x1B[39m"),gray:r("\x1B[90m","\x1B[39m"),bgBlack:r("\x1B[40m","\x1B[49m"),bgRed:r("\x1B[41m","\x1B[49m"),bgGreen:r("\x1B[42m","\x1B[49m"),bgYellow:r("\x1B[43m","\x1B[49m"),bgBlue:r("\x1B[44m","\x1B[49m"),bgMagenta:r("\x1B[45m","\x1B[49m"),bgCyan:r("\x1B[46m","\x1B[49m"),bgWhite:r("\x1B[47m","\x1B[49m"),blackBright:r("\x1B[90m","\x1B[39m"),redBright:r("\x1B[91m","\x1B[39m"),greenBright:r("\x1B[92m","\x1B[39m"),yellowBright:r("\x1B[93m","\x1B[39m"),blueBright:r("\x1B[94m","\x1B[39m"),magentaBright:r("\x1B[95m","\x1B[39m"),cyanBright:r("\x1B[96m","\x1B[39m"),whiteBright:r("\x1B[97m","\x1B[39m"),bgBlackBright:r("\x1B[100m","\x1B[49m"),bgRedBright:r("\x1B[101m","\x1B[49m"),bgGreenBright:r("\x1B[102m","\x1B[49m"),bgYellowBright:r("\x1B[103m","\x1B[49m"),bgBlueBright:r("\x1B[104m","\x1B[49m"),bgMagentaBright:r("\x1B[105m","\x1B[49m"),bgCyanBright:r("\x1B[106m","\x1B[49m"),bgWhiteBright:r("\x1B[107m","\x1B[49m")}};F.exports=q();F.exports.createColors=q});var Nr={};Or(Nr,{defineWorkspace:()=>_,defineConfig:()=>X,build:()=>wr});module.exports=Ir(Nr);function X(n){return n}function _(n){return n}var Br=w(require("path")),S=require("bun-dts");var Fr=w(Y());var i=w(Y()),Q=!1;function Z(n){Q=n??!1}class l{static instance;loggedOnceMessages=new Set;MAX_LABEL_LENGTH=3;cliColor=i.default.blue;mutedColor=i.default.dim;infoColor=i.default.cyan;warnColor=i.default.yellow;errorColor=i.default.red;defaultColor=i.default.white;progressFgColorMap={ESM:i.default.yellow,CJS:i.default.green,IIFE:i.default.magenta,DTS:i.default.blue};progressIdentifierBgColorMap={ESM:i.default.bgYellow,CJS:i.default.bgGreen,IIFE:i.default.bgMagenta,DTS:i.default.bgBlue};labels={cli:"CLI",info:"INFO",warn:"WARN",error:"ERROR"};constructor(){}static getInstance(){if(!l.instance)l.instance=new l;return l.instance}dispose(){this.loggedOnceMessages.clear()}shouldLog(n){if(!n?.once)return!0;if(this.loggedOnceMessages.has(n.once))return!1;return this.loggedOnceMessages.add(n.once),!0}formatMessage({fgColor:n,bgColor:r,label:g,message:e,identifier:b,muted:x}){let s=" ".repeat(Math.max(0,this.MAX_LABEL_LENGTH-g.length)),d=x?this.mutedColor(e):e,$=b?` ${r(i.default.black(` ${b} `))}`:"";return`${n(g)} ${s}${d}${$}`}output(n,r={},g=console.log){if(Q||!this.shouldLog(r))return;if(r.verticalSpace)g("");if(g(n),r.verticalSpace)g("")}cli(n,r={}){let g=this.formatMessage({fgColor:this.cliColor,bgColor:i.default.bgBlue,label:this.labels.cli,message:n,identifier:r.identifier,muted:r.muted});this.output(g,r)}info(n,r={}){let g=this.formatMessage({fgColor:this.infoColor,bgColor:i.default.bgCyan,label:this.labels.info,message:n,identifier:r.identifier,muted:r.muted});this.output(g,r)}warn(n,r={}){let g=this.formatMessage({fgColor:this.warnColor,bgColor:i.default.bgYellow,label:this.labels.warn,message:n,identifier:r.identifier,muted:r.muted});this.output(g,r,console.warn)}error(n,r={}){let g=this.formatMessage({fgColor:this.errorColor,bgColor:i.default.bgRed,label:this.labels.error,message:n,identifier:r.identifier,muted:r.muted});this.output(g,r,console.error)}getProgressFgColor(n){for(let[r,g]of Object.entries(this.progressFgColorMap))if(n.includes(r))return g;return this.defaultColor}getProgressBgColor(n){for(let[r,g]of Object.entries(this.progressIdentifierBgColorMap))if(n.includes(r))return g;return i.default.bgWhite}progress(n,r,g={}){let e=this.getProgressFgColor(n),b=this.getProgressBgColor(n),x=this.formatMessage({fgColor:e,bgColor:b,label:n,message:r,identifier:g.identifier,muted:g.muted});this.output(x,g)}}var o=l.getInstance();class z extends Error{constructor(n){super(n);this.name="BunupError"}}class M extends z{constructor(n){super(n);this.name="BunupBuildError"}}var G=w(require("fs/promises")),O=w(require("path"));function V(n,r){switch(n){case"esm":return L(r)?".js":".mjs";case"cjs":return L(r)?".cjs":".js";case"iife":return".global.js"}}function T(n,r){switch(n){case"esm":return L(r)?".d.ts":".d.mts";case"cjs":return L(r)?".d.cts":".d.ts";case"iife":return".global.d.ts"}}function v(n){return n.replace(O.default.extname(n),"")}function p(n){return n.replace(/\\/g,"/")}function L(n){return n==="module"}function D(n){if(!n)return[];return Array.from(new Set([...Object.keys(n.dependencies||{}),...Object.keys(n.peerDependencies||{})]))}function k(n,r=3){return n.split("/").slice(-r).join("/")}async function J(n,r){let g=O.default.join(n,r);try{await G.default.rm(g,{recursive:!0,force:!0})}catch(e){throw new M(`Failed to clean output directory: ${e}`)}await G.default.mkdir(g,{recursive:!0})}function N(n){if(typeof n==="string")return[{entry:n,outputBasePath:a(n)}];if(typeof n==="object"&&!Array.isArray(n))return Object.entries(n).map(([r,g])=>({entry:g,outputBasePath:r}));return n.map((r)=>({entry:r,outputBasePath:a(r)}))}function a(n){let r=p(v(n)).split("/");return r.length>1?r.slice(1).join("/"):r.join("/")}function y(n,r){return{entry:`[dir]/${n}${r}`,chunk:`${n}-[hash].[ext]`,asset:`${n}-[name]-[hash].[ext]`}}var P=require("coffi");async function rr(n){let{config:r,filepath:g}=await P.loadConfig({name:"package",cwd:n,extensions:[".json"]});return{data:r,path:g}}function nr(){return{type:"bunup",name:"use-client",hooks:{onBuildDone:async({output:n})=>{for(let r of n.files){let g=await Bun.file(r.fullPath).text();if(g.includes(''))g=g.replaceAll('',""),g=`
|
|
4
|
+
${g}`;await Bun.write(r.fullPath,g)}}}}}var Yr={entry:[],format:["cjs"],outDir:"dist",target:"node",clean:!0};function er(n){let r={...Yr,...n};return{...r,plugins:[...r.plugins??[],nr()]}}function gr(n){let{minify:r,minifyWhitespace:g,minifyIdentifiers:e,minifySyntax:b}=n,x=r===!0;return{whitespace:g??x,identifiers:e??x,syntax:b??x}}function br(n,r){return r==="cjs"?n:void 0}function ir(n){if(n===!0)return"inline";return typeof n==="string"?n:void 0}function xr(n,r){return{...typeof r==="object"&&Object.keys(r).reduce((g,e)=>{let b=JSON.stringify(r[e]);return g[`process.env.${e}`]=b,g[`import.meta.env.${e}`]=b,g},{}),...n}}function mr(n,r){return n===void 0?r==="esm":n}function sr(n){return typeof n==="string"?n:void 0}function Gr(n){return D(n).map((r)=>new RegExp(`^${r}($|\\/|\\\\)`))}function tr(n,r){return typeof r==="string"?r===n:r.test(n)}function or(n,r,g){let b=Gr(g).some((s)=>s.test(n))||r.external?.some((s)=>tr(n,s)),x=r.noExternal?.some((s)=>tr(n,s));return b&&!x}function dr(n,r){return{name:"bunup:external-option-plugin",setup(g){g.onResolve({filter:/.*/},(e)=>{let b=e.path;if(or(b,n,r))return{path:b,external:!0};return null})}}}function ur(n){if(!n)return[];return n.filter((r)=>r.type==="bun")}function lr(n){if(!n)return[];return n.filter((r)=>r.type==="bunup")}async function Cr(n,r){if(!n)return;for(let g of n)if(g.hooks.onBuildStart)await g.hooks.onBuildStart(r)}async function cr(n,r,g,e){if(!n)return;for(let b of n)if(b.hooks.onBuildDone)await b.hooks.onBuildDone({options:r,output:g,meta:e})}async function wr(n,r=process.cwd()){let g={files:[]},e=er(n);if(!e.entry||e.entry.length===0||!e.outDir)throw new M("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(e.clean)J(r,e.outDir);Z(e.silent);let b=await rr(r);if(b.data&&b.path)o.cli(`Using ${k(b.path,2)}`,{muted:!0,identifier:e.name,once:`${b.path}:${e.name}`});let x=lr(e.plugins);await Cr(x,e);let s=N(e.entry),d=b.data?.type,$=[dr(e,b.data),...ur(e.plugins).map((C)=>C.plugin)];if(!e.dtsOnly){let C=e.format.flatMap((t)=>s.map(async({entry:R,outputBasePath:E})=>{let c=e.outputExtension?.({format:t,packageType:d,options:e,entry:R}).js??V(t,d),f=await Bun.build({entrypoints:[`${r}/${R}`],format:t,naming:y(E,c),splitting:mr(e.splitting,t),bytecode:br(e.bytecode,t),define:xr(e.define,e.env),minify:gr(e),outdir:`${r}/${e.outDir}`,target:e.target,sourcemap:ir(e.sourcemap),loader:e.loader,drop:e.drop,banner:e.banner,footer:e.footer,publicPath:e.publicPath,env:sr(e.env),plugins:$,throw:!1});for(let m of f.logs){if(m.level==="error")throw console.log(`
|
|
5
|
+
`),console.log(m),console.log(`
|
|
6
|
+
`),new Error;if(m.level==="warning")o.warn(m.message);else if(m.level==="info")o.info(m.message)}for(let m of f.outputs){let u=fr(m.path,r);if(m.kind==="entry-point")o.progress(t.toUpperCase(),u,{identifier:e.name});g.files.push({fullPath:m.path,relativePathToRootDir:u,dts:!1,entry:R,outputBasePath:E,format:t})}}));await Promise.all(C)}if(e.dts===!0||typeof e.dts==="object"||e.dtsOnly){let C=typeof e.dts==="object"&&"resolve"in e.dts?e.dts.resolve:void 0,t=typeof e.dts==="object"&&"entry"in e.dts?e.dts.entry:void 0,E=(t?N(t):s).map(async({entry:c,outputBasePath:f})=>{let m=await S.generateDts(c,{cwd:r,preferredTsConfigPath:e.preferredTsconfigPath,resolve:C});for(let u of e.format){let Mr=e.outputExtension?.({format:u,packageType:d,options:e,entry:c}).dts??T(u,d),W=Br.default.join(r,e.outDir,`${f}${Mr}`),A=fr(W,r);if(g.files.push({fullPath:W,relativePathToRootDir:A,dts:!0,entry:c,outputBasePath:f,format:u}),m.errors.length>0)S.logIsolatedDeclarationErrors(m.errors,{warnInsteadOfError:e.watch,shouldExit:!0});await Bun.write(W,m.dts),o.progress("DTS",A,{identifier:e.name})}});await Promise.all(E)}if(await cr(x,e,g,{packageJson:b}),e.onSuccess)await e.onSuccess(e)}function fr(n,r){return n.replace(`${r}/`,"")}})
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
// @bun
|
|
2
|
-
var
|
|
3
|
-
`),
|
|
4
|
-
`),
|
|
3
|
+
var dr=Object.create;var{getPrototypeOf:ur,defineProperty:F,getOwnPropertyNames:lr}=Object;var Cr=Object.prototype.hasOwnProperty;var Y=(n,r,g)=>{g=n!=null?dr(ur(n)):{};let e=r||!n||!n.__esModule?F(g,"default",{value:n,enumerable:!0}):g;for(let b of lr(n))if(!Cr.call(e,b))F(e,b,{get:()=>n[b],enumerable:!0});return e};var cr=(n,r)=>()=>(r||n((r={exports:{}}).exports,r),r.exports);var S=cr((Gr,O)=>{var E=process||{},G=E.argv||[],R=E.env||{},wr=!(!!R.NO_COLOR||G.includes("--no-color"))&&(!!R.FORCE_COLOR||G.includes("--color")||E.platform==="win32"||(E.stdout||{}).isTTY&&R.TERM!=="dumb"||!!R.CI),Mr=(n,r,g=n)=>(e)=>{let b=""+e,x=b.indexOf(r,n.length);return~x?n+Rr(b,r,g,x)+r:n+b+r},Rr=(n,r,g,e)=>{let b="",x=0;do b+=n.substring(x,e)+g,x=e+r.length,e=n.indexOf(r,x);while(~e);return b+n.substring(x)},N=(n=wr)=>{let r=n?Mr:()=>String;return{isColorSupported:n,reset:r("\x1B[0m","\x1B[0m"),bold:r("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:r("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:r("\x1B[3m","\x1B[23m"),underline:r("\x1B[4m","\x1B[24m"),inverse:r("\x1B[7m","\x1B[27m"),hidden:r("\x1B[8m","\x1B[28m"),strikethrough:r("\x1B[9m","\x1B[29m"),black:r("\x1B[30m","\x1B[39m"),red:r("\x1B[31m","\x1B[39m"),green:r("\x1B[32m","\x1B[39m"),yellow:r("\x1B[33m","\x1B[39m"),blue:r("\x1B[34m","\x1B[39m"),magenta:r("\x1B[35m","\x1B[39m"),cyan:r("\x1B[36m","\x1B[39m"),white:r("\x1B[37m","\x1B[39m"),gray:r("\x1B[90m","\x1B[39m"),bgBlack:r("\x1B[40m","\x1B[49m"),bgRed:r("\x1B[41m","\x1B[49m"),bgGreen:r("\x1B[42m","\x1B[49m"),bgYellow:r("\x1B[43m","\x1B[49m"),bgBlue:r("\x1B[44m","\x1B[49m"),bgMagenta:r("\x1B[45m","\x1B[49m"),bgCyan:r("\x1B[46m","\x1B[49m"),bgWhite:r("\x1B[47m","\x1B[49m"),blackBright:r("\x1B[90m","\x1B[39m"),redBright:r("\x1B[91m","\x1B[39m"),greenBright:r("\x1B[92m","\x1B[39m"),yellowBright:r("\x1B[93m","\x1B[39m"),blueBright:r("\x1B[94m","\x1B[39m"),magentaBright:r("\x1B[95m","\x1B[39m"),cyanBright:r("\x1B[96m","\x1B[39m"),whiteBright:r("\x1B[97m","\x1B[39m"),bgBlackBright:r("\x1B[100m","\x1B[49m"),bgRedBright:r("\x1B[101m","\x1B[49m"),bgGreenBright:r("\x1B[102m","\x1B[49m"),bgYellowBright:r("\x1B[103m","\x1B[49m"),bgBlueBright:r("\x1B[104m","\x1B[49m"),bgMagentaBright:r("\x1B[105m","\x1B[49m"),bgCyanBright:r("\x1B[106m","\x1B[49m"),bgWhiteBright:r("\x1B[107m","\x1B[49m")}};O.exports=N();O.exports.createColors=N});function fr(n){return n}function Br(n){return n}import Or from"path";import{generateDts as Sr,logIsolatedDeclarationErrors as $r}from"bun-dts";var Er=Y(S(),1);var i=Y(S(),1),A=!1;function H(n){A=n??!1}class l{static instance;loggedOnceMessages=new Set;MAX_LABEL_LENGTH=3;cliColor=i.default.blue;mutedColor=i.default.dim;infoColor=i.default.cyan;warnColor=i.default.yellow;errorColor=i.default.red;defaultColor=i.default.white;progressFgColorMap={ESM:i.default.yellow,CJS:i.default.green,IIFE:i.default.magenta,DTS:i.default.blue};progressIdentifierBgColorMap={ESM:i.default.bgYellow,CJS:i.default.bgGreen,IIFE:i.default.bgMagenta,DTS:i.default.bgBlue};labels={cli:"CLI",info:"INFO",warn:"WARN",error:"ERROR"};constructor(){}static getInstance(){if(!l.instance)l.instance=new l;return l.instance}dispose(){this.loggedOnceMessages.clear()}shouldLog(n){if(!n?.once)return!0;if(this.loggedOnceMessages.has(n.once))return!1;return this.loggedOnceMessages.add(n.once),!0}formatMessage({fgColor:n,bgColor:r,label:g,message:e,identifier:b,muted:x}){let s=" ".repeat(Math.max(0,this.MAX_LABEL_LENGTH-g.length)),d=x?this.mutedColor(e):e,I=b?` ${r(i.default.black(` ${b} `))}`:"";return`${n(g)} ${s}${d}${I}`}output(n,r={},g=console.log){if(A||!this.shouldLog(r))return;if(r.verticalSpace)g("");if(g(n),r.verticalSpace)g("")}cli(n,r={}){let g=this.formatMessage({fgColor:this.cliColor,bgColor:i.default.bgBlue,label:this.labels.cli,message:n,identifier:r.identifier,muted:r.muted});this.output(g,r)}info(n,r={}){let g=this.formatMessage({fgColor:this.infoColor,bgColor:i.default.bgCyan,label:this.labels.info,message:n,identifier:r.identifier,muted:r.muted});this.output(g,r)}warn(n,r={}){let g=this.formatMessage({fgColor:this.warnColor,bgColor:i.default.bgYellow,label:this.labels.warn,message:n,identifier:r.identifier,muted:r.muted});this.output(g,r,console.warn)}error(n,r={}){let g=this.formatMessage({fgColor:this.errorColor,bgColor:i.default.bgRed,label:this.labels.error,message:n,identifier:r.identifier,muted:r.muted});this.output(g,r,console.error)}getProgressFgColor(n){for(let[r,g]of Object.entries(this.progressFgColorMap))if(n.includes(r))return g;return this.defaultColor}getProgressBgColor(n){for(let[r,g]of Object.entries(this.progressIdentifierBgColorMap))if(n.includes(r))return g;return i.default.bgWhite}progress(n,r,g={}){let e=this.getProgressFgColor(n),b=this.getProgressBgColor(n),x=this.formatMessage({fgColor:e,bgColor:b,label:n,message:r,identifier:g.identifier,muted:g.muted});this.output(x,g)}}var o=l.getInstance();class K extends Error{constructor(n){super(n);this.name="BunupError"}}class B extends K{constructor(n){super(n);this.name="BunupBuildError"}}import U from"fs/promises";import X,{normalize as Xr}from"path";function _(n,r){switch(n){case"esm":return h(r)?".js":".mjs";case"cjs":return h(r)?".cjs":".js";case"iife":return".global.js"}}function j(n,r){switch(n){case"esm":return h(r)?".d.ts":".d.mts";case"cjs":return h(r)?".d.cts":".d.ts";case"iife":return".global.d.ts"}}function q(n){return n.replace(X.extname(n),"")}function Q(n){return n.replace(/\\/g,"/")}function h(n){return n==="module"}function Z(n){if(!n)return[];return Array.from(new Set([...Object.keys(n.dependencies||{}),...Object.keys(n.peerDependencies||{})]))}function z(n,r=3){return n.split("/").slice(-r).join("/")}async function V(n,r){let g=X.join(n,r);try{await U.rm(g,{recursive:!0,force:!0})}catch(e){throw new B(`Failed to clean output directory: ${e}`)}await U.mkdir(g,{recursive:!0})}function $(n){if(typeof n==="string")return[{entry:n,outputBasePath:T(n)}];if(typeof n==="object"&&!Array.isArray(n))return Object.entries(n).map(([r,g])=>({entry:g,outputBasePath:r}));return n.map((r)=>({entry:r,outputBasePath:T(r)}))}function T(n){let r=Q(q(n)).split("/");return r.length>1?r.slice(1).join("/"):r.join("/")}function v(n,r){return{entry:`[dir]/${n}${r}`,chunk:`${n}-[hash].[ext]`,asset:`${n}-[name]-[hash].[ext]`}}import{loadConfig as hr}from"coffi";async function p(n){let{config:r,filepath:g}=await hr({name:"package",cwd:n,extensions:[".json"]});return{data:r,path:g}}function D(){return{type:"bunup",name:"use-client",hooks:{onBuildDone:async({output:n})=>{for(let r of n.files){let g=await Bun.file(r.fullPath).text();if(g.includes(''))g=g.replaceAll('',""),g=`
|
|
4
|
+
${g}`;await Bun.write(r.fullPath,g)}}}}}var Ir={entry:[],format:["cjs"],outDir:"dist",target:"node",clean:!0};function k(n){let r={...Ir,...n};return{...r,plugins:[...r.plugins??[],D()]}}function J(n){let{minify:r,minifyWhitespace:g,minifyIdentifiers:e,minifySyntax:b}=n,x=r===!0;return{whitespace:g??x,identifiers:e??x,syntax:b??x}}function a(n,r){return r==="cjs"?n:void 0}function y(n){if(n===!0)return"inline";return typeof n==="string"?n:void 0}function P(n,r){return{...typeof r==="object"&&Object.keys(r).reduce((g,e)=>{let b=JSON.stringify(r[e]);return g[`process.env.${e}`]=b,g[`import.meta.env.${e}`]=b,g},{}),...n}}function rr(n,r){return n===void 0?r==="esm":n}function nr(n){return typeof n==="string"?n:void 0}function Lr(n){return Z(n).map((r)=>new RegExp(`^${r}($|\\/|\\\\)`))}function er(n,r){return typeof r==="string"?r===n:r.test(n)}function gr(n,r,g){let b=Lr(g).some((s)=>s.test(n))||r.external?.some((s)=>er(n,s)),x=r.noExternal?.some((s)=>er(n,s));return b&&!x}function br(n,r){return{name:"bunup:external-option-plugin",setup(g){g.onResolve({filter:/.*/},(e)=>{let b=e.path;if(gr(b,n,r))return{path:b,external:!0};return null})}}}function ir(n){if(!n)return[];return n.filter((r)=>r.type==="bun")}function xr(n){if(!n)return[];return n.filter((r)=>r.type==="bunup")}async function mr(n,r){if(!n)return;for(let g of n)if(g.hooks.onBuildStart)await g.hooks.onBuildStart(r)}async function sr(n,r,g,e){if(!n)return;for(let b of n)if(b.hooks.onBuildDone)await b.hooks.onBuildDone({options:r,output:g,meta:e})}async function Wr(n,r=process.cwd()){let g={files:[]},e=k(n);if(!e.entry||e.entry.length===0||!e.outDir)throw new B("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(e.clean)V(r,e.outDir);H(e.silent);let b=await p(r);if(b.data&&b.path)o.cli(`Using ${z(b.path,2)}`,{muted:!0,identifier:e.name,once:`${b.path}:${e.name}`});let x=xr(e.plugins);await mr(x,e);let s=$(e.entry),d=b.data?.type,I=[br(e,b.data),...ir(e.plugins).map((C)=>C.plugin)];if(!e.dtsOnly){let C=e.format.flatMap((t)=>s.map(async({entry:w,outputBasePath:M})=>{let c=e.outputExtension?.({format:t,packageType:d,options:e,entry:w}).js??_(t,d),f=await Bun.build({entrypoints:[`${r}/${w}`],format:t,naming:v(M,c),splitting:rr(e.splitting,t),bytecode:a(e.bytecode,t),define:P(e.define,e.env),minify:J(e),outdir:`${r}/${e.outDir}`,target:e.target,sourcemap:y(e.sourcemap),loader:e.loader,drop:e.drop,banner:e.banner,footer:e.footer,publicPath:e.publicPath,env:nr(e.env),plugins:I,throw:!1});for(let m of f.logs){if(m.level==="error")throw console.log(`
|
|
5
|
+
`),console.log(m),console.log(`
|
|
6
|
+
`),new Error;if(m.level==="warning")o.warn(m.message);else if(m.level==="info")o.info(m.message)}for(let m of f.outputs){let u=tr(m.path,r);if(m.kind==="entry-point")o.progress(t.toUpperCase(),u,{identifier:e.name});g.files.push({fullPath:m.path,relativePathToRootDir:u,dts:!1,entry:w,outputBasePath:M,format:t})}}));await Promise.all(C)}if(e.dts===!0||typeof e.dts==="object"||e.dtsOnly){let C=typeof e.dts==="object"&&"resolve"in e.dts?e.dts.resolve:void 0,t=typeof e.dts==="object"&&"entry"in e.dts?e.dts.entry:void 0,M=(t?$(t):s).map(async({entry:c,outputBasePath:f})=>{let m=await Sr(c,{cwd:r,preferredTsConfigPath:e.preferredTsconfigPath,resolve:C});for(let u of e.format){let or=e.outputExtension?.({format:u,packageType:d,options:e,entry:c}).dts??j(u,d),L=Or.join(r,e.outDir,`${f}${or}`),W=tr(L,r);if(g.files.push({fullPath:L,relativePathToRootDir:W,dts:!0,entry:c,outputBasePath:f,format:u}),m.errors.length>0)$r(m.errors,{warnInsteadOfError:e.watch,shouldExit:!0});await Bun.write(L,m.dts),o.progress("DTS",W,{identifier:e.name})}});await Promise.all(M)}if(await sr(x,e,g,{packageJson:b}),e.onSuccess)await e.onSuccess(e)}function tr(n,r){return n.replace(`${r}/`,"")}export{Br as defineWorkspace,fr as defineConfig,Wr as build};
|
package/dist/plugins.cjs
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// @bun @bun-cjs
|
|
2
|
-
(function(exports, require, module, __filename, __dirname) {var
|
|
2
|
+
(function(exports, require, module, __filename, __dirname) {var D=Object.create;var{getPrototypeOf:q,defineProperty:C,getOwnPropertyNames:A,getOwnPropertyDescriptor:K}=Object,N=Object.prototype.hasOwnProperty;var w=(t,r,n)=>{n=t!=null?D(q(t)):{};let e=r||!t||!t.__esModule?C(n,"default",{value:t,enumerable:!0}):n;for(let g of A(t))if(!N.call(e,g))C(e,g,{get:()=>t[g],enumerable:!0});return e},Y=new WeakMap,Q=(t)=>{var r=Y.get(t),n;if(r)return r;if(r=C({},"__esModule",{value:!0}),t&&typeof t==="object"||typeof t==="function")A(t).map((e)=>!N.call(r,e)&&C(r,e,{get:()=>t[e],enumerable:!(n=K(t,e))||n.enumerable}));return Y.set(t,r),r},V=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports);var Z=(t,r)=>{for(var n in r)C(t,n,{get:r[n],enumerable:!0,configurable:!0,set:(e)=>r[n]=()=>e})};var E=V((br,f)=>{var v=process||{},a=v.argv||[],B=v.env||{},S=!(!!B.NO_COLOR||a.includes("--no-color"))&&(!!B.FORCE_COLOR||a.includes("--color")||v.platform==="win32"||(v.stdout||{}).isTTY&&B.TERM!=="dumb"||!!B.CI),T=(t,r,n=t)=>(e)=>{let g=""+e,s=g.indexOf(r,t.length);return~s?t+G(g,r,n,s)+r:t+g+r},G=(t,r,n,e)=>{let g="",s=0;do g+=t.substring(s,e)+n,s=e+r.length,e=t.indexOf(r,s);while(~e);return g+t.substring(s)},j=(t=S)=>{let r=t?T:()=>String;return{isColorSupported:t,reset:r("\x1B[0m","\x1B[0m"),bold:r("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:r("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:r("\x1B[3m","\x1B[23m"),underline:r("\x1B[4m","\x1B[24m"),inverse:r("\x1B[7m","\x1B[27m"),hidden:r("\x1B[8m","\x1B[28m"),strikethrough:r("\x1B[9m","\x1B[29m"),black:r("\x1B[30m","\x1B[39m"),red:r("\x1B[31m","\x1B[39m"),green:r("\x1B[32m","\x1B[39m"),yellow:r("\x1B[33m","\x1B[39m"),blue:r("\x1B[34m","\x1B[39m"),magenta:r("\x1B[35m","\x1B[39m"),cyan:r("\x1B[36m","\x1B[39m"),white:r("\x1B[37m","\x1B[39m"),gray:r("\x1B[90m","\x1B[39m"),bgBlack:r("\x1B[40m","\x1B[49m"),bgRed:r("\x1B[41m","\x1B[49m"),bgGreen:r("\x1B[42m","\x1B[49m"),bgYellow:r("\x1B[43m","\x1B[49m"),bgBlue:r("\x1B[44m","\x1B[49m"),bgMagenta:r("\x1B[45m","\x1B[49m"),bgCyan:r("\x1B[46m","\x1B[49m"),bgWhite:r("\x1B[47m","\x1B[49m"),blackBright:r("\x1B[90m","\x1B[39m"),redBright:r("\x1B[91m","\x1B[39m"),greenBright:r("\x1B[92m","\x1B[39m"),yellowBright:r("\x1B[93m","\x1B[39m"),blueBright:r("\x1B[94m","\x1B[39m"),magentaBright:r("\x1B[95m","\x1B[39m"),cyanBright:r("\x1B[96m","\x1B[39m"),whiteBright:r("\x1B[97m","\x1B[39m"),bgBlackBright:r("\x1B[100m","\x1B[49m"),bgRedBright:r("\x1B[101m","\x1B[49m"),bgGreenBright:r("\x1B[102m","\x1B[49m"),bgYellowBright:r("\x1B[103m","\x1B[49m"),bgBlueBright:r("\x1B[104m","\x1B[49m"),bgMagentaBright:r("\x1B[105m","\x1B[49m"),bgCyanBright:r("\x1B[106m","\x1B[49m"),bgWhiteBright:r("\x1B[107m","\x1B[49m")}};f.exports=j();f.exports.createColors=j});var er={};Z(er,{shims:()=>y,report:()=>nr,exports:()=>P});module.exports=Q(er);function y(){return{type:"bun",name:"shims",plugin:{name:"bunup:shims",setup(t){let r=t.config.target==="node"||t.config.target==="bun",n=t.config.format==="esm",e=t.config.format==="cjs";if(!r||!n&&!e)return;t.config.define={...t.config.define,...e&&{"import.meta.url":"importMetaUrl"}},t.onLoad({filter:/\.(js|ts|jsx|tsx|mts|cts)$/},async({path:g})=>{let s=await Bun.file(g).text(),c="";if(n&&(/\b__dirname\b/.test(s)||/\b__filename\b/.test(s)))c=`import { fileURLToPath } from 'url';
|
|
3
3
|
import { dirname } from 'path';
|
|
4
4
|
|
|
5
5
|
const __filename = fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = dirname(__filename);
|
|
7
7
|
|
|
8
|
-
`;if(
|
|
8
|
+
`;if(e&&/\bimport\.meta\.url\b/.test(s))c=`import { pathToFileURL } from 'url';
|
|
9
9
|
|
|
10
10
|
const importMetaUrl = pathToFileURL(__filename).href;
|
|
11
11
|
|
|
12
|
-
`;if(!
|
|
13
|
-
`),x=o[0],i=o.slice(1);return{contents:[x,
|
|
14
|
-
`)}})}}}}var b=
|
|
12
|
+
`;if(!c)return;let o=s.split(`
|
|
13
|
+
`),x=o[0],i=o.slice(1);return{contents:[x,c,...i].join(`
|
|
14
|
+
`)}})}}}}var b=w(E()),F=!1;class l{static instance;loggedOnceMessages=new Set;MAX_LABEL_LENGTH=3;cliColor=b.default.blue;mutedColor=b.default.dim;infoColor=b.default.cyan;warnColor=b.default.yellow;errorColor=b.default.red;defaultColor=b.default.white;progressFgColorMap={ESM:b.default.yellow,CJS:b.default.green,IIFE:b.default.magenta,DTS:b.default.blue};progressIdentifierBgColorMap={ESM:b.default.bgYellow,CJS:b.default.bgGreen,IIFE:b.default.bgMagenta,DTS:b.default.bgBlue};labels={cli:"CLI",info:"INFO",warn:"WARN",error:"ERROR"};constructor(){}static getInstance(){if(!l.instance)l.instance=new l;return l.instance}dispose(){this.loggedOnceMessages.clear()}shouldLog(t){if(!t?.once)return!0;if(this.loggedOnceMessages.has(t.once))return!1;return this.loggedOnceMessages.add(t.once),!0}formatMessage({fgColor:t,bgColor:r,label:n,message:e,identifier:g,muted:s}){let c=" ".repeat(Math.max(0,this.MAX_LABEL_LENGTH-n.length)),o=s?this.mutedColor(e):e,x=g?` ${r(b.default.black(` ${g} `))}`:"";return`${t(n)} ${c}${o}${x}`}output(t,r={},n=console.log){if(F||!this.shouldLog(r))return;if(r.verticalSpace)n("");if(n(t),r.verticalSpace)n("")}cli(t,r={}){let n=this.formatMessage({fgColor:this.cliColor,bgColor:b.default.bgBlue,label:this.labels.cli,message:t,identifier:r.identifier,muted:r.muted});this.output(n,r)}info(t,r={}){let n=this.formatMessage({fgColor:this.infoColor,bgColor:b.default.bgCyan,label:this.labels.info,message:t,identifier:r.identifier,muted:r.muted});this.output(n,r)}warn(t,r={}){let n=this.formatMessage({fgColor:this.warnColor,bgColor:b.default.bgYellow,label:this.labels.warn,message:t,identifier:r.identifier,muted:r.muted});this.output(n,r,console.warn)}error(t,r={}){let n=this.formatMessage({fgColor:this.errorColor,bgColor:b.default.bgRed,label:this.labels.error,message:t,identifier:r.identifier,muted:r.muted});this.output(n,r,console.error)}getProgressFgColor(t){for(let[r,n]of Object.entries(this.progressFgColorMap))if(t.includes(r))return n;return this.defaultColor}getProgressBgColor(t){for(let[r,n]of Object.entries(this.progressIdentifierBgColorMap))if(t.includes(r))return n;return b.default.bgWhite}progress(t,r,n={}){let e=this.getProgressFgColor(t),g=this.getProgressBgColor(t),s=this.formatMessage({fgColor:e,bgColor:g,label:t,message:r,identifier:n.identifier,muted:n.muted});this.output(s,n)}}function H(t,r,n){let e={};for(let o of t){let x=o.header.length,i=r.map((m)=>m[o.header]?.length||0),h=n?n[o.header]?.length||0:0;e[o.header]=Math.max(x,...i,h)}let g=(o,x,i)=>{return i==="left"?o.padEnd(x):o.padStart(x)},s=t.map((o)=>g(o.header,e[o.header],o.align)).join(b.default.gray(" | "));console.log(b.default.gray(s));let c=t.map((o)=>"-".repeat(e[o.header])).join(" | ");console.log(b.default.gray(c));for(let o of r){let x=t.map((i)=>{let h=o[i.header]||"",m=g(h,e[i.header],i.align);return i.color?i.color(m):m}).join(b.default.gray(" | "));console.log(x)}if(console.log(b.default.gray(c)),n){let o=t.map((x)=>{let i=n[x.header]||"";return g(i,e[x.header],x.align)}).join(b.default.gray(" | "));console.log(o)}}var L=l.getInstance();var $=w(require("path"));var p=w(E());function J(t){let r=t.match(/{\n(\s+)/);if(!r)return 2;return r[1].length}function R(t){if(t===0)return"0 B";let r=["B","KB","MB","GB"],n=Math.floor(Math.log(t)/Math.log(1024));if(n===0)return`${t} ${r[n]}`;return`${(t/1024**n).toFixed(2)} ${r[n]}`}function U(t){let r=$.normalize(t).replace(/\\/g,"/");return r=r.replace(/^[a-zA-Z]:\//,""),r=r.replace(/^\/+/,""),r=r.replace(/\/+/g,"/"),r}function X(t,r){let n=t.endsWith(`
|
|
15
15
|
`);return JSON.stringify(r,null,J(t))+(n?`
|
|
16
|
-
`:"")}function P(){return{type:"bunup",name:"exports",hooks:{onBuildDone:async({output:t,options:r,meta:n})=>{if(!n.packageJson.path||!n.packageJson.data)return;try{let
|
|
16
|
+
`:"")}function P(){return{type:"bunup",name:"exports",hooks:{onBuildDone:async({output:t,options:r,meta:n})=>{if(!n.packageJson.path||!n.packageJson.data)return;try{let e=await Bun.file(n.packageJson.path).text(),g=JSON.parse(e),{exportsField:s,entryPoints:c}=k(t.files),o=Array.isArray(g.files)?[...new Set([...g.files,r.outDir])]:[r.outDir],i={...g.exports||{}};for(let[m,M]of Object.entries(s))i[m]={...i[m]||{},...M};let h={name:g.name,description:g.description,version:g.version,type:g.type,private:g.private,files:o,...c,exports:i};for(let m in g)if(Object.prototype.hasOwnProperty.call(g,m)&&!Object.prototype.hasOwnProperty.call(h,m))h[m]=g[m];await Bun.write(n.packageJson.path,X(e,h)),L.cli("Updated package.json with exports")}catch(e){L.error("Failed to update package.json")}}}}}function k(t){let r={},n={};for(let e of t){let g=tr(e.format,e.dts),s=`./${U(e.relativePathToRootDir)}`,c=z(e.outputBasePath);r[c]={...r[c],[g]:s};for(let o of Object.keys(r["."]??{}))n[rr(o,e.dts)]=r["."][o]}return{exportsField:r,entryPoints:n}}function z(t){let r=t.split("/");if(r.length===1&&r[0]==="index")return".";return`./${r.filter((n)=>n!=="index").join("/")}`}function rr(t,r){return r?"types":t==="require"?"main":"module"}function tr(t,r){return r?"types":t==="esm"?"import":"require"}var O=w(E());function nr(t={}){let{maxBundleSize:r,gzip:n=!0}=t;return{type:"bunup",name:"report",hooks:{onBuildDone:async({options:e,output:g})=>{if(e.watch)return;let s=await Promise.all(g.files.map(async(u)=>{let d=u.relativePathToRootDir,_=Bun.file(u.fullPath).size,I,W;if(n)I=Bun.gzipSync(new Uint8Array(await Bun.file(u.fullPath).arrayBuffer())).length,W=R(I);return{name:d,size:_,formattedSize:R(_),gzipSize:I,formattedGzipSize:W}})),c=s.reduce((u,d)=>u+d.size,0),o=R(c),x,i;if(n)x=s.reduce((u,d)=>u+(d.gzipSize||0),0),i=R(x);let h=[{header:"File",align:"left",color:O.default.blue},{header:"Size",align:"right",color:O.default.green}];if(n)h.push({header:"Gzip",align:"right",color:O.default.magenta});let m=s.map((u)=>{let d={File:u.name,Size:u.formattedSize};if(n&&u.formattedGzipSize)d.Gzip=u.formattedGzipSize;return d}),M={File:"Total",Size:o};if(n&&i)M.Gzip=i;if(console.log(""),H(h,m,M),r&&c>r)console.log(""),console.log(O.default.red(`Your bundle size of ${o} exceeds the configured limit of ${R(r)}`));console.log("")}}}}})
|
package/dist/plugins.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
2
|
+
var j=Object.create;var{getPrototypeOf:H,defineProperty:_,getOwnPropertyNames:U}=Object;var X=Object.prototype.hasOwnProperty;var L=(t,r,n)=>{n=t!=null?j(H(t)):{};let e=r||!t||!t.__esModule?_(n,"default",{value:t,enumerable:!0}):n;for(let g of U(t))if(!X.call(e,g))_(e,g,{get:()=>t[g],enumerable:!0});return e};var D=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports);var B=D((z,I)=>{var w=process||{},W=w.argv||[],M=w.env||{},q=!(!!M.NO_COLOR||W.includes("--no-color"))&&(!!M.FORCE_COLOR||W.includes("--color")||w.platform==="win32"||(w.stdout||{}).isTTY&&M.TERM!=="dumb"||!!M.CI),K=(t,r,n=t)=>(e)=>{let g=""+e,s=g.indexOf(r,t.length);return~s?t+Q(g,r,n,s)+r:t+g+r},Q=(t,r,n,e)=>{let g="",s=0;do g+=t.substring(s,e)+n,s=e+r.length,e=t.indexOf(r,s);while(~e);return g+t.substring(s)},Y=(t=q)=>{let r=t?K:()=>String;return{isColorSupported:t,reset:r("\x1B[0m","\x1B[0m"),bold:r("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:r("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:r("\x1B[3m","\x1B[23m"),underline:r("\x1B[4m","\x1B[24m"),inverse:r("\x1B[7m","\x1B[27m"),hidden:r("\x1B[8m","\x1B[28m"),strikethrough:r("\x1B[9m","\x1B[29m"),black:r("\x1B[30m","\x1B[39m"),red:r("\x1B[31m","\x1B[39m"),green:r("\x1B[32m","\x1B[39m"),yellow:r("\x1B[33m","\x1B[39m"),blue:r("\x1B[34m","\x1B[39m"),magenta:r("\x1B[35m","\x1B[39m"),cyan:r("\x1B[36m","\x1B[39m"),white:r("\x1B[37m","\x1B[39m"),gray:r("\x1B[90m","\x1B[39m"),bgBlack:r("\x1B[40m","\x1B[49m"),bgRed:r("\x1B[41m","\x1B[49m"),bgGreen:r("\x1B[42m","\x1B[49m"),bgYellow:r("\x1B[43m","\x1B[49m"),bgBlue:r("\x1B[44m","\x1B[49m"),bgMagenta:r("\x1B[45m","\x1B[49m"),bgCyan:r("\x1B[46m","\x1B[49m"),bgWhite:r("\x1B[47m","\x1B[49m"),blackBright:r("\x1B[90m","\x1B[39m"),redBright:r("\x1B[91m","\x1B[39m"),greenBright:r("\x1B[92m","\x1B[39m"),yellowBright:r("\x1B[93m","\x1B[39m"),blueBright:r("\x1B[94m","\x1B[39m"),magentaBright:r("\x1B[95m","\x1B[39m"),cyanBright:r("\x1B[96m","\x1B[39m"),whiteBright:r("\x1B[97m","\x1B[39m"),bgBlackBright:r("\x1B[100m","\x1B[49m"),bgRedBright:r("\x1B[101m","\x1B[49m"),bgGreenBright:r("\x1B[102m","\x1B[49m"),bgYellowBright:r("\x1B[103m","\x1B[49m"),bgBlueBright:r("\x1B[104m","\x1B[49m"),bgMagentaBright:r("\x1B[105m","\x1B[49m"),bgCyanBright:r("\x1B[106m","\x1B[49m"),bgWhiteBright:r("\x1B[107m","\x1B[49m")}};I.exports=Y();I.exports.createColors=Y});function P(){return{type:"bun",name:"shims",plugin:{name:"bunup:shims",setup(t){let r=t.config.target==="node"||t.config.target==="bun",n=t.config.format==="esm",e=t.config.format==="cjs";if(!r||!n&&!e)return;t.config.define={...t.config.define,...e&&{"import.meta.url":"importMetaUrl"}},t.onLoad({filter:/\.(js|ts|jsx|tsx|mts|cts)$/},async({path:g})=>{let s=await Bun.file(g).text(),c="";if(n&&(/\b__dirname\b/.test(s)||/\b__filename\b/.test(s)))c=`import { fileURLToPath } from 'url';
|
|
3
3
|
import { dirname } from 'path';
|
|
4
4
|
|
|
5
5
|
const __filename = fileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = dirname(__filename);
|
|
7
7
|
|
|
8
|
-
`;if(
|
|
8
|
+
`;if(e&&/\bimport\.meta\.url\b/.test(s))c=`import { pathToFileURL } from 'url';
|
|
9
9
|
|
|
10
10
|
const importMetaUrl = pathToFileURL(__filename).href;
|
|
11
11
|
|
|
12
|
-
`;if(!
|
|
13
|
-
`),x=o[0],i=o.slice(1);return{contents:[x,
|
|
14
|
-
`)}})}}}}var b=L(
|
|
15
|
-
`);return JSON.stringify(r,null,
|
|
16
|
-
`:"")}function
|
|
12
|
+
`;if(!c)return;let o=s.split(`
|
|
13
|
+
`),x=o[0],i=o.slice(1);return{contents:[x,c,...i].join(`
|
|
14
|
+
`)}})}}}}var b=L(B(),1),V=!1;class l{static instance;loggedOnceMessages=new Set;MAX_LABEL_LENGTH=3;cliColor=b.default.blue;mutedColor=b.default.dim;infoColor=b.default.cyan;warnColor=b.default.yellow;errorColor=b.default.red;defaultColor=b.default.white;progressFgColorMap={ESM:b.default.yellow,CJS:b.default.green,IIFE:b.default.magenta,DTS:b.default.blue};progressIdentifierBgColorMap={ESM:b.default.bgYellow,CJS:b.default.bgGreen,IIFE:b.default.bgMagenta,DTS:b.default.bgBlue};labels={cli:"CLI",info:"INFO",warn:"WARN",error:"ERROR"};constructor(){}static getInstance(){if(!l.instance)l.instance=new l;return l.instance}dispose(){this.loggedOnceMessages.clear()}shouldLog(t){if(!t?.once)return!0;if(this.loggedOnceMessages.has(t.once))return!1;return this.loggedOnceMessages.add(t.once),!0}formatMessage({fgColor:t,bgColor:r,label:n,message:e,identifier:g,muted:s}){let c=" ".repeat(Math.max(0,this.MAX_LABEL_LENGTH-n.length)),o=s?this.mutedColor(e):e,x=g?` ${r(b.default.black(` ${g} `))}`:"";return`${t(n)} ${c}${o}${x}`}output(t,r={},n=console.log){if(V||!this.shouldLog(r))return;if(r.verticalSpace)n("");if(n(t),r.verticalSpace)n("")}cli(t,r={}){let n=this.formatMessage({fgColor:this.cliColor,bgColor:b.default.bgBlue,label:this.labels.cli,message:t,identifier:r.identifier,muted:r.muted});this.output(n,r)}info(t,r={}){let n=this.formatMessage({fgColor:this.infoColor,bgColor:b.default.bgCyan,label:this.labels.info,message:t,identifier:r.identifier,muted:r.muted});this.output(n,r)}warn(t,r={}){let n=this.formatMessage({fgColor:this.warnColor,bgColor:b.default.bgYellow,label:this.labels.warn,message:t,identifier:r.identifier,muted:r.muted});this.output(n,r,console.warn)}error(t,r={}){let n=this.formatMessage({fgColor:this.errorColor,bgColor:b.default.bgRed,label:this.labels.error,message:t,identifier:r.identifier,muted:r.muted});this.output(n,r,console.error)}getProgressFgColor(t){for(let[r,n]of Object.entries(this.progressFgColorMap))if(t.includes(r))return n;return this.defaultColor}getProgressBgColor(t){for(let[r,n]of Object.entries(this.progressIdentifierBgColorMap))if(t.includes(r))return n;return b.default.bgWhite}progress(t,r,n={}){let e=this.getProgressFgColor(t),g=this.getProgressBgColor(t),s=this.formatMessage({fgColor:e,bgColor:g,label:t,message:r,identifier:n.identifier,muted:n.muted});this.output(s,n)}}function A(t,r,n){let e={};for(let o of t){let x=o.header.length,i=r.map((m)=>m[o.header]?.length||0),h=n?n[o.header]?.length||0:0;e[o.header]=Math.max(x,...i,h)}let g=(o,x,i)=>{return i==="left"?o.padEnd(x):o.padStart(x)},s=t.map((o)=>g(o.header,e[o.header],o.align)).join(b.default.gray(" | "));console.log(b.default.gray(s));let c=t.map((o)=>"-".repeat(e[o.header])).join(" | ");console.log(b.default.gray(c));for(let o of r){let x=t.map((i)=>{let h=o[i.header]||"",m=g(h,e[i.header],i.align);return i.color?i.color(m):m}).join(b.default.gray(" | "));console.log(x)}if(console.log(b.default.gray(c)),n){let o=t.map((x)=>{let i=n[x.header]||"";return g(i,e[x.header],x.align)}).join(b.default.gray(" | "));console.log(o)}}var v=l.getInstance();import or,{normalize as y}from"path";var Z=L(B(),1);function S(t){let r=t.match(/{\n(\s+)/);if(!r)return 2;return r[1].length}function R(t){if(t===0)return"0 B";let r=["B","KB","MB","GB"],n=Math.floor(Math.log(t)/Math.log(1024));if(n===0)return`${t} ${r[n]}`;return`${(t/1024**n).toFixed(2)} ${r[n]}`}function N(t){let r=y(t).replace(/\\/g,"/");return r=r.replace(/^[a-zA-Z]:\//,""),r=r.replace(/^\/+/,""),r=r.replace(/\/+/g,"/"),r}function a(t,r){let n=t.endsWith(`
|
|
15
|
+
`);return JSON.stringify(r,null,S(t))+(n?`
|
|
16
|
+
`:"")}function cr(){return{type:"bunup",name:"exports",hooks:{onBuildDone:async({output:t,options:r,meta:n})=>{if(!n.packageJson.path||!n.packageJson.data)return;try{let e=await Bun.file(n.packageJson.path).text(),g=JSON.parse(e),{exportsField:s,entryPoints:c}=T(t.files),o=Array.isArray(g.files)?[...new Set([...g.files,r.outDir])]:[r.outDir],i={...g.exports||{}};for(let[m,O]of Object.entries(s))i[m]={...i[m]||{},...O};let h={name:g.name,description:g.description,version:g.version,type:g.type,private:g.private,files:o,...c,exports:i};for(let m in g)if(Object.prototype.hasOwnProperty.call(g,m)&&!Object.prototype.hasOwnProperty.call(h,m))h[m]=g[m];await Bun.write(n.packageJson.path,a(e,h)),v.cli("Updated package.json with exports")}catch(e){v.error("Failed to update package.json")}}}}}function T(t){let r={},n={};for(let e of t){let g=p(e.format,e.dts),s=`./${N(e.relativePathToRootDir)}`,c=G(e.outputBasePath);r[c]={...r[c],[g]:s};for(let o of Object.keys(r["."]??{}))n[F(o,e.dts)]=r["."][o]}return{exportsField:r,entryPoints:n}}function G(t){let r=t.split("/");if(r.length===1&&r[0]==="index")return".";return`./${r.filter((n)=>n!=="index").join("/")}`}function F(t,r){return r?"types":t==="require"?"main":"module"}function p(t,r){return r?"types":t==="esm"?"import":"require"}var C=L(B(),1);function dr(t={}){let{maxBundleSize:r,gzip:n=!0}=t;return{type:"bunup",name:"report",hooks:{onBuildDone:async({options:e,output:g})=>{if(e.watch)return;let s=await Promise.all(g.files.map(async(u)=>{let d=u.relativePathToRootDir,f=Bun.file(u.fullPath).size,E,$;if(n)E=Bun.gzipSync(new Uint8Array(await Bun.file(u.fullPath).arrayBuffer())).length,$=R(E);return{name:d,size:f,formattedSize:R(f),gzipSize:E,formattedGzipSize:$}})),c=s.reduce((u,d)=>u+d.size,0),o=R(c),x,i;if(n)x=s.reduce((u,d)=>u+(d.gzipSize||0),0),i=R(x);let h=[{header:"File",align:"left",color:C.default.blue},{header:"Size",align:"right",color:C.default.green}];if(n)h.push({header:"Gzip",align:"right",color:C.default.magenta});let m=s.map((u)=>{let d={File:u.name,Size:u.formattedSize};if(n&&u.formattedGzipSize)d.Gzip=u.formattedGzipSize;return d}),O={File:"Total",Size:o};if(n&&i)O.Gzip=i;if(console.log(""),A(h,m,O),r&&c>r)console.log(""),console.log(C.default.red(`Your bundle size of ${o} exceeds the configured limit of ${R(r)}`));console.log("")}}}}export{P as shims,dr as report,cr as exports};
|