bunup 0.8.1 → 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/dist/cli.js +3 -2
- package/dist/index.cjs +2 -1
- package/dist/index.js +2 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
#!/usr/bin/env bun
|
|
2
3
|
// @bun
|
|
3
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(`
|
|
4
5
|
`),d.logSolution(s),console.log(`
|
|
5
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(`.
|
|
6
|
-
`)+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('
|
|
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=`
|
|
7
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(`
|
|
8
9
|
`),console.log(f),console.log(`
|
|
9
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(`
|
|
@@ -16,7 +17,7 @@ ${s}`;await Bun.write(r.fullPath,s)}}}}}function _(i){let r={...Oi,...i};return{
|
|
|
16
17
|
${R.default.cyan("bun run dev")}
|
|
17
18
|
|
|
18
19
|
${R.default.yellow("Happy coding!")} \uD83D\uDE80
|
|
19
|
-
`)}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.
|
|
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(`
|
|
20
21
|
Bunup - \u26A1\uFE0F A blazing-fast build tool for your libraries built with Bun.
|
|
21
22
|
`),console.log("For more information on available options, visit:"),console.log(`${rr.default.cyan(rr.default.underline(Br))}
|
|
22
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,5 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
// @bun @bun-cjs
|
|
2
|
-
(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('
|
|
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=`
|
|
3
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(`
|
|
4
5
|
`),console.log(m),console.log(`
|
|
5
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,5 +1,6 @@
|
|
|
1
|
+
"use client";
|
|
1
2
|
// @bun
|
|
2
|
-
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('
|
|
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=`
|
|
3
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(`
|
|
4
5
|
`),console.log(m),console.log(`
|
|
5
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};
|