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