volojs/volo

Using async! dependency with `=` in the URL when converting a module

Opened this issue · 1 comments

When adding a file that requires google maps, I've tried to specify a dependency using the async plugin.

List any dependencies, comma separated, no spaces:  async!https://maps.googleapis.com/maps/api/js?key=KEY&sensor=false
What global to use for exported value []:  google.maps

This results in a wrapper that looks like this:

//Wrapped in an outer function to preserve global this
(function (root) { var amdExports; define(['async!https://maps.googleapis.com/maps/api/js?key'], function (KEY&sensor=false) { (function () {

Couldn't find a way to work around this. I've tried escaping the equals characters with a backslash, but that just causes the backslash to be included in the dependency path with virtually identical result. Quoting did not help either.

The original intention was to have an empty .js file to use for shimming, but I thought it'd be nice to be able to create a wrapper using volo. I currently work around this by reverting to shim configuration and adding a dummy AMD module that has no dependencies and exports null.

Looks like the parsing for = separators for command line name=value pairs is getting in the way for this. Putting it in the 0.3.1 bucket.