An API and accompanying client for generating glslify shaders in the browser
Last updated 6 years ago by hughsk .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install glslify-api 
SYNC missed versions from official npm registry.

glslify-api experimental

An API and accompanying client for generating glslify shaders in the browser.

This is done by running glslify in the browser, but redirecting its functions to read and resolve modules to a thin server. Files are cached locally using level.js to speed up the bundling speed after the first run – it can even work offline after downloading the required package once!

See the example directory for a simple example.


Usage: Server

handle = api([cachedir])

Returns an express-style route handler. cachedir is the location to store temporary packages (using npm-file), and defaults to .glslify.

handle(req, res, next)

Given a request and response pair, handle a route. Will call next if there is an error or a appropriate route is not found.

Usage: Browser

getShader = api(serverURI, [options])

Returns a function for compiling shaders within the browser. serverURI should be the URI where you're hosting your copy of the glslify-api server – if you don't pass one in that's OK too, there's one being hosted at

Available options:

  • ttl: the maximum amount of time to cache a file locally, in milliseconds.

getShader(source, done(err, result))

Pass in a shader body source, and done will be called with either an error or the glslified shader when ready.



Should return:

  "glslify": true

POST /-/shader

Pipe a whole shader to the request body and get a glslified shader in return. This is a little more blunt than the approach in the client, but can be useful for small, quick experiments.

GET /:package/:file...

Returns the raw contents of file from the package package on npm.


MIT. See for details.

Current Tags

  • 1.1.0                                ...           latest (6 years ago)

4 Versions

  • 1.1.0                                ...           6 years ago
  • 1.0.2                                ...           6 years ago
  • 1.0.1                                ...           6 years ago
  • 1.0.0                                ...           6 years ago
Today 0
This Week 0
This Month 3
Last Day 0
Last Week 0
Last Month 0
Dependencies (11)
Dev Dependencies (3)
Dependents (0)

Copyright 2014 - 2017 © |