JSPM

glslify-resolve-remote

2.1.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q31226F
  • License MIT

A replacement resolver function for glslify that lets you automatically pull in GLSL modules from npm

Package Exports

  • glslify-resolve-remote

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (glslify-resolve-remote) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

glslify-resolve-remote experimental

A replacement resolver function for glslify that lets you automatically pull in GLSL modules from npm.

One part of a potential glslify server API for allowing client-side shader development without the need for a local server.

Note: npm install hooks are not executed because security, so you'll want to make sure that the package you're requiring has the source files available in full on publish. 99% of the time this won't be an issue though :)

Usage

NPM

resolve([options])

To use this module, pass it in as a custom resolver to glslify like so:

var resolve = require('glslify-resolve-remote')
var bundle  = require('glslify-bundle')
var deps    = require('glslify-deps')

var src = `
#pragma glslify: ease = require(glsl-easings/bounce-in-out)

void main() {
  gl_FragColor = vec4(vec3(ease(0.5)), 1.0);
}
`

var depper = deps({
  resolve: resolve({
    cache: __dirname + '/.glslify'
  })
})

depper.inline(src, '/', function(err, src) {
  if (err) throw err

  // no "node_modules" required!
  console.log(src)
})

The following options are also available:

  • cache: change where downloaded packages are stored on disk. They should only be downloaded once when first required.
  • offline: rely solely on the cache wherever possible. Identended for use in presentations at events such as CampJS, where internet is limited or unavailable. Also useful if you're on the go and don't always have internet access.

License

MIT. See LICENSE.md for details.