esbuild-plugin-glsl-minify
Version:
A GLSL plugin for esbuild.
8 lines (7 loc) • 3.53 kB
JavaScript
/**
* esbuild-plugin-glsl-minify v0.0.1 build Tue Sep 20 2022
* https://github.com/w8r/esbuild-plugin-glsl
* @license Zlib
*/
;var h=Object.create;var n=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var A=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var w=(e,r)=>{for(var a in r)n(e,a,{get:r[a],enumerable:!0})},o=(e,r,a,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of b(r))!v.call(e,t)&&t!==a&&n(e,t,{get:()=>r[t],enumerable:!(s=S(r,t))||s.enumerable});return e};var m=(e,r,a)=>(a=e!=null?h(A(e)):{},o(r||!e||!e.__esModule?n(a,"default",{value:e,enumerable:!0}):a,e)),E=e=>o(n({},"__esModule",{value:!0}),e);var F={};w(F,{default:()=>M,glsl:()=>M});module.exports=E(F);var D=m(require("fs"),1),x=m(require("util"),1);var p=new Set(["x","y","z","w","r","g","b","a","s","t","xy"]),c=new Set(["attribute","uniform","varying","layout","centroid","flat","smooth","noperspective","patch","sample","subroutine","in","out","inout","invariant","discard","mat2","mat3","mat4","dmat2","dmat3","dmat4","mat2x2","mat2x3","mat2x4","dmat2x2","dmat2x3","dmat2x4","mat3x2","mat3x3","mat3x4","dmat3x2","dmat3x3","dmat3x4","mat4x2","mat4x3","mat4x4","dmat4x2","dmat4x3","dmat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","dvec2","dvec3","dvec4","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","samplerCubeShadow","sampler1DArray","sampler2DArray","sampler1DArrayShadow","sampler2DArrayShadow","isampler1D","isampler2D","isampler3D","isamplerCube","isampler1DArray","isampler2DArray","usampler1D","usampler2D","usampler3D","usamplerCube","usampler1DArray","usampler2DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","samplerCubeArray","samplerCubeArrayShadow","isamplerCubeArray","usamplerCubeArray","auto","if","break","int","case","long","char","register","continue","return","default","short","do","sizeof","double","static","else","struct","entry","switch","extern","typedef","float","union","for","unsigned","goto","while","enum","void","const","signed","volatile","byte","ushort","ubyte","define","bool","endif","define","include","ifdef","floor","pow","mix","sin","cos","tan","asin","acos","atan","exp","log","sqrt","main","abs","sign","ceil","fract","mod","min","clamp","max","step","smoothstep","length","distance","dot","cross","normalize","faceforward","reflect","refract","texture2D","true","false"]);var C="a".charCodeAt(0),R=0;function u(){let e="",r=++R;do e=String.fromCharCode(C+(r-1)%26)+e,r=(r-1)/26|0;while(r!==0);return f(e)&&(e=u()),e}var f=e=>c.has(e),L=e=>/^((a_|u_|gl_)|([A-Z0-9_]+$))/.test(e),I=e=>{if(e.length>4)return!1;for(let r of e)if(!p.has(r))return!1;return!0},l=new Map,_=e=>{let r=l.get(e);return l.has(e)||(f(e)||L(e)||I(e)?r=e:r=u(),l.set(e,r)),l.get(e)},d=e=>e.replace(/[a-zA-Z_]\w*/g,_);function g(e,r){return(r?d(e):e).replace(/\/\/.*/g,"").replace(/\/\*+\s+(.|\n)*?\*\//gm,"").replace(/^\s+/gm,"").replace(/ +/gm," ").replace(/\n+/gm,`
`)}function M({minify:e=!1,mangle:r=!1}={}){let a=x.promisify(D.readFile);return{name:"glsl",setup(s){async function t(y){let i=await a(y.path,"utf8");return{contents:e?g(i,r):i,loader:"text"}}s.onLoad({filter:/\.(?:frag|vert|glsl|wgsl)$/},t)}}}0&&(module.exports={glsl});