Skip to content

Latest commit

 

History

History
43 lines (28 loc) · 1.92 KB

README.md

File metadata and controls

43 lines (28 loc) · 1.92 KB

NPM npm npm Build Status Coverage Status

glsl-min-stream

Transform glsl-parser AST nodes on-the-fly by renaming variables into shorter forms.

var tokenizer = require('glsl-tokenizer/stream')
  , parser = require('glsl-parser')
  , deparser = require('glsl-deparser')
  , minify = require('./index')

process.stdin
  .pipe(tokenizer())
  .pipe(parser())
  .pipe(minify())           // <-- the minifier
  .pipe(deparser(false))    // <-- "false" == no unnecessary whitespace, please.
  .pipe(process.stdout)

process.stdin.resume()

API

minifier = require('glsl-minifier')([safe_word_list], should_mutate_storages) -> minifier stream

Create a through stream that rewrites incoming declared variables.

  • safe_word_list defaults to ["main"] so that the main function is not overridden.
  • should_mutate_storages, a boolean defaulted to false, determines whether the minifier should attempt to rewrite variables declared as varying, attribute, or uniform (usually you do not want to do this, as the client program is expecting specific variable names).

Testing

Run npm test to run tests


When adding a code change that differs the output, make sure to run tap with snapshots by running npm run test -- --snapshot. This will regenerate the tap-snapshot files. Make sure to commit those along with other code and test changes.

License

MIT