diff options
author | 2022-11-22 16:35:42 +0100 | |
---|---|---|
committer | 2022-11-22 16:40:04 +0100 | |
commit | 862cb00e40aa6f094aff019a44f52ebfca90ab88 (patch) | |
tree | 3c32b6ca6612d07d3d1fcfc5620c86ba9c774b3b | |
parent | refactor(language): simplify syntax (diff) | |
download | refinery-862cb00e40aa6f094aff019a44f52ebfca90ab88.tar.gz refinery-862cb00e40aa6f094aff019a44f52ebfca90ab88.tar.zst refinery-862cb00e40aa6f094aff019a44f52ebfca90ab88.zip |
fix(frontend): mobx 6.7.0 typing
Also bumps some dependencies and updates tsconfig.json
The added workarounds should be remove once
https://github.com/mobxjs/mobx/issues/3582 is resolved.
34 files changed, 159 insertions, 160 deletions
diff --git a/subprojects/frontend/.eslintrc.cjs b/subprojects/frontend/.eslintrc.cjs index 0bf65c4f..eadd3fb4 100644 --- a/subprojects/frontend/.eslintrc.cjs +++ b/subprojects/frontend/.eslintrc.cjs | |||
@@ -67,6 +67,8 @@ module.exports = { | |||
67 | ], | 67 | ], |
68 | // Use prop spreading to conditionally add props with `exactOptionalPropertyTypes`. | 68 | // Use prop spreading to conditionally add props with `exactOptionalPropertyTypes`. |
69 | 'react/jsx-props-no-spreading': 'off', | 69 | 'react/jsx-props-no-spreading': 'off', |
70 | // We use the `react-jsx` runtime, so there is no need to import `React`. | ||
71 | 'react/react-in-jsx-scope': 'off', | ||
70 | }, | 72 | }, |
71 | overrides: [ | 73 | overrides: [ |
72 | { | 74 | { |
diff --git a/subprojects/frontend/package.json b/subprojects/frontend/package.json index 4a890ee5..3bc84d6e 100644 --- a/subprojects/frontend/package.json +++ b/subprojects/frontend/package.json | |||
@@ -38,8 +38,8 @@ | |||
38 | "@lezer/highlight": "^1.1.2", | 38 | "@lezer/highlight": "^1.1.2", |
39 | "@lezer/lr": "^1.2.5", | 39 | "@lezer/lr": "^1.2.5", |
40 | "@material-icons/svg": "^1.0.33", | 40 | "@material-icons/svg": "^1.0.33", |
41 | "@mui/icons-material": "5.10.14", | 41 | "@mui/icons-material": "5.10.15", |
42 | "@mui/material": "5.10.14", | 42 | "@mui/material": "5.10.15", |
43 | "ansi-styles": "^6.2.1", | 43 | "ansi-styles": "^6.2.1", |
44 | "escape-string-regexp": "^5.0.0", | 44 | "escape-string-regexp": "^5.0.0", |
45 | "lodash-es": "^4.17.21", | 45 | "lodash-es": "^4.17.21", |
@@ -57,6 +57,7 @@ | |||
57 | }, | 57 | }, |
58 | "devDependencies": { | 58 | "devDependencies": { |
59 | "@lezer/generator": "^1.1.3", | 59 | "@lezer/generator": "^1.1.3", |
60 | "@tsconfig/node18-strictest-esm": "^1.0.1", | ||
60 | "@types/eslint": "^8.4.10", | 61 | "@types/eslint": "^8.4.10", |
61 | "@types/html-minifier-terser": "^7.0.0", | 62 | "@types/html-minifier-terser": "^7.0.0", |
62 | "@types/lodash-es": "^4.17.6", | 63 | "@types/lodash-es": "^4.17.6", |
@@ -65,8 +66,8 @@ | |||
65 | "@types/prettier": "^2.7.1", | 66 | "@types/prettier": "^2.7.1", |
66 | "@types/react": "^18.0.25", | 67 | "@types/react": "^18.0.25", |
67 | "@types/react-dom": "^18.0.9", | 68 | "@types/react-dom": "^18.0.9", |
68 | "@typescript-eslint/eslint-plugin": "^5.43.0", | 69 | "@typescript-eslint/eslint-plugin": "^5.44.0", |
69 | "@typescript-eslint/parser": "^5.43.0", | 70 | "@typescript-eslint/parser": "^5.44.0", |
70 | "@vitejs/plugin-react": "^2.2.0", | 71 | "@vitejs/plugin-react": "^2.2.0", |
71 | "@xstate/cli": "^0.3.3", | 72 | "@xstate/cli": "^0.3.3", |
72 | "cross-env": "^7.0.3", | 73 | "cross-env": "^7.0.3", |
@@ -81,7 +82,7 @@ | |||
81 | "eslint-plugin-prettier": "^4.2.1", | 82 | "eslint-plugin-prettier": "^4.2.1", |
82 | "eslint-plugin-react": "^7.31.11", | 83 | "eslint-plugin-react": "^7.31.11", |
83 | "eslint-plugin-react-hooks": "^4.6.0", | 84 | "eslint-plugin-react-hooks": "^4.6.0", |
84 | "html-minifier-terser": "^7.0.0", | 85 | "html-minifier-terser": "^7.1.0", |
85 | "prettier": "^2.7.1", | 86 | "prettier": "^2.7.1", |
86 | "typescript": "4.9.3", | 87 | "typescript": "4.9.3", |
87 | "vite": "^3.2.4", | 88 | "vite": "^3.2.4", |
diff --git a/subprojects/frontend/src/App.tsx b/subprojects/frontend/src/App.tsx index a471690b..b162e551 100644 --- a/subprojects/frontend/src/App.tsx +++ b/subprojects/frontend/src/App.tsx | |||
@@ -1,6 +1,6 @@ | |||
1 | import Box from '@mui/material/Box'; | 1 | import Box from '@mui/material/Box'; |
2 | import CssBaseline from '@mui/material/CssBaseline'; | 2 | import CssBaseline from '@mui/material/CssBaseline'; |
3 | import React, { StrictMode, Suspense, lazy } from 'react'; | 3 | import { StrictMode, Suspense, lazy } from 'react'; |
4 | 4 | ||
5 | import Loading from './Loading'; | 5 | import Loading from './Loading'; |
6 | import type RootStore from './RootStore'; | 6 | import type RootStore from './RootStore'; |
diff --git a/subprojects/frontend/src/Loading.tsx b/subprojects/frontend/src/Loading.tsx index 8c293239..489563e0 100644 --- a/subprojects/frontend/src/Loading.tsx +++ b/subprojects/frontend/src/Loading.tsx | |||
@@ -1,6 +1,5 @@ | |||
1 | import CircularProgress from '@mui/material/CircularProgress'; | 1 | import CircularProgress from '@mui/material/CircularProgress'; |
2 | import { styled } from '@mui/material/styles'; | 2 | import { styled } from '@mui/material/styles'; |
3 | import React from 'react'; | ||
4 | 3 | ||
5 | const LoadingRoot = styled('div')(({ theme }) => ({ | 4 | const LoadingRoot = styled('div')(({ theme }) => ({ |
6 | width: '100%', | 5 | width: '100%', |
diff --git a/subprojects/frontend/src/Refinery.tsx b/subprojects/frontend/src/Refinery.tsx index 41f835b3..d6bd6159 100644 --- a/subprojects/frontend/src/Refinery.tsx +++ b/subprojects/frontend/src/Refinery.tsx | |||
@@ -1,7 +1,6 @@ | |||
1 | import Grow from '@mui/material/Grow'; | 1 | import Grow from '@mui/material/Grow'; |
2 | import Stack from '@mui/material/Stack'; | 2 | import Stack from '@mui/material/Stack'; |
3 | import { SnackbarProvider } from 'notistack'; | 3 | import { SnackbarProvider } from 'notistack'; |
4 | import React from 'react'; | ||
5 | 4 | ||
6 | import TopBar from './TopBar'; | 5 | import TopBar from './TopBar'; |
7 | import UpdateNotification from './UpdateNotification'; | 6 | import UpdateNotification from './UpdateNotification'; |
diff --git a/subprojects/frontend/src/RootStoreProvider.tsx b/subprojects/frontend/src/RootStoreProvider.tsx index 70ac7776..2c11a0f9 100644 --- a/subprojects/frontend/src/RootStoreProvider.tsx +++ b/subprojects/frontend/src/RootStoreProvider.tsx | |||
@@ -1,4 +1,4 @@ | |||
1 | import React, { type ReactNode, createContext, useContext } from 'react'; | 1 | import { type ReactNode, createContext, useContext } from 'react'; |
2 | 2 | ||
3 | import type RootStore from './RootStore'; | 3 | import type RootStore from './RootStore'; |
4 | 4 | ||
diff --git a/subprojects/frontend/src/ToggleDarkModeButton.tsx b/subprojects/frontend/src/ToggleDarkModeButton.tsx index 52606242..59714f20 100644 --- a/subprojects/frontend/src/ToggleDarkModeButton.tsx +++ b/subprojects/frontend/src/ToggleDarkModeButton.tsx | |||
@@ -2,7 +2,6 @@ import DarkModeIcon from '@mui/icons-material/DarkMode'; | |||
2 | import LightModeIcon from '@mui/icons-material/LightMode'; | 2 | import LightModeIcon from '@mui/icons-material/LightMode'; |
3 | import IconButton from '@mui/material/IconButton'; | 3 | import IconButton from '@mui/material/IconButton'; |
4 | import { observer } from 'mobx-react-lite'; | 4 | import { observer } from 'mobx-react-lite'; |
5 | import React from 'react'; | ||
6 | 5 | ||
7 | import { useRootStore } from './RootStoreProvider'; | 6 | import { useRootStore } from './RootStoreProvider'; |
8 | 7 | ||
diff --git a/subprojects/frontend/src/TopBar.tsx b/subprojects/frontend/src/TopBar.tsx index 79ea0b65..c943f7c4 100644 --- a/subprojects/frontend/src/TopBar.tsx +++ b/subprojects/frontend/src/TopBar.tsx | |||
@@ -5,7 +5,7 @@ import { useTheme } from '@mui/material/styles'; | |||
5 | import useMediaQuery from '@mui/material/useMediaQuery'; | 5 | import useMediaQuery from '@mui/material/useMediaQuery'; |
6 | import { throttle } from 'lodash-es'; | 6 | import { throttle } from 'lodash-es'; |
7 | import { observer } from 'mobx-react-lite'; | 7 | import { observer } from 'mobx-react-lite'; |
8 | import React, { useEffect, useMemo, useState } from 'react'; | 8 | import { useEffect, useMemo, useState } from 'react'; |
9 | 9 | ||
10 | import { useRootStore } from './RootStoreProvider'; | 10 | import { useRootStore } from './RootStoreProvider'; |
11 | import ToggleDarkModeButton from './ToggleDarkModeButton'; | 11 | import ToggleDarkModeButton from './ToggleDarkModeButton'; |
diff --git a/subprojects/frontend/src/UpdateNotification.tsx b/subprojects/frontend/src/UpdateNotification.tsx index 8c46186a..07f7f5f7 100644 --- a/subprojects/frontend/src/UpdateNotification.tsx +++ b/subprojects/frontend/src/UpdateNotification.tsx | |||
@@ -1,6 +1,6 @@ | |||
1 | import Button from '@mui/material/Button'; | 1 | import Button from '@mui/material/Button'; |
2 | import { observer } from 'mobx-react-lite'; | 2 | import { observer } from 'mobx-react-lite'; |
3 | import React, { useEffect } from 'react'; | 3 | import { useEffect } from 'react'; |
4 | 4 | ||
5 | import { useRootStore } from './RootStoreProvider'; | 5 | import { useRootStore } from './RootStoreProvider'; |
6 | import { ContrastThemeProvider } from './theme/ThemeProvider'; | 6 | import { ContrastThemeProvider } from './theme/ThemeProvider'; |
diff --git a/subprojects/frontend/src/editor/AnimatedButton.tsx b/subprojects/frontend/src/editor/AnimatedButton.tsx index d08decbc..7f6c61f0 100644 --- a/subprojects/frontend/src/editor/AnimatedButton.tsx +++ b/subprojects/frontend/src/editor/AnimatedButton.tsx | |||
@@ -1,7 +1,7 @@ | |||
1 | import Box from '@mui/material/Box'; | 1 | import Box from '@mui/material/Box'; |
2 | import Button from '@mui/material/Button'; | 2 | import Button from '@mui/material/Button'; |
3 | import { styled } from '@mui/material/styles'; | 3 | import { styled } from '@mui/material/styles'; |
4 | import React, { type ReactNode, useLayoutEffect, useState } from 'react'; | 4 | import { type ReactNode, useLayoutEffect, useState } from 'react'; |
5 | 5 | ||
6 | const AnimatedButtonBase = styled(Button, { | 6 | const AnimatedButtonBase = styled(Button, { |
7 | shouldForwardProp: (prop) => prop !== 'width', | 7 | shouldForwardProp: (prop) => prop !== 'width', |
diff --git a/subprojects/frontend/src/editor/ConnectButton.tsx b/subprojects/frontend/src/editor/ConnectButton.tsx index 52e7b854..e2d251f3 100644 --- a/subprojects/frontend/src/editor/ConnectButton.tsx +++ b/subprojects/frontend/src/editor/ConnectButton.tsx | |||
@@ -5,7 +5,6 @@ import SyncProblemIcon from '@mui/icons-material/SyncProblem'; | |||
5 | import IconButton from '@mui/material/IconButton'; | 5 | import IconButton from '@mui/material/IconButton'; |
6 | import { keyframes, styled } from '@mui/material/styles'; | 6 | import { keyframes, styled } from '@mui/material/styles'; |
7 | import { observer } from 'mobx-react-lite'; | 7 | import { observer } from 'mobx-react-lite'; |
8 | import React from 'react'; | ||
9 | 8 | ||
10 | import type EditorStore from './EditorStore'; | 9 | import type EditorStore from './EditorStore'; |
11 | 10 | ||
diff --git a/subprojects/frontend/src/editor/ConnectionStatusNotification.tsx b/subprojects/frontend/src/editor/ConnectionStatusNotification.tsx index f7f089f0..9b27f45c 100644 --- a/subprojects/frontend/src/editor/ConnectionStatusNotification.tsx +++ b/subprojects/frontend/src/editor/ConnectionStatusNotification.tsx | |||
@@ -1,6 +1,6 @@ | |||
1 | import Button from '@mui/material/Button'; | 1 | import Button from '@mui/material/Button'; |
2 | import { observer } from 'mobx-react-lite'; | 2 | import { observer } from 'mobx-react-lite'; |
3 | import React, { useEffect } from 'react'; | 3 | import { useEffect } from 'react'; |
4 | 4 | ||
5 | import { ContrastThemeProvider } from '../theme/ThemeProvider'; | 5 | import { ContrastThemeProvider } from '../theme/ThemeProvider'; |
6 | import useDelayedSnackbar from '../utils/useDelayedSnackbar'; | 6 | import useDelayedSnackbar from '../utils/useDelayedSnackbar'; |
diff --git a/subprojects/frontend/src/editor/EditorArea.tsx b/subprojects/frontend/src/editor/EditorArea.tsx index 95f0f92e..cfb988b2 100644 --- a/subprojects/frontend/src/editor/EditorArea.tsx +++ b/subprojects/frontend/src/editor/EditorArea.tsx | |||
@@ -1,7 +1,7 @@ | |||
1 | import Box from '@mui/material/Box'; | 1 | import Box from '@mui/material/Box'; |
2 | import { useTheme } from '@mui/material/styles'; | 2 | import { useTheme } from '@mui/material/styles'; |
3 | import { observer } from 'mobx-react-lite'; | 3 | import { observer } from 'mobx-react-lite'; |
4 | import React, { useCallback, useEffect } from 'react'; | 4 | import { useCallback, useEffect } from 'react'; |
5 | 5 | ||
6 | import type EditorStore from './EditorStore'; | 6 | import type EditorStore from './EditorStore'; |
7 | import EditorTheme from './EditorTheme'; | 7 | import EditorTheme from './EditorTheme'; |
diff --git a/subprojects/frontend/src/editor/EditorButtons.tsx b/subprojects/frontend/src/editor/EditorButtons.tsx index fd046d46..53b06e23 100644 --- a/subprojects/frontend/src/editor/EditorButtons.tsx +++ b/subprojects/frontend/src/editor/EditorButtons.tsx | |||
@@ -13,7 +13,6 @@ import Stack from '@mui/material/Stack'; | |||
13 | import ToggleButton from '@mui/material/ToggleButton'; | 13 | import ToggleButton from '@mui/material/ToggleButton'; |
14 | import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; | 14 | import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; |
15 | import { observer } from 'mobx-react-lite'; | 15 | import { observer } from 'mobx-react-lite'; |
16 | import React from 'react'; | ||
17 | 16 | ||
18 | import ConnectButton from './ConnectButton'; | 17 | import ConnectButton from './ConnectButton'; |
19 | import type EditorStore from './EditorStore'; | 18 | import type EditorStore from './EditorStore'; |
diff --git a/subprojects/frontend/src/editor/EditorPane.tsx b/subprojects/frontend/src/editor/EditorPane.tsx index 0db4b892..1d51b3f5 100644 --- a/subprojects/frontend/src/editor/EditorPane.tsx +++ b/subprojects/frontend/src/editor/EditorPane.tsx | |||
@@ -5,7 +5,7 @@ import Toolbar from '@mui/material/Toolbar'; | |||
5 | import { useTheme } from '@mui/material/styles'; | 5 | import { useTheme } from '@mui/material/styles'; |
6 | import useMediaQuery from '@mui/material/useMediaQuery'; | 6 | import useMediaQuery from '@mui/material/useMediaQuery'; |
7 | import { observer } from 'mobx-react-lite'; | 7 | import { observer } from 'mobx-react-lite'; |
8 | import React, { useState } from 'react'; | 8 | import { useState } from 'react'; |
9 | 9 | ||
10 | import { useRootStore } from '../RootStoreProvider'; | 10 | import { useRootStore } from '../RootStoreProvider'; |
11 | 11 | ||
diff --git a/subprojects/frontend/src/editor/EditorStore.ts b/subprojects/frontend/src/editor/EditorStore.ts index acad3d09..d966690c 100644 --- a/subprojects/frontend/src/editor/EditorStore.ts +++ b/subprojects/frontend/src/editor/EditorStore.ts | |||
@@ -1,4 +1,7 @@ | |||
1 | import { CompletionContext, CompletionResult } from '@codemirror/autocomplete'; | 1 | import type { |
2 | CompletionContext, | ||
3 | CompletionResult, | ||
4 | } from '@codemirror/autocomplete'; | ||
2 | import { redo, redoDepth, undo, undoDepth } from '@codemirror/commands'; | 5 | import { redo, redoDepth, undo, undoDepth } from '@codemirror/commands'; |
3 | import { | 6 | import { |
4 | type Diagnostic, | 7 | type Diagnostic, |
diff --git a/subprojects/frontend/src/editor/GenerateButton.tsx b/subprojects/frontend/src/editor/GenerateButton.tsx index 8b6ae660..1a32f5ce 100644 --- a/subprojects/frontend/src/editor/GenerateButton.tsx +++ b/subprojects/frontend/src/editor/GenerateButton.tsx | |||
@@ -2,7 +2,6 @@ import DangerousOutlinedIcon from '@mui/icons-material/DangerousOutlined'; | |||
2 | import PlayArrowIcon from '@mui/icons-material/PlayArrow'; | 2 | import PlayArrowIcon from '@mui/icons-material/PlayArrow'; |
3 | import Button from '@mui/material/Button'; | 3 | import Button from '@mui/material/Button'; |
4 | import { observer } from 'mobx-react-lite'; | 4 | import { observer } from 'mobx-react-lite'; |
5 | import React from 'react'; | ||
6 | 5 | ||
7 | import AnimatedButton from './AnimatedButton'; | 6 | import AnimatedButton from './AnimatedButton'; |
8 | import type EditorStore from './EditorStore'; | 7 | import type EditorStore from './EditorStore'; |
diff --git a/subprojects/frontend/src/editor/SearchPanelPortal.tsx b/subprojects/frontend/src/editor/SearchPanelPortal.tsx index b6b375e3..5cf1c90e 100644 --- a/subprojects/frontend/src/editor/SearchPanelPortal.tsx +++ b/subprojects/frontend/src/editor/SearchPanelPortal.tsx | |||
@@ -1,6 +1,5 @@ | |||
1 | import Portal from '@mui/material/Portal'; | 1 | import Portal from '@mui/material/Portal'; |
2 | import { observer } from 'mobx-react-lite'; | 2 | import { observer } from 'mobx-react-lite'; |
3 | import React from 'react'; | ||
4 | 3 | ||
5 | import type EditorStore from './EditorStore'; | 4 | import type EditorStore from './EditorStore'; |
6 | import SearchToolbar from './SearchToolbar'; | 5 | import SearchToolbar from './SearchToolbar'; |
diff --git a/subprojects/frontend/src/editor/SearchToolbar.tsx b/subprojects/frontend/src/editor/SearchToolbar.tsx index a9b9811d..54f3dba7 100644 --- a/subprojects/frontend/src/editor/SearchToolbar.tsx +++ b/subprojects/frontend/src/editor/SearchToolbar.tsx | |||
@@ -14,7 +14,7 @@ import Toolbar from '@mui/material/Toolbar'; | |||
14 | import { styled } from '@mui/material/styles'; | 14 | import { styled } from '@mui/material/styles'; |
15 | import useMediaQuery from '@mui/material/useMediaQuery'; | 15 | import useMediaQuery from '@mui/material/useMediaQuery'; |
16 | import { observer } from 'mobx-react-lite'; | 16 | import { observer } from 'mobx-react-lite'; |
17 | import React, { useCallback, useState } from 'react'; | 17 | import { useCallback, useState } from 'react'; |
18 | 18 | ||
19 | import type SearchPanelStore from './SearchPanelStore'; | 19 | import type SearchPanelStore from './SearchPanelStore'; |
20 | 20 | ||
diff --git a/subprojects/frontend/src/editor/indentationMarkerViewPlugin.ts b/subprojects/frontend/src/editor/indentationMarkerViewPlugin.ts index 96be0eea..d5ad536b 100644 --- a/subprojects/frontend/src/editor/indentationMarkerViewPlugin.ts +++ b/subprojects/frontend/src/editor/indentationMarkerViewPlugin.ts | |||
@@ -91,7 +91,7 @@ function getNumIndentMarkersForNonEmptyLine( | |||
91 | ) { | 91 | ) { |
92 | let numIndents = 0; | 92 | let numIndents = 0; |
93 | let numConsecutiveSpaces = 0; | 93 | let numConsecutiveSpaces = 0; |
94 | let prevChar: string | null = null; | 94 | let prevChar: string | undefined; |
95 | 95 | ||
96 | for (let char = 0; char < text.length; char += 1) { | 96 | for (let char = 0; char < text.length; char += 1) { |
97 | // Bail if we encounter a non-whitespace character | 97 | // Bail if we encounter a non-whitespace character |
diff --git a/subprojects/frontend/src/editor/scrollbarViewPlugin.ts b/subprojects/frontend/src/editor/scrollbarViewPlugin.ts index c95e581d..0edaeb70 100644 --- a/subprojects/frontend/src/editor/scrollbarViewPlugin.ts +++ b/subprojects/frontend/src/editor/scrollbarViewPlugin.ts | |||
@@ -128,10 +128,11 @@ export default function scrollbarViewPlugin( | |||
128 | Math.max(1, endLine - startLine) * lineHeight, | 128 | Math.max(1, endLine - startLine) * lineHeight, |
129 | ); | 129 | ); |
130 | 130 | ||
131 | let annotation: HTMLDivElement; | 131 | let annotation: HTMLDivElement | undefined; |
132 | if (i < annotations.length) { | 132 | if (i < annotations.length) { |
133 | annotation = annotations[i]; | 133 | annotation = annotations[i]; |
134 | } else { | 134 | } |
135 | if (annotation === undefined) { | ||
135 | annotation = ownerDocument.createElement('div'); | 136 | annotation = ownerDocument.createElement('div'); |
136 | annotations.push(annotation); | 137 | annotations.push(annotation); |
137 | holder.appendChild(annotation); | 138 | holder.appendChild(annotation); |
diff --git a/subprojects/frontend/src/index.tsx b/subprojects/frontend/src/index.tsx index a40f1762..3e56d941 100644 --- a/subprojects/frontend/src/index.tsx +++ b/subprojects/frontend/src/index.tsx | |||
@@ -1,5 +1,4 @@ | |||
1 | import { configure } from 'mobx'; | 1 | import { configure } from 'mobx'; |
2 | import React from 'react'; | ||
3 | import { type Root, createRoot } from 'react-dom/client'; | 2 | import { type Root, createRoot } from 'react-dom/client'; |
4 | 3 | ||
5 | import App from './App'; | 4 | import App from './App'; |
diff --git a/subprojects/frontend/src/language/problem.grammar b/subprojects/frontend/src/language/problem.grammar index c2410913..f4cf1712 100644 --- a/subprojects/frontend/src/language/problem.grammar +++ b/subprojects/frontend/src/language/problem.grammar | |||
@@ -37,7 +37,7 @@ statement { | |||
37 | PredicateBody { ("<->" sep<OrOp, Conjunction>)? "." } | 37 | PredicateBody { ("<->" sep<OrOp, Conjunction>)? "." } |
38 | } | | 38 | } | |
39 | FunctionDefinition { | 39 | FunctionDefinition { |
40 | PrimitiveType RelationName ParameterList<Parameter>? | 40 | kw<"fn"> PrimitiveType RelationName ParameterList<Parameter>? |
41 | FunctionBody { ("=" sep<OrOp, Case>)? "." } | 41 | FunctionBody { ("=" sep<OrOp, Case>)? "." } |
42 | } | | 42 | } | |
43 | //RuleDefinition { | 43 | //RuleDefinition { |
diff --git a/subprojects/frontend/src/language/problemLanguageSupport.ts b/subprojects/frontend/src/language/problemLanguageSupport.ts index 497030e2..c3ae7ed9 100644 --- a/subprojects/frontend/src/language/problemLanguageSupport.ts +++ b/subprojects/frontend/src/language/problemLanguageSupport.ts | |||
@@ -21,7 +21,7 @@ const parserWithMetadata = parser.configure({ | |||
21 | styleTags({ | 21 | styleTags({ |
22 | LineComment: t.lineComment, | 22 | LineComment: t.lineComment, |
23 | BlockComment: t.blockComment, | 23 | BlockComment: t.blockComment, |
24 | 'problem class enum pred indiv scope': t.definitionKeyword, | 24 | 'problem class enum pred fn indiv scope': t.definitionKeyword, |
25 | 'abstract extends refers contains container opposite': t.modifier, | 25 | 'abstract extends refers contains container opposite': t.modifier, |
26 | 'default error contained containment': t.modifier, | 26 | 'default error contained containment': t.modifier, |
27 | 'true false unknown error': t.keyword, | 27 | 'true false unknown error': t.keyword, |
diff --git a/subprojects/frontend/src/theme/ThemeProvider.tsx b/subprojects/frontend/src/theme/ThemeProvider.tsx index a00d70fe..9cf870d5 100644 --- a/subprojects/frontend/src/theme/ThemeProvider.tsx +++ b/subprojects/frontend/src/theme/ThemeProvider.tsx | |||
@@ -12,7 +12,7 @@ import { | |||
12 | useTheme, | 12 | useTheme, |
13 | } from '@mui/material/styles'; | 13 | } from '@mui/material/styles'; |
14 | import { observer } from 'mobx-react-lite'; | 14 | import { observer } from 'mobx-react-lite'; |
15 | import React, { type ReactNode, createContext, useContext } from 'react'; | 15 | import { type ReactNode, createContext, useContext } from 'react'; |
16 | 16 | ||
17 | import { useRootStore } from '../RootStoreProvider'; | 17 | import { useRootStore } from '../RootStoreProvider'; |
18 | 18 | ||
diff --git a/subprojects/frontend/src/utils/PendingTask.ts b/subprojects/frontend/src/utils/PendingTask.ts index d0b24c1f..fd52cef1 100644 --- a/subprojects/frontend/src/utils/PendingTask.ts +++ b/subprojects/frontend/src/utils/PendingTask.ts | |||
@@ -20,6 +20,7 @@ export default class PendingTask<T> { | |||
20 | ) { | 20 | ) { |
21 | this.resolveCallback = resolveCallback; | 21 | this.resolveCallback = resolveCallback; |
22 | this.rejectCallback = rejectCallback; | 22 | this.rejectCallback = rejectCallback; |
23 | // @ts-expect-error See https://github.com/mobxjs/mobx/issues/3582 on `@types/node` pollution | ||
23 | this.timeout = setTimeout(() => { | 24 | this.timeout = setTimeout(() => { |
24 | if (!this.resolved) { | 25 | if (!this.resolved) { |
25 | this.reject(new TimeoutError()); | 26 | this.reject(new TimeoutError()); |
diff --git a/subprojects/frontend/src/utils/useDelayedSnackbar.ts b/subprojects/frontend/src/utils/useDelayedSnackbar.ts index 03ad6caa..54716c0c 100644 --- a/subprojects/frontend/src/utils/useDelayedSnackbar.ts +++ b/subprojects/frontend/src/utils/useDelayedSnackbar.ts | |||
@@ -21,6 +21,7 @@ export default function useDelayedSnackbar( | |||
21 | delay = defaultDelay, | 21 | delay = defaultDelay, |
22 | ) => { | 22 | ) => { |
23 | let key: SnackbarKey | undefined; | 23 | let key: SnackbarKey | undefined; |
24 | // @ts-expect-error See https://github.com/mobxjs/mobx/issues/3582 on `@types/node` pollution | ||
24 | let timeout: number | undefined = setTimeout(() => { | 25 | let timeout: number | undefined = setTimeout(() => { |
25 | timeout = undefined; | 26 | timeout = undefined; |
26 | key = enqueueSnackbar(message, options); | 27 | key = enqueueSnackbar(message, options); |
diff --git a/subprojects/frontend/src/xtext/OccurrencesService.ts b/subprojects/frontend/src/xtext/OccurrencesService.ts index 248a9a87..fc72ead2 100644 --- a/subprojects/frontend/src/xtext/OccurrencesService.ts +++ b/subprojects/frontend/src/xtext/OccurrencesService.ts | |||
@@ -1,4 +1,4 @@ | |||
1 | import { Transaction } from '@codemirror/state'; | 1 | import type { Transaction } from '@codemirror/state'; |
2 | import { debounce } from 'lodash-es'; | 2 | import { debounce } from 'lodash-es'; |
3 | import ms from 'ms'; | 3 | import ms from 'ms'; |
4 | 4 | ||
diff --git a/subprojects/frontend/src/xtext/webSocketMachine.ts b/subprojects/frontend/src/xtext/webSocketMachine.ts index 5f6bc604..216ed86a 100644 --- a/subprojects/frontend/src/xtext/webSocketMachine.ts +++ b/subprojects/frontend/src/xtext/webSocketMachine.ts | |||
@@ -205,7 +205,7 @@ export default createMachine( | |||
205 | ERROR_WAIT_TIME: ({ errors: { length: retryCount } }) => { | 205 | ERROR_WAIT_TIME: ({ errors: { length: retryCount } }) => { |
206 | const { length } = ERROR_WAIT_TIMES; | 206 | const { length } = ERROR_WAIT_TIMES; |
207 | const index = retryCount < length ? retryCount : length - 1; | 207 | const index = retryCount < length ? retryCount : length - 1; |
208 | return ERROR_WAIT_TIMES[index]; | 208 | return ERROR_WAIT_TIMES[index] ?? 0; |
209 | }, | 209 | }, |
210 | }, | 210 | }, |
211 | actions: { | 211 | actions: { |
diff --git a/subprojects/frontend/tsconfig.base.json b/subprojects/frontend/tsconfig.base.json index 9cc8ace4..585866f1 100644 --- a/subprojects/frontend/tsconfig.base.json +++ b/subprojects/frontend/tsconfig.base.json | |||
@@ -1,16 +1,7 @@ | |||
1 | { | 1 | { |
2 | "extends": "@tsconfig/node18-strictest-esm/tsconfig.json", | ||
2 | "compilerOptions": { | 3 | "compilerOptions": { |
3 | "target": "ESNext", | ||
4 | "module": "ESNext", | ||
5 | "moduleResolution": "Node", | ||
6 | "esModuleInterop": true, | ||
7 | "allowSyntheticDefaultImports": true, | ||
8 | "useDefineForClassFields": true, | 4 | "useDefineForClassFields": true, |
9 | "strict": true, | ||
10 | "noImplicitOverride": true, | ||
11 | "noImplicitReturns": true, | ||
12 | "exactOptionalPropertyTypes": true, | ||
13 | "isolatedModules": true, | 5 | "isolatedModules": true, |
14 | "skipLibCheck": true | ||
15 | } | 6 | } |
16 | } | 7 | } |
diff --git a/subprojects/frontend/tsconfig.json b/subprojects/frontend/tsconfig.json index e8053768..0dccec40 100644 --- a/subprojects/frontend/tsconfig.json +++ b/subprojects/frontend/tsconfig.json | |||
@@ -1,9 +1,9 @@ | |||
1 | { | 1 | { |
2 | "extends": "./tsconfig.base.json", | 2 | "extends": "./tsconfig.base.json", |
3 | "compilerOptions": { | 3 | "compilerOptions": { |
4 | "jsx": "react", | 4 | "jsx": "react-jsx", |
5 | "noEmit": true, | 5 | "noEmit": true, |
6 | "lib": ["DOM", "DOM.Iterable", "ESNext"], | 6 | "lib": ["DOM", "DOM.Iterable", "ES2022"], |
7 | "types": ["vite/client", "vite-plugin-pwa/client"] | 7 | "types": ["vite/client", "vite-plugin-pwa/client"] |
8 | }, | 8 | }, |
9 | "include": [ | 9 | "include": [ |
diff --git a/subprojects/frontend/tsconfig.node.json b/subprojects/frontend/tsconfig.node.json index f5d6e6ec..c4539dbc 100644 --- a/subprojects/frontend/tsconfig.node.json +++ b/subprojects/frontend/tsconfig.node.json | |||
@@ -2,8 +2,7 @@ | |||
2 | "extends": "./tsconfig.base.json", | 2 | "extends": "./tsconfig.base.json", |
3 | "compilerOptions": { | 3 | "compilerOptions": { |
4 | "composite": true, | 4 | "composite": true, |
5 | "checkJs": true, | 5 | "lib": ["ES2022"], |
6 | "lib": ["ESNext"], | ||
7 | "types": ["node"], | 6 | "types": ["node"], |
8 | "emitDeclarationOnly": true, | 7 | "emitDeclarationOnly": true, |
9 | "outDir": "build/typescript" | 8 | "outDir": "build/typescript" |
diff --git a/subprojects/frontend/vite.config.ts b/subprojects/frontend/vite.config.ts index 526ea541..2c810912 100644 --- a/subprojects/frontend/vite.config.ts +++ b/subprojects/frontend/vite.config.ts | |||
@@ -14,29 +14,29 @@ setDefaultResultOrder('verbatim'); | |||
14 | 14 | ||
15 | const thisDir = path.dirname(fileURLToPath(import.meta.url)); | 15 | const thisDir = path.dirname(fileURLToPath(import.meta.url)); |
16 | 16 | ||
17 | const mode = process.env.MODE || 'development'; | 17 | const mode = process.env['MODE'] || 'development'; |
18 | const isDevelopment = mode === 'development'; | 18 | const isDevelopment = mode === 'development'; |
19 | process.env.NODE_ENV ??= mode; | 19 | process.env['NODE_ENV'] ??= mode; |
20 | 20 | ||
21 | function portNumberOrElse(envName: string, fallback: number): number { | 21 | function portNumberOrElse(envName: string, fallback: number): number { |
22 | const value = process.env[envName]; | 22 | const value = process.env[envName]; |
23 | return value ? parseInt(value, 10) : fallback; | 23 | return value ? parseInt(value, 10) : fallback; |
24 | } | 24 | } |
25 | 25 | ||
26 | const listenHost = process.env.LISTEN_HOST || 'localhost'; | 26 | const listenHost = process.env['LISTEN_HOST'] || 'localhost'; |
27 | const listenPort = portNumberOrElse('LISTEN_PORT', 1313); | 27 | const listenPort = portNumberOrElse('LISTEN_PORT', 1313); |
28 | const apiHost = process.env.API_HOST || '127.0.0.1'; | 28 | const apiHost = process.env['API_HOST'] || '127.0.0.1'; |
29 | const apiPort = portNumberOrElse('API_PORT', 1312); | 29 | const apiPort = portNumberOrElse('API_PORT', 1312); |
30 | const apiSecure = apiPort === 443; | 30 | const apiSecure = apiPort === 443; |
31 | const publicHost = process.env.PUBLIC_HOST || listenHost; | 31 | const publicHost = process.env['PUBLIC_HOST'] || listenHost; |
32 | const publicPort = portNumberOrElse('PUBLIC_PORT', listenPort); | 32 | const publicPort = portNumberOrElse('PUBLIC_PORT', listenPort); |
33 | const publicSecure = publicPort === 443; | 33 | const publicSecure = publicPort === 443; |
34 | 34 | ||
35 | const { name: packageName, version: packageVersion } = JSON.parse( | 35 | const { name: packageName, version: packageVersion } = JSON.parse( |
36 | readFileSync(path.join(thisDir, 'package.json'), 'utf8'), | 36 | readFileSync(path.join(thisDir, 'package.json'), 'utf8'), |
37 | ) as { name: string; version: string }; | 37 | ) as { name: string; version: string }; |
38 | process.env.VITE_PACKAGE_NAME ??= packageName; | 38 | process.env['VITE_PACKAGE_NAME'] ??= packageName; |
39 | process.env.VITE_PACKAGE_VERSION ??= packageVersion; | 39 | process.env['VITE_PACKAGE_VERSION'] ??= packageVersion; |
40 | 40 | ||
41 | const minifyPlugin: PluginOption = { | 41 | const minifyPlugin: PluginOption = { |
42 | name: 'minify-html', | 42 | name: 'minify-html', |
@@ -1756,14 +1756,14 @@ __metadata: | |||
1756 | languageName: node | 1756 | languageName: node |
1757 | linkType: hard | 1757 | linkType: hard |
1758 | 1758 | ||
1759 | "@mui/base@npm:5.0.0-alpha.106": | 1759 | "@mui/base@npm:5.0.0-alpha.107": |
1760 | version: 5.0.0-alpha.106 | 1760 | version: 5.0.0-alpha.107 |
1761 | resolution: "@mui/base@npm:5.0.0-alpha.106" | 1761 | resolution: "@mui/base@npm:5.0.0-alpha.107" |
1762 | dependencies: | 1762 | dependencies: |
1763 | "@babel/runtime": ^7.20.1 | 1763 | "@babel/runtime": ^7.20.1 |
1764 | "@emotion/is-prop-valid": ^1.2.0 | 1764 | "@emotion/is-prop-valid": ^1.2.0 |
1765 | "@mui/types": ^7.2.1 | 1765 | "@mui/types": ^7.2.1 |
1766 | "@mui/utils": ^5.10.14 | 1766 | "@mui/utils": ^5.10.15 |
1767 | "@popperjs/core": ^2.11.6 | 1767 | "@popperjs/core": ^2.11.6 |
1768 | clsx: ^1.2.1 | 1768 | clsx: ^1.2.1 |
1769 | prop-types: ^15.8.1 | 1769 | prop-types: ^15.8.1 |
@@ -1775,20 +1775,20 @@ __metadata: | |||
1775 | peerDependenciesMeta: | 1775 | peerDependenciesMeta: |
1776 | "@types/react": | 1776 | "@types/react": |
1777 | optional: true | 1777 | optional: true |
1778 | checksum: e28d27118856edcfcedb382df3387edbbe7703fbb4d0a7df5097f537731d11b12c9fba78614e08801d8d995d4679ab44fc963496570b64265724549d921d949e | 1778 | checksum: 1f3dbf479579166bde6b6e47fad99ad31c99f1a556314cffb2577af1efea2ab8a9033af550f70ab492894574988340c7a01b53019472b3b22f63e919916c8b76 |
1779 | languageName: node | 1779 | languageName: node |
1780 | linkType: hard | 1780 | linkType: hard |
1781 | 1781 | ||
1782 | "@mui/core-downloads-tracker@npm:^5.10.14": | 1782 | "@mui/core-downloads-tracker@npm:^5.10.15": |
1783 | version: 5.10.14 | 1783 | version: 5.10.15 |
1784 | resolution: "@mui/core-downloads-tracker@npm:5.10.14" | 1784 | resolution: "@mui/core-downloads-tracker@npm:5.10.15" |
1785 | checksum: 16595cbfcb8fb553ed66b95485914d7abcb1eea96181b2388ef5bc517f445d88a794907d2de203834cae0d9a068963125b67d0a7d395806cbe5dbbdc7cd44779 | 1785 | checksum: 750e0a066d7323bcda2465dce5df534e86a675200b0a0a3ce89b9afada618adfef8344ad532148a549840b8228b8e79e90026222f55a51f5e3c35ae6f3dfc7a7 |
1786 | languageName: node | 1786 | languageName: node |
1787 | linkType: hard | 1787 | linkType: hard |
1788 | 1788 | ||
1789 | "@mui/icons-material@npm:5.10.14": | 1789 | "@mui/icons-material@npm:5.10.15": |
1790 | version: 5.10.14 | 1790 | version: 5.10.15 |
1791 | resolution: "@mui/icons-material@npm:5.10.14" | 1791 | resolution: "@mui/icons-material@npm:5.10.15" |
1792 | dependencies: | 1792 | dependencies: |
1793 | "@babel/runtime": ^7.20.1 | 1793 | "@babel/runtime": ^7.20.1 |
1794 | peerDependencies: | 1794 | peerDependencies: |
@@ -1798,20 +1798,20 @@ __metadata: | |||
1798 | peerDependenciesMeta: | 1798 | peerDependenciesMeta: |
1799 | "@types/react": | 1799 | "@types/react": |
1800 | optional: true | 1800 | optional: true |
1801 | checksum: 306c7da2242914f18c4816e919f3980094d4f9ad4f47f97df535c000d4b9bd01757166747b8f13f77631a842349a41585f2156e47103452d3caa99d9e7c10300 | 1801 | checksum: e0ba07e43aae36ae5528bd3961584417451f031072950f12eba09f3893ebbe97ae2a7b10638f8432820e08b5f99bf1043265502545168c0cf6415b3ad6cdbaf2 |
1802 | languageName: node | 1802 | languageName: node |
1803 | linkType: hard | 1803 | linkType: hard |
1804 | 1804 | ||
1805 | "@mui/material@npm:5.10.14": | 1805 | "@mui/material@npm:5.10.15": |
1806 | version: 5.10.14 | 1806 | version: 5.10.15 |
1807 | resolution: "@mui/material@npm:5.10.14" | 1807 | resolution: "@mui/material@npm:5.10.15" |
1808 | dependencies: | 1808 | dependencies: |
1809 | "@babel/runtime": ^7.20.1 | 1809 | "@babel/runtime": ^7.20.1 |
1810 | "@mui/base": 5.0.0-alpha.106 | 1810 | "@mui/base": 5.0.0-alpha.107 |
1811 | "@mui/core-downloads-tracker": ^5.10.14 | 1811 | "@mui/core-downloads-tracker": ^5.10.15 |
1812 | "@mui/system": ^5.10.14 | 1812 | "@mui/system": ^5.10.15 |
1813 | "@mui/types": ^7.2.1 | 1813 | "@mui/types": ^7.2.1 |
1814 | "@mui/utils": ^5.10.14 | 1814 | "@mui/utils": ^5.10.15 |
1815 | "@types/react-transition-group": ^4.4.5 | 1815 | "@types/react-transition-group": ^4.4.5 |
1816 | clsx: ^1.2.1 | 1816 | clsx: ^1.2.1 |
1817 | csstype: ^3.1.1 | 1817 | csstype: ^3.1.1 |
@@ -1831,16 +1831,16 @@ __metadata: | |||
1831 | optional: true | 1831 | optional: true |
1832 | "@types/react": | 1832 | "@types/react": |
1833 | optional: true | 1833 | optional: true |
1834 | checksum: c61ce7878d051ed1cceff8a346a2acd64372b8637f176f3e2cf0daef688c85ba6e39ada8c7a5090d12fec09e7d0d73051826f903c12899e912ce7b9e8fcb7ec6 | 1834 | checksum: ab6aff5cb224872e7d6d1b2e7026b387f44f9d4e2300b894c93787cff373eab00d5e57b50fd9f69e392cec2fb9eeae315b740f9083644e390178d1be38b33ff3 |
1835 | languageName: node | 1835 | languageName: node |
1836 | linkType: hard | 1836 | linkType: hard |
1837 | 1837 | ||
1838 | "@mui/private-theming@npm:^5.10.14": | 1838 | "@mui/private-theming@npm:^5.10.15": |
1839 | version: 5.10.14 | 1839 | version: 5.10.15 |
1840 | resolution: "@mui/private-theming@npm:5.10.14" | 1840 | resolution: "@mui/private-theming@npm:5.10.15" |
1841 | dependencies: | 1841 | dependencies: |
1842 | "@babel/runtime": ^7.20.1 | 1842 | "@babel/runtime": ^7.20.1 |
1843 | "@mui/utils": ^5.10.14 | 1843 | "@mui/utils": ^5.10.15 |
1844 | prop-types: ^15.8.1 | 1844 | prop-types: ^15.8.1 |
1845 | peerDependencies: | 1845 | peerDependencies: |
1846 | "@types/react": ^17.0.0 || ^18.0.0 | 1846 | "@types/react": ^17.0.0 || ^18.0.0 |
@@ -1848,7 +1848,7 @@ __metadata: | |||
1848 | peerDependenciesMeta: | 1848 | peerDependenciesMeta: |
1849 | "@types/react": | 1849 | "@types/react": |
1850 | optional: true | 1850 | optional: true |
1851 | checksum: 14e6b77146e24a898796366d788f6bda63962a78663cfeb9f51f390feaa78fa6fd4708f03942e1ab3a60f5e92d97184df754e6ec1cea792b00d629fca8761a48 | 1851 | checksum: 8b94e5bf7caac1c7b16c312613df7266188055c769e39b0c980e8c175159f1e76de7d9751eac0f2b97b98c38fa6770b08626650c6a77c6fa686115ef6931f2bc |
1852 | languageName: node | 1852 | languageName: node |
1853 | linkType: hard | 1853 | linkType: hard |
1854 | 1854 | ||
@@ -1873,15 +1873,15 @@ __metadata: | |||
1873 | languageName: node | 1873 | languageName: node |
1874 | linkType: hard | 1874 | linkType: hard |
1875 | 1875 | ||
1876 | "@mui/system@npm:^5.10.14": | 1876 | "@mui/system@npm:^5.10.15": |
1877 | version: 5.10.14 | 1877 | version: 5.10.15 |
1878 | resolution: "@mui/system@npm:5.10.14" | 1878 | resolution: "@mui/system@npm:5.10.15" |
1879 | dependencies: | 1879 | dependencies: |
1880 | "@babel/runtime": ^7.20.1 | 1880 | "@babel/runtime": ^7.20.1 |
1881 | "@mui/private-theming": ^5.10.14 | 1881 | "@mui/private-theming": ^5.10.15 |
1882 | "@mui/styled-engine": ^5.10.14 | 1882 | "@mui/styled-engine": ^5.10.14 |
1883 | "@mui/types": ^7.2.1 | 1883 | "@mui/types": ^7.2.1 |
1884 | "@mui/utils": ^5.10.14 | 1884 | "@mui/utils": ^5.10.15 |
1885 | clsx: ^1.2.1 | 1885 | clsx: ^1.2.1 |
1886 | csstype: ^3.1.1 | 1886 | csstype: ^3.1.1 |
1887 | prop-types: ^15.8.1 | 1887 | prop-types: ^15.8.1 |
@@ -1897,7 +1897,7 @@ __metadata: | |||
1897 | optional: true | 1897 | optional: true |
1898 | "@types/react": | 1898 | "@types/react": |
1899 | optional: true | 1899 | optional: true |
1900 | checksum: c97752f568642fd38b234f364efe3a407cd976b72b4c1c2482e39c0d88b9aa856a7d615541bd09b43f7ee7403be266d118ec4b183956a6476e99e895e35d8ba1 | 1900 | checksum: 37cf9a18aaab1cc957e521743fa85cf72a6f35c82a9414326cccc82fb1e23a784d0c07517885c37d6276b6060a22cf7b2a79d1ca5b58a0faa286b949de75b309 |
1901 | languageName: node | 1901 | languageName: node |
1902 | linkType: hard | 1902 | linkType: hard |
1903 | 1903 | ||
@@ -1913,9 +1913,9 @@ __metadata: | |||
1913 | languageName: node | 1913 | languageName: node |
1914 | linkType: hard | 1914 | linkType: hard |
1915 | 1915 | ||
1916 | "@mui/utils@npm:^5.10.14": | 1916 | "@mui/utils@npm:^5.10.15": |
1917 | version: 5.10.14 | 1917 | version: 5.10.15 |
1918 | resolution: "@mui/utils@npm:5.10.14" | 1918 | resolution: "@mui/utils@npm:5.10.15" |
1919 | dependencies: | 1919 | dependencies: |
1920 | "@babel/runtime": ^7.20.1 | 1920 | "@babel/runtime": ^7.20.1 |
1921 | "@types/prop-types": ^15.7.5 | 1921 | "@types/prop-types": ^15.7.5 |
@@ -1924,7 +1924,7 @@ __metadata: | |||
1924 | react-is: ^18.2.0 | 1924 | react-is: ^18.2.0 |
1925 | peerDependencies: | 1925 | peerDependencies: |
1926 | react: ^17.0.0 || ^18.0.0 | 1926 | react: ^17.0.0 || ^18.0.0 |
1927 | checksum: 8b30b0a2d2d70672c38543566ba36fdf531b9c5ad6daf89f4b6ae84da0862ad4e7822d5465e016dfc719e12221a9d0942b884a0d05ea89349308bee81d58574f | 1927 | checksum: bc585f0594aac1e0b5c01d8237d3a51f28fcd98d7bf57174235d5be14d49485ca978a953d3f084dc938625578bddce50db6a57e621ebdbc7e5dde966816e32f4 |
1928 | languageName: node | 1928 | languageName: node |
1929 | linkType: hard | 1929 | linkType: hard |
1930 | 1930 | ||
@@ -2016,8 +2016,9 @@ __metadata: | |||
2016 | "@lezer/highlight": ^1.1.2 | 2016 | "@lezer/highlight": ^1.1.2 |
2017 | "@lezer/lr": ^1.2.5 | 2017 | "@lezer/lr": ^1.2.5 |
2018 | "@material-icons/svg": ^1.0.33 | 2018 | "@material-icons/svg": ^1.0.33 |
2019 | "@mui/icons-material": 5.10.14 | 2019 | "@mui/icons-material": 5.10.15 |
2020 | "@mui/material": 5.10.14 | 2020 | "@mui/material": 5.10.15 |
2021 | "@tsconfig/node18-strictest-esm": ^1.0.1 | ||
2021 | "@types/eslint": ^8.4.10 | 2022 | "@types/eslint": ^8.4.10 |
2022 | "@types/html-minifier-terser": ^7.0.0 | 2023 | "@types/html-minifier-terser": ^7.0.0 |
2023 | "@types/lodash-es": ^4.17.6 | 2024 | "@types/lodash-es": ^4.17.6 |
@@ -2026,8 +2027,8 @@ __metadata: | |||
2026 | "@types/prettier": ^2.7.1 | 2027 | "@types/prettier": ^2.7.1 |
2027 | "@types/react": ^18.0.25 | 2028 | "@types/react": ^18.0.25 |
2028 | "@types/react-dom": ^18.0.9 | 2029 | "@types/react-dom": ^18.0.9 |
2029 | "@typescript-eslint/eslint-plugin": ^5.43.0 | 2030 | "@typescript-eslint/eslint-plugin": ^5.44.0 |
2030 | "@typescript-eslint/parser": ^5.43.0 | 2031 | "@typescript-eslint/parser": ^5.44.0 |
2031 | "@vitejs/plugin-react": ^2.2.0 | 2032 | "@vitejs/plugin-react": ^2.2.0 |
2032 | "@xstate/cli": ^0.3.3 | 2033 | "@xstate/cli": ^0.3.3 |
2033 | ansi-styles: ^6.2.1 | 2034 | ansi-styles: ^6.2.1 |
@@ -2044,7 +2045,7 @@ __metadata: | |||
2044 | eslint-plugin-prettier: ^4.2.1 | 2045 | eslint-plugin-prettier: ^4.2.1 |
2045 | eslint-plugin-react: ^7.31.11 | 2046 | eslint-plugin-react: ^7.31.11 |
2046 | eslint-plugin-react-hooks: ^4.6.0 | 2047 | eslint-plugin-react-hooks: ^4.6.0 |
2047 | html-minifier-terser: ^7.0.0 | 2048 | html-minifier-terser: ^7.1.0 |
2048 | lodash-es: ^4.17.21 | 2049 | lodash-es: ^4.17.21 |
2049 | loglevel: ^1.8.1 | 2050 | loglevel: ^1.8.1 |
2050 | loglevel-plugin-prefix: ^0.8.4 | 2051 | loglevel-plugin-prefix: ^0.8.4 |
@@ -2164,6 +2165,13 @@ __metadata: | |||
2164 | languageName: node | 2165 | languageName: node |
2165 | linkType: hard | 2166 | linkType: hard |
2166 | 2167 | ||
2168 | "@tsconfig/node18-strictest-esm@npm:^1.0.1": | ||
2169 | version: 1.0.1 | ||
2170 | resolution: "@tsconfig/node18-strictest-esm@npm:1.0.1" | ||
2171 | checksum: 9da55e6959defe1115996e3360decbf70f83fae925967c418a5a387db52daa005f6b270b858bea42d74c134ff7155157c5cabbfecc9c783fd1129e354ec2f31c | ||
2172 | languageName: node | ||
2173 | linkType: hard | ||
2174 | |||
2167 | "@types/eslint@npm:^8.4.10": | 2175 | "@types/eslint@npm:^8.4.10": |
2168 | version: 8.4.10 | 2176 | version: 8.4.10 |
2169 | resolution: "@types/eslint@npm:8.4.10" | 2177 | resolution: "@types/eslint@npm:8.4.10" |
@@ -2328,13 +2336,13 @@ __metadata: | |||
2328 | languageName: node | 2336 | languageName: node |
2329 | linkType: hard | 2337 | linkType: hard |
2330 | 2338 | ||
2331 | "@typescript-eslint/eslint-plugin@npm:^5.43.0": | 2339 | "@typescript-eslint/eslint-plugin@npm:^5.44.0": |
2332 | version: 5.43.0 | 2340 | version: 5.44.0 |
2333 | resolution: "@typescript-eslint/eslint-plugin@npm:5.43.0" | 2341 | resolution: "@typescript-eslint/eslint-plugin@npm:5.44.0" |
2334 | dependencies: | 2342 | dependencies: |
2335 | "@typescript-eslint/scope-manager": 5.43.0 | 2343 | "@typescript-eslint/scope-manager": 5.44.0 |
2336 | "@typescript-eslint/type-utils": 5.43.0 | 2344 | "@typescript-eslint/type-utils": 5.44.0 |
2337 | "@typescript-eslint/utils": 5.43.0 | 2345 | "@typescript-eslint/utils": 5.44.0 |
2338 | debug: ^4.3.4 | 2346 | debug: ^4.3.4 |
2339 | ignore: ^5.2.0 | 2347 | ignore: ^5.2.0 |
2340 | natural-compare-lite: ^1.4.0 | 2348 | natural-compare-lite: ^1.4.0 |
@@ -2347,43 +2355,43 @@ __metadata: | |||
2347 | peerDependenciesMeta: | 2355 | peerDependenciesMeta: |
2348 | typescript: | 2356 | typescript: |
2349 | optional: true | 2357 | optional: true |
2350 | checksum: aa0e9bcd9982e9601ada2088f46c1e9389abd31ceaf6cd1d492684fd711a67d595d4c95d97ba14081c2ea7eb3b98a9ebb33f91ef008e7450ce2f70b2a8ec4309 | 2358 | checksum: 88784e77e8e35ea50ca9c49d46df94cabc3447f4b332f3ca53974d3b5370cb5dcd85cc9ee0e317b91083812012369209574725dcfc3b2b4056b60371b68ca854 |
2351 | languageName: node | 2359 | languageName: node |
2352 | linkType: hard | 2360 | linkType: hard |
2353 | 2361 | ||
2354 | "@typescript-eslint/parser@npm:^5.43.0": | 2362 | "@typescript-eslint/parser@npm:^5.44.0": |
2355 | version: 5.43.0 | 2363 | version: 5.44.0 |
2356 | resolution: "@typescript-eslint/parser@npm:5.43.0" | 2364 | resolution: "@typescript-eslint/parser@npm:5.44.0" |
2357 | dependencies: | 2365 | dependencies: |
2358 | "@typescript-eslint/scope-manager": 5.43.0 | 2366 | "@typescript-eslint/scope-manager": 5.44.0 |
2359 | "@typescript-eslint/types": 5.43.0 | 2367 | "@typescript-eslint/types": 5.44.0 |
2360 | "@typescript-eslint/typescript-estree": 5.43.0 | 2368 | "@typescript-eslint/typescript-estree": 5.44.0 |
2361 | debug: ^4.3.4 | 2369 | debug: ^4.3.4 |
2362 | peerDependencies: | 2370 | peerDependencies: |
2363 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 | 2371 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
2364 | peerDependenciesMeta: | 2372 | peerDependenciesMeta: |
2365 | typescript: | 2373 | typescript: |
2366 | optional: true | 2374 | optional: true |
2367 | checksum: a28e0ef2807f1c3381c6dc1d9ddfd83ea8db657d3f808511adf13023b469ed64fc09619e05d7f68746b05ea68770a0882883c77ce908682965ba266f95e168c9 | 2375 | checksum: 2d09a1a1547a7ae3f76c9a33a54e11d79a194fbb9dbae69988e7aed3370bdf12bafde669211152769d89db822e0cdee4173affc126664fa6f17abba56daa7261 |
2368 | languageName: node | 2376 | languageName: node |
2369 | linkType: hard | 2377 | linkType: hard |
2370 | 2378 | ||
2371 | "@typescript-eslint/scope-manager@npm:5.43.0": | 2379 | "@typescript-eslint/scope-manager@npm:5.44.0": |
2372 | version: 5.43.0 | 2380 | version: 5.44.0 |
2373 | resolution: "@typescript-eslint/scope-manager@npm:5.43.0" | 2381 | resolution: "@typescript-eslint/scope-manager@npm:5.44.0" |
2374 | dependencies: | 2382 | dependencies: |
2375 | "@typescript-eslint/types": 5.43.0 | 2383 | "@typescript-eslint/types": 5.44.0 |
2376 | "@typescript-eslint/visitor-keys": 5.43.0 | 2384 | "@typescript-eslint/visitor-keys": 5.44.0 |
2377 | checksum: e594c7a32c3fa29e46dd0b0bc62f97f154bd864682ae7da87a14b6f4336f4cb02f6ed0602bbdb15783e4230ecdf8a0ccc6f7c5820850e8f11240c9e4fb0e388d | 2385 | checksum: 4cfe4b55eb428eda740e6b967e3a87f3e1f9c4bbd8e1d6b8d64a11666abe33ffe7a21e4e614444ccde2da6930fa85f3e0ffca43d6e339943ff7a4fbccb09c8fc |
2378 | languageName: node | 2386 | languageName: node |
2379 | linkType: hard | 2387 | linkType: hard |
2380 | 2388 | ||
2381 | "@typescript-eslint/type-utils@npm:5.43.0": | 2389 | "@typescript-eslint/type-utils@npm:5.44.0": |
2382 | version: 5.43.0 | 2390 | version: 5.44.0 |
2383 | resolution: "@typescript-eslint/type-utils@npm:5.43.0" | 2391 | resolution: "@typescript-eslint/type-utils@npm:5.44.0" |
2384 | dependencies: | 2392 | dependencies: |
2385 | "@typescript-eslint/typescript-estree": 5.43.0 | 2393 | "@typescript-eslint/typescript-estree": 5.44.0 |
2386 | "@typescript-eslint/utils": 5.43.0 | 2394 | "@typescript-eslint/utils": 5.44.0 |
2387 | debug: ^4.3.4 | 2395 | debug: ^4.3.4 |
2388 | tsutils: ^3.21.0 | 2396 | tsutils: ^3.21.0 |
2389 | peerDependencies: | 2397 | peerDependencies: |
@@ -2391,23 +2399,23 @@ __metadata: | |||
2391 | peerDependenciesMeta: | 2399 | peerDependenciesMeta: |
2392 | typescript: | 2400 | typescript: |
2393 | optional: true | 2401 | optional: true |
2394 | checksum: 08dbc0b194d0ef1454a95d76c082503e04d9957e89a056068002e233f8d98113f50b2707f7c4b9b44f428e223d5b4485ee2b4df4e0cde354827c5edc92ede973 | 2402 | checksum: 4c7b594f8afa52d57d0512951a874fa390eb791dcefcd0e1efff8817872293b2e4e04eff3c54d1595c1720a34d5fd315729af4e459882033d13cb6069ae9d28f |
2395 | languageName: node | 2403 | languageName: node |
2396 | linkType: hard | 2404 | linkType: hard |
2397 | 2405 | ||
2398 | "@typescript-eslint/types@npm:5.43.0": | 2406 | "@typescript-eslint/types@npm:5.44.0": |
2399 | version: 5.43.0 | 2407 | version: 5.44.0 |
2400 | resolution: "@typescript-eslint/types@npm:5.43.0" | 2408 | resolution: "@typescript-eslint/types@npm:5.44.0" |
2401 | checksum: fc5e5431c305feee4a3faae84f34df482e08d74b910a6f9376b01326c682ceefeeb0e270d03d7778787bc94ef05b3b85ee6d3c9d732290fbdb4a67ae1b110226 | 2409 | checksum: ced7d32abecfc62ccb67cf27e30c0785b9c153ec7b1a05153ced58fa5a2031ab3845bc2e477b83e4cebdcc5881c5845d23053c6739c62549d41ae6208e547e85 |
2402 | languageName: node | 2410 | languageName: node |
2403 | linkType: hard | 2411 | linkType: hard |
2404 | 2412 | ||
2405 | "@typescript-eslint/typescript-estree@npm:5.43.0": | 2413 | "@typescript-eslint/typescript-estree@npm:5.44.0": |
2406 | version: 5.43.0 | 2414 | version: 5.44.0 |
2407 | resolution: "@typescript-eslint/typescript-estree@npm:5.43.0" | 2415 | resolution: "@typescript-eslint/typescript-estree@npm:5.44.0" |
2408 | dependencies: | 2416 | dependencies: |
2409 | "@typescript-eslint/types": 5.43.0 | 2417 | "@typescript-eslint/types": 5.44.0 |
2410 | "@typescript-eslint/visitor-keys": 5.43.0 | 2418 | "@typescript-eslint/visitor-keys": 5.44.0 |
2411 | debug: ^4.3.4 | 2419 | debug: ^4.3.4 |
2412 | globby: ^11.1.0 | 2420 | globby: ^11.1.0 |
2413 | is-glob: ^4.0.3 | 2421 | is-glob: ^4.0.3 |
@@ -2416,35 +2424,35 @@ __metadata: | |||
2416 | peerDependenciesMeta: | 2424 | peerDependenciesMeta: |
2417 | typescript: | 2425 | typescript: |
2418 | optional: true | 2426 | optional: true |
2419 | checksum: 3479f9413d73369ab3d574580c90a72f74d2ae1ec4afe485eebfad054c3d15c89f23a137bb9d6197dfdae33e444a76a99f6832688787feabbb064e09d39a3f55 | 2427 | checksum: 758731108497cca7ff81cf0a78d086b5a85757a983979d6bb25ad8252b7acbc738c642ecb5f5df82f925a45926b9846e431d5cf9fee5ed2613300b4d0c5d6c3f |
2420 | languageName: node | 2428 | languageName: node |
2421 | linkType: hard | 2429 | linkType: hard |
2422 | 2430 | ||
2423 | "@typescript-eslint/utils@npm:5.43.0": | 2431 | "@typescript-eslint/utils@npm:5.44.0": |
2424 | version: 5.43.0 | 2432 | version: 5.44.0 |
2425 | resolution: "@typescript-eslint/utils@npm:5.43.0" | 2433 | resolution: "@typescript-eslint/utils@npm:5.44.0" |
2426 | dependencies: | 2434 | dependencies: |
2427 | "@types/json-schema": ^7.0.9 | 2435 | "@types/json-schema": ^7.0.9 |
2428 | "@types/semver": ^7.3.12 | 2436 | "@types/semver": ^7.3.12 |
2429 | "@typescript-eslint/scope-manager": 5.43.0 | 2437 | "@typescript-eslint/scope-manager": 5.44.0 |
2430 | "@typescript-eslint/types": 5.43.0 | 2438 | "@typescript-eslint/types": 5.44.0 |
2431 | "@typescript-eslint/typescript-estree": 5.43.0 | 2439 | "@typescript-eslint/typescript-estree": 5.44.0 |
2432 | eslint-scope: ^5.1.1 | 2440 | eslint-scope: ^5.1.1 |
2433 | eslint-utils: ^3.0.0 | 2441 | eslint-utils: ^3.0.0 |
2434 | semver: ^7.3.7 | 2442 | semver: ^7.3.7 |
2435 | peerDependencies: | 2443 | peerDependencies: |
2436 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 | 2444 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 |
2437 | checksum: 4c6b383b51506b57230f2624f883ae21e5d8411d138587c04fe3145f915bf8c289cc2a9f7b0b3faba98345ba230504e5014922bcc578aa0badd594d9eaa8f9ef | 2445 | checksum: bc5bb28e41898464d35b8eb47cc452103852541e3b6be56252c15a5a81c45e10aad3db4c749eb92d752b0c358df8074e23ec6f9e65f8089baadeda7f395c7e31 |
2438 | languageName: node | 2446 | languageName: node |
2439 | linkType: hard | 2447 | linkType: hard |
2440 | 2448 | ||
2441 | "@typescript-eslint/visitor-keys@npm:5.43.0": | 2449 | "@typescript-eslint/visitor-keys@npm:5.44.0": |
2442 | version: 5.43.0 | 2450 | version: 5.44.0 |
2443 | resolution: "@typescript-eslint/visitor-keys@npm:5.43.0" | 2451 | resolution: "@typescript-eslint/visitor-keys@npm:5.44.0" |
2444 | dependencies: | 2452 | dependencies: |
2445 | "@typescript-eslint/types": 5.43.0 | 2453 | "@typescript-eslint/types": 5.44.0 |
2446 | eslint-visitor-keys: ^3.3.0 | 2454 | eslint-visitor-keys: ^3.3.0 |
2447 | checksum: 4820679e50096dcdaadc7c95d32e5dca3ba8510acf1a865e283822bae3940a2faec02ad8abe793f8a25f75b600f1e7215e1fd3b3ba73779eff737fa90d092550 | 2455 | checksum: a012c888209e1d6ae684b2a44fd460ae5a80f5faf07bca4bda6c9c0d8c063ad3297d4c53f7151ae86cf1a43dee09625dc3ee72183323c91089c7288fd573c6f4 |
2448 | languageName: node | 2456 | languageName: node |
2449 | linkType: hard | 2457 | linkType: hard |
2450 | 2458 | ||
@@ -3060,10 +3068,10 @@ __metadata: | |||
3060 | languageName: node | 3068 | languageName: node |
3061 | linkType: hard | 3069 | linkType: hard |
3062 | 3070 | ||
3063 | "commander@npm:^9.4.0": | 3071 | "commander@npm:^9.4.1": |
3064 | version: 9.4.0 | 3072 | version: 9.4.1 |
3065 | resolution: "commander@npm:9.4.0" | 3073 | resolution: "commander@npm:9.4.1" |
3066 | checksum: a322de584a6ccd1ea83c24f6a660e52d16ffbe2613fcfbb8d2cc68bc9dec637492456d754fe8bb5b039ad843ed8e04fb0b107e581a75f62cde9e1a0ab1546e09 | 3074 | checksum: bfb18e325a5bdf772763c2213d5c7d9e77144d944124e988bcd8e5e65fb6d45d5d4e86b09155d0f2556c9a59c31e428720e57968bcd050b2306e910a0bf3cf13 |
3067 | languageName: node | 3075 | languageName: node |
3068 | linkType: hard | 3076 | linkType: hard |
3069 | 3077 | ||
@@ -3358,10 +3366,10 @@ __metadata: | |||
3358 | languageName: node | 3366 | languageName: node |
3359 | linkType: hard | 3367 | linkType: hard |
3360 | 3368 | ||
3361 | "entities@npm:^4.3.1": | 3369 | "entities@npm:^4.4.0": |
3362 | version: 4.3.1 | 3370 | version: 4.4.0 |
3363 | resolution: "entities@npm:4.3.1" | 3371 | resolution: "entities@npm:4.4.0" |
3364 | checksum: e8f6d2bac238494b2355e90551893882d2675142be7e7bdfcb15248ed0652a630678ba0e3a8dc750693e736cb6011f504c27dabeb4cd3330560092e88b105090 | 3372 | checksum: 84d250329f4b56b40fa93ed067b194db21e8815e4eb9b59f43a086f0ecd342814f6bc483de8a77da5d64e0f626033192b1b4f1792232a7ea6b970ebe0f3187c2 |
3365 | languageName: node | 3373 | languageName: node |
3366 | linkType: hard | 3374 | linkType: hard |
3367 | 3375 | ||
@@ -4461,20 +4469,20 @@ __metadata: | |||
4461 | languageName: node | 4469 | languageName: node |
4462 | linkType: hard | 4470 | linkType: hard |
4463 | 4471 | ||
4464 | "html-minifier-terser@npm:^7.0.0": | 4472 | "html-minifier-terser@npm:^7.1.0": |
4465 | version: 7.0.0 | 4473 | version: 7.1.0 |
4466 | resolution: "html-minifier-terser@npm:7.0.0" | 4474 | resolution: "html-minifier-terser@npm:7.1.0" |
4467 | dependencies: | 4475 | dependencies: |
4468 | camel-case: ^4.1.2 | 4476 | camel-case: ^4.1.2 |
4469 | clean-css: 5.2.0 | 4477 | clean-css: 5.2.0 |
4470 | commander: ^9.4.0 | 4478 | commander: ^9.4.1 |
4471 | entities: ^4.3.1 | 4479 | entities: ^4.4.0 |
4472 | param-case: ^3.0.4 | 4480 | param-case: ^3.0.4 |
4473 | relateurl: ^0.2.7 | 4481 | relateurl: ^0.2.7 |
4474 | terser: ^5.14.2 | 4482 | terser: ^5.15.1 |
4475 | bin: | 4483 | bin: |
4476 | html-minifier-terser: cli.js | 4484 | html-minifier-terser: cli.js |
4477 | checksum: eabd3b4835d9663bf7c30ea0f1c57870b0d8f7dc27b9fa17852ea57bfdd5fdc0ed9b7b83a7f13edd8626ccf98d3082e347764754278a661cab291469fd37dced | 4485 | checksum: 351de28d85f142314a6a9b5222bdcaf068cef6bf2f521952ef55d99a6acdcecd0b4dbc42578da2d438d579c6e868b899ca19eac901ee6f9f0c69c223b5942099 |
4478 | languageName: node | 4486 | languageName: node |
4479 | linkType: hard | 4487 | linkType: hard |
4480 | 4488 | ||
@@ -6523,9 +6531,9 @@ __metadata: | |||
6523 | languageName: node | 6531 | languageName: node |
6524 | linkType: hard | 6532 | linkType: hard |
6525 | 6533 | ||
6526 | "terser@npm:^5.0.0, terser@npm:^5.14.2": | 6534 | "terser@npm:^5.0.0, terser@npm:^5.15.1": |
6527 | version: 5.14.2 | 6535 | version: 5.15.1 |
6528 | resolution: "terser@npm:5.14.2" | 6536 | resolution: "terser@npm:5.15.1" |
6529 | dependencies: | 6537 | dependencies: |
6530 | "@jridgewell/source-map": ^0.3.2 | 6538 | "@jridgewell/source-map": ^0.3.2 |
6531 | acorn: ^8.5.0 | 6539 | acorn: ^8.5.0 |
@@ -6533,7 +6541,7 @@ __metadata: | |||
6533 | source-map-support: ~0.5.20 | 6541 | source-map-support: ~0.5.20 |
6534 | bin: | 6542 | bin: |
6535 | terser: bin/terser | 6543 | terser: bin/terser |
6536 | checksum: cabb50a640d6c2cfb351e4f43dc7bf7436f649755bb83eb78b2cacda426d5e0979bd44e6f92d713f3ca0f0866e322739b9ced888ebbce6508ad872d08de74fcc | 6544 | checksum: 9880a1e0956983a1ce5de204ea35121c0009fa41d582a6904ae850e1953a1a2cc021168439565280c5a8eee67c85a874175627e24989b046c7a72589b81c3979 |
6537 | languageName: node | 6545 | languageName: node |
6538 | linkType: hard | 6546 | linkType: hard |
6539 | 6547 | ||