Use require
whenever available to load viz.js
#4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It used to be the case that I'd get an error like
when trying to use this library in the browser. The offending code is here:
.
The problem is that the existing code expects browsers to always have loaded viz.js as a globally available script and that
require
is never available in browsers. Using pulp's browserify command makes both assumptions incorrect (as you can see in the second screenshot, browserify makes arequire
function available).Now the code tries
require
first and falls back to a globalViz
only ifrequire
fails.I tested the new code on the command line (via
pulp test
), in the browser (viapulp browserify
) withrequire
, and in the browser withoutrequire
(manually edited the JS bundle to skip therequire
attempt).