From d97ecb18e14088bfa55972511905de839d2bc829 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Jim=C3=A9nez=20Rivera?= Date: Wed, 11 Feb 2026 22:54:12 +0100 Subject: [PATCH 1/3] Update electron and node version --- .github/workflows/windows-build-release.yml | 2 +- .github/workflows/windows-find-deadcode.yml | 2 +- .github/workflows/windows-pull-request.yml | 2 +- .github/workflows/windows-sonar-analysis.yml | 2 +- package-lock.json | 1966 +++++++++++------- package.json | 50 +- 6 files changed, 1292 insertions(+), 732 deletions(-) diff --git a/.github/workflows/windows-build-release.yml b/.github/workflows/windows-build-release.yml index af694f0df3..90b1500e5c 100644 --- a/.github/workflows/windows-build-release.yml +++ b/.github/workflows/windows-build-release.yml @@ -20,7 +20,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Create .env file shell: bash diff --git a/.github/workflows/windows-find-deadcode.yml b/.github/workflows/windows-find-deadcode.yml index 7c6aa896b5..20d690f13b 100644 --- a/.github/workflows/windows-find-deadcode.yml +++ b/.github/workflows/windows-find-deadcode.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Install dependencies run: npm run init:ci diff --git a/.github/workflows/windows-pull-request.yml b/.github/workflows/windows-pull-request.yml index 2e40376e64..96c842b2c5 100644 --- a/.github/workflows/windows-pull-request.yml +++ b/.github/workflows/windows-pull-request.yml @@ -18,7 +18,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Install dependencies run: npm run init:ci diff --git a/.github/workflows/windows-sonar-analysis.yml b/.github/workflows/windows-sonar-analysis.yml index 387a4b23d0..b9ef701d9f 100644 --- a/.github/workflows/windows-sonar-analysis.yml +++ b/.github/workflows/windows-sonar-analysis.yml @@ -20,7 +20,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 - name: Install dependencies run: npm run init:ci diff --git a/package-lock.json b/package-lock.json index 931ec692a3..d4087f7b84 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@packages/addon": "file:packages/addon/packages-addon-1.0.0.tgz", "@phosphor-icons/react": "2.0.9", "@radix-ui/react-select": "^1.2.2", - "@tanstack/react-query": "^4.39.2", + "@tanstack/react-query": "^4.43.0", "archiver": "^7.0.1", "async": "^3.2.4", "better-sqlite3": "^11.10.0", @@ -27,7 +27,7 @@ "clsx": "^2.1.1", "dayjs": "^1.10.7", "electron-store": "^8.0.1", - "electron-updater": "^6.6.2", + "electron-updater": "^6.7.3", "framer-motion": "^5.6.0", "jwt-decode": "^3.1.2", "openapi-fetch": "^0.13.4", @@ -40,17 +40,17 @@ "react-router-dom": "^6.30.3", "reflect-metadata": "^0.1.13", "regenerator-runtime": "^0.13.9", - "socket.io-client": "^4.4.1", + "socket.io-client": "^4.8.3", "source-map-support": "^0.5.21", - "trash": "^10.0.1", - "typeorm": "^0.3.26", + "trash": "^10.1.0", + "typeorm": "^0.3.28", "zustand": "^4.5.7" }, "devDependencies": { "@internxt/eslint-config-internxt": "1.0.9", "@pmmmwh/react-refresh-webpack-plugin": "^0.6.1", "@svgr/webpack": "^6.1.2", - "@tanstack/eslint-plugin-query": "^4.39.1", + "@tanstack/eslint-plugin-query": "^4.43.0", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^12.1.5", "@testing-library/react-hooks": "^8.0.1", @@ -61,56 +61,56 @@ "@types/bytes": "^3.1.1", "@types/dotenv-webpack": "^7.0.3", "@types/jsonwebtoken": "^9.0.9", - "@types/node": "^20.19.0", - "@types/react": "^17.0.38", + "@types/node": "^22.19.11", + "@types/react": "^17.0.91", "@types/react-dom": "^17.0.11", "@types/uuid": "^8.3.4", "@types/webpack-bundle-analyzer": "^4.7.0", "@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/parser": "^5.8.1", "@vitest/coverage-istanbul": "3.0.8", - "autoprefixer": "^10.4.1", + "autoprefixer": "^10.4.24", "chalk": "^4.1.2", "concurrently": "^6.5.1", - "core-js": "^3.20.1", + "core-js": "^3.48.0", "cross-env": "^7.0.3", "css-loader": "^6.5.1", "css-minimizer-webpack-plugin": "^3.3.1", "dotenv": "^10.0.0", "dotenv-webpack": "^7.0.3", - "electron": "^29.4.6", - "electron-builder": "^26.0.12", + "electron": "^35.7.5", + "electron-builder": "^26.7.0", "electron-rebuild": "^3.2.9", "eslint": "^8.5.0", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^2.5.0", "eslint-import-resolver-webpack": "^0.13.2", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-prettier": "^5.4.1", + "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-react": "^7.28.0", "eslint-plugin-simple-import-sort": "^10.0.0", - "eslint-plugin-sonarjs": "^3.0.4", + "eslint-plugin-sonarjs": "^3.0.7", "eslint-plugin-unicorn": "^56.0.1", - "html-webpack-plugin": "^5.5.0", + "html-webpack-plugin": "^5.6.6", "husky": "^7.0.4", "jsdom": "^22.1.0", - "jsonwebtoken": "^9.0.2", - "knip": "^5.69.1", + "jsonwebtoken": "^9.0.3", + "knip": "^5.83.1", "lcov-result-merger": "^5.0.1", - "mini-css-extract-plugin": "^2.4.5", + "mini-css-extract-plugin": "^2.10.0", "ms": "^2.1.3", "node-loader": "^2.0.0", "nodemon": "^3.1.9", - "openapi-typescript": "^7.6.1", + "openapi-typescript": "^7.13.0", "postcss": "^8.4.5", "postcss-loader": "^6.2.1", - "prettier": "^3.5.1", + "prettier": "^3.8.1", "prettier-plugin-tailwindcss": "^0.6.14", "react-refresh": "^0.17.0", "rimraf": "^6.0.1", "sql.js": "^1.13.0", "style-loader": "^3.3.1", - "tailwindcss": "^3.3.3", + "tailwindcss": "^3.4.19", "terser-webpack-plugin": "^5.3.0", "ts-essentials": "^10.0.4", "ts-loader": "^9.2.6", @@ -122,15 +122,15 @@ "vite-tsconfig-paths": "^5.1.4", "vitest": "3.0.8", "vitest-mock-extended": "^2.0.2", - "webpack": "^5.105.0", + "webpack": "^5.105.1", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.2", + "webpack-dev-server": "^5.2.3", "webpack-merge": "^5.8.0", - "zod": "^4.1.13" + "zod": "^4.3.6" }, "engines": { - "node": ">=20.19.0", + "node": ">=22.0.0", "npm": ">=10.0.0" } }, @@ -155,13 +155,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" }, @@ -170,9 +170,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", "dev": true, "license": "MIT", "engines": { @@ -180,22 +180,21 @@ } }, "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", @@ -212,14 +211,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" @@ -242,13 +241,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.27.2", + "@babel/compat-data": "^7.28.6", "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -340,29 +339,29 @@ } }, "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -490,27 +489,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", - "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.5" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -1809,33 +1808,33 @@ } }, "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", "debug": "^4.3.1" }, "engines": { @@ -1843,9 +1842,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", - "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "dev": true, "license": "MIT", "dependencies": { @@ -1905,9 +1904,9 @@ } }, "node_modules/@electron/asar": { - "version": "3.2.18", - "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.18.tgz", - "integrity": "sha512-2XyvMe3N3Nrs8cV39IKELRHTYUWFKrmqqSY1U+GMlc0jvqjIVnoxhNd2H4JolWQncbJi1DCvb5TNxZuI2fEjWg==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.4.1.tgz", + "integrity": "sha512-i4/rNPRS84t0vSRa2HorerGRXWyF4vThfHesw0dmcWHp+cspK743UanA0suA5Q5y8kzY2y6YKrvbIUn69BCAiA==", "dev": true, "license": "MIT", "dependencies": { @@ -1926,7 +1925,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", "dependencies": { @@ -2033,88 +2032,6 @@ "global-agent": "^3.0.0" } }, - "node_modules/@electron/node-gyp": { - "version": "10.2.0-electron.1", - "resolved": "git+ssh://git@github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", - "integrity": "sha512-4MSBTT8y07YUDqf69/vSh80Hh791epYqGtWHO3zSKhYFwQg+gx9wi1PqbqP6YqC4WMsNxZ5l9oDmnWdK5pfCKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^8.1.0", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^10.2.1", - "nopt": "^6.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "tar": "^6.2.1", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/@electron/node-gyp/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@electron/node-gyp/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@electron/node-gyp/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@electron/node-gyp/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@electron/notarize": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", @@ -2170,9 +2087,9 @@ } }, "node_modules/@electron/osx-sign": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.1.tgz", - "integrity": "sha512-BAfviURMHpmb1Yb50YbCxnOY0wfwaLXH5KJ4+80zS0gUkzDX3ec23naTlEqKsN+PwYn+a1cCzM7BJ4Wcd3sGzw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-1.3.3.tgz", + "integrity": "sha512-KZ8mhXvWv2rIEgMbWZ4y33bDHyUKMXnx4M0sTyPNK/vcB81ImdeY9Ggdqy0SWbMDgmbqyQ+phgejh6V3R2QuSg==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -2243,32 +2160,88 @@ } }, "node_modules/@electron/rebuild": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz", - "integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.0.3.tgz", + "integrity": "sha512-u9vpTHRMkOYCs/1FLiSVAFZ7FbjsXK+bQuzviJZa+lG7BHZl1nz52/IcGvwa3sk80/fc3llutBkbCq10Vh8WQA==", "dev": true, "license": "MIT", "dependencies": { - "@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2", "@malept/cross-spawn-promise": "^2.0.0", - "chalk": "^4.0.0", "debug": "^4.1.1", "detect-libc": "^2.0.1", - "fs-extra": "^10.0.0", "got": "^11.7.0", - "node-abi": "^3.45.0", - "node-api-version": "^0.2.0", + "graceful-fs": "^4.2.11", + "node-abi": "^4.2.0", + "node-api-version": "^0.2.1", + "node-gyp": "^11.2.0", "ora": "^5.1.0", "read-binary-file-arch": "^1.0.6", "semver": "^7.3.5", - "tar": "^6.0.5", + "tar": "^7.5.6", "yargs": "^17.0.1" }, "bin": { "electron-rebuild": "lib/cli.js" }, "engines": { - "node": ">=12.13.0" + "node": ">=22.12.0" + } + }, + "node_modules/@electron/rebuild/node_modules/@npmcli/fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/abbrev": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/cacache": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, "node_modules/@electron/rebuild/node_modules/cliui": { @@ -2286,38 +2259,184 @@ "node": ">=12" } }, - "node_modules/@electron/rebuild/node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "node_modules/@electron/rebuild/node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">=12" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@electron/rebuild/node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "node_modules/@electron/rebuild/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/@electron/rebuild/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@electron/rebuild/node_modules/make-fetch-happen": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/@electron/rebuild/node_modules/minipass-fetch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" }, "optionalDependencies": { - "graceful-fs": "^4.1.6" + "encoding": "^0.1.13" + } + }, + "node_modules/@electron/rebuild/node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@electron/rebuild/node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@electron/rebuild/node_modules/node-abi": { + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.26.0.tgz", + "integrity": "sha512-8QwIZqikRvDIkXS2S93LjzhsSPJuIbfaMETWH+Bx8oOT9Sa9UsUtBFQlc3gBNd1+QINjaTloitXr1W3dQLi9Iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.6.3" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@electron/rebuild/node_modules/node-gyp": { + "version": "11.5.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.5.0.tgz", + "integrity": "sha512-ra7Kvlhxn5V9Slyus0ygMa2h+UqExPqUIkfk7Pc8QTLT956JLSy51uWFwHtIYy0vI8cB4BDhc/S03+880My/LQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/p-map": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz", + "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@electron/rebuild/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -2327,14 +2446,76 @@ "node": ">=10" } }, - "node_modules/@electron/rebuild/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/@electron/rebuild/node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, "engines": { - "node": ">= 10.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/tar": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", + "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@electron/rebuild/node_modules/unique-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/unique-slug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@electron/rebuild/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/@electron/rebuild/node_modules/wrap-ansi": { @@ -2355,6 +2536,16 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@electron/rebuild/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, "node_modules/@electron/rebuild/node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -2375,13 +2566,13 @@ } }, "node_modules/@electron/universal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.1.tgz", - "integrity": "sha512-fKpv9kg4SPmt+hY7SVBnIYULE9QJl8L3sCfcBsnqbJwwBwAeTLokJ9TRt9y7bK0JAzIW2y78TVVjvnQEms/yyA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@electron/universal/-/universal-2.0.3.tgz", + "integrity": "sha512-Wn9sPYIVFRFl5HmwMJkARCCf7rqK/EurkfQ/rJZ14mHP3iYTjZSIOSVonEAnhWeAXwtw7zOekGRlc6yTtZ0t+g==", "dev": true, "license": "MIT", "dependencies": { - "@electron/asar": "^3.2.7", + "@electron/asar": "^3.3.1", "@malept/cross-spawn-promise": "^2.0.0", "debug": "^4.3.1", "dir-compare": "^4.2.0", @@ -2404,9 +2595,9 @@ } }, "node_modules/@electron/universal/node_modules/fs-extra": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", - "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", "dev": true, "license": "MIT", "dependencies": { @@ -2464,6 +2655,7 @@ "dev": true, "license": "BSD-2-Clause", "optional": true, + "peer": true, "dependencies": { "cross-dirname": "^0.1.0", "debug": "^4.3.4", @@ -2479,12 +2671,13 @@ } }, "node_modules/@electron/windows-sign/node_modules/fs-extra": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", - "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.3.tgz", + "integrity": "sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==", "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -2501,6 +2694,7 @@ "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "universalify": "^2.0.0" }, @@ -2515,14 +2709,15 @@ "dev": true, "license": "MIT", "optional": true, + "peer": true, "engines": { "node": ">= 10.0.0" } }, "node_modules/@emnapi/core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", - "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", + "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", "dev": true, "license": "MIT", "optional": true, @@ -2532,9 +2727,9 @@ } }, "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", + "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", "dev": true, "license": "MIT", "optional": true, @@ -3363,9 +3558,9 @@ } }, "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", - "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz", + "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3442,6 +3637,19 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -3798,16 +4006,20 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.7.tgz", - "integrity": "sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", + "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.5.0", - "@emnapi/runtime": "^1.5.0", + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" } }, "node_modules/@noble/hashes": { @@ -3857,6 +4069,45 @@ "node": ">= 8" } }, + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/agent/node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/@npmcli/fs": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", @@ -3952,9 +4203,9 @@ } }, "node_modules/@oxc-resolver/binding-android-arm-eabi": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.14.0.tgz", - "integrity": "sha512-jB47iZ/thvhE+USCLv+XY3IknBbkKr/p7OBsQDTHode/GPw+OHRlit3NQ1bjt1Mj8V2CS7iHdSDYobZ1/0gagQ==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm-eabi/-/binding-android-arm-eabi-11.17.1.tgz", + "integrity": "sha512-+VuZyMYYaap5uDAU1xDU3Kul0FekLqpBS8kI5JozlWfYQKnc/HsZg2gHPkQrj0SC9lt74WMNCfOzZZJlYXSdEQ==", "cpu": [ "arm" ], @@ -3966,9 +4217,9 @@ ] }, "node_modules/@oxc-resolver/binding-android-arm64": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm64/-/binding-android-arm64-11.14.0.tgz", - "integrity": "sha512-XFJ9t7d/Cz+dWLyqtTy3Xrekz+qqN4hmOU2iOUgr7u71OQsPUHIIeS9/wKanEK0l413gPwapIkyc5x9ltlOtyw==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-android-arm64/-/binding-android-arm64-11.17.1.tgz", + "integrity": "sha512-YlDDTjvOEKhom/cRSVsXsMVeXVIAM9PJ/x2mfe08rfuS0iIEfJd8PngKbEIhG72WPxleUa+vkEZj9ncmC14z3Q==", "cpu": [ "arm64" ], @@ -3980,9 +4231,9 @@ ] }, "node_modules/@oxc-resolver/binding-darwin-arm64": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.14.0.tgz", - "integrity": "sha512-gwehBS9smA1mzK8frDsmUCHz+6baJVwkKF6qViHhoqA3kRKvIZ3k6WNP4JmF19JhOiGxRcoPa8gZRfzNgXwP2A==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-11.17.1.tgz", + "integrity": "sha512-HOYYLSY4JDk14YkXaz/ApgJYhgDP4KsG8EZpgpOxdszGW9HmIMMY/vXqVKYW74dSH+GQkIXYxBrEh3nv+XODVg==", "cpu": [ "arm64" ], @@ -3994,9 +4245,9 @@ ] }, "node_modules/@oxc-resolver/binding-darwin-x64": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.14.0.tgz", - "integrity": "sha512-5wwJvfuoahKiAqqAsMLOI28rqdh3P2K7HkjIWUXNMWAZq6ErX0L5rwJzu6T32+Zxw3k18C7R9IS4wDq/3Ar+6w==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-x64/-/binding-darwin-x64-11.17.1.tgz", + "integrity": "sha512-JHPJbsa5HvPq2/RIdtGlqfaG9zV2WmgvHrKTYmlW0L5esqtKCBuetFudXTBzkNcyD69kSZLzH92AzTr6vFHMFg==", "cpu": [ "x64" ], @@ -4008,9 +4259,9 @@ ] }, "node_modules/@oxc-resolver/binding-freebsd-x64": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.14.0.tgz", - "integrity": "sha512-MWTt+LOQNcQ6fa+Uu5VikkihLi1PSIrQqqp0QD44k2AORasNWl0jRGBTcMSBIgNe82qEQWYvlGzvOEEOBp01Og==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-freebsd-x64/-/binding-freebsd-x64-11.17.1.tgz", + "integrity": "sha512-UD1FRC8j8xZstFXYsXwQkNmmg7vUbee006IqxokwDUUA+xEgKZDpLhBEiVKM08Urb+bn7Q0gn6M1pyNR0ng5mg==", "cpu": [ "x64" ], @@ -4022,9 +4273,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-arm-gnueabihf": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.14.0.tgz", - "integrity": "sha512-b6/IBqYrS3o0XiLVBsnex/wK8pTTK+hbGfAMOHVU6p7DBpwPPLgC/tav4IXoOIUCssTFz7aWh/xtUok0swn8VQ==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-11.17.1.tgz", + "integrity": "sha512-wFWC1wyf2ROFWTxK5x0Enm++DSof3EBQ/ypyAesMDLiYxOOASDoMOZG1ylWUnlKaCt5W7eNOWOzABpdfFf/ssA==", "cpu": [ "arm" ], @@ -4036,9 +4287,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-arm-musleabihf": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-11.14.0.tgz", - "integrity": "sha512-o2Qh5+y5YoqVK6YfzkalHdpmQ5bkbGGxuLg1pZLQ1Ift0x+Vix7DaFEpdCl5Z9xvYXogd/TwOlL0TPl4+MTFLA==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-11.17.1.tgz", + "integrity": "sha512-k/hUif0GEBk/csSqCfTPXb8AAVs1NNWCa/skBghvNbTtORcWfOVqJ3mM+2pE189+enRm4UnryLREu5ysI0kXEQ==", "cpu": [ "arm" ], @@ -4050,9 +4301,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-arm64-gnu": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.14.0.tgz", - "integrity": "sha512-lk8mCSg0Tg4sEG73RiPjb7keGcEPwqQnBHX3Z+BR2SWe+qNHpoHcyFMNafzSvEC18vlxC04AUSoa6kJl/C5zig==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-11.17.1.tgz", + "integrity": "sha512-Cwm6A071ww60QouJ9LoHAwBgEoZzHQ0Qaqk2E7WLfBdiQN9mLXIDhnrpn04hlRElRPhLiu/dtg+o5PPLvaINXQ==", "cpu": [ "arm64" ], @@ -4064,9 +4315,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-arm64-musl": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.14.0.tgz", - "integrity": "sha512-KykeIVhCM7pn93ABa0fNe8vk4XvnbfZMELne2s6P9tdJH9KMBsCFBi7a2BmSdUtTqWCAJokAcm46lpczU52Xaw==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-arm64-musl/-/binding-linux-arm64-musl-11.17.1.tgz", + "integrity": "sha512-+hwlE2v3m0r3sk93SchJL1uyaKcPjf+NGO/TD2DZUDo+chXx7FfaEj0nUMewigSt7oZ2sQN9Z4NJOtUa75HE5Q==", "cpu": [ "arm64" ], @@ -4078,9 +4329,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-ppc64-gnu": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-11.14.0.tgz", - "integrity": "sha512-QqPPWAcZU/jHAuam4f3zV8OdEkYRPD2XR0peVet3hoMMgsihR3Lhe7J/bLclmod297FG0+OgBYQVMh2nTN6oWA==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-11.17.1.tgz", + "integrity": "sha512-bO+rsaE5Ox8cFyeL5Ct5tzot1TnQpFa/Wmu5k+hqBYSH2dNVDGoi0NizBN5QV8kOIC6O5MZr81UG4yW/2FyDTA==", "cpu": [ "ppc64" ], @@ -4092,9 +4343,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-riscv64-gnu": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.14.0.tgz", - "integrity": "sha512-DunWA+wafeG3hj1NADUD3c+DRvmyVNqF5LSHVUWA2bzswqmuEZXl3VYBSzxfD0j+UnRTFYLxf27AMptoMsepYg==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-11.17.1.tgz", + "integrity": "sha512-B/P+hxKQ1oX4YstI9Lyh4PGzqB87Ddqj/A4iyRBbPdXTcxa+WW3oRLx1CsJKLmHPdDk461Hmbghq1Bm3pl+8Aw==", "cpu": [ "riscv64" ], @@ -4106,9 +4357,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-riscv64-musl": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-11.14.0.tgz", - "integrity": "sha512-4SRvwKTTk2k67EQr9Ny4NGf/BhlwggCI1CXwBbA9IV4oP38DH8b+NAPxDY0ySGRsWbPkG92FYOqM4AWzG4GSgA==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-11.17.1.tgz", + "integrity": "sha512-ulp2H3bFXzd/th2maH+QNKj5qgOhJ3v9Yspdf1svTw3CDOuuTl6sRKsWQ7MUw0vnkSNvQndtflBwVXgzZvURsQ==", "cpu": [ "riscv64" ], @@ -4120,9 +4371,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-s390x-gnu": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.14.0.tgz", - "integrity": "sha512-hZKvkbsurj4JOom//R1Ab2MlC4cGeVm5zzMt4IsS3XySQeYjyMJ5TDZ3J5rQ8bVj3xi4FpJU2yFZ72GApsHQ6A==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-11.17.1.tgz", + "integrity": "sha512-LAXYVe3rKk09Zo9YKF2ZLBcH8sz8Oj+JIyiUxiHtq0hiYLMsN6dOpCf2hzQEjPAmsSEA/hdC1PVKeXo+oma8mQ==", "cpu": [ "s390x" ], @@ -4134,9 +4385,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-x64-gnu": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.14.0.tgz", - "integrity": "sha512-hABxQXFXJurivw+0amFdeEcK67cF1BGBIN1+sSHzq3TRv4RoG8n5q2JE04Le2n2Kpt6xg4Y5+lcv+rb2mCJLgQ==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-gnu/-/binding-linux-x64-gnu-11.17.1.tgz", + "integrity": "sha512-3RAhxipMKE8RCSPn7O//sj440i+cYTgYbapLeOoDvQEt6R1QcJjTsFgI4iz99FhVj3YbPxlZmcLB5VW+ipyRTA==", "cpu": [ "x64" ], @@ -4148,9 +4399,9 @@ ] }, "node_modules/@oxc-resolver/binding-linux-x64-musl": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.14.0.tgz", - "integrity": "sha512-Ln73wUB5migZRvC7obAAdqVwvFvk7AUs2JLt4g9QHr8FnqivlsjpUC9Nf2ssrybdjyQzEMjttUxPZz6aKPSAHw==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-linux-x64-musl/-/binding-linux-x64-musl-11.17.1.tgz", + "integrity": "sha512-wpjMEubGU8r9VjZTLdZR3aPHaBqTl8Jl8F4DBbgNoZ+yhkhQD1/MGvY70v2TLnAI6kAHSvcqgfvaqKDa2iWsPQ==", "cpu": [ "x64" ], @@ -4161,10 +4412,24 @@ "linux" ] }, + "node_modules/@oxc-resolver/binding-openharmony-arm64": { + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-openharmony-arm64/-/binding-openharmony-arm64-11.17.1.tgz", + "integrity": "sha512-XIE4w17RYAVIgx+9Gs3deTREq5tsmalbatYOOBGNdH7n0DfTE600c7wYXsp7ANc3BPDXsInnOzXDEPCvO1F6cg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@oxc-resolver/binding-wasm32-wasi": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.14.0.tgz", - "integrity": "sha512-z+NbELmCOKNtWOqEB5qDfHXOSWB3kGQIIehq6nHtZwHLzdVO2oBq6De/ayhY3ygriC1XhgaIzzniY7jgrNl4Kw==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-wasm32-wasi/-/binding-wasm32-wasi-11.17.1.tgz", + "integrity": "sha512-Lqi5BlHX3zS4bpSOkIbOKVf7DIk6Gvmdifr2OuOI58eUUyP944M8/OyaB09cNpPy9Vukj7nmmhOzj8pwLgAkIg==", "cpu": [ "wasm32" ], @@ -4172,16 +4437,16 @@ "license": "MIT", "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^1.0.7" + "@napi-rs/wasm-runtime": "^1.1.1" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@oxc-resolver/binding-win32-arm64-msvc": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.14.0.tgz", - "integrity": "sha512-Ft0+qd7HSO61qCTLJ4LCdBGZkpKyDj1rG0OVSZL1DxWQoh97m7vEHd7zAvUtw8EcWjOMBQuX4mfRap/x2MOCpQ==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-11.17.1.tgz", + "integrity": "sha512-l6lTcLBQVj1HNquFpXSsrkCIM8X5Hlng5YNQJrg00z/KyovvDV5l3OFhoRyZ+aLBQ74zUnMRaJZC7xcBnHyeNg==", "cpu": [ "arm64" ], @@ -4193,9 +4458,9 @@ ] }, "node_modules/@oxc-resolver/binding-win32-ia32-msvc": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-11.14.0.tgz", - "integrity": "sha512-o54jYNSfGdPxHSvXEhZg8FOV3K99mJ1f7hb1alRFb+Yec1GQXNrJXxZPIxNMYeFT13kwAWB7zuQ0HZLnDHFxfw==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-11.17.1.tgz", + "integrity": "sha512-VTzVtfnCCsU/6GgvursWoyZrhe3Gj/RyXzDWmh4/U1Y3IW0u1FZbp+hCIlBL16pRPbDc5YvXVtCOnA41QOrOoQ==", "cpu": [ "ia32" ], @@ -4207,9 +4472,9 @@ ] }, "node_modules/@oxc-resolver/binding-win32-x64-msvc": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.14.0.tgz", - "integrity": "sha512-j97icaORyM6A7GjgmUzfn7V+KGzVvctRA+eAlJb0c2OQNaETFxl6BXZdnGBDb+6oA0Y4Sr/wnekd1kQ0aVyKGg==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-win32-x64-msvc/-/binding-win32-x64-msvc-11.17.1.tgz", + "integrity": "sha512-jRPVU+6/12baj87q2+UGRh30FBVBzqKdJ7rP/mSqiL1kpNQB9yZ1j0+m3sru1m+C8hiFK7lBFwjUtYUBI7+UpQ==", "cpu": [ "x64" ], @@ -4226,6 +4491,172 @@ "integrity": "sha512-j0pOnm3US50y1NqMvQxEbnUCoMbJqljFEgSf1wZmSZLdWafO3QE8g7qfgmRmlm4dtevXno5XrNkLn42BaEXMSA==", "license": "MIT" }, + "node_modules/@peculiar/asn1-cms": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.6.0.tgz", + "integrity": "sha512-2uZqP+ggSncESeUF/9Su8rWqGclEfEiz1SyU02WX5fUONFfkjzS2Z/F1Li0ofSmf4JqYXIOdCAZqIXAIBAT1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "@peculiar/asn1-x509-attr": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-csr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.6.0.tgz", + "integrity": "sha512-BeWIu5VpTIhfRysfEp73SGbwjjoLL/JWXhJ/9mo4vXnz3tRGm+NGm3KNcRzQ9VMVqwYS2RHlolz21svzRXIHPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-ecc": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.6.0.tgz", + "integrity": "sha512-FF3LMGq6SfAOwUG2sKpPXblibn6XnEIKa+SryvUl5Pik+WR9rmRA3OCiwz8R3lVXnYnyRkSZsSLdml8H3UiOcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pfx": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.6.0.tgz", + "integrity": "sha512-rtUvtf+tyKGgokHHmZzeUojRZJYPxoD/jaN1+VAB4kKR7tXrnDCA/RAWXAIhMJJC+7W27IIRGe9djvxKgsldCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-pkcs8": "^2.6.0", + "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs8": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.6.0.tgz", + "integrity": "sha512-KyQ4D8G/NrS7Fw3XCJrngxmjwO/3htnA0lL9gDICvEQ+GJ+EPFqldcJQTwPIdvx98Tua+WjkdKHSC0/Km7T+lA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs9": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.6.0.tgz", + "integrity": "sha512-b78OQ6OciW0aqZxdzliXGYHASeCvvw5caqidbpQRYW2mBtXIX2WhofNXTEe7NyxTb0P6J62kAAWLwn0HuMF1Fw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-pfx": "^2.6.0", + "@peculiar/asn1-pkcs8": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "@peculiar/asn1-x509-attr": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-rsa": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.6.0.tgz", + "integrity": "sha512-Nu4C19tsrTsCp9fDrH+sdcOKoVfdfoQQ7S3VqjJU6vedR7tY3RLkQ5oguOIB3zFW33USDUuYZnPEQYySlgha4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.6.0.tgz", + "integrity": "sha512-xNLYLBFTBKkCzEZIw842BxytQQATQv+lDTCEMZ8C196iJcJJMBUZxrhSTxLaohMyKK8QlzRNTRkUmanucnDSqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.6.0.tgz", + "integrity": "sha512-uzYbPEpoQiBoTq0/+jZtpM6Gq6zADBx+JNFP3yqRgziWBxQ/Dt/HcuvRfm9zJTPdRcBqPNdaRHTVwpyiq6iNMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "asn1js": "^3.0.6", + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509-attr": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.6.0.tgz", + "integrity": "sha512-MuIAXFX3/dc8gmoZBkwJWxUWOSvG4MMDntXhrOZpJVMkYX+MYc/rUAU2uJOved9iJEoiUx7//3D8oG83a78UJA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/x509": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", + "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-csr": "^2.6.0", + "@peculiar/asn1-ecc": "^2.6.0", + "@peculiar/asn1-pkcs9": "^2.6.0", + "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "pvtsutils": "^1.3.6", + "reflect-metadata": "^0.2.2", + "tslib": "^2.8.1", + "tsyringe": "^4.10.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@peculiar/x509/node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/@phosphor-icons/react": { "version": "2.0.9", "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.0.9.tgz", @@ -4839,9 +5270,9 @@ } }, "node_modules/@redocly/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-EDtsGZS964mf9zAUXAl9Ew16eYbeyAFWhsPr0fX6oaJxgd8rApYlPBf0joyhnUHz88WxrigyFtTaqqzXNzPgqw==", + "version": "8.17.3", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.17.3.tgz", + "integrity": "sha512-NQsbJbB/GV7JVO88ebFkMndrnuGp/dTm5/2NISeg+JGcLzTfGBJZ01+V5zD8nKBOpi/dLLNFT+Ql6IcUk8ehng==", "dev": true, "license": "MIT", "dependencies": { @@ -4870,9 +5301,9 @@ "license": "MIT" }, "node_modules/@redocly/openapi-core": { - "version": "1.34.5", - "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.5.tgz", - "integrity": "sha512-0EbE8LRbkogtcCXU7liAyC00n9uNG9hJ+eMyHFdUsy9lB/WGqnEBgwjA9q2cyzAVcdTkQqTBBU1XePNnN3OijA==", + "version": "1.34.6", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.34.6.tgz", + "integrity": "sha512-2+O+riuIUgVSuLl3Lyh5AplWZyVMNuG2F98/o6NrutKJfW4/GTZdPpZlIphS0HGgcOHgmWcCSHj+dWFlZaGSHw==", "dev": true, "license": "MIT", "dependencies": { @@ -5482,7 +5913,6 @@ "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/core": "^7.19.6", "@svgr/babel-preset": "^6.5.1", @@ -5599,9 +6029,9 @@ } }, "node_modules/@tanstack/eslint-plugin-query": { - "version": "4.39.1", - "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-4.39.1.tgz", - "integrity": "sha512-5YDX4mdRC0hllHKp531CnScFWZU7aFrJ1aTyyuaB6+z0/i0JfcKuckSTYaji3vUk82GALM90eWwHFVRAch+7tQ==", + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/@tanstack/eslint-plugin-query/-/eslint-plugin-query-4.43.0.tgz", + "integrity": "sha512-p3TDn20K3tFA1F0h3GD/VQ3YGaiEQ0GEqhAVCw0PzXzBMOMFbTGxmevN7shXJS+vIuahNGNApTsOqzT3aWSbGQ==", "dev": true, "license": "MIT", "funding": { @@ -5613,9 +6043,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.41.0.tgz", - "integrity": "sha512-193R4Jp9hjvlij6LryxrB5Mpbffd2L9PeWh3KlIy/hJV4SkBOfiQZ+jc5qAZLDCrdbkA5FjGj+UoDYw6TcNnyA==", + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-4.43.0.tgz", + "integrity": "sha512-m1QeUUIpNXDYxmfuuWNFZLky0EwVmbE0hj8ulZ2nIGA1183raJgDCn0IKlxug80NotRqzodxAaoYTKHbE1/P/Q==", "license": "MIT", "funding": { "type": "github", @@ -5623,13 +6053,13 @@ } }, "node_modules/@tanstack/react-query": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.42.0.tgz", - "integrity": "sha512-j0tiofkzE3CSrYKmVRaKuwGgvCE+P2OOEDlhmfjeZf5ufcuFHwYwwgw3j08n4WYPVZ+OpsHblcFYezhKA3jDwg==", + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-4.43.0.tgz", + "integrity": "sha512-Lj8luFKHQL27oZbw5T8xdTbsfAPp2+bCtSCa2bAVvIwnvNfRP0hpB1GxfKFgCktat8lPcYBHAu8eMTXzz2sQtQ==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "4.41.0", - "use-sync-external-store": "^1.2.0" + "@tanstack/query-core": "4.43.0", + "use-sync-external-store": "^1.6.0" }, "funding": { "type": "github", @@ -5809,7 +6239,6 @@ "integrity": "sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@babel/generator": "^7.26.5", "@babel/parser": "^7.26.7", @@ -5984,7 +6413,6 @@ "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -6198,26 +6626,15 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.19.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.25.tgz", - "integrity": "sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==", + "version": "22.19.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.11.tgz", + "integrity": "sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "undici-types": "~6.21.0" } }, - "node_modules/@types/node-forge": { - "version": "1.3.14", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", - "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/normalize-package-data": { "version": "2.4.4", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", @@ -6266,12 +6683,11 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "17.0.90", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.90.tgz", - "integrity": "sha512-P9beVR/x06U9rCJzSxtENnOr4BrbJ6VrsrDTc+73TtHv9XHhryXKbjGRB+6oooB2r0G/pQkD/S4dHo/7jUfwFw==", + "version": "17.0.91", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.91.tgz", + "integrity": "sha512-xauZca6qMeCU3Moy0KxCM9jtf1vyk6qRYK39Ryf3afUqwgNUjRIGoDdS9BcGWgAMGSg1hvP4XcmlYrM66PtqeA==", "devOptional": true, "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "^0.16", @@ -6284,7 +6700,6 @@ "integrity": "sha512-Z+2VcYXJwOqQ79HreLU/1fyQ88eXSSFh6I3JdrEHQIfYSI0kCQpTGvOrbE6jFGGYXKsHuwY9tBa/w5Uo6KzrEg==", "devOptional": true, "license": "MIT", - "peer": true, "peerDependencies": { "@types/react": "^17.0.0" } @@ -6525,7 +6940,6 @@ "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -7174,7 +7588,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -7261,7 +7674,6 @@ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -7377,9 +7789,9 @@ } }, "node_modules/ansis": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz", - "integrity": "sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", "license": "ISC", "engines": { "node": ">=14" @@ -7427,52 +7839,112 @@ "license": "MIT" }, "node_modules/app-builder-lib": { - "version": "26.0.12", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.0.12.tgz", - "integrity": "sha512-+/CEPH1fVKf6HowBUs6LcAIoRcjeqgvAeoSE+cl7Y7LndyQ9ViGPYibNk7wmhMHzNgHIuIbw4nWADPO+4mjgWw==", + "version": "26.7.0", + "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-26.7.0.tgz", + "integrity": "sha512-/UgCD8VrO79Wv8aBNpjMfsS1pIUfIPURoRn0Ik6tMe5avdZF+vQgl/juJgipcMmH3YS0BD573lCdCHyoi84USg==", "dev": true, "license": "MIT", "dependencies": { "@develar/schema-utils": "~2.6.5", - "@electron/asar": "3.2.18", + "@electron/asar": "3.4.1", "@electron/fuses": "^1.8.0", + "@electron/get": "^3.0.0", "@electron/notarize": "2.5.0", - "@electron/osx-sign": "1.3.1", - "@electron/rebuild": "3.7.0", - "@electron/universal": "2.0.1", + "@electron/osx-sign": "1.3.3", + "@electron/rebuild": "^4.0.3", + "@electron/universal": "2.0.3", "@malept/flatpak-bundler": "^0.4.0", "@types/fs-extra": "9.0.13", "async-exit-hook": "^2.0.1", - "builder-util": "26.0.11", - "builder-util-runtime": "9.3.1", + "builder-util": "26.4.1", + "builder-util-runtime": "9.5.1", "chromium-pickle-js": "^0.2.0", - "config-file-ts": "0.2.8-rc1", + "ci-info": "4.3.1", "debug": "^4.3.4", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", "ejs": "^3.1.8", - "electron-publish": "26.0.11", + "electron-publish": "26.6.0", "fs-extra": "^10.1.0", "hosted-git-info": "^4.1.0", - "is-ci": "^3.0.0", "isbinaryfile": "^5.0.0", + "jiti": "^2.4.2", "js-yaml": "^4.1.0", "json5": "^2.2.3", "lazy-val": "^1.0.5", - "minimatch": "^10.0.0", + "minimatch": "^10.0.3", "plist": "3.1.0", + "proper-lockfile": "^4.1.2", "resedit": "^1.7.0", - "semver": "^7.3.8", - "tar": "^6.1.12", + "semver": "~7.7.3", + "tar": "^7.5.7", "temp-file": "^3.4.0", - "tiny-async-pool": "1.3.0" + "tiny-async-pool": "1.3.0", + "which": "^5.0.0" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "dmg-builder": "26.0.12", - "electron-builder-squirrel-windows": "26.0.12" + "dmg-builder": "26.7.0", + "electron-builder-squirrel-windows": "26.7.0" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-3.1.0.tgz", + "integrity": "sha512-F+nKc0xW+kVbBRhFzaMgPy3KwmuNTYX1fx6+FxxoSnNgwYX6LD7AKBTWkU0MQ6IBoe7dz069CNkR673sPAgkCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "got": "^11.8.5", + "progress": "^2.0.3", + "semver": "^6.2.0", + "sumchecker": "^3.0.1" + }, + "engines": { + "node": ">=14" + }, + "optionalDependencies": { + "global-agent": "^3.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/app-builder-lib/node_modules/@electron/get/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/app-builder-lib/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, "node_modules/app-builder-lib/node_modules/dotenv": { @@ -7503,7 +7975,7 @@ "node": ">=12" } }, - "node_modules/app-builder-lib/node_modules/jsonfile": { + "node_modules/app-builder-lib/node_modules/fs-extra/node_modules/jsonfile": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", @@ -7516,10 +7988,43 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/app-builder-lib/node_modules/fs-extra/node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/app-builder-lib/node_modules/isexe": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz", + "integrity": "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/app-builder-lib/node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, "node_modules/app-builder-lib/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -7529,14 +8034,47 @@ "node": ">=10" } }, - "node_modules/app-builder-lib/node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/app-builder-lib/node_modules/tar": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz", + "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": ">=18" + } + }, + "node_modules/app-builder-lib/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/app-builder-lib/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, "node_modules/app-root-path": { @@ -7845,6 +8383,21 @@ "safer-buffer": "^2.1.0" } }, + "node_modules/asn1js": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.7.tgz", + "integrity": "sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", @@ -7929,9 +8482,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.22", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.22.tgz", - "integrity": "sha512-ARe0v/t9gO28Bznv6GgqARmVqcWOV3mfgUPn9becPHMiD3o9BwlRgaeccZnwTpZ7Zwqrm+c1sUSsMxIzQzc8Xg==", + "version": "10.4.24", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.24.tgz", + "integrity": "sha512-uHZg7N9ULTVbutaIsDRoUkoS8/h3bdsmVJYZ5l3wv8Cp/6UIIoRDm90hZ+BwxUj/hGBEzLxdHNSKuFpn8WOyZw==", "dev": true, "funding": [ { @@ -7949,10 +8502,9 @@ ], "license": "MIT", "dependencies": { - "browserslist": "^4.27.0", - "caniuse-lite": "^1.0.30001754", + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001766", "fraction.js": "^5.3.4", - "normalize-range": "^0.1.2", "picocolors": "^1.1.1", "postcss-value-parser": "^4.2.0" }, @@ -8111,7 +8663,6 @@ "integrity": "sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ==", "hasInstallScript": true, "license": "MIT", - "peer": true, "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" @@ -8320,7 +8871,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -8382,23 +8932,22 @@ "license": "MIT" }, "node_modules/builder-util": { - "version": "26.0.11", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.0.11.tgz", - "integrity": "sha512-xNjXfsldUEe153h1DraD0XvDOpqGR0L5eKFkdReB7eFW5HqysDZFfly4rckda6y9dF39N3pkPlOblcfHKGw+uA==", + "version": "26.4.1", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-26.4.1.tgz", + "integrity": "sha512-FlgH43XZ50w3UtS1RVGDWOz8v9qMXPC7upMtKMtBEnYdt1OVoS61NYhKm/4x+cIaWqJTXua0+VVPI+fSPGXNIw==", "dev": true, "license": "MIT", "dependencies": { "@types/debug": "^4.1.6", "7zip-bin": "~5.2.0", "app-builder-bin": "5.0.0-alpha.12", - "builder-util-runtime": "9.3.1", + "builder-util-runtime": "9.5.1", "chalk": "^4.1.2", "cross-spawn": "^7.0.6", "debug": "^4.3.4", "fs-extra": "^10.1.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", - "is-ci": "^3.0.0", "js-yaml": "^4.1.0", "sanitize-filename": "^1.6.3", "source-map-support": "^0.5.19", @@ -8408,9 +8957,9 @@ } }, "node_modules/builder-util-runtime": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.3.1.tgz", - "integrity": "sha512-2/egrNDDnRaxVwK3A+cJq6UOlqOdedGA7JPqCeJjN2Zjk1/QB/6QUi3b714ScIGS7HafFXTyzJEOr5b44I3kvQ==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-9.5.1.tgz", + "integrity": "sha512-qt41tMfgHTllhResqM5DcnHyDIWNgzHvuY2jDcYP9iaGpkWxTUzV6GQjDeLnlR1/DtdlcsWQbA7sByMpmJFTLQ==", "license": "MIT", "dependencies": { "debug": "^4.3.4", @@ -8493,7 +9042,17 @@ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">= 0.8" + } + }, + "node_modules/bytestreamjs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", + "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=6.0.0" } }, "node_modules/cac": { @@ -9423,17 +9982,6 @@ "node": ">=10" } }, - "node_modules/config-file-ts": { - "version": "0.2.8-rc1", - "resolved": "https://registry.npmjs.org/config-file-ts/-/config-file-ts-0.2.8-rc1.tgz", - "integrity": "sha512-GtNECbVI82bT4RiDIzBSVuTKoSHufnU7Ce7/42bkWZJZFLjmDF2WBpVsvRkhKCfKBnTBb3qZrBwPpFBU/Myvhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "^10.3.12", - "typescript": "^5.4.3" - } - }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -9499,9 +10047,9 @@ "license": "MIT" }, "node_modules/core-js": { - "version": "3.47.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz", - "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", + "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -9611,7 +10159,8 @@ "integrity": "sha512-+R08/oI0nl3vfPcqftZRpytksBXDzOUveBq/NBVx0sUp1axwzPQrKinNx5yd5sxPu8j1wIy8AfnVQ+5eFdha6Q==", "dev": true, "license": "MIT", - "optional": true + "optional": true, + "peer": true }, "node_modules/cross-env": { "version": "7.0.3", @@ -10413,16 +10962,14 @@ "license": "MIT" }, "node_modules/dmg-builder": { - "version": "26.0.12", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.0.12.tgz", - "integrity": "sha512-59CAAjAhTaIMCN8y9kD573vDkxbs1uhDcrFLHSgutYdPcGOU35Rf95725snvzEOy4BFB7+eLJ8djCNPmGwG67w==", + "version": "26.7.0", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-26.7.0.tgz", + "integrity": "sha512-uOOBA3f+kW3o4KpSoMQ6SNpdXU7WtxlJRb9vCZgOvqhTz4b3GjcoWKstdisizNZLsylhTMv8TLHFPFW0Uxsj/g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "app-builder-lib": "26.0.12", - "builder-util": "26.0.11", - "builder-util-runtime": "9.3.1", + "app-builder-lib": "26.7.0", + "builder-util": "26.4.1", "fs-extra": "^10.1.0", "iconv-lite": "^0.6.2", "js-yaml": "^4.1.0" @@ -10784,15 +11331,15 @@ } }, "node_modules/electron": { - "version": "29.4.6", - "resolved": "https://registry.npmjs.org/electron/-/electron-29.4.6.tgz", - "integrity": "sha512-fz8ndj8cmmf441t4Yh2FDP3Rn0JhLkVGvtUf2YVMbJ5SdJPlc0JWll9jYkhh60jDKVVCr/tBAmfxqRnXMWJpzg==", + "version": "35.7.5", + "resolved": "https://registry.npmjs.org/electron/-/electron-35.7.5.tgz", + "integrity": "sha512-dnL+JvLraKZl7iusXTVTGYs10TKfzUi30uEDTqsmTm0guN9V2tbOjTzyIZbh9n3ygUjgEYyo+igAwMRXIi3IPw==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { "@electron/get": "^2.0.0", - "@types/node": "^20.9.0", + "@types/node": "^22.7.7", "extract-zip": "^2.0.1" }, "bin": { @@ -10803,19 +11350,19 @@ } }, "node_modules/electron-builder": { - "version": "26.0.12", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.0.12.tgz", - "integrity": "sha512-cD1kz5g2sgPTMFHjLxfMjUK5JABq3//J4jPswi93tOPFz6btzXYtK5NrDt717NRbukCUDOrrvmYVOWERlqoiXA==", + "version": "26.7.0", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-26.7.0.tgz", + "integrity": "sha512-LoXbCvSFxLesPneQ/fM7FB4OheIDA2tjqCdUkKlObV5ZKGhYgi5VHPHO/6UUOUodAlg7SrkPx7BZJPby+Vrtbg==", "dev": true, "license": "MIT", "dependencies": { - "app-builder-lib": "26.0.12", - "builder-util": "26.0.11", - "builder-util-runtime": "9.3.1", + "app-builder-lib": "26.7.0", + "builder-util": "26.4.1", + "builder-util-runtime": "9.5.1", "chalk": "^4.1.2", - "dmg-builder": "26.0.12", + "ci-info": "^4.2.0", + "dmg-builder": "26.7.0", "fs-extra": "^10.1.0", - "is-ci": "^3.0.0", "lazy-val": "^1.0.5", "simple-update-notifier": "2.0.0", "yargs": "^17.6.2" @@ -10829,15 +11376,15 @@ } }, "node_modules/electron-builder-squirrel-windows": { - "version": "26.0.12", - "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.0.12.tgz", - "integrity": "sha512-kpwXM7c/ayRUbYVErQbsZ0nQZX4aLHQrPEG9C4h9vuJCXylwFH8a7Jgi2VpKIObzCXO7LKHiCw4KdioFLFOgqA==", + "version": "26.7.0", + "resolved": "https://registry.npmjs.org/electron-builder-squirrel-windows/-/electron-builder-squirrel-windows-26.7.0.tgz", + "integrity": "sha512-3EqkQK+q0kGshdPSKEPb2p5F75TENMKu6Fe5aTdeaPfdzFK4Yjp5L0d6S7K8iyvqIsGQ/ei4bnpyX9wt+kVCKQ==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "app-builder-lib": "26.0.12", - "builder-util": "26.0.11", + "app-builder-lib": "26.7.0", + "builder-util": "26.4.1", "electron-winstaller": "5.4.0" } }, @@ -10941,17 +11488,17 @@ } }, "node_modules/electron-publish": { - "version": "26.0.11", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.0.11.tgz", - "integrity": "sha512-a8QRH0rAPIWH9WyyS5LbNvW9Ark6qe63/LqDB7vu2JXYpi0Gma5Q60Dh4tmTqhOBQt0xsrzD8qE7C+D7j+B24A==", + "version": "26.6.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-26.6.0.tgz", + "integrity": "sha512-LsyHMMqbvJ2vsOvuWJ19OezgF2ANdCiHpIucDHNiLhuI+/F3eW98ouzWSRmXXi82ZOPZXC07jnIravY4YYwCLQ==", "dev": true, "license": "MIT", "dependencies": { "@types/fs-extra": "^9.0.11", - "builder-util": "26.0.11", - "builder-util-runtime": "9.3.1", + "builder-util": "26.4.1", + "builder-util-runtime": "9.5.1", "chalk": "^4.1.2", - "form-data": "^4.0.0", + "form-data": "^4.0.5", "fs-extra": "^10.1.0", "lazy-val": "^1.0.5", "mime": "^2.5.2" @@ -11159,18 +11706,18 @@ "license": "ISC" }, "node_modules/electron-updater": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.6.2.tgz", - "integrity": "sha512-Cr4GDOkbAUqRHP5/oeOmH/L2Bn6+FQPxVLZtPbcmKZC63a1F3uu5EefYOssgZXG3u/zBlubbJ5PJdITdMVggbw==", + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/electron-updater/-/electron-updater-6.7.3.tgz", + "integrity": "sha512-EgkT8Z9noqXKbwc3u5FkJA+r48jwZ5DTUiOkJMOTEEH//n5Am6wfQGz7nvSFEA2oIAMv9jRzn5JKTyWeSKOPgg==", "license": "MIT", "dependencies": { - "builder-util-runtime": "9.3.1", + "builder-util-runtime": "9.5.1", "fs-extra": "^10.1.0", "js-yaml": "^4.1.0", "lazy-val": "^1.0.5", "lodash.escaperegexp": "^4.1.2", "lodash.isequal": "^4.5.0", - "semver": "^7.6.3", + "semver": "~7.7.3", "tiny-typed-emitter": "^2.1.0" } }, @@ -11228,6 +11775,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "@electron/asar": "^3.2.1", "debug": "^4.1.1", @@ -11248,6 +11796,7 @@ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -11742,7 +12291,6 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -11799,7 +12347,6 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", - "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -12012,7 +12559,6 @@ "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@rtsao/scc": "^1.1.0", "array-includes": "^3.1.9", @@ -12104,14 +12650,14 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", - "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", + "version": "5.5.5", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", + "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", "dev": true, "license": "MIT", "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.11.7" + "prettier-linter-helpers": "^1.0.1", + "synckit": "^0.11.12" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -12222,67 +12768,31 @@ } }, "node_modules/eslint-plugin-sonarjs": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-3.0.5.tgz", - "integrity": "sha512-dI62Ff3zMezUToi161hs2i1HX1ie8Ia2hO0jtNBfdgRBicAG4ydy2WPt0rMTrAe3ZrlqhpAO3w1jcQEdneYoFA==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-3.0.7.tgz", + "integrity": "sha512-62jB20krIPvcwBLAyG3VVKa2ce2j2lL1yCb8Y0ylMRR/dLvCCTiQx8gQbXb+G81k1alPZ2/I3muZinqWQdBbzw==", "dev": true, "license": "LGPL-3.0-only", "dependencies": { - "@eslint-community/regexpp": "4.12.1", + "@eslint-community/regexpp": "4.12.2", "builtin-modules": "3.3.0", "bytes": "3.1.2", "functional-red-black-tree": "1.0.1", "jsx-ast-utils-x": "0.1.0", "lodash.merge": "4.6.2", - "minimatch": "9.0.5", + "minimatch": "10.1.2", "scslre": "0.3.0", - "semver": "7.7.2", + "semver": "7.7.4", "typescript": ">=5" }, "peerDependencies": { "eslint": "^8.0.0 || ^9.0.0" } }, - "node_modules/eslint-plugin-sonarjs/node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/eslint-plugin-sonarjs/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/eslint-plugin-sonarjs/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/eslint-plugin-sonarjs/node_modules/semver": { - "version": "7.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", - "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -14053,9 +14563,9 @@ } }, "node_modules/html-webpack-plugin": { - "version": "5.6.5", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.5.tgz", - "integrity": "sha512-4xynFbKNNk+WlzXeQQ+6YYsH2g7mpfPszQZUi3ovKlj+pDmngQ7vRXjrrmGROabmKwyQkcgcX5hqfOwHbFmK5g==", + "version": "5.6.6", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.6.tgz", + "integrity": "sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw==", "dev": true, "license": "MIT", "dependencies": { @@ -14634,35 +15144,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-ci/node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -14718,7 +15199,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" @@ -14800,7 +15280,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, "license": "MIT", "dependencies": { "is-docker": "^3.0.0" @@ -15122,7 +15601,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, "license": "MIT", "dependencies": { "is-inside-container": "^1.0.0" @@ -15745,13 +16223,13 @@ } }, "node_modules/jsonwebtoken": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", - "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", "dev": true, "license": "MIT", "dependencies": { - "jws": "^3.2.2", + "jws": "^4.0.1", "lodash.includes": "^4.3.0", "lodash.isboolean": "^3.0.3", "lodash.isinteger": "^4.0.4", @@ -15807,9 +16285,9 @@ } }, "node_modules/jwa": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", - "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", "dev": true, "license": "MIT", "dependencies": { @@ -15819,13 +16297,13 @@ } }, "node_modules/jws": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.3.tgz", - "integrity": "sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", "dev": true, "license": "MIT", "dependencies": { - "jwa": "^1.4.2", + "jwa": "^2.0.1", "safe-buffer": "^5.0.1" } }, @@ -15866,9 +16344,9 @@ } }, "node_modules/knip": { - "version": "5.70.2", - "resolved": "https://registry.npmjs.org/knip/-/knip-5.70.2.tgz", - "integrity": "sha512-LI7DbeVnk7h9+FAet5KzzHNdDwJyqDa2+cn4uQfZYTfpuVjEqtGmYD9r5b9JEuOs4eVkf/7sskNhWXxELm3C/Q==", + "version": "5.83.1", + "resolved": "https://registry.npmjs.org/knip/-/knip-5.83.1.tgz", + "integrity": "sha512-av3ZG/Nui6S/BNL8Tmj12yGxYfTnwWnslouW97m40him7o8MwiMjZBY9TPvlEWUci45aVId0/HbgTwSKIDGpMw==", "dev": true, "funding": [ { @@ -15888,7 +16366,7 @@ "jiti": "^2.6.0", "js-yaml": "^4.1.1", "minimist": "^1.2.8", - "oxc-resolver": "^11.13.2", + "oxc-resolver": "^11.15.0", "picocolors": "^1.1.1", "picomatch": "^4.0.1", "smol-toml": "^1.5.2", @@ -16655,9 +17133,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.9.4", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.4.tgz", - "integrity": "sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz", + "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==", "dev": true, "license": "MIT", "dependencies": { @@ -16682,13 +17160,13 @@ "license": "ISC" }, "node_modules/minimatch": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz", - "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.2.tgz", + "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "@isaacs/brace-expansion": "^5.0.1" }, "engines": { "node": "20 || >=22" @@ -16962,29 +17440,17 @@ } }, "node_modules/move-file": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/move-file/-/move-file-3.1.0.tgz", - "integrity": "sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/move-file/-/move-file-4.1.0.tgz", + "integrity": "sha512-YE06K9XLIvMlqSfoZTl32qvbZLPgL70Za41wS8pEhsSOhy71xz2fn8J07nuz/LEEtPSuUzLUFGAJSx499eKDSw==", "license": "MIT", - "dependencies": { - "path-exists": "^5.0.0" - }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/move-file/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -17137,9 +17603,9 @@ } }, "node_modules/node-api-version/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", "dev": true, "license": "ISC", "bin": { @@ -17149,16 +17615,6 @@ "node": ">=10" } }, - "node_modules/node-forge": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz", - "integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==", - "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, "node_modules/node-gyp": { "version": "9.4.1", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.1.tgz", @@ -17473,16 +17929,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/normalize-url": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", @@ -17795,13 +18241,13 @@ } }, "node_modules/openapi-typescript": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.10.1.tgz", - "integrity": "sha512-rBcU8bjKGGZQT4K2ekSTY2Q5veOQbVG/lTKZ49DeCyT9z62hM2Vj/LLHjDHC9W7LJG8YMHcdXpRZDqC1ojB/lw==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-7.13.0.tgz", + "integrity": "sha512-EFP392gcqXS7ntPvbhBzbF8TyBA+baIYEm791Hy5YkjDYKTnk/Tn5OQeKm5BIZvJihpp8Zzr4hzx0Irde1LNGQ==", "dev": true, "license": "MIT", "dependencies": { - "@redocly/openapi-core": "^1.34.5", + "@redocly/openapi-core": "^1.34.6", "ansi-colors": "^4.1.3", "change-case": "^5.4.4", "parse-json": "^8.3.0", @@ -17958,34 +18404,35 @@ } }, "node_modules/oxc-resolver": { - "version": "11.14.0", - "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-11.14.0.tgz", - "integrity": "sha512-i4wNrqhOd+4YdHJfHglHtFiqqSxXuzFA+RUqmmWN1aMD3r1HqUSrIhw17tSO4jwKfhLs9uw1wzFPmvMsWacStg==", + "version": "11.17.1", + "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-11.17.1.tgz", + "integrity": "sha512-pyRXK9kH81zKlirHufkFhOFBZRks8iAMLwPH8gU7lvKFiuzUH9L8MxDEllazwOb8fjXMcWjY1PMDfMJ2/yh5cw==", "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/Boshen" }, "optionalDependencies": { - "@oxc-resolver/binding-android-arm-eabi": "11.14.0", - "@oxc-resolver/binding-android-arm64": "11.14.0", - "@oxc-resolver/binding-darwin-arm64": "11.14.0", - "@oxc-resolver/binding-darwin-x64": "11.14.0", - "@oxc-resolver/binding-freebsd-x64": "11.14.0", - "@oxc-resolver/binding-linux-arm-gnueabihf": "11.14.0", - "@oxc-resolver/binding-linux-arm-musleabihf": "11.14.0", - "@oxc-resolver/binding-linux-arm64-gnu": "11.14.0", - "@oxc-resolver/binding-linux-arm64-musl": "11.14.0", - "@oxc-resolver/binding-linux-ppc64-gnu": "11.14.0", - "@oxc-resolver/binding-linux-riscv64-gnu": "11.14.0", - "@oxc-resolver/binding-linux-riscv64-musl": "11.14.0", - "@oxc-resolver/binding-linux-s390x-gnu": "11.14.0", - "@oxc-resolver/binding-linux-x64-gnu": "11.14.0", - "@oxc-resolver/binding-linux-x64-musl": "11.14.0", - "@oxc-resolver/binding-wasm32-wasi": "11.14.0", - "@oxc-resolver/binding-win32-arm64-msvc": "11.14.0", - "@oxc-resolver/binding-win32-ia32-msvc": "11.14.0", - "@oxc-resolver/binding-win32-x64-msvc": "11.14.0" + "@oxc-resolver/binding-android-arm-eabi": "11.17.1", + "@oxc-resolver/binding-android-arm64": "11.17.1", + "@oxc-resolver/binding-darwin-arm64": "11.17.1", + "@oxc-resolver/binding-darwin-x64": "11.17.1", + "@oxc-resolver/binding-freebsd-x64": "11.17.1", + "@oxc-resolver/binding-linux-arm-gnueabihf": "11.17.1", + "@oxc-resolver/binding-linux-arm-musleabihf": "11.17.1", + "@oxc-resolver/binding-linux-arm64-gnu": "11.17.1", + "@oxc-resolver/binding-linux-arm64-musl": "11.17.1", + "@oxc-resolver/binding-linux-ppc64-gnu": "11.17.1", + "@oxc-resolver/binding-linux-riscv64-gnu": "11.17.1", + "@oxc-resolver/binding-linux-riscv64-musl": "11.17.1", + "@oxc-resolver/binding-linux-s390x-gnu": "11.17.1", + "@oxc-resolver/binding-linux-x64-gnu": "11.17.1", + "@oxc-resolver/binding-linux-x64-musl": "11.17.1", + "@oxc-resolver/binding-openharmony-arm64": "11.17.1", + "@oxc-resolver/binding-wasm32-wasi": "11.17.1", + "@oxc-resolver/binding-win32-arm64-msvc": "11.17.1", + "@oxc-resolver/binding-win32-ia32-msvc": "11.17.1", + "@oxc-resolver/binding-win32-x64-msvc": "11.17.1" } }, "node_modules/p-cancelable": { @@ -18516,6 +18963,37 @@ "node": ">=4" } }, + "node_modules/pkijs": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.3.3.tgz", + "integrity": "sha512-+KD8hJtqQMYoTuL1bbGOqxb4z+nZkTAwVdNtWwe8Tc2xNbEmdJYIYoc6Qt0uF55e6YW6KuTHw1DjQ18gMhzepw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/pkijs/node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/plist": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", @@ -18582,7 +19060,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -19305,6 +19782,7 @@ "dev": true, "license": "MIT", "optional": true, + "peer": true, "dependencies": { "commander": "^9.4.0" }, @@ -19322,10 +19800,23 @@ "dev": true, "license": "MIT", "optional": true, + "peer": true, "engines": { "node": "^12.20.0 || >=14" } }, + "node_modules/powershell-utils": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.2.0.tgz", + "integrity": "sha512-ZlsFlG7MtSFCoc5xreOvBAozCJ6Pf06opgJjh9ONEv418xpZSAzNjstD36C6+JwOnfSqOW/9uDkqKjezTdxZhw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/prebuild-install": { "version": "7.1.3", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz", @@ -19363,12 +19854,11 @@ } }, "node_modules/prettier": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.0.tgz", - "integrity": "sha512-pBiBj/gjRY9Qpk1b7cDda6Rbwvkaggos779AHQ0Ek/odwDx6xG6DRBxtnp1QmxbuD7pAO8/SQ8vuhtGv9LoLWA==", + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -19380,9 +19870,9 @@ } }, "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz", + "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==", "dev": true, "license": "MIT", "dependencies": { @@ -19519,13 +20009,13 @@ } }, "node_modules/proc-log": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", - "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", "dev": true, "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/process": { @@ -19591,6 +20081,25 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "license": "MIT" }, + "node_modules/proper-lockfile": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/proper-lockfile/-/proper-lockfile-4.1.2.tgz", + "integrity": "sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "retry": "^0.12.0", + "signal-exit": "^3.0.2" + } + }, + "node_modules/proper-lockfile/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -19661,6 +20170,26 @@ "node": ">=6" } }, + "node_modules/pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/qs": { "version": "6.13.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", @@ -19795,7 +20324,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -19818,7 +20346,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -19882,7 +20409,6 @@ "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -20250,8 +20776,7 @@ "version": "0.1.14", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz", "integrity": "sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==", - "license": "Apache-2.0", - "peer": true + "license": "Apache-2.0" }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", @@ -20943,7 +21468,6 @@ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -20998,17 +21522,17 @@ "license": "MIT" }, "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", + "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", "dev": true, "license": "MIT", "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "@peculiar/x509": "^1.14.2", + "pkijs": "^3.3.3" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/semver": { @@ -21598,13 +22122,13 @@ } }, "node_modules/socket.io-client": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", - "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.3.tgz", + "integrity": "sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==", "license": "MIT", "dependencies": { "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", + "debug": "~4.4.1", "engine.io-client": "~6.6.1", "socket.io-parser": "~4.2.4" }, @@ -21612,23 +22136,6 @@ "node": ">=10.0.0" } }, - "node_modules/socket.io-client/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/socket.io-parser": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", @@ -21871,8 +22378,7 @@ "resolved": "https://registry.npmjs.org/sql.js/-/sql.js-1.13.0.tgz", "integrity": "sha512-RJbVP1HRDlUUXahJ7VMTcu9Rm1Nzw+EBpoPr94vnbD4LwR715F3CcxE2G2k45PewcaZ57pjetYa+LoSJLAASgA==", "devOptional": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/ssri": { "version": "9.0.1", @@ -22382,9 +22888,9 @@ "license": "MIT" }, "node_modules/synckit": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", - "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", + "version": "0.11.12", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", + "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", "dev": true, "license": "MIT", "dependencies": { @@ -22398,9 +22904,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.18", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.18.tgz", - "integrity": "sha512-6A2rnmW5xZMdw11LYjhcI5846rt9pbLSabY5XPxo+XWdxwZaFEn47Go4NzFiHu9sNNmr/kXivP1vStfvMaK1GQ==", + "version": "3.4.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", + "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", "dev": true, "license": "MIT", "dependencies": { @@ -22649,6 +23155,7 @@ "integrity": "sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "mkdirp": "^0.5.1", "rimraf": "~2.6.2" @@ -22710,9 +23217,10 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -22734,6 +23242,7 @@ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -22747,6 +23256,7 @@ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "minimist": "^1.2.6" }, @@ -22761,6 +23271,7 @@ "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "license": "ISC", + "peer": true, "dependencies": { "glob": "^7.1.3" }, @@ -23142,17 +23653,19 @@ } }, "node_modules/trash": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/trash/-/trash-10.0.1.tgz", - "integrity": "sha512-WSh7WXBRkudzQMXRh61vyT/f3mjVnn+3conu5DdvMGzRPsc3mtviPLIwCK1OtwfgR2gr4+9+EE/eWwPlDj5NcA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/trash/-/trash-10.1.0.tgz", + "integrity": "sha512-gOs9Hd1XMiJfORccP8KJNDmrSJ7YqO1CNt9lGOiBiydyBJab7Eaefkc/wj50b8lTtpB/4/VgezREs9NULOm42A==", "license": "MIT", "dependencies": { "@stroncium/procfs": "^1.2.1", "chunkify": "^5.0.0", "globby": "^14.1.0", "is-path-inside": "^4.0.0", - "move-file": "^3.1.0", + "move-file": "^4.1.0", "p-map": "^7.0.3", + "powershell-utils": "^0.2.0", + "wsl-utils": "^0.4.0", "xdg-trashdir": "^3.1.0" }, "engines": { @@ -23239,6 +23752,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/trash/node_modules/wsl-utils": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.4.0.tgz", + "integrity": "sha512-9YmF+2sFEd+T7TkwlmE337F0IVzfDvDknhtpBQxxXzEOfgPphGlFYpyx0cTuCIFj8/p+sqwBYAeGxOMNSzPPDA==", + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0", + "powershell-utils": "^0.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/trash/node_modules/wsl-utils/node_modules/powershell-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/powershell-utils/-/powershell-utils-0.1.0.tgz", + "integrity": "sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tree-dump": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", @@ -23425,8 +23966,7 @@ "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD", - "peer": true + "license": "0BSD" }, "node_modules/tsutils": { "version": "3.21.0", @@ -23457,7 +23997,6 @@ "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "~0.27.0", "get-tsconfig": "^4.7.5" @@ -23956,6 +24495,26 @@ "@esbuild/win32-x64": "0.27.2" } }, + "node_modules/tsyringe": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", + "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.9.3" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/tsyringe/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -24085,22 +24644,23 @@ } }, "node_modules/typeorm": { - "version": "0.3.27", - "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.27.tgz", - "integrity": "sha512-pNV1bn+1n8qEe8tUNsNdD8ejuPcMAg47u2lUGnbsajiNUr3p2Js1XLKQjBMH0yMRMDfdX8T+fIRejFmIwy9x4A==", + "version": "0.3.28", + "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.3.28.tgz", + "integrity": "sha512-6GH7wXhtfq2D33ZuRXYwIsl/qM5685WZcODZb7noOOcRMteM9KF2x2ap3H0EBjnSV0VO4gNAfJT5Ukp0PkOlvg==", "license": "MIT", "dependencies": { "@sqltools/formatter": "^1.2.5", - "ansis": "^3.17.0", + "ansis": "^4.2.0", "app-root-path": "^3.1.0", "buffer": "^6.0.3", - "dayjs": "^1.11.13", - "debug": "^4.4.0", - "dedent": "^1.6.0", - "dotenv": "^16.4.7", - "glob": "^10.4.5", + "dayjs": "^1.11.19", + "debug": "^4.4.3", + "dedent": "^1.7.0", + "dotenv": "^16.6.1", + "glob": "^10.5.0", + "reflect-metadata": "^0.2.2", "sha.js": "^2.4.12", - "sql-highlight": "^6.0.0", + "sql-highlight": "^6.1.0", "tslib": "^2.8.1", "uuid": "^11.1.0", "yargs": "^17.7.2" @@ -24117,19 +24677,18 @@ "url": "https://opencollective.com/typeorm" }, "peerDependencies": { - "@google-cloud/spanner": "^5.18.0 || ^6.0.0 || ^7.0.0", + "@google-cloud/spanner": "^5.18.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "@sap/hana-client": "^2.14.22", "better-sqlite3": "^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0", "ioredis": "^5.0.4", "mongodb": "^5.8.0 || ^6.0.0", - "mssql": "^9.1.1 || ^10.0.1 || ^11.0.1", + "mssql": "^9.1.1 || ^10.0.0 || ^11.0.0 || ^12.0.0", "mysql2": "^2.2.5 || ^3.0.1", "oracledb": "^6.3.0", "pg": "^8.5.1", "pg-native": "^3.0.0", "pg-query-stream": "^4.0.0", "redis": "^3.1.1 || ^4.0.0 || ^5.0.14", - "reflect-metadata": "^0.1.14 || ^0.2.0", "sql.js": "^1.4.0", "sqlite3": "^5.0.3", "ts-node": "^10.7.0", @@ -24236,6 +24795,12 @@ "url": "https://dotenvx.com" } }, + "node_modules/typeorm/node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "license": "Apache-2.0" + }, "node_modules/typeorm/node_modules/uuid": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", @@ -24290,7 +24855,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -24645,7 +25209,6 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -24764,7 +25327,6 @@ "integrity": "sha512-dfqAsNqRGUc8hB9OVR2P0w8PZPEckti2+5rdZip0WIz9WW0MnImJ8XiR61QhqLa92EQzKP2uPkzenKOAHyEIbA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@vitest/expect": "3.0.8", "@vitest/mocker": "3.0.8", @@ -24911,12 +25473,11 @@ } }, "node_modules/webpack": { - "version": "5.105.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.0.tgz", - "integrity": "sha512-gX/dMkRQc7QOMzgTe6KsYFM7DxeIONQSui1s0n/0xht36HvrgbxtM1xBlgx596NbpHuQU8P7QpKwrZYwUX48nw==", + "version": "5.105.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.1.tgz", + "integrity": "sha512-Gdj3X74CLJJ8zy4URmK42W7wTZUJrqL+z8nyGEr4dTN0kb3nVs+ZvjbTOqRYPD7qX4tUmwyHL9Q9K6T1seW6Yw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -25179,16 +25740,15 @@ } }, "node_modules/webpack-dev-server": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.2.tgz", - "integrity": "sha512-QcQ72gh8a+7JO63TAx/6XZf/CWhgMzu5m0QirvPfGvptOusAxG12w2+aua1Jkjr7hzaWDnJ2n6JFeexMHI+Zjg==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", + "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/bonjour": "^3.5.13", "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", + "@types/express": "^4.17.25", "@types/express-serve-static-core": "^4.17.21", "@types/serve-index": "^1.9.4", "@types/serve-static": "^1.15.5", @@ -25198,9 +25758,9 @@ "bonjour-service": "^1.2.1", "chokidar": "^3.6.0", "colorette": "^2.0.10", - "compression": "^1.7.4", + "compression": "^1.8.1", "connect-history-api-fallback": "^2.0.0", - "express": "^4.21.2", + "express": "^4.22.1", "graceful-fs": "^4.2.6", "http-proxy-middleware": "^2.0.9", "ipaddr.js": "^2.1.0", @@ -25208,7 +25768,7 @@ "open": "^10.0.3", "p-retry": "^6.2.0", "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", + "selfsigned": "^5.5.0", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", @@ -25924,9 +26484,9 @@ } }, "node_modules/zod": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz", - "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", "dev": true, "license": "MIT", "funding": { diff --git a/package.json b/package.json index d982f18f06..729c65a0b5 100644 --- a/package.json +++ b/package.json @@ -78,7 +78,7 @@ "@internxt/eslint-config-internxt": "1.0.9", "@pmmmwh/react-refresh-webpack-plugin": "^0.6.1", "@svgr/webpack": "^6.1.2", - "@tanstack/eslint-plugin-query": "^4.39.1", + "@tanstack/eslint-plugin-query": "^4.43.0", "@testing-library/jest-dom": "^5.17.0", "@testing-library/react": "^12.1.5", "@testing-library/react-hooks": "^8.0.1", @@ -89,56 +89,56 @@ "@types/bytes": "^3.1.1", "@types/dotenv-webpack": "^7.0.3", "@types/jsonwebtoken": "^9.0.9", - "@types/node": "^20.19.0", - "@types/react": "^17.0.38", + "@types/node": "^22.19.11", + "@types/react": "^17.0.91", "@types/react-dom": "^17.0.11", "@types/uuid": "^8.3.4", "@types/webpack-bundle-analyzer": "^4.7.0", "@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/parser": "^5.8.1", "@vitest/coverage-istanbul": "3.0.8", - "autoprefixer": "^10.4.1", + "autoprefixer": "^10.4.24", "chalk": "^4.1.2", "concurrently": "^6.5.1", - "core-js": "^3.20.1", + "core-js": "^3.48.0", "cross-env": "^7.0.3", "css-loader": "^6.5.1", "css-minimizer-webpack-plugin": "^3.3.1", "dotenv": "^10.0.0", "dotenv-webpack": "^7.0.3", - "electron": "^29.4.6", - "electron-builder": "^26.0.12", + "electron": "^35.7.5", + "electron-builder": "^26.7.0", "electron-rebuild": "^3.2.9", "eslint": "^8.5.0", "eslint-config-prettier": "^10.1.8", "eslint-import-resolver-typescript": "^2.5.0", "eslint-import-resolver-webpack": "^0.13.2", "eslint-plugin-import": "^2.27.5", - "eslint-plugin-prettier": "^5.4.1", + "eslint-plugin-prettier": "^5.5.5", "eslint-plugin-react": "^7.28.0", "eslint-plugin-simple-import-sort": "^10.0.0", - "eslint-plugin-sonarjs": "^3.0.4", + "eslint-plugin-sonarjs": "^3.0.7", "eslint-plugin-unicorn": "^56.0.1", - "html-webpack-plugin": "^5.5.0", + "html-webpack-plugin": "^5.6.6", "husky": "^7.0.4", "jsdom": "^22.1.0", - "jsonwebtoken": "^9.0.2", - "knip": "^5.69.1", + "jsonwebtoken": "^9.0.3", + "knip": "^5.83.1", "lcov-result-merger": "^5.0.1", - "mini-css-extract-plugin": "^2.4.5", + "mini-css-extract-plugin": "^2.10.0", "ms": "^2.1.3", "node-loader": "^2.0.0", "nodemon": "^3.1.9", - "openapi-typescript": "^7.6.1", + "openapi-typescript": "^7.13.0", "postcss": "^8.4.5", "postcss-loader": "^6.2.1", - "prettier": "^3.5.1", + "prettier": "^3.8.1", "prettier-plugin-tailwindcss": "^0.6.14", "react-refresh": "^0.17.0", "rimraf": "^6.0.1", "sql.js": "^1.13.0", "style-loader": "^3.3.1", - "tailwindcss": "^3.3.3", + "tailwindcss": "^3.4.19", "terser-webpack-plugin": "^5.3.0", "ts-essentials": "^10.0.4", "ts-loader": "^9.2.6", @@ -150,12 +150,12 @@ "vite-tsconfig-paths": "^5.1.4", "vitest": "3.0.8", "vitest-mock-extended": "^2.0.2", - "webpack": "^5.105.0", + "webpack": "^5.105.1", "webpack-bundle-analyzer": "^4.10.2", "webpack-cli": "^6.0.1", - "webpack-dev-server": "^5.2.2", + "webpack-dev-server": "^5.2.3", "webpack-merge": "^5.8.0", - "zod": "^4.1.13" + "zod": "^4.3.6" }, "dependencies": { "@headlessui/react": "^1.4.2", @@ -166,7 +166,7 @@ "@packages/addon": "file:packages/addon/packages-addon-1.0.0.tgz", "@phosphor-icons/react": "2.0.9", "@radix-ui/react-select": "^1.2.2", - "@tanstack/react-query": "^4.39.2", + "@tanstack/react-query": "^4.43.0", "archiver": "^7.0.1", "async": "^3.2.4", "better-sqlite3": "^11.10.0", @@ -176,7 +176,7 @@ "clsx": "^2.1.1", "dayjs": "^1.10.7", "electron-store": "^8.0.1", - "electron-updater": "^6.6.2", + "electron-updater": "^6.7.3", "framer-motion": "^5.6.0", "jwt-decode": "^3.1.2", "openapi-fetch": "^0.13.4", @@ -189,14 +189,14 @@ "react-router-dom": "^6.30.3", "reflect-metadata": "^0.1.13", "regenerator-runtime": "^0.13.9", - "socket.io-client": "^4.4.1", + "socket.io-client": "^4.8.3", "source-map-support": "^0.5.21", - "trash": "^10.0.1", - "typeorm": "^0.3.26", + "trash": "^10.1.0", + "typeorm": "^0.3.28", "zustand": "^4.5.7" }, "engines": { - "node": ">=20.19.0", + "node": ">=22.0.0", "npm": ">=10.0.0" } } From 1a8affb5a2020417b9f1d7cbea9b5714ba5d46c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Jim=C3=A9nez=20Rivera?= Date: Wed, 11 Feb 2026 23:19:06 +0100 Subject: [PATCH 2/3] Commit --- .eslintrc.js | 1 + package-lock.json | 18 ++++++++++-- package.json | 5 ++-- .../internxt-drive-desktop-core-0.1.13.tgz | Bin 72115 -> 71972 bytes packages/core/package-lock.json | 14 +-------- .../core/src/frontend/core/i18n/locales/en.ts | 1 - .../core/src/frontend/core/i18n/locales/es.ts | 1 - .../core/src/frontend/core/i18n/locales/fr.ts | 1 - src/apps/backups/Backups.ts | 2 +- src/apps/main/background-processes/issues.ts | 2 +- .../application/LocalTreeBuilder.test.ts | 16 ++--------- .../localTree/application/LocalTreeBuilder.ts | 7 ++--- .../localTree/application/parse-stat-error.ts | 27 ------------------ src/infra/file-system/services/stat.test.ts | 21 -------------- src/infra/file-system/services/stat.ts | 11 +------ 15 files changed, 29 insertions(+), 98 deletions(-) delete mode 100644 src/context/local/localTree/application/parse-stat-error.ts diff --git a/.eslintrc.js b/.eslintrc.js index f6c832469f..06c72dbc08 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -24,6 +24,7 @@ module.exports = { 'sonarjs/assertions-in-tests': 'off', 'sonarjs/constructor-for-side-effects': 'off', 'sonarjs/function-return-type': 'off', + 'sonarjs/hardcoded-secret-signatures': 'off', 'sonarjs/no-alphabetical-sort': 'off', 'sonarjs/no-empty-test-file': 'off', 'sonarjs/os-command': 'off', diff --git a/package-lock.json b/package-lock.json index d4087f7b84..fad907bc9a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -112,6 +112,7 @@ "style-loader": "^3.3.1", "tailwindcss": "^3.4.19", "terser-webpack-plugin": "^5.3.0", + "ts-api-utils": "^2.4.0", "ts-essentials": "^10.0.4", "ts-loader": "^9.2.6", "tsconfig-paths": "^4.2.0", @@ -130,7 +131,7 @@ "zod": "^4.3.6" }, "engines": { - "node": ">=22.0.0", + "node": ">=20.0.0", "npm": ">=10.0.0" } }, @@ -3434,7 +3435,7 @@ "node_modules/@internxt/drive-desktop-core": { "version": "0.1.13", "resolved": "file:packages/core/internxt-drive-desktop-core-0.1.13.tgz", - "integrity": "sha512-P1i557PM/UceEvDkDN+TlM4BXTL6dkfnAPpQkNVp3JenrGBl/fkq0hUwpVCmQexMOp3pRIIRo5g7Vp4cQ5Lqew==", + "integrity": "sha512-at0dLE119uDepZ48HAu5F6sR50+AaILojSZLI8eiTLjL9MxrNITjAAhfsHRu69D74qJkNp7/gbIDSfpQcumJgw==", "license": "MIT", "dependencies": { "@internxt/sdk": "^1.11.10", @@ -23826,6 +23827,19 @@ "utf8-byte-length": "^1.0.1" } }, + "node_modules/ts-api-utils": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/ts-essentials": { "version": "10.1.1", "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-10.1.1.tgz", diff --git a/package.json b/package.json index 729c65a0b5..ede1d88745 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "init:ci": "npm ci --ignore-scripts && node node_modules/electron/install.js", "init:dev": "npm install && node node_modules/electron/install.js && npm run build:dll && npm run reload-native-deps", "========== Code style ==========": "", - "lint": "eslint src --ext .ts,.tsx --max-warnings 321", + "lint": "eslint src --ext .ts,.tsx --max-warnings 276", "lint:fix": "npm run lint -- --fix", "format": "prettier src tests --check", "format:fix": "prettier src tests --write", @@ -140,6 +140,7 @@ "style-loader": "^3.3.1", "tailwindcss": "^3.4.19", "terser-webpack-plugin": "^5.3.0", + "ts-api-utils": "^2.4.0", "ts-essentials": "^10.0.4", "ts-loader": "^9.2.6", "tsconfig-paths": "^4.2.0", @@ -196,7 +197,7 @@ "zustand": "^4.5.7" }, "engines": { - "node": ">=22.0.0", + "node": ">=20.0.0", "npm": ">=10.0.0" } } diff --git a/packages/core/internxt-drive-desktop-core-0.1.13.tgz b/packages/core/internxt-drive-desktop-core-0.1.13.tgz index 7345db3620159445ff3b61afe9690698b782b379..e44e17700f825f70cd21ffdd8efebc265492bd5a 100644 GIT binary patch delta 66773 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
%!MsXs;Wr+^zez6-0`Lb>7T#Y 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 D&&q-7 diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json index d92bf9d246..810e407252 100644 --- a/packages/core/package-lock.json +++ b/packages/core/package-lock.json @@ -1434,7 +1434,6 @@ "integrity": "sha512-fYDQA9e6yTNmA13TLVSA+WMQRc5Bn/c0EUBditUHNfMMxN7M82c38b1kEggVE3pLpZ0FwkwJkUEKMiOi52JXFA==", "dev": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "@babel/generator": "^7.26.5", "@babel/parser": "^7.26.7", @@ -1676,7 +1675,6 @@ "integrity": "sha512-Zhy8HCvBUEfBECzIl1PKqF4p11+d0aUJS1GeUiuqK9WmOug8YCmC4h4bjyBvMyAMI9sbRczmrYL5lKg/YMbrcQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.38.0", "@typescript-eslint/types": "8.38.0", @@ -2113,7 +2111,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2494,7 +2491,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001726", "electron-to-chromium": "^1.5.173", @@ -3632,7 +3628,6 @@ "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -3689,7 +3684,6 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", - "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -6711,7 +6705,6 @@ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -6907,7 +6900,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -7431,6 +7423,7 @@ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", "license": "MIT", + "peer": true, "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -8176,7 +8169,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -8493,7 +8485,6 @@ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8616,7 +8607,6 @@ "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.4.4", @@ -8750,7 +8740,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -8764,7 +8753,6 @@ "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@types/chai": "^5.2.2", "@vitest/expect": "3.2.4", diff --git a/packages/core/src/frontend/core/i18n/locales/en.ts b/packages/core/src/frontend/core/i18n/locales/en.ts index e42a6319d2..0ca1762c6b 100644 --- a/packages/core/src/frontend/core/i18n/locales/en.ts +++ b/packages/core/src/frontend/core/i18n/locales/en.ts @@ -388,7 +388,6 @@ export const en = { DELETE_ERROR: 'Cannot delete item', FILE_MODIFIED: 'File modified while uploading', FILE_SIZE_TOO_BIG: 'File size too big (max 40GB)', - FOLDER_ACCESS_DENIED: 'The app does not have permission to access this folder', FOLDER_DOES_NOT_EXIST: 'Folder does not exist', INVALID_WINDOWS_NAME: String.raw`Windows does not allow names that include \ / : * ? " < > | or start/end with spaces`, NETWORK_CONNECTIVITY_ERROR: 'Network connectivity error.', diff --git a/packages/core/src/frontend/core/i18n/locales/es.ts b/packages/core/src/frontend/core/i18n/locales/es.ts index e03a3b8d3b..5170b1cf98 100644 --- a/packages/core/src/frontend/core/i18n/locales/es.ts +++ b/packages/core/src/frontend/core/i18n/locales/es.ts @@ -392,7 +392,6 @@ export const es: Translation = { DELETE_ERROR: 'No se pudo eliminar el elemento', FILE_MODIFIED: 'Archivo modificado durante la subida', FILE_SIZE_TOO_BIG: 'Archivo es demasiado grande (máximo 40GB)', - FOLDER_ACCESS_DENIED: 'La app no tiene permiso para acceder a esta carpeta', FOLDER_DOES_NOT_EXIST: 'Carpeta no existe', INVALID_WINDOWS_NAME: String.raw`Windows no permite nombres que incluyan \ / : * ? " < > | o que comiencen/terminen con espacios`, NETWORK_CONNECTIVITY_ERROR: 'Error de conectividad de red', diff --git a/packages/core/src/frontend/core/i18n/locales/fr.ts b/packages/core/src/frontend/core/i18n/locales/fr.ts index 77d1edaf38..ed83ca3950 100644 --- a/packages/core/src/frontend/core/i18n/locales/fr.ts +++ b/packages/core/src/frontend/core/i18n/locales/fr.ts @@ -393,7 +393,6 @@ export const fr: Translation = { DELETE_ERROR: "Impossible de supprimer l'élément", FILE_MODIFIED: 'Fichier modifié lors du téléchargement', FILE_SIZE_TOO_BIG: 'Le fichier est trop grand (max 40GB)', - FOLDER_ACCESS_DENIED: "L'app n'a pas le droit d'accéder à cette dossier", FOLDER_DOES_NOT_EXIST: 'Dossier non existant', INVALID_WINDOWS_NAME: String.raw`Windows ne permet pas les noms contenant \ / : * ? " < > | ou commençant/terminant par des espaces`, NETWORK_CONNECTIVITY_ERROR: 'Erreur de connectivité réseau', diff --git a/src/apps/backups/Backups.ts b/src/apps/backups/Backups.ts index 266a232301..e69cea0b95 100644 --- a/src/apps/backups/Backups.ts +++ b/src/apps/backups/Backups.ts @@ -1,4 +1,4 @@ -import LocalTreeBuilder from '../../context/local/localTree/application/LocalTreeBuilder'; +import { LocalTreeBuilder } from '../../context/local/localTree/application/LocalTreeBuilder'; import { BackupsContext } from './BackupInfo'; import { Traverser } from './remote-tree/traverser'; import { tracker } from '../main/background-processes/backups/BackupsProcessTracker/BackupsProcessTracker'; diff --git a/src/apps/main/background-processes/issues.ts b/src/apps/main/background-processes/issues.ts index cded2b2f6e..068c101cdf 100644 --- a/src/apps/main/background-processes/issues.ts +++ b/src/apps/main/background-processes/issues.ts @@ -12,7 +12,7 @@ export type BackupsIssue = { tab: 'backups'; name: string; folderUuid: string; - error: 'CREATE_FOLDER_FAILED' | 'FILE_SIZE_TOO_BIG' | 'FOLDER_ACCESS_DENIED' | 'FOLDER_DOES_NOT_EXIST'; + error: 'CREATE_FOLDER_FAILED' | 'FILE_SIZE_TOO_BIG' | 'FOLDER_DOES_NOT_EXIST'; }; export type GeneralIssue = { diff --git a/src/context/local/localTree/application/LocalTreeBuilder.test.ts b/src/context/local/localTree/application/LocalTreeBuilder.test.ts index bb0a93b0e1..7a42d79374 100644 --- a/src/context/local/localTree/application/LocalTreeBuilder.test.ts +++ b/src/context/local/localTree/application/LocalTreeBuilder.test.ts @@ -1,10 +1,9 @@ import { mkdir, writeFile } from 'node:fs/promises'; -import LocalTreeBuilder from './LocalTreeBuilder'; +import { LocalTreeBuilder } from './LocalTreeBuilder'; import { v4 } from 'uuid'; import { TEST_FILES } from 'tests/vitest/mocks.helper.test'; -import { call, mockProps } from 'tests/vitest/utils.helper.test'; +import { mockProps } from 'tests/vitest/utils.helper.test'; import { join } from '../../localFile/infrastructure/AbsolutePath'; -import { execSync } from 'node:child_process'; describe('LocalTreeBuilder', () => { const folder = join(TEST_FILES, v4()); @@ -39,15 +38,4 @@ describe('LocalTreeBuilder', () => { expect(Object.keys(tree.files).toSorted()).toStrictEqual([file1, file2, file3, file4]); expect(tree.folders.toSorted()).toStrictEqual([folder, folder1, folder3, folder2]); }); - - it('should add an issue if stat gives error and continue', async () => { - // Given - execSync(`icacls "${file3}" /deny "${process.env.USERNAME}":F`); - // When - const tree = await LocalTreeBuilder.run(props); - // Then - call(addIssue).toMatchObject({ name: file3, error: 'FOLDER_ACCESS_DENIED' }); - expect(Object.keys(tree.files).toSorted()).toStrictEqual([file1, file2, file4]); - expect(tree.folders.toSorted()).toStrictEqual([folder, folder1, folder3, folder2]); - }); }); diff --git a/src/context/local/localTree/application/LocalTreeBuilder.ts b/src/context/local/localTree/application/LocalTreeBuilder.ts index 45d4634e0f..8d50bb14b4 100644 --- a/src/context/local/localTree/application/LocalTreeBuilder.ts +++ b/src/context/local/localTree/application/LocalTreeBuilder.ts @@ -1,6 +1,5 @@ import { BackupsContext } from '@/apps/backups/BackupInfo'; import { AbsolutePath } from '@internxt/drive-desktop-core/build/backend'; -import { parseStatError } from './parse-stat-error'; import { stat } from '@/infra/file-system/services/stat'; import { StatItem, statReaddir } from '@/infra/file-system/services/stat-readdir'; @@ -9,14 +8,14 @@ export type LocalTree = { folders: AbsolutePath[]; }; -export default class LocalTreeBuilder { +export class LocalTreeBuilder { static async run({ ctx }: { ctx: BackupsContext }) { const rootPath = ctx.pathname; const { error } = await stat({ absolutePath: rootPath }); if (error) { - parseStatError({ ctx, path: rootPath, error }); + ctx.addIssue({ error: 'FOLDER_DOES_NOT_EXIST', name: rootPath }); throw error; } @@ -29,7 +28,7 @@ export default class LocalTreeBuilder { const { files, folders } = await statReaddir({ folder: parentPath, onError: ({ path, error }) => { - parseStatError({ ctx, path, error }); + ctx.addIssue({ error: 'FOLDER_DOES_NOT_EXIST', name: rootPath }); ctx.logger.error({ msg: 'Error getting item stats', path, error }); }, }); diff --git a/src/context/local/localTree/application/parse-stat-error.ts b/src/context/local/localTree/application/parse-stat-error.ts deleted file mode 100644 index f5920ed991..0000000000 --- a/src/context/local/localTree/application/parse-stat-error.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { BackupsContext } from '@/apps/backups/BackupInfo'; -import { StatError } from '@/infra/file-system/services/stat'; -import { AbsolutePath } from '@internxt/drive-desktop-core/build/backend'; - -type Props = { - ctx: BackupsContext; - path: AbsolutePath; - error: StatError; -}; - -export function parseStatError({ ctx, path, error }: Props) { - if (error.code === 'UNKNOWN') return; - - ctx.addIssue({ - name: path, - error: (() => { - switch (error.code) { - case 'NON_EXISTS': - return 'FOLDER_DOES_NOT_EXIST'; - case 'NO_ACCESS': - return 'FOLDER_ACCESS_DENIED'; - default: - return error.code; - } - })(), - }); -} diff --git a/src/infra/file-system/services/stat.test.ts b/src/infra/file-system/services/stat.test.ts index 528c440d4a..ea72e7b787 100644 --- a/src/infra/file-system/services/stat.test.ts +++ b/src/infra/file-system/services/stat.test.ts @@ -1,10 +1,6 @@ import { cwd } from 'node:process'; import { stat } from './stat'; import { join } from 'node:path'; -import { mkdir, writeFile } from 'node:fs/promises'; -import { TEST_FILES } from 'tests/vitest/mocks.helper.test'; -import { v4 } from 'uuid'; -import { execSync } from 'node:child_process'; describe('stat', () => { it('If file exists', async () => { @@ -22,21 +18,4 @@ describe('stat', () => { // Then expect(error?.code).toEqual('NON_EXISTS'); }); - - it('If file access is denied (EPERM)', async () => { - // Given - const folder = join(TEST_FILES, v4()); - const file = join(folder, 'file.txt'); - - await mkdir(folder); - await writeFile(file, 'content'); - - execSync(`icacls "${file}" /deny "${process.env.USERNAME}":F`); - - // When - const { error } = await stat({ absolutePath: file }); - - // Then - expect(error?.code).toEqual('NO_ACCESS'); - }); }); diff --git a/src/infra/file-system/services/stat.ts b/src/infra/file-system/services/stat.ts index c5f54e82e5..b36a71d805 100644 --- a/src/infra/file-system/services/stat.ts +++ b/src/infra/file-system/services/stat.ts @@ -2,7 +2,7 @@ import fs from 'node:fs/promises'; export class StatError extends Error { constructor( - public readonly code: 'NON_EXISTS' | 'NO_ACCESS' | 'UNKNOWN', + public readonly code: 'NON_EXISTS' | 'UNKNOWN', cause?: unknown, ) { super(code, { cause }); @@ -23,15 +23,6 @@ export async function stat({ absolutePath }: TProps) { if (exc.message.includes('ENOENT')) { return { error: new StatError('NON_EXISTS', exc) }; } - - /** - * v2.5.3 Daniel Jiménez - * TODO: EACCES has not been reproduced in windows - * https://stackoverflow.com/questions/59428844/listen-eacces-permission-denied-in-windows - */ - if (exc.message.includes('EPERM') || exc.message.includes('EACCES')) { - return { error: new StatError('NO_ACCESS', exc) }; - } } return { error: new StatError('UNKNOWN', exc) }; From bac841b60e56fe0023942260fe2922c793945f2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Jim=C3=A9nez=20Rivera?= Date: Wed, 11 Feb 2026 23:36:56 +0100 Subject: [PATCH 3/3] Update stat-readdir.test.ts --- src/infra/file-system/services/stat-readdir.test.ts | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/src/infra/file-system/services/stat-readdir.test.ts b/src/infra/file-system/services/stat-readdir.test.ts index fbb1c31063..0fe256e692 100644 --- a/src/infra/file-system/services/stat-readdir.test.ts +++ b/src/infra/file-system/services/stat-readdir.test.ts @@ -3,8 +3,7 @@ import { statReaddir } from './stat-readdir'; import { TEST_FILES } from '@/tests/vitest/mocks.helper.test'; import { v4 } from 'uuid'; import { mkdir, writeFile } from 'node:fs/promises'; -import { execSync } from 'node:child_process'; -import { call } from '@/tests/vitest/utils.helper.test'; +import { mockProps } from '@/tests/vitest/utils.helper.test'; describe('stat-readdir', () => { const root = join(TEST_FILES, v4()); @@ -19,7 +18,7 @@ describe('stat-readdir', () => { const file4 = join(root, 'folder2', 'file4'); const file5 = join(root, 'folder2', 'folder3', 'file5'); - const onError = vi.fn(); + const props = mockProps({ folder: root }); beforeAll(async () => { await mkdir(root); @@ -34,16 +33,13 @@ describe('stat-readdir', () => { }); it('should add retrieve files and folders and handle errors', async () => { - // Given - execSync(`icacls "${file3}" /deny "${process.env.USERNAME}":F`); // When - const { files, folders } = await statReaddir({ folder: root, onError }); + const { files, folders } = await statReaddir(props); // Then const sortedFiles = files.toSorted((a, b) => a.path.localeCompare(b.path)); const sortedFolders = folders.toSorted((a, b) => a.path.localeCompare(b.path)); - expect(sortedFiles).toMatchObject([{ path: file1 }, { path: file2 }]); + expect(sortedFiles).toMatchObject([{ path: file1 }, { path: file2 }, { path: file3 }]); expect(sortedFolders).toMatchObject([{ path: folder1 }, { path: folder2 }]); - call(onError).toMatchObject({ path: file3, error: { code: 'NO_ACCESS' } }); }); });