LP#1739803 Webstaff: Replace Grunt with Webpack
authorBill Erickson <berickxx@gmail.com>
Wed, 20 Dec 2017 16:13:10 +0000 (11:13 -0500)
committerJason Stephenson <jason@sigio.com>
Fri, 16 Feb 2018 18:13:41 +0000 (13:13 -0500)
commitd3651d3eed79a40bcf28c5a9f25a653b1b141e82
tree9b81aa3d5a8769853a1977e72d08d23f63875006
parent1d5630d7eecf3a37fd44524523fd811ca2a725ec
LP#1739803 Webstaff: Replace Grunt with Webpack

* Remove grunt devDependencies
* Add Webpack devDepenencies
* Copy and minify operations are now handled by Webpack via 'npm run
  build' for dev builds and 'npm run build-prod' for
  production/minified builds.
* Running 'npm run build-watch' executes webpack in --watch mode to
  watch for affected file changes and automatically rebuild.  Useful for
  development.
* Karma unit tests are now invoked directly from node via 'npm run
  test'.
* Docs and release installer updated to match.
* Removed long-outdated inline installer readme.

Webpack is configured to create bundles from sets of JS files.  As it
stands, there are 2 sets: core.bundle.js and vendor.bundle.js.  Core has
all of the EG core services that are loaded on every page.  Vendor
contains all of the 3rd-party dependencies (angular, etc.).  These 2
bundles are loaded on every web staff page (via base_js.tt2).

All other <script/> tags remain as they were.

When building in dev mode ('npm run build'), core service JS files are
bunded un-minified with an inline source map for debugging.  Vendor
files (angularjs, etc.) are always minified because they are quite
large.

Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Jason Stephenson <jason@sigio.com>
Open-ILS/src/templates/staff/base_js.tt2
Open-ILS/src/templates/staff/index.tt2
Open-ILS/web/js/ui/default/staff/Gruntfile.js [deleted file]
Open-ILS/web/js/ui/default/staff/README.install [deleted file]
Open-ILS/web/js/ui/default/staff/package.json
Open-ILS/web/js/ui/default/staff/test/karma.conf.js
Open-ILS/web/js/ui/default/staff/webpack.config.js [new file with mode: 0644]
build/tools/make_release
docs/installation/server_installation.adoc