From 909a31011b3094d7602894fe05efc7b6d847bc1b Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Fri, 27 Jun 2025 16:46:58 +0200 Subject: [PATCH 01/17] WIP: Initial example setup for a custom React application. --- ui/app/README.md | 20 +- ui/app/custom-example-react/.gitignore | 16 + ui/app/custom-example-react/package.json | 25 + ui/app/custom-example-react/rsbuild.config.ts | 6 + ui/app/custom-example-react/src/App.css | 26 ++ ui/app/custom-example-react/src/App.tsx | 12 + ui/app/custom-example-react/src/env.d.ts | 1 + ui/app/custom-example-react/src/index.tsx | 13 + ui/app/custom-example-react/tsconfig.json | 23 + yarn.lock | 426 ++++++++++++++++++ 10 files changed, 567 insertions(+), 1 deletion(-) create mode 100644 ui/app/custom-example-react/.gitignore create mode 100644 ui/app/custom-example-react/package.json create mode 100644 ui/app/custom-example-react/rsbuild.config.ts create mode 100644 ui/app/custom-example-react/src/App.css create mode 100644 ui/app/custom-example-react/src/App.tsx create mode 100644 ui/app/custom-example-react/src/env.d.ts create mode 100644 ui/app/custom-example-react/src/index.tsx create mode 100644 ui/app/custom-example-react/tsconfig.json diff --git a/ui/app/README.md b/ui/app/README.md index f8a36354b..b91c07f03 100644 --- a/ui/app/README.md +++ b/ui/app/README.md @@ -1 +1,19 @@ -Custom UI apps can be added here use the manager UI app as a template. +# Custom UI apps + +In this folder, you can add custom (web) applications that will be shipped along with OpenRemote. +For example, special mobile apps for a single use are very common. +We make it easy for them to communicate with OpenRemote. + +## Example apps + +We provided several example apps to get familiar with the architecture. +Here's a list of the apps, and what they do; + +### /custom +This is an example web application built with Lit Web Components and Webpack. +Apps in our main OpenRemote repository are built with these technologies as well. +It can be used as a template to add your own pages on top of it. + +### /custom-example-react +This is an example web application built with React 19 and RSBuild. +*(more information soon)* \ No newline at end of file diff --git a/ui/app/custom-example-react/.gitignore b/ui/app/custom-example-react/.gitignore new file mode 100644 index 000000000..6f3092c30 --- /dev/null +++ b/ui/app/custom-example-react/.gitignore @@ -0,0 +1,16 @@ +# Local +.DS_Store +*.local +*.log* + +# Dist +node_modules +dist/ + +# Profile +.rspack-profile-*/ + +# IDE +.vscode/* +!.vscode/extensions.json +.idea diff --git a/ui/app/custom-example-react/package.json b/ui/app/custom-example-react/package.json new file mode 100644 index 000000000..81c348c79 --- /dev/null +++ b/ui/app/custom-example-react/package.json @@ -0,0 +1,25 @@ +{ + "name": "@openremote/custom-example-react", + "version": "1.0.0", + "description": "OpenRemote Custom App example using React", + "author": "OpenRemote", + "license": "AGPL-3.0-or-later", + "private": true, + "type": "module", + "scripts": { + "build": "rsbuild build", + "dev": "rsbuild dev --open", + "preview": "rsbuild preview" + }, + "dependencies": { + "react": "^19.1.0", + "react-dom": "^19.1.0" + }, + "devDependencies": { + "@rsbuild/core": "^1.4.0", + "@rsbuild/plugin-react": "^1.3.2", + "@types/react": "^19.1.8", + "@types/react-dom": "^19.1.6", + "typescript": "^5.8.3" + } +} diff --git a/ui/app/custom-example-react/rsbuild.config.ts b/ui/app/custom-example-react/rsbuild.config.ts new file mode 100644 index 000000000..c9962d33f --- /dev/null +++ b/ui/app/custom-example-react/rsbuild.config.ts @@ -0,0 +1,6 @@ +import { defineConfig } from '@rsbuild/core'; +import { pluginReact } from '@rsbuild/plugin-react'; + +export default defineConfig({ + plugins: [pluginReact()], +}); diff --git a/ui/app/custom-example-react/src/App.css b/ui/app/custom-example-react/src/App.css new file mode 100644 index 000000000..164c0a6aa --- /dev/null +++ b/ui/app/custom-example-react/src/App.css @@ -0,0 +1,26 @@ +body { + margin: 0; + color: #fff; + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + background-image: linear-gradient(to bottom, #020917, #101725); +} + +.content { + display: flex; + min-height: 100vh; + line-height: 1.1; + text-align: center; + flex-direction: column; + justify-content: center; +} + +.content h1 { + font-size: 3.6rem; + font-weight: 700; +} + +.content p { + font-size: 1.2rem; + font-weight: 400; + opacity: 0.5; +} diff --git a/ui/app/custom-example-react/src/App.tsx b/ui/app/custom-example-react/src/App.tsx new file mode 100644 index 000000000..dff175123 --- /dev/null +++ b/ui/app/custom-example-react/src/App.tsx @@ -0,0 +1,12 @@ +import './App.css'; + +const App = () => { + return ( +
+

Rsbuild with React

+

Start building amazing things with Rsbuild.

+
+ ); +}; + +export default App; diff --git a/ui/app/custom-example-react/src/env.d.ts b/ui/app/custom-example-react/src/env.d.ts new file mode 100644 index 000000000..b0ac762b0 --- /dev/null +++ b/ui/app/custom-example-react/src/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/ui/app/custom-example-react/src/index.tsx b/ui/app/custom-example-react/src/index.tsx new file mode 100644 index 000000000..55f29bff5 --- /dev/null +++ b/ui/app/custom-example-react/src/index.tsx @@ -0,0 +1,13 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; + +const rootEl = document.getElementById('root'); +if (rootEl) { + const root = ReactDOM.createRoot(rootEl); + root.render( + + + , + ); +} diff --git a/ui/app/custom-example-react/tsconfig.json b/ui/app/custom-example-react/tsconfig.json new file mode 100644 index 000000000..649a0adaf --- /dev/null +++ b/ui/app/custom-example-react/tsconfig.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "lib": ["DOM", "ES2020"], + "jsx": "react-jsx", + "target": "ES2020", + "noEmit": true, + "skipLibCheck": true, + "useDefineForClassFields": true, + + /* modules */ + "module": "ESNext", + "verbatimModuleSyntax": true, + "resolveJsonModule": true, + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + + /* type checking */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "include": ["src"] +} diff --git a/yarn.lock b/yarn.lock index d56cf5531..e237b2ff8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1355,6 +1355,34 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:^1.4.3": + version: 1.4.3 + resolution: "@emnapi/core@npm:1.4.3" + dependencies: + "@emnapi/wasi-threads": "npm:1.0.2" + tslib: "npm:^2.4.0" + checksum: 10/b511f66b897d2019835391544fdf11f4fa0ce06cc1181abfa17c7d4cf03aaaa4fc8a64fcd30bb3f901de488d0a6f370b53a8de2215a898f5a4ac98015265b3b7 + languageName: node + linkType: hard + +"@emnapi/runtime@npm:^1.4.3": + version: 1.4.3 + resolution: "@emnapi/runtime@npm:1.4.3" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/4f90852a1a5912982cc4e176b6420556971bcf6a85ee23e379e2455066d616219751367dcf43e6a6eaf41ea7e95ba9dc830665a52b5d979dfe074237d19578f8 + languageName: node + linkType: hard + +"@emnapi/wasi-threads@npm:1.0.2": + version: 1.0.2 + resolution: "@emnapi/wasi-threads@npm:1.0.2" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/e82941776665eb958c2084728191d6b15a94383449975c4621b67a1c8217e1c0ec11056a693906c76863cb96f782f8be500510ecec6874e3f5da35a8e7968cfd + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -2271,6 +2299,72 @@ __metadata: languageName: node linkType: hard +"@module-federation/error-codes@npm:0.15.0": + version: 0.15.0 + resolution: "@module-federation/error-codes@npm:0.15.0" + checksum: 10/1dace0ecc511c6bf8b4f76db237a28f3f96b2f30a278d758afa70be4daccae1fc89613685fc66d85a74e82244a4cb1acd45cca7005a414d2431950d2035ea585 + languageName: node + linkType: hard + +"@module-federation/runtime-core@npm:0.15.0": + version: 0.15.0 + resolution: "@module-federation/runtime-core@npm:0.15.0" + dependencies: + "@module-federation/error-codes": "npm:0.15.0" + "@module-federation/sdk": "npm:0.15.0" + checksum: 10/40dc67f8c496352f1883a8a520fd145996dc08cc640f1b337c6168d6e2be05ac5fb04fb3916f94300c9bcd15575a53eeb8fa472214d9d3b14906b24e00a47dd2 + languageName: node + linkType: hard + +"@module-federation/runtime-tools@npm:0.15.0": + version: 0.15.0 + resolution: "@module-federation/runtime-tools@npm:0.15.0" + dependencies: + "@module-federation/runtime": "npm:0.15.0" + "@module-federation/webpack-bundler-runtime": "npm:0.15.0" + checksum: 10/399a3092090b81c1e08b4a25a34d813b023241fbe5df692d7ff9a4d2365ab487f1974e22bd321ff16fa7df88580e0e403e6f7bf5e38fc679d251dd936c2d8eda + languageName: node + linkType: hard + +"@module-federation/runtime@npm:0.15.0": + version: 0.15.0 + resolution: "@module-federation/runtime@npm:0.15.0" + dependencies: + "@module-federation/error-codes": "npm:0.15.0" + "@module-federation/runtime-core": "npm:0.15.0" + "@module-federation/sdk": "npm:0.15.0" + checksum: 10/01362d8b2889eaae07b87735ae99d302c256a75f4ec7f7757d70684ab69c9ecbd4abe52736a43d7d2480ca9b42dca9a328356a811c5bdb11c8cf24506fe1dfce + languageName: node + linkType: hard + +"@module-federation/sdk@npm:0.15.0": + version: 0.15.0 + resolution: "@module-federation/sdk@npm:0.15.0" + checksum: 10/2d4bdc38d7fadca59f7e73c152e2614ef0228de1fd996c0143e81e68cf046cb20fb8b60df22931c5082b3ec891ce9448378fa38f647bb41d9222c877aa581152 + languageName: node + linkType: hard + +"@module-federation/webpack-bundler-runtime@npm:0.15.0": + version: 0.15.0 + resolution: "@module-federation/webpack-bundler-runtime@npm:0.15.0" + dependencies: + "@module-federation/runtime": "npm:0.15.0" + "@module-federation/sdk": "npm:0.15.0" + checksum: 10/a5171a591e320da36ad4edc6239faa34039f2996de8479465bcd76cfd5a406000d3040b4247c127e1151aaa80c5846832c6274a3ed8e90ebbd70959bfb18c4af + languageName: node + linkType: hard + +"@napi-rs/wasm-runtime@npm:^0.2.11": + version: 0.2.11 + resolution: "@napi-rs/wasm-runtime@npm:0.2.11" + dependencies: + "@emnapi/core": "npm:^1.4.3" + "@emnapi/runtime": "npm:^1.4.3" + "@tybys/wasm-util": "npm:^0.9.0" + checksum: 10/e30fe3060474c5018e160231df0531d62b5e22f4736ecd49c04ca6cadacb2acf59b9205435794cd5b898e41e2e3ddb6523e93b97799bd1f4d0751557de6e38e4 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2337,6 +2431,20 @@ __metadata: languageName: node linkType: hard +"@openremote/custom-example-react@workspace:ui/app/custom-example-react": + version: 0.0.0-use.local + resolution: "@openremote/custom-example-react@workspace:ui/app/custom-example-react" + dependencies: + "@rsbuild/core": "npm:^1.4.0" + "@rsbuild/plugin-react": "npm:^1.3.2" + "@types/react": "npm:^19.1.8" + "@types/react-dom": "npm:^19.1.6" + react: "npm:^19.1.0" + react-dom: "npm:^19.1.0" + typescript: "npm:^5.8.3" + languageName: unknown + linkType: soft + "@openremote/custom@workspace:ui/app/custom": version: 0.0.0-use.local resolution: "@openremote/custom@workspace:ui/app/custom" @@ -2826,6 +2934,201 @@ __metadata: languageName: node linkType: hard +"@rsbuild/core@npm:^1.4.0": + version: 1.4.1 + resolution: "@rsbuild/core@npm:1.4.1" + dependencies: + "@rspack/core": "npm:1.4.1" + "@rspack/lite-tapable": "npm:~1.0.1" + "@swc/helpers": "npm:^0.5.17" + core-js: "npm:~3.43.0" + jiti: "npm:^2.4.2" + bin: + rsbuild: bin/rsbuild.js + checksum: 10/6e5d68eb6757b69fc21709cc6679de0e5a48761ddfd0035baa409437df22ea70d5093eaaa34b4165d46862a7d455a9489c7ecd0928a3ec173632a6a9e62052df + languageName: node + linkType: hard + +"@rsbuild/plugin-react@npm:^1.3.2": + version: 1.3.2 + resolution: "@rsbuild/plugin-react@npm:1.3.2" + dependencies: + "@rspack/plugin-react-refresh": "npm:~1.4.3" + react-refresh: "npm:^0.17.0" + peerDependencies: + "@rsbuild/core": 1.x + checksum: 10/852d5098e71028d3c238b12a04ff2220ef9023c50a37bc5db24d96facbdbfac5f5c3c73e9f1e8822956ad34b0e98f556ff8291f497e7163ec38378ddbe2e8e36 + languageName: node + linkType: hard + +"@rspack/binding-darwin-arm64@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-darwin-arm64@npm:1.4.1" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rspack/binding-darwin-x64@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-darwin-x64@npm:1.4.1" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rspack/binding-linux-arm64-gnu@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-linux-arm64-gnu@npm:1.4.1" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rspack/binding-linux-arm64-musl@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-linux-arm64-musl@npm:1.4.1" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rspack/binding-linux-x64-gnu@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-linux-x64-gnu@npm:1.4.1" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rspack/binding-linux-x64-musl@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-linux-x64-musl@npm:1.4.1" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rspack/binding-wasm32-wasi@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-wasm32-wasi@npm:1.4.1" + dependencies: + "@napi-rs/wasm-runtime": "npm:^0.2.11" + conditions: cpu=wasm32 + languageName: node + linkType: hard + +"@rspack/binding-win32-arm64-msvc@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-win32-arm64-msvc@npm:1.4.1" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rspack/binding-win32-ia32-msvc@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-win32-ia32-msvc@npm:1.4.1" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rspack/binding-win32-x64-msvc@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding-win32-x64-msvc@npm:1.4.1" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rspack/binding@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/binding@npm:1.4.1" + dependencies: + "@rspack/binding-darwin-arm64": "npm:1.4.1" + "@rspack/binding-darwin-x64": "npm:1.4.1" + "@rspack/binding-linux-arm64-gnu": "npm:1.4.1" + "@rspack/binding-linux-arm64-musl": "npm:1.4.1" + "@rspack/binding-linux-x64-gnu": "npm:1.4.1" + "@rspack/binding-linux-x64-musl": "npm:1.4.1" + "@rspack/binding-wasm32-wasi": "npm:1.4.1" + "@rspack/binding-win32-arm64-msvc": "npm:1.4.1" + "@rspack/binding-win32-ia32-msvc": "npm:1.4.1" + "@rspack/binding-win32-x64-msvc": "npm:1.4.1" + dependenciesMeta: + "@rspack/binding-darwin-arm64": + optional: true + "@rspack/binding-darwin-x64": + optional: true + "@rspack/binding-linux-arm64-gnu": + optional: true + "@rspack/binding-linux-arm64-musl": + optional: true + "@rspack/binding-linux-x64-gnu": + optional: true + "@rspack/binding-linux-x64-musl": + optional: true + "@rspack/binding-wasm32-wasi": + optional: true + "@rspack/binding-win32-arm64-msvc": + optional: true + "@rspack/binding-win32-ia32-msvc": + optional: true + "@rspack/binding-win32-x64-msvc": + optional: true + checksum: 10/565de02d4b5aabde5e53f56bb6515237d561308df45dd2c4406fd684a58c6a5b7928516af05e990c7e94ce67b48198285980f07393f79500e6ce8b283a549e00 + languageName: node + linkType: hard + +"@rspack/core@npm:1.4.1": + version: 1.4.1 + resolution: "@rspack/core@npm:1.4.1" + dependencies: + "@module-federation/runtime-tools": "npm:0.15.0" + "@rspack/binding": "npm:1.4.1" + "@rspack/lite-tapable": "npm:1.0.1" + peerDependencies: + "@swc/helpers": ">=0.5.1" + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 10/36d79846a7c7b26f6994feaa51e16ff5054e644011a70a0368315d472760ab4d3436fc900a6dee832085b5d4bb2b0d991919170e09fde599fe7525bf8dec8f9f + languageName: node + linkType: hard + +"@rspack/lite-tapable@npm:1.0.1, @rspack/lite-tapable@npm:~1.0.1": + version: 1.0.1 + resolution: "@rspack/lite-tapable@npm:1.0.1" + checksum: 10/240b7832965bca5a52d1f03a8539dab5810958ce24b5a670405b2505d81350f10d668f4055648f5918bc18ac033e637bcb7f92189345f0f2f671b546019c2f9e + languageName: node + linkType: hard + +"@rspack/plugin-react-refresh@npm:~1.4.3": + version: 1.4.3 + resolution: "@rspack/plugin-react-refresh@npm:1.4.3" + dependencies: + error-stack-parser: "npm:^2.1.4" + html-entities: "npm:^2.6.0" + peerDependencies: + react-refresh: ">=0.10.0 <1.0.0" + webpack-hot-middleware: 2.x + peerDependenciesMeta: + webpack-hot-middleware: + optional: true + checksum: 10/ddbe4268f0c5eb1e6c4384db16cad42628596ff7ca97707b5075be894f60bb87de2483fe2735129dc624380e46b7999735af7c418123a6bb2d01280ca5fea2c1 + languageName: node + linkType: hard + +"@swc/helpers@npm:^0.5.17": + version: 0.5.17 + resolution: "@swc/helpers@npm:0.5.17" + dependencies: + tslib: "npm:^2.8.0" + checksum: 10/1fc8312a78f1f99c8ec838585445e99763eeebff2356100738cdfdb8ad47d2d38df678ee6edd93a90fe319ac52da67adc14ac00eb82b606c5fb8ebc5d06ec2a2 + languageName: node + linkType: hard + +"@tybys/wasm-util@npm:^0.9.0": + version: 0.9.0 + resolution: "@tybys/wasm-util@npm:0.9.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/aa58e64753a420ad1eefaf7bacef3dda61d74f9336925943d9244132d5b48d9242f734f1e707fd5ccfa6dd1d8ec8e6debc234b4dedb3a5b0d8486d1f373350b2 + languageName: node + linkType: hard + "@types/body-parser@npm:*": version: 1.19.5 resolution: "@types/body-parser@npm:1.19.5" @@ -3080,6 +3383,24 @@ __metadata: languageName: node linkType: hard +"@types/react-dom@npm:^19.1.6": + version: 19.1.6 + resolution: "@types/react-dom@npm:19.1.6" + peerDependencies: + "@types/react": ^19.0.0 + checksum: 10/b5b20b7f0797f34c5a11915b74dcf8b3b7a9da9fea90279975ce6f150ca5d31bb069dbb0838638a5e9e168098aa4bb4a6f61d078efa1bbb55d7f0bdfe47bb142 + languageName: node + linkType: hard + +"@types/react@npm:^19.1.8": + version: 19.1.8 + resolution: "@types/react@npm:19.1.8" + dependencies: + csstype: "npm:^3.0.2" + checksum: 10/a3e6fe0f60f22828ef887f30993aa147b71532d7b1219dd00d246277eb7a9ca01ec533096237fa21ca1bccb3653373b4e8e59e5ae59f9c793058384bbc1f4d5c + languageName: node + linkType: hard + "@types/retry@npm:0.12.0": version: 0.12.0 resolution: "@types/retry@npm:0.12.0" @@ -4395,6 +4716,13 @@ __metadata: languageName: node linkType: hard +"core-js@npm:~3.43.0": + version: 3.43.0 + resolution: "core-js@npm:3.43.0" + checksum: 10/514952992863266b1a6a2d3c985e905461d37fe72d131d9320d5dbf01ac7e746f6fc53004b548347518cc832f7d2602b9a228acf6b5183e5cbede9dd296d73d3 + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -4500,6 +4828,13 @@ __metadata: languageName: node linkType: hard +"csstype@npm:^3.0.2": + version: 3.1.3 + resolution: "csstype@npm:3.1.3" + checksum: 10/f593cce41ff5ade23f44e77521e3a1bcc2c64107041e1bf6c3c32adc5187d0d60983292fda326154d20b01079e24931aa5b08e4467cc488b60bb1e7f6d478ade + languageName: node + linkType: hard + "data-view-buffer@npm:^1.0.1": version: 1.0.1 resolution: "data-view-buffer@npm:1.0.1" @@ -4850,6 +5185,15 @@ __metadata: languageName: node linkType: hard +"error-stack-parser@npm:^2.1.4": + version: 2.1.4 + resolution: "error-stack-parser@npm:2.1.4" + dependencies: + stackframe: "npm:^1.3.4" + checksum: 10/23db33135bfc6ba701e5eee45e1bb9bd2fe33c5d4f9927440d9a499c7ac538f91f455fcd878611361269893c56734419252c40d8105eb3b023cf8b0fc2ebb64e + languageName: node + linkType: hard + "es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": version: 1.23.3 resolution: "es-abstract@npm:1.23.3" @@ -6021,6 +6365,13 @@ __metadata: languageName: node linkType: hard +"html-entities@npm:^2.6.0": + version: 2.6.0 + resolution: "html-entities@npm:2.6.0" + checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 + languageName: node + linkType: hard + "html-minifier-terser@npm:^6.0.2": version: 6.1.0 resolution: "html-minifier-terser@npm:6.1.0" @@ -6672,6 +7023,15 @@ __metadata: languageName: node linkType: hard +"jiti@npm:^2.4.2": + version: 2.4.2 + resolution: "jiti@npm:2.4.2" + bin: + jiti: lib/jiti-cli.mjs + checksum: 10/e2b07eb2e3fbb245e29ad288dddecab31804967fc84d5e01d39858997d2743b5e248946defcecf99272275a00284ecaf7ec88b8c841331324f0c946d8274414b + languageName: node + linkType: hard + "js-sha256@npm:^0.11.0": version: 0.11.0 resolution: "js-sha256@npm:0.11.0" @@ -8163,6 +8523,31 @@ __metadata: languageName: node linkType: hard +"react-dom@npm:^19.1.0": + version: 19.1.0 + resolution: "react-dom@npm:19.1.0" + dependencies: + scheduler: "npm:^0.26.0" + peerDependencies: + react: ^19.1.0 + checksum: 10/c5b58605862c7b0bb044416b01c73647bb8e89717fb5d7a2c279b11815fb7b49b619fe685c404e59f55eb52c66831236cc565c25ee1c2d042739f4a2cc538aa2 + languageName: node + linkType: hard + +"react-refresh@npm:^0.17.0": + version: 0.17.0 + resolution: "react-refresh@npm:0.17.0" + checksum: 10/5e94f07d43bb1cfdc9b0c6e0c8c73e754005489950dcff1edb53aa8451d1d69a47b740b195c7c80fb4eb511c56a3585dc55eddd83f0097fb5e015116a1460467 + languageName: node + linkType: hard + +"react@npm:^19.1.0": + version: 19.1.0 + resolution: "react@npm:19.1.0" + checksum: 10/d0180689826fd9de87e839c365f6f361c561daea397d61d724687cae88f432a307d1c0f53a0ee95ddbe3352c10dac41d7ff1ad85530fb24951b27a39e5398db4 + languageName: node + linkType: hard + "readable-stream@npm:^2.0.1": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -8538,6 +8923,13 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:^0.26.0": + version: 0.26.0 + resolution: "scheduler@npm:0.26.0" + checksum: 10/1ecf2e5d7de1a7a132796834afe14a2d589ba7e437615bd8c06f3e0786a3ac3434655e67aac8755d9b14e05754c177e49c064261de2673aaa3c926bc98caa002 + languageName: node + linkType: hard + "schema-utils@npm:2.7.0": version: 2.7.0 resolution: "schema-utils@npm:2.7.0" @@ -9024,6 +9416,13 @@ __metadata: languageName: node linkType: hard +"stackframe@npm:^1.3.4": + version: 1.3.4 + resolution: "stackframe@npm:1.3.4" + checksum: 10/29ca71c1fd17974c1c178df0236b1407bc65f6ea389cc43dec000def6e42ff548d4453de9a85b76469e2ae2b2abdd802c6b6f3db947c05794efbd740d1cf4121 + languageName: node + linkType: hard + "statuses@npm:2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" @@ -9377,6 +9776,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.8.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 + languageName: node + linkType: hard + "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -9476,6 +9882,16 @@ __metadata: languageName: node linkType: hard +"typescript@npm:^5.8.3": + version: 5.8.3 + resolution: "typescript@npm:5.8.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/65c40944c51b513b0172c6710ee62e951b70af6f75d5a5da745cb7fab132c09ae27ffdf7838996e3ed603bb015dadd099006658046941bd0ba30340cc563ae92 + languageName: node + linkType: hard + "typescript@patch:typescript@npm%3A>=4.5.2#optional!builtin": version: 5.4.5 resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin::version=5.4.5&hash=d69c25" @@ -9486,6 +9902,16 @@ __metadata: languageName: node linkType: hard +"typescript@patch:typescript@npm%3A^5.8.3#optional!builtin": + version: 5.8.3 + resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=d69c25" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10/98470634034ec37fd9ea61cc82dcf9a27950d0117a4646146b767d085a2ec14b137aae9642a83d1c62732d7fdcdac19bb6288b0bb468a72f7a06ae4e1d2c72c9 + languageName: node + linkType: hard + "typewise-core@npm:^1.2, typewise-core@npm:^1.2.0": version: 1.2.0 resolution: "typewise-core@npm:1.2.0" From 582b41da79f9512c6d6ef42e8bbd2bee484ede5d Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Fri, 27 Jun 2025 17:52:24 +0200 Subject: [PATCH 02/17] Replaced RSBuild project with RSPack. Using a different setup now; got or-mwc-input working. --- ui/app/README.md | 4 +- .../.gitignore | 3 - ui/app/custom-app-react/index.html | 12 + ui/app/custom-app-react/package.json | 29 + ui/app/custom-app-react/rspack.config.ts | 72 ++ ui/app/custom-app-react/src/App.css | 41 + ui/app/custom-app-react/src/App.tsx | 41 + ui/app/custom-app-react/src/assets/react.svg | 1 + ui/app/custom-app-react/src/index.css | 70 ++ ui/app/custom-app-react/src/main.tsx | 10 + ui/app/custom-app-react/src/react-env.d.ts | 213 ++++ .../tsconfig.json | 25 +- ui/app/custom-example-react/package.json | 25 - ui/app/custom-example-react/rsbuild.config.ts | 6 - ui/app/custom-example-react/src/App.css | 26 - ui/app/custom-example-react/src/App.tsx | 12 - ui/app/custom-example-react/src/env.d.ts | 1 - ui/app/custom-example-react/src/index.tsx | 13 - yarn.lock | 1098 ++++++++++++++++- 19 files changed, 1569 insertions(+), 133 deletions(-) rename ui/app/{custom-example-react => custom-app-react}/.gitignore (78%) create mode 100644 ui/app/custom-app-react/index.html create mode 100644 ui/app/custom-app-react/package.json create mode 100644 ui/app/custom-app-react/rspack.config.ts create mode 100644 ui/app/custom-app-react/src/App.css create mode 100644 ui/app/custom-app-react/src/App.tsx create mode 100644 ui/app/custom-app-react/src/assets/react.svg create mode 100644 ui/app/custom-app-react/src/index.css create mode 100644 ui/app/custom-app-react/src/main.tsx create mode 100644 ui/app/custom-app-react/src/react-env.d.ts rename ui/app/{custom-example-react => custom-app-react}/tsconfig.json (60%) delete mode 100644 ui/app/custom-example-react/package.json delete mode 100644 ui/app/custom-example-react/rsbuild.config.ts delete mode 100644 ui/app/custom-example-react/src/App.css delete mode 100644 ui/app/custom-example-react/src/App.tsx delete mode 100644 ui/app/custom-example-react/src/env.d.ts delete mode 100644 ui/app/custom-example-react/src/index.tsx diff --git a/ui/app/README.md b/ui/app/README.md index b91c07f03..8615dac8f 100644 --- a/ui/app/README.md +++ b/ui/app/README.md @@ -14,6 +14,6 @@ This is an example web application built with Lit Web Components and Webpack. Apps in our main OpenRemote repository are built with these technologies as well. It can be used as a template to add your own pages on top of it. -### /custom-example-react -This is an example web application built with React 19 and RSBuild. +### /custom-app-react +This is an example web application built with React 19 and RSPack. *(more information soon)* \ No newline at end of file diff --git a/ui/app/custom-example-react/.gitignore b/ui/app/custom-app-react/.gitignore similarity index 78% rename from ui/app/custom-example-react/.gitignore rename to ui/app/custom-app-react/.gitignore index 6f3092c30..38d7344c8 100644 --- a/ui/app/custom-example-react/.gitignore +++ b/ui/app/custom-app-react/.gitignore @@ -7,9 +7,6 @@ node_modules dist/ -# Profile -.rspack-profile-*/ - # IDE .vscode/* !.vscode/extensions.json diff --git a/ui/app/custom-app-react/index.html b/ui/app/custom-app-react/index.html new file mode 100644 index 000000000..569dd752f --- /dev/null +++ b/ui/app/custom-app-react/index.html @@ -0,0 +1,12 @@ + + + + + + + Custom app example using React + + +
+ + diff --git a/ui/app/custom-app-react/package.json b/ui/app/custom-app-react/package.json new file mode 100644 index 000000000..07d412ce8 --- /dev/null +++ b/ui/app/custom-app-react/package.json @@ -0,0 +1,29 @@ +{ + "name": "@openremote/custom-app-react", + "version": "1.0.0", + "description": "OpenRemote Custom App using React", + "author": "OpenRemote", + "license": "AGPL-3.0-or-later", + "private": true, + "scripts": { + "build": "cross-env NODE_ENV=production rspack build", + "serve": "cross-env NODE_ENV=development rspack serve" + }, + "dependencies": { + "@openremote/or-chart": "^1.6.5", + "@openremote/or-mwc-components": "^1.6.5", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "devDependencies": { + "@rspack/cli": "^1.1.8", + "@rspack/core": "^1.1.8", + "@rspack/plugin-react-refresh": "1.0.0", + "@types/react": "^18.2.48", + "@types/react-dom": "^18.2.18", + "cross-env": "^7.0.3", + "react-refresh": "^0.14.0", + "ts-node": "^10.9.2", + "typescript": "^5.6.3" + } +} diff --git a/ui/app/custom-app-react/rspack.config.ts b/ui/app/custom-app-react/rspack.config.ts new file mode 100644 index 000000000..52151bd49 --- /dev/null +++ b/ui/app/custom-app-react/rspack.config.ts @@ -0,0 +1,72 @@ +import { defineConfig } from "@rspack/cli"; +import { rspack } from "@rspack/core"; +import * as RefreshPlugin from "@rspack/plugin-react-refresh"; + +const isDev = process.env.NODE_ENV === "development"; + +// Target browsers, see: https://github.com/browserslist/browserslist +const targets = ["chrome >= 87", "edge >= 88", "firefox >= 78", "safari >= 14"]; + + +export default defineConfig({ + context: __dirname, + entry: { + main: "./src/main.tsx" + }, + resolve: { + extensions: ["...", ".ts", ".tsx", ".jsx"] + }, + module: { + rules: [ + { + test: /\.svg$/, + type: "asset" + }, + { + test: /(maplibre|mapbox|@material|gridstack|@mdi).*\.css$/, //output css as strings + type: "asset/source" + }, + { + test: /\.(jsx?|tsx?)$/, + use: [ + { + loader: "builtin:swc-loader", + options: { + jsc: { + parser: { + syntax: "typescript", + tsx: true + }, + transform: { + react: { + runtime: "automatic", + development: isDev, + refresh: isDev + } + } + }, + env: { targets } + } + } + ] + } + ] + }, + plugins: [ + new rspack.HtmlRspackPlugin({ + template: "./index.html" + }), + isDev ? new RefreshPlugin() : null + ].filter(Boolean), + optimization: { + minimizer: [ + new rspack.SwcJsMinimizerRspackPlugin(), + new rspack.LightningCssMinimizerRspackPlugin({ + minimizerOptions: { targets } + }) + ] + }, + experiments: { + css: true + } +}); diff --git a/ui/app/custom-app-react/src/App.css b/ui/app/custom-app-react/src/App.css new file mode 100644 index 000000000..1b83399ee --- /dev/null +++ b/ui/app/custom-app-react/src/App.css @@ -0,0 +1,41 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a > .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/ui/app/custom-app-react/src/App.tsx b/ui/app/custom-app-react/src/App.tsx new file mode 100644 index 000000000..f547189b9 --- /dev/null +++ b/ui/app/custom-app-react/src/App.tsx @@ -0,0 +1,41 @@ +import { useState } from "react"; +import reactLogo from "./assets/react.svg"; +import {InputType, OrMwcInput} from "@openremote/or-mwc-components/or-mwc-input"; +import "./App.css"; + +declare global { + namespace JSX { + interface IntrinsicElements { + 'or-mwc-input': OrMwcInput + } + } +} + +function App() { + const [count, setCount] = useState(0); + + return ( +
+
+ + React logo + +
+

Rspack + React + TypeScript

+
+ +

+ Edit src/App.tsx and save to test HMR +

+
+

+ Click on the Rspack and React logos to learn more +

+ +
+ ); +} + +export default App; diff --git a/ui/app/custom-app-react/src/assets/react.svg b/ui/app/custom-app-react/src/assets/react.svg new file mode 100644 index 000000000..6c87de9bb --- /dev/null +++ b/ui/app/custom-app-react/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ui/app/custom-app-react/src/index.css b/ui/app/custom-app-react/src/index.css new file mode 100644 index 000000000..917888c1d --- /dev/null +++ b/ui/app/custom-app-react/src/index.css @@ -0,0 +1,70 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/ui/app/custom-app-react/src/main.tsx b/ui/app/custom-app-react/src/main.tsx new file mode 100644 index 000000000..29baf78c5 --- /dev/null +++ b/ui/app/custom-app-react/src/main.tsx @@ -0,0 +1,10 @@ +import React from "react"; +import ReactDOM from "react-dom/client"; +import App from "./App.tsx"; +import "./index.css"; + +ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + + + +); diff --git a/ui/app/custom-app-react/src/react-env.d.ts b/ui/app/custom-app-react/src/react-env.d.ts new file mode 100644 index 000000000..49c347bae --- /dev/null +++ b/ui/app/custom-app-react/src/react-env.d.ts @@ -0,0 +1,213 @@ +// CSS modules +type CSSModuleClasses = { readonly [key: string]: string }; + +declare module "*.module.css" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.scss" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.sass" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.less" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.styl" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.stylus" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.pcss" { + const classes: CSSModuleClasses; + export default classes; +} +declare module "*.module.sss" { + const classes: CSSModuleClasses; + export default classes; +} + +// CSS +declare module "*.css" { + /** + * @deprecated Use `import style from './style.css?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.scss" { + /** + * @deprecated Use `import style from './style.scss?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.sass" { + /** + * @deprecated Use `import style from './style.sass?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.less" { + /** + * @deprecated Use `import style from './style.less?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.styl" { + /** + * @deprecated Use `import style from './style.styl?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.stylus" { + /** + * @deprecated Use `import style from './style.stylus?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.pcss" { + /** + * @deprecated Use `import style from './style.pcss?inline'` instead. + */ + const css: string; + export default css; +} +declare module "*.sss" { + /** + * @deprecated Use `import style from './style.sss?inline'` instead. + */ + const css: string; + export default css; +} + +// images +declare module "*.png" { + const src: string; + export default src; +} +declare module "*.jpg" { + const src: string; + export default src; +} +declare module "*.jpeg" { + const src: string; + export default src; +} +declare module "*.jfif" { + const src: string; + export default src; +} +declare module "*.pjpeg" { + const src: string; + export default src; +} +declare module "*.pjp" { + const src: string; + export default src; +} +declare module "*.gif" { + const src: string; + export default src; +} +declare module "*.svg" { + const ReactComponent: React.FC>; + const content: string; + + export { ReactComponent }; + export default content; +} +declare module "*.ico" { + const src: string; + export default src; +} +declare module "*.webp" { + const src: string; + export default src; +} +declare module "*.avif" { + const src: string; + export default src; +} + +// media +declare module "*.mp4" { + const src: string; + export default src; +} +declare module "*.webm" { + const src: string; + export default src; +} +declare module "*.ogg" { + const src: string; + export default src; +} +declare module "*.mp3" { + const src: string; + export default src; +} +declare module "*.wav" { + const src: string; + export default src; +} +declare module "*.flac" { + const src: string; + export default src; +} +declare module "*.aac" { + const src: string; + export default src; +} + +declare module "*.opus" { + const src: string; + export default src; +} + +// fonts +declare module "*.woff" { + const src: string; + export default src; +} +declare module "*.woff2" { + const src: string; + export default src; +} +declare module "*.eot" { + const src: string; + export default src; +} +declare module "*.ttf" { + const src: string; + export default src; +} +declare module "*.otf" { + const src: string; + export default src; +} + +// other +declare module "*.webmanifest" { + const src: string; + export default src; +} +declare module "*.pdf" { + const src: string; + export default src; +} +declare module "*.txt" { + const src: string; + export default src; +} diff --git a/ui/app/custom-example-react/tsconfig.json b/ui/app/custom-app-react/tsconfig.json similarity index 60% rename from ui/app/custom-example-react/tsconfig.json rename to ui/app/custom-app-react/tsconfig.json index 649a0adaf..3c7419370 100644 --- a/ui/app/custom-example-react/tsconfig.json +++ b/ui/app/custom-app-react/tsconfig.json @@ -1,23 +1,22 @@ { "compilerOptions": { + "target": "ES2020", "lib": ["DOM", "ES2020"], + "module": "ESNext", "jsx": "react-jsx", - "target": "ES2020", + "strict": true, "noEmit": true, "skipLibCheck": true, - "useDefineForClassFields": true, - - /* modules */ - "module": "ESNext", - "verbatimModuleSyntax": true, + "isolatedModules": true, "resolveJsonModule": true, "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - - /* type checking */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true + "useDefineForClassFields": true, + "allowImportingTsExtensions": true }, - "include": ["src"] + "include": ["src"], + "ts-node": { + "compilerOptions": { + "module": "CommonJS" + } + } } diff --git a/ui/app/custom-example-react/package.json b/ui/app/custom-example-react/package.json deleted file mode 100644 index 81c348c79..000000000 --- a/ui/app/custom-example-react/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@openremote/custom-example-react", - "version": "1.0.0", - "description": "OpenRemote Custom App example using React", - "author": "OpenRemote", - "license": "AGPL-3.0-or-later", - "private": true, - "type": "module", - "scripts": { - "build": "rsbuild build", - "dev": "rsbuild dev --open", - "preview": "rsbuild preview" - }, - "dependencies": { - "react": "^19.1.0", - "react-dom": "^19.1.0" - }, - "devDependencies": { - "@rsbuild/core": "^1.4.0", - "@rsbuild/plugin-react": "^1.3.2", - "@types/react": "^19.1.8", - "@types/react-dom": "^19.1.6", - "typescript": "^5.8.3" - } -} diff --git a/ui/app/custom-example-react/rsbuild.config.ts b/ui/app/custom-example-react/rsbuild.config.ts deleted file mode 100644 index c9962d33f..000000000 --- a/ui/app/custom-example-react/rsbuild.config.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { defineConfig } from '@rsbuild/core'; -import { pluginReact } from '@rsbuild/plugin-react'; - -export default defineConfig({ - plugins: [pluginReact()], -}); diff --git a/ui/app/custom-example-react/src/App.css b/ui/app/custom-example-react/src/App.css deleted file mode 100644 index 164c0a6aa..000000000 --- a/ui/app/custom-example-react/src/App.css +++ /dev/null @@ -1,26 +0,0 @@ -body { - margin: 0; - color: #fff; - font-family: Inter, Avenir, Helvetica, Arial, sans-serif; - background-image: linear-gradient(to bottom, #020917, #101725); -} - -.content { - display: flex; - min-height: 100vh; - line-height: 1.1; - text-align: center; - flex-direction: column; - justify-content: center; -} - -.content h1 { - font-size: 3.6rem; - font-weight: 700; -} - -.content p { - font-size: 1.2rem; - font-weight: 400; - opacity: 0.5; -} diff --git a/ui/app/custom-example-react/src/App.tsx b/ui/app/custom-example-react/src/App.tsx deleted file mode 100644 index dff175123..000000000 --- a/ui/app/custom-example-react/src/App.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import './App.css'; - -const App = () => { - return ( -
-

Rsbuild with React

-

Start building amazing things with Rsbuild.

-
- ); -}; - -export default App; diff --git a/ui/app/custom-example-react/src/env.d.ts b/ui/app/custom-example-react/src/env.d.ts deleted file mode 100644 index b0ac762b0..000000000 --- a/ui/app/custom-example-react/src/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/ui/app/custom-example-react/src/index.tsx b/ui/app/custom-example-react/src/index.tsx deleted file mode 100644 index 55f29bff5..000000000 --- a/ui/app/custom-example-react/src/index.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import App from './App'; - -const rootEl = document.getElementById('root'); -if (rootEl) { - const root = ReactDOM.createRoot(rootEl); - root.render( - - - , - ); -} diff --git a/yarn.lock b/yarn.lock index e237b2ff8..189521d30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1348,7 +1348,16 @@ __metadata: languageName: node linkType: hard -"@discoveryjs/json-ext@npm:^0.5.0": +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10/b6e38a1712fab242c86a241c229cf562195aad985d0564bd352ac404be583029e89e93028ffd2c251d2c407ecac5fb0cbdca94a2d5c10f29ac806ede0508b3ff + languageName: node + linkType: hard + +"@discoveryjs/json-ext@npm:0.5.7, @discoveryjs/json-ext@npm:^0.5.0, @discoveryjs/json-ext@npm:^0.5.7": version: 0.5.7 resolution: "@discoveryjs/json-ext@npm:0.5.7" checksum: 10/b95682a852448e8ef50d6f8e3b7ba288aab3fd98a2bafbe46881a3db0c6e7248a2debe9e1ee0d4137c521e4743ca5bbcb1c0765c9d7b3e0ef53231506fec42b4 @@ -1509,7 +1518,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.1.0": +"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": version: 3.1.2 resolution: "@jridgewell/resolve-uri@npm:3.1.2" checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d @@ -1540,6 +1549,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10/83deafb8e7a5ca98993c2c6eeaa93c270f6f647a4c0dc00deb38c9cf9b2d3b7bf15e8839540155247ef034a052c0ec4466f980bf0c9e2ab63b97d16c0cedd3ff + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" @@ -1562,6 +1581,38 @@ __metadata: languageName: node linkType: hard +"@jsonjoy.com/base64@npm:^1.1.1": + version: 1.1.2 + resolution: "@jsonjoy.com/base64@npm:1.1.2" + peerDependencies: + tslib: 2 + checksum: 10/d76bb58eff841c090d9bf69a073611ffa73c40a664ccbcea689f65961f57d7b24051269d06b437e4f6204285d6ba92f50f587c5e95c5f9e4f10b36a2ed4cd0c8 + languageName: node + linkType: hard + +"@jsonjoy.com/json-pack@npm:^1.0.3": + version: 1.2.0 + resolution: "@jsonjoy.com/json-pack@npm:1.2.0" + dependencies: + "@jsonjoy.com/base64": "npm:^1.1.1" + "@jsonjoy.com/util": "npm:^1.1.2" + hyperdyperid: "npm:^1.2.0" + thingies: "npm:^1.20.0" + peerDependencies: + tslib: 2 + checksum: 10/5b4f01bf195e314c19c5669a7bad968a814f0ed6b9e16a669b08081db0ed9f66fe3c3b2e3e0b67281b4f90910338f6beeae6b51bda9198590d29b39d1ea69755 + languageName: node + linkType: hard + +"@jsonjoy.com/util@npm:^1.1.2, @jsonjoy.com/util@npm:^1.3.0": + version: 1.6.0 + resolution: "@jsonjoy.com/util@npm:1.6.0" + peerDependencies: + tslib: 2 + checksum: 10/6f2fd06aa9fb8b6bde1301e30aef0115bb728eff4dc73ab3402f11f0674a58f0a96411c0eeeb9ef2ed28e5aca3a9dc8138a5de784e62d1d53a3200731f7a0379 + languageName: node + linkType: hard + "@juggle/resize-observer@npm:^3.3.1": version: 3.4.0 resolution: "@juggle/resize-observer@npm:3.4.0" @@ -2435,6 +2486,7 @@ __metadata: version: 0.0.0-use.local resolution: "@openremote/custom-example-react@workspace:ui/app/custom-example-react" dependencies: + "@openremote/or-mwc-components": "npm:^1.6.5" "@rsbuild/core": "npm:^1.4.0" "@rsbuild/plugin-react": "npm:^1.3.2" "@types/react": "npm:^19.1.8" @@ -2634,7 +2686,7 @@ __metadata: languageName: node linkType: hard -"@openremote/or-chart@npm:1.6.5": +"@openremote/or-chart@npm:1.6.5, @openremote/or-chart@npm:^1.6.5": version: 1.6.5 resolution: "@openremote/or-chart@npm:1.6.5" dependencies: @@ -2747,7 +2799,7 @@ __metadata: languageName: node linkType: hard -"@openremote/or-mwc-components@npm:1.6.5": +"@openremote/or-mwc-components@npm:1.6.5, @openremote/or-mwc-components@npm:^1.6.5": version: 1.6.5 resolution: "@openremote/or-mwc-components@npm:1.6.5" dependencies: @@ -2905,6 +2957,13 @@ __metadata: languageName: node linkType: hard +"@polka/url@npm:^1.0.0-next.24": + version: 1.0.0-next.29 + resolution: "@polka/url@npm:1.0.0-next.29" + checksum: 10/69ca11ab15a4ffec7f0b07fcc4e1f01489b3d9683a7e1867758818386575c60c213401259ba3705b8a812228d17e2bfd18e6f021194d943fff4bca389c9d4f28 + languageName: node + linkType: hard + "@polymer/polymer@npm:^3.3.1": version: 3.5.1 resolution: "@polymer/polymer@npm:3.5.1" @@ -3072,7 +3131,27 @@ __metadata: languageName: node linkType: hard -"@rspack/core@npm:1.4.1": +"@rspack/cli@npm:^1.1.8": + version: 1.4.1 + resolution: "@rspack/cli@npm:1.4.1" + dependencies: + "@discoveryjs/json-ext": "npm:^0.5.7" + "@rspack/dev-server": "npm:~1.1.3" + colorette: "npm:2.0.20" + exit-hook: "npm:^4.0.0" + interpret: "npm:^3.1.1" + rechoir: "npm:^0.8.0" + webpack-bundle-analyzer: "npm:4.10.2" + yargs: "npm:17.7.2" + peerDependencies: + "@rspack/core": ^1.0.0-alpha || ^1.x + bin: + rspack: bin/rspack.js + checksum: 10/ab62d3f1c7a157c22968a3b620f7c52011ea96c6145895db529104679bb7032ab769841db3e4667f1d6f13b406faad9d07092f44ac607b8c9dfcbe6337a8859f + languageName: node + linkType: hard + +"@rspack/core@npm:1.4.1, @rspack/core@npm:^1.1.8": version: 1.4.1 resolution: "@rspack/core@npm:1.4.1" dependencies: @@ -3088,6 +3167,21 @@ __metadata: languageName: node linkType: hard +"@rspack/dev-server@npm:~1.1.3": + version: 1.1.3 + resolution: "@rspack/dev-server@npm:1.1.3" + dependencies: + chokidar: "npm:^3.6.0" + http-proxy-middleware: "npm:^2.0.9" + p-retry: "npm:^6.2.0" + webpack-dev-server: "npm:5.2.2" + ws: "npm:^8.18.0" + peerDependencies: + "@rspack/core": "*" + checksum: 10/31cef80a602acf9468a94c31b1f09239cae9c47cf0ed25c6bcddd057bbaff5a220a1dead068a255d35d0addfea21d81a574069d63ea258c2807d84a02d4fe966 + languageName: node + linkType: hard + "@rspack/lite-tapable@npm:1.0.1, @rspack/lite-tapable@npm:~1.0.1": version: 1.0.1 resolution: "@rspack/lite-tapable@npm:1.0.1" @@ -3095,6 +3189,21 @@ __metadata: languageName: node linkType: hard +"@rspack/plugin-react-refresh@npm:1.0.0": + version: 1.0.0 + resolution: "@rspack/plugin-react-refresh@npm:1.0.0" + dependencies: + error-stack-parser: "npm:^2.0.6" + html-entities: "npm:^2.1.0" + peerDependencies: + react-refresh: ">=0.10.0 <1.0.0" + peerDependenciesMeta: + react-refresh: + optional: true + checksum: 10/09d76ba4ac93c012a8a90fb0a6aef717ec0fd78dc620d1f0a7e26493cb696a1c9ba20d639f9eed57074a180fc58226be6b084b172f668fe4bbe2f13e6982fe35 + languageName: node + linkType: hard + "@rspack/plugin-react-refresh@npm:~1.4.3": version: 1.4.3 resolution: "@rspack/plugin-react-refresh@npm:1.4.3" @@ -3120,6 +3229,34 @@ __metadata: languageName: node linkType: hard +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node10@npm:1.0.11" + checksum: 10/51fe47d55fe1b80ec35e6e5ed30a13665fd3a531945350aa74a14a1e82875fb60b350c2f2a5e72a64831b1b6bc02acb6760c30b3738b54954ec2dea82db7a267 + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 10/5ce29a41b13e7897a58b8e2df11269c5395999e588b9a467386f99d1d26f6c77d1af2719e407621412520ea30517d718d5192a32403b8dfcc163bf33e40a338a + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 10/19275fe80c4c8d0ad0abed6a96dbf00642e88b220b090418609c4376e1cef81bf16237bf170ad1b341452feddb8115d8dd2e5acdfdea1b27422071163dc9ba9d + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.4 + resolution: "@tsconfig/node16@npm:1.0.4" + checksum: 10/202319785901f942a6e1e476b872d421baec20cf09f4b266a1854060efbf78cde16a4d256e8bc949d31e6cd9a90f1e8ef8fb06af96a65e98338a2b6b0de0a0ff + languageName: node + linkType: hard + "@tybys/wasm-util@npm:^0.9.0": version: 0.9.0 resolution: "@tybys/wasm-util@npm:0.9.0" @@ -3139,7 +3276,7 @@ __metadata: languageName: node linkType: hard -"@types/bonjour@npm:^3.5.9": +"@types/bonjour@npm:^3.5.13, @types/bonjour@npm:^3.5.9": version: 3.5.13 resolution: "@types/bonjour@npm:3.5.13" dependencies: @@ -3148,7 +3285,7 @@ __metadata: languageName: node linkType: hard -"@types/connect-history-api-fallback@npm:^1.3.5": +"@types/connect-history-api-fallback@npm:^1.3.5, @types/connect-history-api-fallback@npm:^1.5.4": version: 1.5.4 resolution: "@types/connect-history-api-fallback@npm:1.5.4" dependencies: @@ -3206,6 +3343,18 @@ __metadata: languageName: node linkType: hard +"@types/express-serve-static-core@npm:^4.17.21": + version: 4.19.6 + resolution: "@types/express-serve-static-core@npm:4.19.6" + dependencies: + "@types/node": "npm:*" + "@types/qs": "npm:*" + "@types/range-parser": "npm:*" + "@types/send": "npm:*" + checksum: 10/a2e00b6c5993f0dd63ada2239be81076fe0220314b9e9fde586e8946c9c09ce60f9a2dd0d74410ee2b5fd10af8c3e755a32bb3abf134533e2158142488995455 + languageName: node + linkType: hard + "@types/express@npm:*, @types/express@npm:^4.17.13": version: 4.17.21 resolution: "@types/express@npm:4.17.21" @@ -3218,6 +3367,18 @@ __metadata: languageName: node linkType: hard +"@types/express@npm:^4.17.21": + version: 4.17.23 + resolution: "@types/express@npm:4.17.23" + dependencies: + "@types/body-parser": "npm:*" + "@types/express-serve-static-core": "npm:^4.17.33" + "@types/qs": "npm:*" + "@types/serve-static": "npm:*" + checksum: 10/cf4d540bbd90801cdc79a46107b8873404698a7fd0c3e8dd42989d52d3bd7f5b8768672e54c20835e41e27349c319bb47a404ad14c0f8db0e9d055ba1cb8a05b + languageName: node + linkType: hard + "@types/geojson-vt@npm:3.2.5": version: 3.2.5 resolution: "@types/geojson-vt@npm:3.2.5" @@ -3369,6 +3530,13 @@ __metadata: languageName: node linkType: hard +"@types/prop-types@npm:*": + version: 15.7.15 + resolution: "@types/prop-types@npm:15.7.15" + checksum: 10/31aa2f59b28f24da6fb4f1d70807dae2aedfce090ec63eaf9ea01727a9533ef6eaf017de5bff99fbccad7d1c9e644f52c6c2ba30869465dd22b1a7221c29f356 + languageName: node + linkType: hard + "@types/qs@npm:*, @types/qs@npm:^6.9.7": version: 6.9.15 resolution: "@types/qs@npm:6.9.15" @@ -3383,6 +3551,15 @@ __metadata: languageName: node linkType: hard +"@types/react-dom@npm:^18.2.18": + version: 18.3.7 + resolution: "@types/react-dom@npm:18.3.7" + peerDependencies: + "@types/react": ^18.0.0 + checksum: 10/317569219366d487a3103ba1e5e47154e95a002915fdcf73a44162c48fe49c3a57fcf7f57fc6979e70d447112681e6b13c6c3c1df289db8b544df4aab2d318f3 + languageName: node + linkType: hard + "@types/react-dom@npm:^19.1.6": version: 19.1.6 resolution: "@types/react-dom@npm:19.1.6" @@ -3392,6 +3569,16 @@ __metadata: languageName: node linkType: hard +"@types/react@npm:^18.2.48": + version: 18.3.23 + resolution: "@types/react@npm:18.3.23" + dependencies: + "@types/prop-types": "npm:*" + csstype: "npm:^3.0.2" + checksum: 10/4b965dffe34a1f8aac8e2d7e976f113373f38134f9e37239f7e75d7ac6b3c2e1333a8df21febf1fe7749640f8de5708f7668cdfc70bffebda1cc4d3346724fd5 + languageName: node + linkType: hard + "@types/react@npm:^19.1.8": version: 19.1.8 resolution: "@types/react@npm:19.1.8" @@ -3408,6 +3595,13 @@ __metadata: languageName: node linkType: hard +"@types/retry@npm:0.12.2": + version: 0.12.2 + resolution: "@types/retry@npm:0.12.2" + checksum: 10/e5675035717b39ce4f42f339657cae9637cf0c0051cf54314a6a2c44d38d91f6544be9ddc0280587789b6afd056be5d99dbe3e9f4df68c286c36321579b1bf4a + languageName: node + linkType: hard + "@types/semver@npm:^7.3.12": version: 7.5.8 resolution: "@types/semver@npm:7.5.8" @@ -3425,7 +3619,7 @@ __metadata: languageName: node linkType: hard -"@types/serve-index@npm:^1.9.1": +"@types/serve-index@npm:^1.9.1, @types/serve-index@npm:^1.9.4": version: 1.9.4 resolution: "@types/serve-index@npm:1.9.4" dependencies: @@ -3445,7 +3639,18 @@ __metadata: languageName: node linkType: hard -"@types/sockjs@npm:^0.3.33": +"@types/serve-static@npm:^1.15.5": + version: 1.15.8 + resolution: "@types/serve-static@npm:1.15.8" + dependencies: + "@types/http-errors": "npm:*" + "@types/node": "npm:*" + "@types/send": "npm:*" + checksum: 10/c031f870df6056a4c0a5a0ae94c5584006ab55400c74ae44de4d68d89338fbe982422861bad478b89a073f671efca454689fd28b6147358d6adc8edbc599caea + languageName: node + linkType: hard + +"@types/sockjs@npm:^0.3.33, @types/sockjs@npm:^0.3.36": version: 0.3.36 resolution: "@types/sockjs@npm:0.3.36" dependencies: @@ -3470,6 +3675,15 @@ __metadata: languageName: node linkType: hard +"@types/ws@npm:^8.5.10": + version: 8.18.1 + resolution: "@types/ws@npm:8.18.1" + dependencies: + "@types/node": "npm:*" + checksum: 10/1ce05e3174dcacf28dae0e9b854ef1c9a12da44c7ed73617ab6897c5cbe4fccbb155a20be5508ae9a7dde2f83bd80f5cf3baa386b934fc4b40889ec963e94f3a + languageName: node + linkType: hard + "@types/ws@npm:^8.5.5": version: 8.5.10 resolution: "@types/ws@npm:8.5.10" @@ -3875,6 +4089,15 @@ __metadata: languageName: node linkType: hard +"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1": + version: 8.3.4 + resolution: "acorn-walk@npm:8.3.4" + dependencies: + acorn: "npm:^8.11.0" + checksum: 10/871386764e1451c637bb8ab9f76f4995d408057e9909be6fb5ad68537ae3375d85e6a6f170b98989f44ab3ff6c74ad120bc2779a3d577606e7a0cd2b4efcaf77 + languageName: node + linkType: hard + "acorn@npm:>= 2.5.2 <= 5.7.5": version: 5.7.4 resolution: "acorn@npm:5.7.4" @@ -3884,6 +4107,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.4.1": + version: 8.15.0 + resolution: "acorn@npm:8.15.0" + bin: + acorn: bin/acorn + checksum: 10/77f2de5051a631cf1729c090e5759148459cdb76b5f5c70f890503d629cf5052357b0ce783c0f976dd8a93c5150f59f6d18df1def3f502396a20f81282482fa4 + languageName: node + linkType: hard + "acorn@npm:^8.7.1, acorn@npm:^8.8.2, acorn@npm:^8.9.0": version: 8.11.3 resolution: "acorn@npm:8.11.3" @@ -4028,6 +4260,13 @@ __metadata: languageName: node linkType: hard +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 10/969b491082f20cad166649fa4d2073ea9e974a4e5ac36247ca23d2e5a8b3cb12d60e9ff70a8acfe26d76566c71fd351ee5e6a9a6595157eb36f92b1fd64e1599 + languageName: node + linkType: hard + "argparse@npm:^2.0.1": version: 2.0.1 resolution: "argparse@npm:2.0.1" @@ -4272,6 +4511,26 @@ __metadata: languageName: node linkType: hard +"body-parser@npm:1.20.3": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10/8723e3d7a672eb50854327453bed85ac48d045f4958e81e7d470c56bf111f835b97e5b73ae9f6393d0011cc9e252771f46fd281bbabc57d33d3986edf1e6aeca + languageName: node + linkType: hard + "bonjour-service@npm:^1.0.11": version: 1.2.1 resolution: "bonjour-service@npm:1.2.1" @@ -4282,6 +4541,16 @@ __metadata: languageName: node linkType: hard +"bonjour-service@npm:^1.2.1": + version: 1.3.0 + resolution: "bonjour-service@npm:1.3.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + multicast-dns: "npm:^7.2.5" + checksum: 10/63d516d88f15fa4b89e247e6ff7d81c21a3ef5ed035b0b043c2b38e0c839f54f4ce58fbf9b7668027bf538ac86de366939dbb55cca63930f74eeea1e278c9585 + languageName: node + linkType: hard + "boolbase@npm:^1.0.0": version: 1.0.0 resolution: "boolbase@npm:1.0.0" @@ -4338,6 +4607,15 @@ __metadata: languageName: node linkType: hard +"bundle-name@npm:^4.1.0": + version: 4.1.0 + resolution: "bundle-name@npm:4.1.0" + dependencies: + run-applescript: "npm:^7.0.0" + checksum: 10/1d966c8d2dbf4d9d394e53b724ac756c2414c45c01340b37743621f59cc565a435024b394ddcb62b9b335d1c9a31f4640eb648c3fec7f97ee74dc0694c9beb6c + languageName: node + linkType: hard + "bytes@npm:3.0.0": version: 3.0.0 resolution: "bytes@npm:3.0.0" @@ -4482,7 +4760,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:^3.4.2, chokidar@npm:^3.5.3": +"chokidar@npm:^3.4.2, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": version: 3.6.0 resolution: "chokidar@npm:3.6.0" dependencies: @@ -4531,6 +4809,17 @@ __metadata: languageName: node linkType: hard +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10/eaa5561aeb3135c2cddf7a3b3f562fc4238ff3b3fc666869ef2adf264be0f372136702f16add9299087fb1907c2e4ec5dbfe83bd24bce815c70a80c6c1a2e950 + languageName: node + linkType: hard + "clone-deep@npm:^4.0.1": version: 4.0.1 resolution: "clone-deep@npm:4.0.1" @@ -4574,7 +4863,7 @@ __metadata: languageName: node linkType: hard -"colorette@npm:^2.0.10, colorette@npm:^2.0.14": +"colorette@npm:2.0.20, colorette@npm:^2.0.10, colorette@npm:^2.0.14": version: 2.0.20 resolution: "colorette@npm:2.0.20" checksum: 10/0b8de48bfa5d10afc160b8eaa2b9938f34a892530b2f7d7897e0458d9535a066e3998b49da9d21161c78225b272df19ae3a64d6df28b4c9734c0e55bbd02406f @@ -4588,7 +4877,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^7.0.0": +"commander@npm:^7.0.0, commander@npm:^7.2.0": version: 7.2.0 resolution: "commander@npm:7.2.0" checksum: 10/9973af10727ad4b44f26703bf3e9fdc323528660a7590efe3aa9ad5042b4584c0deed84ba443f61c9d6f02dade54a5a5d3c95e306a1e1630f8374ae6db16c06d @@ -4684,6 +4973,13 @@ __metadata: languageName: node linkType: hard +"cookie@npm:0.7.1": + version: 0.7.1 + resolution: "cookie@npm:0.7.1" + checksum: 10/aec6a6aa0781761bf55d60447d6be08861d381136a0fe94aa084fddd4f0300faa2b064df490c6798adfa1ebaef9e0af9b08a189c823e0811b8b313b3d9a03380 + languageName: node + linkType: hard + "copy-webpack-plugin@npm:^10.0.0": version: 10.2.4 resolution: "copy-webpack-plugin@npm:10.2.4" @@ -4743,6 +5039,13 @@ __metadata: languageName: node linkType: hard +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: 10/a9a1503d4390d8b59ad86f4607de7870b39cad43d929813599a23714831e81c520bddf61bcdd1f8e30f05fd3a2b71ae8538e946eb2786dc65c2bbc520f692eff + languageName: node + linkType: hard + "cross-env@npm:^7.0.3": version: 7.0.3 resolution: "cross-env@npm:7.0.3" @@ -4799,6 +5102,30 @@ __metadata: languageName: node linkType: hard +"css-loader@npm:^7.1.2": + version: 7.1.2 + resolution: "css-loader@npm:7.1.2" + dependencies: + icss-utils: "npm:^5.1.0" + postcss: "npm:^8.4.33" + postcss-modules-extract-imports: "npm:^3.1.0" + postcss-modules-local-by-default: "npm:^4.0.5" + postcss-modules-scope: "npm:^3.2.0" + postcss-modules-values: "npm:^4.0.0" + postcss-value-parser: "npm:^4.2.0" + semver: "npm:^7.5.4" + peerDependencies: + "@rspack/core": 0.x || 1.x + webpack: ^5.27.0 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: 10/ddde22fb103888320f60a1414a6a04638d2e9760a532a52d03c45e6e2830b32dd76c734aeef426f78dd95b2d15f77eeec3854ac53061aff02569732dc6e6801c + languageName: node + linkType: hard + "css-select@npm:^4.1.3": version: 4.3.0 resolution: "css-select@npm:4.3.0" @@ -4835,6 +5162,27 @@ __metadata: languageName: node linkType: hard +"custom-app-react@workspace:ui/app/custom-app-react": + version: 0.0.0-use.local + resolution: "custom-app-react@workspace:ui/app/custom-app-react" + dependencies: + "@openremote/or-chart": "npm:^1.6.5" + "@openremote/or-mwc-components": "npm:^1.6.5" + "@rspack/cli": "npm:^1.1.8" + "@rspack/core": "npm:^1.1.8" + "@rspack/plugin-react-refresh": "npm:1.0.0" + "@types/react": "npm:^18.2.48" + "@types/react-dom": "npm:^18.2.18" + cross-env: "npm:^7.0.3" + css-loader: "npm:^7.1.2" + react: "npm:^18.2.0" + react-dom: "npm:^18.2.0" + react-refresh: "npm:^0.14.0" + ts-node: "npm:^10.9.2" + typescript: "npm:^5.6.3" + languageName: unknown + linkType: soft + "data-view-buffer@npm:^1.0.1": version: 1.0.1 resolution: "data-view-buffer@npm:1.0.1" @@ -4868,6 +5216,13 @@ __metadata: languageName: node linkType: hard +"debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 10/0b95b2a9d80ed69117d890f8dab8c0f2d6066f8d20edd1d810ae51f8f366a6d4c8b1d56e97dcb9304e93d57de4d5db440d34a03def7dad50403fc3f22bf16808 + languageName: node + linkType: hard + "debug@npm:2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -4912,6 +5267,23 @@ __metadata: languageName: node linkType: hard +"default-browser-id@npm:^5.0.0": + version: 5.0.0 + resolution: "default-browser-id@npm:5.0.0" + checksum: 10/185bfaecec2c75fa423544af722a3469b20704c8d1942794a86e4364fe7d9e8e9f63241a5b769d61c8151993bc65833a5b959026fa1ccea343b3db0a33aa6deb + languageName: node + linkType: hard + +"default-browser@npm:^5.2.1": + version: 5.2.1 + resolution: "default-browser@npm:5.2.1" + dependencies: + bundle-name: "npm:^4.1.0" + default-browser-id: "npm:^5.0.0" + checksum: 10/afab7eff7b7f5f7a94d9114d1ec67273d3fbc539edf8c0f80019879d53aa71e867303c6f6d7cffeb10a6f3cfb59d4f963dba3f9c96830b4540cc7339a1bf9840 + languageName: node + linkType: hard + "default-gateway@npm:^6.0.3": version: 6.0.3 resolution: "default-gateway@npm:6.0.3" @@ -4939,6 +5311,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "define-lazy-prop@npm:3.0.0" + checksum: 10/f28421cf9ee86eecaf5f3b8fe875f13d7009c2625e97645bfff7a2a49aca678270b86c39f9c32939e5ca7ab96b551377ed4139558c795e076774287ad3af1aa4 + languageName: node + linkType: hard + "define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" @@ -4978,6 +5357,13 @@ __metadata: languageName: node linkType: hard +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: 10/ec09ec2101934ca5966355a229d77afcad5911c92e2a77413efda5455636c4cf2ce84057e2d7715227a2eeeda04255b849bd3ae3a4dd22eb22e86e76456df069 + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -5071,6 +5457,13 @@ __metadata: languageName: node linkType: hard +"duplexer@npm:^0.1.2": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 10/62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 + languageName: node + linkType: hard + "earcut@npm:^2.2.4": version: 2.2.4 resolution: "earcut@npm:2.2.4" @@ -5127,6 +5520,13 @@ __metadata: languageName: node linkType: hard +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10/abf5cd51b78082cf8af7be6785813c33b6df2068ce5191a40ca8b1afe6a86f9230af9a9ce694a5ce4665955e5c1120871826df9c128a642e09c58d592e2807fe + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -5185,7 +5585,7 @@ __metadata: languageName: node linkType: hard -"error-stack-parser@npm:^2.1.4": +"error-stack-parser@npm:^2.0.6, error-stack-parser@npm:^2.1.4": version: 2.1.4 resolution: "error-stack-parser@npm:2.1.4" dependencies: @@ -5311,6 +5711,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.1.1": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 + languageName: node + linkType: hard + "escalade@npm:^3.1.2": version: 3.1.2 resolution: "escalade@npm:3.1.2" @@ -5628,6 +6035,13 @@ __metadata: languageName: node linkType: hard +"exit-hook@npm:^4.0.0": + version: 4.0.0 + resolution: "exit-hook@npm:4.0.0" + checksum: 10/5aa8b4e45fa943e7e174c25329750a0ffefb593ccc2eafd5d67e1d734b114c93cb36b5714548fb1c2a1dd90f3e9cdc606b5e788f428f780708774da444021fdc + languageName: node + linkType: hard + "exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" @@ -5674,6 +6088,45 @@ __metadata: languageName: node linkType: hard +"express@npm:^4.21.2": + version: 4.21.2 + resolution: "express@npm:4.21.2" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.3" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.7.1" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.3.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.3" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.12" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.13.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10/34571c442fc8c9f2c4b442d2faa10ea1175cf8559237fc6a278f5ce6254a8ffdbeb9a15d99f77c1a9f2926ab183e3b7ba560e3261f1ad4149799e3412ab66bd1 + languageName: node + linkType: hard + "extend-shallow@npm:^2.0.1": version: 2.0.1 resolution: "extend-shallow@npm:2.0.1" @@ -5807,6 +6260,21 @@ __metadata: languageName: node linkType: hard +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10/4babe72969b7373b5842bc9f75c3a641a4d0f8eb53af6b89fa714d4460ce03fb92b28de751d12ba415e96e7e02870c436d67412120555e2b382640535697305b + languageName: node + linkType: hard + "find-cache-dir@npm:^3.3.1": version: 3.3.2 resolution: "find-cache-dir@npm:3.3.2" @@ -6067,6 +6535,13 @@ __metadata: languageName: node linkType: hard +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10/b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + "get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" @@ -6268,6 +6743,15 @@ __metadata: languageName: node linkType: hard +"gzip-size@npm:^6.0.0": + version: 6.0.0 + resolution: "gzip-size@npm:6.0.0" + dependencies: + duplexer: "npm:^0.1.2" + checksum: 10/2df97f359696ad154fc171dcb55bc883fe6e833bca7a65e457b9358f3cb6312405ed70a8da24a77c1baac0639906cd52358dc0ce2ec1a937eaa631b934c94194 + languageName: node + linkType: hard + "handle-thing@npm:^2.0.0": version: 2.0.1 resolution: "handle-thing@npm:2.0.1" @@ -6358,6 +6842,13 @@ __metadata: languageName: node linkType: hard +"html-entities@npm:^2.1.0, html-entities@npm:^2.6.0": + version: 2.6.0 + resolution: "html-entities@npm:2.6.0" + checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 + languageName: node + linkType: hard + "html-entities@npm:^2.3.2": version: 2.5.2 resolution: "html-entities@npm:2.5.2" @@ -6365,10 +6856,10 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.6.0": - version: 2.6.0 - resolution: "html-entities@npm:2.6.0" - checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 +"html-escaper@npm:^2.0.2": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7 languageName: node linkType: hard @@ -6496,6 +6987,24 @@ __metadata: languageName: node linkType: hard +"http-proxy-middleware@npm:^2.0.9": + version: 2.0.9 + resolution: "http-proxy-middleware@npm:2.0.9" + dependencies: + "@types/http-proxy": "npm:^1.17.8" + http-proxy: "npm:^1.18.1" + is-glob: "npm:^4.0.1" + is-plain-obj: "npm:^3.0.0" + micromatch: "npm:^4.0.2" + peerDependencies: + "@types/express": ^4.17.13 + peerDependenciesMeta: + "@types/express": + optional: true + checksum: 10/4ece416a91d52e96f8136c5f4abfbf7ac2f39becbad21fa8b158a12d7e7d8f808287ff1ae342b903fd1f15f2249dee87fabc09e1f0e73106b83331c496d67660 + languageName: node + linkType: hard + "http-proxy@npm:^1.18.1": version: 1.18.1 resolution: "http-proxy@npm:1.18.1" @@ -6524,6 +7033,13 @@ __metadata: languageName: node linkType: hard +"hyperdyperid@npm:^1.2.0": + version: 1.2.0 + resolution: "hyperdyperid@npm:1.2.0" + checksum: 10/64abb5568ff17aa08ac0175ae55e46e22831c5552be98acdd1692081db0209f36fff58b31432017b4e1772c178962676a2cc3c54e4d5d7f020d7710cec7ad7a6 + languageName: node + linkType: hard + "i18next-http-backend@npm:^1.3.1": version: 1.4.5 resolution: "i18next-http-backend@npm:1.4.5" @@ -6682,6 +7198,13 @@ __metadata: languageName: node linkType: hard +"interpret@npm:^3.1.1": + version: 3.1.1 + resolution: "interpret@npm:3.1.1" + checksum: 10/bc9e11126949c4e6ff49b0b819e923a9adc8e8bf3f9d4f2d782de6d5f592774f6fee4457c10bd08c6a2146b4baee460ccb242c99e5397defa9c846af0d00505a + languageName: node + linkType: hard + "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -6699,7 +7222,7 @@ __metadata: languageName: node linkType: hard -"ipaddr.js@npm:^2.0.1": +"ipaddr.js@npm:^2.0.1, ipaddr.js@npm:^2.1.0": version: 2.2.0 resolution: "ipaddr.js@npm:2.2.0" checksum: 10/9e1cdd9110b3bca5d910ab70d7fb1933e9c485d9b92cb14ef39f30c412ba3fe02a553921bf696efc7149cc653453c48ccf173adb996ec27d925f1f340f872986 @@ -6767,6 +7290,15 @@ __metadata: languageName: node linkType: hard +"is-core-module@npm:^2.16.0": + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" + dependencies: + hasown: "npm:^2.0.2" + checksum: 10/452b2c2fb7f889cbbf7e54609ef92cf6c24637c568acc7e63d166812a0fb365ae8a504c333a29add8bdb1686704068caa7f4e4b639b650dde4f00a038b8941fb + languageName: node + linkType: hard + "is-data-view@npm:^1.0.1": version: 1.0.1 resolution: "is-data-view@npm:1.0.1" @@ -6794,6 +7326,15 @@ __metadata: languageName: node linkType: hard +"is-docker@npm:^3.0.0": + version: 3.0.0 + resolution: "is-docker@npm:3.0.0" + bin: + is-docker: cli.js + checksum: 10/b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90 + languageName: node + linkType: hard + "is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": version: 0.1.1 resolution: "is-extendable@npm:0.1.1" @@ -6833,6 +7374,17 @@ __metadata: languageName: node linkType: hard +"is-inside-container@npm:^1.0.0": + version: 1.0.0 + resolution: "is-inside-container@npm:1.0.0" + dependencies: + is-docker: "npm:^3.0.0" + bin: + is-inside-container: cli.js + checksum: 10/c50b75a2ab66ab3e8b92b3bc534e1ea72ca25766832c0623ac22d134116a98bcf012197d1caabe1d1c4bd5f84363d4aa5c36bb4b585fbcaf57be172cd10a1a03 + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -6847,6 +7399,13 @@ __metadata: languageName: node linkType: hard +"is-network-error@npm:^1.0.0": + version: 1.1.0 + resolution: "is-network-error@npm:1.1.0" + checksum: 10/b2fe6aac07f814a9de275efd05934c832c129e7ba292d27614e9e8eec9e043b7a0bbeaeca5d0916b0f462edbec2aa2eaee974ee0a12ac095040e9515c222c251 + languageName: node + linkType: hard + "is-number-object@npm:^1.0.4": version: 1.0.7 resolution: "is-number-object@npm:1.0.7" @@ -6957,6 +7516,15 @@ __metadata: languageName: node linkType: hard +"is-wsl@npm:^3.1.0": + version: 3.1.0 + resolution: "is-wsl@npm:3.1.0" + dependencies: + is-inside-container: "npm:^1.0.0" + checksum: 10/f9734c81f2f9cf9877c5db8356bfe1ff61680f1f4c1011e91278a9c0564b395ae796addb4bf33956871041476ec82c3e5260ed57b22ac91794d4ae70a1d2f0a9 + languageName: node + linkType: hard + "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -7039,7 +7607,7 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^4.0.0": +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" checksum: 10/af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2 @@ -7214,6 +7782,16 @@ __metadata: languageName: node linkType: hard +"launch-editor@npm:^2.6.1": + version: 2.10.0 + resolution: "launch-editor@npm:2.10.0" + dependencies: + picocolors: "npm:^1.0.0" + shell-quote: "npm:^1.8.1" + checksum: 10/2ef26369d89ad22938c1f5c343a622ff2e8e2f7709901c739ef38319a103b7da400afc147005e765fc0c22fd467eeb5f63f98568b3882e21f7782a4061fdeb60 + languageName: node + linkType: hard + "leaflet@npm:1.4.0": version: 1.4.0 resolution: "leaflet@npm:1.4.0" @@ -7385,6 +7963,17 @@ __metadata: languageName: node linkType: hard +"loose-envify@npm:^1.1.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10/6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 + languageName: node + linkType: hard + "lower-case@npm:^2.0.2": version: 2.0.2 resolution: "lower-case@npm:2.0.2" @@ -7419,6 +8008,13 @@ __metadata: languageName: node linkType: hard +"make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10/b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 + languageName: node + linkType: hard + "make-fetch-happen@npm:^13.0.0": version: 13.0.1 resolution: "make-fetch-happen@npm:13.0.1" @@ -7502,6 +8098,18 @@ __metadata: languageName: node linkType: hard +"memfs@npm:^4.6.0": + version: 4.17.2 + resolution: "memfs@npm:4.17.2" + dependencies: + "@jsonjoy.com/json-pack": "npm:^1.0.3" + "@jsonjoy.com/util": "npm:^1.3.0" + tree-dump: "npm:^1.0.1" + tslib: "npm:^2.0.0" + checksum: 10/105175204e74e836460fbf18e431bc24def3f5ea7ecd94d644f35992dc28b5a4c5f425849dd5f342878ef0ba032508c05b2756e026491635a59fc7f631cbfcde + languageName: node + linkType: hard + "merge-descriptors@npm:1.0.1": version: 1.0.1 resolution: "merge-descriptors@npm:1.0.1" @@ -7509,6 +8117,13 @@ __metadata: languageName: node linkType: hard +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10/52117adbe0313d5defa771c9993fe081e2d2df9b840597e966aadafde04ae8d0e3da46bac7ca4efc37d4d2b839436582659cd49c6a43eacb3fe3050896a105d1 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -7719,6 +8334,13 @@ __metadata: languageName: node linkType: hard +"mrmime@npm:^2.0.0": + version: 2.0.1 + resolution: "mrmime@npm:2.0.1" + checksum: 10/1f966e2c05b7264209c4149ae50e8e830908eb64dd903535196f6ad72681fa109b794007288a3c2814f7a1ecf9ca192769909c0c374d974d604a8de5fc095d4a + languageName: node + linkType: hard + "ms@npm:2.0.0": version: 2.0.0 resolution: "ms@npm:2.0.0" @@ -8019,7 +8641,7 @@ __metadata: languageName: node linkType: hard -"on-finished@npm:2.4.1": +"on-finished@npm:2.4.1, on-finished@npm:^2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" dependencies: @@ -8053,6 +8675,18 @@ __metadata: languageName: node linkType: hard +"open@npm:^10.0.3": + version: 10.1.2 + resolution: "open@npm:10.1.2" + dependencies: + default-browser: "npm:^5.2.1" + define-lazy-prop: "npm:^3.0.0" + is-inside-container: "npm:^1.0.0" + is-wsl: "npm:^3.1.0" + checksum: 10/dc0496486fd79289844d8cac678402384488696db60ae5c5a175748cd728c381689cd937527762685dc27530408da0f0dac7653769f9730e773aa439d6674b98 + languageName: node + linkType: hard + "open@npm:^8.0.9": version: 8.4.2 resolution: "open@npm:8.4.2" @@ -8064,6 +8698,15 @@ __metadata: languageName: node linkType: hard +"opener@npm:^1.5.2": + version: 1.5.2 + resolution: "opener@npm:1.5.2" + bin: + opener: bin/opener-bin.js + checksum: 10/0504efcd6546e14c016a261f58a68acf9f2e5c23d84865d7d5470d5169788327ceaa5386253682f533b3fba4821748aa37ecb395f3dae7acb3261b9b22e36814 + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.4 resolution: "optionator@npm:0.9.4" @@ -8133,6 +8776,17 @@ __metadata: languageName: node linkType: hard +"p-retry@npm:^6.2.0": + version: 6.2.1 + resolution: "p-retry@npm:6.2.1" + dependencies: + "@types/retry": "npm:0.12.2" + is-network-error: "npm:^1.0.0" + retry: "npm:^0.13.1" + checksum: 10/7104ef13703b155d70883b0d3654ecc03148407d2711a4516739cf93139e8bec383451e14925e25e3c1ae04dbace3ed53c26dc3853c1e9b9867fcbdde25f4cdc + languageName: node + linkType: hard + "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -8226,6 +8880,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10/2e30f6a0144679c1f95c98e166b96e6acd1e72be9417830fefc8de7ac1992147eb9a4c7acaa59119fb1b3c34eec393b2129ef27e24b2054a3906fc4fb0d1398e + languageName: node + linkType: hard + "path-to-regexp@npm:0.1.7": version: 0.1.7 resolution: "path-to-regexp@npm:0.1.7" @@ -8465,6 +9126,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10/f548b376e685553d12e461409f0d6e5c59ec7c7d76f308e2a888fd9db3e0c5e89902bedd0754db3a9038eda5f27da2331a6f019c8517dc5e0a16b3c9a6e9cef8 + languageName: node + linkType: hard + "qs@npm:^6.8.0": version: 6.12.1 resolution: "qs@npm:6.12.1" @@ -8523,6 +9193,18 @@ __metadata: languageName: node linkType: hard +"react-dom@npm:^18.2.0": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + scheduler: "npm:^0.23.2" + peerDependencies: + react: ^18.3.1 + checksum: 10/3f4b73a3aa083091173b29812b10394dd06f4ac06aff410b74702cfb3aa29d7b0ced208aab92d5272919b612e5cda21aeb1d54191848cf6e46e9e354f3541f81 + languageName: node + linkType: hard + "react-dom@npm:^19.1.0": version: 19.1.0 resolution: "react-dom@npm:19.1.0" @@ -8534,6 +9216,13 @@ __metadata: languageName: node linkType: hard +"react-refresh@npm:^0.14.0": + version: 0.14.2 + resolution: "react-refresh@npm:0.14.2" + checksum: 10/512abf97271ab8623486061be04b608c39d932e3709f9af1720b41573415fa4993d0009fa5138b6705b60a98f4102f744d4e26c952b14f41a0e455521c6be4cc + languageName: node + linkType: hard + "react-refresh@npm:^0.17.0": version: 0.17.0 resolution: "react-refresh@npm:0.17.0" @@ -8541,6 +9230,15 @@ __metadata: languageName: node linkType: hard +"react@npm:^18.2.0": + version: 18.3.1 + resolution: "react@npm:18.3.1" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10/261137d3f3993eaa2368a83110466fc0e558bc2c7f7ae7ca52d94f03aac945f45146bd85e5f481044db1758a1dbb57879e2fcdd33924e2dde1bdc550ce73f7bf + languageName: node + linkType: hard + "react@npm:^19.1.0": version: 19.1.0 resolution: "react@npm:19.1.0" @@ -8601,6 +9299,15 @@ __metadata: languageName: node linkType: hard +"rechoir@npm:^0.8.0": + version: 0.8.0 + resolution: "rechoir@npm:0.8.0" + dependencies: + resolve: "npm:^1.20.0" + checksum: 10/ad3caed8afdefbc33fbc30e6d22b86c35b3d51c2005546f4e79bcc03c074df804b3640ad18945e6bef9ed12caedc035655ec1082f64a5e94c849ff939dc0a788 + languageName: node + linkType: hard + "redux-thunk@npm:^2.4.2": version: 2.4.2 resolution: "redux-thunk@npm:2.4.2" @@ -8715,6 +9422,13 @@ __metadata: languageName: node linkType: hard +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10/a72468e2589270d91f06c7d36ec97a88db53ae5d6fe3787fadc943f0b0276b10347f89b363b2a82285f650bdcc135ad4a257c61bdd4d00d6df1fa24875b0ddaf + languageName: node + linkType: hard + "require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" @@ -8788,6 +9502,19 @@ __metadata: languageName: node linkType: hard +"resolve@npm:^1.20.0": + version: 1.22.10 + resolution: "resolve@npm:1.22.10" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/0a398b44da5c05e6e421d70108822c327675febb880eebe905587628de401854c61d5df02866ff34fc4cb1173a51c9f0e84a94702738df3611a62e2acdc68181 + languageName: node + linkType: hard + "resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.9.0#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" @@ -8801,6 +9528,19 @@ __metadata: languageName: node linkType: hard +"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": + version: 1.22.10 + resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" + dependencies: + is-core-module: "npm:^2.16.0" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10/d4d878bfe3702d215ea23e75e0e9caf99468e3db76f5ca100d27ebdc527366fee3877e54bce7d47cc72ca8952fc2782a070d238bfa79a550eeb0082384c3b81a + languageName: node + linkType: hard + "rest@workspace:*, rest@workspace:ui/component/rest": version: 0.0.0-use.local resolution: "rest@workspace:ui/component/rest" @@ -8863,6 +9603,13 @@ __metadata: languageName: node linkType: hard +"run-applescript@npm:^7.0.0": + version: 7.0.0 + resolution: "run-applescript@npm:7.0.0" + checksum: 10/b02462454d8b182ad4117e5d4626e9e6782eb2072925c9fac582170b0627ae3c1ea92ee9b2df7daf84b5e9ffe14eb1cf5fb70bc44b15c8a0bfcdb47987e2410c + languageName: node + linkType: hard + "run-parallel@npm:^1.1.9": version: 1.2.0 resolution: "run-parallel@npm:1.2.0" @@ -8923,6 +9670,15 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" + dependencies: + loose-envify: "npm:^1.1.0" + checksum: 10/e8d68b89d18d5b028223edf090092846868a765a591944760942b77ea1f69b17235f7e956696efbb62c8130ab90af7e0949bfb8eba7896335507317236966bc9 + languageName: node + linkType: hard + "scheduler@npm:^0.26.0": version: 0.26.0 resolution: "scheduler@npm:0.26.0" @@ -8975,6 +9731,18 @@ __metadata: languageName: node linkType: hard +"schema-utils@npm:^4.2.0": + version: 4.3.2 + resolution: "schema-utils@npm:4.3.2" + dependencies: + "@types/json-schema": "npm:^7.0.9" + ajv: "npm:^8.9.0" + ajv-formats: "npm:^2.1.1" + ajv-keywords: "npm:^5.1.0" + checksum: 10/02c32c34aae762d48468f98465a96a167fede637772871c7c7d8923671ddb9f20b2cc6f6e8448ae6bef5363e3597493c655212c8b06a4ee73aa099d9452fbd8b + languageName: node + linkType: hard + "select-hose@npm:^2.0.0": version: 2.0.0 resolution: "select-hose@npm:2.0.0" @@ -8982,7 +9750,7 @@ __metadata: languageName: node linkType: hard -"selfsigned@npm:^2.1.1": +"selfsigned@npm:^2.1.1, selfsigned@npm:^2.4.1": version: 2.4.1 resolution: "selfsigned@npm:2.4.1" dependencies: @@ -9031,6 +9799,27 @@ __metadata: languageName: node linkType: hard +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10/1f6064dea0ae4cbe4878437aedc9270c33f2a6650a77b56a16b62d057527f2766d96ee282997dd53ec0339082f2aad935bc7d989b46b48c82fc610800dc3a1d0 + languageName: node + linkType: hard + "serialize-javascript@npm:^6.0.0, serialize-javascript@npm:^6.0.1": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" @@ -9067,6 +9856,18 @@ __metadata: languageName: node linkType: hard +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.19.0" + checksum: 10/7fa9d9c68090f6289976b34fc13c50ac8cd7f16ae6bce08d16459300f7fc61fbc2d7ebfa02884c073ec9d6ab9e7e704c89561882bbe338e99fcacb2912fde737 + languageName: node + linkType: hard + "set-function-length@npm:^1.2.1": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" @@ -9232,6 +10033,17 @@ __metadata: languageName: node linkType: hard +"sirv@npm:^2.0.3": + version: 2.0.4 + resolution: "sirv@npm:2.0.4" + dependencies: + "@polka/url": "npm:^1.0.0-next.24" + mrmime: "npm:^2.0.0" + totalist: "npm:^3.0.0" + checksum: 10/24f42cf06895017e589c9d16fc3f1c6c07fe8b0dbafce8a8b46322cfba67b7f2498610183954cb0e9d089c8cb60002a7ee7e8bca6a91a0d7042bfbc3473c95c3 + languageName: node + linkType: hard + "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -9437,7 +10249,7 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -9690,6 +10502,15 @@ __metadata: languageName: node linkType: hard +"thingies@npm:^1.20.0": + version: 1.21.0 + resolution: "thingies@npm:1.21.0" + peerDependencies: + tslib: ^2 + checksum: 10/5c3954b67391d1432c252cb7089f29480e2164f06987a63d83c9747aa6999bfc313d6edfce71ed967316a3378dfcaf38f35ea77aaa5d423edaf776b8ff854f83 + languageName: node + linkType: hard + "thunky@npm:^1.0.2": version: 1.1.0 resolution: "thunky@npm:1.1.0" @@ -9727,6 +10548,13 @@ __metadata: languageName: node linkType: hard +"totalist@npm:^3.0.0": + version: 3.0.1 + resolution: "totalist@npm:3.0.1" + checksum: 10/5132d562cf88ff93fd710770a92f31dbe67cc19b5c6ccae2efc0da327f0954d211bbfd9456389655d726c624f284b4a23112f56d1da931ca7cfabbe1f45e778a + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -9734,6 +10562,15 @@ __metadata: languageName: node linkType: hard +"tree-dump@npm:^1.0.1": + version: 1.0.3 + resolution: "tree-dump@npm:1.0.3" + peerDependencies: + tslib: 2 + checksum: 10/cf382e61cfb5e3ff8f03425b5bc1923e8f0e385b3a02f43d9d0a32d09da9984477e0f2a7698628662263d1d3f1af17e33486c77ff454978f0f9f07fb5d1fe9a2 + languageName: node + linkType: hard + "ts-loader@npm:^9.2.6": version: 9.5.1 resolution: "ts-loader@npm:9.5.1" @@ -9750,6 +10587,44 @@ __metadata: languageName: node linkType: hard +"ts-node@npm:^10.9.2": + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" + dependencies: + "@cspotcode/source-map-support": "npm:^0.8.0" + "@tsconfig/node10": "npm:^1.0.7" + "@tsconfig/node12": "npm:^1.0.7" + "@tsconfig/node14": "npm:^1.0.0" + "@tsconfig/node16": "npm:^1.0.2" + acorn: "npm:^8.4.1" + acorn-walk: "npm:^8.1.1" + arg: "npm:^4.1.0" + create-require: "npm:^1.1.0" + diff: "npm:^4.0.1" + make-error: "npm:^1.1.1" + v8-compile-cache-lib: "npm:^3.0.1" + yn: "npm:3.1.1" + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 10/a91a15b3c9f76ac462f006fa88b6bfa528130dcfb849dd7ef7f9d640832ab681e235b8a2bc58ecde42f72851cc1d5d4e22c901b0c11aa51001ea1d395074b794 + languageName: node + linkType: hard + "tsconfig-paths@npm:^3.15.0": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" @@ -9769,6 +10644,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.0.0, tslib@npm:^2.8.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 + languageName: node + linkType: hard + "tslib@npm:^2.0.3, tslib@npm:^2.4.0": version: 2.6.2 resolution: "tslib@npm:2.6.2" @@ -9776,13 +10658,6 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.8.0": - version: 2.8.1 - resolution: "tslib@npm:2.8.1" - checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 - languageName: node - linkType: hard - "tsutils@npm:^3.21.0": version: 3.21.0 resolution: "tsutils@npm:3.21.0" @@ -9882,7 +10757,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.8.3": +"typescript@npm:^5.6.3, typescript@npm:^5.8.3": version: 5.8.3 resolution: "typescript@npm:5.8.3" bin: @@ -9902,7 +10777,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.8.3#optional!builtin": +"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin, typescript@patch:typescript@npm%3A^5.8.3#optional!builtin": version: 5.8.3 resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=d69c25" bin: @@ -10082,6 +10957,13 @@ __metadata: languageName: node linkType: hard +"v8-compile-cache-lib@npm:^3.0.1": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 10/88d3423a52b6aaf1836be779cab12f7016d47ad8430dffba6edf766695e6d90ad4adaa3d8eeb512cc05924f3e246c4a4ca51e089dccf4402caa536b5e5be8961 + languageName: node + linkType: hard + "vary@npm:~1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" @@ -10126,6 +11008,28 @@ __metadata: languageName: node linkType: hard +"webpack-bundle-analyzer@npm:4.10.2": + version: 4.10.2 + resolution: "webpack-bundle-analyzer@npm:4.10.2" + dependencies: + "@discoveryjs/json-ext": "npm:0.5.7" + acorn: "npm:^8.0.4" + acorn-walk: "npm:^8.0.0" + commander: "npm:^7.2.0" + debounce: "npm:^1.2.1" + escape-string-regexp: "npm:^4.0.0" + gzip-size: "npm:^6.0.0" + html-escaper: "npm:^2.0.2" + opener: "npm:^1.5.2" + picocolors: "npm:^1.0.0" + sirv: "npm:^2.0.3" + ws: "npm:^7.3.1" + bin: + webpack-bundle-analyzer: lib/bin/analyzer.js + checksum: 10/cb7ff9d01dc04ef23634f439ab9fe739e022cce5595cb340e01d106ed474605ce4ef50b11b47e444507d341b16650dcb3610e88944020ca6c1c38e88072d43ba + languageName: node + linkType: hard + "webpack-cli@npm:^4.9.1": version: 4.10.0 resolution: "webpack-cli@npm:4.10.0" @@ -10174,6 +11078,70 @@ __metadata: languageName: node linkType: hard +"webpack-dev-middleware@npm:^7.4.2": + version: 7.4.2 + resolution: "webpack-dev-middleware@npm:7.4.2" + dependencies: + colorette: "npm:^2.0.10" + memfs: "npm:^4.6.0" + mime-types: "npm:^2.1.31" + on-finished: "npm:^2.4.1" + range-parser: "npm:^1.2.1" + schema-utils: "npm:^4.0.0" + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + checksum: 10/608d101b82081a5bc6c0237f9945e14a8eefce1664c10877f3feb0042710f6c8b4288b07986505f791302d81b3c51180f679b97c91c3cdabd3fd0687a464ca1c + languageName: node + linkType: hard + +"webpack-dev-server@npm:5.2.2": + version: 5.2.2 + resolution: "webpack-dev-server@npm:5.2.2" + dependencies: + "@types/bonjour": "npm:^3.5.13" + "@types/connect-history-api-fallback": "npm:^1.5.4" + "@types/express": "npm:^4.17.21" + "@types/express-serve-static-core": "npm:^4.17.21" + "@types/serve-index": "npm:^1.9.4" + "@types/serve-static": "npm:^1.15.5" + "@types/sockjs": "npm:^0.3.36" + "@types/ws": "npm:^8.5.10" + ansi-html-community: "npm:^0.0.8" + bonjour-service: "npm:^1.2.1" + chokidar: "npm:^3.6.0" + colorette: "npm:^2.0.10" + compression: "npm:^1.7.4" + connect-history-api-fallback: "npm:^2.0.0" + express: "npm:^4.21.2" + graceful-fs: "npm:^4.2.6" + http-proxy-middleware: "npm:^2.0.9" + ipaddr.js: "npm:^2.1.0" + launch-editor: "npm:^2.6.1" + open: "npm:^10.0.3" + p-retry: "npm:^6.2.0" + schema-utils: "npm:^4.2.0" + selfsigned: "npm:^2.4.1" + serve-index: "npm:^1.9.1" + sockjs: "npm:^0.3.24" + spdy: "npm:^4.0.2" + webpack-dev-middleware: "npm:^7.4.2" + ws: "npm:^8.18.0" + peerDependencies: + webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + bin: + webpack-dev-server: bin/webpack-dev-server.js + checksum: 10/59517409cd38c01a875a03b9658f3d20d492b5b8bead9ded4a0f3d33e6857daf2d352fe89f0181dcaea6d0fbe84b0494cb4750a87120fe81cdbb3c32b499451c + languageName: node + linkType: hard + "webpack-dev-server@npm:^4.5.0": version: 4.15.2 resolution: "webpack-dev-server@npm:4.15.2" @@ -10377,7 +11345,7 @@ __metadata: languageName: node linkType: hard -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" dependencies: @@ -10406,6 +11374,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^7.3.1": + version: 7.5.10 + resolution: "ws@npm:7.5.10" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/9c796b84ba80ffc2c2adcdfc9c8e9a219ba99caa435c9a8d45f9ac593bba325563b3f83edc5eb067cc6d21b9a6bf2c930adf76dd40af5f58a5ca6859e81858f0 + languageName: node + linkType: hard + "ws@npm:^8.13.0": version: 8.17.0 resolution: "ws@npm:8.17.0" @@ -10421,6 +11404,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:^8.18.0": + version: 8.18.2 + resolution: "ws@npm:8.18.2" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 10/018e04ec95561d88248d53a2eaf094b4ae131e9b062f2679e6e8a62f04649bc543448f1e038125225ac6bbb25f54c1e65d7a2cc9dbc1e28b43e5e6b7162ad88e + languageName: node + linkType: hard + "xtend@npm:^4.0.0, xtend@npm:^4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -10428,6 +11426,13 @@ __metadata: languageName: node linkType: hard +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10/5f1b5f95e3775de4514edbb142398a2c37849ccfaf04a015be5d75521e9629d3be29bd4432d23c57f37e5b61ade592fb0197022e9993f81a06a5afbdcda9346d + languageName: node + linkType: hard + "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -10449,6 +11454,35 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e + languageName: node + linkType: hard + +"yargs@npm:17.7.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 10/2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6 + languageName: node + linkType: hard + "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0" From c497aa551931ae16a456f0a14be1793889061728 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Wed, 2 Jul 2025 17:53:27 +0200 Subject: [PATCH 03/17] Updated README.md for custom apps --- ui/app/README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/ui/app/README.md b/ui/app/README.md index 8615dac8f..4e0395e6e 100644 --- a/ui/app/README.md +++ b/ui/app/README.md @@ -1,8 +1,10 @@ # Custom UI apps In this folder, you can add custom (web) applications that will be shipped along with OpenRemote. -For example, special mobile apps for a single use are very common. -We make it easy for them to communicate with OpenRemote. +For example, special mobile apps for end users, or apps for less-technical consumers are widespread. + +Developing these custom apps is pretty straightforward, thanks to the built-in packages we provide. +These make communicating with OpenRemote easier, and allows developers to quickly set up an user interface. ## Example apps @@ -10,10 +12,10 @@ We provided several example apps to get familiar with the architecture. Here's a list of the apps, and what they do; ### /custom -This is an example web application built with Lit Web Components and Webpack. -Apps in our main OpenRemote repository are built with these technologies as well. +This is an example web application built with [Lit Web Components](https://lit.dev) and [Webpack](https://webpack.js.org). +Apps in our main OpenRemote [repository](https://github.com/openremote/openremote) are built with these technologies as well. It can be used as a template to add your own pages on top of it. ### /custom-app-react -This is an example web application built with React 19 and RSPack. +This is an example web application built with [React 19](https://react.dev) and [RSPack](https://rspack.rs). *(more information soon)* \ No newline at end of file From ce5c4fb007b04b535e362887e4169045a196e1f7 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Thu, 3 Jul 2025 11:19:24 +0200 Subject: [PATCH 04/17] Updated RSPack config with correct path and port. Updated README. --- ui/app/README.md | 1 + ui/app/custom-app-react/rspack.config.ts | 8 + yarn.lock | 200 +++-------------------- 3 files changed, 30 insertions(+), 179 deletions(-) diff --git a/ui/app/README.md b/ui/app/README.md index 4e0395e6e..8e1ac569c 100644 --- a/ui/app/README.md +++ b/ui/app/README.md @@ -9,6 +9,7 @@ These make communicating with OpenRemote easier, and allows developers to quickl ## Example apps We provided several example apps to get familiar with the architecture. +All apps can be ran using `npm run serve`, and visited at http://localhost:9000/custom/. Here's a list of the apps, and what they do; ### /custom diff --git a/ui/app/custom-app-react/rspack.config.ts b/ui/app/custom-app-react/rspack.config.ts index 52151bd49..e0681c369 100644 --- a/ui/app/custom-app-react/rspack.config.ts +++ b/ui/app/custom-app-react/rspack.config.ts @@ -10,6 +10,11 @@ const targets = ["chrome >= 87", "edge >= 88", "firefox >= 78", "safari >= 14"]; export default defineConfig({ context: __dirname, + devServer: { + host: "0.0.0.0", + port: 9000, + open: false + }, entry: { main: "./src/main.tsx" }, @@ -66,6 +71,9 @@ export default defineConfig({ }) ] }, + output: { + publicPath: isDev ? "/custom/" : "/", + }, experiments: { css: true } diff --git a/yarn.lock b/yarn.lock index 189521d30..18a1b8e7b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2482,18 +2482,23 @@ __metadata: languageName: node linkType: hard -"@openremote/custom-example-react@workspace:ui/app/custom-example-react": +"@openremote/custom-app-react@workspace:ui/app/custom-app-react": version: 0.0.0-use.local - resolution: "@openremote/custom-example-react@workspace:ui/app/custom-example-react" + resolution: "@openremote/custom-app-react@workspace:ui/app/custom-app-react" dependencies: + "@openremote/or-chart": "npm:^1.6.5" "@openremote/or-mwc-components": "npm:^1.6.5" - "@rsbuild/core": "npm:^1.4.0" - "@rsbuild/plugin-react": "npm:^1.3.2" - "@types/react": "npm:^19.1.8" - "@types/react-dom": "npm:^19.1.6" - react: "npm:^19.1.0" - react-dom: "npm:^19.1.0" - typescript: "npm:^5.8.3" + "@rspack/cli": "npm:^1.1.8" + "@rspack/core": "npm:^1.1.8" + "@rspack/plugin-react-refresh": "npm:1.0.0" + "@types/react": "npm:^18.2.48" + "@types/react-dom": "npm:^18.2.18" + cross-env: "npm:^7.0.3" + react: "npm:^18.2.0" + react-dom: "npm:^18.2.0" + react-refresh: "npm:^0.14.0" + ts-node: "npm:^10.9.2" + typescript: "npm:^5.6.3" languageName: unknown linkType: soft @@ -2993,33 +2998,6 @@ __metadata: languageName: node linkType: hard -"@rsbuild/core@npm:^1.4.0": - version: 1.4.1 - resolution: "@rsbuild/core@npm:1.4.1" - dependencies: - "@rspack/core": "npm:1.4.1" - "@rspack/lite-tapable": "npm:~1.0.1" - "@swc/helpers": "npm:^0.5.17" - core-js: "npm:~3.43.0" - jiti: "npm:^2.4.2" - bin: - rsbuild: bin/rsbuild.js - checksum: 10/6e5d68eb6757b69fc21709cc6679de0e5a48761ddfd0035baa409437df22ea70d5093eaaa34b4165d46862a7d455a9489c7ecd0928a3ec173632a6a9e62052df - languageName: node - linkType: hard - -"@rsbuild/plugin-react@npm:^1.3.2": - version: 1.3.2 - resolution: "@rsbuild/plugin-react@npm:1.3.2" - dependencies: - "@rspack/plugin-react-refresh": "npm:~1.4.3" - react-refresh: "npm:^0.17.0" - peerDependencies: - "@rsbuild/core": 1.x - checksum: 10/852d5098e71028d3c238b12a04ff2220ef9023c50a37bc5db24d96facbdbfac5f5c3c73e9f1e8822956ad34b0e98f556ff8291f497e7163ec38378ddbe2e8e36 - languageName: node - linkType: hard - "@rspack/binding-darwin-arm64@npm:1.4.1": version: 1.4.1 resolution: "@rspack/binding-darwin-arm64@npm:1.4.1" @@ -3151,7 +3129,7 @@ __metadata: languageName: node linkType: hard -"@rspack/core@npm:1.4.1, @rspack/core@npm:^1.1.8": +"@rspack/core@npm:^1.1.8": version: 1.4.1 resolution: "@rspack/core@npm:1.4.1" dependencies: @@ -3182,7 +3160,7 @@ __metadata: languageName: node linkType: hard -"@rspack/lite-tapable@npm:1.0.1, @rspack/lite-tapable@npm:~1.0.1": +"@rspack/lite-tapable@npm:1.0.1": version: 1.0.1 resolution: "@rspack/lite-tapable@npm:1.0.1" checksum: 10/240b7832965bca5a52d1f03a8539dab5810958ce24b5a670405b2505d81350f10d668f4055648f5918bc18ac033e637bcb7f92189345f0f2f671b546019c2f9e @@ -3204,31 +3182,6 @@ __metadata: languageName: node linkType: hard -"@rspack/plugin-react-refresh@npm:~1.4.3": - version: 1.4.3 - resolution: "@rspack/plugin-react-refresh@npm:1.4.3" - dependencies: - error-stack-parser: "npm:^2.1.4" - html-entities: "npm:^2.6.0" - peerDependencies: - react-refresh: ">=0.10.0 <1.0.0" - webpack-hot-middleware: 2.x - peerDependenciesMeta: - webpack-hot-middleware: - optional: true - checksum: 10/ddbe4268f0c5eb1e6c4384db16cad42628596ff7ca97707b5075be894f60bb87de2483fe2735129dc624380e46b7999735af7c418123a6bb2d01280ca5fea2c1 - languageName: node - linkType: hard - -"@swc/helpers@npm:^0.5.17": - version: 0.5.17 - resolution: "@swc/helpers@npm:0.5.17" - dependencies: - tslib: "npm:^2.8.0" - checksum: 10/1fc8312a78f1f99c8ec838585445e99763eeebff2356100738cdfdb8ad47d2d38df678ee6edd93a90fe319ac52da67adc14ac00eb82b606c5fb8ebc5d06ec2a2 - languageName: node - linkType: hard - "@tsconfig/node10@npm:^1.0.7": version: 1.0.11 resolution: "@tsconfig/node10@npm:1.0.11" @@ -3560,15 +3513,6 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^19.1.6": - version: 19.1.6 - resolution: "@types/react-dom@npm:19.1.6" - peerDependencies: - "@types/react": ^19.0.0 - checksum: 10/b5b20b7f0797f34c5a11915b74dcf8b3b7a9da9fea90279975ce6f150ca5d31bb069dbb0838638a5e9e168098aa4bb4a6f61d078efa1bbb55d7f0bdfe47bb142 - languageName: node - linkType: hard - "@types/react@npm:^18.2.48": version: 18.3.23 resolution: "@types/react@npm:18.3.23" @@ -3579,15 +3523,6 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^19.1.8": - version: 19.1.8 - resolution: "@types/react@npm:19.1.8" - dependencies: - csstype: "npm:^3.0.2" - checksum: 10/a3e6fe0f60f22828ef887f30993aa147b71532d7b1219dd00d246277eb7a9ca01ec533096237fa21ca1bccb3653373b4e8e59e5ae59f9c793058384bbc1f4d5c - languageName: node - linkType: hard - "@types/retry@npm:0.12.0": version: 0.12.0 resolution: "@types/retry@npm:0.12.0" @@ -5012,13 +4947,6 @@ __metadata: languageName: node linkType: hard -"core-js@npm:~3.43.0": - version: 3.43.0 - resolution: "core-js@npm:3.43.0" - checksum: 10/514952992863266b1a6a2d3c985e905461d37fe72d131d9320d5dbf01ac7e746f6fc53004b548347518cc832f7d2602b9a228acf6b5183e5cbede9dd296d73d3 - languageName: node - linkType: hard - "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -5102,30 +5030,6 @@ __metadata: languageName: node linkType: hard -"css-loader@npm:^7.1.2": - version: 7.1.2 - resolution: "css-loader@npm:7.1.2" - dependencies: - icss-utils: "npm:^5.1.0" - postcss: "npm:^8.4.33" - postcss-modules-extract-imports: "npm:^3.1.0" - postcss-modules-local-by-default: "npm:^4.0.5" - postcss-modules-scope: "npm:^3.2.0" - postcss-modules-values: "npm:^4.0.0" - postcss-value-parser: "npm:^4.2.0" - semver: "npm:^7.5.4" - peerDependencies: - "@rspack/core": 0.x || 1.x - webpack: ^5.27.0 - peerDependenciesMeta: - "@rspack/core": - optional: true - webpack: - optional: true - checksum: 10/ddde22fb103888320f60a1414a6a04638d2e9760a532a52d03c45e6e2830b32dd76c734aeef426f78dd95b2d15f77eeec3854ac53061aff02569732dc6e6801c - languageName: node - linkType: hard - "css-select@npm:^4.1.3": version: 4.3.0 resolution: "css-select@npm:4.3.0" @@ -5162,27 +5066,6 @@ __metadata: languageName: node linkType: hard -"custom-app-react@workspace:ui/app/custom-app-react": - version: 0.0.0-use.local - resolution: "custom-app-react@workspace:ui/app/custom-app-react" - dependencies: - "@openremote/or-chart": "npm:^1.6.5" - "@openremote/or-mwc-components": "npm:^1.6.5" - "@rspack/cli": "npm:^1.1.8" - "@rspack/core": "npm:^1.1.8" - "@rspack/plugin-react-refresh": "npm:1.0.0" - "@types/react": "npm:^18.2.48" - "@types/react-dom": "npm:^18.2.18" - cross-env: "npm:^7.0.3" - css-loader: "npm:^7.1.2" - react: "npm:^18.2.0" - react-dom: "npm:^18.2.0" - react-refresh: "npm:^0.14.0" - ts-node: "npm:^10.9.2" - typescript: "npm:^5.6.3" - languageName: unknown - linkType: soft - "data-view-buffer@npm:^1.0.1": version: 1.0.1 resolution: "data-view-buffer@npm:1.0.1" @@ -5585,7 +5468,7 @@ __metadata: languageName: node linkType: hard -"error-stack-parser@npm:^2.0.6, error-stack-parser@npm:^2.1.4": +"error-stack-parser@npm:^2.0.6": version: 2.1.4 resolution: "error-stack-parser@npm:2.1.4" dependencies: @@ -6842,7 +6725,7 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.1.0, html-entities@npm:^2.6.0": +"html-entities@npm:^2.1.0": version: 2.6.0 resolution: "html-entities@npm:2.6.0" checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 @@ -7591,15 +7474,6 @@ __metadata: languageName: node linkType: hard -"jiti@npm:^2.4.2": - version: 2.4.2 - resolution: "jiti@npm:2.4.2" - bin: - jiti: lib/jiti-cli.mjs - checksum: 10/e2b07eb2e3fbb245e29ad288dddecab31804967fc84d5e01d39858997d2743b5e248946defcecf99272275a00284ecaf7ec88b8c841331324f0c946d8274414b - languageName: node - linkType: hard - "js-sha256@npm:^0.11.0": version: 0.11.0 resolution: "js-sha256@npm:0.11.0" @@ -9205,17 +9079,6 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^19.1.0": - version: 19.1.0 - resolution: "react-dom@npm:19.1.0" - dependencies: - scheduler: "npm:^0.26.0" - peerDependencies: - react: ^19.1.0 - checksum: 10/c5b58605862c7b0bb044416b01c73647bb8e89717fb5d7a2c279b11815fb7b49b619fe685c404e59f55eb52c66831236cc565c25ee1c2d042739f4a2cc538aa2 - languageName: node - linkType: hard - "react-refresh@npm:^0.14.0": version: 0.14.2 resolution: "react-refresh@npm:0.14.2" @@ -9223,13 +9086,6 @@ __metadata: languageName: node linkType: hard -"react-refresh@npm:^0.17.0": - version: 0.17.0 - resolution: "react-refresh@npm:0.17.0" - checksum: 10/5e94f07d43bb1cfdc9b0c6e0c8c73e754005489950dcff1edb53aa8451d1d69a47b740b195c7c80fb4eb511c56a3585dc55eddd83f0097fb5e015116a1460467 - languageName: node - linkType: hard - "react@npm:^18.2.0": version: 18.3.1 resolution: "react@npm:18.3.1" @@ -9239,13 +9095,6 @@ __metadata: languageName: node linkType: hard -"react@npm:^19.1.0": - version: 19.1.0 - resolution: "react@npm:19.1.0" - checksum: 10/d0180689826fd9de87e839c365f6f361c561daea397d61d724687cae88f432a307d1c0f53a0ee95ddbe3352c10dac41d7ff1ad85530fb24951b27a39e5398db4 - languageName: node - linkType: hard - "readable-stream@npm:^2.0.1": version: 2.3.8 resolution: "readable-stream@npm:2.3.8" @@ -9679,13 +9528,6 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.26.0": - version: 0.26.0 - resolution: "scheduler@npm:0.26.0" - checksum: 10/1ecf2e5d7de1a7a132796834afe14a2d589ba7e437615bd8c06f3e0786a3ac3434655e67aac8755d9b14e05754c177e49c064261de2673aaa3c926bc98caa002 - languageName: node - linkType: hard - "schema-utils@npm:2.7.0": version: 2.7.0 resolution: "schema-utils@npm:2.7.0" @@ -10644,7 +10486,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.8.0": +"tslib@npm:^2.0.0": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 @@ -10757,7 +10599,7 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.6.3, typescript@npm:^5.8.3": +"typescript@npm:^5.6.3": version: 5.8.3 resolution: "typescript@npm:5.8.3" bin: @@ -10777,7 +10619,7 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin, typescript@patch:typescript@npm%3A^5.8.3#optional!builtin": +"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin": version: 5.8.3 resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=d69c25" bin: From f10b31ea287bed1bf872cd7c39774913dbcc415d Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Thu, 3 Jul 2025 12:02:17 +0200 Subject: [PATCH 05/17] Added example for listening to events --- ui/app/custom-app-react/src/App.tsx | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/ui/app/custom-app-react/src/App.tsx b/ui/app/custom-app-react/src/App.tsx index f547189b9..9c80ac2e5 100644 --- a/ui/app/custom-app-react/src/App.tsx +++ b/ui/app/custom-app-react/src/App.tsx @@ -1,18 +1,31 @@ -import { useState } from "react"; +import { useState, useRef, useEffect } from "react"; import reactLogo from "./assets/react.svg"; import {InputType, OrMwcInput} from "@openremote/or-mwc-components/or-mwc-input"; import "./App.css"; +/** + * In React, for web components to be recognized, it's common to add each HTML tag in the JSX IntrinsicElements interface. + * Be aware; your IDE might still not understand these web components correctly. + */ declare global { namespace JSX { interface IntrinsicElements { - 'or-mwc-input': OrMwcInput + "or-mwc-input": OrMwcInput } } } function App() { const [count, setCount] = useState(0); + const buttonRef = useRef(null); + const handleButtonClick = () => setCount(count => count + 1); + + useEffect(() => { + (buttonRef.current as any)?.addEventListener("or-mwc-input-changed", handleButtonClick); + return () => { + (buttonRef.current as any)?.removeEventListener("or-mwc-input-changed", handleButtonClick); + }; + }, []); return (
@@ -29,11 +42,11 @@ function App() {

Edit src/App.tsx and save to test HMR

+

- Click on the Rspack and React logos to learn more + Click on the React logo to learn more

- ); } From 41b5e767fb177edb0e63b18e2c8d1171ace17063 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Thu, 3 Jul 2025 15:43:07 +0200 Subject: [PATCH 06/17] Added OpenRemote authentication and dependencies. Now prompting login upon opening app. --- ui/app/custom-app-react/package.json | 3 ++- ui/app/custom-app-react/src/main.tsx | 30 +++++++++++++++++++++++----- yarn.lock | 9 +++++---- 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/ui/app/custom-app-react/package.json b/ui/app/custom-app-react/package.json index 07d412ce8..34c197822 100644 --- a/ui/app/custom-app-react/package.json +++ b/ui/app/custom-app-react/package.json @@ -10,7 +10,8 @@ "serve": "cross-env NODE_ENV=development rspack serve" }, "dependencies": { - "@openremote/or-chart": "^1.6.5", + "@openremote/core": "^1.6.5", + "@openremote/model": "^1.6.5", "@openremote/or-mwc-components": "^1.6.5", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/ui/app/custom-app-react/src/main.tsx b/ui/app/custom-app-react/src/main.tsx index 29baf78c5..85259adc0 100644 --- a/ui/app/custom-app-react/src/main.tsx +++ b/ui/app/custom-app-react/src/main.tsx @@ -1,10 +1,30 @@ import React from "react"; import ReactDOM from "react-dom/client"; import App from "./App.tsx"; +import {manager} from "@openremote/core"; +import {ManagerConfig} from "@openremote/model"; import "./index.css"; -ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( - - - -); +/** + * Define the Manager configuration to talk with OpenRemote. + * For example, defining the realm and URL to communicate with. (these will be consumed with HTTP API calls for example) + * We also enable autoLogin to prompt a Keycloak login before the app appears. + */ +const managerConfig: ManagerConfig = { + realm: "custom", + managerUrl: "http://192.168.0.101:8080", + autoLogin: true +}; + +/** + * Initialize the Manager connection. + * Afterward, we can start rendering the React DOM UI. + */ +manager.init(managerConfig).then(() => { + + ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + + + + ); +}); diff --git a/yarn.lock b/yarn.lock index 18a1b8e7b..ac7b22877 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2465,7 +2465,7 @@ __metadata: languageName: node linkType: hard -"@openremote/core@npm:1.6.5": +"@openremote/core@npm:1.6.5, @openremote/core@npm:^1.6.5": version: 1.6.5 resolution: "@openremote/core@npm:1.6.5" dependencies: @@ -2486,7 +2486,8 @@ __metadata: version: 0.0.0-use.local resolution: "@openremote/custom-app-react@workspace:ui/app/custom-app-react" dependencies: - "@openremote/or-chart": "npm:^1.6.5" + "@openremote/core": "npm:^1.6.5" + "@openremote/model": "npm:^1.6.5" "@openremote/or-mwc-components": "npm:^1.6.5" "@rspack/cli": "npm:^1.1.8" "@rspack/core": "npm:^1.1.8" @@ -2557,7 +2558,7 @@ __metadata: languageName: node linkType: hard -"@openremote/model@npm:1.6.5": +"@openremote/model@npm:1.6.5, @openremote/model@npm:^1.6.5": version: 1.6.5 resolution: "@openremote/model@npm:1.6.5" checksum: 10/643a4de11861f61143b92565ce7b4c3fef7c36b4b96c31af7ee337614db049ba479f2357143fc0c4e29352790139fa0a0506e0e2345f9e80b05cae31da8a5295 @@ -2691,7 +2692,7 @@ __metadata: languageName: node linkType: hard -"@openremote/or-chart@npm:1.6.5, @openremote/or-chart@npm:^1.6.5": +"@openremote/or-chart@npm:1.6.5": version: 1.6.5 resolution: "@openremote/or-chart@npm:1.6.5" dependencies: From f2d492e2f195703e3b0e48e9b56d5a1dd9c13be3 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Tue, 28 Oct 2025 14:46:33 +0100 Subject: [PATCH 07/17] Upgraded dependencies: React 19, RSPack 1.5.8, etc --- ui/app/custom-app-react/build.gradle | 12 + ui/app/custom-app-react/package.json | 26 +- ui/app/custom-app-react/rspack.config.ts | 17 +- ui/app/custom-app-react/src/App.tsx | 74 ++-- ui/app/custom-app-react/src/main.tsx | 4 +- yarn.lock | 504 ++++++++++++++++++----- 6 files changed, 473 insertions(+), 164 deletions(-) create mode 100644 ui/app/custom-app-react/build.gradle diff --git a/ui/app/custom-app-react/build.gradle b/ui/app/custom-app-react/build.gradle new file mode 100644 index 000000000..797533f42 --- /dev/null +++ b/ui/app/custom-app-react/build.gradle @@ -0,0 +1,12 @@ +buildDir = "dist" + +tasks.register('clean') { + dependsOn npmClean +} + +tasks.register('installDist', Copy) { + dependsOn npmBuild + mustRunAfter(resolveTask(":manager:installDist")) + from project.buildDir + into "${project(':deployment').buildDir}/image/manager/app/${projectDir.name}" +} diff --git a/ui/app/custom-app-react/package.json b/ui/app/custom-app-react/package.json index 34c197822..93e47a13f 100644 --- a/ui/app/custom-app-react/package.json +++ b/ui/app/custom-app-react/package.json @@ -10,21 +10,21 @@ "serve": "cross-env NODE_ENV=development rspack serve" }, "dependencies": { - "@openremote/core": "^1.6.5", - "@openremote/model": "^1.6.5", - "@openremote/or-mwc-components": "^1.6.5", - "react": "^18.2.0", - "react-dom": "^18.2.0" + "@openremote/core": "^1.9.0", + "@openremote/model": "^1.9.0", + "@openremote/or-mwc-components": "^1.9.0", + "react": "^19.2.0", + "react-dom": "^19.2.0" }, "devDependencies": { - "@rspack/cli": "^1.1.8", - "@rspack/core": "^1.1.8", - "@rspack/plugin-react-refresh": "1.0.0", - "@types/react": "^18.2.48", - "@types/react-dom": "^18.2.18", - "cross-env": "^7.0.3", - "react-refresh": "^0.14.0", + "@rspack/cli": "^1.5.8", + "@rspack/core": "^1.5.8", + "@rspack/plugin-react-refresh": "1.5.2", + "@types/react": "^19.2.2", + "@types/react-dom": "^19.2.2", + "cross-env": "^10.1.0", + "react-refresh": "^0.18.0", "ts-node": "^10.9.2", - "typescript": "^5.6.3" + "typescript": "^5.9.3" } } diff --git a/ui/app/custom-app-react/rspack.config.ts b/ui/app/custom-app-react/rspack.config.ts index e0681c369..250e1bc0e 100644 --- a/ui/app/custom-app-react/rspack.config.ts +++ b/ui/app/custom-app-react/rspack.config.ts @@ -1,6 +1,6 @@ import { defineConfig } from "@rspack/cli"; import { rspack } from "@rspack/core"; -import * as RefreshPlugin from "@rspack/plugin-react-refresh"; +import ReactRefreshPlugin from "@rspack/plugin-react-refresh"; const isDev = process.env.NODE_ENV === "development"; @@ -32,7 +32,8 @@ export default defineConfig({ type: "asset/source" }, { - test: /\.(jsx?|tsx?)$/, + test: /\.tsx$/, + type: "javascript/auto", use: [ { loader: "builtin:swc-loader", @@ -42,15 +43,15 @@ export default defineConfig({ syntax: "typescript", tsx: true }, - transform: { + /*transform: { react: { runtime: "automatic", development: isDev, refresh: isDev } - } + }*/ }, - env: { targets } + /*env: { targets }*/ } } ] @@ -58,11 +59,11 @@ export default defineConfig({ ] }, plugins: [ + isDev && new ReactRefreshPlugin(), new rspack.HtmlRspackPlugin({ template: "./index.html" - }), - isDev ? new RefreshPlugin() : null - ].filter(Boolean), + }) + ], optimization: { minimizer: [ new rspack.SwcJsMinimizerRspackPlugin(), diff --git a/ui/app/custom-app-react/src/App.tsx b/ui/app/custom-app-react/src/App.tsx index 9c80ac2e5..2d8cb18a6 100644 --- a/ui/app/custom-app-react/src/App.tsx +++ b/ui/app/custom-app-react/src/App.tsx @@ -1,4 +1,4 @@ -import { useState, useRef, useEffect } from "react"; +import React, {useEffect, useRef, useState} from "react"; import reactLogo from "./assets/react.svg"; import {InputType, OrMwcInput} from "@openremote/or-mwc-components/or-mwc-input"; import "./App.css"; @@ -7,48 +7,46 @@ import "./App.css"; * In React, for web components to be recognized, it's common to add each HTML tag in the JSX IntrinsicElements interface. * Be aware; your IDE might still not understand these web components correctly. */ -declare global { - namespace JSX { - interface IntrinsicElements { - "or-mwc-input": OrMwcInput - } - } +declare module "react/jsx-runtime" { + namespace JSX { + interface IntrinsicElements { + "or-mwc-input": OrMwcInput + } + } } function App() { - const [count, setCount] = useState(0); - const buttonRef = useRef(null); - const handleButtonClick = () => setCount(count => count + 1); + const [count, setCount] = useState(0); + const buttonRef = useRef(null); + const handleButtonClick = () => setCount(c => c + 1); - useEffect(() => { - (buttonRef.current as any)?.addEventListener("or-mwc-input-changed", handleButtonClick); - return () => { - (buttonRef.current as any)?.removeEventListener("or-mwc-input-changed", handleButtonClick); - }; - }, []); + useEffect(() => { + (buttonRef.current as any)?.addEventListener("or-mwc-input-changed", handleButtonClick); + return () => (buttonRef.current as any)?.removeEventListener("or-mwc-input-changed", handleButtonClick); + }, []); - return ( -
-
- - React logo - -
-

Rspack + React + TypeScript

-
- -

- Edit src/App.tsx and save to test HMR -

- -
-

- Click on the React logo to learn more -

-
- ); + return ( +
+
+ + React logo + +
+

Rspack + React + TypeScript

+
+ +

+ Edit src/App.tsx and save to test HMR +

+ +
+

+ Click on the React logo to learn more +

+
+ ); } export default App; diff --git a/ui/app/custom-app-react/src/main.tsx b/ui/app/custom-app-react/src/main.tsx index 85259adc0..5a21dc8d8 100644 --- a/ui/app/custom-app-react/src/main.tsx +++ b/ui/app/custom-app-react/src/main.tsx @@ -11,8 +11,8 @@ import "./index.css"; * We also enable autoLogin to prompt a Keycloak login before the app appears. */ const managerConfig: ManagerConfig = { - realm: "custom", - managerUrl: "http://192.168.0.101:8080", + realm: "master", + managerUrl: "http://localhost:8080", autoLogin: true }; diff --git a/yarn.lock b/yarn.lock index ba9931091..6192550c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1348,6 +1348,15 @@ __metadata: languageName: node linkType: hard +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10/b6e38a1712fab242c86a241c229cf562195aad985d0564bd352ac404be583029e89e93028ffd2c251d2c407ecac5fb0cbdca94a2d5c10f29ac806ede0508b3ff + languageName: node + linkType: hard + "@discoveryjs/json-ext@npm:0.5.7, @discoveryjs/json-ext@npm:^0.5.0, @discoveryjs/json-ext@npm:^0.5.7": version: 0.5.7 resolution: "@discoveryjs/json-ext@npm:0.5.7" @@ -1365,6 +1374,16 @@ __metadata: languageName: node linkType: hard +"@emnapi/core@npm:^1.5.0": + version: 1.6.0 + resolution: "@emnapi/core@npm:1.6.0" + dependencies: + "@emnapi/wasi-threads": "npm:1.1.0" + tslib: "npm:^2.4.0" + checksum: 10/72e99690772a1eca8e6b2bcf1819ddc6867151b15fc650ca39ca03d43d9efaea46d731a2bf2659f5b31a1a8823367f5203fcb873bfacbcbe52f92a5574c7995a + languageName: node + linkType: hard + "@emnapi/runtime@npm:^1.4.5": version: 1.4.5 resolution: "@emnapi/runtime@npm:1.4.5" @@ -1374,6 +1393,15 @@ __metadata: languageName: node linkType: hard +"@emnapi/runtime@npm:^1.5.0": + version: 1.6.0 + resolution: "@emnapi/runtime@npm:1.6.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/88f685ecb23df070a61447bf61b12a113b7edecc248969e1dc18e4637ee8519389cde8b95c22b2144de41490b42aedc6a791fe1b00940a02fdeaadac1352bbf6 + languageName: node + linkType: hard + "@emnapi/wasi-threads@npm:1.0.4": version: 1.0.4 resolution: "@emnapi/wasi-threads@npm:1.0.4" @@ -1383,6 +1411,22 @@ __metadata: languageName: node linkType: hard +"@emnapi/wasi-threads@npm:1.1.0": + version: 1.1.0 + resolution: "@emnapi/wasi-threads@npm:1.1.0" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/0d557e75262d2f4c95cb2a456ba0785ef61f919ce488c1d76e5e3acfd26e00c753ef928cd80068363e0c166ba8cc0141305daf0f81aad5afcd421f38f11e0f4e + languageName: node + linkType: hard + +"@epic-web/invariant@npm:^1.0.0": + version: 1.0.0 + resolution: "@epic-web/invariant@npm:1.0.0" + checksum: 10/28b36a7447f60b84f9d6a23571480042170ef4239a577577ad8447f64a2e4f1a4e57e6fe1b592e61534c5ab53ff67776130e6c88a68cbd997eb6e9c9759a5934 + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -2383,6 +2427,13 @@ __metadata: languageName: node linkType: hard +"@module-federation/error-codes@npm:0.18.0": + version: 0.18.0 + resolution: "@module-federation/error-codes@npm:0.18.0" + checksum: 10/ccd00f6b2504ec2e685bda6d175ed86df27e21994b36869140a18059595716e9ea7db5d0b516a095891ec9e6c90e702f42a366743df3652bf91ff3bb4f895991 + languageName: node + linkType: hard + "@module-federation/runtime-core@npm:0.17.1": version: 0.17.1 resolution: "@module-federation/runtime-core@npm:0.17.1" @@ -2393,6 +2444,16 @@ __metadata: languageName: node linkType: hard +"@module-federation/runtime-core@npm:0.18.0": + version: 0.18.0 + resolution: "@module-federation/runtime-core@npm:0.18.0" + dependencies: + "@module-federation/error-codes": "npm:0.18.0" + "@module-federation/sdk": "npm:0.18.0" + checksum: 10/82af795408f2e92bea9c801a2057f1a6ed85eaf131195d5deaa4ef9a6a88db9e2cb851b4416e6e43a841459986b5ebb84e98b4625fb9bbd98cee11929f1ede6b + languageName: node + linkType: hard + "@module-federation/runtime-tools@npm:0.17.1": version: 0.17.1 resolution: "@module-federation/runtime-tools@npm:0.17.1" @@ -2403,6 +2464,16 @@ __metadata: languageName: node linkType: hard +"@module-federation/runtime-tools@npm:0.18.0": + version: 0.18.0 + resolution: "@module-federation/runtime-tools@npm:0.18.0" + dependencies: + "@module-federation/runtime": "npm:0.18.0" + "@module-federation/webpack-bundler-runtime": "npm:0.18.0" + checksum: 10/c6b1483899865e4c73be0ae77e6e1a5f517798f7ab3b8c6df2bb7ed22463e7a471f68d5f9528b2aff5b45e2db67596805028206f3956aafec5a36dcefb94afd2 + languageName: node + linkType: hard + "@module-federation/runtime@npm:0.17.1": version: 0.17.1 resolution: "@module-federation/runtime@npm:0.17.1" @@ -2414,6 +2485,17 @@ __metadata: languageName: node linkType: hard +"@module-federation/runtime@npm:0.18.0": + version: 0.18.0 + resolution: "@module-federation/runtime@npm:0.18.0" + dependencies: + "@module-federation/error-codes": "npm:0.18.0" + "@module-federation/runtime-core": "npm:0.18.0" + "@module-federation/sdk": "npm:0.18.0" + checksum: 10/6164597782b21840e3b8f159000338d8e20a817a60909015c11402e9e6442d60d9c3b4b6f25d92d7261011ef1fc0e8caafbb91f25c29b372f28764cbea8ef9eb + languageName: node + linkType: hard + "@module-federation/sdk@npm:0.17.1": version: 0.17.1 resolution: "@module-federation/sdk@npm:0.17.1" @@ -2421,6 +2503,13 @@ __metadata: languageName: node linkType: hard +"@module-federation/sdk@npm:0.18.0": + version: 0.18.0 + resolution: "@module-federation/sdk@npm:0.18.0" + checksum: 10/f397dc53c705ad1f1e19530a8ff79116bb5aeeef92a79b3acaaa6140ae4e5784b42e81d1445eabf536c007c9383857f6764506ed725a6352464fe1ce581af89a + languageName: node + linkType: hard + "@module-federation/webpack-bundler-runtime@npm:0.17.1": version: 0.17.1 resolution: "@module-federation/webpack-bundler-runtime@npm:0.17.1" @@ -2431,6 +2520,16 @@ __metadata: languageName: node linkType: hard +"@module-federation/webpack-bundler-runtime@npm:0.18.0": + version: 0.18.0 + resolution: "@module-federation/webpack-bundler-runtime@npm:0.18.0" + dependencies: + "@module-federation/runtime": "npm:0.18.0" + "@module-federation/sdk": "npm:0.18.0" + checksum: 10/c80f26e02d497948a0864283bedf13118d5c188ac8165e71edce5da72776091db6da2dc5da5d47a53fbb6914bfbff1ddfce16a6b9c18485a9a41a04bc4060e34 + languageName: node + linkType: hard + "@napi-rs/wasm-runtime@npm:^1.0.1": version: 1.0.3 resolution: "@napi-rs/wasm-runtime@npm:1.0.3" @@ -2442,6 +2541,17 @@ __metadata: languageName: node linkType: hard +"@napi-rs/wasm-runtime@npm:^1.0.5": + version: 1.0.7 + resolution: "@napi-rs/wasm-runtime@npm:1.0.7" + dependencies: + "@emnapi/core": "npm:^1.5.0" + "@emnapi/runtime": "npm:^1.5.0" + "@tybys/wasm-util": "npm:^0.10.1" + checksum: 10/6bc32d32d486d07b83220a9b7b2b715e39acacbacef0011ebca05c00b41d80a0535123da10fea7a7d6d7e206712bb50dc50ac3cf88b770754d44378570fb5c05 + languageName: node + linkType: hard + "@nodelib/fs.scandir@npm:2.1.5": version: 2.1.5 resolution: "@nodelib/fs.scandir@npm:2.1.5" @@ -2491,7 +2601,7 @@ __metadata: languageName: node linkType: hard -"@openremote/core@npm:1.9.0": +"@openremote/core@npm:1.9.0, @openremote/core@npm:^1.9.0": version: 1.9.0 resolution: "@openremote/core@npm:1.9.0" dependencies: @@ -2512,20 +2622,20 @@ __metadata: version: 0.0.0-use.local resolution: "@openremote/custom-app-react@workspace:ui/app/custom-app-react" dependencies: - "@openremote/core": "npm:^1.6.5" - "@openremote/model": "npm:^1.6.5" - "@openremote/or-mwc-components": "npm:^1.6.5" - "@rspack/cli": "npm:^1.1.8" - "@rspack/core": "npm:^1.1.8" - "@rspack/plugin-react-refresh": "npm:1.0.0" - "@types/react": "npm:^18.2.48" - "@types/react-dom": "npm:^18.2.18" - cross-env: "npm:^7.0.3" - react: "npm:^18.2.0" - react-dom: "npm:^18.2.0" - react-refresh: "npm:^0.14.0" + "@openremote/core": "npm:^1.9.0" + "@openremote/model": "npm:^1.9.0" + "@openremote/or-mwc-components": "npm:^1.9.0" + "@rspack/cli": "npm:^1.5.8" + "@rspack/core": "npm:^1.5.8" + "@rspack/plugin-react-refresh": "npm:1.5.2" + "@types/react": "npm:^19.2.2" + "@types/react-dom": "npm:^19.2.2" + cross-env: "npm:^10.1.0" + react: "npm:^19.2.0" + react-dom: "npm:^19.2.0" + react-refresh: "npm:^0.18.0" ts-node: "npm:^10.9.2" - typescript: "npm:^5.6.3" + typescript: "npm:^5.9.3" languageName: unknown linkType: soft @@ -2587,7 +2697,7 @@ __metadata: languageName: node linkType: hard -"@openremote/model@npm:1.9.0": +"@openremote/model@npm:1.9.0, @openremote/model@npm:^1.9.0": version: 1.9.0 resolution: "@openremote/model@npm:1.9.0" checksum: 10/77bb0b5649137ecd202aae1fe25bb9bcb660df5649e5544a53dcc7c74c8c3c26d63611212e47eaee3dc19fcdf6137928e7b3a21d32af87f11972cdc9518a38fe @@ -2851,7 +2961,7 @@ __metadata: languageName: node linkType: hard -"@openremote/or-mwc-components@npm:1.9.0": +"@openremote/or-mwc-components@npm:1.9.0, @openremote/or-mwc-components@npm:^1.9.0": version: 1.9.0 resolution: "@openremote/or-mwc-components@npm:1.9.0" dependencies: @@ -3068,6 +3178,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-darwin-arm64@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-darwin-arm64@npm:1.5.8" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@rspack/binding-darwin-x64@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-darwin-x64@npm:1.4.11" @@ -3075,6 +3192,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-darwin-x64@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-darwin-x64@npm:1.5.8" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@rspack/binding-linux-arm64-gnu@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-linux-arm64-gnu@npm:1.4.11" @@ -3082,6 +3206,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-linux-arm64-gnu@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-linux-arm64-gnu@npm:1.5.8" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@rspack/binding-linux-arm64-musl@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-linux-arm64-musl@npm:1.4.11" @@ -3089,6 +3220,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-linux-arm64-musl@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-linux-arm64-musl@npm:1.5.8" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@rspack/binding-linux-x64-gnu@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-linux-x64-gnu@npm:1.4.11" @@ -3096,6 +3234,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-linux-x64-gnu@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-linux-x64-gnu@npm:1.5.8" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@rspack/binding-linux-x64-musl@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-linux-x64-musl@npm:1.4.11" @@ -3103,6 +3248,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-linux-x64-musl@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-linux-x64-musl@npm:1.5.8" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@rspack/binding-wasm32-wasi@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-wasm32-wasi@npm:1.4.11" @@ -3112,6 +3264,15 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-wasm32-wasi@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-wasm32-wasi@npm:1.5.8" + dependencies: + "@napi-rs/wasm-runtime": "npm:^1.0.5" + conditions: cpu=wasm32 + languageName: node + linkType: hard + "@rspack/binding-win32-arm64-msvc@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-win32-arm64-msvc@npm:1.4.11" @@ -3119,6 +3280,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-win32-arm64-msvc@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-win32-arm64-msvc@npm:1.5.8" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@rspack/binding-win32-ia32-msvc@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-win32-ia32-msvc@npm:1.4.11" @@ -3126,6 +3294,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-win32-ia32-msvc@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-win32-ia32-msvc@npm:1.5.8" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@rspack/binding-win32-x64-msvc@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding-win32-x64-msvc@npm:1.4.11" @@ -3133,6 +3308,13 @@ __metadata: languageName: node linkType: hard +"@rspack/binding-win32-x64-msvc@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding-win32-x64-msvc@npm:1.5.8" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@rspack/binding@npm:1.4.11": version: 1.4.11 resolution: "@rspack/binding@npm:1.4.11" @@ -3172,6 +3354,64 @@ __metadata: languageName: node linkType: hard +"@rspack/binding@npm:1.5.8": + version: 1.5.8 + resolution: "@rspack/binding@npm:1.5.8" + dependencies: + "@rspack/binding-darwin-arm64": "npm:1.5.8" + "@rspack/binding-darwin-x64": "npm:1.5.8" + "@rspack/binding-linux-arm64-gnu": "npm:1.5.8" + "@rspack/binding-linux-arm64-musl": "npm:1.5.8" + "@rspack/binding-linux-x64-gnu": "npm:1.5.8" + "@rspack/binding-linux-x64-musl": "npm:1.5.8" + "@rspack/binding-wasm32-wasi": "npm:1.5.8" + "@rspack/binding-win32-arm64-msvc": "npm:1.5.8" + "@rspack/binding-win32-ia32-msvc": "npm:1.5.8" + "@rspack/binding-win32-x64-msvc": "npm:1.5.8" + dependenciesMeta: + "@rspack/binding-darwin-arm64": + optional: true + "@rspack/binding-darwin-x64": + optional: true + "@rspack/binding-linux-arm64-gnu": + optional: true + "@rspack/binding-linux-arm64-musl": + optional: true + "@rspack/binding-linux-x64-gnu": + optional: true + "@rspack/binding-linux-x64-musl": + optional: true + "@rspack/binding-wasm32-wasi": + optional: true + "@rspack/binding-win32-arm64-msvc": + optional: true + "@rspack/binding-win32-ia32-msvc": + optional: true + "@rspack/binding-win32-x64-msvc": + optional: true + checksum: 10/8185f3d77f71f210f182799fd41edead264aa8819c354aa13744635869734722b056a958fd94f770c05cab2a501cb8f0c217626098f9b4ec82afed3c6c3b53f4 + languageName: node + linkType: hard + +"@rspack/cli@npm:^1.5.8": + version: 1.5.8 + resolution: "@rspack/cli@npm:1.5.8" + dependencies: + "@discoveryjs/json-ext": "npm:^0.5.7" + "@rspack/dev-server": "npm:~1.1.4" + colorette: "npm:2.0.20" + exit-hook: "npm:^4.0.0" + pirates: "npm:^4.0.7" + webpack-bundle-analyzer: "npm:4.10.2" + yargs: "npm:17.7.2" + peerDependencies: + "@rspack/core": ^1.0.0-alpha || ^1.x + bin: + rspack: bin/rspack.js + checksum: 10/13eb3d0c2d6f4b49777b5c1e1b07c37bcf72872f38d791e284c1fcd564ca43ab6f6aa2f481c4d11ea5e3a0ce3266df17fcecdcb4dd5bf73b5a8c12f2c0f06a15 + languageName: node + linkType: hard + "@rspack/cli@npm:~1.4.11": version: 1.4.11 resolution: "@rspack/cli@npm:1.4.11" @@ -3192,6 +3432,22 @@ __metadata: languageName: node linkType: hard +"@rspack/core@npm:^1.5.8": + version: 1.5.8 + resolution: "@rspack/core@npm:1.5.8" + dependencies: + "@module-federation/runtime-tools": "npm:0.18.0" + "@rspack/binding": "npm:1.5.8" + "@rspack/lite-tapable": "npm:1.0.1" + peerDependencies: + "@swc/helpers": ">=0.5.1" + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 10/269e691dbb83430179b89d9f10e115c5fb97cf54eb13c49ae6f6070468f3fcbee17ebe0968d8ab82dfdb7b5474e339f3fd9c945d5d20eb89333b53d8c1ad32cc + languageName: node + linkType: hard + "@rspack/core@npm:~1.4.11": version: 1.4.11 resolution: "@rspack/core@npm:1.4.11" @@ -3208,7 +3464,7 @@ __metadata: languageName: node linkType: hard -"@rspack/dev-server@npm:~1.1.3": +"@rspack/dev-server@npm:~1.1.3, @rspack/dev-server@npm:~1.1.4": version: 1.1.4 resolution: "@rspack/dev-server@npm:1.1.4" dependencies: @@ -3230,6 +3486,50 @@ __metadata: languageName: node linkType: hard +"@rspack/plugin-react-refresh@npm:1.5.2": + version: 1.5.2 + resolution: "@rspack/plugin-react-refresh@npm:1.5.2" + dependencies: + error-stack-parser: "npm:^2.1.4" + html-entities: "npm:^2.6.0" + peerDependencies: + react-refresh: ">=0.10.0 <1.0.0" + webpack-hot-middleware: 2.x + peerDependenciesMeta: + webpack-hot-middleware: + optional: true + checksum: 10/e1fdda9ab1d453f6718e5c57e67ec81048bf4b5d9534ccfe04a7354f0fe3309f914aa53592d2a7430e2a490319a27b34a6b01da8ad4e88b0053e5a8141ec1b6c + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node10@npm:1.0.11" + checksum: 10/51fe47d55fe1b80ec35e6e5ed30a13665fd3a531945350aa74a14a1e82875fb60b350c2f2a5e72a64831b1b6bc02acb6760c30b3738b54954ec2dea82db7a267 + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 10/5ce29a41b13e7897a58b8e2df11269c5395999e588b9a467386f99d1d26f6c77d1af2719e407621412520ea30517d718d5192a32403b8dfcc163bf33e40a338a + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 10/19275fe80c4c8d0ad0abed6a96dbf00642e88b220b090418609c4376e1cef81bf16237bf170ad1b341452feddb8115d8dd2e5acdfdea1b27422071163dc9ba9d + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.4 + resolution: "@tsconfig/node16@npm:1.0.4" + checksum: 10/202319785901f942a6e1e476b872d421baec20cf09f4b266a1854060efbf78cde16a4d256e8bc949d31e6cd9a90f1e8ef8fb06af96a65e98338a2b6b0de0a0ff + languageName: node + linkType: hard + "@tybys/wasm-util@npm:^0.10.0": version: 0.10.0 resolution: "@tybys/wasm-util@npm:0.10.0" @@ -3239,6 +3539,15 @@ __metadata: languageName: node linkType: hard +"@tybys/wasm-util@npm:^0.10.1": + version: 0.10.1 + resolution: "@tybys/wasm-util@npm:0.10.1" + dependencies: + tslib: "npm:^2.4.0" + checksum: 10/7fe0d239397aebb002ac4855d30c197c06a05ea8df8511350a3a5b1abeefe26167c60eda8a5508337571161e4c4b53d7c1342296123f9607af8705369de9fa7f + languageName: node + linkType: hard + "@types/body-parser@npm:*": version: 1.19.5 resolution: "@types/body-parser@npm:1.19.5" @@ -3503,13 +3812,6 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:*": - version: 15.7.15 - resolution: "@types/prop-types@npm:15.7.15" - checksum: 10/31aa2f59b28f24da6fb4f1d70807dae2aedfce090ec63eaf9ea01727a9533ef6eaf017de5bff99fbccad7d1c9e644f52c6c2ba30869465dd22b1a7221c29f356 - languageName: node - linkType: hard - "@types/qs@npm:*, @types/qs@npm:^6.9.7": version: 6.9.15 resolution: "@types/qs@npm:6.9.15" @@ -3524,22 +3826,21 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:^18.2.18": - version: 18.3.7 - resolution: "@types/react-dom@npm:18.3.7" +"@types/react-dom@npm:^19.2.2": + version: 19.2.2 + resolution: "@types/react-dom@npm:19.2.2" peerDependencies: - "@types/react": ^18.0.0 - checksum: 10/317569219366d487a3103ba1e5e47154e95a002915fdcf73a44162c48fe49c3a57fcf7f57fc6979e70d447112681e6b13c6c3c1df289db8b544df4aab2d318f3 + "@types/react": ^19.2.0 + checksum: 10/73d5671e57ab73cb3f2acd7992faee8f90d5b4d155b972e76e91fa13e5871ebb5e224960b05039d57ea502cb3370746eb98beda5fa44e9712b4aee52653c237a languageName: node linkType: hard -"@types/react@npm:^18.2.48": - version: 18.3.23 - resolution: "@types/react@npm:18.3.23" +"@types/react@npm:^19.2.2": + version: 19.2.2 + resolution: "@types/react@npm:19.2.2" dependencies: - "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10/4b965dffe34a1f8aac8e2d7e976f113373f38134f9e37239f7e75d7ac6b3c2e1333a8df21febf1fe7749640f8de5708f7668cdfc70bffebda1cc4d3346724fd5 + checksum: 10/d6adf8fd4bb23a7e04da5700d96b15dc0f59653727a9c6e940c151d7232fa1dbbab98417d5ac830dcfb6cba3f206efbd4cd83647e6f9a688d7363a90e607f6bf languageName: node linkType: hard @@ -4985,6 +5286,19 @@ __metadata: languageName: node linkType: hard +"cross-env@npm:^10.1.0": + version: 10.1.0 + resolution: "cross-env@npm:10.1.0" + dependencies: + "@epic-web/invariant": "npm:^1.0.0" + cross-spawn: "npm:^7.0.6" + bin: + cross-env: dist/bin/cross-env.js + cross-env-shell: dist/bin/cross-env-shell.js + checksum: 10/0e5d8bdefbbcd000460b69755e0eeb22953510abac8375e4f8b638ff7c45406141acfd57b8a4c1d1cf0b5ea42f33451b302062fb9b34408753b4d465e901b845 + languageName: node + linkType: hard + "cross-env@npm:^7.0.3": version: 7.0.3 resolution: "cross-env@npm:7.0.3" @@ -5017,6 +5331,17 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^7.0.6": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10/0d52657d7ae36eb130999dffff1168ec348687b48dd38e2ff59992ed916c88d328cf1d07ff4a4a10bc78de5e1c23f04b306d569e42f7a2293915c081e4dfee86 + languageName: node + linkType: hard + "css-loader@npm:^6.5.1": version: 6.11.0 resolution: "css-loader@npm:6.11.0" @@ -5489,7 +5814,7 @@ __metadata: languageName: node linkType: hard -"error-stack-parser@npm:^2.0.6": +"error-stack-parser@npm:^2.1.4": version: 2.1.4 resolution: "error-stack-parser@npm:2.1.4" dependencies: @@ -6746,13 +7071,6 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.1.0": - version: 2.6.0 - resolution: "html-entities@npm:2.6.0" - checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 - languageName: node - linkType: hard - "html-entities@npm:^2.3.2": version: 2.5.2 resolution: "html-entities@npm:2.5.2" @@ -6760,6 +7078,13 @@ __metadata: languageName: node linkType: hard +"html-entities@npm:^2.6.0": + version: 2.6.0 + resolution: "html-entities@npm:2.6.0" + checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 + languageName: node + linkType: hard + "html-escaper@npm:^2.0.2": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -7239,15 +7564,6 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^3.0.0": - version: 3.0.0 - resolution: "is-docker@npm:3.0.0" - bin: - is-docker: cli.js - checksum: 10/b698118f04feb7eaf3338922bd79cba064ea54a1c3db6ec8c0c8d8ee7613e7e5854d802d3ef646812a8a3ace81182a085dfa0a71cc68b06f3fa794b9783b3c90 - languageName: node - linkType: hard - "is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": version: 0.1.1 resolution: "is-extendable@npm:0.1.1" @@ -7438,15 +7754,6 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^3.1.0": - version: 3.1.0 - resolution: "is-wsl@npm:3.1.0" - dependencies: - is-inside-container: "npm:^1.0.0" - checksum: 10/f9734c81f2f9cf9877c5db8356bfe1ff61680f1f4c1011e91278a9c0564b395ae796addb4bf33956871041476ec82c3e5260ed57b22ac91794d4ae70a1d2f0a9 - languageName: node - linkType: hard - "isarray@npm:^2.0.5": version: 2.0.5 resolution: "isarray@npm:2.0.5" @@ -7520,7 +7827,7 @@ __metadata: languageName: node linkType: hard -"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": +"js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" checksum: 10/af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2 @@ -7845,17 +8152,6 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.1.0": - version: 1.4.0 - resolution: "loose-envify@npm:1.4.0" - dependencies: - js-tokens: "npm:^3.0.0 || ^4.0.0" - bin: - loose-envify: cli.js - checksum: 10/6517e24e0cad87ec9888f500c5b5947032cdfe6ef65e1c1936a0c48a524b81e65542c9c3edc91c97d5bddc806ee2a985dbc79be89215d613b1de5db6d1cfe6f4 - languageName: node - linkType: hard - "lower-case@npm:^2.0.2": version: 2.0.2 resolution: "lower-case@npm:2.0.2" @@ -8817,6 +9113,13 @@ __metadata: languageName: node linkType: hard +"pirates@npm:^4.0.7": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10/2427f371366081ae42feb58214f04805d6b41d6b84d74480ebcc9e0ddbd7105a139f7c653daeaf83ad8a1a77214cf07f64178e76de048128fec501eab3305a96 + languageName: node + linkType: hard + "pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -9083,31 +9386,28 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:^18.2.0": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" +"react-dom@npm:^19.2.0": + version: 19.2.0 + resolution: "react-dom@npm:19.2.0" dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" + scheduler: "npm:^0.27.0" peerDependencies: - react: ^18.3.1 - checksum: 10/3f4b73a3aa083091173b29812b10394dd06f4ac06aff410b74702cfb3aa29d7b0ced208aab92d5272919b612e5cda21aeb1d54191848cf6e46e9e354f3541f81 + react: ^19.2.0 + checksum: 10/3dbba071b9b1e7a19eae55f05c100f6b44f88c0aee72397d719ae338248ca66ed5028e6964c1c14870cc3e1abcecc91b22baba6dc2072f819dea81a9fd72f2fd languageName: node linkType: hard -"react-refresh@npm:^0.14.0": - version: 0.14.2 - resolution: "react-refresh@npm:0.14.2" - checksum: 10/512abf97271ab8623486061be04b608c39d932e3709f9af1720b41573415fa4993d0009fa5138b6705b60a98f4102f744d4e26c952b14f41a0e455521c6be4cc +"react-refresh@npm:^0.18.0": + version: 0.18.0 + resolution: "react-refresh@npm:0.18.0" + checksum: 10/504c331c19776bf8320c23bad7f80b3a28de03301ed7523b0dd21d3f02bf2b53bbdd5aa52469b187bc90f358614b2ba303c088a0765c95f4f0a68c43a7d67b1d languageName: node linkType: hard -"react@npm:^18.2.0": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10/261137d3f3993eaa2368a83110466fc0e558bc2c7f7ae7ca52d94f03aac945f45146bd85e5f481044db1758a1dbb57879e2fcdd33924e2dde1bdc550ce73f7bf +"react@npm:^19.2.0": + version: 19.2.0 + resolution: "react@npm:19.2.0" + checksum: 10/e13bcdb8e994c3cfa922743cb75ca8deb60531bf02f584d2d8dab940a8132ce8a2e6ef16f8ed7f372b4072e7a7eeff589b2812dabbedfa73e6e46201dac8a9d0 languageName: node linkType: hard @@ -9535,12 +9835,10 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10/e8d68b89d18d5b028223edf090092846868a765a591944760942b77ea1f69b17235f7e956696efbb62c8130ab90af7e0949bfb8eba7896335507317236966bc9 +"scheduler@npm:^0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10/eab3c3a8373195173e59c147224fc30dabe6dd453f248f5e610e8458512a5a2ee3a06465dc400ebfe6d35c9f5b7f3bb6b2e41c88c86fd177c25a73e7286a1e06 languageName: node linkType: hard @@ -10629,13 +10927,13 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.6.3": - version: 5.8.3 - resolution: "typescript@npm:5.8.3" +"typescript@npm:^5.9.3": + version: 5.9.3 + resolution: "typescript@npm:5.9.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/65c40944c51b513b0172c6710ee62e951b70af6f75d5a5da745cb7fab132c09ae27ffdf7838996e3ed603bb015dadd099006658046941bd0ba30340cc563ae92 + checksum: 10/c089d9d3da2729fd4ac517f9b0e0485914c4b3c26f80dc0cffcb5de1719a17951e92425d55db59515c1a7ddab65808466debb864d0d56dcf43f27007d0709594 languageName: node linkType: hard @@ -10649,13 +10947,13 @@ __metadata: languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin": - version: 5.8.3 - resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin::version=5.8.3&hash=d69c25" +"typescript@patch:typescript@npm%3A^5.9.3#optional!builtin": + version: 5.9.3 + resolution: "typescript@patch:typescript@npm%3A5.9.3#optional!builtin::version=5.9.3&hash=5786d5" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/98470634034ec37fd9ea61cc82dcf9a27950d0117a4646146b767d085a2ec14b137aae9642a83d1c62732d7fdcdac19bb6288b0bb468a72f7a06ae4e1d2c72c9 + checksum: 10/696e1b017bc2635f4e0c94eb4435357701008e2f272f553d06e35b494b8ddc60aa221145e286c28ace0c89ee32827a28c2040e3a69bdc108b1a5dc8fb40b72e3 languageName: node linkType: hard From 5be0abbb645bec93a6d81e4ecfe752f1d77e7c44 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Fri, 31 Oct 2025 09:42:04 +0100 Subject: [PATCH 08/17] Cleanup and rename to custom-react --- ui/app/README.md | 2 +- ui/app/custom-app-react/src/App.css | 41 ----------- ui/app/custom-app-react/src/App.tsx | 52 -------------- ui/app/custom-app-react/src/assets/react.svg | 1 - ui/app/custom-app-react/src/index.css | 70 ------------------- .../.gitignore | 0 .../build.gradle | 0 .../index.html | 0 .../package.json | 8 +-- .../rspack.config.ts | 23 +++--- ui/app/custom-react/src/App.css | 10 +++ ui/app/custom-react/src/App.tsx | 23 ++++++ ui/app/custom-react/src/assets/openremote.svg | 16 +++++ ui/app/custom-react/src/index.css | 31 ++++++++ .../src/main.tsx | 21 +++--- .../src/react-env.d.ts | 0 .../tsconfig.json | 0 yarn.lock | 44 +----------- 18 files changed, 108 insertions(+), 234 deletions(-) delete mode 100644 ui/app/custom-app-react/src/App.css delete mode 100644 ui/app/custom-app-react/src/App.tsx delete mode 100644 ui/app/custom-app-react/src/assets/react.svg delete mode 100644 ui/app/custom-app-react/src/index.css rename ui/app/{custom-app-react => custom-react}/.gitignore (100%) rename ui/app/{custom-app-react => custom-react}/build.gradle (100%) rename ui/app/{custom-app-react => custom-react}/index.html (100%) rename ui/app/{custom-app-react => custom-react}/package.json (67%) rename ui/app/{custom-app-react => custom-react}/rspack.config.ts (78%) create mode 100644 ui/app/custom-react/src/App.css create mode 100644 ui/app/custom-react/src/App.tsx create mode 100644 ui/app/custom-react/src/assets/openremote.svg create mode 100644 ui/app/custom-react/src/index.css rename ui/app/{custom-app-react => custom-react}/src/main.tsx (65%) rename ui/app/{custom-app-react => custom-react}/src/react-env.d.ts (100%) rename ui/app/{custom-app-react => custom-react}/tsconfig.json (100%) diff --git a/ui/app/README.md b/ui/app/README.md index 8e1ac569c..774b731bd 100644 --- a/ui/app/README.md +++ b/ui/app/README.md @@ -17,6 +17,6 @@ This is an example web application built with [Lit Web Components](https://lit.d Apps in our main OpenRemote [repository](https://github.com/openremote/openremote) are built with these technologies as well. It can be used as a template to add your own pages on top of it. -### /custom-app-react +### /custom-react This is an example web application built with [React 19](https://react.dev) and [RSPack](https://rspack.rs). *(more information soon)* \ No newline at end of file diff --git a/ui/app/custom-app-react/src/App.css b/ui/app/custom-app-react/src/App.css deleted file mode 100644 index 1b83399ee..000000000 --- a/ui/app/custom-app-react/src/App.css +++ /dev/null @@ -1,41 +0,0 @@ -#root { - max-width: 1280px; - margin: 0 auto; - padding: 2rem; - text-align: center; -} - -.logo { - height: 6em; - padding: 1.5em; - will-change: filter; -} -.logo:hover { - filter: drop-shadow(0 0 2em #646cffaa); -} -.logo.react:hover { - filter: drop-shadow(0 0 2em #61dafbaa); -} - -@keyframes logo-spin { - from { - transform: rotate(0deg); - } - to { - transform: rotate(360deg); - } -} - -@media (prefers-reduced-motion: no-preference) { - a > .logo { - animation: logo-spin infinite 20s linear; - } -} - -.card { - padding: 2em; -} - -.read-the-docs { - color: #888; -} diff --git a/ui/app/custom-app-react/src/App.tsx b/ui/app/custom-app-react/src/App.tsx deleted file mode 100644 index 2d8cb18a6..000000000 --- a/ui/app/custom-app-react/src/App.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import React, {useEffect, useRef, useState} from "react"; -import reactLogo from "./assets/react.svg"; -import {InputType, OrMwcInput} from "@openremote/or-mwc-components/or-mwc-input"; -import "./App.css"; - -/** - * In React, for web components to be recognized, it's common to add each HTML tag in the JSX IntrinsicElements interface. - * Be aware; your IDE might still not understand these web components correctly. - */ -declare module "react/jsx-runtime" { - namespace JSX { - interface IntrinsicElements { - "or-mwc-input": OrMwcInput - } - } -} - -function App() { - const [count, setCount] = useState(0); - const buttonRef = useRef(null); - const handleButtonClick = () => setCount(c => c + 1); - - useEffect(() => { - (buttonRef.current as any)?.addEventListener("or-mwc-input-changed", handleButtonClick); - return () => (buttonRef.current as any)?.removeEventListener("or-mwc-input-changed", handleButtonClick); - }, []); - - return ( -
-
- - React logo - -
-

Rspack + React + TypeScript

-
- -

- Edit src/App.tsx and save to test HMR -

- -
-

- Click on the React logo to learn more -

-
- ); -} - -export default App; diff --git a/ui/app/custom-app-react/src/assets/react.svg b/ui/app/custom-app-react/src/assets/react.svg deleted file mode 100644 index 6c87de9bb..000000000 --- a/ui/app/custom-app-react/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/ui/app/custom-app-react/src/index.css b/ui/app/custom-app-react/src/index.css deleted file mode 100644 index 917888c1d..000000000 --- a/ui/app/custom-app-react/src/index.css +++ /dev/null @@ -1,70 +0,0 @@ -:root { - font-family: Inter, Avenir, Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 24px; - font-weight: 400; - - color-scheme: light dark; - color: rgba(255, 255, 255, 0.87); - background-color: #242424; - - font-synthesis: none; - text-rendering: optimizeLegibility; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - -webkit-text-size-adjust: 100%; -} - -a { - font-weight: 500; - color: #646cff; - text-decoration: inherit; -} -a:hover { - color: #535bf2; -} - -body { - margin: 0; - display: flex; - place-items: center; - min-width: 320px; - min-height: 100vh; -} - -h1 { - font-size: 3.2em; - line-height: 1.1; -} - -button { - border-radius: 8px; - border: 1px solid transparent; - padding: 0.6em 1.2em; - font-size: 1em; - font-weight: 500; - font-family: inherit; - background-color: #1a1a1a; - cursor: pointer; - transition: border-color 0.25s; -} -button:hover { - border-color: #646cff; -} -button:focus, -button:focus-visible { - outline: 4px auto -webkit-focus-ring-color; -} - -@media (prefers-color-scheme: light) { - :root { - color: #213547; - background-color: #ffffff; - } - a:hover { - color: #747bff; - } - button { - background-color: #f9f9f9; - } -} diff --git a/ui/app/custom-app-react/.gitignore b/ui/app/custom-react/.gitignore similarity index 100% rename from ui/app/custom-app-react/.gitignore rename to ui/app/custom-react/.gitignore diff --git a/ui/app/custom-app-react/build.gradle b/ui/app/custom-react/build.gradle similarity index 100% rename from ui/app/custom-app-react/build.gradle rename to ui/app/custom-react/build.gradle diff --git a/ui/app/custom-app-react/index.html b/ui/app/custom-react/index.html similarity index 100% rename from ui/app/custom-app-react/index.html rename to ui/app/custom-react/index.html diff --git a/ui/app/custom-app-react/package.json b/ui/app/custom-react/package.json similarity index 67% rename from ui/app/custom-app-react/package.json rename to ui/app/custom-react/package.json index 93e47a13f..b0a9cda80 100644 --- a/ui/app/custom-app-react/package.json +++ b/ui/app/custom-react/package.json @@ -1,13 +1,14 @@ { - "name": "@openremote/custom-app-react", + "name": "@openremote/custom-react", "version": "1.0.0", "description": "OpenRemote Custom App using React", "author": "OpenRemote", "license": "AGPL-3.0-or-later", "private": true, "scripts": { - "build": "cross-env NODE_ENV=production rspack build", - "serve": "cross-env NODE_ENV=development rspack serve" + "clean": "npx tsc -b --clean && npx shx rm -rf dist", + "build": "npx cross-env NODE_ENV=production NODE_OPTIONS=--max_old_space_size=4096 rspack build", + "serve": "npx cross-env NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 rspack serve" }, "dependencies": { "@openremote/core": "^1.9.0", @@ -19,7 +20,6 @@ "devDependencies": { "@rspack/cli": "^1.5.8", "@rspack/core": "^1.5.8", - "@rspack/plugin-react-refresh": "1.5.2", "@types/react": "^19.2.2", "@types/react-dom": "^19.2.2", "cross-env": "^10.1.0", diff --git a/ui/app/custom-app-react/rspack.config.ts b/ui/app/custom-react/rspack.config.ts similarity index 78% rename from ui/app/custom-app-react/rspack.config.ts rename to ui/app/custom-react/rspack.config.ts index 250e1bc0e..596b7ec43 100644 --- a/ui/app/custom-app-react/rspack.config.ts +++ b/ui/app/custom-react/rspack.config.ts @@ -1,13 +1,11 @@ import { defineConfig } from "@rspack/cli"; import { rspack } from "@rspack/core"; -import ReactRefreshPlugin from "@rspack/plugin-react-refresh"; const isDev = process.env.NODE_ENV === "development"; // Target browsers, see: https://github.com/browserslist/browserslist const targets = ["chrome >= 87", "edge >= 88", "firefox >= 78", "safari >= 14"]; - export default defineConfig({ context: __dirname, devServer: { @@ -42,16 +40,8 @@ export default defineConfig({ parser: { syntax: "typescript", tsx: true - }, - /*transform: { - react: { - runtime: "automatic", - development: isDev, - refresh: isDev - } - }*/ - }, - /*env: { targets }*/ + } + } } } ] @@ -59,10 +49,13 @@ export default defineConfig({ ] }, plugins: [ - isDev && new ReactRefreshPlugin(), new rspack.HtmlRspackPlugin({ template: "./index.html" - }) + }), + // Define MANAGER_URL as a global variable + new rspack.DefinePlugin({ + MANAGER_URL: JSON.stringify(process.env.MANAGER_URL ?? (isDev ? "http://localhost:8080" : undefined)) + }) ], optimization: { minimizer: [ @@ -73,7 +66,7 @@ export default defineConfig({ ] }, output: { - publicPath: isDev ? "/custom/" : "/", + publicPath: isDev ? "/custom-react/" : "/", }, experiments: { css: true diff --git a/ui/app/custom-react/src/App.css b/ui/app/custom-react/src/App.css new file mode 100644 index 000000000..6f883249c --- /dev/null +++ b/ui/app/custom-react/src/App.css @@ -0,0 +1,10 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 12em; +} diff --git a/ui/app/custom-react/src/App.tsx b/ui/app/custom-react/src/App.tsx new file mode 100644 index 000000000..e97bd4968 --- /dev/null +++ b/ui/app/custom-react/src/App.tsx @@ -0,0 +1,23 @@ +import React from "react"; +import openremoteLogo from "./assets/openremote.svg"; +import {InputType} from "@openremote/or-mwc-components/or-mwc-input"; +import type {} from "@openremote/or-mwc-components/jsx"; +import "./App.css"; + +function App() { + return ( +
+ +

"A React template for your custom app."

+
+ + + +
+
+ ); +} + +export default App; \ No newline at end of file diff --git a/ui/app/custom-react/src/assets/openremote.svg b/ui/app/custom-react/src/assets/openremote.svg new file mode 100644 index 000000000..8bed2c961 --- /dev/null +++ b/ui/app/custom-react/src/assets/openremote.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ui/app/custom-react/src/index.css b/ui/app/custom-react/src/index.css new file mode 100644 index 000000000..c5795d5bb --- /dev/null +++ b/ui/app/custom-react/src/index.css @@ -0,0 +1,31 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } +} diff --git a/ui/app/custom-app-react/src/main.tsx b/ui/app/custom-react/src/main.tsx similarity index 65% rename from ui/app/custom-app-react/src/main.tsx rename to ui/app/custom-react/src/main.tsx index 5a21dc8d8..c905efc99 100644 --- a/ui/app/custom-app-react/src/main.tsx +++ b/ui/app/custom-react/src/main.tsx @@ -5,15 +5,17 @@ import {manager} from "@openremote/core"; import {ManagerConfig} from "@openremote/model"; import "./index.css"; +declare const MANAGER_URL: string | undefined; + /** * Define the Manager configuration to talk with OpenRemote. * For example, defining the realm and URL to communicate with. (these will be consumed with HTTP API calls for example) * We also enable autoLogin to prompt a Keycloak login before the app appears. */ const managerConfig: ManagerConfig = { - realm: "master", - managerUrl: "http://localhost:8080", - autoLogin: true + realm: "master", + managerUrl: MANAGER_URL ?? "", + autoLogin: true }; /** @@ -22,9 +24,12 @@ const managerConfig: ManagerConfig = { */ manager.init(managerConfig).then(() => { - ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( - - - - ); + /** + * Render your React application to the DOM. + */ + ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + + + + ); }); diff --git a/ui/app/custom-app-react/src/react-env.d.ts b/ui/app/custom-react/src/react-env.d.ts similarity index 100% rename from ui/app/custom-app-react/src/react-env.d.ts rename to ui/app/custom-react/src/react-env.d.ts diff --git a/ui/app/custom-app-react/tsconfig.json b/ui/app/custom-react/tsconfig.json similarity index 100% rename from ui/app/custom-app-react/tsconfig.json rename to ui/app/custom-react/tsconfig.json diff --git a/yarn.lock b/yarn.lock index 6192550c7..846dacca4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2618,16 +2618,15 @@ __metadata: languageName: node linkType: hard -"@openremote/custom-app-react@workspace:ui/app/custom-app-react": +"@openremote/custom-react@workspace:ui/app/custom-react": version: 0.0.0-use.local - resolution: "@openremote/custom-app-react@workspace:ui/app/custom-app-react" + resolution: "@openremote/custom-react@workspace:ui/app/custom-react" dependencies: "@openremote/core": "npm:^1.9.0" "@openremote/model": "npm:^1.9.0" "@openremote/or-mwc-components": "npm:^1.9.0" "@rspack/cli": "npm:^1.5.8" "@rspack/core": "npm:^1.5.8" - "@rspack/plugin-react-refresh": "npm:1.5.2" "@types/react": "npm:^19.2.2" "@types/react-dom": "npm:^19.2.2" cross-env: "npm:^10.1.0" @@ -3486,22 +3485,6 @@ __metadata: languageName: node linkType: hard -"@rspack/plugin-react-refresh@npm:1.5.2": - version: 1.5.2 - resolution: "@rspack/plugin-react-refresh@npm:1.5.2" - dependencies: - error-stack-parser: "npm:^2.1.4" - html-entities: "npm:^2.6.0" - peerDependencies: - react-refresh: ">=0.10.0 <1.0.0" - webpack-hot-middleware: 2.x - peerDependenciesMeta: - webpack-hot-middleware: - optional: true - checksum: 10/e1fdda9ab1d453f6718e5c57e67ec81048bf4b5d9534ccfe04a7354f0fe3309f914aa53592d2a7430e2a490319a27b34a6b01da8ad4e88b0053e5a8141ec1b6c - languageName: node - linkType: hard - "@tsconfig/node10@npm:^1.0.7": version: 1.0.11 resolution: "@tsconfig/node10@npm:1.0.11" @@ -5814,15 +5797,6 @@ __metadata: languageName: node linkType: hard -"error-stack-parser@npm:^2.1.4": - version: 2.1.4 - resolution: "error-stack-parser@npm:2.1.4" - dependencies: - stackframe: "npm:^1.3.4" - checksum: 10/23db33135bfc6ba701e5eee45e1bb9bd2fe33c5d4f9927440d9a499c7ac538f91f455fcd878611361269893c56734419252c40d8105eb3b023cf8b0fc2ebb64e - languageName: node - linkType: hard - "es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2": version: 1.23.3 resolution: "es-abstract@npm:1.23.3" @@ -7078,13 +7052,6 @@ __metadata: languageName: node linkType: hard -"html-entities@npm:^2.6.0": - version: 2.6.0 - resolution: "html-entities@npm:2.6.0" - checksum: 10/06d4e7a3ba6243bba558af176e56f85e09894b26d911bc1ef7b2b9b3f18b46604360805b32636f080e954778e9a34313d1982479a05a5aa49791afd6a4229346 - languageName: node - linkType: hard - "html-escaper@npm:^2.0.2": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -10391,13 +10358,6 @@ __metadata: languageName: node linkType: hard -"stackframe@npm:^1.3.4": - version: 1.3.4 - resolution: "stackframe@npm:1.3.4" - checksum: 10/29ca71c1fd17974c1c178df0236b1407bc65f6ea389cc43dec000def6e42ff548d4453de9a85b76469e2ae2b2abdd802c6b6f3db947c05794efbd740d1cf4121 - languageName: node - linkType: hard - "statuses@npm:2.0.1": version: 2.0.1 resolution: "statuses@npm:2.0.1" From dc4011b29e8a4e5665f615f0ab64526fb4a279f3 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Tue, 11 Nov 2025 11:25:00 +0100 Subject: [PATCH 09/17] Updated to 1.11.0 edit 2 --- gradle.properties | 2 +- package.json | 2 +- ui/app/custom-react/package.json | 6 +- ui/app/custom/package.json | 4 +- ui/component/model/package.json | 2 +- ui/component/rest/package.json | 4 +- yarn.lock | 704 +++++++++++++++---------------- 7 files changed, 342 insertions(+), 382 deletions(-) diff --git a/gradle.properties b/gradle.properties index bdbece999..2cd00e787 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ org.gradle.parallel=true projectName = custom-project version = 1.0-SNAPSHOT -openremoteVersion = 1.10.0 +openremoteVersion = 1.11.0 jacksonVersion = 2.18.3 testLoggerVersion = 4.0.0 diff --git a/package.json b/package.json index 9238336b9..f5d3b4b50 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,6 @@ "ui/demo/*" ], "devDependencies": { - "@openremote/util": "~1.10.0" + "@openremote/util": "~1.11.0" } } diff --git a/ui/app/custom-react/package.json b/ui/app/custom-react/package.json index b0a9cda80..5e3429c69 100644 --- a/ui/app/custom-react/package.json +++ b/ui/app/custom-react/package.json @@ -11,9 +11,9 @@ "serve": "npx cross-env NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 rspack serve" }, "dependencies": { - "@openremote/core": "^1.9.0", - "@openremote/model": "^1.9.0", - "@openremote/or-mwc-components": "^1.9.0", + "@openremote/core": "~1.11.0", + "@openremote/model": "~1.11.0", + "@openremote/or-mwc-components": "~1.11.0", "react": "^19.2.0", "react-dom": "^19.2.0" }, diff --git a/ui/app/custom/package.json b/ui/app/custom/package.json index a3a015ea4..78778a9ad 100644 --- a/ui/app/custom/package.json +++ b/ui/app/custom/package.json @@ -18,7 +18,7 @@ "test": "echo \"Error: no test specified\" && exit 1" }, "dependencies": { - "@openremote/manager": "~1.10.0", + "@openremote/manager": "~1.11.0", "model": "workspace:*", "rest": "workspace:*" }, @@ -30,7 +30,7 @@ "@babel/plugin-transform-runtime": "^7.16.4", "@babel/preset-env": "^7.16.4", "@babel/runtime": "^7.16.3", - "@openremote/util": "~1.10.0", + "@openremote/util": "~1.11.0", "@rspack/cli": "~1.4.11", "@rspack/core": "~1.4.11", "@typescript-eslint/eslint-plugin": "^5.9.0", diff --git a/ui/component/model/package.json b/ui/component/model/package.json index 1f3d630bf..91e4bd4f9 100644 --- a/ui/component/model/package.json +++ b/ui/component/model/package.json @@ -22,7 +22,7 @@ "author": "OpenRemote", "license": "AGPL-3.0-or-later", "devDependencies": { - "@openremote/util": "~1.10.0" + "@openremote/util": "~1.11.0" }, "publishConfig": { "access": "restricted" diff --git a/ui/component/rest/package.json b/ui/component/rest/package.json index bf423b9dc..5a6a62f5f 100644 --- a/ui/component/rest/package.json +++ b/ui/component/rest/package.json @@ -22,13 +22,13 @@ "author": "OpenRemote", "license": "AGPL-3.0-or-later", "dependencies": { - "@openremote/rest": "~1.10.0", + "@openremote/rest": "~1.11.0", "axios": "0.24.0", "model": "workspace:*", "qs": "^6.8.0" }, "devDependencies": { - "@openremote/util": "~1.10.0", + "@openremote/util": "~1.11.0", "@types/qs": "^6.9.7" }, "publishConfig": { diff --git a/yarn.lock b/yarn.lock index 7b492a28f..c12ba5b7a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1469,40 +1469,6 @@ __metadata: languageName: node linkType: hard -"@fortawesome/fontawesome-common-types@npm:^0.2.36": - version: 0.2.36 - resolution: "@fortawesome/fontawesome-common-types@npm:0.2.36" - checksum: 10/ea8575388b5ef67bb490a029bb1c13acd2a7f4e7a7cc00b6818a78aaa85be152075f8265558cec5751df560f74d9cdcddbc2f99a8e39265cd1ca63f3e9238c17 - languageName: node - linkType: hard - -"@fortawesome/fontawesome-svg-core@npm:^1.2.12": - version: 1.2.36 - resolution: "@fortawesome/fontawesome-svg-core@npm:1.2.36" - dependencies: - "@fortawesome/fontawesome-common-types": "npm:^0.2.36" - checksum: 10/9ac19485a7edab05894efda630a997ac50258760b967fe63f69f2fa2fa189884ab948acb879d3e782d3c95fc02b823a5c3f44ce38ac881b6e810cc55dae78ee4 - languageName: node - linkType: hard - -"@fortawesome/free-regular-svg-icons@npm:^5.6.3": - version: 5.15.4 - resolution: "@fortawesome/free-regular-svg-icons@npm:5.15.4" - dependencies: - "@fortawesome/fontawesome-common-types": "npm:^0.2.36" - checksum: 10/897ec569c734fa96ff13443b5023c79195f8d0f3f6f78190ee40809d552194ef361704592976b017a53133f1cd1e68f7880b33d262c657a60637ec9ab1867e83 - languageName: node - linkType: hard - -"@fortawesome/free-solid-svg-icons@npm:^5.6.3": - version: 5.15.4 - resolution: "@fortawesome/free-solid-svg-icons@npm:5.15.4" - dependencies: - "@fortawesome/fontawesome-common-types": "npm:^0.2.36" - checksum: 10/2fae46291b6fbf1c6be90d2f088d23a5c0046ed29befd8c3326550637de629fb6bcebce7e4394c0bed06a08eb5a63af4a6d3333c5e84b6409cb82e4c1165f07e - languageName: node - linkType: hard - "@humanwhocodes/config-array@npm:^0.11.14": version: 0.11.14 resolution: "@humanwhocodes/config-array@npm:0.11.14" @@ -1729,12 +1695,12 @@ __metadata: languageName: node linkType: hard -"@lit/task@npm:^1.0.0": - version: 1.0.1 - resolution: "@lit/task@npm:1.0.1" +"@lit/task@npm:^1.0.3": + version: 1.0.3 + resolution: "@lit/task@npm:1.0.3" dependencies: "@lit/reactive-element": "npm:^1.0.0 || ^2.0.0" - checksum: 10/56138bc36e137bab0caf2b7b17a7b72f29004069806b282d254966874d857cf28c899707cafc60ae6c7a001475aa65e18f1a9e9183c8240fd4e9c381fab098dd + checksum: 10/9b6a907585a8a34c7418138624f9f25a76820747a095d6a4748e91d3a36bc113c73f677e91f2a32367a33c7482dd4af06b2780ffbedd82bf69147dc05e28b0ef languageName: node linkType: hard @@ -2601,20 +2567,23 @@ __metadata: languageName: node linkType: hard -"@openremote/core@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/core@npm:1.10.0" +"@openremote/core@npm:1.11.0, @openremote/core@npm:~1.11.0": + version: 1.11.0 + resolution: "@openremote/core@npm:1.11.0" dependencies: - "@openremote/or-icon": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/rest": "npm:1.11.0" + axios: "npm:0.24.0" i18next: "npm:^21.5.3" i18next-http-backend: "npm:^1.3.1" keycloak-js: "npm:^25.0.1" + lodash: "npm:^4.17.21" moment: "npm:^2.29.4" platform: "npm:^1.3.6" qs: "npm:^6.8.0" url-search-params-polyfill: "npm:^8.1.0" - checksum: 10/753441f44cafade7a15f960c50034698cbba5bcdcee83503d1b73c7b062d8d176fe641054a6de9c69c8f8268ed70422cee1db0fd126201cec795cc258947f088 + checksum: 10/3800e3a35a02b7279e410ed7089f3452046a49efed8b43fbe6f6ad6dba072e51f7ea1c46b72436b15c0df4513c10b9211eeb71c864c708eb8aa29885998249ae languageName: node linkType: hard @@ -2622,9 +2591,9 @@ __metadata: version: 0.0.0-use.local resolution: "@openremote/custom-react@workspace:ui/app/custom-react" dependencies: - "@openremote/core": "npm:^1.9.0" - "@openremote/model": "npm:^1.9.0" - "@openremote/or-mwc-components": "npm:^1.9.0" + "@openremote/core": "npm:~1.11.0" + "@openremote/model": "npm:~1.11.0" + "@openremote/or-mwc-components": "npm:~1.11.0" "@rspack/cli": "npm:^1.5.8" "@rspack/core": "npm:^1.5.8" "@types/react": "npm:^19.2.2" @@ -2649,8 +2618,8 @@ __metadata: "@babel/plugin-transform-runtime": "npm:^7.16.4" "@babel/preset-env": "npm:^7.16.4" "@babel/runtime": "npm:^7.16.3" - "@openremote/manager": "npm:~1.10.0" - "@openremote/util": "npm:~1.10.0" + "@openremote/manager": "npm:~1.11.0" + "@openremote/util": "npm:~1.11.0" "@rspack/cli": "npm:~1.4.11" "@rspack/core": "npm:~1.4.11" "@typescript-eslint/eslint-plugin": "npm:^5.9.0" @@ -2685,285 +2654,362 @@ __metadata: languageName: unknown linkType: soft -"@openremote/manager@npm:~1.10.0": - version: 1.10.0 - resolution: "@openremote/manager@npm:1.10.0" +"@openremote/manager@npm:~1.11.0": + version: 1.11.0 + resolution: "@openremote/manager@npm:1.11.0" dependencies: - "@openremote/or-app": "npm:1.10.0" - "@openremote/or-attribute-barchart": "npm:1.10.0" + "@lit/task": "npm:^1.0.3" + "@material/data-table": "npm:^9.0.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-app": "npm:1.11.0" + "@openremote/or-asset-tree": "npm:1.11.0" + "@openremote/or-asset-viewer": "npm:1.11.0" + "@openremote/or-attribute-picker": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-dashboard-builder": "npm:1.11.0" + "@openremote/or-data-viewer": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-json-forms": "npm:1.11.0" + "@openremote/or-log-viewer": "npm:1.11.0" + "@openremote/or-map": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-rules": "npm:1.11.0" + "@openremote/or-services": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + "@openremote/rest": "npm:1.11.0" + "@reduxjs/toolkit": "npm:^1.8.1" iso-639-1: "npm:^3.1.3" - checksum: 10/5dfdb8318bd254b17f1c195c8148714fcb7a977e8d404fd7c3b97954c5af239ca3405af77a5b7b5d944fdf089b5c3383bd1b80acc303e1127e5f6b8c153958a9 + lit: "npm:^3.3.1" + maplibre-gl: "npm:^4.1.2" + moment: "npm:^2.29.4" + reselect: "npm:^4.1.8" + checksum: 10/86ea2cda806623f52d91baed32f6a103e77e0aae44eaf0f4bf88cccec042d971670d5d504809b046276d49c8d506b0ad88ef1a3dbf896cec2e7d8b40796d0910 languageName: node linkType: hard -"@openremote/model@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/model@npm:1.10.0" - checksum: 10/e09d80d3d477f02d301e27130bd5421a4edf9c657578b3d1653d0fc49d07639fecb4ec72c270ef3cbefb968668cf1d77f0e20f3ec6b79d141a746f37d50ff989 +"@openremote/model@npm:1.11.0, @openremote/model@npm:~1.11.0": + version: 1.11.0 + resolution: "@openremote/model@npm:1.11.0" + checksum: 10/ce1910b8492a0541ae63d9340c4297e6e7332b7f544192684a0322aa940c8983147b4230dec042e2266a49d6872476cd0de6a36fd734b66009f751c86c0de4de languageName: node linkType: hard -"@openremote/or-app@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-app@npm:1.10.0" +"@openremote/or-app@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-app@npm:1.11.0" dependencies: - "@lit/task": "npm:^1.0.0" - "@openremote/core": "npm:1.10.0" - "@openremote/or-asset-tree": "npm:1.10.0" - "@openremote/or-asset-viewer": "npm:1.10.0" - "@openremote/or-attribute-input": "npm:1.10.0" - "@openremote/or-attribute-picker": "npm:1.10.0" - "@openremote/or-chart": "npm:1.10.0" - "@openremote/or-dashboard-builder": "npm:1.10.0" - "@openremote/or-gauge": "npm:1.10.0" - "@openremote/or-map": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-rules": "npm:1.10.0" - "@openremote/or-services": "npm:1.10.0" - "@openremote/or-smart-notify": "npm:1.10.0" - "@openremote/or-timeline": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" "@reduxjs/toolkit": "npm:^1.8.1" "@webcomponents/webcomponentsjs": "npm:^2.6.0" lit: "npm:^3.3.1" - moment: "npm:^2.29.4" navigo: "npm:^8.11.1" pwa-helpers: "npm:^0.9.0" - checksum: 10/54cb6e1a4c7fc1dad09abd7d5e44d5753b6236d1ad8000fd776f9a89b3ecf3f8b1b8663355390bb73cb22e4532731bfbec573b1755a70237c81e1f58a36653a6 + checksum: 10/23fe50bcc7af567a0df86b126c19e5c696bcc9546b87f04074c30d86eaeba2f25cfbf174005fc5e11b33beff36c70f51571ad328ab8b59986595666ef80de706 languageName: node linkType: hard -"@openremote/or-asset-tree@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-asset-tree@npm:1.10.0" +"@openremote/or-asset-tree@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-asset-tree@npm:1.11.0" dependencies: "@mdi/js": "npm:^5.9.55" - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" lit: "npm:^3.3.1" - moment: "npm:^2.29.4" - checksum: 10/6ac6a195b31b8b84b503e3a5bd4b39edf06ae55fce246094c13a6460bbab8bf30b5a169689aef72810843608afe385add60efb398eaa716dd1930f2e56eb80df + lodash: "npm:^4.17.21" + qs: "npm:^6.8.0" + checksum: 10/f1bb6e5c2cdf91e9d3b89e47fd326381adfa7c1bd9816d4fd8eed5bc813014808afaa821a6bff4e510fb31987802c6f6484050be0c8ef46a65a5b3f16a5f5f85 languageName: node linkType: hard -"@openremote/or-asset-viewer@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-asset-viewer@npm:1.10.0" +"@openremote/or-asset-viewer@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-asset-viewer@npm:1.11.0" dependencies: "@material/data-table": "npm:^9.0.0" - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - "@openremote/or-attribute-history": "npm:1.10.0" - "@openremote/or-attribute-input": "npm:1.10.0" - "@openremote/or-chart": "npm:1.10.0" - "@openremote/or-components": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-json-forms": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-survey": "npm:1.10.0" - "@openremote/or-survey-results": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-asset-tree": "npm:1.11.0" + "@openremote/or-attribute-history": "npm:1.11.0" + "@openremote/or-attribute-input": "npm:1.11.0" + "@openremote/or-chart": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + i18next: "npm:^21.5.3" lit: "npm:^3.3.1" - checksum: 10/2befd0565d5cf7182b5c0750be30bef23b3cb6129ccd19428ea756e6377e4ad8673a2b5e5a18d28a688ae44ca8edd010a55343c0affb1ed2bc0dada80efa2533 + checksum: 10/5c51bab273c4e1aafce3b6aaee0f6ba9a0837d9a81334c31fddd428800ac3466ede050017d6440a4357a2f4e8157f4f21ac1e9b6ae872d654641bb0bea413dbb languageName: node linkType: hard -"@openremote/or-attribute-barchart@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-attribute-barchart@npm:1.10.0" - dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" +"@openremote/or-attribute-barchart@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-attribute-barchart@npm:1.11.0" + dependencies: + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + "@openremote/rest": "npm:1.11.0" echarts: "npm:~5.6.0" lit: "npm:^3.3.1" moment: "npm:^2.29.4" - checksum: 10/26bff4dad892d3e2a84e59de10f5dcbbdeafc0679e525d7c79f7c1bdbbc6d79d075f0afbcac5b1f149a56e3595a2bc32f567dc9ff41a6ec98c5af80dd3884685 + checksum: 10/ddcd0256a577d98b587b7a0ebdb2c182365dcb3474a445fe1375ae3a74b2aaf9aa7806d2d3c5cc430cb2ad3f42e5f00d0319fcc21f74f432c4cf6d75f087ef0c languageName: node linkType: hard -"@openremote/or-attribute-card@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-attribute-card@npm:1.10.0" - dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/or-attribute-picker": "npm:1.10.0" - "@openremote/or-chart": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" +"@openremote/or-attribute-card@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-attribute-card@npm:1.11.0" + dependencies: + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-asset-tree": "npm:1.11.0" + "@openremote/or-attribute-picker": "npm:1.11.0" + "@openremote/or-chart": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + "@openremote/rest": "npm:1.11.0" chart.js: "npm:^3.6.0" chartjs-adapter-moment: "npm:^1.0.0" lit: "npm:^3.3.1" + lodash: "npm:^4.17.21" moment: "npm:^2.29.4" - checksum: 10/3e10ea3571040d9c85b91d7c8addd4fbb3a942e68b8ebfc27fa18ef8e85c8a32bbc68f292c2fc804966973180e46bbbb988de258444301c657e2f59e7437fc59 + checksum: 10/b6fd95a6b0dce65f3824da77a2ab9a10d304fe02073e5e8050e905be1590b36f38602654a46ef326e3433c1d1f478d8060361ae822e771d2a1800b476bb5e7f2 languageName: node linkType: hard -"@openremote/or-attribute-history@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-attribute-history@npm:1.10.0" +"@openremote/or-attribute-history@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-attribute-history@npm:1.11.0" dependencies: "@material/data-table": "npm:^9.0.0" - "@openremote/core": "npm:1.10.0" - "@openremote/or-chart": "npm:1.10.0" - "@openremote/or-components": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-chart": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + "@openremote/rest": "npm:1.11.0" echarts: "npm:~5.6.0" jsonpath-plus: "npm:^6.0.1" lit: "npm:^3.3.1" - checksum: 10/5a762d51750654f60ebb6db48fd86bf04ac5f63b0d8135b00b0a86594d11e6175f18d42b344b537c7081230f0a26a000c46b5e5aac6c609e7c9271b4c9a033f1 + lodash: "npm:^4.17.21" + moment: "npm:^2.29.4" + checksum: 10/3797014ff23325db0d9523a824ecd22f30149f5eac54df94538e920e50fa746149fae9310fae602e142caef42c7b5afca15c268a796d9667ca1abb0907752d56 languageName: node linkType: hard -"@openremote/or-attribute-input@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-attribute-input@npm:1.10.0" +"@openremote/or-attribute-input@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-attribute-input@npm:1.11.0" dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/or-components": "npm:1.10.0" - "@openremote/or-json-forms": "npm:1.10.0" - "@openremote/or-map": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" + "@jsonforms/core": "npm:^3.5.1" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-json-forms": "npm:1.11.0" + "@openremote/or-map": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" lit: "npm:^3.3.1" - checksum: 10/ff292f9665a0a136af2edb24579ecb4e86d3445b30843cbc5def5c6c5b420187a9ef5517bd9a532be278ebc4639e6e2eb068c6900cf03bf051daf0c474ef9633 + checksum: 10/74e44df83983b283cb7b3bcc2727db673b01e906bbd01fa7172b36eeb5a1a01fd96ef8c9cc7206c12837a300f9c17364ba6b35264d3477ab0e5e34083d546063 languageName: node linkType: hard -"@openremote/or-attribute-picker@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-attribute-picker@npm:1.10.0" +"@openremote/or-attribute-picker@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-attribute-picker@npm:1.11.0" dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/or-asset-tree": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-asset-tree": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" lit: "npm:^3.3.1" - checksum: 10/d98fca6881c1e921c0542df871551c910f17643bd71a91b21486c95b61b9fef02a0cddb1a1c1ad5e29e47e0746e34e717e151ad85476a6f8522c98036b80d843 + checksum: 10/317934f538ba18795f5bac19fa2ec641ad6e0a2e55614a40f7619932cec0f9b9b6f5e8e8c7f633056fa1d672eb544d9b34396659c3da1c7d7f3c45d25ea6c9e4 languageName: node linkType: hard -"@openremote/or-chart@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-chart@npm:1.10.0" +"@openremote/or-chart@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-chart@npm:1.11.0" dependencies: "@material/data-table": "npm:^9.0.0" "@material/dialog": "npm:^9.0.0" - "@openremote/core": "npm:1.10.0" - "@openremote/or-asset-tree": "npm:1.10.0" - "@openremote/or-attribute-picker": "npm:1.10.0" - "@openremote/or-components": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-asset-tree": "npm:1.11.0" + "@openremote/or-attribute-picker": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + "@openremote/rest": "npm:1.11.0" echarts: "npm:~5.6.0" lit: "npm:^3.3.1" + lodash: "npm:^4.17.21" moment: "npm:^2.29.4" - checksum: 10/3dab1182aea6111230395de63f11de4a1ecf70fec60dc0658210cf05392165ce3eed7d60f16e32a547ce05f62090b6a54b9982b5d347f1242372a32b7271ef43 + checksum: 10/eb06853197dd6d033b1dd12c53b651920cd802bbf6bda432d4d7b48c0c791094f1d3c73006fdcc63f2245e2995cfc873ff7be728e9da672c47e280a4b0602ad9 languageName: node linkType: hard -"@openremote/or-components@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-components@npm:1.10.0" +"@openremote/or-components@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-components@npm:1.11.0" dependencies: "@material/elevation": "npm:^9.0.0" - "@openremote/core": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" ace-builds: "npm:^1.41.0" lit: "npm:^3.3.1" simplebar: "npm:^5.3.6" - checksum: 10/6adc5c185f321ed101a91b343838fadc20aaf0617e2f6c965055cd96d91fa6c081406c6e5dc83dec0691d49bb4ea0ce3cb210a017f5f820faea86c86716cbe20 + checksum: 10/91ca8f76ea1a5338adf8e6f9b7e0662d4a9f0ff8ab538f722e04d60bb289495fbc86353e427fb929f6d5b4506fa2a216019ae187346697426ab122c3aa73a709 languageName: node linkType: hard -"@openremote/or-dashboard-builder@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-dashboard-builder@npm:1.10.0" +"@openremote/or-dashboard-builder@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-dashboard-builder@npm:1.11.0" dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - "@openremote/or-attribute-card": "npm:1.10.0" - "@openremote/or-attribute-input": "npm:1.10.0" - "@openremote/or-chart": "npm:1.10.0" - "@openremote/or-gauge": "npm:1.10.0" - "@openremote/or-map": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" + "@lit/task": "npm:^1.0.3" + "@material/data-table": "npm:^9.0.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-asset-tree": "npm:1.11.0" + "@openremote/or-attribute-barchart": "npm:1.11.0" + "@openremote/or-attribute-card": "npm:1.11.0" + "@openremote/or-attribute-input": "npm:1.11.0" + "@openremote/or-attribute-picker": "npm:1.11.0" + "@openremote/or-chart": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-gauge": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-map": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + "@openremote/rest": "npm:1.11.0" gridstack: "npm:^7.2.0" lit: "npm:^3.3.1" - checksum: 10/e1aa52ff5470dc46be34008fde6444698f20bb40c147380181da14cff8f6e3c0e2be337c415e92a166e7939423e00c61cb6ef298ba02d609dcbdc8a8ae003702 + lodash: "npm:^4.17.21" + moment: "npm:^2.29.4" + checksum: 10/20109f959204b732550612c9659f5554e6b7bcafc5da5681859492c2c37f607c7b97c80d0a8d636b4a10ed1a8d07355e8e797c6aee9b9bec7571c57d80956bce languageName: node linkType: hard -"@openremote/or-gauge@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-gauge@npm:1.10.0" +"@openremote/or-data-viewer@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-data-viewer@npm:1.11.0" + dependencies: + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-attribute-card": "npm:1.11.0" + "@openremote/or-chart": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + lit: "npm:^3.3.1" + checksum: 10/20592f04abae504c44781b190526204cb0286fb6bd04327568e720e80fb9d9d1324af6cd3ae8959af94720c1531627f43fcf7d860f2e8f777cb12d21f3f89814 + languageName: node + linkType: hard + +"@openremote/or-gauge@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-gauge@npm:1.11.0" dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/or-components": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" gaugeJS: "npm:^1.3.7" lit: "npm:^3.3.1" - checksum: 10/3065f32b0f5dfa6a87e48df6a18aef702c818e81149ed34fbfef9b58591ca711d790969eeab85616c2bd2a6e5e1c2307ff56ebbaf40a6566316921e0d8ad33d1 + lodash: "npm:^4.17.21" + checksum: 10/38053231d7e45dbe9edc1bc1890f912809b68156a548693dfb37c6277255a56a1ab609ef262b3aa3334c5319540e7aa8b08b380a1b482270e0e45517c95516af languageName: node linkType: hard -"@openremote/or-icon@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-icon@npm:1.10.0" +"@openremote/or-icon@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-icon@npm:1.11.0" dependencies: "@mdi/font": "npm:latest" + "@openremote/model": "npm:1.11.0" lit: "npm:^3.3.1" - checksum: 10/d06f67edac10ae2a74d1f34c3ca61e54733685193699aa4ed02348e1e0f8d04a287ec7d9632d1e53c9383295a2c3048bbf01579fdb58f21003e21fed8db7a225 + checksum: 10/d84a983c7c6a19e9c547294a354a2cee50384b31e85943b008ff0d677558d60694bed6ea29db34fa66a3a02372fa063754a69a3374fe9be41b39dabed43916eb languageName: node linkType: hard -"@openremote/or-json-forms@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-json-forms@npm:1.10.0" +"@openremote/or-json-forms@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-json-forms@npm:1.11.0" dependencies: "@jsonforms/core": "npm:^3.5.1" - "@openremote/or-components": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@polymer/polymer": "npm:^3.3.1" + "@openremote/core": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" ajv: "npm:^8.8.2" lit: "npm:^3.3.1" - checksum: 10/b508396ac81e4c45309155823270d2765abbca0bf00926bbd89150570151ffbce4d23cf76ceba6ebb062f7b70d3dee57ca4855035c3069ee385223a4b885f15c + checksum: 10/01792550a24fcd64f6eaddefb6a60ba6ee9a624b43cf0a2c104d90442e3dec55b27176148bc4d99360c56bf6c2c4038acda78184092597f953809160a395eb7d + languageName: node + linkType: hard + +"@openremote/or-log-viewer@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-log-viewer@npm:1.11.0" + dependencies: + "@material/data-table": "npm:^9.0.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + axios: "npm:0.24.0" + http-link-header: "npm:^1.1.3" + lit: "npm:^3.3.1" + moment: "npm:^2.29.4" + checksum: 10/ca5a5d872c37d107b6ebfd16f0b20fca21122931be6ca4d1afe3e8104b7538376d781d78eedd89e4ea4d85892ebca058d141568e084798d26d6e30756ea44453 languageName: node linkType: hard -"@openremote/or-map@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-map@npm:1.10.0" +"@openremote/or-map@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-map@npm:1.11.0" dependencies: "@maplibre/maplibre-gl-geocoder": "npm:^1.5.0" - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" "@polymer/polymer": "npm:^3.3.1" - "@types/mapbox": "npm:^1.6.42" lit: "npm:^3.3.1" + lit-html: "npm:^3.3.1" + lodash: "npm:^4.17.21" mapbox.js: "npm:^3.3.1" maplibre-gl: "npm:^4.1.2" - checksum: 10/411e3ab78498f50e8c2eebfa4559ce7d5a526afe06beb4d7b288b297a72eff83d962712dc5661fd237d074397194588ccf32911e998d2bc474fa06b52b87a431 + checksum: 10/21c9bb29504ecec077bbeaa0d329b8276fa8471cc668abee3b4d789476a0c217b76d477545bbc0065b56f7656998fccc08e2dc94dd49defbde90495814478fdb languageName: node linkType: hard -"@openremote/or-mwc-components@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-mwc-components@npm:1.10.0" +"@openremote/or-mwc-components@npm:1.11.0, @openremote/or-mwc-components@npm:~1.11.0": + version: 1.11.0 + resolution: "@openremote/or-mwc-components@npm:1.11.0" dependencies: + "@material/base": "npm:^9.0.0" "@material/button": "npm:^9.0.0" "@material/checkbox": "npm:^9.0.0" "@material/data-table": "npm:^9.0.0" @@ -2974,36 +3020,46 @@ __metadata: "@material/form-field": "npm:^9.0.0" "@material/icon-button": "npm:^9.0.0" "@material/line-ripple": "npm:^9.0.0" + "@material/list": "npm:^9.0.0" "@material/menu": "npm:^9.0.0" + "@material/menu-surface": "npm:^9.0.0" "@material/radio": "npm:^9.0.0" "@material/ripple": "npm:^9.0.0" "@material/select": "npm:^9.0.0" "@material/slider": "npm:^9.0.0" "@material/snackbar": "npm:^9.0.0" "@material/switch": "npm:^9.0.0" + "@material/tab": "npm:^9.0.0" "@material/tab-bar": "npm:^9.0.0" + "@material/tab-indicator": "npm:^9.0.0" + "@material/tab-scroller": "npm:^9.0.0" "@material/textfield": "npm:^9.0.0" - "@openremote/core": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" lit: "npm:^3.3.1" - checksum: 10/27ccfdc32858cfb8d1f9d36349341eb977afce93d512d2e2b5ea637641ce3cd5ec39adde137507043029304cfd0045913bf3fdde24ebd8c2022cc29a708f994d + moment: "npm:^2.29.4" + checksum: 10/ee7b47888ce671cb3653357bff5e83e424442c04fffd9576c33c9906379c35600e8d5fffe49c8e80fc9635163c14e224b0730898c8fcb02c438aa50cd207280f languageName: node linkType: hard -"@openremote/or-rules@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-rules@npm:1.10.0" - dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - "@openremote/or-attribute-input": "npm:1.10.0" - "@openremote/or-components": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" - "@openremote/or-tree-menu": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" +"@openremote/or-rules@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-rules@npm:1.11.0" + dependencies: + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-asset-tree": "npm:1.11.0" + "@openremote/or-attribute-input": "npm:1.11.0" + "@openremote/or-attribute-picker": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-map": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + "@openremote/or-tree-menu": "npm:1.11.0" + "@openremote/rest": "npm:1.11.0" ace-builds: "npm:^1.41.0" iso-639-1: "npm:^3.1.3" linqts: "npm:^1.12.6" @@ -3012,118 +3068,63 @@ __metadata: resize-observer: "npm:^1.0.3" rrule: "npm:^2.6.4" shortid: "npm:^2.2.15" - checksum: 10/8f7cddc70345d7399aaa2df29cc90ae260d83154f62c295b716d51888cf96845e43e03699aeff2c9890e524f87b3ba7ac7f318e320f5c542fc4adae4990848df - languageName: node - linkType: hard - -"@openremote/or-services@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-services@npm:1.10.0" - dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - "@openremote/or-components": "npm:1.10.0" - "@openremote/or-icon": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" - "@openremote/or-tree-menu": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" - checksum: 10/09e3816ad715a151cdc5cfecbe007fc1beb18a76920d9deb338ac9d604081fcb08977d765cb8ee769b4ffa62782e226898e824e98aa15d01152a33b106672f10 - languageName: node - linkType: hard - -"@openremote/or-smart-notify@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-smart-notify@npm:1.10.0" - dependencies: - "@fortawesome/fontawesome-svg-core": "npm:^1.2.12" - "@fortawesome/free-regular-svg-icons": "npm:^5.6.3" - "@fortawesome/free-solid-svg-icons": "npm:^5.6.3" - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - "@openremote/rest": "npm:1.10.0" - lit: "npm:^3.3.1" - moment: "npm:^2.29.4" - checksum: 10/1952aed15861b0664b70cab4d51f8898e9f3b601ba4a296fcf6880e33f906a7a03e248a0e9e98aeefffbbacb7851dfbf6c80c119cfe17dce4d2e279752102b6e - languageName: node - linkType: hard - -"@openremote/or-survey-results@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-survey-results@npm:1.10.0" - dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - lit: "npm:^3.3.1" - checksum: 10/9397ebfb86067009cc5a2c0833c34afd79ba750252b9315bdae80bd176e1ce17e5ed3a5a86cc59e65708d3afc6547184c878f565b0fbd11a30f2139c27467004 - languageName: node - linkType: hard - -"@openremote/or-survey@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-survey@npm:1.10.0" - dependencies: - "@openremote/core": "npm:1.10.0" - "@openremote/model": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" - "@types/lodash-es": "npm:^4.17.5" - lit: "npm:^3.3.1" - lodash-es: "npm:^4.17.15" - moment: "npm:2.29.4" - checksum: 10/fbeb86ea2c7582ade8ddb919c100cac5dbefc77dd964a48ade25c7b6294dae2643e8bb7eee79662463df168c84be47dfefbd8f7f8d34d3d52ddcc9695e7c9171 + checksum: 10/5fe4be5f1a093302a50c1d6fabd308e08907ffff5d65c912a3a2125f3d676a2f6a71d7334edcfdefff6ea05829b7a4df4211ccdd5a864bec811a123a29238d32 languageName: node linkType: hard -"@openremote/or-timeline@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-timeline@npm:1.10.0" - dependencies: +"@openremote/or-services@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-services@npm:1.11.0" + dependencies: + "@openremote/core": "npm:1.11.0" + "@openremote/model": "npm:1.11.0" + "@openremote/or-components": "npm:1.11.0" + "@openremote/or-icon": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" + "@openremote/or-tree-menu": "npm:1.11.0" lit: "npm:^3.3.1" - moment: "npm:^2.29.4" - checksum: 10/cb9991abf113d96afb291860e51756242ff5cb1af698a67e6968affd06afd9b2234a672661f098a701e8e20edecbc997fabfa418657eef47ab4cd96e5978db00 + checksum: 10/83891543bbcf84a2140a06655b075b5800ff7a34dc013a9432b80d22d5dca3e445c0878851c6eb706c0418926a43b25b3dceb764e2d24bf6e5961d3c76978e09 languageName: node linkType: hard -"@openremote/or-translate@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-translate@npm:1.10.0" +"@openremote/or-translate@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-translate@npm:1.11.0" dependencies: i18next: "npm:^21.5.3" lit: "npm:^3.3.1" - checksum: 10/008898bfc9611090c47b3519016486086b77e5f4fea4560766a656073487255a8ab8af9f80ca5ed3d13fc7f38c9cfda146183199e89bf8b1d54ee805c0d36af6 + checksum: 10/2279082c3887c77706a870ec8765fb9d4f2344badc4e3d66e6164be461905747a8867e55bbf8085a3e7610f2d94d61d9191269f1fee032e0d3e8791d8e542f88 languageName: node linkType: hard -"@openremote/or-tree-menu@npm:1.10.0": - version: 1.10.0 - resolution: "@openremote/or-tree-menu@npm:1.10.0" +"@openremote/or-tree-menu@npm:1.11.0": + version: 1.11.0 + resolution: "@openremote/or-tree-menu@npm:1.11.0" dependencies: - "@mdi/js": "npm:^5.9.55" - "@openremote/core": "npm:1.10.0" - "@openremote/or-mwc-components": "npm:1.10.0" - "@openremote/or-translate": "npm:1.10.0" + "@openremote/core": "npm:1.11.0" + "@openremote/or-mwc-components": "npm:1.11.0" + "@openremote/or-translate": "npm:1.11.0" lit: "npm:^3.3.1" - checksum: 10/6d2af0b07c1d84b877f42009cc84c856eb08f63be3aec5fc85256bc336aa4966b13a6e5124831ca2397d9b8622cfb90bcc647b4cb1d89fa3017fa6a61f6f20a5 + checksum: 10/4e2950a4e714d90db1249c57380cb50d51e604150e598cafb24d1be02e91e5f48f23c98fa70ee44b5847259904870666d96c74938cbab83e6e1d1b32cd9c4723 languageName: node linkType: hard -"@openremote/rest@npm:1.10.0, @openremote/rest@npm:~1.10.0": - version: 1.10.0 - resolution: "@openremote/rest@npm:1.10.0" +"@openremote/rest@npm:1.11.0, @openremote/rest@npm:~1.11.0": + version: 1.11.0 + resolution: "@openremote/rest@npm:1.11.0" dependencies: - "@openremote/model": "npm:1.10.0" axios: "npm:0.24.0" qs: "npm:^6.8.0" - checksum: 10/7e2f142640b5b941600eb463bccbf0734bcebfd9c69711f6f662077d8c9169e016805df669c12f6ff7657e0d1c0f4007495bfb9e5ce5e2096172728ab273d125 + checksum: 10/60599fa9b4ee3b6cdf4fc059d28ee4fb378d8f3eb7e5d2ceaa95997b6936add400f4cc3950f4006e0e9f4e9b742494e99be470d74732e33a72f6027f30283b82 languageName: node linkType: hard -"@openremote/util@npm:~1.10.0": - version: 1.10.0 - resolution: "@openremote/util@npm:1.10.0" +"@openremote/util@npm:~1.11.0": + version: 1.11.0 + resolution: "@openremote/util@npm:1.11.0" bin: orutil: ./cli.js - checksum: 10/4a539a6a85e8208e745c1ec54cc46f632cd669730ff7df2a9479e0f8c86aeb3d9c76151754b87cb85d0db7c9e8a7553a3e74dd90a83bc18fbaeee018718c869c + checksum: 10/e3855b2c6f32be7f51527d2050f0ce59da6d9eb56e8b244a210dc4a66a1ac9a320d2007d9a3ce60214ac72e4e4f6c6370e37a20fafa16acb8b4d6091a1997204 languageName: node linkType: hard @@ -3704,40 +3705,6 @@ __metadata: languageName: node linkType: hard -"@types/leaflet@npm:^0": - version: 0.7.40 - resolution: "@types/leaflet@npm:0.7.40" - dependencies: - "@types/geojson": "npm:*" - checksum: 10/e558b412c212b59feb7eb24669a236aed85ceee5a1180878e717b0cf4c9c7ffec65d1f87c07bd217a772bfa83271379648598336680a60610e299135d1c87fa4 - languageName: node - linkType: hard - -"@types/lodash-es@npm:^4.17.5": - version: 4.17.12 - resolution: "@types/lodash-es@npm:4.17.12" - dependencies: - "@types/lodash": "npm:*" - checksum: 10/56b9a433348b11c31051c6fa9028540a033a08fb80b400c589d740446c19444d73b217cf1471d4036448ef686a83e8cf2a35d1fadcb3f2105f26701f94aebb07 - languageName: node - linkType: hard - -"@types/lodash@npm:*": - version: 4.17.1 - resolution: "@types/lodash@npm:4.17.1" - checksum: 10/384bdd29348a000f8e815f94839a1a8c7f5a4ca856b016ade7f2abdc1df0b4e3e009c113b69db320a8fde51d1f38e60c19462b9bf3e82e0e2e32d3ac3e7ba2c4 - languageName: node - linkType: hard - -"@types/mapbox@npm:^1.6.42": - version: 1.6.45 - resolution: "@types/mapbox@npm:1.6.45" - dependencies: - "@types/leaflet": "npm:^0" - checksum: 10/1cb0462688e3ad645b0e85ca23f87119b4c83e16f78eeea206d1f7d7590dbf4d7464dc1ea2f128e119540f72d9922db1aea431f5f21a72a5244fb2a7fa7e868b - languageName: node - linkType: hard - "@types/mapbox__point-geometry@npm:*, @types/mapbox__point-geometry@npm:^0.1.4": version: 0.1.4 resolution: "@types/mapbox__point-geometry@npm:0.1.4" @@ -7148,6 +7115,13 @@ __metadata: languageName: node linkType: hard +"http-link-header@npm:^1.1.3": + version: 1.1.3 + resolution: "http-link-header@npm:1.1.3" + checksum: 10/fae99528f5477eb3cd054b56db5d2d95496bde2d8ce6a85f145f523eb5050051fc9723b293e07135c86fcfaca0a38f7d0c6232bd4191725dc767a30744e0c804 + languageName: node + linkType: hard + "http-parser-js@npm:>=0.5.1": version: 0.5.8 resolution: "http-parser-js@npm:0.5.8" @@ -8021,7 +7995,7 @@ __metadata: languageName: node linkType: hard -"lit-html@npm:^3.3.0": +"lit-html@npm:^3.3.0, lit-html@npm:^3.3.1": version: 3.3.1 resolution: "lit-html@npm:3.3.1" dependencies: @@ -8077,13 +8051,6 @@ __metadata: languageName: node linkType: hard -"lodash-es@npm:^4.17.15": - version: 4.17.21 - resolution: "lodash-es@npm:4.17.21" - checksum: 10/03f39878ea1e42b3199bd3f478150ab723f93cc8730ad86fec1f2804f4a07c6e30deaac73cad53a88e9c3db33348bb8ceeb274552390e7a75d7849021c02df43 - languageName: node - linkType: hard - "lodash.debounce@npm:^4.0.6, lodash.debounce@npm:^4.0.8": version: 4.0.8 resolution: "lodash.debounce@npm:4.0.8" @@ -8462,17 +8429,10 @@ __metadata: version: 0.0.0-use.local resolution: "model@workspace:ui/component/model" dependencies: - "@openremote/util": "npm:~1.10.0" + "@openremote/util": "npm:~1.11.0" languageName: unknown linkType: soft -"moment@npm:2.29.4": - version: 2.29.4 - resolution: "moment@npm:2.29.4" - checksum: 10/157c5af5a0ba8196e577bc67feb583303191d21ba1f7f2af30b3b40d4c63a64d505ba402be2a1454832082fac6be69db1e0d186c3279dae191e6634b0c33705c - languageName: node - linkType: hard - "moment@npm:^2.29.4": version: 2.30.1 resolution: "moment@npm:2.30.1" @@ -9677,8 +9637,8 @@ __metadata: version: 0.0.0-use.local resolution: "rest@workspace:ui/component/rest" dependencies: - "@openremote/rest": "npm:~1.10.0" - "@openremote/util": "npm:~1.10.0" + "@openremote/rest": "npm:~1.11.0" + "@openremote/util": "npm:~1.11.0" "@types/qs": "npm:^6.9.7" axios: "npm:0.24.0" model: "workspace:*" @@ -9722,7 +9682,7 @@ __metadata: version: 0.0.0-use.local resolution: "root-workspace-0b6124@workspace:." dependencies: - "@openremote/util": "npm:~1.10.0" + "@openremote/util": "npm:~1.11.0" languageName: unknown linkType: soft From 39e007e865ad247d0576323d6a9bd8b824175771 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Tue, 11 Nov 2025 12:04:38 +0100 Subject: [PATCH 10/17] Bump RSPack version --- ui/app/custom-react/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/app/custom-react/package.json b/ui/app/custom-react/package.json index 5e3429c69..1948bed60 100644 --- a/ui/app/custom-react/package.json +++ b/ui/app/custom-react/package.json @@ -18,8 +18,8 @@ "react-dom": "^19.2.0" }, "devDependencies": { - "@rspack/cli": "^1.5.8", - "@rspack/core": "^1.5.8", + "@rspack/cli": "^1.6.1", + "@rspack/core": "^1.6.1", "@types/react": "^19.2.2", "@types/react-dom": "^19.2.2", "cross-env": "^10.1.0", From 52ea1d1aca4def3324e9f0c0647fa2a715c5ea2e Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Tue, 11 Nov 2025 13:34:05 +0100 Subject: [PATCH 11/17] Minor RSPack version adjustment --- ui/app/custom-react/package.json | 4 +- ui/app/custom/package.json | 4 +- yarn.lock | 568 ++++++------------------------- 3 files changed, 102 insertions(+), 474 deletions(-) diff --git a/ui/app/custom-react/package.json b/ui/app/custom-react/package.json index 1948bed60..eb73bd7f9 100644 --- a/ui/app/custom-react/package.json +++ b/ui/app/custom-react/package.json @@ -18,8 +18,8 @@ "react-dom": "^19.2.0" }, "devDependencies": { - "@rspack/cli": "^1.6.1", - "@rspack/core": "^1.6.1", + "@rspack/cli": "~1.6.0", + "@rspack/core": "~1.6.0", "@types/react": "^19.2.2", "@types/react-dom": "^19.2.2", "cross-env": "^10.1.0", diff --git a/ui/app/custom/package.json b/ui/app/custom/package.json index 78778a9ad..be0c24bbf 100644 --- a/ui/app/custom/package.json +++ b/ui/app/custom/package.json @@ -31,8 +31,8 @@ "@babel/preset-env": "^7.16.4", "@babel/runtime": "^7.16.3", "@openremote/util": "~1.11.0", - "@rspack/cli": "~1.4.11", - "@rspack/core": "~1.4.11", + "@rspack/cli": "~1.6.0", + "@rspack/core": "~1.6.0", "@typescript-eslint/eslint-plugin": "^5.9.0", "@typescript-eslint/parser": "^5.9.0", "babel-loader": "^8.2.3", diff --git a/yarn.lock b/yarn.lock index c12ba5b7a..16f56352b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1364,16 +1364,6 @@ __metadata: languageName: node linkType: hard -"@emnapi/core@npm:^1.4.5": - version: 1.4.5 - resolution: "@emnapi/core@npm:1.4.5" - dependencies: - "@emnapi/wasi-threads": "npm:1.0.4" - tslib: "npm:^2.4.0" - checksum: 10/412322102dc861e8aa78123ae20560ac980362a220c736fe59ddea3228d490757780ea4cdc3bd54903a5ca2a92085f119e42f2c07f60e2aec2c0b8a69ea094c0 - languageName: node - linkType: hard - "@emnapi/core@npm:^1.5.0": version: 1.6.0 resolution: "@emnapi/core@npm:1.6.0" @@ -1384,15 +1374,6 @@ __metadata: languageName: node linkType: hard -"@emnapi/runtime@npm:^1.4.5": - version: 1.4.5 - resolution: "@emnapi/runtime@npm:1.4.5" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/1d6f406ff116d2363e60aef3ed49eb8d577387f4941abea508ba376900d8831609d5cce92a58076b1a9613f8e83c75c2e3fea71e4fbcdbe06019876144c2559b - languageName: node - linkType: hard - "@emnapi/runtime@npm:^1.5.0": version: 1.6.0 resolution: "@emnapi/runtime@npm:1.6.0" @@ -1402,15 +1383,6 @@ __metadata: languageName: node linkType: hard -"@emnapi/wasi-threads@npm:1.0.4": - version: 1.0.4 - resolution: "@emnapi/wasi-threads@npm:1.0.4" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/86688f416095b59d8d3e5ea2d8b5574a7c180257fe0c067c7a492f3de2cf5ebc2c8b00af17d6341c7555c614266d3987f332015d7ce6e88b234a9a314e66f396 - languageName: node - linkType: hard - "@emnapi/wasi-threads@npm:1.1.0": version: 1.1.0 resolution: "@emnapi/wasi-threads@npm:1.1.0" @@ -2386,128 +2358,62 @@ __metadata: languageName: node linkType: hard -"@module-federation/error-codes@npm:0.17.1": - version: 0.17.1 - resolution: "@module-federation/error-codes@npm:0.17.1" - checksum: 10/5f5f02a90a423479c84e4ff4398a3a9e31b66bd545e7c978ecb8a417f33162b86e749356baab14c006e741c9cebae549335a4c99e94ce7ef54210269fdf74f7f - languageName: node - linkType: hard - -"@module-federation/error-codes@npm:0.18.0": - version: 0.18.0 - resolution: "@module-federation/error-codes@npm:0.18.0" - checksum: 10/ccd00f6b2504ec2e685bda6d175ed86df27e21994b36869140a18059595716e9ea7db5d0b516a095891ec9e6c90e702f42a366743df3652bf91ff3bb4f895991 +"@module-federation/error-codes@npm:0.21.2": + version: 0.21.2 + resolution: "@module-federation/error-codes@npm:0.21.2" + checksum: 10/04b6a80a6c1b6aa4d5e4396f0c02d46af8bf8c11bec55d4e409854a8f22e40599f2e1fa9ad9f93081893e48679af3850ecd42d05776c06b5cd8516aaefc0aded languageName: node linkType: hard -"@module-federation/runtime-core@npm:0.17.1": - version: 0.17.1 - resolution: "@module-federation/runtime-core@npm:0.17.1" +"@module-federation/runtime-core@npm:0.21.2": + version: 0.21.2 + resolution: "@module-federation/runtime-core@npm:0.21.2" dependencies: - "@module-federation/error-codes": "npm:0.17.1" - "@module-federation/sdk": "npm:0.17.1" - checksum: 10/b0c945379bde13af84ceb833e3bfe3c8cf11fd265af0ad7640a1506017529458f408a4a3f1bd0f4b5983da71438913d5c25ed25e20908eb1f789bd1483616650 + "@module-federation/error-codes": "npm:0.21.2" + "@module-federation/sdk": "npm:0.21.2" + checksum: 10/8bbd20aa7b6a40fcb7d0083cc169657fa18618372bd01c204e01f13acb4b9765c409e4c22100b5891201ddae2c6a5e2aab86cbc3e00f4411d32c7b9c6faec0cd languageName: node linkType: hard -"@module-federation/runtime-core@npm:0.18.0": - version: 0.18.0 - resolution: "@module-federation/runtime-core@npm:0.18.0" +"@module-federation/runtime-tools@npm:0.21.2": + version: 0.21.2 + resolution: "@module-federation/runtime-tools@npm:0.21.2" dependencies: - "@module-federation/error-codes": "npm:0.18.0" - "@module-federation/sdk": "npm:0.18.0" - checksum: 10/82af795408f2e92bea9c801a2057f1a6ed85eaf131195d5deaa4ef9a6a88db9e2cb851b4416e6e43a841459986b5ebb84e98b4625fb9bbd98cee11929f1ede6b + "@module-federation/runtime": "npm:0.21.2" + "@module-federation/webpack-bundler-runtime": "npm:0.21.2" + checksum: 10/81070ce02e0508568ce51075617799d5ffac178ae5ad618cb07a806800995af0395993683ec71ec90680b112eca359e39af5d5035dada8264b8cf5b3e6b3a3fc languageName: node linkType: hard -"@module-federation/runtime-tools@npm:0.17.1": - version: 0.17.1 - resolution: "@module-federation/runtime-tools@npm:0.17.1" +"@module-federation/runtime@npm:0.21.2": + version: 0.21.2 + resolution: "@module-federation/runtime@npm:0.21.2" dependencies: - "@module-federation/runtime": "npm:0.17.1" - "@module-federation/webpack-bundler-runtime": "npm:0.17.1" - checksum: 10/2e183e357b644dbe015d0e51df3fe601852ca79ffe3a30c582eee7a2050d7600eb3253f5de15e476c60741d0a1dd70add1ade7b5a3537cd2ee12bfee286284ea + "@module-federation/error-codes": "npm:0.21.2" + "@module-federation/runtime-core": "npm:0.21.2" + "@module-federation/sdk": "npm:0.21.2" + checksum: 10/acec411a4b354001d2c8beb12ff8d8d857ec9251b21158f3ba78ba7e24999a85a30d290cab9f5f6cd9876347b2878bc291d69a756cd1d104f1067186f4a0ad91 languageName: node linkType: hard -"@module-federation/runtime-tools@npm:0.18.0": - version: 0.18.0 - resolution: "@module-federation/runtime-tools@npm:0.18.0" - dependencies: - "@module-federation/runtime": "npm:0.18.0" - "@module-federation/webpack-bundler-runtime": "npm:0.18.0" - checksum: 10/c6b1483899865e4c73be0ae77e6e1a5f517798f7ab3b8c6df2bb7ed22463e7a471f68d5f9528b2aff5b45e2db67596805028206f3956aafec5a36dcefb94afd2 +"@module-federation/sdk@npm:0.21.2": + version: 0.21.2 + resolution: "@module-federation/sdk@npm:0.21.2" + checksum: 10/e71a85bc4daf16cbe065c4ee8c36d6652b0d9a2cd5cc4fc53494f1c7f1111a67a08c4817e5738a7e4f66b7f60769abceb955c23bf94eb3205d2646002852b10f languageName: node linkType: hard -"@module-federation/runtime@npm:0.17.1": - version: 0.17.1 - resolution: "@module-federation/runtime@npm:0.17.1" +"@module-federation/webpack-bundler-runtime@npm:0.21.2": + version: 0.21.2 + resolution: "@module-federation/webpack-bundler-runtime@npm:0.21.2" dependencies: - "@module-federation/error-codes": "npm:0.17.1" - "@module-federation/runtime-core": "npm:0.17.1" - "@module-federation/sdk": "npm:0.17.1" - checksum: 10/f5405968dff4fa2cf510127701ec1722105f44298fd09eafeecead450b7bb95a05450749157fe2fc39caf6241bec9e45caa9a55375b48e7f195db84799a8df0c + "@module-federation/runtime": "npm:0.21.2" + "@module-federation/sdk": "npm:0.21.2" + checksum: 10/ac99d3ad623d52640cf776dbd4dd1382368926e19607f0fdc204b61b645a0bf9bde7f9fabd64edc83e04079fb4b3abff7c1feec80ecd36caa6a1d9d1824271c6 languageName: node linkType: hard -"@module-federation/runtime@npm:0.18.0": - version: 0.18.0 - resolution: "@module-federation/runtime@npm:0.18.0" - dependencies: - "@module-federation/error-codes": "npm:0.18.0" - "@module-federation/runtime-core": "npm:0.18.0" - "@module-federation/sdk": "npm:0.18.0" - checksum: 10/6164597782b21840e3b8f159000338d8e20a817a60909015c11402e9e6442d60d9c3b4b6f25d92d7261011ef1fc0e8caafbb91f25c29b372f28764cbea8ef9eb - languageName: node - linkType: hard - -"@module-federation/sdk@npm:0.17.1": - version: 0.17.1 - resolution: "@module-federation/sdk@npm:0.17.1" - checksum: 10/daaaa49ed900c00a69641130cf673ad5d5b8623d82fb4bd03a67c839a6da760a0a5ae29b836ba66eeb95ee5392e558588ffd987a2c00b05c2b0a7c5039ed042d - languageName: node - linkType: hard - -"@module-federation/sdk@npm:0.18.0": - version: 0.18.0 - resolution: "@module-federation/sdk@npm:0.18.0" - checksum: 10/f397dc53c705ad1f1e19530a8ff79116bb5aeeef92a79b3acaaa6140ae4e5784b42e81d1445eabf536c007c9383857f6764506ed725a6352464fe1ce581af89a - languageName: node - linkType: hard - -"@module-federation/webpack-bundler-runtime@npm:0.17.1": - version: 0.17.1 - resolution: "@module-federation/webpack-bundler-runtime@npm:0.17.1" - dependencies: - "@module-federation/runtime": "npm:0.17.1" - "@module-federation/sdk": "npm:0.17.1" - checksum: 10/72e5030529dbc53df6271fa78bdb63976d0601fe9fde5105f8a7325e0fa296bc35277b9b084e52995cd314b89e12d33f8b869c1d63a13231c2948d4c741e72fd - languageName: node - linkType: hard - -"@module-federation/webpack-bundler-runtime@npm:0.18.0": - version: 0.18.0 - resolution: "@module-federation/webpack-bundler-runtime@npm:0.18.0" - dependencies: - "@module-federation/runtime": "npm:0.18.0" - "@module-federation/sdk": "npm:0.18.0" - checksum: 10/c80f26e02d497948a0864283bedf13118d5c188ac8165e71edce5da72776091db6da2dc5da5d47a53fbb6914bfbff1ddfce16a6b9c18485a9a41a04bc4060e34 - languageName: node - linkType: hard - -"@napi-rs/wasm-runtime@npm:^1.0.1": - version: 1.0.3 - resolution: "@napi-rs/wasm-runtime@npm:1.0.3" - dependencies: - "@emnapi/core": "npm:^1.4.5" - "@emnapi/runtime": "npm:^1.4.5" - "@tybys/wasm-util": "npm:^0.10.0" - checksum: 10/4af90cfe43205591cdcfb86eb6ba41a625f35cca26c372c58dac7b99e85e2a2bf9d3f8b3fd71106d167a7efaca60fef69aa614fbc8c22103b3c81f0225ea8275 - languageName: node - linkType: hard - -"@napi-rs/wasm-runtime@npm:^1.0.5": +"@napi-rs/wasm-runtime@npm:1.0.7": version: 1.0.7 resolution: "@napi-rs/wasm-runtime@npm:1.0.7" dependencies: @@ -2594,8 +2500,8 @@ __metadata: "@openremote/core": "npm:~1.11.0" "@openremote/model": "npm:~1.11.0" "@openremote/or-mwc-components": "npm:~1.11.0" - "@rspack/cli": "npm:^1.5.8" - "@rspack/core": "npm:^1.5.8" + "@rspack/cli": "npm:~1.6.0" + "@rspack/core": "npm:~1.6.0" "@types/react": "npm:^19.2.2" "@types/react-dom": "npm:^19.2.2" cross-env: "npm:^10.1.0" @@ -2620,8 +2526,8 @@ __metadata: "@babel/runtime": "npm:^7.16.3" "@openremote/manager": "npm:~1.11.0" "@openremote/util": "npm:~1.11.0" - "@rspack/cli": "npm:~1.4.11" - "@rspack/core": "npm:~1.4.11" + "@rspack/cli": "npm:~1.6.0" + "@rspack/core": "npm:~1.6.0" "@typescript-eslint/eslint-plugin": "npm:^5.9.0" "@typescript-eslint/parser": "npm:^5.9.0" babel-loader: "npm:^8.2.3" @@ -3171,203 +3077,92 @@ __metadata: languageName: node linkType: hard -"@rspack/binding-darwin-arm64@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-darwin-arm64@npm:1.4.11" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rspack/binding-darwin-arm64@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-darwin-arm64@npm:1.5.8" +"@rspack/binding-darwin-arm64@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-darwin-arm64@npm:1.6.0" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rspack/binding-darwin-x64@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-darwin-x64@npm:1.4.11" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rspack/binding-darwin-x64@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-darwin-x64@npm:1.5.8" +"@rspack/binding-darwin-x64@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-darwin-x64@npm:1.6.0" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rspack/binding-linux-arm64-gnu@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-linux-arm64-gnu@npm:1.4.11" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rspack/binding-linux-arm64-gnu@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-linux-arm64-gnu@npm:1.5.8" +"@rspack/binding-linux-arm64-gnu@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-linux-arm64-gnu@npm:1.6.0" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rspack/binding-linux-arm64-musl@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-linux-arm64-musl@npm:1.4.11" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rspack/binding-linux-arm64-musl@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-linux-arm64-musl@npm:1.5.8" +"@rspack/binding-linux-arm64-musl@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-linux-arm64-musl@npm:1.6.0" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rspack/binding-linux-x64-gnu@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-linux-x64-gnu@npm:1.4.11" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rspack/binding-linux-x64-gnu@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-linux-x64-gnu@npm:1.5.8" +"@rspack/binding-linux-x64-gnu@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-linux-x64-gnu@npm:1.6.0" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rspack/binding-linux-x64-musl@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-linux-x64-musl@npm:1.4.11" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rspack/binding-linux-x64-musl@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-linux-x64-musl@npm:1.5.8" +"@rspack/binding-linux-x64-musl@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-linux-x64-musl@npm:1.6.0" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rspack/binding-wasm32-wasi@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-wasm32-wasi@npm:1.4.11" - dependencies: - "@napi-rs/wasm-runtime": "npm:^1.0.1" - conditions: cpu=wasm32 - languageName: node - linkType: hard - -"@rspack/binding-wasm32-wasi@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-wasm32-wasi@npm:1.5.8" +"@rspack/binding-wasm32-wasi@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-wasm32-wasi@npm:1.6.0" dependencies: - "@napi-rs/wasm-runtime": "npm:^1.0.5" + "@napi-rs/wasm-runtime": "npm:1.0.7" conditions: cpu=wasm32 languageName: node linkType: hard -"@rspack/binding-win32-arm64-msvc@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-win32-arm64-msvc@npm:1.4.11" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rspack/binding-win32-arm64-msvc@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-win32-arm64-msvc@npm:1.5.8" +"@rspack/binding-win32-arm64-msvc@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-win32-arm64-msvc@npm:1.6.0" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rspack/binding-win32-ia32-msvc@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-win32-ia32-msvc@npm:1.4.11" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@rspack/binding-win32-ia32-msvc@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-win32-ia32-msvc@npm:1.5.8" +"@rspack/binding-win32-ia32-msvc@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-win32-ia32-msvc@npm:1.6.0" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rspack/binding-win32-x64-msvc@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding-win32-x64-msvc@npm:1.4.11" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@rspack/binding-win32-x64-msvc@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding-win32-x64-msvc@npm:1.5.8" +"@rspack/binding-win32-x64-msvc@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding-win32-x64-msvc@npm:1.6.0" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@rspack/binding@npm:1.4.11": - version: 1.4.11 - resolution: "@rspack/binding@npm:1.4.11" - dependencies: - "@rspack/binding-darwin-arm64": "npm:1.4.11" - "@rspack/binding-darwin-x64": "npm:1.4.11" - "@rspack/binding-linux-arm64-gnu": "npm:1.4.11" - "@rspack/binding-linux-arm64-musl": "npm:1.4.11" - "@rspack/binding-linux-x64-gnu": "npm:1.4.11" - "@rspack/binding-linux-x64-musl": "npm:1.4.11" - "@rspack/binding-wasm32-wasi": "npm:1.4.11" - "@rspack/binding-win32-arm64-msvc": "npm:1.4.11" - "@rspack/binding-win32-ia32-msvc": "npm:1.4.11" - "@rspack/binding-win32-x64-msvc": "npm:1.4.11" - dependenciesMeta: - "@rspack/binding-darwin-arm64": - optional: true - "@rspack/binding-darwin-x64": - optional: true - "@rspack/binding-linux-arm64-gnu": - optional: true - "@rspack/binding-linux-arm64-musl": - optional: true - "@rspack/binding-linux-x64-gnu": - optional: true - "@rspack/binding-linux-x64-musl": - optional: true - "@rspack/binding-wasm32-wasi": - optional: true - "@rspack/binding-win32-arm64-msvc": - optional: true - "@rspack/binding-win32-ia32-msvc": - optional: true - "@rspack/binding-win32-x64-msvc": - optional: true - checksum: 10/8bb94774204f41888ff442afec06f019d008abba79964b74d566acf64f7216a148a1842f90c44b3bf680e69b697d8e5cd0f1cca6fd0b8a94df5f97c2a3f05510 - languageName: node - linkType: hard - -"@rspack/binding@npm:1.5.8": - version: 1.5.8 - resolution: "@rspack/binding@npm:1.5.8" - dependencies: - "@rspack/binding-darwin-arm64": "npm:1.5.8" - "@rspack/binding-darwin-x64": "npm:1.5.8" - "@rspack/binding-linux-arm64-gnu": "npm:1.5.8" - "@rspack/binding-linux-arm64-musl": "npm:1.5.8" - "@rspack/binding-linux-x64-gnu": "npm:1.5.8" - "@rspack/binding-linux-x64-musl": "npm:1.5.8" - "@rspack/binding-wasm32-wasi": "npm:1.5.8" - "@rspack/binding-win32-arm64-msvc": "npm:1.5.8" - "@rspack/binding-win32-ia32-msvc": "npm:1.5.8" - "@rspack/binding-win32-x64-msvc": "npm:1.5.8" +"@rspack/binding@npm:1.6.0": + version: 1.6.0 + resolution: "@rspack/binding@npm:1.6.0" + dependencies: + "@rspack/binding-darwin-arm64": "npm:1.6.0" + "@rspack/binding-darwin-x64": "npm:1.6.0" + "@rspack/binding-linux-arm64-gnu": "npm:1.6.0" + "@rspack/binding-linux-arm64-musl": "npm:1.6.0" + "@rspack/binding-linux-x64-gnu": "npm:1.6.0" + "@rspack/binding-linux-x64-musl": "npm:1.6.0" + "@rspack/binding-wasm32-wasi": "npm:1.6.0" + "@rspack/binding-win32-arm64-msvc": "npm:1.6.0" + "@rspack/binding-win32-ia32-msvc": "npm:1.6.0" + "@rspack/binding-win32-x64-msvc": "npm:1.6.0" dependenciesMeta: "@rspack/binding-darwin-arm64": optional: true @@ -3389,82 +3184,43 @@ __metadata: optional: true "@rspack/binding-win32-x64-msvc": optional: true - checksum: 10/8185f3d77f71f210f182799fd41edead264aa8819c354aa13744635869734722b056a958fd94f770c05cab2a501cb8f0c217626098f9b4ec82afed3c6c3b53f4 + checksum: 10/4f6efedd28341bd4737992112d66daaa563450f7b653acecd5c531fe4b8edf32108424fe45bcccb46c0ab85f1c2e00c64241aa4e175e7e0ec5f08d9239ee5432 languageName: node linkType: hard -"@rspack/cli@npm:^1.5.8": - version: 1.5.8 - resolution: "@rspack/cli@npm:1.5.8" +"@rspack/cli@npm:~1.6.0": + version: 1.6.0 + resolution: "@rspack/cli@npm:1.6.0" dependencies: "@discoveryjs/json-ext": "npm:^0.5.7" "@rspack/dev-server": "npm:~1.1.4" - colorette: "npm:2.0.20" exit-hook: "npm:^4.0.0" - pirates: "npm:^4.0.7" webpack-bundle-analyzer: "npm:4.10.2" - yargs: "npm:17.7.2" peerDependencies: "@rspack/core": ^1.0.0-alpha || ^1.x bin: rspack: bin/rspack.js - checksum: 10/13eb3d0c2d6f4b49777b5c1e1b07c37bcf72872f38d791e284c1fcd564ca43ab6f6aa2f481c4d11ea5e3a0ce3266df17fcecdcb4dd5bf73b5a8c12f2c0f06a15 + checksum: 10/866949e61f66d36eb49eef4d2293da3122d92814e43129c5e3fbe538fd119b2a00100cfab827ea910f43bab8518dfbde93cb64fb993bf53997c3a73bbf2fe849 languageName: node linkType: hard -"@rspack/cli@npm:~1.4.11": - version: 1.4.11 - resolution: "@rspack/cli@npm:1.4.11" - dependencies: - "@discoveryjs/json-ext": "npm:^0.5.7" - "@rspack/dev-server": "npm:~1.1.3" - colorette: "npm:2.0.20" - exit-hook: "npm:^4.0.0" - interpret: "npm:^3.1.1" - rechoir: "npm:^0.8.0" - webpack-bundle-analyzer: "npm:4.10.2" - yargs: "npm:17.7.2" - peerDependencies: - "@rspack/core": ^1.0.0-alpha || ^1.x - bin: - rspack: bin/rspack.js - checksum: 10/0a6f2feb1d5e58fd1c373350178cfa56bffce4acb88e335eef83ebbfc227c099c096ed13e51ee929701a07006e59901963dc32e743eea0bc95b666108b92669c - languageName: node - linkType: hard - -"@rspack/core@npm:^1.5.8": - version: 1.5.8 - resolution: "@rspack/core@npm:1.5.8" - dependencies: - "@module-federation/runtime-tools": "npm:0.18.0" - "@rspack/binding": "npm:1.5.8" - "@rspack/lite-tapable": "npm:1.0.1" - peerDependencies: - "@swc/helpers": ">=0.5.1" - peerDependenciesMeta: - "@swc/helpers": - optional: true - checksum: 10/269e691dbb83430179b89d9f10e115c5fb97cf54eb13c49ae6f6070468f3fcbee17ebe0968d8ab82dfdb7b5474e339f3fd9c945d5d20eb89333b53d8c1ad32cc - languageName: node - linkType: hard - -"@rspack/core@npm:~1.4.11": - version: 1.4.11 - resolution: "@rspack/core@npm:1.4.11" +"@rspack/core@npm:~1.6.0": + version: 1.6.0 + resolution: "@rspack/core@npm:1.6.0" dependencies: - "@module-federation/runtime-tools": "npm:0.17.1" - "@rspack/binding": "npm:1.4.11" + "@module-federation/runtime-tools": "npm:0.21.2" + "@rspack/binding": "npm:1.6.0" "@rspack/lite-tapable": "npm:1.0.1" peerDependencies: "@swc/helpers": ">=0.5.1" peerDependenciesMeta: "@swc/helpers": optional: true - checksum: 10/77d463bd90feb2d24f7bc56df198f0b7ad310a9eb676070eac8d78014d151e783943c5b44c64700a51a36708c626a341eeaa9b3287e358616d09dfe25ab04e77 + checksum: 10/4017688a47725956d21f852eecbc60b0038cac4ca6ebf2b8785dfe3583b96ebb3f6e78af259f3d07d25a61d37c59e4ca267898e4aac9da987a4ea2a00ae110fc languageName: node linkType: hard -"@rspack/dev-server@npm:~1.1.3, @rspack/dev-server@npm:~1.1.4": +"@rspack/dev-server@npm:~1.1.4": version: 1.1.4 resolution: "@rspack/dev-server@npm:1.1.4" dependencies: @@ -3514,15 +3270,6 @@ __metadata: languageName: node linkType: hard -"@tybys/wasm-util@npm:^0.10.0": - version: 0.10.0 - resolution: "@tybys/wasm-util@npm:0.10.0" - dependencies: - tslib: "npm:^2.4.0" - checksum: 10/779d047a77e8a619b6e26b6fe556f413316d846e9a35438668a15510a4d6e7294388c998f65911f6f1a13838745575d7793cb1d27182752f6f95991725b15d45 - languageName: node - linkType: hard - "@tybys/wasm-util@npm:^0.10.1": version: 0.10.1 resolution: "@tybys/wasm-util@npm:0.10.1" @@ -5006,17 +4753,6 @@ __metadata: languageName: node linkType: hard -"cliui@npm:^8.0.1": - version: 8.0.1 - resolution: "cliui@npm:8.0.1" - dependencies: - string-width: "npm:^4.2.0" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^7.0.0" - checksum: 10/eaa5561aeb3135c2cddf7a3b3f562fc4238ff3b3fc666869ef2adf264be0f372136702f16add9299087fb1907c2e4ec5dbfe83bd24bce815c70a80c6c1a2e950 - languageName: node - linkType: hard - "clone-deep@npm:^4.0.1": version: 4.0.1 resolution: "clone-deep@npm:4.0.1" @@ -5060,7 +4796,7 @@ __metadata: languageName: node linkType: hard -"colorette@npm:2.0.20, colorette@npm:^2.0.10, colorette@npm:^2.0.14": +"colorette@npm:^2.0.10, colorette@npm:^2.0.14": version: 2.0.20 resolution: "colorette@npm:2.0.20" checksum: 10/0b8de48bfa5d10afc160b8eaa2b9938f34a892530b2f7d7897e0458d9535a066e3998b49da9d21161c78225b272df19ae3a64d6df28b4c9734c0e55bbd02406f @@ -5881,13 +5617,6 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.1": - version: 3.2.0 - resolution: "escalade@npm:3.2.0" - checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 - languageName: node - linkType: hard - "escalade@npm:^3.1.2": version: 3.1.2 resolution: "escalade@npm:3.1.2" @@ -6705,13 +6434,6 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.5": - version: 2.0.5 - resolution: "get-caller-file@npm:2.0.5" - checksum: 10/b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 - languageName: node - linkType: hard - "get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": version: 1.2.4 resolution: "get-intrinsic@npm:1.2.4" @@ -7368,13 +7090,6 @@ __metadata: languageName: node linkType: hard -"interpret@npm:^3.1.1": - version: 3.1.1 - resolution: "interpret@npm:3.1.1" - checksum: 10/bc9e11126949c4e6ff49b0b819e923a9adc8e8bf3f9d4f2d782de6d5f592774f6fee4457c10bd08c6a2146b4baee460ccb242c99e5397defa9c846af0d00505a - languageName: node - linkType: hard - "ip-address@npm:^9.0.5": version: 9.0.5 resolution: "ip-address@npm:9.0.5" @@ -7460,15 +7175,6 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.16.0": - version: 2.16.1 - resolution: "is-core-module@npm:2.16.1" - dependencies: - hasown: "npm:^2.0.2" - checksum: 10/452b2c2fb7f889cbbf7e54609ef92cf6c24637c568acc7e63d166812a0fb365ae8a504c333a29add8bdb1686704068caa7f4e4b639b650dde4f00a038b8941fb - languageName: node - linkType: hard - "is-data-view@npm:^1.0.1": version: 1.0.1 resolution: "is-data-view@npm:1.0.1" @@ -9040,13 +8746,6 @@ __metadata: languageName: node linkType: hard -"pirates@npm:^4.0.7": - version: 4.0.7 - resolution: "pirates@npm:4.0.7" - checksum: 10/2427f371366081ae42feb58214f04805d6b41d6b84d74480ebcc9e0ddbd7105a139f7c653daeaf83ad8a1a77214cf07f64178e76de048128fec501eab3305a96 - languageName: node - linkType: hard - "pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -9391,15 +9090,6 @@ __metadata: languageName: node linkType: hard -"rechoir@npm:^0.8.0": - version: 0.8.0 - resolution: "rechoir@npm:0.8.0" - dependencies: - resolve: "npm:^1.20.0" - checksum: 10/ad3caed8afdefbc33fbc30e6d22b86c35b3d51c2005546f4e79bcc03c074df804b3640ad18945e6bef9ed12caedc035655ec1082f64a5e94c849ff939dc0a788 - languageName: node - linkType: hard - "redux-thunk@npm:^2.4.2": version: 2.4.2 resolution: "redux-thunk@npm:2.4.2" @@ -9514,13 +9204,6 @@ __metadata: languageName: node linkType: hard -"require-directory@npm:^2.1.1": - version: 2.1.1 - resolution: "require-directory@npm:2.1.1" - checksum: 10/a72468e2589270d91f06c7d36ec97a88db53ae5d6fe3787fadc943f0b0276b10347f89b363b2a82285f650bdcc135ad4a257c61bdd4d00d6df1fa24875b0ddaf - languageName: node - linkType: hard - "require-from-string@npm:^2.0.2": version: 2.0.2 resolution: "require-from-string@npm:2.0.2" @@ -9594,19 +9277,6 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.20.0": - version: 1.22.10 - resolution: "resolve@npm:1.22.10" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/0a398b44da5c05e6e421d70108822c327675febb880eebe905587628de401854c61d5df02866ff34fc4cb1173a51c9f0e84a94702738df3611a62e2acdc68181 - languageName: node - linkType: hard - "resolve@patch:resolve@npm%3A^1.1.6#optional!builtin, resolve@patch:resolve@npm%3A^1.10.1#optional!builtin, resolve@patch:resolve@npm%3A^1.14.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin, resolve@patch:resolve@npm%3A^1.9.0#optional!builtin": version: 1.22.8 resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d" @@ -9620,19 +9290,6 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": - version: 1.22.10 - resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin::version=1.22.10&hash=c3c19d" - dependencies: - is-core-module: "npm:^2.16.0" - path-parse: "npm:^1.0.7" - supports-preserve-symlinks-flag: "npm:^1.0.0" - bin: - resolve: bin/resolve - checksum: 10/d4d878bfe3702d215ea23e75e0e9caf99468e3db76f5ca100d27ebdc527366fee3877e54bce7d47cc72ca8952fc2782a070d238bfa79a550eeb0082384c3b81a - languageName: node - linkType: hard - "rest@workspace:*, rest@workspace:ui/component/rest": version: 0.0.0-use.local resolution: "rest@workspace:ui/component/rest" @@ -10332,7 +9989,7 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -11435,7 +11092,7 @@ __metadata: languageName: node linkType: hard -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" dependencies: @@ -11525,13 +11182,6 @@ __metadata: languageName: node linkType: hard -"y18n@npm:^5.0.5": - version: 5.0.8 - resolution: "y18n@npm:5.0.8" - checksum: 10/5f1b5f95e3775de4514edbb142398a2c37849ccfaf04a015be5d75521e9629d3be29bd4432d23c57f37e5b61ade592fb0197022e9993f81a06a5afbdcda9346d - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -11553,28 +11203,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e - languageName: node - linkType: hard - -"yargs@npm:17.7.2": - version: 17.7.2 - resolution: "yargs@npm:17.7.2" - dependencies: - cliui: "npm:^8.0.1" - escalade: "npm:^3.1.1" - get-caller-file: "npm:^2.0.5" - require-directory: "npm:^2.1.1" - string-width: "npm:^4.2.3" - y18n: "npm:^5.0.5" - yargs-parser: "npm:^21.1.1" - checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 - languageName: node - linkType: hard - "yn@npm:3.1.1": version: 3.1.1 resolution: "yn@npm:3.1.1" From fc8d22cd826bf7c117a321927834ce2c2b78636c Mon Sep 17 00:00:00 2001 From: Martin Peeters Date: Tue, 11 Nov 2025 15:20:31 +0100 Subject: [PATCH 12/17] Update ui/app/README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- ui/app/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/app/README.md b/ui/app/README.md index 774b731bd..d8997d8ea 100644 --- a/ui/app/README.md +++ b/ui/app/README.md @@ -9,7 +9,7 @@ These make communicating with OpenRemote easier, and allows developers to quickl ## Example apps We provided several example apps to get familiar with the architecture. -All apps can be ran using `npm run serve`, and visited at http://localhost:9000/custom/. +All apps can be run using `npm run serve`, and visited at http://localhost:9000/custom/. Here's a list of the apps, and what they do; ### /custom From d5f14a5e224cde97cb870a821771c2d0b1d4b23a Mon Sep 17 00:00:00 2001 From: Martin Peeters Date: Tue, 11 Nov 2025 15:20:41 +0100 Subject: [PATCH 13/17] Update ui/app/README.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- ui/app/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/app/README.md b/ui/app/README.md index d8997d8ea..68d46e4a8 100644 --- a/ui/app/README.md +++ b/ui/app/README.md @@ -4,7 +4,7 @@ In this folder, you can add custom (web) applications that will be shipped along For example, special mobile apps for end users, or apps for less-technical consumers are widespread. Developing these custom apps is pretty straightforward, thanks to the built-in packages we provide. -These make communicating with OpenRemote easier, and allows developers to quickly set up an user interface. +These make communicating with OpenRemote easier, and allows developers to quickly set up a user interface. ## Example apps From 67412dee40334d46b07adfa34c0f5c9a096d3923 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Wed, 12 Nov 2025 11:14:43 +0100 Subject: [PATCH 14/17] Minor README adjustment --- ui/app/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/app/README.md b/ui/app/README.md index 68d46e4a8..4f97f3b6a 100644 --- a/ui/app/README.md +++ b/ui/app/README.md @@ -9,7 +9,7 @@ These make communicating with OpenRemote easier, and allows developers to quickl ## Example apps We provided several example apps to get familiar with the architecture. -All apps can be run using `npm run serve`, and visited at http://localhost:9000/custom/. +All apps can be run using `npm run serve`, and visited at `http://localhost:9000//`. Here's a list of the apps, and what they do; ### /custom From 58206965a910b38d3c13ca30bec90c033b3b7e26 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Wed, 12 Nov 2025 11:25:34 +0100 Subject: [PATCH 15/17] Fixes for importing assets, such as favicons or images. --- ui/app/custom-react/assets/favicon.ico | Bin 0 -> 1150 bytes .../custom-react/{src => }/assets/openremote.svg | 0 ui/app/custom-react/index.html | 2 +- ui/app/custom-react/rspack.config.ts | 6 ++++++ ui/app/custom-react/src/App.tsx | 2 +- 5 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 ui/app/custom-react/assets/favicon.ico rename ui/app/custom-react/{src => }/assets/openremote.svg (100%) diff --git a/ui/app/custom-react/assets/favicon.ico b/ui/app/custom-react/assets/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..041659d8834162cbed94f09923d68aed5364b467 GIT binary patch literal 1150 zcmY+Ee@s(X6vt1e`wuU=wuZ)bgf*Qia4RqsI zqG3a1n~|9~{@8TMl1baik0L+Z9F+cmf=;FO$D=JZNCDTv5T=VlcV2OcyD#5+-@W&I z&OPVen+w3gFFG2qehtbt0>l770t$z4WPKbP0G!+M{JO$@tk%}nSSav^9)ZYhfvQ=1 zWU+TFS3;Ycgf7$1gv)dxf6~%iBy;l z1N+#@J|!IX+u_Wz|0%i0x(9g&YPt|(6}XJ(!x@1wYtZ*XfuT_^XcsJz?c~J!EomL8 z<*#VpF5PlItzxS>uWn~FSKk6M&u9+MZU_pTMs2y@7NPKt?Z#XK;+q{qgjVcB)|PQ} z`xSOc)kaPcD1uEJqdf54SR|q~eMyR&i5%5My{CowU@;+#_F*wB>q1 z|DoRqt!OT@j?=S4z1flZ$#(Xx%6Q29^i9aBN?<3cqUX8Q+xo;h$+i4}!^+gobgn7reU{;w^0}!NzPkSPMtK({$2e@5%PML~s38Iv^9uP(J}tML?#Xi) z=JD)q;XO_wC(Y~d(t-W4itZvx(n&Q*f33bGv$Xb;w%*YX9K$QPZ#J>p zvO8|%A~Xg)|Kp$RkX|d0p3zvo(=>tH1LXW9ZEjOcjU_;D8=U;>cG!G%b(MvB5)J=T zzHun>jlWRf9{Ef*IdbqL-__*$yYw>^Gq(RYVAzkN0Dj-Fu7*LJVjhjhh1Gy>2g-!~ SA=DHj7QiCfui?(sA^R`ULjA=6 literal 0 HcmV?d00001 diff --git a/ui/app/custom-react/src/assets/openremote.svg b/ui/app/custom-react/assets/openremote.svg similarity index 100% rename from ui/app/custom-react/src/assets/openremote.svg rename to ui/app/custom-react/assets/openremote.svg diff --git a/ui/app/custom-react/index.html b/ui/app/custom-react/index.html index 569dd752f..fddf53e04 100644 --- a/ui/app/custom-react/index.html +++ b/ui/app/custom-react/index.html @@ -2,7 +2,7 @@ - + Custom app example using React diff --git a/ui/app/custom-react/rspack.config.ts b/ui/app/custom-react/rspack.config.ts index 596b7ec43..b8595fde6 100644 --- a/ui/app/custom-react/rspack.config.ts +++ b/ui/app/custom-react/rspack.config.ts @@ -55,6 +55,12 @@ export default defineConfig({ // Define MANAGER_URL as a global variable new rspack.DefinePlugin({ MANAGER_URL: JSON.stringify(process.env.MANAGER_URL ?? (isDev ? "http://localhost:8080" : undefined)) + }), + // Import assets + new rspack.CopyRspackPlugin({ + patterns: [ + { from: "./assets", to: "assets" } + ] }) ], optimization: { diff --git a/ui/app/custom-react/src/App.tsx b/ui/app/custom-react/src/App.tsx index e97bd4968..803ba97a1 100644 --- a/ui/app/custom-react/src/App.tsx +++ b/ui/app/custom-react/src/App.tsx @@ -1,5 +1,5 @@ import React from "react"; -import openremoteLogo from "./assets/openremote.svg"; +import openremoteLogo from "../assets/openremote.svg"; import {InputType} from "@openremote/or-mwc-components/or-mwc-input"; import type {} from "@openremote/or-mwc-components/jsx"; import "./App.css"; From 06b7d72b714c4ba6be6b421a94642ec7cff64b09 Mon Sep 17 00:00:00 2001 From: MartinaeyNL Date: Fri, 14 Nov 2025 14:13:23 +0100 Subject: [PATCH 16/17] Changed tabs to spaces in rspack.config.ts --- ui/app/custom-react/rspack.config.ts | 122 +++++++++++++-------------- 1 file changed, 61 insertions(+), 61 deletions(-) diff --git a/ui/app/custom-react/rspack.config.ts b/ui/app/custom-react/rspack.config.ts index b8595fde6..391fd9112 100644 --- a/ui/app/custom-react/rspack.config.ts +++ b/ui/app/custom-react/rspack.config.ts @@ -1,5 +1,5 @@ -import { defineConfig } from "@rspack/cli"; -import { rspack } from "@rspack/core"; +import {defineConfig} from "@rspack/cli"; +import {rspack} from "@rspack/core"; const isDev = process.env.NODE_ENV === "development"; @@ -7,51 +7,51 @@ const isDev = process.env.NODE_ENV === "development"; const targets = ["chrome >= 87", "edge >= 88", "firefox >= 78", "safari >= 14"]; export default defineConfig({ - context: __dirname, - devServer: { - host: "0.0.0.0", - port: 9000, - open: false - }, - entry: { - main: "./src/main.tsx" - }, - resolve: { - extensions: ["...", ".ts", ".tsx", ".jsx"] - }, - module: { - rules: [ - { - test: /\.svg$/, - type: "asset" - }, - { - test: /(maplibre|mapbox|@material|gridstack|@mdi).*\.css$/, //output css as strings - type: "asset/source" - }, - { + context: __dirname, + devServer: { + host: "0.0.0.0", + port: 9000, + open: false + }, + entry: { + main: "./src/main.tsx" + }, + resolve: { + extensions: ["...", ".ts", ".tsx", ".jsx"] + }, + module: { + rules: [ + { + test: /\.svg$/, + type: "asset" + }, + { + test: /(maplibre|mapbox|@material|gridstack|@mdi).*\.css$/, //output css as strings + type: "asset/source" + }, + { test: /\.tsx$/, type: "javascript/auto", - use: [ - { - loader: "builtin:swc-loader", - options: { - jsc: { - parser: { - syntax: "typescript", - tsx: true - } - } - } - } - ] - } - ] - }, - plugins: [ - new rspack.HtmlRspackPlugin({ - template: "./index.html" - }), + use: [ + { + loader: "builtin:swc-loader", + options: { + jsc: { + parser: { + syntax: "typescript", + tsx: true + } + } + } + } + ] + } + ] + }, + plugins: [ + new rspack.HtmlRspackPlugin({ + template: "./index.html" + }), // Define MANAGER_URL as a global variable new rspack.DefinePlugin({ MANAGER_URL: JSON.stringify(process.env.MANAGER_URL ?? (isDev ? "http://localhost:8080" : undefined)) @@ -59,22 +59,22 @@ export default defineConfig({ // Import assets new rspack.CopyRspackPlugin({ patterns: [ - { from: "./assets", to: "assets" } + {from: "./assets", to: "assets"} ] }) - ], - optimization: { - minimizer: [ - new rspack.SwcJsMinimizerRspackPlugin(), - new rspack.LightningCssMinimizerRspackPlugin({ - minimizerOptions: { targets } - }) - ] - }, - output: { - publicPath: isDev ? "/custom-react/" : "/", - }, - experiments: { - css: true - } + ], + optimization: { + minimizer: [ + new rspack.SwcJsMinimizerRspackPlugin(), + new rspack.LightningCssMinimizerRspackPlugin({ + minimizerOptions: {targets} + }) + ] + }, + output: { + publicPath: isDev ? "/custom-react/" : "/", + }, + experiments: { + css: true + } }); From 8c34e18a8e0552b75aa9be80e8fcee6b0d2f54c3 Mon Sep 17 00:00:00 2001 From: Martin Peeters Date: Fri, 14 Nov 2025 14:22:28 +0100 Subject: [PATCH 17/17] Update ui/app/custom-react/rspack.config.ts Co-authored-by: Koen <44117179+Ekhorn@users.noreply.github.com> --- ui/app/custom-react/rspack.config.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ui/app/custom-react/rspack.config.ts b/ui/app/custom-react/rspack.config.ts index 391fd9112..fa3fe84e8 100644 --- a/ui/app/custom-react/rspack.config.ts +++ b/ui/app/custom-react/rspack.config.ts @@ -20,6 +20,11 @@ export default defineConfig({ extensions: ["...", ".ts", ".tsx", ".jsx"] }, module: { + parser: { + "css/auto": { + namedExports: false, + }, + }, rules: [ { test: /\.svg$/,