Skip to content

Commit

Permalink
refactor: Bump all dependencies to latest versions + minor code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
Hypfer committed Nov 26, 2023
1 parent 5d999fd commit 5a364ef
Show file tree
Hide file tree
Showing 98 changed files with 11,489 additions and 9,198 deletions.
1 change: 1 addition & 0 deletions .eslintrc.json
Expand Up @@ -61,6 +61,7 @@
"regexp/prefer-w": "off",
"regexp/prefer-d": "off",
"regexp/no-useless-escape": "off",
"regexp/use-ignore-case": "off",



Expand Down
3 changes: 2 additions & 1 deletion backend/lib/entities/ContainerEntity.js
Expand Up @@ -67,7 +67,8 @@ class ContainerEntity extends SerializableEntity {
*/
subscribe(subscriber, matcher) {
const metas = this.getAttributeSubscribersMetas(matcher, {exact: true});
let meta = null;
let meta;

if (metas.length > 0) {
meta = metas[0];
if (metas.length > 1) {
Expand Down
2 changes: 1 addition & 1 deletion backend/lib/mqtt/handles/MapNodeMqttHandle.js
Expand Up @@ -14,7 +14,7 @@ const zlib = require("zlib");
class MapNodeMqttHandle extends NodeMqttHandle {
/**
* @param {object} options
* @param {import("./RobotMqttHandle")} options.parent}
* @param {import("./RobotMqttHandle")} options.parent
* @param {import("../MqttController")} options.controller MqttController instance
* @param {import("../../core/ValetudoRobot")} options.robot
*/
Expand Down
Expand Up @@ -4,15 +4,6 @@ const FanSpeedControlCapability = require("../../../core/capabilities/FanSpeedCo
* @extends FanSpeedControlCapability<import("../ViomiValetudoRobot")>
*/
class ViomiFanSpeedControlCapability extends FanSpeedControlCapability {
/**
* @returns {Array<string>}
*/
getFanSpeedPresets() {
return this.presets.map(p => {
return p.name;
});
}

/**
* @param {string} preset
* @returns {Promise<void>}
Expand Down
7 changes: 6 additions & 1 deletion backend/lib/webserver/ValetudoRouter.js
@@ -1,4 +1,5 @@
const express = require("express");
const fs = require("fs");
const nestedProperty = require("nested-property");
const RateLimit = require("express-rate-limit");

Expand Down Expand Up @@ -85,7 +86,11 @@ class ValetudoRouter {
});

this.router.get("/log/content", this.limiter, (req, res) => {
res.sendFile(Logger.getLogFilePath());
if (fs.existsSync(Logger.getLogFilePath())) {
res.sendFile(Logger.getLogFilePath());
} else {
res.send("\n");
}
});


Expand Down
30 changes: 15 additions & 15 deletions backend/package.json
Expand Up @@ -37,39 +37,39 @@
"ajv": "8.12.0",
"async-mqtt": "2.6.3",
"axios": "0.27.2",
"bonjour-service": "1.1.0",
"bonjour-service": "1.1.1",
"compression": "1.7.4",
"crc": "4.3.2",
"express": "4.18.2",
"express-basic-auth": "1.2.1",
"express-dynamic-middleware": "1.0.0",
"express-list-endpoints": "6.0.0",
"express-rate-limit": "6.7.0",
"express-rate-limit": "7.1.4",
"hashlru": "git+https://npm@github.com/Hypfer/hashlru#3.0.0",
"is-in-subnet": "4.0.1",
"jstoxml": "3.2.6",
"mqtt": "4.3.7",
"jstoxml": "3.2.10",
"mqtt": "5.3.0",
"nested-object-assign": "1.0.4",
"nested-property": "4.0.0",
"openapi-validator-middleware": "3.2.6",
"semaphore": "1.1.0",
"swagger-ui-express": "4.6.2",
"uuid": "9.0.0",
"swagger-ui-express": "5.0.0",
"uuid": "9.0.1",
"zoo-ids": "2.0.7"
},
"devDependencies": {
"@types/compression": "1.7.2",
"@types/express": "4.17.17",
"@types/express-list-endpoints": "6.0.0",
"@types/jstoxml": "2.0.2",
"@types/mocha": "10.0.1",
"@types/compression": "1.7.5",
"@types/express": "4.17.21",
"@types/express-list-endpoints": "6.0.3",
"@types/jstoxml": "2.0.4",
"@types/mocha": "10.0.6",
"@types/node": "18.15.3",
"@types/node-ssdp": "4.0.1",
"@types/semaphore": "1.1.1",
"@types/uuid": "9.0.1",
"@types/node-ssdp": "4.0.4",
"@types/semaphore": "1.1.4",
"@types/uuid": "9.0.7",
"cross-env": "7.0.3",
"mocha": "10.2.0",
"pkg": "5.8.0",
"pkg": "5.8.1",
"should": "13.2.3"
}
}
43 changes: 23 additions & 20 deletions frontend/package.json
Expand Up @@ -31,37 +31,40 @@
]
},
"dependencies": {
"@fontsource/jetbrains-mono": "4.5.12",
"@fontsource/roboto": "4.5.8",
"@mui/material": "5.11.13",
"@mui/base": "5.0.0-alpha.81",
"@mui/icons-material": "5.11.11",
"@mui/lab": "5.0.0-alpha.82",
"@emotion/styled": "11.10.6",
"@emotion/react": "11.10.6",
"axios": "1.3.4",
"date-fns": "2.29.3",
"@fontsource/jetbrains-mono": "5.0.17",
"@fontsource/roboto": "5.0.8",
"@mui/material": "5.14.18",
"@mui/base": "5.0.0-alpha.128",
"@mui/icons-material": "5.14.18",
"@mui/lab": "5.0.0-alpha.153",
"@mui/x-date-pickers": "6.18.2",
"@emotion/styled": "11.11.0",
"@emotion/react": "11.11.1",
"@tanstack/react-query": "5.8.7",
"@tanstack/react-query-devtools": "5.8.7",
"axios": "1.6.2",
"date-fns": "2.30.0",
"notistack": "3.0.1",
"react": "18.2.0",
"react-div-100vh": "0.7.0",
"react-dom": "18.2.0",
"reconnecting-eventsource": "1.6.2",
"rehype-raw": "6.1.1",
"react-markdown": "8.0.5",
"remark-gfm": "3.0.1",
"react-query": "3.39.3",
"rehype-raw": "7.0.0",
"react-markdown": "9.0.1",
"remark-gfm": "4.0.0",
"react-router-dom": "5.3.3",
"react-scripts": "5.0.1",
"semaphore": "1.1.0",
"use-long-press": "2.0.3",
"uuid": "9.0.0",
"zustand": "4.3.6"
"use-long-press": "3.2.0",
"uuid": "9.0.1",
"zustand": "4.4.6"
},
"devDependencies": {
"@types/react": "18.0.28",
"@types/react-dom": "18.0.11",
"@babel/plugin-proposal-private-property-in-object": "7.21.11",
"@types/react": "18.2.38",
"@types/react-dom": "18.2.17",
"@types/react-router-dom": "5.3.3",
"@types/uuid": "9.0.1",
"@types/uuid": "9.0.7",
"tsutils": "3.21.0",
"cra-build-watch": "git+https://npm@github.com/Hypfer/cra-build-watch.git#5.0.0"
}
Expand Down
12 changes: 6 additions & 6 deletions frontend/src/App.tsx
@@ -1,22 +1,22 @@
import React from "react";
import {createTheme, CssBaseline, PaletteMode, ThemeProvider, useMediaQuery} from "@mui/material";
import AdapterDateFns from "@mui/lab/AdapterDateFns";
import LocalizationProvider from "@mui/lab/LocalizationProvider";
import RouterChoice from "./RouterChoice";
import CapabilitiesProvider from "./CapabilitiesProvider";
import {SnackbarProvider} from "notistack";
import {QueryClient, QueryClientProvider} from "react-query";
import {ReactQueryDevtools} from "react-query/devtools";
import {QueryClient, QueryClientProvider} from "@tanstack/react-query";
import {ReactQueryDevtools} from "@tanstack/react-query-devtools";
import {useLocalStorage} from "./hooks";
import "@fontsource/roboto/300.css";
import "@fontsource/roboto/400.css";
import "@fontsource/roboto/500.css";
import "@fontsource/roboto/700.css";
import "@fontsource/jetbrains-mono/200.css";
import {LocalizationProvider} from "@mui/x-date-pickers";
import {AdapterDateFns} from "@mui/x-date-pickers/AdapterDateFns";

const queryClient = new QueryClient();

const App = (): JSX.Element => {
const App = (): React.ReactElement => {
const prefersDarkMode = useMediaQuery("(prefers-color-scheme: dark)");
const [paletteMode, setPaletteMode] = useLocalStorage<PaletteMode>("palette-mode", prefersDarkMode ? "dark" : "light");

Expand Down Expand Up @@ -44,7 +44,7 @@ const App = (): JSX.Element => {
</SnackbarProvider>
</ThemeProvider>

<ReactQueryDevtools initialIsOpen={false}/>
<ReactQueryDevtools initialIsOpen={false} buttonPosition={"bottom-left"}/>
</LocalizationProvider>
</QueryClientProvider>
);
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/AppRouter.tsx
Expand Up @@ -25,7 +25,7 @@ const Content = styled("main")({
const AppRouter: React.FunctionComponent<{ paletteMode: PaletteMode, setPaletteMode: (newMode: PaletteMode) => void }> = ({
paletteMode,
setPaletteMode
}): JSX.Element => {
}): React.ReactElement => {
return (
<HashRouter>
<Root>
Expand Down
10 changes: 5 additions & 5 deletions frontend/src/CapabilitiesProvider.tsx
Expand Up @@ -16,12 +16,12 @@ const StyledBackdrop = styled(Backdrop)(({theme}) => {
const Context = React.createContext<Capability[]>([]);

const CapabilitiesProvider = (props: {
children: JSX.Element;
}): JSX.Element => {
children: React.ReactElement;
}): React.ReactElement => {
const {children} = props;
const {
isError: capabilitiesLoadError,
isLoading: capabilitiesLoading,
isPending: capabilitiesPending,
data: capabilities,
refetch: refetchCapabilities
} = useCapabilitiesQuery();
Expand Down Expand Up @@ -72,9 +72,9 @@ const CapabilitiesProvider = (props: {
return (
<Context.Provider value={capabilities ?? []}>
<StyledBackdrop
open={capabilitiesLoading}
open={capabilitiesPending}
style={{
transitionDelay: capabilitiesLoading ? "800ms" : "0ms",
transitionDelay: capabilitiesPending ? "800ms" : "0ms",
}}
unmountOnExit
>
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/HomePage.tsx
Expand Up @@ -10,7 +10,7 @@ const ScrollableGrid = styled(Grid)({
overflow: "auto",
});

const HomePage = (): JSX.Element => {
const HomePage = (): React.ReactElement => {
const mobileView = useIsMobileView();
const [mobileControlsOpen, setMobileControlsOpen] = React.useState(false);

Expand Down
6 changes: 3 additions & 3 deletions frontend/src/MainApp.tsx
Expand Up @@ -11,14 +11,14 @@ export const MainApp: React.FunctionComponent<{
}> = ({
paletteMode,
setPaletteMode
}): JSX.Element => {
}): React.ReactElement => {
const {
data: valetudoInformation,
isLoading: valetudoInformationLoading
isPending: valetudoInformationPending
} = useValetudoInformationQuery();
const [hideWelcomeDialog, setHideWelcomeDialog] = React.useState(false);

if (valetudoInformationLoading || !valetudoInformation) {
if (valetudoInformationPending || !valetudoInformation) {
return <ValetudoSplash/>;
}

Expand Down
16 changes: 8 additions & 8 deletions frontend/src/ProvisioningPage.tsx
Expand Up @@ -50,7 +50,7 @@ const SignalStrengthIcon :React.FunctionComponent<{
signal?: number
}> = ({
signal
}): JSX.Element => {
}): React.ReactElement => {
//Adapted from https://android.stackexchange.com/a/176325 Android 7.1.2
if (signal === undefined) {
return <SignalWifiUnknown/>;
Expand All @@ -71,7 +71,7 @@ const WifiScan: React.FunctionComponent<{
onSelect: (ssid: string) => void,
}> = ({
onSelect
}): JSX.Element => {
}): React.ReactElement => {
const {
data: wifiScanResult,
isFetching: wifiScanFetching,
Expand Down Expand Up @@ -192,19 +192,19 @@ const WifiScan: React.FunctionComponent<{



const ProvisioningPage = (): JSX.Element => {
const ProvisioningPage = (): React.ReactElement => {
const [wifiScanSupported] = useCapabilitiesSupported(Capability.WifiScan);
const {
data: robotInformation,
isLoading: robotInformationLoading,
isPending: robotInformationPending,
} = useRobotInformationQuery();
const {
data: version,
isLoading: versionLoading,
isPending: versionPending,
} = useValetudoVersionQuery();
const {
mutate: updateWifiConfiguration,
isLoading: wifiConfigurationUpdating
isPending: wifiConfigurationUpdating
} = useWifiConfigurationMutation({
onSuccess: () => {
setSuccessDialogOpen(true);
Expand All @@ -217,7 +217,7 @@ const ProvisioningPage = (): JSX.Element => {
const [successDialogOpen, setSuccessDialogOpen] = React.useState(false);

const robotInformationElement = React.useMemo(() => {
if (robotInformationLoading || versionLoading) {
if (robotInformationPending || versionPending) {
return (
<LoadingFade/>
);
Expand Down Expand Up @@ -247,7 +247,7 @@ const ProvisioningPage = (): JSX.Element => {
})}
</Grid>
);
}, [robotInformation, robotInformationLoading, version, versionLoading]);
}, [robotInformation, robotInformationPending, version, versionPending]);


return (
Expand Down
12 changes: 6 additions & 6 deletions frontend/src/RouterChoice.tsx
Expand Up @@ -15,13 +15,13 @@ const RouterChoiceStageTwo: React.FunctionComponent<{
paletteMode,
setPaletteMode,
setBypassProvisioning
}): JSX.Element => {
}): React.ReactElement => {
const {
data: wifiConfiguration,
isLoading: wifiConfigurationLoading,
isPending: wifiConfigurationPending,
} = useWifiStatusQuery();

if (wifiConfigurationLoading) {
if (wifiConfigurationPending) {
return <ValetudoSplash/>;
}

Expand All @@ -45,15 +45,15 @@ const RouterChoice: React.FunctionComponent<{
}> = ({
paletteMode,
setPaletteMode
}): JSX.Element => {
}): React.ReactElement => {
const [bypassProvisioning, setBypassProvisioning] = React.useState(false);
const [wifiConfigSupported] = useCapabilitiesSupported(Capability.WifiConfiguration);
const {
data: valetudoInformation,
isLoading: valetudoInformationLoading
isPending: valetudoInformationPending
} = useValetudoInformationQuery();

if (valetudoInformationLoading || !valetudoInformation) {
if (valetudoInformationPending || !valetudoInformation) {
return <ValetudoSplash/>;
}

Expand Down

0 comments on commit 5a364ef

Please sign in to comment.