Update deps (#24324)

* update docusaurus to 3.10.2

* bump @types/node to 25.9.6 and ES2022

target ES2022, which already includes ES2020 and ES2021.String, so the lib list was also trimmed

* bump vite to 8.3.0 and vitest to 4.1.11

Swap `@vitejs/plugin-react-swc` for `@vitejs/plugin-react` and add `esbuild` as a devDependency, since `vite-plugin-monaco-editor` requires it and Vite 8 no longer ships it. `keepNames` moves to `build.rolldownOptions.output` because Vite 8 ignores the `esbuild` block. Rolldown's minifier now writes the preload helper's base path as a template literal instead of a double-quoted string, so the nginx `sub_filter` for `return"/BASE_PATH/"` stopped matching and lazy-loaded chunks and their CSS were requested from a literal `/BASE_PATH/` under Home Assistant ingress. The rule now matches the backtick form.

* bump apexcharts to 7.3.0 and react-apexcharts to 2.1.1

Under Vite 8, a default import from a CommonJS package resolves to its whole `module.exports` when `package.json` has `"type": "module"`, so react-apexcharts 1.4.1 handed React an object and every chart crashed. 2.x ships an ESM build. apexcharts 7 no longer sets `window.ApexCharts`, so the chart components now import it for `ApexCharts.exec`, and `ApexAxisChartSeries` is derived in `types/graph.ts` because it's no longer a global type.

* remove unused immer dep

* remove unused cython pin from tensorrt requirements

The pin was added alongside tensorrt 8.5.3 and cuda-python 11.8, which needed Cython to build, and both have since been dropped from this file. Nothing imports Cython at runtime, and `pip3 wheel` runs with build isolation, so any source build gets its own build dependencies. The pin only installed an unused Cython wheel into the TensorRT image.

* require node 20.19 for docs
This commit is contained in:
Josh Hawkins
2026-09-14 07:16:31 -06:00
committed by GitHub
parent 3931ab74a8
commit acc740a976
13 changed files with 2569 additions and 4765 deletions
@@ -376,7 +376,7 @@ http {
sub_filter '"/BASE_PATH/assets/' '"$http_x_ingress_path/assets/';
sub_filter '"/BASE_PATH/locales/' '"$http_x_ingress_path/locales/';
sub_filter '"/BASE_PATH/monacoeditorwork/' '"$http_x_ingress_path/assets/';
sub_filter 'return"/BASE_PATH/"' 'return window.baseUrl';
sub_filter 'return`/BASE_PATH/`' 'return window.baseUrl';
sub_filter '<body>' '<body><script>window.baseUrl="$http_x_ingress_path/";</script>';
sub_filter_types text/css application/javascript;
sub_filter_once off;
-1
View File
@@ -1,6 +1,5 @@
# Nvidia ONNX Runtime GPU Support
--extra-index-url 'https://pypi.nvidia.com'
cython==3.0.*; platform_machine == 'x86_64'
nvidia-cuda-cupti-cu12==12.8.90; platform_machine == 'x86_64'
nvidia-cublas-cu12==12.8.4.1; platform_machine == 'x86_64'
nvidia-cudnn-cu12==9.8.0.87; platform_machine == 'x86_64'
+1632 -3641
View File
File diff suppressed because it is too large Load Diff
+9 -9
View File
@@ -18,16 +18,16 @@
"write-heading-ids": "docusaurus write-heading-ids"
},
"dependencies": {
"@docusaurus/core": "^3.7.0",
"@docusaurus/plugin-content-docs": "^3.7.0",
"@docusaurus/preset-classic": "^3.7.0",
"@docusaurus/theme-mermaid": "^3.7.0",
"@docusaurus/core": "^3.10.2",
"@docusaurus/plugin-content-docs": "^3.10.2",
"@docusaurus/preset-classic": "^3.10.2",
"@docusaurus/theme-mermaid": "^3.10.2",
"@inkeep/docusaurus": "^2.0.16",
"@mdx-js/react": "^3.1.0",
"@types/js-yaml": "^4.0.9",
"clsx": "^2.1.1",
"docusaurus-plugin-openapi-docs": "^4.5.1",
"docusaurus-theme-openapi-docs": "^4.5.1",
"docusaurus-plugin-openapi-docs": "^5.2.0",
"docusaurus-theme-openapi-docs": "^5.2.0",
"js-yaml": "^4.3.2",
"marked": "^16.4.2",
"prism-react-renderer": "^2.4.1",
@@ -48,11 +48,11 @@
]
},
"devDependencies": {
"@docusaurus/module-type-aliases": "^3.7.0",
"@docusaurus/types": "^3.7.0",
"@docusaurus/module-type-aliases": "^3.10.2",
"@docusaurus/types": "^3.10.2",
"@types/react": "^18.3.27"
},
"engines": {
"node": ">=18.0"
"node": ">=20.19"
}
}
+890 -1088
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -52,7 +52,7 @@
"@rjsf/shadcn": "^6.5.2",
"@rjsf/utils": "^6.4.1",
"@rjsf/validator-ajv8": "^6.4.1",
"apexcharts": "^3.52.0",
"apexcharts": "^7.3.0",
"axios": "^1.18.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
@@ -65,7 +65,6 @@
"i18next": "^24.2.0",
"i18next-http-backend": "^4.0.2",
"idb-keyval": "^6.2.1",
"immer": "^10.1.1",
"js-yaml": "^4.3.2",
"konva": "^10.2.3",
"lodash": "^4.18.1",
@@ -74,7 +73,7 @@
"next-themes": "^0.4.6",
"nosleep.js": "^0.12.0",
"react": "^19.2.4",
"react-apexcharts": "^1.4.1",
"react-apexcharts": "^2.1.1",
"react-day-picker": "^9.14.0",
"react-device-detect": "^2.2.3",
"react-dom": "^19.2.4",
@@ -108,15 +107,16 @@
"@testing-library/jest-dom": "^6.6.2",
"@types/js-yaml": "^4.0.9",
"@types/lodash": "^4.17.12",
"@types/node": "^20.14.10",
"@types/node": "^25.9.6",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@types/strftime": "^0.9.8",
"@typescript-eslint/eslint-plugin": "^7.5.0",
"@typescript-eslint/parser": "^7.5.0",
"@vitejs/plugin-react-swc": "^3.8.0",
"@vitest/coverage-v8": "^3.0.7",
"@vitejs/plugin-react": "^6.1.1",
"@vitest/coverage-v8": "^4.1.11",
"autoprefixer": "^10.4.20",
"esbuild": "^0.28.2",
"eslint": "^8.57.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-jest": "^28.2.0",
@@ -136,8 +136,8 @@
"prettier-plugin-tailwindcss": "^0.6.5",
"tailwindcss": "^3.4.9",
"typescript": "^5.9.3",
"vite": "^6.4.2",
"vitest": "^3.0.7"
"vite": "^8.3.0",
"vitest": "^4.1.11"
},
"overrides": {
"@radix-ui/react-compose-refs": "1.1.2",
@@ -1,6 +1,7 @@
import { useTheme } from "@/context/theme-provider";
import { generateColors } from "@/utils/colorUtil";
import { useCallback, useEffect, useMemo } from "react";
import ApexCharts from "apexcharts";
import Chart from "react-apexcharts";
import {
Table,
@@ -151,10 +152,10 @@ export function CombinedStorageGraph({
show: false,
},
y: {
formatter: function (val, { seriesIndex }) {
if (series[seriesIndex]) {
const usage = series[seriesIndex].usage;
return `${getUnitSize(usage)} (${val.toFixed(2)}%)`;
formatter: function (val, opts) {
const entry = opts ? series[opts.seriesIndex] : undefined;
if (entry) {
return `${getUnitSize(entry.usage)} (${val.toFixed(2)}%)`;
}
},
},
+2
View File
@@ -1,8 +1,10 @@
import { useTheme } from "@/context/theme-provider";
import { useDateLocale } from "@/hooks/use-date-locale";
import { FrigateConfig } from "@/types/frigateConfig";
import { ApexAxisChartSeries } from "@/types/graph";
import { formatUnixTimestampToDateTime } from "@/utils/dateUtil";
import { useCallback, useEffect, useMemo, useRef } from "react";
import ApexCharts from "apexcharts";
import Chart from "react-apexcharts";
import { isMobileOnly } from "react-device-detect";
import { useTranslation } from "react-i18next";
@@ -1,5 +1,6 @@
import { useTheme } from "@/context/theme-provider";
import { useEffect, useMemo } from "react";
import ApexCharts from "apexcharts";
import Chart from "react-apexcharts";
import { getUnitSize } from "@/utils/storageUtil";
+2 -1
View File
@@ -1,9 +1,10 @@
import { useTheme } from "@/context/theme-provider";
import { useDateLocale } from "@/hooks/use-date-locale";
import { FrigateConfig } from "@/types/frigateConfig";
import { Threshold } from "@/types/graph";
import { ApexAxisChartSeries, Threshold } from "@/types/graph";
import { formatUnixTimestampToDateTime } from "@/utils/dateUtil";
import { useCallback, useEffect, useMemo, useRef } from "react";
import ApexCharts from "apexcharts";
import Chart from "react-apexcharts";
import { isMobileOnly } from "react-device-detect";
import { useTranslation } from "react-i18next";
+7
View File
@@ -1,3 +1,10 @@
import type ApexCharts from "apexcharts";
// apexcharts declares this type but does not export it
export type ApexAxisChartSeries = NonNullable<
ApexCharts.ApexDrilldownSeries["series"]
>;
export type GraphDataPoint = {
x: Date;
y: number;
+2 -2
View File
@@ -1,8 +1,8 @@
{
"compilerOptions": {
"target": "ES2020",
"target": "ES2022",
"useDefineForClassFields": true,
"lib": ["ES2020", "DOM", "DOM.Iterable", "ES2021.String"],
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"module": "ESNext",
"skipLibCheck": true,
"baseUrl": ".",
+10 -10
View File
@@ -1,7 +1,7 @@
/// <reference types="vitest" />
/// <reference types="vitest/config" />
import path, { resolve } from "path";
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
import react from "@vitejs/plugin-react";
import monacoEditorPlugin from "vite-plugin-monaco-editor";
const proxyHost = process.env.PROXY_HOST || "localhost:5000";
@@ -37,14 +37,14 @@ export default defineConfig({
},
},
},
esbuild: {
keepNames: true,
},
build: {
rollupOptions: {
rolldownOptions: {
input: {
main: resolve(__dirname, "index.html"),
login: resolve(__dirname, "login.html"),
main: resolve(import.meta.dirname, "index.html"),
login: resolve(import.meta.dirname, "login.html"),
},
output: {
keepNames: true,
},
},
},
@@ -57,14 +57,14 @@ export default defineConfig({
],
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
"@": path.resolve(import.meta.dirname, "./src"),
},
},
test: {
environment: "jsdom",
alias: {
"testing-library": path.resolve(
__dirname,
import.meta.dirname,
"./__test__/testing-library.js",
),
},