gl-modules/glslify-workshopper — pull request #20 by chrisdickinson (2014-06-24 08:02:29+00:00)
Title: fix beefy

Disable watchify, for now.

Some backstory:

1. Beefy is currently parsing entry options incorrectly in programmatic mode. The watchify beefy bundler had one idea of what the entry options were, while the request handler had a different idea. This caused the crashes seen earlier.
2. Since the workshopper is (likely) going to be installed globally, and the "cwd" is set to a location within the workshopper itself, if a user has installed watchify globally it will appear to be "on path", from beefy's perspective.
3. I added a temporary fix to the arg parsing to get watchify, but since we create a beefy instance for every lesson in the workshopper we run into EMFILE pretty quickly, since under the hood beefy is spinning up a new watchify for each beefy call. Even with a more respectable ulimit, things slow to a crawl since it's effectively browserifying 11 large-ish bundles and installing a small armada of FSWatchers.

For the future, we should probably refactor the lessons a bit so they don't each have to spin up a beefy server, but instead can share a single beefy server -- This'll let us use watchify, and should have a positive effect on startup time.