@visulima/packem
Version:
A fast and modern bundler for Node.js and TypeScript.
2 lines (1 loc) • 3.63 kB
JavaScript
;var $=Object.defineProperty;var d=(e,r)=>$(e,"name",{value:r,configurable:!0});const M=require("@rollup/pluginutils"),w=require("@visulima/path"),g=require("esbuild"),O=require("../../../packem_shared/constants-W_6E3QrV.cjs"),q=require("@visulima/find-cache-dir"),E=require("@visulima/fs"),b=require("es-module-lexer");var P=Object.defineProperty,C=d((e,r)=>P(e,"name",{value:r,configurable:!0}),"n$1");const y=C(async(e,r)=>{r.length>0&&(await g.formatMessages(r,{color:!0,kind:"warning"})).forEach(o=>e.warn(o))},"warn");var R=Object.defineProperty,D=d((e,r)=>R(e,"name",{value:r,configurable:!0}),"t");const S=D(e=>{if(e==="es")return"esm";if(e==="cjs")return e},"getEsbuildFormat"),A=D(({sourceMap:e=!0,...r})=>async function(o,s,t){if(r.minify||r.minifyWhitespace||r.minifyIdentifiers||r.minifySyntax){const i=S(t.format),c=await g.transform(o,{format:i,loader:"js",sourcemap:e,...r});if(await y(this,c.warnings),c.code)return{code:c.code,map:c.map||void 0}}},"getRenderChunk");var F=Object.defineProperty,z=d((e,r)=>F(e,"name",{value:r,configurable:!0}),"n");const v=z(e=>e.replaceAll("\\","/"),"slash"),W=z(async e=>{const r=q.findCacheDirSync("@visulima/packem/optimize-deps",{create:!0,cwd:e.cwd});if(!r)throw new Error('[packem:optimize-deps]: failed to find or create cache directory "node_modules/.cache/packem/optimize_deps".');await b.init,await g.build({absWorkingDir:e.cwd,bundle:!0,entryPoints:e.include,format:"esm",ignoreAnnotations:!0,metafile:!0,outdir:r,sourcemap:e.sourceMap,splitting:!0,...e.esbuildOptions,plugins:[{name:"optimize-deps",async setup(s){s.onResolve({filter:/.*/},async t=>{if(e.exclude?.includes(t.path))return{external:!0};if(!t.pluginData?.__resolving_dep_path__&&e.include.includes(t.path)){const i=await s.resolve(t.path,{kind:"import-statement",pluginData:{__resolving_dep_path__:!0},resolveDir:t.resolveDir});return i.errors.length>0||i.warnings.length>0?i:{namespace:"optimize-deps",path:t.path,pluginData:{absolute:i.path,resolveDir:t.resolveDir}}}}),s.onLoad({filter:/.*/,namespace:"optimize-deps"},async t=>{const{absolute:i,resolveDir:c}=t.pluginData,[,u]=b.parse(E.readFileSync(i));return{contents:u.length>0?`export * from '${v(i)}'`:`module.exports = require('${v(i)}')`,resolveDir:c}})}},...e.esbuildOptions?.plugins??[]]});const o=new Map;for(const s of e.include)o.set(s,{file:w.join(r,`${s}.js`)});return{cacheDir:r,optimized:o}},"optimizeDeps");var I=Object.defineProperty,L=d((e,r)=>I(e,"name",{value:r,configurable:!0}),"g");const _=L(({exclude:e,include:r,loaders:o,logger:s,optimizeDeps:t,sourceMap:i,...c})=>{const u=O.c;if(o!==void 0)for(let[a,n]of Object.entries(o)){const p=a.startsWith(".")?a:`.${a}`;typeof n=="string"?u[p]=n:n||delete u[p]}const j=Object.keys(u),x=new RegExp(`\\.(${j.map(a=>a.slice(1)).join("|")})$`),k=M.createFilter(r??x,e);let l,h=process.cwd();return{async buildStart(){!t||l||(l=await W({cwd:h,sourceMap:i??!1,...t}),s.debug("optimized %O",l.optimized))},name:"packem:esbuild",options({context:a}){a&&(h=a)},renderChunk:A({...c,sourceMap:i}),async resolveId(a){if(l?.optimized.has(a)){const n=l.optimized.get(a);if(n)return s.debug("resolved %s to %s",a,n.file),n.file}},async transform(a,n){if(!k(n)||l?.optimized.has(n))return;const p=w.extname(n),m=u[p];if(s.debug("transforming %s with %s loader",n,m),!m)return;const f=await g.transform(a,{format:["base64","binary","dataurl","text","json"].includes(m)?"esm":void 0,loader:m,sourcefile:n.replace(/\.[cm]ts/,".ts"),sourcemap:i,...c});if(await y(this,f.warnings),f.code)return{code:f.code,map:f.map||void 0}}}},"esbuildTransformer");_.NAME="esbuild";module.exports=_;