Skip to content

About

through stream that transforms glsl-parser AST nodes and rewrites variables into shorter forms

Resources

Stars

14 stars

Watchers

5 watching

Forks

Latest commit

 

History

39 Commits

Folders and files

Repository files navigation

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

About

through stream that transforms glsl-parser AST nodes and rewrites variables into shorter forms

Resources

Stars

14 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages