This is an automated email from the ASF dual-hosted git repository.
pvillard31 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 8d4b5e46636 NIFI-16211 Configured Deterministic Build for Registry Web
UI (#11552)
8d4b5e46636 is described below
commit 8d4b5e4663604ebe00970b4131bbde14a84db42c
Author: David Handermann <[email protected]>
AuthorDate: Sat Aug 15 06:52:31 2026 -0500
NIFI-16211 Configured Deterministic Build for Registry Web UI (#11552)
---
.../nifi-registry-web-ui/src/main/webpack.common.js | 4 +++-
.../nifi-registry-web-ui/src/main/webpack.prod.js | 8 ++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webpack.common.js
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webpack.common.js
index 6e1239e1ed2..8c4c2d1cedb 100644
---
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webpack.common.js
+++
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webpack.common.js
@@ -40,7 +40,9 @@ module.exports = {
output: {
// add the content hash for auto cache-busting
filename: '[name].[contenthash].js',
- path: path.resolve(__dirname, './')
+ path: path.resolve(__dirname, './'),
+ // Pin the hashing algorithm so bundle names do not depend on the
Node/OpenSSL default
+ hashFunction: 'sha256'
},
optimization: {
diff --git
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webpack.prod.js
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webpack.prod.js
index a831a6027b5..a30e29b7c33 100644
---
a/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webpack.prod.js
+++
b/nifi-registry/nifi-registry-core/nifi-registry-web-ui/src/main/webpack.prod.js
@@ -54,9 +54,13 @@ module.exports = merge(commonConfig, {
},
optimization: {
+ // Deterministic module and chunk identifiers so repeated builds emit
byte-identical
+ // bundles, keeping the [contenthash] in the output file names stable
across builds
+ moduleIds: 'hashed',
+ chunkIds: 'named',
minimizer: [
- // Minify JavaScript
- new TerserJSPlugin({}),
+ // Minify JavaScript; disable parallelism so minified output
ordering is deterministic
+ new TerserJSPlugin({ parallel: false }),
// Minify CSS
new OptimizeCSSAssetsPlugin({})