This is an automated email from the ASF dual-hosted git repository.

andytaylor pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis-console.git

commit 5c402a9d4a31fc542a522e6324113206cbb15489
Author: Grzegorz Grzybek <gr.grzy...@gmail.com>
AuthorDate: Wed Jul 16 15:20:10 2025 +0200

    ARTEMIS-5577: Switch to dynamic Hawtio plugin registration and 
initialization UI
---
 .../artemis-extension/app/package.json             |  48 ++-
 .../artemis-extension/app/src/bootstrap.tsx        |  72 ++--
 .../artemis-extension/app/src/index.css            |  46 +++
 .../artemis-extension/app/src/index.ts             |   3 +
 .../artemis-extension/app/webpack.config.cjs       |  21 +-
 .../artemis-extension/yarn.lock                    | 379 +++++++++++++++++++--
 6 files changed, 488 insertions(+), 81 deletions(-)

diff --git a/artemis-console-extension/artemis-extension/app/package.json 
b/artemis-console-extension/artemis-extension/app/package.json
index aeb3c8f..709603a 100644
--- a/artemis-console-extension/artemis-extension/app/package.json
+++ b/artemis-console-extension/artemis-extension/app/package.json
@@ -10,33 +10,47 @@
     "replace-version": "replace __PACKAGE_VERSION_PLACEHOLDER__ 
$npm_package_version ./build/static/js -r --include=\"*.js\""
   },
   "dependencies": {
-    "@hawtio/react": "1.9.6",
-    "artemis-console-plugin": "1.2.1",
+    "@hawtio/react": "^1.9.6",
+    "@patternfly/react-charts": "^7.4.9",
+    "@patternfly/react-code-editor": "^5.4.18",
+    "@patternfly/react-core": "^5.4.14",
+    "@patternfly/react-icons": "^5.4.2",
+    "@patternfly/react-styles": "^5.4.1",
+    "@patternfly/react-table": "^5.4.16",
+    "@patternfly/react-tokens": "^5.4.1",
+    "@patternfly/react-topology": "^5.4.1",
+    "artemis-console-plugin": "workspace:*",
+    "d3": "^7.9.0",
+    "monaco-editor": "^0.52.2",
     "react": "^18.3.1",
     "react-dom": "^18.3.1",
-    "react-router-dom": "^6.30.0"
+    "react-router-dom": "^6.30.1"
   },
   "devDependencies": {
     "@hawtio/backend-middleware": "^1.0.6",
-    "@swc/core": "^1.7.26",
-    "copy-webpack-plugin": "^12.0.2",
+    "@swc/core": "^1.12.14",
+    "body-parser": "^2.2.0",
+    "copy-webpack-plugin": "^13.0.0",
     "css-loader": "^7.1.2",
-    "css-minimizer-webpack-plugin": "^7.0.0",
-    "html-webpack-plugin": "^5.6.0",
-    "mini-css-extract-plugin": "^2.9.1",
-    "monaco-editor": "^0.52.2",
+    "css-minimizer-webpack-plugin": "^7.0.2",
+    "html-webpack-plugin": "^5.6.3",
+    "mini-css-extract-plugin": "^2.9.2",
     "monaco-editor-webpack-plugin": "^7.1.0",
-    "os-browserify": "^0.3.0",
-    "path-browserify": "^1.0.1",
-    "react-dev-utils": "^12.0.1",
     "replace": "^1.2.2",
+    "source-map-loader": "^5.0.0",
     "style-loader": "^4.0.0",
     "swc-loader": "^0.2.6",
-    "terser-webpack-plugin": "^5.3.10",
-    "webpack": "^5.99.0",
-    "webpack-cli": "^5.1.4",
-    "webpack-dev-server": "^5.2.1",
-    "webpack-manifest-plugin": "^5.0.0"
+    "terser-webpack-plugin": "^5.3.14",
+    "webpack": "^5.100.2",
+    "webpack-cli": "^6.0.1",
+    "webpack-dev-server": "^5.2.2",
+    "webpack-manifest-plugin": "^5.0.1"
+  },
+  "devDependencies-org": {
+    "os-browserify": "^0.3.0",
+    "path-browserify": "^1.0.1",
+    "react-dev-utils": "^12.0.1",
+    "replace": "^1.2.2"
   },
   "eslintConfig": {
     "extends": [
diff --git a/artemis-console-extension/artemis-extension/app/src/bootstrap.tsx 
b/artemis-console-extension/artemis-extension/app/src/bootstrap.tsx
index 81d62ab..82d22ff 100644
--- a/artemis-console-extension/artemis-extension/app/src/bootstrap.tsx
+++ b/artemis-console-extension/artemis-extension/app/src/bootstrap.tsx
@@ -14,33 +14,61 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { hawtio, Hawtio,  connect, jmx, keycloak, oidc, rbac, runtime, 
configManager } from '@hawtio/react'
 import React from 'react'
 import ReactDOM from 'react-dom/client'
-import { artemis } from 'artemis-console-plugin';
-import 'artemis-console-plugin/styles';
 
-// Register builtin plugins
+import { configManager, HawtioInitialization, TaskState } from 
'@hawtio/react/init'
 
-keycloak();
-oidc();
-connect();
-jmx();
-rbac();
-runtime();
+// Hawtio itself creates and tracks initialization tasks, but we can add our 
own. 'Loading UI' initialization
+// task nicely controls the initialization phase at _application_ level
+configManager.initItem('Loading UI', TaskState.started, 'config')
 
-// Register the plugin under development
-artemis();
+// Create root for rendering React components. More React components can be 
rendered in single root.
+const root = ReactDOM.createRoot(document.getElementById('root') as 
HTMLElement)
+
+// Basic UI that shows initialization progress without depending on PatternFly.
+// It is imported and rendered in fully synchronous way.
+root.render(<HawtioInitialization verbose={true} />)
 
 // See package.json "replace-version" script for how to replace the version 
placeholder with a real version
 configManager.addProductInfo('Artemis Console', 
'__PACKAGE_VERSION_PLACEHOLDER__');
-  
-// Bootstrap Hawtio
-hawtio.bootstrap();
-
-const root = ReactDOM.createRoot(document.getElementById('root') as 
HTMLElement);
-root.render(
-  <React.StrictMode>
-    <Hawtio />
-  </React.StrictMode>,
-);
+
+// Initialization phase is finished. We could already bootstrap Hawtio, but 
this is the stage, where we register
+// built-in Hawtio plugins and our examples (custom plugins).
+// From now on, we use dynamic `import()` instead of static `import` and we 
can import _full_ Hawtio packages:
+// '@hawtio/react' and '@hawtio/react/ui'
+import('@hawtio/react').then(async m => {
+  // The heavier non-UI part of Hawtio was loaded/evaluated, so we have access 
to built-in plugins
+  // We can register all default (built-in) Hawtio plugins
+  // m.registerPlugins()
+
+  // but we can also choose which built-in plugins to use
+  m.keycloak();
+  m.oidc();
+  m.connect();
+  m.jmx();
+  m.rbac();
+  m.runtime();
+
+  // Register the plugin under development
+  await import('artemis-console-plugin').then(async m => {
+    m.artemis()
+  })
+
+  // hawtio.bootstrap() will wait for all init items to be ready, so we have 
to finish 'loading'
+  // stage of UI. UI will be rendered after bootstrap() returned promise is 
resolved
+  configManager.initItem('Loading UI', TaskState.finished, 'config')
+
+  // finally, after we've registered all custom and built-in plugins, we can 
proceed to the final stage:
+  //  - bootstrap(), which finishes internal configuration, applies branding 
and loads all registered plugins11111
+  //  - rendering of <Hawtio> React component after bootstrap() finishes
+  m.hawtio.bootstrap().then(() => {
+    import('@hawtio/react/ui').then(m => {
+      root.render(
+          <React.StrictMode>
+            <m.Hawtio />
+          </React.StrictMode>
+      )
+    })
+  })
+})
diff --git a/artemis-console-extension/artemis-extension/app/src/index.css 
b/artemis-console-extension/artemis-extension/app/src/index.css
index 4c1354d..1a566ba 100644
--- a/artemis-console-extension/artemis-extension/app/src/index.css
+++ b/artemis-console-extension/artemis-extension/app/src/index.css
@@ -17,4 +17,50 @@
  #root {
   height: 100%;
 }
+.hwt-loading {
+  padding: 0.2em 0.5em;
+}
+.hwt-loading h4 {
+  margin: 0.3em 0;
+}
+.hwt-loading h4.ready {
+  margin: 0.3em 0;
+  color: black;
+}
+.hwt-loading h4.not-ready {
+  color: #adafb6;
+}
+.hwt-loading ul {
+  list-style-type: none;
+  padding: 0;
+  margin: 0;
+}
+.hwt-loading li {
+  margin: 0.1em 0 0.1em 0.5em;
+}
+.hwt-loading li span {
+  width: 2em;
+  display: inline-block;
+}
+.hwt-loading li.not-ready {
+  color: #adafb6;
+}
+.hwt-loading li.ready {
+  color: black;
+}
 
+.tick {
+  padding: 0 2px;
+}
+.tick-skipped {
+  color: #dddfe6;
+}
+.tick-finished {
+  color: green;
+}
+.tick-error {
+  color: red;
+}
+.tick-started {
+  color: #adafb6;
+}
diff --git a/artemis-console-extension/artemis-extension/app/src/index.ts 
b/artemis-console-extension/artemis-extension/app/src/index.ts
index 06bd428..d5a5a95 100644
--- a/artemis-console-extension/artemis-extension/app/src/index.ts
+++ b/artemis-console-extension/artemis-extension/app/src/index.ts
@@ -16,8 +16,11 @@
  */
 import '@hawtio/react/dist/index.css'
 import '@patternfly/react-core/dist/styles/base.css'
+import 'artemis-console-plugin/styles';
 import './index.css'
 
+// create an async boundary point, so remaining part of the application is 
loaded from different chunks
+// See 
https://webpack.js.org/concepts/module-federation/#uncaught-error-shared-module-is-not-available-for-eager-consumption
 import('./bootstrap')
 
 export {}
diff --git a/artemis-console-extension/artemis-extension/app/webpack.config.cjs 
b/artemis-console-extension/artemis-extension/app/webpack.config.cjs
index 721e4e9..b55b667 100644
--- a/artemis-console-extension/artemis-extension/app/webpack.config.cjs
+++ b/artemis-console-extension/artemis-extension/app/webpack.config.cjs
@@ -101,22 +101,13 @@ module.exports = (webpackEnv, args) => {
             to: outputPath,
             context: 'public/',
             globOptions: {
-              gitignore: true,
               ignore: ['**/index.html'],
             },
           },
         ],
       }),
       new ModuleFederationPlugin({
-        // The container name corresponds to 'scope' passed to HawtioPlugin
-        name: 'artemisPlugin',
-        filename: 'remoteEntry.js',
-        // The key in exposes corresponds to 'remote' passed to HawtioPlugin
-        // exposes: {
-        //   './plugin': 'artemis-console-plugin',
-        // },
         shared: {
-          ...dependencies,
           'react': {
             singleton: true,
             requiredVersion: dependencies['react'],
@@ -133,6 +124,14 @@ module.exports = (webpackEnv, args) => {
             singleton: true,
             requiredVersion: dependencies['@hawtio/react'],
           },
+          'monaco-editor': {
+            singleton: true,
+            requiredVersion: dependencies['monaco-editor'],
+          },
+          '@patternfly/react-core': {
+              singleton: true,
+              requiredVersion: dependencies['@patternfly/react-core'],
+            },
         }
       }),
       new MonacoWebpackPlugin({
@@ -231,6 +230,10 @@ module.exports = (webpackEnv, args) => {
       //   path: require.resolve('path-browserify'),
       //   os: require.resolve('os-browserify'),
       // },
+      symlinks: false,
+      alias: {
+        '@thumbmarkjs/thumbmarkjs': path.join(__dirname, 
'../node_modules/@thumbmarkjs/thumbmarkjs/dist/thumbmark.esm.js'),
+      },
     },
     optimization: {
       minimize: isEnvProduction,
diff --git a/artemis-console-extension/artemis-extension/yarn.lock 
b/artemis-console-extension/artemis-extension/yarn.lock
index 0873731..28dcc7b 100644
--- a/artemis-console-extension/artemis-extension/yarn.lock
+++ b/artemis-console-extension/artemis-extension/yarn.lock
@@ -515,6 +515,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@discoveryjs/json-ext@npm:^0.6.1":
+  version: 0.6.3
+  resolution: "@discoveryjs/json-ext@npm:0.6.3"
+  checksum: 
10c0/778a9f9d5c3696da3c1f9fa4186613db95a1090abbfb6c2601430645c0d0158cd5e4ba4f32c05904e2dd2747d57710f6aab22bd2f8aa3c4e8feab9b247c65d85
+  languageName: node
+  linkType: hard
+
 "@emnapi/core@npm:^1.4.3":
   version: 1.4.4
   resolution: "@emnapi/core@npm:1.4.4"
@@ -810,7 +817,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@hawtio/react@npm:1.9.6, @hawtio/react@npm:^1.9.6":
+"@hawtio/react@npm:^1.9.6":
   version: 1.9.6
   resolution: "@hawtio/react@npm:1.9.6"
   dependencies:
@@ -2011,6 +2018,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-darwin-arm64@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-darwin-arm64@npm:1.12.14"
+  conditions: os=darwin & cpu=arm64
+  languageName: node
+  linkType: hard
+
 "@swc/core-darwin-arm64@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-darwin-arm64@npm:1.13.2"
@@ -2018,6 +2032,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-darwin-x64@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-darwin-x64@npm:1.12.14"
+  conditions: os=darwin & cpu=x64
+  languageName: node
+  linkType: hard
+
 "@swc/core-darwin-x64@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-darwin-x64@npm:1.13.2"
@@ -2025,6 +2046,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-linux-arm-gnueabihf@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-linux-arm-gnueabihf@npm:1.12.14"
+  conditions: os=linux & cpu=arm
+  languageName: node
+  linkType: hard
+
 "@swc/core-linux-arm-gnueabihf@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-linux-arm-gnueabihf@npm:1.13.2"
@@ -2032,6 +2060,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-linux-arm64-gnu@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-linux-arm64-gnu@npm:1.12.14"
+  conditions: os=linux & cpu=arm64 & libc=glibc
+  languageName: node
+  linkType: hard
+
 "@swc/core-linux-arm64-gnu@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-linux-arm64-gnu@npm:1.13.2"
@@ -2039,6 +2074,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-linux-arm64-musl@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-linux-arm64-musl@npm:1.12.14"
+  conditions: os=linux & cpu=arm64 & libc=musl
+  languageName: node
+  linkType: hard
+
 "@swc/core-linux-arm64-musl@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-linux-arm64-musl@npm:1.13.2"
@@ -2046,6 +2088,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-linux-x64-gnu@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-linux-x64-gnu@npm:1.12.14"
+  conditions: os=linux & cpu=x64 & libc=glibc
+  languageName: node
+  linkType: hard
+
 "@swc/core-linux-x64-gnu@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-linux-x64-gnu@npm:1.13.2"
@@ -2053,6 +2102,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-linux-x64-musl@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-linux-x64-musl@npm:1.12.14"
+  conditions: os=linux & cpu=x64 & libc=musl
+  languageName: node
+  linkType: hard
+
 "@swc/core-linux-x64-musl@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-linux-x64-musl@npm:1.13.2"
@@ -2060,6 +2116,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-win32-arm64-msvc@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-win32-arm64-msvc@npm:1.12.14"
+  conditions: os=win32 & cpu=arm64
+  languageName: node
+  linkType: hard
+
 "@swc/core-win32-arm64-msvc@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-win32-arm64-msvc@npm:1.13.2"
@@ -2067,6 +2130,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-win32-ia32-msvc@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-win32-ia32-msvc@npm:1.12.14"
+  conditions: os=win32 & cpu=ia32
+  languageName: node
+  linkType: hard
+
 "@swc/core-win32-ia32-msvc@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-win32-ia32-msvc@npm:1.13.2"
@@ -2074,6 +2144,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core-win32-x64-msvc@npm:1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core-win32-x64-msvc@npm:1.12.14"
+  conditions: os=win32 & cpu=x64
+  languageName: node
+  linkType: hard
+
 "@swc/core-win32-x64-msvc@npm:1.13.2":
   version: 1.13.2
   resolution: "@swc/core-win32-x64-msvc@npm:1.13.2"
@@ -2081,6 +2158,52 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@swc/core@npm:^1.12.14":
+  version: 1.12.14
+  resolution: "@swc/core@npm:1.12.14"
+  dependencies:
+    "@swc/core-darwin-arm64": "npm:1.12.14"
+    "@swc/core-darwin-x64": "npm:1.12.14"
+    "@swc/core-linux-arm-gnueabihf": "npm:1.12.14"
+    "@swc/core-linux-arm64-gnu": "npm:1.12.14"
+    "@swc/core-linux-arm64-musl": "npm:1.12.14"
+    "@swc/core-linux-x64-gnu": "npm:1.12.14"
+    "@swc/core-linux-x64-musl": "npm:1.12.14"
+    "@swc/core-win32-arm64-msvc": "npm:1.12.14"
+    "@swc/core-win32-ia32-msvc": "npm:1.12.14"
+    "@swc/core-win32-x64-msvc": "npm:1.12.14"
+    "@swc/counter": "npm:^0.1.3"
+    "@swc/types": "npm:^0.1.23"
+  peerDependencies:
+    "@swc/helpers": ">=0.5.17"
+  dependenciesMeta:
+    "@swc/core-darwin-arm64":
+      optional: true
+    "@swc/core-darwin-x64":
+      optional: true
+    "@swc/core-linux-arm-gnueabihf":
+      optional: true
+    "@swc/core-linux-arm64-gnu":
+      optional: true
+    "@swc/core-linux-arm64-musl":
+      optional: true
+    "@swc/core-linux-x64-gnu":
+      optional: true
+    "@swc/core-linux-x64-musl":
+      optional: true
+    "@swc/core-win32-arm64-msvc":
+      optional: true
+    "@swc/core-win32-ia32-msvc":
+      optional: true
+    "@swc/core-win32-x64-msvc":
+      optional: true
+  peerDependenciesMeta:
+    "@swc/helpers":
+      optional: true
+  checksum: 
10c0/b9119fe91ba7916d1793a6ff1dc04be7569e0ebdda27571240441c12d1ad9593e2ce7448b6141f2170eb46ed2839c91f95da26a37ba491d89873e14151e71546
+  languageName: node
+  linkType: hard
+
 "@swc/core@npm:^1.7.26":
   version: 1.13.2
   resolution: "@swc/core@npm:1.13.2"
@@ -2886,7 +3009,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@types/node@npm:^22.13.13, @types/node@npm:^22.9.0":
+"@types/node@npm:^22.13.13":
   version: 22.16.5
   resolution: "@types/node@npm:22.16.5"
   dependencies:
@@ -2895,6 +3018,15 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@types/node@npm:^22.9.0":
+  version: 22.16.4
+  resolution: "@types/node@npm:22.16.4"
+  dependencies:
+    undici-types: "npm:~6.21.0"
+  checksum: 
10c0/a6e3f345c2d9656451ceac349e59c4cafa2b03f793acf3ab4f318fd90cee47d76c4fa79a7a08b8772978958a42fb03c8c71caa50c064b4e88613085dea287c2d
+  languageName: node
+  linkType: hard
+
 "@types/parse-json@npm:^4.0.0":
   version: 4.0.2
   resolution: "@types/parse-json@npm:4.0.2"
@@ -3392,6 +3524,16 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@webpack-cli/configtest@npm:^3.0.1":
+  version: 3.0.1
+  resolution: "@webpack-cli/configtest@npm:3.0.1"
+  peerDependencies:
+    webpack: ^5.82.0
+    webpack-cli: 6.x.x
+  checksum: 
10c0/edd24ecfc429298fe86446f7d7daedfe82d72e7f6236c81420605484fdadade5d59c6bcef3d76bd724e11d9727f74e75de183223ae62d3a568b2d54199688cbe
+  languageName: node
+  linkType: hard
+
 "@webpack-cli/info@npm:^2.0.2":
   version: 2.0.2
   resolution: "@webpack-cli/info@npm:2.0.2"
@@ -3402,6 +3544,16 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@webpack-cli/info@npm:^3.0.1":
+  version: 3.0.1
+  resolution: "@webpack-cli/info@npm:3.0.1"
+  peerDependencies:
+    webpack: ^5.82.0
+    webpack-cli: 6.x.x
+  checksum: 
10c0/b23b94e7dc8c93e79248f20d5f1bd0fbb7b9ba4b012803e2fdc5440b8f2ee1f3eca7f4933bbca346c8168673bf572b1858169a3cb2c17d9b8bcd833d480c2170
+  languageName: node
+  linkType: hard
+
 "@webpack-cli/serve@npm:^2.0.5":
   version: 2.0.5
   resolution: "@webpack-cli/serve@npm:2.0.5"
@@ -3415,6 +3567,19 @@ __metadata:
   languageName: node
   linkType: hard
 
+"@webpack-cli/serve@npm:^3.0.1":
+  version: 3.0.1
+  resolution: "@webpack-cli/serve@npm:3.0.1"
+  peerDependencies:
+    webpack: ^5.82.0
+    webpack-cli: 6.x.x
+  peerDependenciesMeta:
+    webpack-dev-server:
+      optional: true
+  checksum: 
10c0/65245e45bfa35e11a5b30631b99cfed0c1b39b2cc8320fa2d2a4185264535618827d349ec032c58af4201d6236cbc43bec894fcb840fdd06314611537a80e210
+  languageName: node
+  linkType: hard
+
 "@xtuc/ieee754@npm:^1.2.0":
   version: 1.2.0
   resolution: "@xtuc/ieee754@npm:1.2.0"
@@ -3703,30 +3868,38 @@ __metadata:
   resolution: "artemis-console-app@workspace:app"
   dependencies:
     "@hawtio/backend-middleware": "npm:^1.0.6"
-    "@hawtio/react": "npm:1.9.6"
-    "@swc/core": "npm:^1.7.26"
-    artemis-console-plugin: "npm:1.2.1"
-    copy-webpack-plugin: "npm:^12.0.2"
+    "@hawtio/react": "npm:^1.9.6"
+    "@patternfly/react-charts": "npm:^7.4.9"
+    "@patternfly/react-code-editor": "npm:^5.4.18"
+    "@patternfly/react-core": "npm:^5.4.14"
+    "@patternfly/react-icons": "npm:^5.4.2"
+    "@patternfly/react-styles": "npm:^5.4.1"
+    "@patternfly/react-table": "npm:^5.4.16"
+    "@patternfly/react-tokens": "npm:^5.4.1"
+    "@patternfly/react-topology": "npm:^5.4.1"
+    "@swc/core": "npm:^1.12.14"
+    artemis-console-plugin: "workspace:*"
+    body-parser: "npm:^2.2.0"
+    copy-webpack-plugin: "npm:^13.0.0"
     css-loader: "npm:^7.1.2"
-    css-minimizer-webpack-plugin: "npm:^7.0.0"
-    html-webpack-plugin: "npm:^5.6.0"
-    mini-css-extract-plugin: "npm:^2.9.1"
+    css-minimizer-webpack-plugin: "npm:^7.0.2"
+    d3: "npm:^7.9.0"
+    html-webpack-plugin: "npm:^5.6.3"
+    mini-css-extract-plugin: "npm:^2.9.2"
     monaco-editor: "npm:^0.52.2"
     monaco-editor-webpack-plugin: "npm:^7.1.0"
-    os-browserify: "npm:^0.3.0"
-    path-browserify: "npm:^1.0.1"
     react: "npm:^18.3.1"
-    react-dev-utils: "npm:^12.0.1"
     react-dom: "npm:^18.3.1"
-    react-router-dom: "npm:^6.30.0"
+    react-router-dom: "npm:^6.30.1"
     replace: "npm:^1.2.2"
+    source-map-loader: "npm:^5.0.0"
     style-loader: "npm:^4.0.0"
     swc-loader: "npm:^0.2.6"
-    terser-webpack-plugin: "npm:^5.3.10"
-    webpack: "npm:^5.99.0"
-    webpack-cli: "npm:^5.1.4"
-    webpack-dev-server: "npm:^5.2.1"
-    webpack-manifest-plugin: "npm:^5.0.0"
+    terser-webpack-plugin: "npm:^5.3.14"
+    webpack: "npm:^5.100.2"
+    webpack-cli: "npm:^6.0.1"
+    webpack-dev-server: "npm:^5.2.2"
+    webpack-manifest-plugin: "npm:^5.0.1"
   languageName: unknown
   linkType: soft
 
@@ -3785,7 +3958,7 @@ __metadata:
   languageName: unknown
   linkType: soft
 
-"artemis-console-plugin@npm:1.2.1, 
artemis-console-plugin@workspace:packages/artemis-console-plugin":
+"artemis-console-plugin@workspace:*, 
artemis-console-plugin@workspace:packages/artemis-console-plugin":
   version: 0.0.0-use.local
   resolution: 
"artemis-console-plugin@workspace:packages/artemis-console-plugin"
   dependencies:
@@ -4062,6 +4235,23 @@ __metadata:
   languageName: node
   linkType: hard
 
+"body-parser@npm:^2.2.0":
+  version: 2.2.0
+  resolution: "body-parser@npm:2.2.0"
+  dependencies:
+    bytes: "npm:^3.1.2"
+    content-type: "npm:^1.0.5"
+    debug: "npm:^4.4.0"
+    http-errors: "npm:^2.0.0"
+    iconv-lite: "npm:^0.6.3"
+    on-finished: "npm:^2.4.1"
+    qs: "npm:^6.14.0"
+    raw-body: "npm:^3.0.0"
+    type-is: "npm:^2.0.0"
+  checksum: 
10c0/a9ded39e71ac9668e2211afa72e82ff86cc5ef94de1250b7d1ba9cc299e4150408aaa5f1e8b03dd4578472a3ce6d1caa2a23b27a6c18e526e48b4595174c116c
+  languageName: node
+  linkType: hard
+
 "bonjour-service@npm:^1.2.1":
   version: 1.3.0
   resolution: "bonjour-service@npm:1.3.0"
@@ -4166,7 +4356,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"bytes@npm:3.1.2":
+"bytes@npm:3.1.2, bytes@npm:^3.1.2":
   version: 3.1.2
   resolution: "bytes@npm:3.1.2"
   checksum: 
10c0/76d1c43cbd602794ad8ad2ae94095cddeb1de78c5dddaa7005c51af10b0176c69971a6d88e805a90c2b6550d76636e43c40d8427a808b8645ede885de4a0358e
@@ -4531,6 +4721,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"commander@npm:^12.1.0":
+  version: 12.1.0
+  resolution: "commander@npm:12.1.0"
+  checksum: 
10c0/6e1996680c083b3b897bfc1cfe1c58dfbcd9842fd43e1aaf8a795fbc237f65efcc860a3ef457b318e73f29a4f4a28f6403c3d653d021d960e4632dd45bde54a9
+  languageName: node
+  linkType: hard
+
 "commander@npm:^2.20.0":
   version: 2.20.3
   resolution: "commander@npm:2.20.3"
@@ -4613,7 +4810,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"content-type@npm:~1.0.4, content-type@npm:~1.0.5":
+"content-type@npm:^1.0.5, content-type@npm:~1.0.4, content-type@npm:~1.0.5":
   version: 1.0.5
   resolution: "content-type@npm:1.0.5"
   checksum: 
10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af
@@ -4657,6 +4854,21 @@ __metadata:
   languageName: node
   linkType: hard
 
+"copy-webpack-plugin@npm:^13.0.0":
+  version: 13.0.0
+  resolution: "copy-webpack-plugin@npm:13.0.0"
+  dependencies:
+    glob-parent: "npm:^6.0.1"
+    normalize-path: "npm:^3.0.0"
+    schema-utils: "npm:^4.2.0"
+    serialize-javascript: "npm:^6.0.2"
+    tinyglobby: "npm:^0.2.12"
+  peerDependencies:
+    webpack: ^5.1.0
+  checksum: 
10c0/955037f77c6beb249b690710c35bacceb03b61bb5b7c5fc59ac7dff122c706eb794ef601bc3d9bbdb1350bda3e2615e0b43bf33f1ce2ca14ed934d9a89f43637
+  languageName: node
+  linkType: hard
+
 "core-util-is@npm:~1.0.0":
   version: 1.0.3
   resolution: "core-util-is@npm:1.0.3"
@@ -4754,7 +4966,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"css-minimizer-webpack-plugin@npm:^7.0.0":
+"css-minimizer-webpack-plugin@npm:^7.0.0, 
css-minimizer-webpack-plugin@npm:^7.0.2":
   version: 7.0.2
   resolution: "css-minimizer-webpack-plugin@npm:7.0.2"
   dependencies:
@@ -5840,7 +6052,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"envinfo@npm:^7.7.3":
+"envinfo@npm:^7.14.0, envinfo@npm:^7.7.3":
   version: 7.14.0
   resolution: "envinfo@npm:7.14.0"
   bin:
@@ -6905,7 +7117,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"html-webpack-plugin@npm:^5.6.0":
+"html-webpack-plugin@npm:^5.6.0, html-webpack-plugin@npm:^5.6.3":
   version: 5.6.3
   resolution: "html-webpack-plugin@npm:5.6.3"
   dependencies:
@@ -6952,7 +7164,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"http-errors@npm:2.0.0":
+"http-errors@npm:2.0.0, http-errors@npm:^2.0.0":
   version: 2.0.0
   resolution: "http-errors@npm:2.0.0"
   dependencies:
@@ -7077,7 +7289,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"iconv-lite@npm:0.6, iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2":
+"iconv-lite@npm:0.6, iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, 
iconv-lite@npm:^0.6.3":
   version: 0.6.3
   resolution: "iconv-lite@npm:0.6.3"
   dependencies:
@@ -8974,6 +9186,13 @@ __metadata:
   languageName: node
   linkType: hard
 
+"media-typer@npm:^1.1.0":
+  version: 1.1.0
+  resolution: "media-typer@npm:1.1.0"
+  checksum: 
10c0/7b4baa40b25964bb90e2121ee489ec38642127e48d0cc2b6baa442688d3fde6262bfdca86d6bbf6ba708784afcac168c06840c71facac70e390f5f759ac121b9
+  languageName: node
+  linkType: hard
+
 "memfs@npm:^3.1.2":
   version: 3.5.3
   resolution: "memfs@npm:3.5.3"
@@ -9276,7 +9495,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"mime-db@npm:>= 1.43.0 < 2":
+"mime-db@npm:>= 1.43.0 < 2, mime-db@npm:^1.54.0":
   version: 1.54.0
   resolution: "mime-db@npm:1.54.0"
   checksum: 
10c0/8d907917bc2a90fa2df842cdf5dfeaf509adc15fe0531e07bb2f6ab15992416479015828d6a74200041c492e42cce3ebf78e5ce714388a0a538ea9c53eece284
@@ -9292,6 +9511,15 @@ __metadata:
   languageName: node
   linkType: hard
 
+"mime-types@npm:^3.0.0":
+  version: 3.0.1
+  resolution: "mime-types@npm:3.0.1"
+  dependencies:
+    mime-db: "npm:^1.54.0"
+  checksum: 
10c0/bd8c20d3694548089cf229016124f8f40e6a60bbb600161ae13e45f793a2d5bb40f96bbc61f275836696179c77c1d6bf4967b2a75e0a8ad40fe31f4ed5be4da5
+  languageName: node
+  linkType: hard
+
 "mime@npm:1.6.0":
   version: 1.6.0
   resolution: "mime@npm:1.6.0"
@@ -9315,7 +9543,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"mini-css-extract-plugin@npm:^2.9.1":
+"mini-css-extract-plugin@npm:^2.9.1, mini-css-extract-plugin@npm:^2.9.2":
   version: 2.9.2
   resolution: "mini-css-extract-plugin@npm:2.9.2"
   dependencies:
@@ -10674,6 +10902,15 @@ __metadata:
   languageName: node
   linkType: hard
 
+"qs@npm:^6.14.0":
+  version: 6.14.0
+  resolution: "qs@npm:6.14.0"
+  dependencies:
+    side-channel: "npm:^1.1.0"
+  checksum: 
10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c
+  languageName: node
+  linkType: hard
+
 "querystringify@npm:^2.1.1":
   version: 2.2.0
   resolution: "querystringify@npm:2.2.0"
@@ -10716,6 +10953,18 @@ __metadata:
   languageName: node
   linkType: hard
 
+"raw-body@npm:^3.0.0":
+  version: 3.0.0
+  resolution: "raw-body@npm:3.0.0"
+  dependencies:
+    bytes: "npm:3.1.2"
+    http-errors: "npm:2.0.0"
+    iconv-lite: "npm:0.6.3"
+    unpipe: "npm:1.0.0"
+  checksum: 
10c0/f8daf4b724064a4811d118745a781ca0fb4676298b8adadfd6591155549cfea0a067523cf7dd3baeb1265fecc9ce5dfb2fc788c12c66b85202a336593ece0f87
+  languageName: node
+  linkType: hard
+
 "react-dev-utils@npm:^12.0.1":
   version: 12.0.1
   resolution: "react-dev-utils@npm:12.0.1"
@@ -11522,7 +11771,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"side-channel@npm:^1.0.6":
+"side-channel@npm:^1.0.6, side-channel@npm:^1.1.0":
   version: 1.1.0
   resolution: "side-channel@npm:1.1.0"
   dependencies:
@@ -11623,6 +11872,18 @@ __metadata:
   languageName: node
   linkType: hard
 
+"source-map-loader@npm:^5.0.0":
+  version: 5.0.0
+  resolution: "source-map-loader@npm:5.0.0"
+  dependencies:
+    iconv-lite: "npm:^0.6.3"
+    source-map-js: "npm:^1.0.2"
+  peerDependencies:
+    webpack: ^5.72.1
+  checksum: 
10c0/104c1c2620903e839adb4ec4f2356aa2184151a465855c9b8357aa4f2d215119b2917404c8746b19dd46fac4f2f0be3f69d56c32cb9ae6ba9b42eddd912944e7
+  languageName: node
+  linkType: hard
+
 "source-map-support@npm:0.5.13":
   version: 0.5.13
   resolution: "source-map-support@npm:0.5.13"
@@ -12020,7 +12281,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"terser-webpack-plugin@npm:^5.3.10, terser-webpack-plugin@npm:^5.3.11":
+"terser-webpack-plugin@npm:^5.3.10, terser-webpack-plugin@npm:^5.3.11, 
terser-webpack-plugin@npm:^5.3.14":
   version: 5.3.14
   resolution: "terser-webpack-plugin@npm:5.3.14"
   dependencies:
@@ -12381,6 +12642,17 @@ __metadata:
   languageName: node
   linkType: hard
 
+"type-is@npm:^2.0.0":
+  version: 2.0.1
+  resolution: "type-is@npm:2.0.1"
+  dependencies:
+    content-type: "npm:^1.0.5"
+    media-typer: "npm:^1.1.0"
+    mime-types: "npm:^3.0.0"
+  checksum: 
10c0/7f7ec0a060b16880bdad36824ab37c26019454b67d73e8a465ed5a3587440fbe158bc765f0da68344498235c877e7dbbb1600beccc94628ed05599d667951b99
+  languageName: node
+  linkType: hard
+
 "type-is@npm:~1.6.18":
   version: 1.6.18
   resolution: "type-is@npm:1.6.18"
@@ -13165,6 +13437,36 @@ __metadata:
   languageName: node
   linkType: hard
 
+"webpack-cli@npm:^6.0.1":
+  version: 6.0.1
+  resolution: "webpack-cli@npm:6.0.1"
+  dependencies:
+    "@discoveryjs/json-ext": "npm:^0.6.1"
+    "@webpack-cli/configtest": "npm:^3.0.1"
+    "@webpack-cli/info": "npm:^3.0.1"
+    "@webpack-cli/serve": "npm:^3.0.1"
+    colorette: "npm:^2.0.14"
+    commander: "npm:^12.1.0"
+    cross-spawn: "npm:^7.0.3"
+    envinfo: "npm:^7.14.0"
+    fastest-levenshtein: "npm:^1.0.12"
+    import-local: "npm:^3.0.2"
+    interpret: "npm:^3.1.1"
+    rechoir: "npm:^0.8.0"
+    webpack-merge: "npm:^6.0.1"
+  peerDependencies:
+    webpack: ^5.82.0
+  peerDependenciesMeta:
+    webpack-bundle-analyzer:
+      optional: true
+    webpack-dev-server:
+      optional: true
+  bin:
+    webpack-cli: ./bin/cli.js
+  checksum: 
10c0/2aaca78e277427f03f528602abd707d224696048fb46286ea636c7975592409c4381ca94d68bbbb3900f195ca97f256e619583e8feb34a80da531461323bf3e2
+  languageName: node
+  linkType: hard
+
 "webpack-dev-middleware@npm:^7.4.2":
   version: 7.4.2
   resolution: "webpack-dev-middleware@npm:7.4.2"
@@ -13184,7 +13486,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"webpack-dev-server@npm:^5.2.1":
+"webpack-dev-server@npm:^5.2.1, webpack-dev-server@npm:^5.2.2":
   version: 5.2.2
   resolution: "webpack-dev-server@npm:5.2.2"
   dependencies:
@@ -13229,7 +13531,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"webpack-manifest-plugin@npm:^5.0.0":
+"webpack-manifest-plugin@npm:^5.0.0, webpack-manifest-plugin@npm:^5.0.1":
   version: 5.0.1
   resolution: "webpack-manifest-plugin@npm:5.0.1"
   dependencies:
@@ -13252,6 +13554,17 @@ __metadata:
   languageName: node
   linkType: hard
 
+"webpack-merge@npm:^6.0.1":
+  version: 6.0.1
+  resolution: "webpack-merge@npm:6.0.1"
+  dependencies:
+    clone-deep: "npm:^4.0.1"
+    flat: "npm:^5.0.2"
+    wildcard: "npm:^2.0.1"
+  checksum: 
10c0/bf1429567858b353641801b8a2696ca0aac270fc8c55d4de8a7b586fe07d27fdcfc83099a98ab47e6162383db8dd63bb8cc25b1beb2ec82150422eec843b0dc0
+  languageName: node
+  linkType: hard
+
 "webpack-sources@npm:^2.2.0":
   version: 2.3.1
   resolution: "webpack-sources@npm:2.3.1"
@@ -13438,7 +13751,7 @@ __metadata:
   languageName: node
   linkType: hard
 
-"wildcard@npm:^2.0.0":
+"wildcard@npm:^2.0.0, wildcard@npm:^2.0.1":
   version: 2.0.1
   resolution: "wildcard@npm:2.0.1"
   checksum: 
10c0/08f70cd97dd9a20aea280847a1fe8148e17cae7d231640e41eb26d2388697cbe65b67fd9e68715251c39b080c5ae4f76d71a9a69fa101d897273efdfb1b58bf7


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@activemq.apache.org
For additional commands, e-mail: commits-h...@activemq.apache.org
For further information, visit: https://activemq.apache.org/contact


Reply via email to