vite-plugin-dev-external
Version:
3 lines (2 loc) • 1.23 kB
JavaScript
;const c=require("magic-string"),o=require("estree-walker"),p="/@id/",i="external:",u=`${p}${i}`;function x(e){return Array.isArray(e)?e.filter(Boolean):e?[e]:[]}function d(e){if(!e)return()=>!1;if(e===!0)return()=>!0;if(typeof e=="function")return function(r){return!r.startsWith("\0")&&Reflect.apply(e,void 0,arguments)};const n=new Set,t=[];for(const r of x(e))r instanceof RegExp?t.push(r):n.add(r);return r=>n.has(r)||t.some(s=>s.test(r))}const g={name:"module-prefix-transform",transform(e,n){if(!e.includes(u))return;const t=this.parse(e);let r;if(o.walk(t,{enter(s){if(!("source"in s))return;const{source:a}=s;if(!a||a.type!=="Literal")return;const{value:f}=a;if(typeof f!="string"||!f.startsWith(u))return;const l=a.start+1;r??(r=new c(e)),r.overwrite(l,l+u.length,"")}}),!!r)return{code:r.toString(),map:r.generateMap({file:n,includeContent:!0,hires:!0})}}};function h(e){let n;return{name:"vite-plugin-externalize",apply:"serve",configResolved({plugins:t,build:{rollupOptions:r}}){n=d((e==null?void 0:e.external)??r.external),Array.prototype.push.call(t,g)},resolveId(t,r){if(n(t,r,!1))return`${i}${t}`},load(t){if(t.startsWith(i))return"export{}"}}}module.exports=h;
//# sourceMappingURL=index.cjs.map