@visulima/packem
Version:
A fast and modern bundler for Node.js and TypeScript.
2 lines (1 loc) • 1.27 kB
JavaScript
;var f=Object.defineProperty;var i=(e,t)=>f(e,"name",{value:t,configurable:!0});const h=require("node:fs"),y=require("@visulima/fs"),o=require("@visulima/path"),w=require("stylus"),_=require("../../../../../packem_shared/sourcemap-BtmVnsYw.cjs"),j=i(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),q=j(w);var P=Object.defineProperty,m=i((e,t)=>P(e,"name",{value:t,configurable:!0}),"a");const b=m(async(e,t)=>{if(!(!e.sources||e.sourcesContent))return await Promise.all(e.sources.map(async r=>{const s=o.normalize(o.join(t,r));if(h.existsSync(s))return y.readFileSync(s)}).filter(Boolean))},"populateSourcemapContent"),C={name:"stylus",async process({code:e,map:t}){const r={...this.options},s=o.normalize(o.dirname(this.id)),c=[s,o.join(s,"node_modules"),o.join(this.cwd,"node_modules")];r.paths&&c.push(...r.paths);const a=q(e,r).set("filename",this.id).set("paths",c).set("sourcemap",{basePath:s,comment:!1});e=await m(async()=>await new Promise((n,d)=>{a.render((u,l)=>u?d(u):n(l))}),"render")();const p=a.deps();for(const n of p)this.deps.add(o.normalize(n));return a.sourcemap&&(a.sourcemap.sourcesContent=await b(a.sourcemap,s)),{code:e,map:_.m(a.sourcemap).toString()??t}},test:/\.(styl|stylus)$/i};module.exports=C;