The current `1.22.1` package on npm is a bad build. Since we can't publish
over old versions, we need to deprecate `1.22.1` and publish this update.
There were no code changes.
This change allows travis to deploy the generate zip files and
npm packages in addition to the build output. Each package
gets a unique name based on branch name and build number.
Also updated deployment step not to delete these packages so that
they can be depended on until the branch is merged.
1. Running travis under node 4.3.x gives a decent improvement over 0.12.
2. Move `cloc` to the end of the build since it's the least important.
3. Take advantage of multiple cores for combine/minification
Number 3 reduced `makeZipFile` times on my machine from 5:40 to 2:30,
performance increases has transferred to travis as well. Because
travis reports 32 cores and trying to use them all results in
travis killing the build, I put in a hardcoded limit of 8 for now.
My approach is a little hacky (I exec a seprate gulp task passing a base64
encoded string on the command line), but I couldn't determine a better
way to handle it with gulp because there's no programmatic way to spawn
a task (I think this is being fixed in gulp 4, so we'll revisit when that
comes out).
Ahead of the 1.18 release, I figured it was a good idea to
update our npm modules, since a bunch of them were out of
date. I had to write an issue up for `strip-comments`, but
other than that, no code changes were needed on our end.
1. Clean up code so `Source/Cesium.js` loads cleanly in a Node app.
Not all functionality is supported or tested.
2. Remove some unecessary jsHint global configurations
3. Add `.npmignore` so we include the minimum needed to use Cesium in a browser or from within Node.
4. Update NPM modules to latest version.
5. `requirejs` is now a non-dev dependancy for publishing to NPM.
6. Add `index.js` for requiring Cesium as an NPM module.
7. Update package.json with info needed for NPM publishing.
So it turns out that jsHint no longer works on Node 0.10.x, which is
ancient anyway. So I updated Travis to use 0.12.x. I then decided to
update our .jshintrc to take advantage of the latest JSHint features and
that produced a TON of new (perfectly valid) errors about unused variables,
empty code blocks, and unused defined globals, which I have now cleaned up.
This also uncovered a bunch of other stuff that I also fixed.
In summary:
1. Update travis to use Node 0.12.x
2. Update .jshintrc to take advantage of new features
3. Fix bad code pointed out by said features
4. Remove all uneeded `jasmine` globals in spec files
5. Generate a `Specs` specific .jshintrc as part of the build which enables jasmine mode in jshint
6. Move `QuadtreePrimitive` to Development Sandcastle gallery.
7. Update NPM modules to latest versions.
8. Lock NPM modules to specific versions to avoid untested updates in the future.
9. Ran `sortRequires`
1. Move all build related code to gulpfile.js
2. Add `npm` scripts for all gulp tasks so no one needs to install gulp globally.
3. Added new `jshint-watch` task for continually running jsHint on changed files and writing the results to the console.