vite-bundle-analyzer
Version:
a modern vite bundle analyzer tool
1 lines • 5.91 kB
JavaScript
const e=require("./server-CntUIq37.js"),t=e.__toESM(require("fs")),o=e.__toESM(require("path")),n=e.__toESM(require("url"));var r=e.__commonJS({"node_modules/.pnpm/mri@1.2.0/node_modules/mri/lib/index.js"(e,t){function o(e){return null==e?[]:Array.isArray(e)?e:[e]}t.exports=function(e,t){t=t||{};var n,r,a,l,i,s={_:[]},f=0,u=0,c=0,d=(e=e||[]).length;let g=void 0!==t.alias,p=void 0!==t.unknown,h=void 0!==t.default;if(t.alias=t.alias||{},t.string=o(t.string),t.boolean=o(t.boolean),g)for(n in t.alias)for(f=0,r=t.alias[n]=o(t.alias[n]);f<r.length;f++)(t.alias[r[f]]=r.concat(n)).splice(f,1);for(f=t.boolean.length;f-- >0;)for(u=(r=t.alias[t.boolean[f]]||[]).length;u-- >0;)t.boolean.push(r[u]);for(f=t.string.length;f-- >0;)for(u=(r=t.alias[t.string[f]]||[]).length;u-- >0;)t.string.push(r[u]);if(h){for(n in t.default)if(l=typeof t.default[n],r=t.alias[n]=t.alias[n]||[],void 0!==t[l])for(t[l].push(n),f=0;f<r.length;f++)t[l].push(r[f])}let m=p?Object.keys(t.alias):[];for(f=0;f<d;f++){if("--"===(a=e[f])){s._=s._.concat(e.slice(++f));break}for(u=0;u<a.length&&45===a.charCodeAt(u);u++);if(0===u)s._.push(a);else if("no-"===a.substring(u,u+3)){if(l=a.substring(u+3),p&&!~m.indexOf(l))return t.unknown(a);s[l]=!1}else{for(c=u+1;c<a.length&&61!==a.charCodeAt(c);c++);for(l=a.substring(u,c),i=a.substring(++c)||f+1===d||45===(""+e[f+1]).charCodeAt(0)||e[++f],r=2===u?[l]:l,c=0;c<r.length;c++){if(l=r[c],p&&!~m.indexOf(l))return t.unknown("-".repeat(u)+l);!function(e,t,o,n){var r,a=e[t],l=~n.string.indexOf(t)?null==o||!0===o?"":String(o):"boolean"==typeof o?o:~n.boolean.indexOf(t)?"false"!==o&&("true"===o||(e._.push(0*(r=+o)==0?r:o),!!o)):0*(r=+o)==0?r:o;e[t]=null==a?l:Array.isArray(a)?a.concat(l):[a,l]}(s,l,c+1<r.length||i,t)}}}if(h)for(n in t.default)void 0===s[n]&&(s[n]=t.default[n]);if(g)for(n in s)for(r=t.alias[n]||[];r.length>0;)s[r.shift()]=s[n];return s}}}),a=e.__toESM(r());let l="\n";"win32"===process.platform&&(l="\r\n");const i="Analyzer modes. Should be `server`, `static` or `json`. "+l+e.ansis_default.green("In `server` mode analyzer will start HTTP server to show bundle report.")+l+e.ansis_default.green("In `static` mode single HTML file with bundle report will be generated.(If you use this mode with `openAnalyzer` option also start HTTP server).")+l+e.ansis_default.green("In `json` mode single JSON file with bundle report will be generated."),s=process.cwd(),f=["js","mjs","cjs","ts","mts","cts"];async function u(r){let{config:a,mode:l,filename:i,port:u,open:c,summary:d,...g}=r,p=function(n){if(n)return n;let r=e.searchForPackageRoot(process.cwd());for(let e of f){let n=o.default.join(r,"vite.config."+e);if(t.default.existsSync(n))return n}throw Error("Missing Vite configuration file. Use --config <path> to specify location")}(a),h=await import(function(r){let a=e.searchForWorkspaceRoot(s),l=function(e,n){let r=n;for(;r!==o.default.parse(r).root;){let n=o.default.join(r,"node_modules",e);if(t.default.statSync(n).isDirectory())return n;r=o.default.dirname(r)}return null}(r,a);if(!l)throw Error(`Cannot find module '${r}' in '${a}'`);let i=o.default.join(l,"package.json"),f=JSON.parse(t.default.readFileSync(i,"utf-8")),u=f.module||f.main,c="module"===f.type;if(f.exports&&!u)for(u=f.exports["."]||f.exports["./index"]||f.exports["./index.js"];"string"!=typeof u;)if(u)u=c?u.import||u.default:u.require||u.default;else break;if(!u)throw Error(`Cannot find entry point for module '${r}'`);if(u=o.default.join(l,u),t.default.existsSync(u)&&t.default.statSync(u).isFile())return n.default.pathToFileURL(u).href;throw Error(`Cannot resolve entry point for package '${r}'`)}("vite"));await h.build({configFile:p,plugins:[e.analyzer({analyzerMode:l,fileName:i,openAnalyzer:c,summary:d,analyzerPort:+u,...g})]})}const c={mode:{alias:"m",desc:i,default:"server",flag:"<mode>"},filename:{alias:"f",desc:"Output file name. If not specified will be generated automatically.",default:"stats"},port:{alias:"p",desc:"Port for HTTP server.",default:"8888",flag:"<port>"},reportTitle:{alias:"t",desc:"Title for bundle report.",default:"vite-bundle-analyzer",flag:"[title]"},open:{alias:"o",desc:"Open report in default browser.",default:!0,flag:"[bool]"},defaultSizes:{alias:"d",desc:"Default size type. Should be `stat` , `parsed` , `gzip` or `brotli`.",default:"stat",flag:"<string>"},summary:{alias:"s",desc:"Show full chunk info to stdout.",default:!0,flag:"[bool]"},config:{alias:"c",desc:"Path to vite config file. Automic search for vite configuration in your current workspace.",default:"",flag:"<path>"},include:{alias:"include",desc:"Include all assets matching any of these conditions",default:[],flag:"<string>"},exclude:{alias:"exclude",desc:"Exclude all assets matching any of these conditions.",default:[],flag:"<string>"}},d=(0,a.default)(process.argv.slice(2),{alias:Object.fromEntries(Object.entries(c).map(([e,{alias:t}])=>[t,e])),default:Object.fromEntries(Object.entries(c).map(([e,{default:t}])=>[e,t])),boolean:["open","summary"]});exports.OPTIONS=c,exports.exec=function(){(d.h||d.help)&&(!function(){console.log("Usage: vite-bundle-analyzer [options]"+l),console.log("Options:");let e=Object.entries(c).map(([e,t])=>`-${t.alias}, --${e} ${t.flag||""}`).reduce((e,t)=>Math.max(e,t.length),0),t=" ".repeat(e+6);for(let[o,n]of Object.entries(c)){let r=`-${n.alias}, --${o} ${n.flag||""}`.padEnd(e+4),a=n.default?` (default: ${function(e){if(null==e)return"";switch(typeof e){case"boolean":case"number":return e.toString();case"string":return e;case"object":return"[object]";case"function":return"[function]";default:return""}}(n.default)})`:"",[i,...s]=n.desc.split(l);if(!s.length){console.log(` ${r}${i}${a}`);continue}console.log(` ${r}${i}`);let f=s.length-1;for(let e=0;e<s.length;e++){let o=s[e];if(e===f){console.log(`${t}${o}${a}`);break}console.log(`${t}${o}`)}console.log("")}}(),process.exit(0)),u(d).catch(e=>{console.error(e),process.exit(1)})};