esbuild-plugin-umd-wrapper
Version:
UMD wrapper for esbuild
34 lines (33 loc) • 4.17 kB
JavaScript
var g=Object.defineProperty;var I=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames,y=Object.getOwnPropertySymbols;var x=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable;var b=(r,e,o)=>e in r?g(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o,u=(r,e)=>{for(var o in e||(e={}))x.call(e,o)&&b(r,o,e[o]);if(y)for(var o of y(e))w.call(e,o)&&b(r,o,e[o]);return r};var D=(r,e)=>{for(var o in e)g(r,o,{get:e[o],enumerable:!0})},U=(r,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of k(e))!x.call(r,t)&&t!==o&&g(r,t,{get:()=>e[t],enumerable:!(i=I(e,t))||i.enumerable});return r};var W=r=>U(g({},"__esModule",{value:!0}),r);var K={};D(K,{default:()=>C,umdWrapper:()=>N});module.exports=W(K);var B='typeof globalThis < "u" ? globalThis : typeof self < "u" ? self : this',j={react:"React","react-dom":"ReactDOM","react-dom/client":"ReactDOM",jquery:"jQuery",lodash:"_",underscore:"_",cropperjs:"Cropper","@popperjs/core":"Popper",backbone:"Backbone"},v={external:"inherit",libraryName:"",amdLoaderName:"define",globalIdentifier:B,globals:j},$=`
if(__exports != exports)module.exports = exports;return module.exports}));`,h=["umd","cjs"];var q=r=>r?`
var gN={${r}},
gReq=function(r){var mod = r in gN ? g[gN[r]] : g[r]; return mod };`:"",F=({depsValKey:r})=>`var d={${r}},
r=function(m){
if(m in d) return d[m];
if(typeof require=="function") return require(m);
throw new Error("Cannot find module '"+m+"'")
};
return f(r)`,O=({hasDependencies:r,depsKeys:e,depsValKey:o})=>r?`function(${e}){${F({depsValKey:o})}}`:"f",A=({depsKeys:r,depsValKey:e,amdLoader:o,lib:i,defineDeps:t,globalIdentifier:m,knownDepNames:d,amdId:a})=>{let n=q(d),p=t!="[]",c=p?"require":"",l=p?`${t},`:"",f="";return a?f=`"${a}",`:i&&a!==!1&&(f=`"${i}",`),`(function(g,f){
if(typeof exports=="object"&&typeof module<"u"){
module.exports=f(${c})
}else if("function"==typeof ${o} && ${o}.amd){
${o}(${f}${l}${O({hasDependencies:p,depsValKey:e,depsKeys:r})})
}else {
${n}
g["${i}"]=f(${n==""?"":"gReq"})
}
}(${m},function(${c}){
var exports={};
var __exports=exports;
var module={exports};`},E=({depsKeys:r,depsValKey:e,amdLoader:o,defineDeps:i,globalIdentifier:t,knownDepNames:m,amdId:d})=>{let a=q(m),n=i!="[]",p=n?"require":"",c=n?`${i},`:"",l=d?`"${d}",`:"";return`(function(g,f){
if(typeof ${o}=="function"&&${o}.amd){
${o}(${l}${c}${O({hasDependencies:n,depsKeys:r,depsValKey:e})})
}else if(typeof exports=="object" && typeof module<"u"){module.exports=f(${p})}else{
${a}
var m=f(${a==""?"":"gReq"});
for(var i in m) g[i]=m[i]
}}(${t},function(${p}){
var exports={};
var __exports=exports;
var module={exports};`},R=({external:r,amdLoader:e,lib:o,globalIdentifier:i,dependencyNames:t,amdId:m})=>{let d=r!=null&&r.length?`["${r.join('","')}"]`:"[]",a=[],n={};r&&(a=r.map((s,_)=>(n[s]=s,{key:`_d_${_}`,val:s}))),n=u(u({},n),t);let p=a.map(s=>s.key).join(","),c=a.map(s=>`"${s.val}": ${s.key}`).join(","),l=Object.keys(n).filter(s=>r.includes(s)).map(s=>`"${s}":"${n[s]}"`).join(","),f={depsKeys:p,depsValKey:c,amdLoader:e,defineDeps:d,globalIdentifier:i,knownDepNames:l,amdId:m};return o?(f.lib=o,A(f).replace(/\n/g,"")):E(f).replace(/\n/g,"")};var P=new Error(`Boolean true is not a valid value for "amdId" option.
Only a string or boolean false is accepted.`),N=(r={})=>{let e=u(u({},v),r);return{name:"umd-wrapper",setup(i){var p;let{initialOptions:t}=i;if(e.amdId===!0)throw P;if(!h.includes(t.format))return;let d={external:e.external=="inherit"?(p=t.external)!=null?p:[]:Array.isArray(e.external)?e.external:[],amdLoader:e.amdLoaderName,lib:e.libraryName,globalIdentifier:e.globalIdentifier,dependencyNames:u(u({},j),e.globals),amdId:e.amdId};t.format="cjs";let a=!0,n=R(d);t.banner?t.banner.js?t.banner.js.startsWith(n)||t.banner.js.endsWith(n)?a=!1:t.banner.js+=n:t.banner.js=n:t.banner={js:n},a&&(t.footer?t.footer.js?t.footer.js+=$:t.footer.js=$:t.footer={js:$}),i.onEnd(()=>{var c,l,f,s;(l=(c=t.banner)==null?void 0:c.js)!=null&&l.includes(n)&&(t.banner.js=t.banner.js.replace(n,"")),(s=(f=t.footer)==null?void 0:f.js)!=null&&s.includes($)&&(t.footer.js=t.footer.js.replace($,""))})}}},C=N;0&&(module.exports={umdWrapper});