These changes makes zuul use ngrok for exposing itself to the outside
world, rather than the default localtunnel implementation. That's because
we've had quite a lot of issues with flakyness which seems to be related
to localtunnel, e.g.:
```
- starting: <internet explorer 9 on Windows 2008>
events.js:160
throw er; // Unhandled 'error' event
^
Error: connection refused: localtunnel.me:44896 (check your firewall settings)
at Socket.<anonymous> (/home/travis/build/janl/mustache.js/node_modules/localtunnel/client.js:84:32)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at emitErrorNT (net.js:1290:8)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickCallback (internal/process/next_tick.js:104:9)
```
I thought this was fixed by using Node.js 6 instead of Node.js 4,
but sadly that was not the case as it re-appeared with Node.js 6 as well.
Had to use a custom version of zuul-ngrok which contains a newer version
of ngrok. The dependency used by the upstream module threw an error when
running on my computer, the updated version worked as a charm though.
We should change to using the upstream module as soon as the PR with that
ngrok version bump lands.
Set `concurrency: 1` otherwise ngrok would fail and make IE11 tests stall
forever because of too many connections being made within a short time
period. I've notice it can take quite some time to get all the tests
through as it seems ngrok still seems to throttle the connections somehow,
but the important thing is getting these tests to work.
Previously mocha, uglifyjs and jshint used when publishing a new version were ensured / installed by `Rakefile` via the pre-commit git hook. Those modules were automatically installed globally if not present in `$PATH`.
Installing modules globally has one particular downside that we should avoid: we can't ensure developers publishing new mustache.js versions have the same version of these 3rd party modules installed.
If instead we make these modules local dev dependencies, we can ensure which versions are installed, and we make 3rd party dependencies explicit by listing them in `package.json`, rather than in `Rakefile`.
First shot at getting greenkeeper to ignoring eslint updates landed with commit 85fa743258.
Sadly that commit had a minor `greenkeper` misspelling in package.json, which obviously didn't have much effect for greenkeeper.
This commit fixes that blooper in hopes that greenkeeper will stop opening PRs about new eslint versions, as we don't want to
update at the moment cause eslint 3.x requires Node.js v4.x.
Removing hacks to get v0.6 tests running; specific npm client version + upgrading mocha.
Also v0.12 of node has been released, therefore there's no reason to still keep testing on v0.11.
Covers the project with browser tests, not only V8 via node/iojs. Tests are runned with [zuul](https://github.com/defunctzombie/zuul) which
provides simple local browser testing, aswell as cloud testing on multiple browsers with [saucelabs](http://saucelabs.com).
CLI used to render a mustache template with a data view, writes the template into stdout when successfull. Otherwise meaningfull errors into stderr.
Fixes#424
- Documented required version of npm while developing
- Use the latest npm client for node >= v0.8 on travis
Special quirks to get node v0.6 supported:
- npm client v1.3.26 on travis
- jshint 2.4.4 as >= 2.5.x breaks
This change allows the AMD define signature to match what common AMD optimizers use to find define calls that need naming.
Also updates the volo package.json entry so that the correct version of mustache can be fetched properly.