@mango-js/parcel-namer
Version:
Parcel v2 namer for Mango
2 lines (1 loc) • 913 B
JavaScript
import s from"path";import{Namer as v}from"@parcel/plugin";var T=new v({name({bundle:n,options:m}){const h=m.env.SRC_PATH,t=n.getMainEntry(),o=n.type,c=o==="css";if(!t)return c?`styles/styles.${n.hashReference}.css`:null;const _=o==="js",y=t.env.isIsolated(),g=t.env.sourceType==="script"&&!y&&_,e=t.query,r=t.pipeline==="function",p=t.pipeline==="function-util",l=e.has("functionAsset"),u=e.has("page"),f=e.has("component"),S=e.has("nohash"),A=e.get("publicDir")||"",P=t.filePath,i=s.relative(h,P),d=i.startsWith("assets"+s.sep)?s.dirname(i):r?"__mango__/functions":p?"__mango__/functions/utils":l?"__mango__/functions/assets":u?"pages":f?s.join("components",s.dirname(i)):c?"styles":g?"scripts":A;let a=u?"page":c?"styles":r?"function":p?"function-util":l?"function-asset":s.basename(i,s.extname(i));return!n.needsStableName&&!S&&!f&&(a+="."+n.hashReference),a+="."+o,s.posix.join(d,a)}});export{T as default};