bunup 0.4.61 → 0.4.62
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.mjs +1 -1
- package/package.json +3 -3
package/dist/cli.mjs
CHANGED
|
@@ -29,7 +29,7 @@ See: https://bunup.dev/documentation/#named-entries`,{muted:!0,verticalSpace:!0}
|
|
|
29
29
|
const importMetaUrl = pathToFileURL(__filename).href;
|
|
30
30
|
|
|
31
31
|
`}};function De({format:e,target:n,shims:t}){let s=hn(t).map((o)=>P[o]).filter((o)=>o.appliesTo(e,n));if(s.length===0)return{name:"bunup:inject-shims",setup(){}};return{name:"bunup:inject-shims",setup(o){o.onLoad({filter:bn},async({path:i})=>{let a=await Bun.file(i).text(),c=s.filter((f)=>f.isNeededInFile(a));if(c.length===0)return;let{shebangLine:u,codeContent:m}=xn(a),p=c.map((f)=>f.generateCode()).join("");return{contents:u+p+m}})}}}function hn(e){if(e===!0)return Object.keys(P);if(!e)return[];return Object.entries(e).filter(([n,t])=>t&&(n in P)).map(([n])=>n)}function xn(e){if(!e.startsWith("#!"))return{shebangLine:"",codeContent:e};let n=e.indexOf(`
|
|
32
|
-
`);return n===-1?{shebangLine:"",codeContent:e}:{shebangLine:e.slice(0,n+1),codeContent:e.slice(n+1)}}function He(e){return e.filter((n)=>n.type==="bun").map((n)=>n.plugin)}var S=new Set;async function D(e,n=process.cwd()){let t=v(e);if(!t.entry||t.entry.length===0||!t.outDir)throw new C("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(t.clean)fe(n,t.outDir);R(t.silent);let{packageJson:r,path:s}=await Me(n);if(r&&s)l.cli(`Using package.json: ${y(s,2)}`,{muted:!0,identifier:t.name,once:`${s}:${t.name}`});let o=A(t.entry),i=r?.type,a=I(t,r),c=_(t);if(!t.dtsOnly){let u=[ve(a,c),...He(t.plugins??[])],m=t.format.flatMap((p)=>o.map((f)=>{return yn(t,n,f,p,i,u)}));await Promise.all(m)}if(t.dts||t.dtsOnly){let u=await je(n,t.preferredTsconfigPath);if(u.path)l.cli(`Using tsconfig: ${y(u.path,2)}`,{muted:!0,identifier:t.name,once:`${u.path}:${t.name}`});let m=t.format.filter((f)=>{if(f==="iife"&&!B(i)&&t.format.includes("cjs"))return!1;return!0}),p=typeof t.dts==="object"&&t.dts.entry?A(t.dts.entry):Ee(o);try{await Promise.all(p.map(async(f)=>{let T=await Te(n,f.path,t,u,r);await Promise.all(m.map(async(te)=>{let Ke=t.outputExtension?.({format:te,packageType:i,options:t,entry:f}).dts??le(te,i),F=`${n}/${t.outDir}/${f.name}${Ke}`;await Bun.write(F,T);let Ye=Bun.file(F).size||0;l.progress("DTS",y(F),z(Ye),t.name)}))}))}catch(f){throw new g(b(f))}}if(t.onBuildSuccess)await t.onBuildSuccess(t)}async function yn(e,n,t,r,s,o){let i=e.outputExtension?.({format:r,packageType:s,options:e,entry:t}).js??ue(r,s),a=await Bun.build({entrypoints:[`${n}/${t.path}`],format:r,naming:{entry:Le(t.name,i)},splitting:Ne(e.splitting,r),bytecode:Ie(e.bytecode,r),define:_e(e.define,e.shims,e.env,r),minify:ke(e),outdir:`${n}/${e.outDir}`,target:e.target,sourcemap:e.sourcemap,loader:e.loader,drop:e.drop,banner:e.banner,footer:e.footer,publicPath:e.publicPath,env:Ue(e.env),plugins:[...o,De({format:r,target:e.target,shims:e.shims})],throw:!1});if(!a.success)for(let m of a.logs){if(m.level==="error")throw new C(m.message);if(m.level==="warning")l.warn(m.message);else if(m.level==="info")l.info(m.message)}let c=`${n}/${e.outDir}/${t.name}${i}`,u=Bun.file(c).size||0;l.progress(r.toUpperCase(),y(c),z(u),e.name)}var H="0.4.
|
|
32
|
+
`);return n===-1?{shebangLine:"",codeContent:e}:{shebangLine:e.slice(0,n+1),codeContent:e.slice(n+1)}}function He(e){return e.filter((n)=>n.type==="bun").map((n)=>n.plugin)}var S=new Set;async function D(e,n=process.cwd()){let t=v(e);if(!t.entry||t.entry.length===0||!t.outDir)throw new C("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(t.clean)fe(n,t.outDir);R(t.silent);let{packageJson:r,path:s}=await Me(n);if(r&&s)l.cli(`Using package.json: ${y(s,2)}`,{muted:!0,identifier:t.name,once:`${s}:${t.name}`});let o=A(t.entry),i=r?.type,a=I(t,r),c=_(t);if(!t.dtsOnly){let u=[ve(a,c),...He(t.plugins??[])],m=t.format.flatMap((p)=>o.map((f)=>{return yn(t,n,f,p,i,u)}));await Promise.all(m)}if(t.dts||t.dtsOnly){let u=await je(n,t.preferredTsconfigPath);if(u.path)l.cli(`Using tsconfig: ${y(u.path,2)}`,{muted:!0,identifier:t.name,once:`${u.path}:${t.name}`});let m=t.format.filter((f)=>{if(f==="iife"&&!B(i)&&t.format.includes("cjs"))return!1;return!0}),p=typeof t.dts==="object"&&t.dts.entry?A(t.dts.entry):Ee(o);try{await Promise.all(p.map(async(f)=>{let T=await Te(n,f.path,t,u,r);await Promise.all(m.map(async(te)=>{let Ke=t.outputExtension?.({format:te,packageType:i,options:t,entry:f}).dts??le(te,i),F=`${n}/${t.outDir}/${f.name}${Ke}`;await Bun.write(F,T);let Ye=Bun.file(F).size||0;l.progress("DTS",y(F),z(Ye),t.name)}))}))}catch(f){throw new g(b(f))}}if(t.onBuildSuccess)await t.onBuildSuccess(t)}async function yn(e,n,t,r,s,o){let i=e.outputExtension?.({format:r,packageType:s,options:e,entry:t}).js??ue(r,s),a=await Bun.build({entrypoints:[`${n}/${t.path}`],format:r,naming:{entry:Le(t.name,i)},splitting:Ne(e.splitting,r),bytecode:Ie(e.bytecode,r),define:_e(e.define,e.shims,e.env,r),minify:ke(e),outdir:`${n}/${e.outDir}`,target:e.target,sourcemap:e.sourcemap,loader:e.loader,drop:e.drop,banner:e.banner,footer:e.footer,publicPath:e.publicPath,env:Ue(e.env),plugins:[...o,De({format:r,target:e.target,shims:e.shims})],throw:!1});if(!a.success)for(let m of a.logs){if(m.level==="error")throw new C(m.message);if(m.level==="warning")l.warn(m.message);else if(m.level==="info")l.info(m.message)}let c=`${n}/${e.outDir}/${t.name}${i}`,u=Bun.file(c).size||0;l.progress(r.toUpperCase(),y(c),z(u),e.name)}var H="0.4.62";var We="https://bunup.dev/cli-options";function d(e){return(n,t)=>{t[e]=n===!0||n==="true"}}function x(e){return(n,t)=>{if(typeof n==="string")t[e]=n;else throw new h(`Option --${e} requires a string value`)}}function ee(e){return(n,t)=>{if(typeof n==="string")t[e]=n.split(",");else throw new h(`Option --${e} requires a string value`)}}function Cn(e){return(n,t)=>{if(typeof n==="boolean")t[e]=n;else if(typeof n==="string")if(n.toLowerCase()==="true"||n.toLowerCase()==="false")t[e]=n.toLowerCase()==="true";else t[e]=n;else throw new h(`Option --${e} requires a boolean or string value`)}}function $n(){console.log(`
|
|
33
33
|
Bunup - A blazing-fast build tool for your libraries built with Bun.
|
|
34
34
|
`),console.log("For more information on available options, visit:"),console.log(`\x1B[36m\x1B[4m${We}\x1B[0m
|
|
35
35
|
`),process.exit(0)}function On(){console.log(H),process.exit(0)}var qe={name:{flags:["n","name"],handler:x("name")},format:{flags:["f","format"],handler:ee("format")},outDir:{flags:["o","out-dir"],handler:x("outDir")},minify:{flags:["m","minify"],handler:d("minify")},watch:{flags:["w","watch"],handler:d("watch")},dts:{flags:["d","dts"],handler:d("dts")},banner:{flags:["bn","banner"],handler:x("banner")},footer:{flags:["ft","footer"],handler:x("footer")},external:{flags:["e","external"],handler:ee("external")},sourcemap:{flags:["sm","sourcemap"],handler:Cn("sourcemap")},target:{flags:["t","target"],handler:x("target")},minifyWhitespace:{flags:["mw","minify-whitespace"],handler:d("minifyWhitespace")},minifyIdentifiers:{flags:["mi","minify-identifiers"],handler:d("minifyIdentifiers")},minifySyntax:{flags:["ms","minify-syntax"],handler:d("minifySyntax")},clean:{flags:["c","clean"],handler:d("clean")},splitting:{flags:["s","splitting"],handler:d("splitting")},noExternal:{flags:["ne","no-external"],handler:ee("noExternal")},preferredTsconfigPath:{flags:["tsconfig","preferred-tsconfig-path"],handler:x("preferredTsconfigPath")},bytecode:{flags:["bc","bytecode"],handler:d("bytecode")},dtsOnly:{flags:["do","dts-only"],handler:d("dtsOnly")},silent:{flags:["silent"],handler:d("silent")},config:{flags:["config"],handler:x("config")},publicPath:{flags:["pp","public-path"],handler:x("publicPath")},env:{flags:["env"],handler:x("env")},shims:{flags:["shims"],handler:d("shims")},onSuccess:{flags:["onSuccess"],handler:x("onSuccess")},entry:{flags:["entry"],handler:(e,n,t)=>{if(typeof e!=="string")throw new h(`Entry${t?` --entry.${t}`:""} requires a string value`);let r=n.entry||{};if(t){if(r[t])l.warn(`Duplicate entry name '${t}' provided via --entry.${t}. Overwriting previous entry.`);r[t]=e}else{let s=U(e);if(r[s])l.warn(`Duplicate entry name '${s}' derived from '${e}'. Overwriting previous entry.`);r[s]=e}n.entry=r}},resolveDts:{flags:["rd","resolve-dts"],handler:(e,n)=>{if(!n.dts)n.dts={};if(typeof n.dts==="boolean")n.dts={};if(typeof e==="string")if(e==="true"||e==="false")n.dts.resolve=e==="true";else n.dts.resolve=e.split(",");else n.dts.resolve=!0}},help:{flags:["h","help"],handler:()=>$n()},version:{flags:["v","version"],handler:()=>On()}},W={};for(let e of Object.values(qe))for(let n of e.flags)W[n]=e.handler;function Fe(e){let n={};for(let t=0;t<e.length;t++){let r=e[t];if(r.startsWith("--")){let s,o;if(r.includes("=")){let[i,a]=r.slice(2).split("=",2);s=i,o=a}else{s=r.slice(2);let i=e[t+1];if(o=i&&!i.startsWith("-")?i:!0,typeof o==="string")t++}if(s.includes(".")){let[i,a]=s.split(".",2),c=W[i];if(c)c(o,n,a);else throw new h(`Unknown option: --${s}`)}else{let i=W[s];if(i)i(o,n);else throw new h(`Unknown option: --${s}`)}}else if(r.startsWith("-")){let s=r.slice(1),o=e[t+1],i=o&&!o.startsWith("-")?o:!0;if(typeof i==="string")t++;let a=W[s];if(a)a(i,n);else throw new h(`Unknown option: -${s}`)}else qe.entry.handler(r,n,void 0)}return n}import{loadConfig as Tn}from"coffi";import q from"node:path";import Bn from"chokidar";async function Ge(e,n){let t=new Set,r=v(e),s=A(r.entry);for(let c of s){let u=q.resolve(n,c.path),m=q.dirname(u);t.add(m)}let o=Bn.watch(Array.from(t),{persistent:!0,awaitWriteFinish:{stabilityThreshold:100,pollInterval:50},ignoreInitial:!0,atomic:!0,ignorePermissionErrors:!0,ignored:[/[\\/]\.git[\\/]/,/[\\/]node_modules[\\/]/,q.join(n,r.outDir)]}),i=!1,a=async(c=!1)=>{if(i)return;i=!0;try{let u=performance.now();if(await D({...r,entry:s.map((m)=>m.path),clean:!1},n),!c)l.cli(`\uD83D\uDCE6 Rebuild finished in ${j(performance.now()-u)}`);await ne()}catch(u){G(u)}finally{i=!1}};o.on("change",(c)=>{let u=q.relative(n,c);l.cli(`File changed: ${u}`,{muted:!0,once:u}),a()}),o.on("error",(c)=>{throw new M(`Watcher error: ${b(c)}`)}),await a(!0)}async function En(e=Bun.argv.slice(2)){let n=Fe(e);R(n.silent);let t=process.cwd(),{config:r,filepath:s}=await Tn({name:"bunup.config",extensions:[".ts",".js",".mjs",".cjs"],maxDepth:1,preferredPath:n.config,packageJsonProperty:"bunup"}),o=!r?[{rootDir:t,options:n}]:await Re(r,t);if(l.cli(`Using bunup v${H} and bun v${Bun.version}`,{muted:!0}),s)l.cli(`Using config file: ${y(s,2)}`,{muted:!0});let i=performance.now();l.cli("Build started"),await Promise.all(o.flatMap(({options:u,rootDir:m})=>{return ce(u).map(async(f)=>{let T={...f,...Ln(n)};return An(T,m)})}));let a=performance.now()-i,c=j(a);if(l.cli(`\u26A1\uFE0F Build completed in ${c}`),await ne(),n.watch)l.cli("\uD83D\uDC40 Watching for file changes");if(n.onSuccess)l.cli(`Running command: ${n.onSuccess}`,{muted:!0}),Sn(n.onSuccess,[],{nodeOptions:{shell:!0,stdio:"inherit"}});if(!n.watch)process.exit(0)}function Ln(e){return{...e,onSuccess:void 0,config:void 0}}async function ne(){if(S.size>0)await Se(S),S.clear()}async function An(e,n){if(e.watch)await Ge(e,n);else await D(e,n)}En().catch((e)=>se(e));export{ne as validateDtsFiles};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bunup",
|
|
3
3
|
"description": "⚡ A blazing-fast build tool for your libraries built with Bun.",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.62",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Arshad Yaseen <m@arshadyaseen.com> (https://arshadyaseen.com)",
|
|
7
7
|
"maintainers": [
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"format:fix": "biome format --write .",
|
|
40
40
|
"tsc": "tsc --noEmit",
|
|
41
41
|
"release": "bumpp",
|
|
42
|
-
"publish": "bun publish --access public --no-git-checks",
|
|
42
|
+
"npm-publish": "bun publish --access public --no-git-checks",
|
|
43
43
|
"release:ci": "bumpp patch --yes",
|
|
44
|
-
"publish:ci": "bun run publish && bun run --cwd create-bunup publish",
|
|
44
|
+
"publish:ci": "bun run npm-publish && bun run --cwd create-bunup npm-publish",
|
|
45
45
|
"benchmark": "bun run --cwd benchmarks benchmark",
|
|
46
46
|
"upgrade-deps": "bunx taze -r -w && bun install && git add . && git commit -m 'chore: upgrade deps' && bun run release:ci",
|
|
47
47
|
"prepare": "husky",
|