UNPKG

esbuild-glsl

Version:

ESBuild plugin to load webGL shaders from .glsl files.

4 lines (3 loc) 460 B
import i from"fs";var o=()=>(Date.now()*Math.random()).toString(36).slice(0,8),r=`webgl-${o()}`,u=()=>({name:r,setup(n){n.onLoad({filter:/\.glsl$/,namespace:"file"},l=>{let e=i.readFileSync(l.path,"utf8").replace(/\/\*.*\*\//gm,"").replace(/\/\/.*/g,"").replace(/ ([=+*-/%><&^|]|[=!><+*-/]=|&&|\|\||\^\^) /g,t=>t.trim()).split(` `).map(t=>t.trim()).filter(Boolean);return{contents:`${e[0]} ${e.slice(1).join("")}`,loader:"text"}})}});export{u as webglPlugin};