animate/webGl/my-threejs-test/node_modules/glsl-token-whitespace-trim
Sam 907ebae4c0 larry babby and threejs for glsl 2024-06-24 21:24:00 +12:00
..
fixtures larry babby and threejs for glsl 2024-06-24 21:24:00 +12:00
LICENSE.md larry babby and threejs for glsl 2024-06-24 21:24:00 +12:00
README.md larry babby and threejs for glsl 2024-06-24 21:24:00 +12:00
index.js larry babby and threejs for glsl 2024-06-24 21:24:00 +12:00
package.json larry babby and threejs for glsl 2024-06-24 21:24:00 +12:00

README.md

glsl-token-whitespace-trim

stable

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.

Usage

NPM

trim(tokens, [all])

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)

License

MIT, see LICENSE.md for details.