Conversation
Replace vendored JS/CSS libraries with npm + webpack build pipeline
Removes 19 vendored JavaScript and CSS files from WEB-INF that were
checked directly into VCS and replaces them with proper npm dependency
management and webpack bundling.
Changes:
- Add package.json with all UI dependencies (jQuery, Bootstrap, DataTables,
Mustache, Moment.js, vis.js, Cytoscape, etc.) managed via npm
- Add webpack.config.js producing 3 minified bundles: main, visualize, flux
- Integrate frontend-maven-plugin to run npm install + webpack during
Maven generate-resources phase
- Update all 10 HTML pages to reference webpack bundles instead of
individual script/link tags
- Add Cypress E2E test suite (35 tests across 7 specs) with mocked
Storm REST API to verify all UI pages render correctly
- Add WebappBundleTest.java to verify webpack bundles exist on classpath
- Update RAT exclusions for npm/webpack artifacts
- Upgrade DataTables to 2.x and Cytoscape to 3.x for proper module support
- Replace third-party jsonFormatter plugin with ASF-licensed
reimplementation (uses JSON.parse instead of eval)
- Update LICENSE-binary paths and versions for npm packages
Upgrade all frontend dependencies to their latest compatible versions:
- jQuery 3.5.1 -> 4.0.0 (with compatibility shims for removed APIs)
- js-yaml 3.14.1 -> 4.1.1
- moment 2.29.4 -> 2.30.1
- cytoscape 3.30.4 -> 3.33.1
- cypress 13.x -> 15.x, express 4.x -> 5.x, webpack-cli 5.x -> 7.x,
css-minimizer-webpack-plugin 7.x -> 8.x
jQuery 4 removed several legacy APIs ($.parseJSON, $.trim, $.isArray,
$.isFunction, $.isNumeric, $.type) that are still used by inline HTML
scripts and the jquery-blockui plugin. Added compatibility shims in
main-entry.js so all existing UI code continues to work.
Bootstrap stays at 3.3.1 — upgrading to 5.x would require rewriting
all HTML templates.
reiabreu
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dependency management and webpack bundling
build time — no vendored JS/CSS remains in VCS
4.0, DataTables 2.x, Cytoscape 3.x, Mustache 4.x, js-yaml 4.x
a clean ASF-licensed reimplementation using JSON.parse()
covering all UI pages
Screenies: