mirror of
https://github.com/jakejarvis/jarv.is.git
synced 2025-06-30 22:46:39 -04:00
refactor <VNC />
This commit is contained in:
@ -1,6 +1,5 @@
|
||||
import { forwardRef } from "react";
|
||||
import { keyframes, styled } from "../../lib/styles/stitches.config";
|
||||
import type { Ref, ComponentProps } from "react";
|
||||
import type { ComponentProps } from "react";
|
||||
|
||||
const BlackBox = styled("div", {
|
||||
width: "100%",
|
||||
@ -25,7 +24,7 @@ const Underscore = styled("span", {
|
||||
display: "inline-block",
|
||||
verticalAlign: "text-bottom",
|
||||
width: "10px",
|
||||
margin: "0 4px",
|
||||
marginLeft: "6px",
|
||||
borderBottom: "2px solid #cccccc",
|
||||
|
||||
// blink every second for 0.4s
|
||||
@ -35,12 +34,13 @@ const Underscore = styled("span", {
|
||||
export type TerminalProps = ComponentProps<typeof BlackBox>;
|
||||
|
||||
// a DOS-style terminal box with dynamic text
|
||||
const Terminal = forwardRef(function Terminal({ ...rest }: TerminalProps, ref: Ref<HTMLPreElement>) {
|
||||
const Terminal = ({ children: message, ...rest }: TerminalProps) => {
|
||||
return (
|
||||
<BlackBox {...rest}>
|
||||
<Monospace ref={ref} /> <Underscore />
|
||||
{message && <Monospace>{message}</Monospace>}
|
||||
<Underscore />
|
||||
</BlackBox>
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
export default Terminal;
|
||||
|
@ -47,36 +47,21 @@ const VNC = ({ server }: VNCProps) => {
|
||||
|
||||
// we definitely do NOT want this page to connect more than once!
|
||||
const [loaded, setLoaded] = useState(false);
|
||||
|
||||
// DOS-style box for text
|
||||
const terminalRef = useRef<HTMLPreElement>(null);
|
||||
// keep track of current status of the connection
|
||||
const [connected, setConnected] = useState(false);
|
||||
// makes the console reappear with the given message if there's an error loading, or if the VM has gone poof for
|
||||
// whatever reason (doesn't really matter).
|
||||
const [message, setMessage] = useState({ message: "", anyKey: false });
|
||||
|
||||
// the actual connection and virtual screen (injected by noVNC when it's ready)
|
||||
const rfbRef = useRef(null);
|
||||
const screenRef = useRef<HTMLDivElement>(null);
|
||||
|
||||
// makes the console reappear with the given message if there's an error loading, or if the VM has gone poof for
|
||||
// whatever reason (doesn't really matter).
|
||||
const showTerminalMessage = ({ message, anyKey = false }) => {
|
||||
try {
|
||||
screenRef.current.style.display = "none";
|
||||
terminalRef.current.parentElement.style.display = null;
|
||||
terminalRef.current.textContent = `${message}${
|
||||
anyKey ? "\n\nPress the Any key or refresh the page to continue." : ""
|
||||
}`;
|
||||
} catch (error) {} // eslint-disable-line no-empty
|
||||
};
|
||||
|
||||
// hides the console and show the screen when VM connects
|
||||
const showScreen = () => {
|
||||
terminalRef.current.parentElement.style.display = "none";
|
||||
screenRef.current.style.display = null;
|
||||
};
|
||||
|
||||
// ends the session forcefully
|
||||
const disconnectVM = () => {
|
||||
try {
|
||||
rfbRef.current.disconnect();
|
||||
setConnected(false);
|
||||
} catch (error) {} // eslint-disable-line no-empty
|
||||
};
|
||||
|
||||
@ -96,12 +81,12 @@ const VNC = ({ server }: VNCProps) => {
|
||||
return;
|
||||
} else {
|
||||
// show loading indicator and continue
|
||||
showTerminalMessage({ message: "Spinning up your very own personal computer, please wait!" });
|
||||
setMessage({ message: "Spinning up your very own personal computer, please wait!", anyKey: false });
|
||||
}
|
||||
|
||||
if (!window.WebSocket) {
|
||||
// browser doesn't support websockets
|
||||
showTerminalMessage({ message: "WebSockets must be enabled to begin!", anyKey: true });
|
||||
setMessage({ message: "WebSockets must be enabled to begin!", anyKey: true });
|
||||
return;
|
||||
}
|
||||
|
||||
@ -118,8 +103,7 @@ const VNC = ({ server }: VNCProps) => {
|
||||
console.log("successfully connected to VM socket!");
|
||||
|
||||
// finally hide the terminal and show the VNC canvas
|
||||
showScreen();
|
||||
|
||||
setConnected(true);
|
||||
// this is the one and only time we're spinning up a VM (hopefully)
|
||||
setLoaded(true);
|
||||
});
|
||||
@ -128,19 +112,22 @@ const VNC = ({ server }: VNCProps) => {
|
||||
rfbRef.current.addEventListener("disconnect", (detail: unknown) => {
|
||||
console.warn("VM ended session remotely:", detail);
|
||||
|
||||
showTerminalMessage({
|
||||
message: "Oh dear, it looks like something's gone very wrong. Sorry about that.",
|
||||
anyKey: true,
|
||||
});
|
||||
// hide the display and show the terminal
|
||||
setConnected(false);
|
||||
// apologize :(
|
||||
setMessage({ message: "Oh dear, it looks like something's gone very wrong. Sorry about that.", anyKey: true });
|
||||
});
|
||||
}, [loaded, server]);
|
||||
|
||||
return (
|
||||
<>
|
||||
<DOS ref={terminalRef} />
|
||||
<DOS style={{ display: connected ? "none" : undefined }}>
|
||||
{message.message}
|
||||
{message.anyKey && "\n\nPress the Any key (refresh the page) to continue."}
|
||||
</DOS>
|
||||
|
||||
{/* the VNC canvas is hidden until we've successfully connected to the socket */}
|
||||
<Display ref={screenRef} style={{ display: "none" }} />
|
||||
<Display ref={screenRef} style={{ display: !connected ? "none" : undefined }} />
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
@ -41,7 +41,7 @@
|
||||
"gray-matter": "^4.0.3",
|
||||
"is-absolute-url": "^4.0.1",
|
||||
"markdown-to-jsx": "^7.1.7",
|
||||
"next": "12.1.6-canary.3",
|
||||
"next": "12.1.5",
|
||||
"next-compose-plugins": "^2.2.1",
|
||||
"next-mdx-remote": "4.0.1",
|
||||
"next-seo": "^5.4.0",
|
||||
@ -73,7 +73,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jakejarvis/eslint-config": "*",
|
||||
"@next/bundle-analyzer": "12.1.6-canary.3",
|
||||
"@next/bundle-analyzer": "12.1.5",
|
||||
"@svgr/webpack": "^6.2.1",
|
||||
"@types/node": "*",
|
||||
"@types/prop-types": "^15.7.5",
|
||||
@ -86,7 +86,7 @@
|
||||
"@typescript-eslint/parser": "^5.19.0",
|
||||
"cross-env": "^7.0.3",
|
||||
"eslint": "~8.13.0",
|
||||
"eslint-config-next": "12.1.6-canary.3",
|
||||
"eslint-config-next": "12.1.5",
|
||||
"eslint-config-prettier": "~8.5.0",
|
||||
"eslint-plugin-mdx": "~1.17.0",
|
||||
"eslint-plugin-prettier": "~4.0.0",
|
||||
|
212
yarn.lock
212
yarn.lock
@ -1147,84 +1147,84 @@
|
||||
resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b"
|
||||
integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==
|
||||
|
||||
"@next/bundle-analyzer@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-12.1.6-canary.3.tgz#f827e379ac65bf58fb8077efdcc9983ae3561f17"
|
||||
integrity sha512-mz6CHVzR2CYhJf2LVmSsGh4S5FuYZlMGejaO/KDDbuduro4QOluCfp1JZgaqkNoRqP4O8OdnIJQUcCJY9Ftf+Q==
|
||||
"@next/bundle-analyzer@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/bundle-analyzer/-/bundle-analyzer-12.1.5.tgz#07079b892efe0a2a7e8add703ad7cacfa3cc4e88"
|
||||
integrity sha512-A9MkhWCPvSp1vl0Ox7IjJ/qpugDC5YAb40btGGIPPXHQtkal107Sf8dbay4fqw4Hekee5gdS0WUMfe1BaSur7w==
|
||||
dependencies:
|
||||
webpack-bundle-analyzer "4.3.0"
|
||||
|
||||
"@next/env@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.6-canary.3.tgz#bbe88b0c8f57623aa6c208cfd852ca1f24de33f7"
|
||||
integrity sha512-VbKE4hDecESe878QNyJ38+OJmkRGWlZrhDo0owec27pRiWwCI+dlS51aWhJCfvrZIm+fjnfYGNs4xTbPH/l4Iw==
|
||||
"@next/env@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.5.tgz#a21ba6708022d630402ca2b340316e69a0296dfc"
|
||||
integrity sha512-+34yUJslfJi7Lyx6ELuN8nWcOzi27izfYnZIC1Dqv7kmmfiBVxgzR3BXhlvEMTKC2IRJhXVs2FkMY+buQe3k7Q==
|
||||
|
||||
"@next/eslint-plugin-next@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.6-canary.3.tgz#a85e3ccb6965a4156ddfd01b78d5e2bd00719ddd"
|
||||
integrity sha512-DyiL0gRa7m91SW0k8cCBkK6F/4OmVvVdR19WNP8eIo146qRFnc/NKxDowqpk+RBweXGjXXDCyTdrqTmWSMQr2g==
|
||||
"@next/eslint-plugin-next@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.5.tgz#273885b35e6bbcd40ff1436d2a8d0ec03fb6f6ef"
|
||||
integrity sha512-Cnb8ERC5bNKBFrnMH6203sp/b0Y78QRx1XsFu+86oBtDBmQmOFoHu7teQjHm69ER73XKK3aGaeoLiXacHoUFsg==
|
||||
dependencies:
|
||||
glob "7.1.7"
|
||||
|
||||
"@next/swc-android-arm-eabi@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.6-canary.3.tgz#ea90ff78475f569f4fe63044393fcda934acbc79"
|
||||
integrity sha512-1sfheU8wmta8HZXET9U8rBCq95NGVL4pbBVWMh96cLZYr6GaqNGvFYHVbIgAS0WNKzynDs3iWxSFCFoIk0AKyQ==
|
||||
"@next/swc-android-arm-eabi@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-12.1.5.tgz#36729ab3dfd7743e82cfe536b43254dcb146620c"
|
||||
integrity sha512-SKnGTdYcoN04Y2DvE0/Y7/MjkA+ltsmbuH/y/hR7Ob7tsj+8ZdOYuk+YvW1B8dY20nDPHP58XgDTSm2nA8BzzA==
|
||||
|
||||
"@next/swc-android-arm64@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.6-canary.3.tgz#893ba2198ab9a777a215c895b61c2c8a296876d3"
|
||||
integrity sha512-47jcwdWo+GXfGnfR5z7EFF+z1PXRmeLFYKo38tFrdet3nXrxQnjQULTS1uZpeBnRZpmRypE89wbG8DLvOJGl3A==
|
||||
"@next/swc-android-arm64@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.5.tgz#52578f552305c92d0b9b81d603c9643fb71e0835"
|
||||
integrity sha512-YXiqgQ/9Rxg1dXp6brXbeQM1JDx9SwUY/36JiE+36FXqYEmDYbxld9qkX6GEzkc5rbwJ+RCitargnzEtwGW0mw==
|
||||
|
||||
"@next/swc-darwin-arm64@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.6-canary.3.tgz#10dabfca17e346db7ec36048ae8f1dafe17ad7b0"
|
||||
integrity sha512-vZG3cogiNMOMSCEITDJ9rtFu58/nqulB9TFnkk9oCCUnV4BYqTwBqX/Fr801zFtvSFONyHAsE7LuO9Vz3CD0ig==
|
||||
"@next/swc-darwin-arm64@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.5.tgz#3d5b53211484c72074f4975ba0ec2b1107db300e"
|
||||
integrity sha512-y8mhldb/WFZ6lFeowkGfi0cO/lBdiBqDk4T4LZLvCpoQp4Or/NzUN6P5NzBQZ5/b4oUHM/wQICEM+1wKA4qIVw==
|
||||
|
||||
"@next/swc-darwin-x64@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.6-canary.3.tgz#1d8602358455e34d0eab827ab968b6b05fe37b97"
|
||||
integrity sha512-4Thht2SbzkuDSfrT5nzDLEXq79sM3e1p9YybCTAxFhpLdDbBVDXlsag7kcXdIt9dW3FORZTJIDBinlZKmkqMfw==
|
||||
"@next/swc-darwin-x64@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.5.tgz#adcabb732d226453777c0d37d58eaff9328b66fd"
|
||||
integrity sha512-wqJ3X7WQdTwSGi0kIDEmzw34QHISRIQ5uvC+VXmsIlCPFcMA+zM5723uh8NfuKGquDMiEMS31a83QgkuHMYbwQ==
|
||||
|
||||
"@next/swc-linux-arm-gnueabihf@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.6-canary.3.tgz#594b897e6cb1936bc9de370a110a4b4bfeecf613"
|
||||
integrity sha512-CxliEOJmQ9MbjpG4AOZ6XId6VT1VxJuQtkBcu3RTsTizPFe0Idaf24JSoje2jB7VuLj9gfLXUC3c/iRkMDaG/Q==
|
||||
"@next/swc-linux-arm-gnueabihf@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.5.tgz#82a7cde67482b756bc65fbebf1dfa8a782074e93"
|
||||
integrity sha512-WnhdM5duONMvt2CncAl+9pim0wBxDS2lHoo7ub/o/i1bRbs11UTzosKzEXVaTDCUkCX2c32lIDi1WcN2ZPkcdw==
|
||||
|
||||
"@next/swc-linux-arm64-gnu@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.6-canary.3.tgz#0c44fab923690c97d01709728eb3e21bc421407a"
|
||||
integrity sha512-jqzZ5z1Dcd9GR2Ywi3VKWIjKxWWuLYAgr19VrolVcR6zEAv8TeoJJ9pZPThInQIX9k9v2hEEXLdokSluP2+//w==
|
||||
"@next/swc-linux-arm64-gnu@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.5.tgz#f82ca014504950aab751e81f467492e9be0bad5d"
|
||||
integrity sha512-Jq2H68yQ4bLUhR/XQnbw3LDW0GMQn355qx6rU36BthDLeGue7YV7MqNPa8GKvrpPocEMW77nWx/1yI6w6J07gw==
|
||||
|
||||
"@next/swc-linux-arm64-musl@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.6-canary.3.tgz#5749ab4528b4ab3632a05bda48355f69100b1dcb"
|
||||
integrity sha512-YCifA8BQ6ILva6eWcaLKnSOhSN1RqS8aQXFi9MKrII8B+qMZtnbD1P2k2CPvVo2TgIJRqUd46as0iV29+DmDIQ==
|
||||
"@next/swc-linux-arm64-musl@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.5.tgz#f811ec9f4b12a978426c284c95ab2f515ddf7f9e"
|
||||
integrity sha512-KgPjwdbhDqXI7ghNN8V/WAiLquc9Ebe8KBrNNEL0NQr+yd9CyKJ6KqjayVkmX+hbHzbyvbui/5wh/p3CZQ9xcQ==
|
||||
|
||||
"@next/swc-linux-x64-gnu@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.6-canary.3.tgz#87e3e13ec174c235fe8968786113533ec828c8df"
|
||||
integrity sha512-vjCGyVzoGZyogBzEU0+qqf56LOo1MWZbiEGHUOJP9amr4oRYnXQUiLqjS2cj9BVyl5Dl0vcw4a+t5Ih//5i7uA==
|
||||
"@next/swc-linux-x64-gnu@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.5.tgz#d44857257e6d20dc841998951d584ab1f25772c3"
|
||||
integrity sha512-O2ErUTvCJ6DkNTSr9pbu1n3tcqykqE/ebty1rwClzIYdOgpB3T2MfEPP+K7GhUR87wmN/hlihO9ch7qpVFDGKw==
|
||||
|
||||
"@next/swc-linux-x64-musl@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.6-canary.3.tgz#46392004802fad03c617d30ed2ad78bc87816326"
|
||||
integrity sha512-Qc45QuYnxTtfRFy4mBvWUBkOfPTl/1xp8knPfnXrtwKlV+0zjfv0sHtXeiAr5+vimh1FzU4tbZG1qyIKGEU0xA==
|
||||
"@next/swc-linux-x64-musl@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.5.tgz#3cc523abadc9a2a6de680593aff06e71cc29ecef"
|
||||
integrity sha512-1eIlZmlO/VRjxxzUBcVosf54AFU3ltAzHi+BJA+9U/lPxCYIsT+R4uO3QksRzRjKWhVQMRjEnlXyyq5SKJm7BA==
|
||||
|
||||
"@next/swc-win32-arm64-msvc@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.6-canary.3.tgz#91e1a02c22d82ecfd0f5658baf5dad7bc49f8b9c"
|
||||
integrity sha512-UajPuWvFdWIRE9LYDQsKHn4iRLfMWypQMENlkiLHBmdAWIaRCUfv3BWqD9pU4MHbOMyPObdmr7iQF+R/9EkQYQ==
|
||||
"@next/swc-win32-arm64-msvc@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.5.tgz#c62232d869f1f9b22e8f24e4e7f05307c20f30ca"
|
||||
integrity sha512-oromsfokbEuVb0CBLLE7R9qX3KGXucZpsojLpzUh1QJjuy1QkrPJncwr8xmWQnwgtQ6ecMWXgXPB+qtvizT9Tw==
|
||||
|
||||
"@next/swc-win32-ia32-msvc@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.6-canary.3.tgz#ee5fdeb52ae15a37582ac756a4fbd6a271dd76ba"
|
||||
integrity sha512-ccIwphWQxlUJ8LmRxCoH7BMBimoEy4j48xWkfYrqSIIxU6Da3m4HqE6GVJu7izdwHK+FcrvAsseYlBV/K/S6zA==
|
||||
"@next/swc-win32-ia32-msvc@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.5.tgz#2bd9b28a9ba730d12a493e7d9d18e150fe89d496"
|
||||
integrity sha512-a/51L5KzBpeZSW9LbekMo3I3Cwul+V+QKwbEIMA+Qwb2qrlcn1L9h3lt8cHqNTFt2y72ce6aTwDTw1lyi5oIRA==
|
||||
|
||||
"@next/swc-win32-x64-msvc@12.1.6-canary.3":
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.6-canary.3.tgz#26dfda9debe3fd751044ff13976245c3d3b03ada"
|
||||
integrity sha512-9cbD1Cx+1mzCtCKQdlibT4c9cr1sdkmBPX7+UAbV6+Lj1atu3uHYCa08dSK1Oh/k8Qis+e0tTLD+MXCUQs9g8g==
|
||||
"@next/swc-win32-x64-msvc@12.1.5":
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.5.tgz#02f377e4d41eaaacf265e34bab9bacd8efc4a351"
|
||||
integrity sha512-/SoXW1Ntpmpw3AXAzfDRaQidnd8kbZ2oSni8u5z0yw6t4RwJvmdZy1eOaAADRThWKV+2oU90++LSnXJIwBRWYQ==
|
||||
|
||||
"@nodelib/fs.scandir@2.1.5":
|
||||
version "2.1.5"
|
||||
@ -1721,7 +1721,17 @@
|
||||
semver "^7.3.5"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/parser@5.19.0", "@typescript-eslint/parser@^5.19.0":
|
||||
"@typescript-eslint/parser@5.10.1":
|
||||
version "5.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.1.tgz#4ce9633cc33fc70bc13786cb793c1a76fe5ad6bd"
|
||||
integrity sha512-GReo3tjNBwR5RnRO0K2wDIDN31cM3MmDtgyQ85oAxAmC5K3j/g85IjP+cDfcqDsDDBf1HNKQAD0WqOYL8jXqUA==
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager" "5.10.1"
|
||||
"@typescript-eslint/types" "5.10.1"
|
||||
"@typescript-eslint/typescript-estree" "5.10.1"
|
||||
debug "^4.3.2"
|
||||
|
||||
"@typescript-eslint/parser@^5.19.0":
|
||||
version "5.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.19.0.tgz#05e587c1492868929b931afa0cb5579b0f728e75"
|
||||
integrity sha512-yhktJjMCJX8BSBczh1F/uY8wGRYrBeyn84kH6oyqdIJwTGKmzX5Qiq49LRQ0Jh0LXnWijEziSo6BRqny8nqLVQ==
|
||||
@ -1731,6 +1741,14 @@
|
||||
"@typescript-eslint/typescript-estree" "5.19.0"
|
||||
debug "^4.3.2"
|
||||
|
||||
"@typescript-eslint/scope-manager@5.10.1":
|
||||
version "5.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809"
|
||||
integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.10.1"
|
||||
"@typescript-eslint/visitor-keys" "5.10.1"
|
||||
|
||||
"@typescript-eslint/scope-manager@5.19.0":
|
||||
version "5.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.19.0.tgz#97e59b0bcbcb54dbcdfba96fc103b9020bbe9cb4"
|
||||
@ -1748,11 +1766,29 @@
|
||||
debug "^4.3.2"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/types@5.10.1":
|
||||
version "5.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea"
|
||||
integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q==
|
||||
|
||||
"@typescript-eslint/types@5.19.0":
|
||||
version "5.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.19.0.tgz#12d3d600d754259da771806ee8b2c842d3be8d12"
|
||||
integrity sha512-zR1ithF4Iyq1wLwkDcT+qFnhs8L5VUtjgac212ftiOP/ZZUOCuuF2DeGiZZGQXGoHA50OreZqLH5NjDcDqn34w==
|
||||
|
||||
"@typescript-eslint/typescript-estree@5.10.1":
|
||||
version "5.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15"
|
||||
integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.10.1"
|
||||
"@typescript-eslint/visitor-keys" "5.10.1"
|
||||
debug "^4.3.2"
|
||||
globby "^11.0.4"
|
||||
is-glob "^4.0.3"
|
||||
semver "^7.3.5"
|
||||
tsutils "^3.21.0"
|
||||
|
||||
"@typescript-eslint/typescript-estree@5.19.0":
|
||||
version "5.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.19.0.tgz#fc987b8f62883f9ea6a5b488bdbcd20d33c0025f"
|
||||
@ -1778,6 +1814,14 @@
|
||||
eslint-scope "^5.1.1"
|
||||
eslint-utils "^3.0.0"
|
||||
|
||||
"@typescript-eslint/visitor-keys@5.10.1":
|
||||
version "5.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b"
|
||||
integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ==
|
||||
dependencies:
|
||||
"@typescript-eslint/types" "5.10.1"
|
||||
eslint-visitor-keys "^3.0.0"
|
||||
|
||||
"@typescript-eslint/visitor-keys@5.19.0":
|
||||
version "5.19.0"
|
||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.19.0.tgz#c84ebc7f6c744707a361ca5ec7f7f64cd85b8af6"
|
||||
@ -2614,14 +2658,14 @@ escape-string-regexp@^5.0.0:
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
|
||||
integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
|
||||
|
||||
eslint-config-next@12.1.6-canary.3:
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.1.6-canary.3.tgz#75ee230d5aaa9e97937da46ed430f381b540d08c"
|
||||
integrity sha512-5I+2E03DJ7qZHc3WCTl4koKmllBF/4PySjC1LABDlsfGRurBhK7/7Gtx6+FrFHkL7fd++KA18eW1d7rsTJM9xA==
|
||||
eslint-config-next@12.1.5:
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.1.5.tgz#658cc61194a32dfd917a3db199351396ea5db1d1"
|
||||
integrity sha512-P+DCt5ti63KhC0qNLzrAmPcwRGq8pYqgcf/NNr1E+WjCrMkWdCAXkIANTquo+kcO1adR2k1lTo5GCrNUtKy4hQ==
|
||||
dependencies:
|
||||
"@next/eslint-plugin-next" "12.1.6-canary.3"
|
||||
"@next/eslint-plugin-next" "12.1.5"
|
||||
"@rushstack/eslint-patch" "1.0.8"
|
||||
"@typescript-eslint/parser" "5.19.0"
|
||||
"@typescript-eslint/parser" "5.10.1"
|
||||
eslint-import-resolver-node "0.3.4"
|
||||
eslint-import-resolver-typescript "2.4.0"
|
||||
eslint-plugin-import "2.25.2"
|
||||
@ -4606,28 +4650,28 @@ next-transpile-modules@^9.0.0:
|
||||
enhanced-resolve "^5.7.0"
|
||||
escalade "^3.1.1"
|
||||
|
||||
next@12.1.6-canary.3:
|
||||
version "12.1.6-canary.3"
|
||||
resolved "https://registry.yarnpkg.com/next/-/next-12.1.6-canary.3.tgz#76a085e8512efe15aac42658de3a8729745d1c6f"
|
||||
integrity sha512-Hyv3967ftTyeTqSqXxd3530yH/wFVd+Hvk5CLPIxqtF+HV5jbdcdO/zhH6p4f1rHxdB6b9RC8MEpsb5m5ix2MQ==
|
||||
next@12.1.5:
|
||||
version "12.1.5"
|
||||
resolved "https://registry.yarnpkg.com/next/-/next-12.1.5.tgz#7a07687579ddce61ee519493e1c178d83abac063"
|
||||
integrity sha512-YGHDpyfgCfnT5GZObsKepmRnne7Kzp7nGrac07dikhutWQug7hHg85/+sPJ4ZW5Q2pDkb+n0FnmLkmd44htIJQ==
|
||||
dependencies:
|
||||
"@next/env" "12.1.6-canary.3"
|
||||
"@next/env" "12.1.5"
|
||||
caniuse-lite "^1.0.30001283"
|
||||
postcss "8.4.5"
|
||||
styled-jsx "5.0.1"
|
||||
optionalDependencies:
|
||||
"@next/swc-android-arm-eabi" "12.1.6-canary.3"
|
||||
"@next/swc-android-arm64" "12.1.6-canary.3"
|
||||
"@next/swc-darwin-arm64" "12.1.6-canary.3"
|
||||
"@next/swc-darwin-x64" "12.1.6-canary.3"
|
||||
"@next/swc-linux-arm-gnueabihf" "12.1.6-canary.3"
|
||||
"@next/swc-linux-arm64-gnu" "12.1.6-canary.3"
|
||||
"@next/swc-linux-arm64-musl" "12.1.6-canary.3"
|
||||
"@next/swc-linux-x64-gnu" "12.1.6-canary.3"
|
||||
"@next/swc-linux-x64-musl" "12.1.6-canary.3"
|
||||
"@next/swc-win32-arm64-msvc" "12.1.6-canary.3"
|
||||
"@next/swc-win32-ia32-msvc" "12.1.6-canary.3"
|
||||
"@next/swc-win32-x64-msvc" "12.1.6-canary.3"
|
||||
"@next/swc-android-arm-eabi" "12.1.5"
|
||||
"@next/swc-android-arm64" "12.1.5"
|
||||
"@next/swc-darwin-arm64" "12.1.5"
|
||||
"@next/swc-darwin-x64" "12.1.5"
|
||||
"@next/swc-linux-arm-gnueabihf" "12.1.5"
|
||||
"@next/swc-linux-arm64-gnu" "12.1.5"
|
||||
"@next/swc-linux-arm64-musl" "12.1.5"
|
||||
"@next/swc-linux-x64-gnu" "12.1.5"
|
||||
"@next/swc-linux-x64-musl" "12.1.5"
|
||||
"@next/swc-win32-arm64-msvc" "12.1.5"
|
||||
"@next/swc-win32-ia32-msvc" "12.1.5"
|
||||
"@next/swc-win32-x64-msvc" "12.1.5"
|
||||
|
||||
node-abort-controller@^3.0.1:
|
||||
version "3.0.1"
|
||||
|
Reference in New Issue
Block a user