@devup-ui/rsbuild-plugin
Version:
Zero Config, Zero FOUC, Zero Runtime, CSS in JS Preprocessor
2 lines (1 loc) • 953 B
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("node:fs/promises"),d=require("node:path"),w=require("@devup-ui/wasm");let s="";const v=({include:u=[],package:a="@devup-ui/react",extractCss:g=!0,interfacePath:n="df",cssFile:e=d.resolve(n,"devup-ui.css")}={})=>({name:"devup-ui-rsbuild-plugin",async setup(o){g&&(await i.mkdir(n,{recursive:!0}),await i.writeFile(d.join(n,".gitignore"),"*",{encoding:"utf-8"}),await i.writeFile(e,""),o.transform({test:e},()=>s),o.transform({test:/\.(tsx|ts|js|mjs|jsx)$/},async({code:l,resourcePath:t})=>{if(u.length?new RegExp(`node_modules(?!(${u.map(m=>`.*${m}`).join("|").replaceAll("/","[\\/\\\\_]")})([\\/\\\\.]|$))`).test(t):t.includes("node_modules"))return l;const{code:p,css:r,map:c}=w.codeExtract(t,l,a,e);return r&&s.length<r.length&&(s=r,await i.writeFile(e,`/* ${t} ${Date.now()} */`,{encoding:"utf-8"})),{code:p,map:c}}))}});exports.DevupUIRsbuildPlugin=v;