]> git.evergreen-ils.org Git - Evergreen.git/commit
LP#1739803 Webstaff: Replace Grunt with Webpack
authorBill Erickson <berickxx@gmail.com>
Wed, 20 Dec 2017 16:13:10 +0000 (11:13 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Wed, 21 Feb 2018 19:42:08 +0000 (14:42 -0500)
commit5c6e280e147b127dd196e4f1a3c49237afa95865
tree89edae4bdb9ee75a087291c258050030e53a4624
parent76f56e0f027f79ad6b387047bcfdc2a400d6d253
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>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
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