UNPKG

@visulima/packem

Version:

A fast and modern bundler for Node.js and TypeScript.

4 lines (3 loc) 3.85 kB
var j=Object.defineProperty;var p=(e,r)=>j(e,"name",{value:r,configurable:!0});import{createFilter as x}from"@rollup/pluginutils";import{join as k,extname as O}from"@visulima/path";import{formatMessages as E,transform as b,build as M}from"esbuild";import{c as $}from"../../../packem_shared/constants-CwJdgxph.mjs";import{findCacheDirSync as A}from"@visulima/find-cache-dir";import{readFileSync as P}from"@visulima/fs";import{init as R,parse as S}from"es-module-lexer";import __cjs_mod__ from "node:module"; // -- packem CommonJS require shim -- const require = __cjs_mod__.createRequire(import.meta.url); var F=Object.defineProperty,C=p((e,r)=>F(e,"name",{value:r,configurable:!0}),"n$1");const h=C(async(e,r)=>{r.length>0&&(await E(r,{color:!0,kind:"warning"})).forEach(s=>e.warn(s))},"warn");var L=Object.defineProperty,v=p((e,r)=>L(e,"name",{value:r,configurable:!0}),"t");const W=v(e=>{if(e==="es")return"esm";if(e==="cjs")return e},"getEsbuildFormat"),I=v(({sourceMap:e=!0,...r})=>async function(s,o,n){if(r.minify||r.minifyWhitespace||r.minifyIdentifiers||r.minifySyntax){const i=W(n.format),l=await b(s,{format:i,loader:"js",sourcemap:e,...r});if(await h(this,l.warnings),l.code)return{code:l.code,map:l.map||null}}return null},"getRenderChunk");var T=Object.defineProperty,w=p((e,r)=>T(e,"name",{value:r,configurable:!0}),"n");const g=w(e=>e.replaceAll("\\","/"),"slash"),q=w(async e=>{const r=A("@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 R,await M({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(o){o.onResolve({filter:/.*/},async n=>{if(e.exclude?.includes(n.path))return{external:!0};if(n.pluginData?.__resolving_dep_path__)return null;if(e.include.includes(n.path)){const i=await o.resolve(n.path,{kind:"import-statement",pluginData:{__resolving_dep_path__:!0},resolveDir:n.resolveDir});return i.errors.length>0||i.warnings.length>0?i:{namespace:"optimize-deps",path:n.path,pluginData:{absolute:i.path,resolveDir:n.resolveDir}}}return null}),o.onLoad({filter:/.*/,namespace:"optimize-deps"},async n=>{const{absolute:i,resolveDir:l}=n.pluginData,[,c]=S(P(i));return{contents:c.length>0?`export * from '${g(i)}'`:`module.exports = require('${g(i)}')`,resolveDir:l}})}},...e.esbuildOptions?.plugins??[]]});const s=new Map;for(const o of e.include)s.set(o,{file:k(r,`${o}.js`)});return{cacheDir:r,optimized:s}},"optimizeDeps");var N=Object.defineProperty,U=p((e,r)=>N(e,"name",{value:r,configurable:!0}),"c");const B=U(({exclude:e,include:r,loaders:s,logger:o,optimizeDeps:n,sourceMap:i,...l})=>{const c=$;if(s!==void 0)for(let[t,a]of Object.entries(s))t=t.startsWith(".")?t:`.${t}`,typeof a=="string"?c[t]=a:a||delete c[t];const y=Object.keys(c),D=new RegExp(`\\.(${y.map(t=>t.slice(1)).join("|")})$`),_=x(r??D,e);let u,f=process.cwd();return{async buildStart(){!n||u||(u=await q({cwd:f,sourceMap:i??!1,...n}),o.debug("optimized %O",u.optimized))},name:"packem:esbuild",options({context:t}){return t&&(f=t),null},renderChunk:I({...l,sourceMap:i}),async resolveId(t){if(u?.optimized.has(t)){const a=u.optimized.get(t);if(a)return o.debug("resolved %s to %s",t,a.file),a.file}return null},async transform(t,a){if(!_(a)||u?.optimized.has(a))return null;const z=O(a),d=c[z];if(o.debug("transforming %s with %s loader",a,d),!d)return null;const m=await b(t,{format:["base64","binary","dataurl","text","json"].includes(d)?"esm":void 0,loader:d,sourcefile:a.replace(/\.[cm]ts/,".ts"),sourcemap:i,...l});return await h(this,m.warnings),m.code?{code:m.code,map:m.map||null}:null}}},"esbuildTransformer");B.NAME="esbuild";export{B as default};