Updated the WebWorldWind npm project's build dependencies to ensure compatibility with the latest version of Node.js, Grunt, Karma, and Jasmine.
While changes like this are always worthwhile, I'm making it now to ensure that the original WebWorldWind source and its accompanying npm project will continue to operate for as long as possible after the [WorldWind project's suspension on April 5, 2019](https://worldwind.arc.nasa.gov/news/2019-03-08-suspension-notice). Secondary goals are eliminating all npm audit warnings from old versions of libraries used to build WebWorldWind (i.e. the devDependencies) and ensuring that unit tests continue to operate.
Summary of changes:
- WebWorldWind now builds with Node.js 10.15.3 LTS and 11.12.0. The README file and the Travis CI configuration file reflect that.
- All npm devDependencies, used for building the WorldWind project, are updated to the latest version available as of this pull request.
- All npm security audit vulnerabilities are addressed.
- Subtle errors in unit tests fixed. WorldWind's geometric unit tests erroneously modified global variables, such as Location.ZERO. These values shouldn't be encoded as global variables, but solving that is out of scope here. Previous versions of Jasmine concealed this problem but these unit tests fail with Jasmine 3.x, likely due to a change in the Jasmine interpreter lifecycle between tests.
* Add creation and deployment task of a zipped dist folder for GitHub releases
* Add comment describing script functionality
* Fix indentation
* Change compression task to use grunt plugin instead of bash script
* Add build folder to store all assets generated during build process
- Redirect test output to build folder
- Redirect dist folder output to build folder
- Redirect dist archive generation to build folder
- Add version name to dist archive
- Update WebStorm directory exclusion
* Fix api docs path in deployment task
* Fix untar operation to remove extra `build` directory
* Fix file location of CHANGELOG
- Moved HowToBuildWebWW.md to a new Building section in README.md
- Moved HowToCreateAndRunUnitTests.md to test/README.md
- Ordered npm build scripts to group testing commands
- Moved and renamed JSDoc configuration files to clarify their purpose
- Removed design-notes with the expecation of re-establishing developer focused documentation on the website or wiki.
- Closes#258
* Modify build script to write build artifacts to distribution directory
- Deposit other client consumable assets in the distribution directory
- See #280
* Remove unnecessary escape on file match
* Add clean task
* Simplify task structure
* Fix Artifactory deployment path
* Remove asset publishing directory from clean task
* Add npm clean task
* WebStorm configuration change to ignore distribution folder
* Add test-results folder as a clean target
- Removed README.md and package.json from .npmignore.
- Added interlining to .npmignore to maintain consistency with
how we format .gitignore.
- Change order of npm tasks in Gruntfile in order to have a more
cohesive pattern.
- The aforementioned is done in order to make the npm package
to work with scoping. Normally npm is able to work with whatever
file stated in the "main:" section of package.json, but with
scoping it only works with "index.js", which is the default.
* Extend package.json with additional metadata
Add command scripts in package.json
Update the dev dependencies
Update GruntSetup.txt, which should be moved to README.md eventually
* Remove unused third party libraries
* Remove build.js use ‘npm run build’ or ‘grunt’ instead
* Start cleaning the root folder (test-main.js)
* Updated markdown build guide to reflect the new streamlined build process
- Added package-lock.json file generated by npm. It is suggested to
commit it into the repository.
See: https://docs.npmjs.com/files/package-lock.json
- Removed build.js from Gruntfile.js. It's unnecessary now thanks to the
new build process.
- package.json had spaces in "type" and "url" declarations that
were automatically removed in build process.
- Added .idea/ folder to .gitignore. Consider removing the folder from
the repository altogether.
* Removed zip file compress task from build process.
* Removed grunt-contrib-compress node module from package.json
- The module is an unused dependency now, since we're not going to
backup the whole codebase + artifacts in a zip file anymore.
* Removed .idea/ folder mistakenly added to .gitignore.
- Only files that are unrelated to run configurations are added to
gitignore.
* Further corrections to .gitignore. Removed WebWorldWind.zip reference.
* Further corrections to .gitignore. Removed WebWorldWind.zip reference.
* .gitignore cleanup. .iml file correction.