diff --git a/ui/app/README.md b/ui/app/README.md
index f8a36354b..774b731bd 100644
--- a/ui/app/README.md
+++ b/ui/app/README.md
@@ -1 +1,22 @@
-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 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
+
+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
+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-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-react/.gitignore b/ui/app/custom-react/.gitignore
new file mode 100644
index 000000000..38d7344c8
--- /dev/null
+++ b/ui/app/custom-react/.gitignore
@@ -0,0 +1,13 @@
+# Local
+.DS_Store
+*.local
+*.log*
+
+# Dist
+node_modules
+dist/
+
+# IDE
+.vscode/*
+!.vscode/extensions.json
+.idea
diff --git a/ui/app/custom-react/build.gradle b/ui/app/custom-react/build.gradle
new file mode 100644
index 000000000..797533f42
--- /dev/null
+++ b/ui/app/custom-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-react/index.html b/ui/app/custom-react/index.html
new file mode 100644
index 000000000..569dd752f
--- /dev/null
+++ b/ui/app/custom-react/index.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Custom app example using React
+
+
+
+
+
diff --git a/ui/app/custom-react/package.json b/ui/app/custom-react/package.json
new file mode 100644
index 000000000..b0a9cda80
--- /dev/null
+++ b/ui/app/custom-react/package.json
@@ -0,0 +1,30 @@
+{
+ "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": {
+ "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",
+ "@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.5.8",
+ "@rspack/core": "^1.5.8",
+ "@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.9.3"
+ }
+}
diff --git a/ui/app/custom-react/rspack.config.ts b/ui/app/custom-react/rspack.config.ts
new file mode 100644
index 000000000..596b7ec43
--- /dev/null
+++ b/ui/app/custom-react/rspack.config.ts
@@ -0,0 +1,74 @@
+import { defineConfig } from "@rspack/cli";
+import { rspack } from "@rspack/core";
+
+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: {
+ 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"
+ }),
+ // 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: [
+ new rspack.SwcJsMinimizerRspackPlugin(),
+ new rspack.LightningCssMinimizerRspackPlugin({
+ minimizerOptions: { targets }
+ })
+ ]
+ },
+ output: {
+ 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-react/src/main.tsx b/ui/app/custom-react/src/main.tsx
new file mode 100644
index 000000000..c905efc99
--- /dev/null
+++ b/ui/app/custom-react/src/main.tsx
@@ -0,0 +1,35 @@
+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";
+
+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: MANAGER_URL ?? "",
+ autoLogin: true
+};
+
+/**
+ * Initialize the Manager connection.
+ * Afterward, we can start rendering the React DOM UI.
+ */
+manager.init(managerConfig).then(() => {
+
+ /**
+ * Render your React application to the DOM.
+ */
+ ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render(
+
+
+
+ );
+});
diff --git a/ui/app/custom-react/src/react-env.d.ts b/ui/app/custom-react/src/react-env.d.ts
new file mode 100644
index 000000000..49c347bae
--- /dev/null
+++ b/ui/app/custom-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-react/tsconfig.json b/ui/app/custom-react/tsconfig.json
new file mode 100644
index 000000000..3c7419370
--- /dev/null
+++ b/ui/app/custom-react/tsconfig.json
@@ -0,0 +1,22 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "lib": ["DOM", "ES2020"],
+ "module": "ESNext",
+ "jsx": "react-jsx",
+ "strict": true,
+ "noEmit": true,
+ "skipLibCheck": true,
+ "isolatedModules": true,
+ "resolveJsonModule": true,
+ "moduleResolution": "bundler",
+ "useDefineForClassFields": true,
+ "allowImportingTsExtensions": true
+ },
+ "include": ["src"],
+ "ts-node": {
+ "compilerOptions": {
+ "module": "CommonJS"
+ }
+ }
+}
diff --git a/yarn.lock b/yarn.lock
index 323ed0a6d..846dacca4 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"
@@ -1509,7 +1553,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 +1584,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"
@@ -2373,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"
@@ -2383,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"
@@ -2393,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"
@@ -2404,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"
@@ -2411,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"
@@ -2421,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"
@@ -2432,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"
@@ -2481,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:
@@ -2498,6 +2618,26 @@ __metadata:
languageName: node
linkType: hard
+"@openremote/custom-react@workspace:ui/app/custom-react":
+ 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"
+ "@rspack/cli": "npm:^1.5.8"
+ "@rspack/core": "npm:^1.5.8"
+ "@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.9.3"
+ languageName: unknown
+ linkType: soft
+
"@openremote/custom@workspace:ui/app/custom":
version: 0.0.0-use.local
resolution: "@openremote/custom@workspace:ui/app/custom"
@@ -2556,7 +2696,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
@@ -2820,7 +2960,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:
@@ -3037,6 +3177,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"
@@ -3044,6 +3191,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"
@@ -3051,6 +3205,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"
@@ -3058,6 +3219,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"
@@ -3065,6 +3233,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"
@@ -3072,6 +3247,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"
@@ -3081,6 +3263,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"
@@ -3088,6 +3279,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"
@@ -3095,6 +3293,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"
@@ -3102,6 +3307,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"
@@ -3141,6 +3353,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"
@@ -3161,6 +3431,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"
@@ -3177,7 +3463,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:
@@ -3199,6 +3485,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.10.0":
version: 0.10.0
resolution: "@tybys/wasm-util@npm:0.10.0"
@@ -3208,6 +3522,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"
@@ -3486,6 +3809,24 @@ __metadata:
languageName: node
linkType: hard
+"@types/react-dom@npm:^19.2.2":
+ version: 19.2.2
+ resolution: "@types/react-dom@npm:19.2.2"
+ peerDependencies:
+ "@types/react": ^19.2.0
+ checksum: 10/73d5671e57ab73cb3f2acd7992faee8f90d5b4d155b972e76e91fa13e5871ebb5e224960b05039d57ea502cb3370746eb98beda5fa44e9712b4aee52653c237a
+ languageName: node
+ linkType: hard
+
+"@types/react@npm:^19.2.2":
+ version: 19.2.2
+ resolution: "@types/react@npm:19.2.2"
+ dependencies:
+ csstype: "npm:^3.0.2"
+ checksum: 10/d6adf8fd4bb23a7e04da5700d96b15dc0f59653727a9c6e940c151d7232fa1dbbab98417d5ac830dcfb6cba3f206efbd4cd83647e6f9a688d7363a90e607f6bf
+ languageName: node
+ linkType: hard
+
"@types/retry@npm:0.12.0":
version: 0.12.0
resolution: "@types/retry@npm:0.12.0"
@@ -3987,7 +4328,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn-walk@npm:^8.0.0":
+"acorn-walk@npm:^8.0.0, acorn-walk@npm:^8.1.1":
version: 8.3.4
resolution: "acorn-walk@npm:8.3.4"
dependencies:
@@ -4005,7 +4346,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.0.4, acorn@npm:^8.11.0":
+"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:
@@ -4158,6 +4499,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"
@@ -4914,6 +5262,26 @@ __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:^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"
@@ -4946,6 +5314,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"
@@ -4999,6 +5378,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"
@@ -5173,6 +5559,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"
@@ -7760,6 +8153,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"
@@ -8680,6 +9080,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"
@@ -8946,6 +9353,31 @@ __metadata:
languageName: node
linkType: hard
+"react-dom@npm:^19.2.0":
+ version: 19.2.0
+ resolution: "react-dom@npm:19.2.0"
+ dependencies:
+ scheduler: "npm:^0.27.0"
+ peerDependencies:
+ react: ^19.2.0
+ checksum: 10/3dbba071b9b1e7a19eae55f05c100f6b44f88c0aee72397d719ae338248ca66ed5028e6964c1c14870cc3e1abcecc91b22baba6dc2072f819dea81a9fd72f2fd
+ languageName: node
+ linkType: hard
+
+"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:^19.2.0":
+ version: 19.2.0
+ resolution: "react@npm:19.2.0"
+ checksum: 10/e13bcdb8e994c3cfa922743cb75ca8deb60531bf02f584d2d8dab940a8132ce8a2e6ef16f8ed7f372b4072e7a7eeff589b2812dabbedfa73e6e46201dac8a9d0
+ languageName: node
+ linkType: hard
+
"readable-stream@npm:^2.0.1":
version: 2.3.8
resolution: "readable-stream@npm:2.3.8"
@@ -9370,6 +9802,13 @@ __metadata:
languageName: node
linkType: hard
+"scheduler@npm:^0.27.0":
+ version: 0.27.0
+ resolution: "scheduler@npm:0.27.0"
+ checksum: 10/eab3c3a8373195173e59c147224fc30dabe6dd453f248f5e610e8458512a5a2ee3a06465dc400ebfe6d35c9f5b7f3bb6b2e41c88c86fd177c25a73e7286a1e06
+ languageName: node
+ linkType: hard
+
"schema-utils@npm:2.7.0":
version: 2.7.0
resolution: "schema-utils@npm:2.7.0"
@@ -10271,6 +10710,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"
@@ -10410,6 +10887,16 @@ __metadata:
languageName: node
linkType: hard
+"typescript@npm:^5.9.3":
+ version: 5.9.3
+ resolution: "typescript@npm:5.9.3"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 10/c089d9d3da2729fd4ac517f9b0e0485914c4b3c26f80dc0cffcb5de1719a17951e92425d55db59515c1a7ddab65808466debb864d0d56dcf43f27007d0709594
+ 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=5adc0c"
@@ -10420,6 +10907,16 @@ __metadata:
languageName: node
linkType: hard
+"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/696e1b017bc2635f4e0c94eb4435357701008e2f272f553d06e35b494b8ddc60aa221145e286c28ace0c89ee32827a28c2040e3a69bdc108b1a5dc8fb40b72e3
+ 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"
@@ -10590,6 +11087,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"
@@ -11111,6 +11615,13 @@ __metadata:
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"