diff --git a/frontend/libs/tauri-utils/.babelrc b/frontend/libs/tauri-utils/.babelrc
new file mode 100644
index 0000000000..1ea870ead4
--- /dev/null
+++ b/frontend/libs/tauri-utils/.babelrc
@@ -0,0 +1,12 @@
+{
+ "presets": [
+ [
+ "@nx/react/babel",
+ {
+ "runtime": "automatic",
+ "useBuiltIns": "usage"
+ }
+ ]
+ ],
+ "plugins": []
+}
diff --git a/frontend/libs/tauri-utils/.eslintrc.json b/frontend/libs/tauri-utils/.eslintrc.json
new file mode 100644
index 0000000000..def19dc990
--- /dev/null
+++ b/frontend/libs/tauri-utils/.eslintrc.json
@@ -0,0 +1,36 @@
+{
+ "extends": [
+ "plugin:@nx/react",
+ "../../.eslintrc.json"
+ ],
+ "ignorePatterns": [
+ "!**/*",
+ "**/vite.config.*.timestamp*",
+ "**/vitest.config.*.timestamp*"
+ ],
+ "overrides": [
+ {
+ "files": [
+ "*.ts",
+ "*.tsx",
+ "*.js",
+ "*.jsx"
+ ],
+ "rules": {}
+ },
+ {
+ "files": [
+ "*.ts",
+ "*.tsx"
+ ],
+ "rules": {}
+ },
+ {
+ "files": [
+ "*.js",
+ "*.jsx"
+ ],
+ "rules": {}
+ }
+ ]
+}
diff --git a/frontend/libs/tauri-utils/README.md b/frontend/libs/tauri-utils/README.md
new file mode 100644
index 0000000000..f1cd76b840
--- /dev/null
+++ b/frontend/libs/tauri-utils/README.md
@@ -0,0 +1,7 @@
+# @frontend/tauri-utils
+
+This library was generated with [Nx](https://nx.dev).
+
+## Running unit tests
+
+Run `nx test @frontend/tauri-utils` to execute the unit tests via [Vitest](https://vitest.dev/).
diff --git a/frontend/libs/tauri-utils/package.json b/frontend/libs/tauri-utils/package.json
new file mode 100644
index 0000000000..777a6bbf6f
--- /dev/null
+++ b/frontend/libs/tauri-utils/package.json
@@ -0,0 +1,17 @@
+{
+ "name": "@frontend/tauri-utils",
+ "version": "0.0.1",
+ "type": "module",
+ "main": "./dist/index.js",
+ "module": "./dist/index.js",
+ "types": "./dist/index.d.ts",
+ "exports": {
+ "./package.json": "./package.json",
+ ".": {
+ "development": "./src/index.ts",
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.js",
+ "default": "./dist/index.js"
+ }
+ }
+}
diff --git a/frontend/libs/tauri-utils/src/index.ts b/frontend/libs/tauri-utils/src/index.ts
new file mode 100644
index 0000000000..ec59dd9ca5
--- /dev/null
+++ b/frontend/libs/tauri-utils/src/index.ts
@@ -0,0 +1,2 @@
+
+export * from './lib/tauri-utils';
diff --git a/frontend/libs/tauri-utils/src/lib/tauri-utils.module.css b/frontend/libs/tauri-utils/src/lib/tauri-utils.module.css
new file mode 100644
index 0000000000..d0246c74b9
--- /dev/null
+++ b/frontend/libs/tauri-utils/src/lib/tauri-utils.module.css
@@ -0,0 +1,7 @@
+/*
+ * Replace this with your own classes
+ *
+ * e.g.
+ * .container {
+ * }
+*/
\ No newline at end of file
diff --git a/frontend/libs/tauri-utils/src/lib/tauri-utils.spec.tsx b/frontend/libs/tauri-utils/src/lib/tauri-utils.spec.tsx
new file mode 100644
index 0000000000..bfd158c5ff
--- /dev/null
+++ b/frontend/libs/tauri-utils/src/lib/tauri-utils.spec.tsx
@@ -0,0 +1,12 @@
+import { render } from '@testing-library/react';
+
+import TauriUtils from './tauri-utils';
+
+describe('TauriUtils', () => {
+
+ it('should render successfully', () => {
+ const { baseElement } = render();
+ expect(baseElement).toBeTruthy();
+ });
+
+});
diff --git a/frontend/libs/tauri-utils/src/lib/tauri-utils.tsx b/frontend/libs/tauri-utils/src/lib/tauri-utils.tsx
new file mode 100644
index 0000000000..83e34b5c7e
--- /dev/null
+++ b/frontend/libs/tauri-utils/src/lib/tauri-utils.tsx
@@ -0,0 +1,15 @@
+
+import styles from './tauri-utils.module.css';
+
+export function TauriUtils() {
+ return (
+
+
Welcome to TauriUtils!
+
+ );
+}
+
+export default TauriUtils;
+
+
+
diff --git a/frontend/libs/tauri-utils/src/server.ts b/frontend/libs/tauri-utils/src/server.ts
new file mode 100644
index 0000000000..82a91ac5e2
--- /dev/null
+++ b/frontend/libs/tauri-utils/src/server.ts
@@ -0,0 +1 @@
+// This file should be used to export ONLY server-code from the library.
\ No newline at end of file
diff --git a/frontend/libs/tauri-utils/src/test-setup.ts b/frontend/libs/tauri-utils/src/test-setup.ts
new file mode 100644
index 0000000000..59f7836d9c
--- /dev/null
+++ b/frontend/libs/tauri-utils/src/test-setup.ts
@@ -0,0 +1,3 @@
+import { installGlobals } from '@remix-run/node';
+import "@testing-library/jest-dom/matchers";
+installGlobals();
\ No newline at end of file
diff --git a/frontend/libs/tauri-utils/tsconfig.json b/frontend/libs/tauri-utils/tsconfig.json
new file mode 100644
index 0000000000..8c5fc025ff
--- /dev/null
+++ b/frontend/libs/tauri-utils/tsconfig.json
@@ -0,0 +1,13 @@
+{
+ "files": [],
+ "include": [],
+ "references": [
+ {
+ "path": "./tsconfig.lib.json"
+ },
+ {
+ "path": "./tsconfig.spec.json"
+ }
+ ],
+ "extends": "../../tsconfig.base.json"
+}
diff --git a/frontend/libs/tauri-utils/tsconfig.lib.json b/frontend/libs/tauri-utils/tsconfig.lib.json
new file mode 100644
index 0000000000..c43e2edbaa
--- /dev/null
+++ b/frontend/libs/tauri-utils/tsconfig.lib.json
@@ -0,0 +1,48 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "outDir": "dist",
+ "types": [
+ "node",
+ "@nx/react/typings/cssmodule.d.ts",
+ "@nx/react/typings/image.d.ts",
+ "vite/client"
+ ],
+ "rootDir": "src",
+ "jsx": "react-jsx",
+ "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo"
+ },
+ "exclude": [
+ "out-tsc",
+ "dist",
+ "**/*.spec.ts",
+ "**/*.test.ts",
+ "**/*.spec.tsx",
+ "**/*.test.tsx",
+ "**/*.spec.js",
+ "**/*.test.js",
+ "**/*.spec.jsx",
+ "**/*.test.jsx",
+ "vite.config.ts",
+ "vite.config.mts",
+ "vitest.config.ts",
+ "vitest.config.mts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.test.tsx",
+ "src/**/*.spec.tsx",
+ "src/**/*.test.js",
+ "src/**/*.spec.js",
+ "src/**/*.test.jsx",
+ "src/**/*.spec.jsx",
+ "eslint.config.js",
+ "eslint.config.cjs",
+ "eslint.config.mjs"
+ ],
+ "include": [
+ "src/**/*.js",
+ "src/**/*.jsx",
+ "src/**/*.ts",
+ "src/**/*.tsx"
+ ]
+}
diff --git a/frontend/libs/tauri-utils/tsconfig.spec.json b/frontend/libs/tauri-utils/tsconfig.spec.json
new file mode 100644
index 0000000000..c1faced82c
--- /dev/null
+++ b/frontend/libs/tauri-utils/tsconfig.spec.json
@@ -0,0 +1,34 @@
+{
+ "extends": "../../tsconfig.base.json",
+ "compilerOptions": {
+ "outDir": "./out-tsc/vitest",
+ "types": [
+ "vitest/globals",
+ "vitest/importMeta",
+ "vite/client",
+ "node",
+ "vitest"
+ ],
+ "jsx": "react-jsx"
+ },
+ "include": [
+ "vite.config.ts",
+ "vite.config.mts",
+ "vitest.config.ts",
+ "vitest.config.mts",
+ "src/**/*.test.ts",
+ "src/**/*.spec.ts",
+ "src/**/*.test.tsx",
+ "src/**/*.spec.tsx",
+ "src/**/*.test.js",
+ "src/**/*.spec.js",
+ "src/**/*.test.jsx",
+ "src/**/*.spec.jsx",
+ "src/**/*.d.ts"
+ ],
+ "references": [
+ {
+ "path": "./tsconfig.lib.json"
+ }
+ ]
+}
diff --git a/frontend/libs/tauri-utils/vite.config.ts b/frontend/libs/tauri-utils/vite.config.ts
new file mode 100644
index 0000000000..025858dca3
--- /dev/null
+++ b/frontend/libs/tauri-utils/vite.config.ts
@@ -0,0 +1,49 @@
+///
+import { defineConfig } from 'vite';
+import react from '@vitejs/plugin-react';
+import dts from 'vite-plugin-dts';
+import * as path from 'path';
+
+export default defineConfig(() => ({
+root: __dirname,
+cacheDir: '../../node_modules/.vite/libs/tauri-utils',
+plugins: [react(), dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json') })],
+// Uncomment this if you are using workers.
+// worker: {
+// plugins: [ nxViteTsPaths() ],
+// },
+// Configuration for building your library.
+// See: https://vitejs.dev/guide/build.html#library-mode
+build: {
+outDir: './dist',
+emptyOutDir: true,
+reportCompressedSize: true,
+commonjsOptions: {
+transformMixedEsModules: true,
+},
+lib: {
+// Could also be a dictionary or array of multiple entry points.
+entry: 'src/index.ts',
+name: '@frontend/tauri-utils',
+fileName: 'index',
+// Change this to the formats you want to support.
+// Don't forget to update your package.json as well.
+formats: ['es' as const]
+},
+rollupOptions: {
+// External packages that should not be bundled into your library.
+external: ['react','react-dom','react/jsx-runtime']
+},
+},
+test: {setupFiles: ['./src/test-setup.ts'],
+watch: false,
+globals: true,
+environment: 'jsdom',
+include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
+reporters: ['default'],
+coverage: {
+reportsDirectory: './test-output/vitest/coverage',
+provider: 'v8' as const,
+}
+},
+}));
\ No newline at end of file
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index 22015da038..b2ce544df8 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -603,6 +603,7 @@
"version": "18.3.20",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.20.tgz",
"integrity": "sha512-IPaCZN7PShZK/3t6Q87pfTkRm6oLTd4vztyoj+cbHUF1g3FfVb2tFIL79uCRKEfv16AhqDMBywP2VW3KIZUvcg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
"@types/prop-types": "*",
@@ -613,6 +614,7 @@
"version": "18.3.6",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.6.tgz",
"integrity": "sha512-nf22//wEbKXusP6E9pfOCDwFdHAX4u172eaJI4YkDRQEZiorm6KfYnSC2SWLDMVWUOWPERmJnN0ujeAfTBLvrw==",
+ "dev": true,
"license": "MIT",
"peerDependencies": {
"@types/react": "^18.0.0"
@@ -2041,6 +2043,10 @@
"name": "@frontend/login",
"version": "0.0.1"
},
+ "libs/tauri-utils": {
+ "name": "@frontend/tauri-utils",
+ "version": "0.0.1"
+ },
"node_modules/@adobe/css-tools": {
"version": "4.4.2",
"resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.2.tgz",
@@ -4759,6 +4765,10 @@
"resolved": "apps/my-app",
"link": true
},
+ "node_modules/@frontend/tauri-utils": {
+ "resolved": "libs/tauri-utils",
+ "link": true
+ },
"node_modules/@headlessui/react": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/@headlessui/react/-/react-2.2.2.tgz",
@@ -5112,7 +5122,7 @@
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.5",
@@ -11383,7 +11393,7 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
"integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
"node_modules/@types/prop-types": {
@@ -14032,7 +14042,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
"integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.12.5",
@@ -14048,7 +14058,7 @@
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"@types/parse-json": "^4.0.0",
@@ -14065,7 +14075,7 @@
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
"integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "devOptional": true,
+ "dev": true,
"license": "ISC",
"engines": {
"node": ">= 6"
@@ -14530,7 +14540,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
@@ -16157,7 +16167,7 @@
"version": "0.1.13",
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
"integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"iconv-lite": "^0.6.2"
@@ -16244,7 +16254,7 @@
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-arrayish": "^0.2.1"
@@ -18740,7 +18750,7 @@
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz",
"integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"resolve-pkg-maps": "^1.0.0"
@@ -19347,7 +19357,7 @@
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -19402,7 +19412,7 @@
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"parent-module": "^1.0.0",
@@ -19557,7 +19567,7 @@
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
"node_modules/is-async-function": {
@@ -20390,7 +20400,7 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"bin": {
"jiti": "lib/jiti-cli.mjs"
@@ -20534,7 +20544,7 @@
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
"node_modules/json-schema-traverse": {
@@ -26434,7 +26444,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
"integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"callsites": "^3.0.0"
@@ -26471,7 +26481,7 @@
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.0.0",
@@ -26490,7 +26500,7 @@
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
"node_modules/parse-ms": {
@@ -26572,7 +26582,7 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
"node_modules/path-scurry": {
@@ -26607,7 +26617,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=8"
@@ -28133,7 +28143,7 @@
"version": "1.22.8",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"is-core-module": "^2.13.0",
@@ -28165,7 +28175,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">=4"
@@ -28175,7 +28185,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
"integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
@@ -29569,7 +29579,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -29841,7 +29851,7 @@
"version": "5.39.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz",
"integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==",
- "devOptional": true,
+ "dev": true,
"license": "BSD-2-Clause",
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -29928,14 +29938,14 @@
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "devOptional": true,
+ "dev": true,
"license": "MIT"
},
"node_modules/terser/node_modules/source-map-support": {
"version": "0.5.21",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
"integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
@@ -30362,7 +30372,7 @@
"version": "4.19.3",
"resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz",
"integrity": "sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==",
- "devOptional": true,
+ "dev": true,
"license": "MIT",
"dependencies": {
"esbuild": "~0.25.0",
@@ -30385,12 +30395,12 @@
"cpu": [
"arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"android"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30402,12 +30412,12 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"android"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30419,12 +30429,12 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"android"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30436,12 +30446,12 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30453,12 +30463,12 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"darwin"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30470,12 +30480,12 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"freebsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30487,12 +30497,12 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"freebsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30504,12 +30514,12 @@
"cpu": [
"arm"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30521,12 +30531,12 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30538,12 +30548,12 @@
"cpu": [
"ia32"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30555,12 +30565,12 @@
"cpu": [
"loong64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30572,12 +30582,12 @@
"cpu": [
"mips64el"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30589,12 +30599,12 @@
"cpu": [
"ppc64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30606,12 +30616,12 @@
"cpu": [
"riscv64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30623,12 +30633,12 @@
"cpu": [
"s390x"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30640,12 +30650,12 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"linux"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30657,12 +30667,12 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"netbsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30674,12 +30684,12 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"openbsd"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30691,12 +30701,12 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"sunos"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30708,12 +30718,12 @@
"cpu": [
"arm64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30725,12 +30735,12 @@
"cpu": [
"ia32"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30742,12 +30752,12 @@
"cpu": [
"x64"
],
+ "dev": true,
"license": "MIT",
"optional": true,
"os": [
"win32"
],
- "peer": true,
"engines": {
"node": ">=18"
}
@@ -30756,7 +30766,7 @@
"version": "0.25.2",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz",
"integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==",
- "devOptional": true,
+ "dev": true,
"hasInstallScript": true,
"license": "MIT",
"bin": {
@@ -30920,7 +30930,7 @@
"version": "5.7.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz",
"integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==",
- "devOptional": true,
+ "dev": true,
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
diff --git a/frontend/tsconfig.base.json b/frontend/tsconfig.base.json
index 4521131b0f..05c9e50c8a 100644
--- a/frontend/tsconfig.base.json
+++ b/frontend/tsconfig.base.json
@@ -5,7 +5,9 @@
"emitDeclarationOnly": true,
"importHelpers": true,
"isolatedModules": true,
- "lib": ["es2022"],
+ "lib": [
+ "es2022"
+ ],
"module": "esnext",
"moduleResolution": "bundler",
"noEmitOnError": true,
@@ -16,10 +18,14 @@
"skipLibCheck": true,
"strict": true,
"target": "es2022",
- "customConditions": ["development"],
+ "customConditions": [
+ "development"
+ ],
"baseUrl": ".",
"paths": {
- "@frontend/login": ["libs/login/src/index.ts"]
+ "@frontend/login": [
+ "libs/login/src/index.ts"
+ ]
}
}
}
diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json
index 4b7cffca0a..6c8b911309 100644
--- a/frontend/tsconfig.json
+++ b/frontend/tsconfig.json
@@ -41,6 +41,9 @@
},
{
"path": "./libs/components/tooltip"
+ },
+ {
+ "path": "./libs/tauri-utils"
}
]
}