This is almost a clone from issue #158 however, browserify should now work and packaging tools like zeit-pkg don't. These packaging tools can't generate executables with Dynamically-assembled require() calls.
Working around wasn't difficult, just replace
widget.classes.forEach(function(name) {
var file = name.toLowerCase();
widget[name] = widget[file] = require('./widgets/' + file);
});
with
widget['Node'] = widget['node'] = require('./widgets/node');
widget['Screen'] = widget['screen'] = require('./widgets/screen');
widget['Element'] = widget['element'] = require('./widgets/element');
widget['Box'] = widget['box'] = require('./widgets/box');
....
Still, it would be nice if this would work by default.
Note: I just tested zeit-pkg but according to the documentation nexe can't deal with the original code either.