Trim the whitespace within an array of GLSL tokens provided by glsl-tokenizer. Useful for minimising shader source size, especially after heavy processing steps such as seen in glslify or as part of a GLSL minifier.
Trims the whitespace in an array of GLSL tokens
. By default, this will trim repeated to newlines such that no more than two newlines will appear in a row.
If you're more concerned about size than aesthetics, you can pass true
as the second argument to remove all extraneous whitespace (more or less).
const tokenize = require('glsl-tokenizer')
const string = require('glsl-token-string')
const trim = require('glsl-token-whitespace-trim')
const fs = require('fs')
const src = fs.readFileSync('shader.glsl', 'utf8')
const tokens = tokenize(src)
trim(tokens, true)
const trimmed = string(tokens)
MIT, see LICENSE.md for details.