bunup 0.4.28 → 0.4.30
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/build/cli.mjs +2 -2
- package/build/index.js +1 -1
- package/build/index.mjs +1 -1
- package/package.json +2 -2
package/build/cli.mjs
CHANGED
|
@@ -20,7 +20,7 @@ To fix this, use named entries in your configuration:
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
See: https://bunup.arshadyaseen.com/documentation/#named-entries`,{muted:!0,verticalSpace:!0});r.push({name:l,path:a})}else r.push({name:i,path:a}),n.add(i),s[i]=a}if(Array.isArray(e))for(let i of e){let a=M(i);o(a,i)}else if(typeof e==="object")for(let[i,a]of Object.entries(e))o(i,a);else{let i=M(e);o(i,e)}return r}function Ce(e){return e.filter((t)=>I(t.path))}function Ee(e,t){return`[dir]/${e}${t}`}import{loadConfig as Re}from"coffi";async function $e(e,t){return Array.isArray(e)&&"root"in e[0]?e.map((r)=>({rootDir:r.root,options:se(r.config,"name",r.name)})):[{rootDir:t,options:e}]}async function Te(e){let{config:t,filepath:r}=await Re({name:"package",cwd:e,extensions:[".json"],maxDepth:
|
|
23
|
+
See: https://bunup.arshadyaseen.com/documentation/#named-entries`,{muted:!0,verticalSpace:!0});r.push({name:l,path:a})}else r.push({name:i,path:a}),n.add(i),s[i]=a}if(Array.isArray(e))for(let i of e){let a=M(i);o(a,i)}else if(typeof e==="object")for(let[i,a]of Object.entries(e))o(i,a);else{let i=M(e);o(i,e)}return r}function Ce(e){return e.filter((t)=>I(t.path))}function Ee(e,t){return`[dir]/${e}${t}`}import{loadConfig as Re}from"coffi";async function $e(e,t){return Array.isArray(e)&&"root"in e[0]?e.map((r)=>({rootDir:r.root,options:se(r.config,"name",r.name)})):[{rootDir:t,options:e}]}async function Te(e){let{config:t,filepath:r}=await Re({name:"package",cwd:e,extensions:[".json"],maxDepth:3});return{packageJson:t,path:r}}async function Se(e,t){let{config:r,filepath:n}=await Re({name:"tsconfig",cwd:e,extensions:[".json"],preferredPath:t,maxDepth:3});return{tsconfig:r,path:n}}var at={entry:[],format:["cjs"],outDir:"dist",target:"node",clean:!0};function j(e){return{...at,...e}}function Oe(e){let{minify:t,minifyWhitespace:r,minifyIdentifiers:n,minifySyntax:s}=e,o=t===!0;return{whitespace:r??o,identifiers:n??o,syntax:s??o}}function Pe(e,t){return t==="cjs"?e:void 0}function Be(e,t,r,n){return{...typeof r==="object"&&Object.keys(r).reduce((s,o)=>{let i=JSON.stringify(r[o]);return s[`process.env.${o}`]=i,s[`import.meta.env.${o}`]=i,s},{}),...e,...n==="cjs"&&(t===!0||typeof t==="object"&&t.importMetaUrl)&&{"import.meta.url":"importMetaUrl"}}}function ve(e,t){return e===void 0?t==="esm":e}function Le(e){return typeof e==="string"?e:void 0}function Ie(e,t){return{name:"bunup:external-plugin",setup(r){r.onResolve({filter:/.*/},(n)=>{let s=n.path;if(e.some((i)=>i.test(s))&&!t.some((i)=>i.test(s)))return{path:s,external:!0};return null})}}}var lt=/\.(js|ts|jsx|tsx|mts|cts)$/,J={dirnameFilename:{appliesTo:(e,t)=>e==="esm"&&G(t),isNeededInFile:(e)=>/\b__dirname\b/.test(e)||/\b__filename\b/.test(e),generateCode:()=>`import { fileURLToPath } from 'url';
|
|
24
24
|
import { dirname } from 'path';
|
|
25
25
|
|
|
26
26
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -31,7 +31,7 @@ See: https://bunup.arshadyaseen.com/documentation/#named-entries`,{muted:!0,vert
|
|
|
31
31
|
const importMetaUrl = pathToFileURL(__filename).href;
|
|
32
32
|
|
|
33
33
|
`}};function De({format:e,target:t,shims:r}){let s=ct(r).map((o)=>J[o]).filter((o)=>o.appliesTo(e,t));if(s.length===0)return{name:"bunup:inject-shims",setup(){}};return{name:"bunup:inject-shims",setup(o){o.onLoad({filter:lt},async({path:i})=>{let a=await Bun.file(i).text(),c=s.filter((m)=>m.isNeededInFile(a));if(c.length===0)return;let{shebangLine:l,codeContent:f}=ut(a),p=c.map((m)=>m.generateCode()).join("");return{contents:l+p+f}})}}}function ct(e){if(e===!0)return Object.keys(J);if(!e)return[];return Object.entries(e).filter(([t,r])=>r&&(t in J)).map(([t])=>t)}function ut(e){if(!e.startsWith("#!"))return{shebangLine:"",codeContent:e};let t=e.indexOf(`
|
|
34
|
-
`);return t===-1?{shebangLine:"",codeContent:e}:{shebangLine:e.slice(0,t+1),codeContent:e.slice(t+1)}}var T=new Set;async function k(e,t){let r=j(e);if(!r.entry||r.entry.length===0||!r.outDir)throw new w("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(r.clean)ce(t,r.outDir);B(r.silent);let{packageJson:n,path:s}=await Te(t);if(n&&s)u.cli(`Using package.json: ${y(s,2)}`,{muted:!0,identifier:r.name,once:`${s}:${r.name}`});let o=P(r.entry),i=n?.type,a=D(r,n),c=A(r);if(!r.dtsOnly){let l=[Ie(a,c)],f=r.format.flatMap((p)=>o.map((m)=>{return ft(r,t,m,p,i,l)}));await Promise.all(f)}if(r.dts||r.dtsOnly){let l=await Se(t,r.preferredTsconfigPath);if(l.path)u.cli(`Using tsconfig: ${y(l.path,2)}`,{muted:!0,identifier:r.name,once:`${l.path}:${r.name}`});let f=r.format.filter((m)=>{if(m==="iife"&&!R(i)&&r.format.includes("cjs"))return!1;return!0}),p=typeof r.dts==="object"&&r.dts.entry?P(r.dts.entry):Ce(o);try{await Promise.all(p.map(async(m)=>{let W=await we(t,m.path,r,l,n);await Promise.all(f.map(async(Z)=>{let Ne=r.outputExtension?.({format:Z,packageType:i,options:r,entry:m}).dts??ae(Z,i),H=`${t}/${r.outDir}/${m.name}${Ne}`;await Bun.write(H,W);let Ue=Bun.file(H).size||0;u.progress("DTS",y(H),X(Ue),r.name)}))}))}catch(m){throw new h(b(m))}}}async function ft(e,t,r,n,s,o){let i=e.outputExtension?.({format:n,packageType:s,options:e,entry:r}).js??oe(n,s),a=await Bun.build({entrypoints:[`${t}/${r.path}`],format:n,naming:{entry:Ee(r.name,i)},splitting:ve(e.splitting,n),bytecode:Pe(e.bytecode,n),define:Be(e.define,e.shims,e.env,n),minify:Oe(e),outdir:`${t}/${e.outDir}`,target:e.target,sourcemap:e.sourcemap,loader:e.loader,drop:e.drop,banner:e.banner,footer:e.footer,publicPath:e.publicPath,env:Le(e.env),plugins:[...o,De({format:n,target:e.target,shims:e.shims}),...e.bunBuildPlugins??[]],throw:!1});if(!a.success)for(let f of a.logs){if(f.level==="error")throw new w(f.message);if(f.level==="warning")u.warn(f.message);else if(f.level==="info")u.info(f.message)}let c=`${t}/${e.outDir}/${r.name}${i}`,l=Bun.file(c).size||0;u.progress(n.toUpperCase(),y(c),X(l),e.name)}var N="0.4.
|
|
34
|
+
`);return t===-1?{shebangLine:"",codeContent:e}:{shebangLine:e.slice(0,t+1),codeContent:e.slice(t+1)}}var T=new Set;async function k(e,t){let r=j(e);if(!r.entry||r.entry.length===0||!r.outDir)throw new w("Nothing to build. Please make sure you have provided a proper bunup configuration or cli arguments.");if(r.clean)ce(t,r.outDir);B(r.silent);let{packageJson:n,path:s}=await Te(t);if(n&&s)u.cli(`Using package.json: ${y(s,2)}`,{muted:!0,identifier:r.name,once:`${s}:${r.name}`});let o=P(r.entry),i=n?.type,a=D(r,n),c=A(r);if(!r.dtsOnly){let l=[Ie(a,c)],f=r.format.flatMap((p)=>o.map((m)=>{return ft(r,t,m,p,i,l)}));await Promise.all(f)}if(r.dts||r.dtsOnly){let l=await Se(t,r.preferredTsconfigPath);if(l.path)u.cli(`Using tsconfig: ${y(l.path,2)}`,{muted:!0,identifier:r.name,once:`${l.path}:${r.name}`});let f=r.format.filter((m)=>{if(m==="iife"&&!R(i)&&r.format.includes("cjs"))return!1;return!0}),p=typeof r.dts==="object"&&r.dts.entry?P(r.dts.entry):Ce(o);try{await Promise.all(p.map(async(m)=>{let W=await we(t,m.path,r,l,n);await Promise.all(f.map(async(Z)=>{let Ne=r.outputExtension?.({format:Z,packageType:i,options:r,entry:m}).dts??ae(Z,i),H=`${t}/${r.outDir}/${m.name}${Ne}`;await Bun.write(H,W);let Ue=Bun.file(H).size||0;u.progress("DTS",y(H),X(Ue),r.name)}))}))}catch(m){throw new h(b(m))}}}async function ft(e,t,r,n,s,o){let i=e.outputExtension?.({format:n,packageType:s,options:e,entry:r}).js??oe(n,s),a=await Bun.build({entrypoints:[`${t}/${r.path}`],format:n,naming:{entry:Ee(r.name,i)},splitting:ve(e.splitting,n),bytecode:Pe(e.bytecode,n),define:Be(e.define,e.shims,e.env,n),minify:Oe(e),outdir:`${t}/${e.outDir}`,target:e.target,sourcemap:e.sourcemap,loader:e.loader,drop:e.drop,banner:e.banner,footer:e.footer,publicPath:e.publicPath,env:Le(e.env),plugins:[...o,De({format:n,target:e.target,shims:e.shims}),...e.bunBuildPlugins??[]],throw:!1});if(!a.success)for(let f of a.logs){if(f.level==="error")throw new w(f.message);if(f.level==="warning")u.warn(f.message);else if(f.level==="info")u.info(f.message)}let c=`${t}/${e.outDir}/${r.name}${i}`,l=Bun.file(c).size||0;u.progress(n.toUpperCase(),y(c),X(l),e.name)}var N="0.4.30";var Ae="https://bun.sh/docs/installation",_e="https://bunup.arshadyaseen.com/documentation/#cli-options";function g(e){return(t,r)=>{r[e]=t===!0||t==="true"}}function x(e){return(t,r)=>{if(typeof t==="string")r[e]=t;else throw new d(`Option --${e} requires a string value`)}}function z(e){return(t,r)=>{if(typeof t==="string")r[e]=t.split(",");else throw new d(`Option --${e} requires a string value`)}}function pt(e){return(t,r)=>{if(typeof t==="boolean")r[e]=t;else if(typeof t==="string")if(t.toLowerCase()==="true"||t.toLowerCase()==="false")r[e]=t.toLowerCase()==="true";else r[e]=t;else throw new d(`Option --${e} requires a boolean or string value`)}}function dt(){console.log(`
|
|
35
35
|
Bunup - An extremely fast, zero-config bundler for JavaScript and TypeScript, powered by Bun.
|
|
36
36
|
`),console.log("For more information on available options, visit:"),console.log(`\x1B[36m\x1B[4m${_e}\x1B[0m
|
|
37
37
|
`),process.exit(0)}function gt(){console.log(N),process.exit(0)}var Me={name:{flags:["n","name"],handler:x("name")},format:{flags:["f","format"],handler:z("format")},outDir:{flags:["o","out-dir"],handler:x("outDir")},minify:{flags:["m","minify"],handler:g("minify")},watch:{flags:["w","watch"],handler:g("watch")},dts:{flags:["d","dts"],handler:g("dts")},banner:{flags:["bn","banner"],handler:x("banner")},footer:{flags:["ft","footer"],handler:x("footer")},external:{flags:["e","external"],handler:z("external")},sourcemap:{flags:["sm","sourcemap"],handler:pt("sourcemap")},target:{flags:["t","target"],handler:x("target")},minifyWhitespace:{flags:["mw","minify-whitespace"],handler:g("minifyWhitespace")},minifyIdentifiers:{flags:["mi","minify-identifiers"],handler:g("minifyIdentifiers")},minifySyntax:{flags:["ms","minify-syntax"],handler:g("minifySyntax")},clean:{flags:["c","clean"],handler:g("clean")},splitting:{flags:["s","splitting"],handler:g("splitting")},noExternal:{flags:["ne","no-external"],handler:z("noExternal")},preferredTsconfigPath:{flags:["tsconfig","preferred-tsconfig-path"],handler:x("preferredTsconfigPath")},bytecode:{flags:["bc","bytecode"],handler:g("bytecode")},dtsOnly:{flags:["do","dts-only"],handler:g("dtsOnly")},silent:{flags:["silent"],handler:g("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:g("shims")},entry:{flags:["entry"],handler:(e,t,r)=>{if(typeof e!=="string")throw new d(`Entry${r?` --entry.${r}`:""} requires a string value`);let n=t.entry||{};if(r){if(n[r])u.warn(`Duplicate entry name '${r}' provided via --entry.${r}. Overwriting previous entry.`);n[r]=e}else{let s=M(e);if(n[s])u.warn(`Duplicate entry name '${s}' derived from '${e}'. Overwriting previous entry.`);n[s]=e}t.entry=n}},resolveDts:{flags:["rd","resolve-dts"],handler:(e,t)=>{if(!t.dts)t.dts={};if(typeof t.dts==="boolean")t.dts={};if(typeof e==="string")if(e==="true"||e==="false")t.dts.resolve=e==="true";else t.dts.resolve=e.split(",");else t.dts.resolve=!0}},help:{flags:["h","help"],handler:()=>dt()},version:{flags:["v","version"],handler:()=>gt()}},U={};for(let e of Object.values(Me))for(let t of e.flags)U[t]=e.handler;function je(e){let t={};for(let r=0;r<e.length;r++){let n=e[r];if(n.startsWith("--")){let s,o;if(n.includes("=")){let[i,a]=n.slice(2).split("=",2);s=i,o=a}else{s=n.slice(2);let i=e[r+1];if(o=i&&!i.startsWith("-")?i:!0,typeof o==="string")r++}if(s.includes(".")){let[i,a]=s.split(".",2),c=U[i];if(c)c(o,t,a);else throw new d(`Unknown option: --${s}`)}else{let i=U[s];if(i)i(o,t);else throw new d(`Unknown option: --${s}`)}}else if(n.startsWith("-")){let s=n.slice(1),o=e[r+1],i=o&&!o.startsWith("-")?o:!0;if(typeof i==="string")r++;let a=U[s];if(a)a(i,t);else throw new d(`Unknown option: -${s}`)}else Me.entry.handler(n,t,void 0)}return t}(()=>{if(typeof Bun==="undefined")throw new d(`Bunup requires Bun to run.
|
package/build/index.js
CHANGED
|
@@ -12,7 +12,7 @@ To fix this, use named entries in your configuration:
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
See: https://bunup.arshadyaseen.com/documentation/#named-entries`,{muted:!0,verticalSpace:!0});r.push({name:u,path:a})}else r.push({name:o,path:a}),n.add(o),s[o]=a}if(Array.isArray(e))for(let o of e){let a=be(o);i(a,o)}else if(typeof e==="object")for(let[o,a]of Object.entries(e))i(o,a);else{let o=be(e);i(o,e)}return r}function ye(e){return e.filter((t)=>$(t.path))}function Ee(e,t){return`[dir]/${e}${t}`}var F=require("coffi");async function we(e){let{config:t,filepath:r}=await F.loadConfig({name:"package",cwd:e,extensions:[".json"],maxDepth:
|
|
15
|
+
See: https://bunup.arshadyaseen.com/documentation/#named-entries`,{muted:!0,verticalSpace:!0});r.push({name:u,path:a})}else r.push({name:o,path:a}),n.add(o),s[o]=a}if(Array.isArray(e))for(let o of e){let a=be(o);i(a,o)}else if(typeof e==="object")for(let[o,a]of Object.entries(e))i(o,a);else{let o=be(e);i(o,e)}return r}function ye(e){return e.filter((t)=>$(t.path))}function Ee(e,t){return`[dir]/${e}${t}`}var F=require("coffi");async function we(e){let{config:t,filepath:r}=await F.loadConfig({name:"package",cwd:e,extensions:[".json"],maxDepth:3});return{packageJson:t,path:r}}async function Re(e,t){let{config:r,filepath:n}=await F.loadConfig({name:"tsconfig",cwd:e,extensions:[".json"],preferredPath:t,maxDepth:3});return{tsconfig:r,path:n}}var Qe={entry:[],format:["cjs"],outDir:"dist",target:"node",clean:!0};function Ce(e){return{...Qe,...e}}function Se(e){let{minify:t,minifyWhitespace:r,minifyIdentifiers:n,minifySyntax:s}=e,i=t===!0;return{whitespace:r??i,identifiers:n??i,syntax:s??i}}function $e(e,t){return t==="cjs"?e:void 0}function Te(e,t,r,n){return{...typeof r==="object"&&Object.keys(r).reduce((s,i)=>{let o=JSON.stringify(r[i]);return s[`process.env.${i}`]=o,s[`import.meta.env.${i}`]=o,s},{}),...e,...n==="cjs"&&(t===!0||typeof t==="object"&&t.importMetaUrl)&&{"import.meta.url":"importMetaUrl"}}}function Pe(e,t){return e===void 0?t==="esm":e}function Be(e){return typeof e==="string"?e:void 0}function De(e,t){return{name:"bunup:external-plugin",setup(r){r.onResolve({filter:/.*/},(n)=>{let s=n.path;if(e.some((o)=>o.test(s))&&!t.some((o)=>o.test(s)))return{path:s,external:!0};return null})}}}var Ze=/\.(js|ts|jsx|tsx|mts|cts)$/,W={dirnameFilename:{appliesTo:(e,t)=>e==="esm"&&A(t),isNeededInFile:(e)=>/\b__dirname\b/.test(e)||/\b__filename\b/.test(e),generateCode:()=>`import { fileURLToPath } from 'url';
|
|
16
16
|
import { dirname } from 'path';
|
|
17
17
|
|
|
18
18
|
const __filename = fileURLToPath(import.meta.url);
|
package/build/index.mjs
CHANGED
|
@@ -12,7 +12,7 @@ To fix this, use named entries in your configuration:
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
See: https://bunup.arshadyaseen.com/documentation/#named-entries`,{muted:!0,verticalSpace:!0});r.push({name:u,path:a})}else r.push({name:s,path:a}),n.add(s),o[s]=a}if(Array.isArray(e))for(let s of e){let a=re(s);i(a,s)}else if(typeof e==="object")for(let[s,a]of Object.entries(e))i(s,a);else{let s=re(e);i(s,e)}return r}function ne(e){return e.filter((t)=>C(t.path))}function se(e,t){return`[dir]/${e}${t}`}import{loadConfig as oe}from"coffi";async function ie(e){let{config:t,filepath:r}=await oe({name:"package",cwd:e,extensions:[".json"],maxDepth:
|
|
15
|
+
See: https://bunup.arshadyaseen.com/documentation/#named-entries`,{muted:!0,verticalSpace:!0});r.push({name:u,path:a})}else r.push({name:s,path:a}),n.add(s),o[s]=a}if(Array.isArray(e))for(let s of e){let a=re(s);i(a,s)}else if(typeof e==="object")for(let[s,a]of Object.entries(e))i(s,a);else{let s=re(e);i(s,e)}return r}function ne(e){return e.filter((t)=>C(t.path))}function se(e,t){return`[dir]/${e}${t}`}import{loadConfig as oe}from"coffi";async function ie(e){let{config:t,filepath:r}=await oe({name:"package",cwd:e,extensions:[".json"],maxDepth:3});return{packageJson:t,path:r}}async function ae(e,t){let{config:r,filepath:n}=await oe({name:"tsconfig",cwd:e,extensions:[".json"],preferredPath:t,maxDepth:3});return{tsconfig:r,path:n}}var je={entry:[],format:["cjs"],outDir:"dist",target:"node",clean:!0};function ue(e){return{...je,...e}}function le(e){let{minify:t,minifyWhitespace:r,minifyIdentifiers:n,minifySyntax:o}=e,i=t===!0;return{whitespace:r??i,identifiers:n??i,syntax:o??i}}function ce(e,t){return t==="cjs"?e:void 0}function me(e,t,r,n){return{...typeof r==="object"&&Object.keys(r).reduce((o,i)=>{let s=JSON.stringify(r[i]);return o[`process.env.${i}`]=s,o[`import.meta.env.${i}`]=s,o},{}),...e,...n==="cjs"&&(t===!0||typeof t==="object"&&t.importMetaUrl)&&{"import.meta.url":"importMetaUrl"}}}function fe(e,t){return e===void 0?t==="esm":e}function de(e){return typeof e==="string"?e:void 0}function ge(e,t){return{name:"bunup:external-plugin",setup(r){r.onResolve({filter:/.*/},(n)=>{let o=n.path;if(e.some((s)=>s.test(o))&&!t.some((s)=>s.test(o)))return{path:o,external:!0};return null})}}}var Ne=/\.(js|ts|jsx|tsx|mts|cts)$/,_={dirnameFilename:{appliesTo:(e,t)=>e==="esm"&&I(t),isNeededInFile:(e)=>/\b__dirname\b/.test(e)||/\b__filename\b/.test(e),generateCode:()=>`import { fileURLToPath } from 'url';
|
|
16
16
|
import { dirname } from 'path';
|
|
17
17
|
|
|
18
18
|
const __filename = fileURLToPath(import.meta.url);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bunup",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.30",
|
|
4
4
|
"description": "An extremely fast, zero-config bundler for TypeScript & JavaScript, powered by Bun.",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"bunup": "^0.4.23",
|
|
21
21
|
"husky": "^9.1.7",
|
|
22
22
|
"typescript": "^5.8.3",
|
|
23
|
-
"create-bunup": "0.4.
|
|
23
|
+
"create-bunup": "0.4.30"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
26
|
"typescript": ">=4.5.0"
|