diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..1ef609de --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +node_modules/ +dist/ +lib/ +src/defaultFiles/ +pnpm-lock.yaml diff --git a/.prettierrc b/.prettierrc index d744794b..0f456911 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,10 +1,11 @@ { "arrowParens": "always", "htmlWhitespaceSensitivity": "ignore", - "printWidth": 100, + "printWidth": 120, "semi": true, "singleQuote": true, "tabWidth": 2, "trailingComma": "all", - "useTabs": false + "useTabs": false, + "quoteProps": "consistent" } diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 26454ac6..c83e2634 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,5 +1,3 @@ { - "recommendations": [ - "esbenp.prettier-vscode" - ] + "recommendations": ["esbenp.prettier-vscode"] } diff --git a/index.html b/index.html index 9395292c..ac6ed667 100644 --- a/index.html +++ b/index.html @@ -6,14 +6,11 @@ Solid Playground - +
- + diff --git a/package.json b/package.json index 90ada7e3..adf97e2f 100644 --- a/package.json +++ b/package.json @@ -18,15 +18,15 @@ "dev": "vite", "build": "vite build && workbox generateSW workbox-config.js", "build:lib": "jiti rollup.config.js", - "format": "prettier -w \"{src,playground}/**/*.{js,json,ts,tsx,html,css}\" \"*.{js,ts}\"", - "prepublishOnly": "pnpm build:lib" + "format": "prettier -w .", + "tsc": "tsc" }, "devDependencies": { - "@babel/core": "^7.17.12", - "@babel/plugin-syntax-jsx": "^7.17.12", - "@babel/types": "^7.17.12", + "@babel/core": "^7.18.6", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.18.8", "@rollup/plugin-babel": "^5.3.1", - "@rollup/plugin-commonjs": "^22.0.0", + "@rollup/plugin-commonjs": "^22.0.1", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.3.0", "@rollup/plugin-replace": "^4.0.0", @@ -34,39 +34,39 @@ "@types/dedent": "^0.7.0", "@types/fs-extra": "^9.0.13", "@types/workbox-sw": "^4.3.2", - "acorn": "^8.7.1", "acorn-jsx": "^5.3.2", - "assert": "^2.0.0", "fs-extra": "^10.1.0", - "jiti": "^1.13.0", + "jiti": "^1.14.0", "mime": "^3.0.0", "monaco-editor": "~0.33.0", "register-service-worker": "^1.7.2", "rollup-plugin-delete": "^2.0.0", "rollup-plugin-import-css": "^3.0.3", - "rollup-plugin-windicss": "^1.8.4", - "typescript": "^4.6.4", - "vite": "^2.9.9", + "rollup-plugin-windicss": "^1.8.6", + "solid-app-router": "^0.4.1", + "typescript": "^4.7.4", + "vite": "^2.9.14", "vite-plugin-solid": "^2.2.6", - "vite-plugin-windicss": "^1.8.4", - "windicss": "^3.5.3", + "vite-plugin-windicss": "^1.8.6", + "windicss": "^3.5.6", "workbox-cli": "^6.5.3" }, "dependencies": { "@amoutonbrady/lz-string": "^0.0.1", - "@babel/preset-typescript": "^7.17.12", - "@babel/standalone": "^7.17.12", - "babel-preset-solid": "1.4.0", + "@babel/preset-typescript": "^7.18.6", + "@babel/standalone": "^7.18.8", + "@solid-primitives/media": "^2.0.0", + "@solid-primitives/scheduled": "^1.0.0", + "babel-preset-solid": "1.4.6", "dedent": "^0.7.0", - "jszip": "^3.9.1", - "mitt": "^3.0.0", + "jszip": "^3.10.0", "monaco-editor-textmate": "^3.0.0", "monaco-textmate": "^3.0.1", "onigasm": "^2.2.5", - "prettier": "^2.6.2", - "rollup": "^2.73.0", + "prettier": "^2.7.1", + "rollup": "^2.76.0", "solid-dismiss": "^1.2.1", "solid-heroicons": "^2.0.3", - "solid-js": "1.4.1" + "solid-js": "1.4.7" } } diff --git a/playground/app.tsx b/playground/app.tsx index 8707897c..b4689b6e 100644 --- a/playground/app.tsx +++ b/playground/app.tsx @@ -1,40 +1,11 @@ -import { Show, onCleanup, createEffect, createSignal, JSX } from 'solid-js'; - -import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'; -import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'; -import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'; -import type { editor as mEditor } from 'monaco-editor'; - -import pkg from '../package.json'; -import { eventBus } from './utils/eventBus'; -import { createTabList, defaultTabs, processImport, Repl } from '../src'; +import { Show, createSignal, JSX, on } from 'solid-js'; +import { Routes, Route, useSearchParams } from 'solid-app-router'; +import { eventBus } from './utils/serviceWorker'; import { Update } from './components/update'; -import { Header } from './components/header'; -import { parseHash } from './utils/parseHash'; -import { isValidUrl } from './utils/isValidUrl'; - -import CompilerWorker from '../src/workers/compiler?worker'; -import FormatterWorker from '../src/workers/formatter?worker'; -import useZoom from '../src/hooks/useZoom'; -import { isDarkTheme } from './utils/isDarkTheme'; -import { exportToJSON } from './utils/exportFiles'; - -(window as any).MonacoEnvironment = { - getWorker(_moduleId: unknown, label: string) { - switch (label) { - case 'css': - return new cssWorker(); - case 'typescript': - case 'javascript': - return new tsWorker(); - default: - return new editorWorker(); - } - }, -}; - -let swUpdatedBeforeRender = false; -eventBus.on('sw-update', () => (swUpdatedBeforeRender = true)); +import { useZoom } from '../src/hooks/useZoom'; +import { Edit } from './pages/edit'; +import { Home } from './pages/home'; +import { Login } from './pages/login'; export const App = (): JSX.Element => { /** @@ -43,123 +14,36 @@ export const App = (): JSX.Element => { * via an EventBus initiated in the service worker and * the couple line above. */ - const [newUpdate, setNewUpdate] = createSignal(swUpdatedBeforeRender); - eventBus.on('sw-update', () => setNewUpdate(true)); - onCleanup(() => eventBus.all.clear()); - - const compiler = new CompilerWorker(); - const formatter = new FormatterWorker(); - - const url = new URL(location.href); - const initialTabs = parseHash(url.hash && url.hash.slice(1), defaultTabs) || defaultTabs; - const [tabs, setTabs] = createTabList(initialTabs); - const [current, setCurrent] = createSignal('main.tsx'); - - const params = Object.fromEntries(url.searchParams.entries()); - const [version, setVersion] = createSignal(params.version || pkg.dependencies['solid-js']); - - const [format, setFormat] = createSignal(false); - let editor: mEditor.IStandaloneCodeEditor | undefined; - - if (params.data && isValidUrl(params.data)) { - fetch(params.data) - .then((r) => r.json()) - .then((data) => { - setTabs(processImport(data)); - }) - .catch((e) => console.error('Failed to import browser data', e)); - } - - const [noHeader, noInteractive, isHorizontal, noEditableTabs] = [ - 'noHeader', - 'noInteractive', - 'isHorizontal', - 'noEditableTabs', - ].map((key) => key in params); - - if (params.format === 'json') { - exportToJSON(tabs()); - } - - const [dark, setDark] = createSignal(isDarkTheme()); - - createEffect(() => { - const action = dark() ? 'add' : 'remove'; - document.body.classList[action]('dark'); - }); - - const header = !noHeader; - const interactive = !noInteractive; - const editableTabs = !noEditableTabs; - - const { zoomState, updateZoomScale } = useZoom(); + const [newUpdate, setNewUpdate] = createSignal(eventBus() != undefined); + on(eventBus, () => setNewUpdate(true)); + const { zoomState, updateZoom } = useZoom(); document.addEventListener('keydown', (e) => { - const key = e.key; - if (!zoomState.overrideNative) return; - - if (!((e.ctrlKey || e.metaKey) && (key === '=' || key === '-'))) { - return; - } - - e.preventDefault(); - - if (key === '=') { - updateZoomScale('increase'); - } else { - updateZoomScale('decrease'); + if (!(e.ctrlKey || e.metaKey)) return; + + if (e.key === '=') { + updateZoom('increase'); + e.preventDefault(); + } else if (e.key == '-') { + updateZoom('decrease'); + e.preventDefault(); } }); - return ( -
- { - const toggledValue = !dark(); - setDark(toggledValue); - localStorage.setItem('dark', String(toggledValue)); - }} - formatCode={() => { - if (!format()) { - editor?.getAction('editor.action.formatDocument').run(); - editor?.focus(); - } - setFormat(true); - setTimeout(setFormat, 750, false); - }} - isHorizontal={isHorizontal} - tabs={tabs()} - setTabs={setTabs} - setCurrent={setCurrent} - onVersionChange={setVersion} - version={version()} - /> - } - fallback={
} - /> + const [searchParams] = useSearchParams(); - { - editor = _editor; - }} - /> + return ( +
+ + } + /> + } /> + } /> + } /> + setNewUpdate(false)} />} />
diff --git a/playground/components/header.tsx b/playground/components/header.tsx index d8c47acd..7530aa43 100644 --- a/playground/components/header.tsx +++ b/playground/components/header.tsx @@ -1,32 +1,28 @@ import Dismiss from 'solid-dismiss'; import { Icon } from 'solid-heroicons'; -import { compressToURL as encode } from '@amoutonbrady/lz-string'; -import { Component, onCleanup, createSignal, Show, createMemo, For } from 'solid-js'; +import { onCleanup, createSignal, Show, ParentComponent } from 'solid-js'; import { share, link, download, xCircle, menu, moon, sun } from 'solid-heroicons/outline'; - -import logo from '../assets/logo.svg?url'; -import type { Tab } from '../../src'; -import { exportToCsb, exportToZip } from '../utils/exportFiles'; +import { exportToZip } from '../utils/exportFiles'; import { ZoomDropdown } from './zoomDropdown'; -import pkg from '../../package.json'; +import { API, useAppContext } from '../context'; -const SOLID_VERSION = pkg.dependencies['solid-js']; +import logo from '../assets/logo.svg?url'; -export const Header: Component<{ - dark: boolean; - toggleDark: () => void; - formatCode: () => void; - isHorizontal: boolean; - tabs: Tab[]; - setTabs: (tabs: Tab[]) => void; - setCurrent: (tabId: string) => void; - version: string; - onVersionChange: (version: string) => void; -}> = (props) => { +export const Header: ParentComponent<{ fork?: () => void; share: () => Promise }> = (props) => { const [copy, setCopy] = createSignal(false); + const context = useAppContext()!; const [showMenu, setShowMenu] = createSignal(false); let menuBtnEl!: HTMLButtonElement; + function shareLink() { + props.share().then((url) => { + navigator.clipboard.writeText(url).then(() => { + setCopy(true); + setTimeout(setCopy, 750, false); + }); + }); + } + window.addEventListener('resize', closeMobileMenu); onCleanup(() => { window.removeEventListener('resize', closeMobileMenu); @@ -36,59 +32,21 @@ export const Header: Component<{ setShowMenu(false); } - function shareLink() { - const url = new URL(location.href); - - url.hash = encode(JSON.stringify(props.tabs)); - url.searchParams.set('version', props.version); - history.replaceState(null, '', url.toString()); - - fetch('/', { method: 'PUT', body: `{"url":"${url.href}"}` }) - .then((response) => { - if (response.status >= 400) { - throw new Error(response.statusText); - } - - return response.text(); - }) - .then((hash) => { - const tinyUrl = new URL(location.origin); - tinyUrl.searchParams.set('hash', hash); - tinyUrl.searchParams.set('version', props.version); - - navigator.clipboard.writeText(tinyUrl.toString()).then(() => { - setCopy(true); - setTimeout(setCopy, 750, false); - }); - }) - .catch(() => { - navigator.clipboard.writeText(url.href).then(() => { - setCopy(true); - setTimeout(setCopy, 750, false); - }); - }); - } - - const versions = createMemo(() => { - const hardCoded = ['0.26.5', '1.0.0', SOLID_VERSION]; - - return hardCoded.includes(props.version) ? hardCoded : [props.version, ...hardCoded]; - }); - return ( -
+

- + solid-js logo - - SolidJS Playground - +
+ {props.children || ( + + SolidJS Playground + + )} +

-
+
menuBtnEl} @@ -97,99 +55,58 @@ export const Header: Component<{ show >
- - - - - + + Export to Zip + + + + -
- + +
); diff --git a/playground/components/update.tsx b/playground/components/update.tsx index df7ff7d9..8d12a788 100644 --- a/playground/components/update.tsx +++ b/playground/components/update.tsx @@ -4,27 +4,19 @@ import { Portal } from 'solid-js/web'; import { Icon } from 'solid-heroicons'; import { x } from 'solid-heroicons/outline'; -interface Props { +export const Update: Component<{ onDismiss: (...args: unknown[]) => unknown; -} - -export const Update: Component = (props) => { +}> = (props) => { const mount = document.getElementById('update'); return (
-

There's a new update available.

-

- Refresh your browser or click the button below to get the latest update of the REPL. -

+

Refresh your browser or click the button below to get the latest update of the REPL.

-
+
{zoomState.zoom}%
@@ -139,7 +140,7 @@ export const ZoomDropdown: Component<{ showMenu: boolean }> = (props) => { type="checkbox" class="mr-4 cursor-pointer" checked={zoomState.overrideNative} - onChange={(e) => updateZoomSettings('overrideNative', e.currentTarget.checked)} + onChange={(e) => setZoomState('overrideNative', e.currentTarget.checked)} /> Override browser zoom keyboard shortcut @@ -148,7 +149,7 @@ export const ZoomDropdown: Component<{ showMenu: boolean }> = (props) => { type="checkbox" class="mr-4 cursor-pointer" checked={zoomState.scaleIframe} - onChange={(e) => updateZoomSettings('scaleIframe', e.currentTarget.checked)} + onChange={(e) => setZoomState('scaleIframe', e.currentTarget.checked)} /> Scale iframe Result diff --git a/playground/context.tsx b/playground/context.tsx new file mode 100644 index 00000000..6295a8dd --- /dev/null +++ b/playground/context.tsx @@ -0,0 +1,77 @@ +import { Accessor, createContext, createResource, createSignal, ParentComponent, Resource, useContext } from 'solid-js'; +import type { Tab } from 'solid-repl'; +import { isDarkTheme } from './utils/isDarkTheme'; + +interface AppContextType { + token: string; + user: Resource<{ display: string; avatar: string } | undefined>; + tabs: Accessor; + setTabs: (x: Accessor | undefined) => void; + dark: Accessor; + toggleDark: () => void; +} + +const AppContext = createContext(); + +// export const API = 'http://localhost:8787'; +// export const API = '/api'; +export const API = 'https://api.solidjs.com'; + +export const AppContextProvider: ParentComponent = (props) => { + let token = localStorage.getItem('token') || ''; + const [user] = createResource(token, async (token) => { + if (!token) + return { + display: '', + avatar: '', + }; + const result = await fetch(`${API}/profile`, { + headers: { + authorization: `Bearer ${token}`, + }, + }); + const body = await result.json(); + return { + display: body.display, + avatar: body.avatar, + }; + }); + + const [dark, setDark] = createSignal(isDarkTheme()); + document.body.classList.toggle('dark', dark()); + + let [tabsGetter, setTabs] = createSignal>(); + return ( + x); + }, + dark, + toggleDark() { + let x = !dark(); + document.body.classList.toggle('dark', x); + setDark(x); + localStorage.setItem('dark', String(x)); + }, + }} + > + {props.children} + + ); +}; + +export const useAppContext = () => useContext(AppContext); diff --git a/playground/index.ts b/playground/index.ts deleted file mode 100644 index 614474c1..00000000 --- a/playground/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { render } from 'solid-js/web'; -import { App } from './app'; -import { registerServiceWorker } from './utils/serviceWorker'; - -render(App, document.querySelector('#app')!); - -registerServiceWorker(); diff --git a/playground/index.tsx b/playground/index.tsx new file mode 100644 index 00000000..c1c0bc9e --- /dev/null +++ b/playground/index.tsx @@ -0,0 +1,18 @@ +import { Router } from 'solid-app-router'; +import { render } from 'solid-js/web'; +import { App } from './app'; +import { AppContextProvider } from './context'; +import { registerServiceWorker } from './utils/serviceWorker'; + +render( + () => ( + + + + + + ), + document.querySelector('#app')!, +); + +registerServiceWorker(); diff --git a/playground/pages/edit.tsx b/playground/pages/edit.tsx new file mode 100644 index 00000000..daeaebf5 --- /dev/null +++ b/playground/pages/edit.tsx @@ -0,0 +1,228 @@ +import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'; +import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'; +import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'; +import CompilerWorker from '../../src/workers/compiler?worker'; +import FormatterWorker from '../../src/workers/formatter?worker'; +import onigasm from 'onigasm/lib/onigasm.wasm?url'; +import { batch, createResource, createSignal, lazy, onCleanup, Show, Suspense } from 'solid-js'; +import { useMatch, useNavigate, useParams } from 'solid-app-router'; +import { API, useAppContext } from '../context'; +import { debounce } from '@solid-primitives/scheduled'; +import { defaultTabs } from '../../src'; +import type { Tab } from 'solid-repl'; +import type { APIRepl } from './home'; +import { Header } from '../components/header'; +import { compressToURL } from '@amoutonbrady/lz-string'; + +const Repl = lazy(() => import('../../src/components/repl')); + +window.MonacoEnvironment = { + getWorker(_moduleId: unknown, label: string) { + switch (label) { + case 'css': + return new cssWorker(); + case 'typescript': + case 'javascript': + return new tsWorker(); + default: + return new editorWorker(); + } + }, + onigasm, +}; + +interface InternalTab extends Tab { + _source: string; +} +export const Edit = (props: { horizontal: boolean }) => { + const scratchpad = useMatch(() => '/scratchpad'); + const compiler = new CompilerWorker(); + const formatter = new FormatterWorker(); + + const params = useParams(); + const context = useAppContext()!; + const navigate = useNavigate(); + + let disableFetch: true | undefined; + + let readonly = () => !scratchpad() && context.user()?.display != params.user; + + const mapTabs = (toMap: (Tab | InternalTab)[]): InternalTab[] => + toMap.map((tab) => { + if ((tab as InternalTab)._source) return tab as InternalTab; + return { + name: tab.name, + _source: tab.source, + get source() { + return this._source; + }, + set source(source: string) { + this._source = source; + updateRepl(); + }, + }; + }); + + const [tabs, trueSetTabs] = createSignal([]); + const setTabs = (tabs: (Tab | InternalTab)[]) => trueSetTabs(mapTabs(tabs)); + context.setTabs(tabs); + onCleanup(() => context.setTabs(undefined)); + + const [current, setCurrent] = createSignal(undefined, { equals: false }); + const [resource, { mutate }] = createResource( + () => ({ repl: params.repl, scratchpad: !!scratchpad() }), + async ({ repl, scratchpad }) => { + if (disableFetch) { + disableFetch = undefined; + return resource.latest; + } + + let output: APIRepl; + if (scratchpad) { + const myScratchpad = localStorage.getItem('scratchpad'); + if (!myScratchpad) { + output = { + files: defaultTabs.map((x) => ({ + name: x.name, + content: x.source.split('\n'), + })), + } as APIRepl; + localStorage.setItem('scratchpad', JSON.stringify(output)); + } else { + output = JSON.parse(myScratchpad); + } + } else { + output = await fetch(`${API}/repl/${repl}`, { + headers: { authorization: context.token ? `Bearer ${context.token}` : '' }, + }).then((r) => r.json()); + } + + batch(() => { + setTabs( + output.files.map((x) => { + return { name: x.name, source: x.content.join('\n') }; + }), + ); + setCurrent(output.files[0].name); + }); + + return output; + }, + ); + + const updateRepl = debounce( + () => { + if (readonly()) { + localStorage.setItem( + 'scratchpad', + JSON.stringify({ + files: tabs()!.map((x) => ({ + name: x.name, + content: x.source.split('\n'), + })), + }), + ); + disableFetch = true; + navigate('/scratchpad'); + return; + } + + const repl = resource.latest; + if (!repl) return; + + const files = tabs().map((x) => ({ name: x.name, content: x.source.split('\n') })); + + if (scratchpad()) { + localStorage.setItem('scratchpad', JSON.stringify({ files })); + } else if (context.token && context.user()?.display == params.user) { + fetch(`${API}/repl/${params.repl}`, { + method: 'PUT', + headers: { + 'authorization': `Bearer ${context.token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + title: repl.title, + version: repl.version, + public: repl.public, + labels: repl.labels, + files, + }), + }); + } + }, + !!scratchpad() ? 10 : 1000, + ); + + return ( + <> +
{}} + share={async () => { + if (scratchpad()) { + let url = new URL(location.origin); + url.hash = compressToURL(JSON.stringify(context.tabs())); + console.log('Shareable url:', url.href); + + try { + const response = await fetch('/', { method: 'PUT', body: `{"url":"${url.href}"}` }); + if (response.status >= 400) { + throw new Error(response.statusText); + } + const hash = await response.text(); + const tinyUrl = new URL(location.origin); + tinyUrl.searchParams.set('hash', hash); + return tinyUrl.toString(); + } catch { + return url.href; + } + } else { + return location.href; + } + }} + > + {resource()?.title && ( + { + mutate((x) => x && { ...x, title: e.currentTarget.value }); + updateRepl(); + }} + /> + )} +
+ + + + + } + > + + + + + + ); +}; diff --git a/playground/pages/home.tsx b/playground/pages/home.tsx new file mode 100644 index 00000000..a5675c26 --- /dev/null +++ b/playground/pages/home.tsx @@ -0,0 +1,243 @@ +import { useLocation, useNavigate, useParams } from 'solid-app-router'; +import { Icon } from 'solid-heroicons'; +import { eye, eyeOff, plus, x } from 'solid-heroicons/outline'; +import { createEffect, createResource, For, Show, Suspense } from 'solid-js'; +import { createStore, produce } from 'solid-js/store'; +import { defaultTabs } from '../../src'; +import { API, useAppContext } from '../context'; +import { decompressFromURL } from '@amoutonbrady/lz-string'; +import { Header } from '../components/header'; + +function parseHash(hash: string, fallback: T): T { + try { + return JSON.parse(decompressFromURL(hash) || ''); + } catch { + return fallback; + } +} + +export interface ReplFile { + name: string; + content: string[]; +} +export interface APIRepl { + id: string; + title: string; + labels: string[]; + files: ReplFile[]; + version: string; + public: boolean; + size: number; + created_at: string; + updated_at?: string; +} +interface Repls { + total: number; + list: APIRepl[]; +} + +const formatter = new Intl.RelativeTimeFormat('en'); +const timeAgo = (ms: number): string => { + const sec = Math.round(ms / 1000); + const min = Math.round(sec / 60); + const hr = Math.round(min / 60); + const day = Math.round(hr / 24); + const month = Math.round(day / 30); + const year = Math.round(month / 12); + if (sec < 10) { + return 'just now'; + } else if (sec < 45) { + return formatter.format(-sec, 'second'); + } else if (sec < 90 || min < 45) { + return formatter.format(-min, 'minute'); + } else if (min < 90 || hr < 24) { + return formatter.format(-hr, 'hour'); + } else if (hr < 36 || day < 30) { + return formatter.format(-day, 'day'); + } else if (month < 18) { + return formatter.format(-month, 'month'); + } else { + return formatter.format(-year, 'year'); + } +}; + +export const Home = () => { + const params = useParams(); + const context = useAppContext()!; + const navigate = useNavigate(); + const location = useLocation(); + + createEffect(() => { + if (location.hash) { + const initialTabs = parseHash(location.hash.slice(1), defaultTabs); + localStorage.setItem( + 'scratchpad', + JSON.stringify({ + files: initialTabs.map((x) => ({ + name: x.name + ((x as any).type ? `.${(x as any).type}` : ''), + content: x.source.split('\n'), + })), + }), + ); + navigate(`/scratchpad`); + } else if (!context.token && !params.user) { + navigate(`/scratchpad`); + } + }); + + const [repls, setRepls] = createStore({ total: 0, list: [] }); + const [resourceRepls] = createResource( + () => ({ user: params.user }), + async ({ user }) => { + if (!user && !context.token) return { total: 0, list: [] }; + let output = await fetch(`${API}/repl${user ? `/${user}/list` : '?'}`, { + headers: { + Authorization: `Bearer ${context.token}`, + }, + }).then((r) => r.json()); + setRepls(output); + return output; + }, + ); + const get = (x: T) => { + resourceRepls(); + return x; + }; + + return ( + <> +
{ + const url = new URL(document.location.origin); + url.pathname = params.user || context.user.latest!.display; + return url.toString(); + }} + /> +
+ {`${params.user}'s`} Repls}> +
+ +

+ or{' '} + + open my scratchpad + +

+
+
+ + + + + + + + + + + + + + + + } + > + + {(repl, i) => ( + + + + + + + + )} + + + +
TitleEditedOptions
+ + + + +
+ {repl.title} + + {timeAgo(Date.now() - new Date(repl.updated_at || repl.created_at).getTime())} + + { + fetch(`${API}/repl/${repl.id}`, { + method: 'PUT', + headers: { + 'authorization': `Bearer ${context.token}`, + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + ...repl, + public: !repl.public, + }), + }); + setRepls( + produce((x) => { + x!.list[i()].public = !repl.public; + }), + ); + }} + /> + { + fetch(`${API}/repl/${repl.id}`, { + method: 'DELETE', + headers: { + authorization: `Bearer ${context.token}`, + }, + }); + setRepls({ + total: repls.total - 1, + list: repls.list.filter((x) => x.id !== repl.id), + }); + }} + /> +
+
+ + ); +}; diff --git a/playground/pages/login.tsx b/playground/pages/login.tsx new file mode 100644 index 00000000..a3b75dee --- /dev/null +++ b/playground/pages/login.tsx @@ -0,0 +1,9 @@ +import { Navigate, useSearchParams } from 'solid-app-router'; +import { useAppContext } from '../context'; + +export const Login = () => { + const [params] = useSearchParams(); + const context = useAppContext()!; + context.token = params.token; + return ; +}; diff --git a/playground/utils/eventBus.ts b/playground/utils/eventBus.ts deleted file mode 100644 index e7e2b9e6..00000000 --- a/playground/utils/eventBus.ts +++ /dev/null @@ -1,2 +0,0 @@ -import mitt from 'mitt'; -export const eventBus = mitt(); diff --git a/playground/utils/exportFiles.tsx b/playground/utils/exportFiles.tsx index 1e9e42dd..978ecaac 100644 --- a/playground/utils/exportFiles.tsx +++ b/playground/utils/exportFiles.tsx @@ -1,9 +1,7 @@ import pkg from '../../package.json'; -import type { Tab } from '../../src'; -import { compressToBase64 } from '@amoutonbrady/lz-string'; +import type { Tab } from 'solid-repl'; import dedent from 'dedent'; -type IFiles = Record; isBinary: boolean }>; const viteConfigFile = dedent` import { defineConfig } from "vite"; import solidPlugin from "vite-plugin-solid"; @@ -37,8 +35,6 @@ const tsConfig = JSON.stringify( 2, ); -const { dependencies: d, devDependencies: dd } = pkg; - const packageJSON = JSON.stringify( { scripts: { @@ -46,11 +42,11 @@ const packageJSON = JSON.stringify( build: 'vite build', }, dependencies: { - 'solid-js': d['solid-js'], + 'solid-js': pkg.dependencies['solid-js'], }, devDependencies: { - vite: dd['vite'], - 'vite-plugin-solid': dd['vite-plugin-solid'], + 'vite': pkg.devDependencies['vite'], + 'vite-plugin-solid': pkg.devDependencies['vite-plugin-solid'], }, }, null, @@ -72,60 +68,9 @@ const indexHTML = (tabs: Tab[]) => dedent` `; -function getParameters(parameters: { files: IFiles }) { - return compressToBase64(JSON.stringify(parameters)) - .replace(/\+/g, '-') // Convert '+' to '-' - .replace(/\//g, '_') // Convert '/' to '_' - .replace(/=+$/, ''); // Remove ending '=' -} - -export function exportToCsb(tabs: Tab[]): void { - const params = tabs.reduce((p, tab) => { - p[`src/${tab.name}.${tab.type}`] = { content: tab.source, isBinary: false }; - return p; - }, {}); - - const parameters = getParameters({ - files: { - ...params, - 'vite.config.ts': { - content: viteConfigFile, - isBinary: false, - }, - 'tsconfig.json': { - content: tsConfig, - isBinary: false, - }, - 'index.html': { - content: indexHTML(tabs), - isBinary: false, - }, - 'package.json': { - content: packageJSON, - isBinary: false, - }, - }, - }); - - const url = `https://codesandbox.io/api/v1/sandboxes/define?parameters=${parameters}`; - - const a = document.createElement('a'); - a.setAttribute('href', url); - a.setAttribute('target', '_blank'); - a.setAttribute('rel', 'noopener'); - - document.body.appendChild(a); - a.click(); - a.remove(); -} - /** * This function will convert the tabs of the playground - * into a JSON formatted playground that can then be reimported later on - * via the url `https://playground.solidjs.com/?data=my-file.json` or - * vua the import button - * - * @param tabs {Tab[]} - The tabs to export + * into a ZIP formatted playground that can then be reimported later on */ export async function exportToZip(tabs: Tab[]): Promise { const { default: JSZip } = await import('jszip'); @@ -136,12 +81,8 @@ export async function exportToZip(tabs: Tab[]): Promise { zip.file('package.json', packageJSON); zip.file('vite.config.ts', viteConfigFile); zip.file('tsconfig.json', tsConfig); - - // project src - const src = zip.folder('src')!; - for (const tab of tabs) { - src.file(`${tab.name}.${tab.type}`, tab.source); + zip.file(tab.name, tab.source); } const blob = await zip.generateAsync({ type: 'blob' }); @@ -152,22 +93,3 @@ export async function exportToZip(tabs: Tab[]): Promise { anchor.click(); anchor.remove(); } - -/** - * This function will convert the tabs of the playground - * into a JSON formatted playground that can then be reimported later on - * via the url `https://playground.solidjs.com/?data=my-file.json` or - * vua the import button - * - * @param tabs {Tab[]} - The tabs to export - */ -export function exportToJSON(tabs: Tab[]): void { - const files = tabs.map<{ name: string; content: string }>((tab) => ({ - name: tab.name, - type: tab.type, - content: tab.source, - })); - - const blob = new Blob([JSON.stringify({ files }, null, 4)], { type: 'application/json' }); - location.href = URL.createObjectURL(blob); -} diff --git a/playground/utils/parseHash.ts b/playground/utils/parseHash.ts deleted file mode 100644 index 43c4fd51..00000000 --- a/playground/utils/parseHash.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { decompressFromURL as decompress } from '@amoutonbrady/lz-string'; - -export function parseHash(hash: string, fallback: T): T { - try { - return JSON.parse(decompress(hash)!); - } catch { - return fallback; - } -} diff --git a/playground/utils/serviceWorker.ts b/playground/utils/serviceWorker.ts index fa45457a..9936de2f 100644 --- a/playground/utils/serviceWorker.ts +++ b/playground/utils/serviceWorker.ts @@ -1,14 +1,18 @@ import { register } from 'register-service-worker'; -import { eventBus } from './eventBus'; +import { createSignal } from 'solid-js'; -export function registerServiceWorker(): void { +const [eventBus, setEventBus] = createSignal(); + +function registerServiceWorker(): void { if ('serviceWorker' in navigator && import.meta.env.PROD) { window.addEventListener('load', () => { register('/sw.js', { updated(registration) { - eventBus.emit('sw-update', registration); + setEventBus(registration); }, }); }); } } + +export { eventBus, registerServiceWorker }; diff --git a/playground/utils/isValidUrl.ts b/playground/utils/url.ts similarity index 50% rename from playground/utils/isValidUrl.ts rename to playground/utils/url.ts index 289dad13..cc3d28ce 100644 --- a/playground/utils/isValidUrl.ts +++ b/playground/utils/url.ts @@ -1,3 +1,5 @@ +import { decompressFromURL as decompress } from '@amoutonbrady/lz-string'; + /** * Validate that a string is a valid URL * @@ -11,3 +13,11 @@ export function isValidUrl(url: string): boolean { return false; } } + +export function parseHash(hash: string): T | undefined { + try { + return JSON.parse(decompress(hash)!); + } catch { + return; + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f1911b63..5e8a1303 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,16 +2,18 @@ lockfileVersion: 5.4 specifiers: '@amoutonbrady/lz-string': ^0.0.1 - '@babel/core': ^7.17.12 - '@babel/plugin-syntax-jsx': ^7.17.12 - '@babel/preset-typescript': ^7.17.12 - '@babel/standalone': ^7.17.12 - '@babel/types': ^7.17.12 + '@babel/core': ^7.18.6 + '@babel/plugin-syntax-jsx': ^7.18.6 + '@babel/preset-typescript': ^7.18.6 + '@babel/standalone': ^7.18.8 + '@babel/types': ^7.18.8 '@rollup/plugin-babel': ^5.3.1 - '@rollup/plugin-commonjs': ^22.0.0 + '@rollup/plugin-commonjs': ^22.0.1 '@rollup/plugin-json': ^4.1.0 '@rollup/plugin-node-resolve': ^13.3.0 '@rollup/plugin-replace': ^4.0.0 + '@solid-primitives/media': ^2.0.0 + '@solid-primitives/scheduled': ^1.0.0 '@types/babel__standalone': ^7.1.4 '@types/dedent': ^0.7.0 '@types/fs-extra': ^9.0.13 @@ -19,59 +21,60 @@ specifiers: acorn: ^8.7.1 acorn-jsx: ^5.3.2 assert: ^2.0.0 - babel-preset-solid: 1.4.0 + babel-preset-solid: 1.4.6 dedent: ^0.7.0 fs-extra: ^10.1.0 - jiti: ^1.13.0 - jszip: ^3.9.1 + jiti: ^1.14.0 + jszip: ^3.10.0 mime: ^3.0.0 - mitt: ^3.0.0 monaco-editor: ~0.33.0 monaco-editor-textmate: ^3.0.0 monaco-textmate: ^3.0.1 onigasm: ^2.2.5 - prettier: ^2.6.2 + prettier: ^2.7.1 register-service-worker: ^1.7.2 - rollup: ^2.73.0 + rollup: ^2.76.0 rollup-plugin-delete: ^2.0.0 rollup-plugin-import-css: ^3.0.3 - rollup-plugin-windicss: ^1.8.4 + rollup-plugin-windicss: ^1.8.6 + solid-app-router: ^0.4.1 solid-dismiss: ^1.2.1 solid-heroicons: ^2.0.3 - solid-js: 1.4.1 - typescript: ^4.6.4 - vite: ^2.9.9 + solid-js: 1.4.7 + typescript: ^4.7.4 + vite: ^2.9.14 vite-plugin-solid: ^2.2.6 - vite-plugin-windicss: ^1.8.4 - windicss: ^3.5.3 + vite-plugin-windicss: ^1.8.6 + windicss: ^3.5.6 workbox-cli: ^6.5.3 dependencies: '@amoutonbrady/lz-string': 0.0.1 - '@babel/preset-typescript': 7.17.12_@babel+core@7.17.12 - '@babel/standalone': 7.17.12 - babel-preset-solid: 1.4.0_@babel+core@7.17.12 + '@babel/preset-typescript': 7.18.6_@babel+core@7.18.6 + '@babel/standalone': 7.18.8 + '@solid-primitives/media': 2.0.0_solid-js@1.4.7 + '@solid-primitives/scheduled': 1.0.0_solid-js@1.4.7 + babel-preset-solid: 1.4.6_@babel+core@7.18.6 dedent: 0.7.0 - jszip: 3.9.1 - mitt: 3.0.0 + jszip: 3.10.0 monaco-editor-textmate: 3.0.0_nurowwtvogix47pnszh4m7lsnu monaco-textmate: 3.0.1_onigasm@2.2.5 onigasm: 2.2.5 - prettier: 2.6.2 - rollup: 2.73.0 - solid-dismiss: 1.2.1_solid-js@1.4.1 + prettier: 2.7.1 + rollup: 2.76.0 + solid-dismiss: 1.2.1_solid-js@1.4.7 solid-heroicons: 2.0.3 - solid-js: 1.4.1 + solid-js: 1.4.7 devDependencies: - '@babel/core': 7.17.12 - '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.17.12 - '@babel/types': 7.17.12 - '@rollup/plugin-babel': 5.3.1_cozkpsv5bxi2sl4sehld7oc7ze - '@rollup/plugin-commonjs': 22.0.0_rollup@2.73.0 - '@rollup/plugin-json': 4.1.0_rollup@2.73.0 - '@rollup/plugin-node-resolve': 13.3.0_rollup@2.73.0 - '@rollup/plugin-replace': 4.0.0_rollup@2.73.0 + '@babel/core': 7.18.6 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.6 + '@babel/types': 7.18.8 + '@rollup/plugin-babel': 5.3.1_ayiqorrx7dutx4scyxuyyyvhga + '@rollup/plugin-commonjs': 22.0.1_rollup@2.76.0 + '@rollup/plugin-json': 4.1.0_rollup@2.76.0 + '@rollup/plugin-node-resolve': 13.3.0_rollup@2.76.0 + '@rollup/plugin-replace': 4.0.0_rollup@2.76.0 '@types/babel__standalone': 7.1.4 '@types/dedent': 0.7.0 '@types/fs-extra': 9.0.13 @@ -80,18 +83,19 @@ devDependencies: acorn-jsx: 5.3.2_acorn@8.7.1 assert: 2.0.0 fs-extra: 10.1.0 - jiti: 1.13.0 + jiti: 1.14.0 mime: 3.0.0 monaco-editor: 0.33.0 register-service-worker: 1.7.2 rollup-plugin-delete: 2.0.0 - rollup-plugin-import-css: 3.0.3_rollup@2.73.0 - rollup-plugin-windicss: 1.8.4_rollup@2.73.0 - typescript: 4.6.4 - vite: 2.9.9 + rollup-plugin-import-css: 3.0.3_rollup@2.76.0 + rollup-plugin-windicss: 1.8.6_rollup@2.76.0 + solid-app-router: 0.4.1_solid-js@1.4.7 + typescript: 4.7.4 + vite: 2.9.14 vite-plugin-solid: 2.2.6 - vite-plugin-windicss: 1.8.4_vite@2.9.9 - windicss: 3.5.3 + vite-plugin-windicss: 1.8.6_vite@2.9.14 + windicss: 3.5.6 workbox-cli: 6.5.3 packages: @@ -105,15 +109,15 @@ packages: engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.14 dev: true /@antfu/utils/0.5.2: resolution: {integrity: sha512-CQkeV+oJxUazwjlHD0/3ZD08QWKuGQkhnrKo3e6ly5pd48VUpXbb77q0xMU4+vc2CkJnDS02Eq/M9ugyX20XZA==} dev: true - /@apideck/better-ajv-errors/0.3.3_ajv@8.11.0: - resolution: {integrity: sha512-9o+HO2MbJhJHjDYZaDxJmSDckvDpiuItEsrIShV0DXeCshXWRHhqYyU/PKHMkuClOmFnZhRd6wzv4vpDu/dRKg==} + /@apideck/better-ajv-errors/0.3.6_ajv@8.11.0: + resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} peerDependencies: ajv: '>=8' @@ -124,31 +128,31 @@ packages: leven: 3.1.0 dev: true - /@babel/code-frame/7.16.7: - resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} + /@babel/code-frame/7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.17.12 + '@babel/highlight': 7.18.6 - /@babel/compat-data/7.17.10: - resolution: {integrity: sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==} + /@babel/compat-data/7.18.8: + resolution: {integrity: sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.17.12: - resolution: {integrity: sha512-44ODe6O1IVz9s2oJE3rZ4trNNKTX9O7KpQpfAP4t8QII/zwrVRHL7i2pxhqtcY7tqMLrrKfMlBKnm1QlrRFs5w==} + /@babel/core/7.18.6: + resolution: {integrity: sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.16.7 - '@babel/generator': 7.17.12 - '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.12 - '@babel/helper-module-transforms': 7.17.12 - '@babel/helpers': 7.17.9 - '@babel/parser': 7.17.12 - '@babel/template': 7.16.7 - '@babel/traverse': 7.17.12 - '@babel/types': 7.17.12 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.18.7 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helpers': 7.18.6 + '@babel/parser': 7.18.8 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 convert-source-map: 1.8.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -158,1160 +162,1182 @@ packages: - supports-color dev: true - /@babel/generator/7.17.12: - resolution: {integrity: sha512-V49KtZiiiLjH/CnIW6OjJdrenrGoyh6AmKQ3k2AZFKozC1h846Q4NYlZ5nqAigPDUXfGzC88+LOUuG8yKd2kCw==} + /@babel/generator/7.18.7: + resolution: {integrity: sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 - '@jridgewell/gen-mapping': 0.3.1 + '@babel/types': 7.18.8 + '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 - /@babel/helper-annotate-as-pure/7.16.7: - resolution: {integrity: sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==} + /@babel/helper-annotate-as-pure/7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 - /@babel/helper-builder-binary-assignment-operator-visitor/7.16.7: - resolution: {integrity: sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==} + /@babel/helper-builder-binary-assignment-operator-visitor/7.18.6: + resolution: {integrity: sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-explode-assignable-expression': 7.16.7 - '@babel/types': 7.17.12 + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.18.8 dev: true - /@babel/helper-compilation-targets/7.17.10_@babel+core@7.17.12: - resolution: {integrity: sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==} + /@babel/helper-compilation-targets/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.17.10 - '@babel/core': 7.17.12 - '@babel/helper-validator-option': 7.16.7 - browserslist: 4.20.3 + '@babel/compat-data': 7.18.8 + '@babel/core': 7.18.6 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.1 semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-sZoOeUTkFJMyhqCei2+Z+wtH/BehW8NVKQt7IRUQlRiOARuXymJYfN/FCcI8CvVbR0XVyDM6eLFOlR7YtiXnew==} + /@babel/helper-create-class-features-plugin/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-annotate-as-pure': 7.16.7 - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.17.9 - '@babel/helper-member-expression-to-functions': 7.17.7 - '@babel/helper-optimise-call-expression': 7.16.7 - '@babel/helper-replace-supers': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-member-expression-to-functions': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color - /@babel/helper-create-regexp-features-plugin/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==} + /@babel/helper-create-regexp-features-plugin/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-annotate-as-pure': 7.16.7 - regexpu-core: 5.0.1 + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.1.0 dev: true - /@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.17.12: + /@babel/helper-define-polyfill-provider/0.3.1_@babel+core@7.18.6: resolution: {integrity: sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==} peerDependencies: '@babel/core': ^7.4.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.12 - '@babel/helper-module-imports': 7.16.7 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/traverse': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/traverse': 7.18.8 debug: 4.3.4 lodash.debounce: 4.0.8 - resolve: 1.22.0 + resolve: 1.22.1 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-environment-visitor/7.16.7: - resolution: {integrity: sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==} + /@babel/helper-environment-visitor/7.18.6: + resolution: {integrity: sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.17.12 - /@babel/helper-explode-assignable-expression/7.16.7: - resolution: {integrity: sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==} + /@babel/helper-explode-assignable-expression/7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 dev: true - /@babel/helper-function-name/7.17.9: - resolution: {integrity: sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==} + /@babel/helper-function-name/7.18.6: + resolution: {integrity: sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.16.7 - '@babel/types': 7.17.12 + '@babel/template': 7.18.6 + '@babel/types': 7.18.8 - /@babel/helper-hoist-variables/7.16.7: - resolution: {integrity: sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==} + /@babel/helper-hoist-variables/7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 - /@babel/helper-member-expression-to-functions/7.17.7: - resolution: {integrity: sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==} + /@babel/helper-member-expression-to-functions/7.18.6: + resolution: {integrity: sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 /@babel/helper-module-imports/7.16.0: resolution: {integrity: sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 - /@babel/helper-module-imports/7.16.7: - resolution: {integrity: sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==} + /@babel/helper-module-imports/7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 dev: true - /@babel/helper-module-transforms/7.17.12: - resolution: {integrity: sha512-t5s2BeSWIghhFRPh9XMn6EIGmvn8Lmw5RVASJzkIx1mSemubQQBNIZiQD7WzaFmaHIrjAec4x8z9Yx8SjJ1/LA==} + /@babel/helper-module-transforms/7.18.8: + resolution: {integrity: sha512-che3jvZwIcZxrwh63VfnFTUzcAM9v/lznYkkRxIBGMPt1SudOKHAEec0SIRCfiuIzTcF7VGj/CaTT6gY4eWxvA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-module-imports': 7.16.7 - '@babel/helper-simple-access': 7.17.7 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/helper-validator-identifier': 7.16.7 - '@babel/template': 7.16.7 - '@babel/traverse': 7.17.12 - '@babel/types': 7.17.12 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.18.6 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-optimise-call-expression/7.16.7: - resolution: {integrity: sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==} + /@babel/helper-optimise-call-expression/7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 - /@babel/helper-plugin-utils/7.17.12: - resolution: {integrity: sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==} + /@babel/helper-plugin-utils/7.18.6: + resolution: {integrity: sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator/7.16.8: - resolution: {integrity: sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==} + /@babel/helper-remap-async-to-generator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ==} engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/helper-annotate-as-pure': 7.16.7 - '@babel/helper-wrap-function': 7.16.8 - '@babel/types': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-wrap-function': 7.18.6 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-replace-supers/7.16.7: - resolution: {integrity: sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==} + /@babel/helper-replace-supers/7.18.6: + resolution: {integrity: sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-member-expression-to-functions': 7.17.7 - '@babel/helper-optimise-call-expression': 7.16.7 - '@babel/traverse': 7.17.12 - '@babel/types': 7.17.12 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-member-expression-to-functions': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color - /@babel/helper-simple-access/7.17.7: - resolution: {integrity: sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==} + /@babel/helper-simple-access/7.18.6: + resolution: {integrity: sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 dev: true - /@babel/helper-skip-transparent-expression-wrappers/7.16.0: - resolution: {integrity: sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==} + /@babel/helper-skip-transparent-expression-wrappers/7.18.6: + resolution: {integrity: sha512-4KoLhwGS9vGethZpAhYnMejWkX64wsnHPDwvOsKWU6Fg4+AlK2Jz3TyjQLMEPvz+1zemi/WBdkYxCD0bAfIkiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 dev: true - /@babel/helper-split-export-declaration/7.16.7: - resolution: {integrity: sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==} + /@babel/helper-split-export-declaration/7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 - /@babel/helper-validator-identifier/7.16.7: - resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} + /@babel/helper-validator-identifier/7.18.6: + resolution: {integrity: sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option/7.16.7: - resolution: {integrity: sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==} + /@babel/helper-validator-option/7.18.6: + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function/7.16.8: - resolution: {integrity: sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==} + /@babel/helper-wrap-function/7.18.6: + resolution: {integrity: sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-function-name': 7.17.9 - '@babel/template': 7.16.7 - '@babel/traverse': 7.17.12 - '@babel/types': 7.17.12 + '@babel/helper-function-name': 7.18.6 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true - /@babel/helpers/7.17.9: - resolution: {integrity: sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==} + /@babel/helpers/7.18.6: + resolution: {integrity: sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.16.7 - '@babel/traverse': 7.17.12 - '@babel/types': 7.17.12 + '@babel/template': 7.18.6 + '@babel/traverse': 7.18.8 + '@babel/types': 7.18.8 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight/7.17.12: - resolution: {integrity: sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==} + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.16.7 + '@babel/helper-validator-identifier': 7.18.6 chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser/7.17.12: - resolution: {integrity: sha512-FLzHmN9V3AJIrWfOpvRlZCeVg/WLdicSnTMsLur6uDj9TT8ymUlG9XxURdW/XvuygK+2CW0poOJABdA4m/YKxA==} + /@babel/parser/7.18.8: + resolution: {integrity: sha512-RSKRfYX20dyH+elbJK2uqAkVyucL+xXzhqlMD5/ZXx+dAAwpyB7HsvnHe/ZUGOF+xLr5Wx9/JoXVTj6BQE2/oA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.17.12 + '@babel/types': 7.18.8 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Udgu8ZRgrBrttVz6A0EVL0SJ1z+RLbIeqsu632SA1hf0awEppD6TvdznoH+orIF8wtFFAV/Enmw9Y+9oV8TQcw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - '@babel/plugin-proposal-optional-chaining': 7.17.12_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 + '@babel/plugin-proposal-optional-chaining': 7.18.6_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-async-generator-functions/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==} + /@babel/plugin-proposal-async-generator-functions/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-remap-async-to-generator': 7.16.8 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-remap-async-to-generator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-properties/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==} + /@babel/plugin-proposal-class-properties/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-create-class-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-class-static-block/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-8ILyDG6eL14F8iub97dVc8q35Md0PJYAnA5Kz9NACFOkt6ffCcr0FISyUPKHsvuAy36fkpIitxZ9bVYPFMGQHA==} + /@babel/plugin-proposal-class-static-block/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-create-class-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-dynamic-import/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==} + /@babel/plugin-proposal-dynamic-import/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-export-namespace-from/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==} + /@babel/plugin-proposal-export-namespace-from/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-zr/QcUlUo7GPo6+X1wC98NJADqmy5QTFWWhqeQWiki4XHafJtLl/YMGkmRB2szDD2IYJCCdBTd4ElwhId9T7Xw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-json-strings/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==} + /@babel/plugin-proposal-json-strings/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-logical-assignment-operators/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==} + /@babel/plugin-proposal-logical-assignment-operators/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-zMo66azZth/0tVd7gmkxOkOjs2rpHyhpcFo565PUP37hSp6hSd9uUKIfTDFMz58BwqgQKhJ9YxtM5XddjXVn+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-nullish-coalescing-operator/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==} + /@babel/plugin-proposal-nullish-coalescing-operator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-numeric-separator/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==} + /@babel/plugin-proposal-numeric-separator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-object-rest-spread/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-6l9cO3YXXRh4yPCPRA776ZyJ3RobG4ZKJZhp7NDRbKIOeV3dBPG8FXCF7ZtiO2RTCIOkQOph1xDDcc01iWVNjQ==} + /@babel/plugin-proposal-object-rest-spread/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-9yuM6wr4rIsKa1wlUAbZEazkCrgw2sMPEXCr4Rnwetu7cEW1NydkCWytLuYletbf8vFxdJxFhwEZqMpOx2eZyw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.17.10 - '@babel/core': 7.17.12 - '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.12 - '@babel/plugin-transform-parameters': 7.17.12_@babel+core@7.17.12 + '@babel/compat-data': 7.18.8 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-optional-catch-binding/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==} + /@babel/plugin-proposal-optional-catch-binding/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-optional-chaining/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==} + /@babel/plugin-proposal-optional-chaining/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-PatI6elL5eMzoypFAiYDpYQyMtXTn+iMhuxxQt5mAXD4fEmKorpSI3PHd+i3JXBJN3xyA6MvJv7at23HffFHwA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.6 dev: true - /@babel/plugin-proposal-private-methods/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==} + /@babel/plugin-proposal-private-methods/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-create-class-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-private-property-in-object/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==} + /@babel/plugin-proposal-private-property-in-object/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-annotate-as-pure': 7.16.7 - '@babel/helper-create-class-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-proposal-unicode-property-regex/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==} + /@babel/plugin-proposal-unicode-property-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} engines: {node: '>=4'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-create-regexp-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.17.12: + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.18.6: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.17.12: + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.18.6: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.17.12: + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.18.6: resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.17.12: + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.18.6: resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.17.12: + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.18.6: resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.17.12: + /@babel/plugin-syntax-import-assertions/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + dev: true + + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.18.6: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-jsx/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-spyY3E3AURfxh/RHtjx5j6hs8am5NbUBGfcZ2vB3uShSpZdQyXSf5rR5Mk76vbtlAZOelyVQ71Fg0x9SG4fsog==} + /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.17.12: + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.18.6: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.17.12: + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.18.6: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.17.12: + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.18.6: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.17.12: + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.18.6: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.17.12: + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.18.6: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.17.12: + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.18.6: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.17.12: + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.18.6: resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.17.12: + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.18.6: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-syntax-typescript/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-TYY0SXFiO31YXtNg3HtFwNJHjLsAyIIhAhNWkQ5whPPS7HWUFlg9z0Ta4qAQNjQbP1wsSt/oKkmZ/4/WWdMUpw==} + /@babel/plugin-syntax-typescript/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 - /@babel/plugin-transform-arrow-functions/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==} + /@babel/plugin-transform-arrow-functions/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-async-to-generator/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==} + /@babel/plugin-transform-async-to-generator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-module-imports': 7.16.7 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-remap-async-to-generator': 7.16.8 + '@babel/core': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-remap-async-to-generator': 7.18.6_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-block-scoped-functions/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==} + /@babel/plugin-transform-block-scoped-functions/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-block-scoping/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-jw8XW/B1i7Lqwqj2CbrViPcZijSxfguBWZP2aN59NHgxUyO/OcO1mfdCxH13QhN5LbWhPkX+f+brKGhZTiqtZQ==} + /@babel/plugin-transform-block-scoping/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-pRqwb91C42vs1ahSAWJkxOxU1RHWDn16XAa6ggQ72wjLlWyYeAcLvTtE0aM8ph3KNydy9CQF2nLYcjq1WysgxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-classes/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-cvO7lc7pZat6BsvH6l/EGaI8zpl8paICaoGk+7x7guvtfak/TbIf66nYmJOH13EuG0H+Xx3M+9LQDtSvZFKXKw==} + /@babel/plugin-transform-classes/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-RySDoXdF6hgHSHuAW4aLGyVQdmvEX/iJtjVre52k0pxRq4hzqze+rAVP++NmNv596brBpYmaiKgTZby7ziBnVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-annotate-as-pure': 7.16.7 - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.17.9 - '@babel/helper-optimise-call-expression': 7.16.7 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-replace-supers': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 + '@babel/core': 7.18.6 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-computed-properties/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==} + /@babel/plugin-transform-computed-properties/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-9repI4BhNrR0KenoR9vm3/cIc1tSBIo+u1WVjKCAynahj25O8zfbiE6JtAtHPGQSs4yZ+bA8mRasRP+qc+2R5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-destructuring/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-P8pt0YiKtX5UMUL5Xzsc9Oyij+pJE6JuC+F1k0/brq/OOGs5jDa1If3OY0LRWGvJsJhI+8tsiecL3nJLc0WTlg==} + /@babel/plugin-transform-destructuring/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-tgy3u6lRp17ilY8r1kP4i2+HDUwxlVqq3RTc943eAWSzGgpU1qhiKpqZ5CMyHReIYPHdo3Kg8v8edKtDqSVEyQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-dotall-regex/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==} + /@babel/plugin-transform-dotall-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-create-regexp-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-duplicate-keys/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==} + /@babel/plugin-transform-duplicate-keys/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-NJU26U/208+sxYszf82nmGYqVF9QN8py2HFTblPT9hbawi8+1C5a9JubODLTGFuT0qlkqVinmkwOD13s0sZktg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-exponentiation-operator/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==} + /@babel/plugin-transform-exponentiation-operator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.16.7 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-for-of/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-76lTwYaCxw8ldT7tNmye4LLwSoKDbRCBzu6n/DcK/P3FOR29+38CIIaVIZfwol9By8W/QHORYEnYSLuvcQKrsg==} + /@babel/plugin-transform-for-of/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-function-name/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==} + /@babel/plugin-transform-function-name/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-kJha/Gbs5RjzIu0CxZwf5e3aTTSlhZnHMT8zPWnJMjNpLOUgqevg+PN5oMH68nMCXnfiMo4Bhgxqj59KHTlAnA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.12 - '@babel/helper-function-name': 7.17.9 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-literals/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==} + /@babel/plugin-transform-literals/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-x3HEw0cJZVDoENXOp20HlypIHfl0zMIhMVZEBVTfmqbObIpsMxMbmU5nOEO8R7LYT+z5RORKPlTI5Hj4OsO9/Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-member-expression-literals/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==} + /@babel/plugin-transform-member-expression-literals/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-modules-amd/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-p5rt9tB5Ndcc2Za7CeNxVf7YAjRcUMR6yi8o8tKjb9KhRkEvXwa+C0hj6DA5bVDkKRxB0NYhMUGbVKoFu4+zEA==} + /@babel/plugin-transform-modules-amd/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-module-transforms': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helper-plugin-utils': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-tVPs6MImAJz+DiX8Y1xXEMdTk5Lwxu9jiPjlS+nv5M2A59R7+/d1+9A8C/sbuY0b3QjIxqClkj6KAplEtRvzaA==} + /@babel/plugin-transform-modules-commonjs/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-module-transforms': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-simple-access': 7.17.7 + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-simple-access': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-NVhDb0q00hqZcuLduUf/kMzbOQHiocmPbIxIvk23HLiEqaTKC/l4eRxeC7lO63M72BmACoiKOcb9AkOAJRerpw==} + /@babel/plugin-transform-modules-systemjs/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-UbPYpXxLjTw6w6yXX2BYNxF3p6QY225wcTkfQCy3OMnSlS/C3xGtwUjEzGkldb/sy6PWLiCQ3NbYfjWUTI3t4g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-hoist-variables': 7.16.7 - '@babel/helper-module-transforms': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-validator-identifier': 7.16.7 + '@babel/core': 7.18.6 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-validator-identifier': 7.18.6 babel-plugin-dynamic-import-node: 2.3.3 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-modules-umd/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-BnsPkrUHsjzZGpnrmJeDFkOMMljWFHPjDc9xDcz71/C+ybF3lfC3V4m3dwXPLZrE5b3bgd4V+3/Pj+3620d7IA==} + /@babel/plugin-transform-modules-umd/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-module-transforms': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-module-transforms': 7.18.8 + '@babel/helper-plugin-utils': 7.18.6 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==} + /@babel/plugin-transform-named-capturing-groups-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-create-regexp-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-new-target/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==} + /@babel/plugin-transform-new-target/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-object-super/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==} + /@babel/plugin-transform-object-super/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-replace-supers': 7.16.7 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-replace-supers': 7.18.6 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-transform-parameters/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==} + /@babel/plugin-transform-parameters/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-property-literals/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==} + /@babel/plugin-transform-property-literals/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-regenerator/7.17.9_@babel+core@7.17.12: - resolution: {integrity: sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==} + /@babel/plugin-transform-regenerator/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 regenerator-transform: 0.15.0 dev: true - /@babel/plugin-transform-reserved-words/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==} + /@babel/plugin-transform-reserved-words/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-shorthand-properties/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==} + /@babel/plugin-transform-shorthand-properties/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-spread/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==} + /@babel/plugin-transform-spread/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-ayT53rT/ENF8WWexIRg9AiV9h0aIteyWn5ptfZTZQrjk/+f3WdrJGCY4c9wcgl2+MKkKPhzbYp97FTsquZpDCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.18.6 dev: true - /@babel/plugin-transform-sticky-regex/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==} + /@babel/plugin-transform-sticky-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-template-literals/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-kAKJ7DX1dSRa2s7WN1xUAuaQmkTpN+uig4wCKWivVXIObqGbVTUlSavHyfI2iZvz89GFAMGm9p2DBJ4Y1Tp0hw==} + /@babel/plugin-transform-template-literals/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-UuqlRrQmT2SWRvahW46cGSany0uTlcj8NYOS5sRGYi8FxPYPoLd5DDmMd32ZXEj2Jq+06uGVQKHxa/hJx2EzKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-typeof-symbol/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==} + /@babel/plugin-transform-typeof-symbol/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-7m71iS/QhsPk85xSjFPovHPcH3H9qeyzsujhTc+vcdnsXavoWYJ74zx0lP5RhpC5+iDnVLO+PPMHzC11qels1g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-typescript/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-ICbXZqg6hgenjmwciVI/UfqZtExBrZOrS8sLB5mTHGO/j08Io3MmooULBiijWk9JBknjM3CbbtTc/0ZsqLrjXQ==} + /@babel/plugin-transform-typescript/7.18.8_@babel+core@7.18.6: + resolution: {integrity: sha512-p2xM8HI83UObjsZGofMV/EdYjamsDm6MoN3hXPYIT0+gxIoopE+B7rPYKAxfrz9K9PK7JafTTjqYC6qipLExYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-create-class-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-syntax-typescript': 7.17.12_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-syntax-typescript': 7.18.6_@babel+core@7.18.6 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-unicode-escapes/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==} + /@babel/plugin-transform-unicode-escapes/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-XNRwQUXYMP7VLuy54cr/KS/WeL3AZeORhrmeZ7iewgu+X2eBqmpaLI/hzqr9ZxCeUoq0ASK4GUzSM0BDhZkLFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/plugin-transform-unicode-regex/7.16.7_@babel+core@7.17.12: - resolution: {integrity: sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==} + /@babel/plugin-transform-unicode-regex/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-create-regexp-features-plugin': 7.17.12_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-create-regexp-features-plugin': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 dev: true - /@babel/preset-env/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-Kke30Rj3Lmcx97bVs71LO0s8M6FmJ7tUAQI9fNId62rf0cYG1UAWwdNO9/sE0/pLEahAw1MqMorymoD12bj5Fg==} + /@babel/preset-env/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.17.10 - '@babel/core': 7.17.12 - '@babel/helper-compilation-targets': 7.17.10_@babel+core@7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-validator-option': 7.16.7 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-async-generator-functions': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-class-properties': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-class-static-block': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-dynamic-import': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-proposal-export-namespace-from': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-json-strings': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-logical-assignment-operators': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-numeric-separator': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-proposal-object-rest-spread': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-optional-catch-binding': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-proposal-optional-chaining': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-private-methods': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-private-property-in-object': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-proposal-unicode-property-regex': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.17.12 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.17.12 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.17.12 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.17.12 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.17.12 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.17.12 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.17.12 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.17.12 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.17.12 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.17.12 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.17.12 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.17.12 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.17.12 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.17.12 - '@babel/plugin-transform-arrow-functions': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-async-to-generator': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-block-scoped-functions': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-block-scoping': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-classes': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-computed-properties': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-destructuring': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-dotall-regex': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-duplicate-keys': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-exponentiation-operator': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-for-of': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-function-name': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-literals': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-member-expression-literals': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-modules-amd': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-modules-commonjs': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-modules-systemjs': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-modules-umd': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-named-capturing-groups-regex': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-new-target': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-object-super': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-parameters': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-property-literals': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-regenerator': 7.17.9_@babel+core@7.17.12 - '@babel/plugin-transform-reserved-words': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-shorthand-properties': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-spread': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-sticky-regex': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-template-literals': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-typeof-symbol': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-unicode-escapes': 7.16.7_@babel+core@7.17.12 - '@babel/plugin-transform-unicode-regex': 7.16.7_@babel+core@7.17.12 - '@babel/preset-modules': 0.1.5_@babel+core@7.17.12 - '@babel/types': 7.17.12 - babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.17.12 - babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.17.12 - babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.17.12 - core-js-compat: 3.22.5 + '@babel/compat-data': 7.18.8 + '@babel/core': 7.18.6 + '@babel/helper-compilation-targets': 7.18.6_@babel+core@7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-async-generator-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-class-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-class-static-block': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-dynamic-import': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-export-namespace-from': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-json-strings': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-logical-assignment-operators': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-numeric-separator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-object-rest-spread': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-optional-catch-binding': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-optional-chaining': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-private-methods': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-private-property-in-object': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.18.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.18.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-import-assertions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.18.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.18.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.18.6 + '@babel/plugin-transform-arrow-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-async-to-generator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-block-scoping': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-classes': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-computed-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-destructuring': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-duplicate-keys': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-exponentiation-operator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-for-of': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-function-name': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-member-expression-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-amd': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-commonjs': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-systemjs': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-modules-umd': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-named-capturing-groups-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-new-target': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-object-super': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-parameters': 7.18.8_@babel+core@7.18.6 + '@babel/plugin-transform-property-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-regenerator': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-reserved-words': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-shorthand-properties': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-spread': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-sticky-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-template-literals': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-typeof-symbol': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-unicode-escapes': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-unicode-regex': 7.18.6_@babel+core@7.18.6 + '@babel/preset-modules': 0.1.5_@babel+core@7.18.6 + '@babel/types': 7.18.8 + babel-plugin-polyfill-corejs2: 0.3.1_@babel+core@7.18.6 + babel-plugin-polyfill-corejs3: 0.5.2_@babel+core@7.18.6 + babel-plugin-polyfill-regenerator: 0.3.1_@babel+core@7.18.6 + core-js-compat: 3.23.4 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/preset-modules/0.1.5_@babel+core@7.17.12: + /@babel/preset-modules/0.1.5_@babel+core@7.18.6: resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/plugin-proposal-unicode-property-regex': 7.17.12_@babel+core@7.17.12 - '@babel/plugin-transform-dotall-regex': 7.16.7_@babel+core@7.17.12 - '@babel/types': 7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6_@babel+core@7.18.6 + '@babel/plugin-transform-dotall-regex': 7.18.6_@babel+core@7.18.6 + '@babel/types': 7.18.8 esutils: 2.0.3 dev: true - /@babel/preset-typescript/7.17.12_@babel+core@7.17.12: - resolution: {integrity: sha512-S1ViF8W2QwAKUGJXxP9NAfNaqGDdEBJKpYkxHf5Yy2C4NPPzXGeR3Lhk7G8xJaaLcFTRfNjVbtbVtm8Gb0mqvg==} + /@babel/preset-typescript/7.18.6_@babel+core@7.18.6: + resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-plugin-utils': 7.17.12 - '@babel/helper-validator-option': 7.16.7 - '@babel/plugin-transform-typescript': 7.17.12_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-plugin-utils': 7.18.6 + '@babel/helper-validator-option': 7.18.6 + '@babel/plugin-transform-typescript': 7.18.8_@babel+core@7.18.6 transitivePeerDependencies: - supports-color - /@babel/runtime/7.17.9: - resolution: {integrity: sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==} + /@babel/runtime/7.18.6: + resolution: {integrity: sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.9 dev: true - /@babel/standalone/7.17.12: - resolution: {integrity: sha512-U14lJUFnEXZn/t8v516Hok6pZR6mRu7wk+Ivl2uvDJ1elA7kbYVh0djVdQvQDatMerR/P8yPJpNCuCxWHsWpaA==} + /@babel/standalone/7.18.8: + resolution: {integrity: sha512-cDayR7x6IAp7k1947fYeo7OxD7QwT9/UZ+BT05Zq2pfsOzkhOJZdY19X0NvL6fYaszwnzO0zVHgp04OspPh3SA==} engines: {node: '>=6.9.0'} dev: false - /@babel/template/7.16.7: - resolution: {integrity: sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==} + /@babel/template/7.18.6: + resolution: {integrity: sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.7 - '@babel/parser': 7.17.12 - '@babel/types': 7.17.12 + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.18.8 + '@babel/types': 7.18.8 - /@babel/traverse/7.17.12: - resolution: {integrity: sha512-zULPs+TbCvOkIFd4FrG53xrpxvCBwLIgo6tO0tJorY7YV2IWFxUfS/lXDJbGgfyYt9ery/Gxj2niwttNnB0gIw==} + /@babel/traverse/7.18.8: + resolution: {integrity: sha512-UNg/AcSySJYR/+mIcJQDCv00T+AqRO7j/ZEJLzpaYtgM48rMg5MnkJgyNqkzo88+p4tfRvZJCEiwwfG6h4jkRg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.16.7 - '@babel/generator': 7.17.12 - '@babel/helper-environment-visitor': 7.16.7 - '@babel/helper-function-name': 7.17.9 - '@babel/helper-hoist-variables': 7.16.7 - '@babel/helper-split-export-declaration': 7.16.7 - '@babel/parser': 7.17.12 - '@babel/types': 7.17.12 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.18.7 + '@babel/helper-environment-visitor': 7.18.6 + '@babel/helper-function-name': 7.18.6 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.18.8 + '@babel/types': 7.18.8 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types/7.17.12: - resolution: {integrity: sha512-rH8i29wcZ6x9xjzI5ILHL/yZkbQnCERdHlogKuIb4PUr7do4iT8DPekrTbBLWTnRQm6U0GYABbTMSzijmEqlAg==} + /@babel/types/7.18.8: + resolution: {integrity: sha512-qwpdsmraq0aJ3osLJRApsc2ouSJCdnMeZwB0DhbtHAtRpZNZCdlbRnHIgcRKzdE1g0iOGg644fzjOBcdOz9cPw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.16.7 + '@babel/helper-validator-identifier': 7.18.6 to-fast-properties: 2.0.0 /@jridgewell/gen-mapping/0.1.1: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.1 - '@jridgewell/sourcemap-codec': 1.4.13 + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@jridgewell/gen-mapping/0.3.1: - resolution: {integrity: sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==} + /@jridgewell/gen-mapping/0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/set-array': 1.1.1 - '@jridgewell/sourcemap-codec': 1.4.13 - '@jridgewell/trace-mapping': 0.3.13 + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.14 - /@jridgewell/resolve-uri/3.0.7: - resolution: {integrity: sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==} + /@jridgewell/resolve-uri/3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array/1.1.1: - resolution: {integrity: sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==} + /@jridgewell/set-array/1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - /@jridgewell/sourcemap-codec/1.4.13: - resolution: {integrity: sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==} + /@jridgewell/source-map/0.3.2: + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.14 + dev: true + + /@jridgewell/sourcemap-codec/1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/trace-mapping/0.3.13: - resolution: {integrity: sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==} + /@jridgewell/trace-mapping/0.3.14: + resolution: {integrity: sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==} dependencies: - '@jridgewell/resolve-uri': 3.0.7 - '@jridgewell/sourcemap-codec': 1.4.13 + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -1334,7 +1360,7 @@ packages: fastq: 1.13.0 dev: true - /@rollup/plugin-babel/5.3.1_cozkpsv5bxi2sl4sehld7oc7ze: + /@rollup/plugin-babel/5.3.1_ayiqorrx7dutx4scyxuyyyvhga: resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -1345,88 +1371,88 @@ packages: '@types/babel__core': optional: true dependencies: - '@babel/core': 7.17.12 - '@babel/helper-module-imports': 7.16.7 - '@rollup/pluginutils': 3.1.0_rollup@2.73.0 - rollup: 2.73.0 + '@babel/core': 7.18.6 + '@babel/helper-module-imports': 7.18.6 + '@rollup/pluginutils': 3.1.0_rollup@2.76.0 + rollup: 2.76.0 dev: true - /@rollup/plugin-commonjs/22.0.0_rollup@2.73.0: - resolution: {integrity: sha512-Ktvf2j+bAO+30awhbYoCaXpBcyPmJbaEUYClQns/+6SNCYFURbvBiNbWgHITEsIgDDWCDUclWRKEuf8cwZCFoQ==} + /@rollup/plugin-commonjs/22.0.1_rollup@2.76.0: + resolution: {integrity: sha512-dGfEZvdjDHObBiP5IvwTKMVeq/tBZGMBHZFMdIV1ClMM/YoWS34xrHFGfag9SN2ZtMgNZRFruqvxZQEa70O6nQ==} engines: {node: '>= 12.0.0'} peerDependencies: rollup: ^2.68.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.73.0 + '@rollup/pluginutils': 3.1.0_rollup@2.76.0 commondir: 1.0.1 estree-walker: 2.0.2 glob: 7.2.3 is-reference: 1.2.1 magic-string: 0.25.9 - resolve: 1.22.0 - rollup: 2.73.0 + resolve: 1.22.1 + rollup: 2.76.0 dev: true - /@rollup/plugin-json/4.1.0_rollup@2.73.0: + /@rollup/plugin-json/4.1.0_rollup@2.76.0: resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.73.0 - rollup: 2.73.0 + '@rollup/pluginutils': 3.1.0_rollup@2.76.0 + rollup: 2.76.0 dev: true - /@rollup/plugin-node-resolve/11.2.1_rollup@2.73.0: + /@rollup/plugin-node-resolve/11.2.1_rollup@2.76.0: resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.73.0 + '@rollup/pluginutils': 3.1.0_rollup@2.76.0 '@types/resolve': 1.17.1 builtin-modules: 3.3.0 deepmerge: 4.2.2 is-module: 1.0.0 - resolve: 1.22.0 - rollup: 2.73.0 + resolve: 1.22.1 + rollup: 2.76.0 dev: true - /@rollup/plugin-node-resolve/13.3.0_rollup@2.73.0: + /@rollup/plugin-node-resolve/13.3.0_rollup@2.76.0: resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^2.42.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.73.0 + '@rollup/pluginutils': 3.1.0_rollup@2.76.0 '@types/resolve': 1.17.1 deepmerge: 4.2.2 is-builtin-module: 3.1.0 is-module: 1.0.0 - resolve: 1.22.0 - rollup: 2.73.0 + resolve: 1.22.1 + rollup: 2.76.0 dev: true - /@rollup/plugin-replace/2.4.2_rollup@2.73.0: + /@rollup/plugin-replace/2.4.2_rollup@2.76.0: resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.73.0 + '@rollup/pluginutils': 3.1.0_rollup@2.76.0 magic-string: 0.25.9 - rollup: 2.73.0 + rollup: 2.76.0 dev: true - /@rollup/plugin-replace/4.0.0_rollup@2.73.0: + /@rollup/plugin-replace/4.0.0_rollup@2.76.0: resolution: {integrity: sha512-+rumQFiaNac9y64OHtkHGmdjm7us9bo1PlbgQfdihQtuNxzjpaB064HbRnewUOggLQxVCCyINfStkgmBeQpv1g==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.73.0 + '@rollup/pluginutils': 3.1.0_rollup@2.76.0 magic-string: 0.25.9 - rollup: 2.73.0 + rollup: 2.76.0 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.73.0: + /@rollup/pluginutils/3.1.0_rollup@2.76.0: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -1435,7 +1461,7 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 - rollup: 2.73.0 + rollup: 2.76.0 dev: true /@rollup/pluginutils/4.2.1: @@ -1451,6 +1477,59 @@ packages: engines: {node: '>=6'} dev: true + /@solid-primitives/event-listener/2.2.0_solid-js@1.4.7: + resolution: {integrity: sha512-puW/GHPOHi/3z8KIdJozlDh2MwQsAVZxBSeahY29t26QBDzInRch0SZZ+6xX/Tjb7g7Q8IjZgA4QWE7Ts1EX7Q==} + peerDependencies: + solid-js: ^1.3.1 + dependencies: + '@solid-primitives/utils': 1.5.2_solid-js@1.4.7 + solid-js: 1.4.7 + dev: false + + /@solid-primitives/media/2.0.0_solid-js@1.4.7: + resolution: {integrity: sha512-yIJylhHfWNRdRvYmCwKQdoyWv+69vcZkf2+/QYrRaHovKCd8usGja5zeK3VNXhi9/oXS66XxJFxh+FkeuYPxFg==} + peerDependencies: + solid-js: ^1.4.0 + dependencies: + '@solid-primitives/event-listener': 2.2.0_solid-js@1.4.7 + '@solid-primitives/rootless': 1.1.0_solid-js@1.4.7 + '@solid-primitives/utils': 2.2.1_solid-js@1.4.7 + solid-js: 1.4.7 + dev: false + + /@solid-primitives/rootless/1.1.0_solid-js@1.4.7: + resolution: {integrity: sha512-9KiTDWxEQ8d5NTElCqKVASxukUWMYMVOVGE6ZAq1MUUQPT94lQ2BdnHVUOplN5zu+rQ15AWleM8fZRwty6Ge9A==} + peerDependencies: + solid-js: ^1.3.1 + dependencies: + '@solid-primitives/utils': 1.5.2_solid-js@1.4.7 + solid-js: 1.4.7 + dev: false + + /@solid-primitives/scheduled/1.0.0_solid-js@1.4.7: + resolution: {integrity: sha512-FfzYoAkFCRGBuCuXF8G7fU4J4SK9PhKbwxZvzqk+VVBcowPS1eGlLAtlqW/29paSKlUSxuLuhZxq1sPzwmuvoQ==} + peerDependencies: + solid-js: ^1.4.0 + dependencies: + solid-js: 1.4.7 + dev: false + + /@solid-primitives/utils/1.5.2_solid-js@1.4.7: + resolution: {integrity: sha512-dZUHjzasuqS2lDO+PQCY1+jFmtWHlaP3tUvkX1Jr06LI/Ipa2P/ZNVSvuIoqQ0Bg+Ny27LvtrXxflZNeGtptvA==} + peerDependencies: + solid-js: ^1.3.1 + dependencies: + solid-js: 1.4.7 + dev: false + + /@solid-primitives/utils/2.2.1_solid-js@1.4.7: + resolution: {integrity: sha512-vaBO3MGOpjzitbSAVuJkYZnzNPRl6sRrw2do390DEBbfeqMfPpW4fAEb5/tI4b5T13V1xAY+giHoxqvVg2SRhQ==} + peerDependencies: + solid-js: ^1.4.1 + dependencies: + solid-js: 1.4.7 + dev: false + /@surma/rollup-plugin-off-main-thread/2.2.3: resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} dependencies: @@ -1470,7 +1549,7 @@ packages: /@types/babel__standalone/7.1.4: resolution: {integrity: sha512-HijIDmcNl3Wmo0guqjYkQvMzyRCM6zMCkYcdG8f+2X7mPBNa9ikSeaQlWs2Yg18KN1klOJzyupX5BPOf+7ahaw==} dependencies: - '@babel/core': 7.17.12 + '@babel/core': 7.18.6 transitivePeerDependencies: - supports-color dev: true @@ -1483,27 +1562,27 @@ packages: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/estree/0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + /@types/estree/0.0.52: + resolution: {integrity: sha512-BZWrtCU0bMVAIliIV+HJO1f1PR41M7NKjfxrFJwwhKI1KwhwOxYw1SXg9ao+CIMt774nFuGiG6eU+udtbEI9oQ==} dev: true /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 17.0.34 + '@types/node': 18.0.3 dev: true /@types/glob/7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 3.0.5 - '@types/node': 17.0.34 + '@types/node': 18.0.3 dev: true /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 17.0.34 + '@types/node': 18.0.3 dev: true /@types/minimatch/3.0.5: @@ -1514,8 +1593,8 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node/17.0.34: - resolution: {integrity: sha512-XImEz7XwTvDBtzlTnm8YvMqGW/ErMWBsKZ+hMTvnDIjGCKxwK5Xpc+c/oQjOauwq8M4OS11hEkpjX8rrI/eEgA==} + /@types/node/18.0.3: + resolution: {integrity: sha512-HzNRZtp4eepNitP+BD6k2L6DROIDG4Q0fm4x+dwfsr6LGmROENnok75VGw40628xf+iR24WeMFcHuuBDUAzzsQ==} dev: true /@types/normalize-package-data/2.4.1: @@ -1525,13 +1604,13 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 17.0.34 + '@types/node': 18.0.3 dev: true /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 17.0.34 + '@types/node': 18.0.3 dev: true /@types/trusted-types/2.0.2: @@ -1620,26 +1699,26 @@ packages: '@types/workbox-streams': 4.3.0 dev: true - /@windicss/config/1.8.4: - resolution: {integrity: sha512-i4fFGFfZoRess6WMkauykHC3PFd9xKYVx7lSuLfMK7sgo6x3+l4dY42GbsWMHyLqH1sTMfyt1LgfXSIKYJozSA==} + /@windicss/config/1.8.6: + resolution: {integrity: sha512-WVS41qUJtd44g2iWzTAE8tpgk8gD0yAr1RwwaWi7FAECKm3LVNMLOoToum9R/QKFE2n64EUVJpIvSUNby8rlhg==} dependencies: debug: 4.3.4 - jiti: 1.13.0 - windicss: 3.5.3 + jiti: 1.14.0 + windicss: 3.5.6 transitivePeerDependencies: - supports-color dev: true - /@windicss/plugin-utils/1.8.4: - resolution: {integrity: sha512-DqJVwAfzlgd8nYSNlmhXOey32pI8UwH7QiOWdFS/AR2O/q9oLDGHDn97Its/kZdfoyhi8ylwZNP2Pk0H7cihhQ==} + /@windicss/plugin-utils/1.8.6: + resolution: {integrity: sha512-YY6EcUsgkosaQkIseFiIoHfU1H5boOAs/l74QWLI6ryNeHLMq2e04QVsFz+Rt+U8b8PRNxXPC8ADbxE05X7I7g==} dependencies: '@antfu/utils': 0.5.2 - '@windicss/config': 1.8.4 + '@windicss/config': 1.8.6 debug: 4.3.4 fast-glob: 3.2.11 magic-string: 0.26.2 micromatch: 4.0.5 - windicss: 3.5.3 + windicss: 3.5.6 transitivePeerDependencies: - supports-color dev: true @@ -1733,8 +1812,8 @@ packages: util: 0.12.4 dev: true - /async/3.2.3: - resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==} + /async/3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: true /at-least-node/1.0.0: @@ -1753,58 +1832,60 @@ packages: object.assign: 4.1.2 dev: true - /babel-plugin-jsx-dom-expressions/0.33.0_@babel+core@7.17.12: - resolution: {integrity: sha512-f70XzLfr+x8pOxRAZPNe7MBaILcgIp10RE6AVA7BZqtZYclsT/h/9Bj2GZU6rXG+ud1fEZCW1lAIt6gv9kt3Cw==} + /babel-plugin-jsx-dom-expressions/0.33.12_@babel+core@7.18.6: + resolution: {integrity: sha512-FQeNcBvC+PrPYGpeUztI7AiiAqJL2H8e7mL4L6qHZ7B4wZfbgyREsHZwKmmDqxAehlyAUolTdhDNk9xfyHdIZw==} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: + '@babel/core': 7.18.6 '@babel/helper-module-imports': 7.16.0 - '@babel/plugin-syntax-jsx': 7.17.12_@babel+core@7.17.12 - '@babel/types': 7.17.12 + '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.18.6 + '@babel/types': 7.18.8 html-entities: 2.3.2 - transitivePeerDependencies: - - '@babel/core' - /babel-plugin-polyfill-corejs2/0.3.1_@babel+core@7.17.12: + /babel-plugin-polyfill-corejs2/0.3.1_@babel+core@7.18.6: resolution: {integrity: sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.17.10 - '@babel/core': 7.17.12 - '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.12 + '@babel/compat-data': 7.18.8 + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-corejs3/0.5.2_@babel+core@7.17.12: + /babel-plugin-polyfill-corejs3/0.5.2_@babel+core@7.18.6: resolution: {integrity: sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.12 - core-js-compat: 3.22.5 + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 + core-js-compat: 3.23.4 transitivePeerDependencies: - supports-color dev: true - /babel-plugin-polyfill-regenerator/0.3.1_@babel+core@7.17.12: + /babel-plugin-polyfill-regenerator/0.3.1_@babel+core@7.18.6: resolution: {integrity: sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.17.12 - '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/helper-define-polyfill-provider': 0.3.1_@babel+core@7.18.6 transitivePeerDependencies: - supports-color dev: true - /babel-preset-solid/1.4.0_@babel+core@7.17.12: - resolution: {integrity: sha512-mcnAtsQj4cxX+rPomhH+XgNunTFxW6CnkyaD9nZqzpcBULtfSTnqqlfFx0+OqaD5/71Q90UgOSNv7NJp+GGU4g==} + /babel-preset-solid/1.4.6_@babel+core@7.18.6: + resolution: {integrity: sha512-5n+nm1zgj7BK9cv0kYu0p+kbsXgGbrxLmA5bv5WT0V5WnqRgshWILInPWLJNZbvP5gBj+huDKwk3J4RhhbFlhA==} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - babel-plugin-jsx-dom-expressions: 0.33.0_@babel+core@7.17.12 - transitivePeerDependencies: - - '@babel/core' + '@babel/core': 7.18.6 + babel-plugin-jsx-dom-expressions: 0.33.12_@babel+core@7.18.6 /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1861,16 +1942,15 @@ packages: fill-range: 7.0.1 dev: true - /browserslist/4.20.3: - resolution: {integrity: sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==} + /browserslist/4.21.1: + resolution: {integrity: sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001341 - electron-to-chromium: 1.4.137 - escalade: 3.1.1 - node-releases: 2.0.4 - picocolors: 1.0.0 + caniuse-lite: 1.0.30001364 + electron-to-chromium: 1.4.185 + node-releases: 2.0.6 + update-browserslist-db: 1.0.4_browserslist@4.21.1 dev: true /buffer-from/1.1.2: @@ -1906,7 +1986,7 @@ packages: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} dependencies: function-bind: 1.1.1 - get-intrinsic: 1.1.1 + get-intrinsic: 1.1.2 dev: true /camelcase-keys/6.2.2: @@ -1923,8 +2003,8 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite/1.0.30001341: - resolution: {integrity: sha512-2SodVrFFtvGENGCv0ChVJIDQ0KPaS1cg7/qtfMaICgeMolDdo/Z2OD32F0Aq9yl6F4YFwGPBS5AaPqNYiW4PoA==} + /caniuse-lite/1.0.30001364: + resolution: {integrity: sha512-9O0xzV3wVyX0SlegIQ6knz+okhBB5pE0PC40MNdwcipjwpxoUEHL24uJ+gG42cgklPjfO5ZjZPme9FTSN3QT2Q==} dev: true /chalk/2.4.2: @@ -2002,13 +2082,13 @@ packages: dev: true /clone-response/1.0.2: - resolution: {integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=} + resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} dependencies: mimic-response: 1.0.1 dev: true /clone/1.0.4: - resolution: {integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4=} + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} dev: true @@ -2025,7 +2105,7 @@ packages: dev: true /color-name/1.1.3: - resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -2041,7 +2121,7 @@ packages: dev: true /commondir/1.0.1: - resolution: {integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=} + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true /concat-map/0.0.1: @@ -2066,10 +2146,10 @@ packages: safe-buffer: 5.1.2 dev: true - /core-js-compat/3.22.5: - resolution: {integrity: sha512-rEF75n3QtInrYICvJjrAgV03HwKiYvtKHdPtaba1KucG+cNZ4NJnH9isqt979e67KZlhpbCOTwnsvnIr+CVeOg==} + /core-js-compat/3.23.4: + resolution: {integrity: sha512-RkSRPe+JYEoflcsuxJWaiMPhnZoFS51FcIxm53k4KzhISCBTmaGlto9dTIrYuk0hnJc3G6pKufAKepHnBq6B6Q==} dependencies: - browserslist: 4.20.3 + browserslist: 4.21.1 semver: 7.0.0 dev: true @@ -2094,7 +2174,7 @@ packages: ms: 2.1.2 /decamelize-keys/1.1.0: - resolution: {integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=} + resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} engines: {node: '>=0.10.0'} dependencies: decamelize: 1.2.0 @@ -2102,19 +2182,19 @@ packages: dev: true /decamelize/1.2.0: - resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} dev: true /decompress-response/3.3.0: - resolution: {integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=} + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} engines: {node: '>=4'} dependencies: mimic-response: 1.0.1 dev: true /dedent/0.7.0: - resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=} + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} dev: false /deep-extend/0.6.0: @@ -2128,7 +2208,7 @@ packages: dev: true /defaults/1.0.3: - resolution: {integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=} + resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==} dependencies: clone: 1.0.4 dev: true @@ -2173,8 +2253,8 @@ packages: is-obj: 2.0.0 dev: true - /duplexer3/0.1.4: - resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} + /duplexer3/0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} dev: true /ejs/3.1.8: @@ -2185,8 +2265,8 @@ packages: jake: 10.8.5 dev: true - /electron-to-chromium/1.4.137: - resolution: {integrity: sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA==} + /electron-to-chromium/1.4.185: + resolution: {integrity: sha512-9kV/isoOGpKkBt04yYNaSWIBn3187Q5VZRtoReq8oz5NY/A4XmU6cAoqgQlDp7kKJCZMRjWZ8nsQyxfpFHvfyw==} dev: true /emoji-regex/8.0.0: @@ -2205,15 +2285,15 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract/1.20.0: - resolution: {integrity: sha512-URbD8tgRthKD3YcC39vbvSDrX23upXnPcnGAjQfgxXF5ID75YcENawc9ZX/9iTP9ptUyfCLIxTTuMYoRfiOVKA==} + /es-abstract/1.20.1: + resolution: {integrity: sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 es-to-primitive: 1.2.1 function-bind: 1.1.1 function.prototype.name: 1.1.5 - get-intrinsic: 1.1.1 + get-intrinsic: 1.1.2 get-symbol-description: 1.0.0 has: 1.0.3 has-property-descriptors: 1.0.0 @@ -2225,7 +2305,7 @@ packages: is-shared-array-buffer: 1.0.2 is-string: 1.0.7 is-weakref: 1.0.2 - object-inspect: 1.12.0 + object-inspect: 1.12.2 object-keys: 1.1.1 object.assign: 4.1.2 regexp.prototype.flags: 1.4.3 @@ -2244,11 +2324,11 @@ packages: dev: true /es6-object-assign/1.1.0: - resolution: {integrity: sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=} + resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} dev: true - /esbuild-android-64/0.14.39: - resolution: {integrity: sha512-EJOu04p9WgZk0UoKTqLId9VnIsotmI/Z98EXrKURGb3LPNunkeffqQIkjS2cAvidh+OK5uVrXaIP229zK6GvhQ==} + /esbuild-android-64/0.14.49: + resolution: {integrity: sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -2256,8 +2336,8 @@ packages: dev: true optional: true - /esbuild-android-arm64/0.14.39: - resolution: {integrity: sha512-+twajJqO7n3MrCz9e+2lVOnFplRsaGRwsq1KL/uOy7xK7QdRSprRQcObGDeDZUZsacD5gUkk6OiHiYp6RzU3CA==} + /esbuild-android-arm64/0.14.49: + resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -2265,8 +2345,8 @@ packages: dev: true optional: true - /esbuild-darwin-64/0.14.39: - resolution: {integrity: sha512-ImT6eUw3kcGcHoUxEcdBpi6LfTRWaV6+qf32iYYAfwOeV+XaQ/Xp5XQIBiijLeo+LpGci9M0FVec09nUw41a5g==} + /esbuild-darwin-64/0.14.49: + resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -2274,8 +2354,8 @@ packages: dev: true optional: true - /esbuild-darwin-arm64/0.14.39: - resolution: {integrity: sha512-/fcQ5UhE05OiT+bW5v7/up1bDsnvaRZPJxXwzXsMRrr7rZqPa85vayrD723oWMT64dhrgWeA3FIneF8yER0XTw==} + /esbuild-darwin-arm64/0.14.49: + resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -2283,8 +2363,8 @@ packages: dev: true optional: true - /esbuild-freebsd-64/0.14.39: - resolution: {integrity: sha512-oMNH8lJI4wtgN5oxuFP7BQ22vgB/e3Tl5Woehcd6i2r6F3TszpCnNl8wo2d/KvyQ4zvLvCWAlRciumhQg88+kQ==} + /esbuild-freebsd-64/0.14.49: + resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -2292,8 +2372,8 @@ packages: dev: true optional: true - /esbuild-freebsd-arm64/0.14.39: - resolution: {integrity: sha512-1GHK7kwk57ukY2yI4ILWKJXaxfr+8HcM/r/JKCGCPziIVlL+Wi7RbJ2OzMcTKZ1HpvEqCTBT/J6cO4ZEwW4Ypg==} + /esbuild-freebsd-arm64/0.14.49: + resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -2301,8 +2381,8 @@ packages: dev: true optional: true - /esbuild-linux-32/0.14.39: - resolution: {integrity: sha512-g97Sbb6g4zfRLIxHgW2pc393DjnkTRMeq3N1rmjDUABxpx8SjocK4jLen+/mq55G46eE2TA0MkJ4R3SpKMu7dg==} + /esbuild-linux-32/0.14.49: + resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -2310,8 +2390,8 @@ packages: dev: true optional: true - /esbuild-linux-64/0.14.39: - resolution: {integrity: sha512-4tcgFDYWdI+UbNMGlua9u1Zhu0N5R6u9tl5WOM8aVnNX143JZoBZLpCuUr5lCKhnD0SCO+5gUyMfupGrHtfggQ==} + /esbuild-linux-64/0.14.49: + resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -2319,8 +2399,8 @@ packages: dev: true optional: true - /esbuild-linux-arm/0.14.39: - resolution: {integrity: sha512-t0Hn1kWVx5UpCzAJkKRfHeYOLyFnXwYynIkK54/h3tbMweGI7dj400D1k0Vvtj2u1P+JTRT9tx3AjtLEMmfVBQ==} + /esbuild-linux-arm/0.14.49: + resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -2328,8 +2408,8 @@ packages: dev: true optional: true - /esbuild-linux-arm64/0.14.39: - resolution: {integrity: sha512-23pc8MlD2D6Px1mV8GMglZlKgwgNKAO8gsgsLLcXWSs9lQsCYkIlMo/2Ycfo5JrDIbLdwgP8D2vpfH2KcBqrDQ==} + /esbuild-linux-arm64/0.14.49: + resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -2337,8 +2417,8 @@ packages: dev: true optional: true - /esbuild-linux-mips64le/0.14.39: - resolution: {integrity: sha512-epwlYgVdbmkuRr5n4es3B+yDI0I2e/nxhKejT9H0OLxFAlMkeQZxSpxATpDc9m8NqRci6Kwyb/SfmD1koG2Zuw==} + /esbuild-linux-mips64le/0.14.49: + resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -2346,8 +2426,8 @@ packages: dev: true optional: true - /esbuild-linux-ppc64le/0.14.39: - resolution: {integrity: sha512-W/5ezaq+rQiQBThIjLMNjsuhPHg+ApVAdTz2LvcuesZFMsJoQAW2hutoyg47XxpWi7aEjJGrkS26qCJKhRn3QQ==} + /esbuild-linux-ppc64le/0.14.49: + resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -2355,8 +2435,8 @@ packages: dev: true optional: true - /esbuild-linux-riscv64/0.14.39: - resolution: {integrity: sha512-IS48xeokcCTKeQIOke2O0t9t14HPvwnZcy+5baG13Z1wxs9ZrC5ig5ypEQQh4QMKxURD5TpCLHw2W42CLuVZaA==} + /esbuild-linux-riscv64/0.14.49: + resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -2364,8 +2444,8 @@ packages: dev: true optional: true - /esbuild-linux-s390x/0.14.39: - resolution: {integrity: sha512-zEfunpqR8sMomqXhNTFEKDs+ik7HC01m3M60MsEjZOqaywHu5e5682fMsqOlZbesEAAaO9aAtRBsU7CHnSZWyA==} + /esbuild-linux-s390x/0.14.49: + resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -2373,8 +2453,8 @@ packages: dev: true optional: true - /esbuild-netbsd-64/0.14.39: - resolution: {integrity: sha512-Uo2suJBSIlrZCe4E0k75VDIFJWfZy+bOV6ih3T4MVMRJh1lHJ2UyGoaX4bOxomYN3t+IakHPyEoln1+qJ1qYaA==} + /esbuild-netbsd-64/0.14.49: + resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -2382,8 +2462,8 @@ packages: dev: true optional: true - /esbuild-openbsd-64/0.14.39: - resolution: {integrity: sha512-secQU+EpgUPpYjJe3OecoeGKVvRMLeKUxSMGHnK+aK5uQM3n1FPXNJzyz1LHFOo0WOyw+uoCxBYdM4O10oaCAA==} + /esbuild-openbsd-64/0.14.49: + resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -2391,8 +2471,8 @@ packages: dev: true optional: true - /esbuild-sunos-64/0.14.39: - resolution: {integrity: sha512-qHq0t5gePEDm2nqZLb+35p/qkaXVS7oIe32R0ECh2HOdiXXkj/1uQI9IRogGqKkK+QjDG+DhwiUw7QoHur/Rwg==} + /esbuild-sunos-64/0.14.49: + resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -2400,8 +2480,8 @@ packages: dev: true optional: true - /esbuild-windows-32/0.14.39: - resolution: {integrity: sha512-XPjwp2OgtEX0JnOlTgT6E5txbRp6Uw54Isorm3CwOtloJazeIWXuiwK0ONJBVb/CGbiCpS7iP2UahGgd2p1x+Q==} + /esbuild-windows-32/0.14.49: + resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -2409,8 +2489,8 @@ packages: dev: true optional: true - /esbuild-windows-64/0.14.39: - resolution: {integrity: sha512-E2wm+5FwCcLpKsBHRw28bSYQw0Ikxb7zIMxw3OPAkiaQhLVr3dnVO8DofmbWhhf6b97bWzg37iSZ45ZDpLw7Ow==} + /esbuild-windows-64/0.14.49: + resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -2418,8 +2498,8 @@ packages: dev: true optional: true - /esbuild-windows-arm64/0.14.39: - resolution: {integrity: sha512-sBZQz5D+Gd0EQ09tZRnz/PpVdLwvp/ufMtJ1iDFYddDaPpZXKqPyaxfYBLs3ueiaksQ26GGa7sci0OqFzNs7KA==} + /esbuild-windows-arm64/0.14.49: + resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -2427,32 +2507,32 @@ packages: dev: true optional: true - /esbuild/0.14.39: - resolution: {integrity: sha512-2kKujuzvRWYtwvNjYDY444LQIA3TyJhJIX3Yo4+qkFlDDtGlSicWgeHVJqMUP/2sSfH10PGwfsj+O2ro1m10xQ==} + /esbuild/0.14.49: + resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-64: 0.14.39 - esbuild-android-arm64: 0.14.39 - esbuild-darwin-64: 0.14.39 - esbuild-darwin-arm64: 0.14.39 - esbuild-freebsd-64: 0.14.39 - esbuild-freebsd-arm64: 0.14.39 - esbuild-linux-32: 0.14.39 - esbuild-linux-64: 0.14.39 - esbuild-linux-arm: 0.14.39 - esbuild-linux-arm64: 0.14.39 - esbuild-linux-mips64le: 0.14.39 - esbuild-linux-ppc64le: 0.14.39 - esbuild-linux-riscv64: 0.14.39 - esbuild-linux-s390x: 0.14.39 - esbuild-netbsd-64: 0.14.39 - esbuild-openbsd-64: 0.14.39 - esbuild-sunos-64: 0.14.39 - esbuild-windows-32: 0.14.39 - esbuild-windows-64: 0.14.39 - esbuild-windows-arm64: 0.14.39 + esbuild-android-64: 0.14.49 + esbuild-android-arm64: 0.14.49 + esbuild-darwin-64: 0.14.49 + esbuild-darwin-arm64: 0.14.49 + esbuild-freebsd-64: 0.14.49 + esbuild-freebsd-arm64: 0.14.49 + esbuild-linux-32: 0.14.49 + esbuild-linux-64: 0.14.49 + esbuild-linux-arm: 0.14.49 + esbuild-linux-arm64: 0.14.49 + esbuild-linux-mips64le: 0.14.49 + esbuild-linux-ppc64le: 0.14.49 + esbuild-linux-riscv64: 0.14.49 + esbuild-linux-s390x: 0.14.49 + esbuild-netbsd-64: 0.14.49 + esbuild-openbsd-64: 0.14.49 + esbuild-sunos-64: 0.14.49 + esbuild-windows-32: 0.14.49 + esbuild-windows-64: 0.14.49 + esbuild-windows-arm64: 0.14.49 dev: true /escalade/3.1.1: @@ -2466,7 +2546,7 @@ packages: dev: true /escape-string-regexp/1.0.5: - resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} /estree-walker/1.0.1: @@ -2511,7 +2591,7 @@ packages: dev: true /fast-plist/0.1.2: - resolution: {integrity: sha1-pFr/NFGWAG1AbKbNzQX2kFHvNbg=} + resolution: {integrity: sha512-2HxzrqJhmMoxVzARjYFvkzkL2dCBB8sogU5sD8gqcZWv5UCivK9/cXM9KIPDRwU+eD3mbRDN/GhW8bO/4dtMfg==} dev: false /fastq/1.13.0: @@ -2574,7 +2654,7 @@ packages: dev: true /fs.realpath/1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true /fsevents/2.3.2: @@ -2594,7 +2674,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 functions-have-names: 1.2.3 dev: true @@ -2607,8 +2687,8 @@ packages: engines: {node: '>=6.9.0'} dev: true - /get-intrinsic/1.1.1: - resolution: {integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==} + /get-intrinsic/1.1.2: + resolution: {integrity: sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==} dependencies: function-bind: 1.1.1 has: 1.0.3 @@ -2638,7 +2718,7 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.1 + get-intrinsic: 1.1.2 dev: true /glob-parent/5.1.2: @@ -2694,7 +2774,7 @@ packages: '@types/responselike': 1.0.0 cacheable-request: 6.1.0 decompress-response: 3.3.0 - duplexer3: 0.1.4 + duplexer3: 0.1.5 get-stream: 4.1.0 lowercase-keys: 1.0.1 mimic-response: 1.0.1 @@ -2717,7 +2797,7 @@ packages: dev: true /has-flag/3.0.0: - resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} /has-flag/4.0.0: @@ -2728,7 +2808,7 @@ packages: /has-property-descriptors/1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: - get-intrinsic: 1.1.1 + get-intrinsic: 1.1.2 dev: true /has-symbols/1.0.3: @@ -2787,16 +2867,16 @@ packages: dev: true /immediate/3.0.6: - resolution: {integrity: sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=} + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} dev: false /import-lazy/2.1.0: - resolution: {integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=} + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} engines: {node: '>=4'} dev: true /imurmurhash/0.1.4: - resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} dev: true @@ -2806,7 +2886,7 @@ packages: dev: true /inflight/1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -2846,7 +2926,7 @@ packages: resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.1.1 + get-intrinsic: 1.1.2 has: 1.0.3 side-channel: 1.0.4 dev: true @@ -2860,7 +2940,7 @@ packages: dev: true /is-arrayish/0.2.1: - resolution: {integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=} + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true /is-bigint/1.0.4: @@ -2917,7 +2997,7 @@ packages: dev: true /is-extglob/2.1.1: - resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true @@ -2954,7 +3034,7 @@ packages: dev: true /is-module/1.0.0: - resolution: {integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=} + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} dev: true /is-nan/1.3.2: @@ -2988,7 +3068,7 @@ packages: dev: true /is-obj/1.0.1: - resolution: {integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8=} + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} engines: {node: '>=0.10.0'} dev: true @@ -3008,14 +3088,14 @@ packages: dev: true /is-plain-obj/1.1.0: - resolution: {integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4=} + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} dev: true /is-reference/1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 0.0.51 + '@types/estree': 0.0.52 dev: true /is-regex/1.1.4: @@ -3027,7 +3107,7 @@ packages: dev: true /is-regexp/1.0.0: - resolution: {integrity: sha1-/S2INUXEa6xaYz57mgnof6LLUGk=} + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} engines: {node: '>=0.10.0'} dev: true @@ -3062,13 +3142,13 @@ packages: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 - es-abstract: 1.20.0 + es-abstract: 1.20.1 for-each: 0.3.3 has-tostringtag: 1.0.0 dev: true /is-typedarray/1.0.0: - resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} dev: true /is-unicode-supported/0.1.0: @@ -3092,7 +3172,7 @@ packages: dev: true /isarray/1.0.0: - resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: false /jake/10.8.5: @@ -3100,7 +3180,7 @@ packages: engines: {node: '>=10'} hasBin: true dependencies: - async: 3.2.3 + async: 3.2.4 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 @@ -3110,13 +3190,13 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 17.0.34 + '@types/node': 18.0.3 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true - /jiti/1.13.0: - resolution: {integrity: sha512-/n9mNxZj/HDSrincJ6RP+L+yXbpnB8FybySBa+IjIaoH9FIxBbrbRT5XUbe8R7zuVM2AQqNMNDDqz0bzx3znOQ==} + /jiti/1.14.0: + resolution: {integrity: sha512-4IwstlaKQc9vCTC+qUXLM1hajy2ImiL9KnLvVYiaHOtS/v3wRjhLlGl121AmgDgx/O43uKmxownJghS5XMya2A==} hasBin: true dev: true @@ -3124,7 +3204,7 @@ packages: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} /jsesc/0.5.0: - resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=} + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true @@ -3168,13 +3248,13 @@ packages: engines: {node: '>=0.10.0'} dev: true - /jszip/3.9.1: - resolution: {integrity: sha512-H9A60xPqJ1CuC4Ka6qxzXZeU8aNmgOeP5IFqwJbQQwtu2EUYxota3LdsiZWplF7Wgd9tkAd0mdu36nceSaPuYw==} + /jszip/3.10.0: + resolution: {integrity: sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==} dependencies: lie: 3.3.0 pako: 1.0.11 readable-stream: 2.3.7 - set-immediate-shim: 1.0.1 + setimmediate: 1.0.5 dev: false /keyv/3.1.0: @@ -3222,11 +3302,11 @@ packages: dev: true /lodash.debounce/4.0.8: - resolution: {integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168=} + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: true /lodash.sortby/4.7.0: - resolution: {integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=} + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: true /lodash/4.17.21: @@ -3278,7 +3358,7 @@ packages: dev: true /map-obj/1.0.1: - resolution: {integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=} + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} engines: {node: '>=0.10.0'} dev: true @@ -3376,10 +3456,6 @@ packages: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} dev: true - /mitt/3.0.0: - resolution: {integrity: sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==} - dev: false - /monaco-editor-textmate/3.0.0_nurowwtvogix47pnszh4m7lsnu: resolution: {integrity: sha512-4BK3ual4WllRpiQBDcBO8NKdbk4ukdBtnl23cRYvu1eNWOWKYOBM0rYac50HvFClSbtd5GMezLPjkaim0iM7sw==} peerDependencies: @@ -3416,15 +3492,15 @@ packages: hasBin: true dev: true - /node-releases/2.0.4: - resolution: {integrity: sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==} + /node-releases/2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} dev: true /normalize-package-data/2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.0 + resolve: 1.22.1 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -3439,8 +3515,8 @@ packages: engines: {node: '>=8'} dev: true - /object-inspect/1.12.0: - resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} + /object-inspect/1.12.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: true /object-is/1.1.5: @@ -3467,7 +3543,7 @@ packages: dev: true /once/1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true @@ -3501,7 +3577,7 @@ packages: dev: true /os-tmpdir/1.0.2: - resolution: {integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=} + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} dev: true @@ -3541,7 +3617,7 @@ packages: engines: {node: '>=8'} dependencies: got: 9.6.0 - registry-auth-token: 4.2.1 + registry-auth-token: 4.2.2 registry-url: 5.1.0 semver: 6.3.0 dev: true @@ -3554,7 +3630,7 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.18.6 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -3566,7 +3642,7 @@ packages: dev: true /path-is-absolute/1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} dev: true @@ -3588,8 +3664,8 @@ packages: engines: {node: '>=8.6'} dev: true - /postcss/8.4.13: - resolution: {integrity: sha512-jtL6eTBrza5MPzy8oJLFuUscHDXTV5KcLlqAWHl5q5WYRfnNRGSmOZmOZ1T6Gy7A99mOZfqungmZMpMmCVJ8ZA==} + /postcss/8.4.14: + resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -3598,12 +3674,12 @@ packages: dev: true /prepend-http/2.0.0: - resolution: {integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=} + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} engines: {node: '>=4'} dev: true - /prettier/2.6.2: - resolution: {integrity: sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==} + /prettier/2.7.1: + resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} engines: {node: '>=10.13.0'} hasBin: true dev: false @@ -3734,7 +3810,7 @@ packages: /regenerator-transform/0.15.0: resolution: {integrity: sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==} dependencies: - '@babel/runtime': 7.17.9 + '@babel/runtime': 7.18.6 dev: true /regexp.prototype.flags/1.4.3: @@ -3746,8 +3822,8 @@ packages: functions-have-names: 1.2.3 dev: true - /regexpu-core/5.0.1: - resolution: {integrity: sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==} + /regexpu-core/5.1.0: + resolution: {integrity: sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==} engines: {node: '>=4'} dependencies: regenerate: 1.4.2 @@ -3762,8 +3838,8 @@ packages: resolution: {integrity: sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==} dev: true - /registry-auth-token/4.2.1: - resolution: {integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==} + /registry-auth-token/4.2.2: + resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} engines: {node: '>=6.0.0'} dependencies: rc: 1.2.8 @@ -3792,8 +3868,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /resolve/1.22.0: - resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} hasBin: true dependencies: is-core-module: 2.9.0 @@ -3802,7 +3878,7 @@ packages: dev: true /responselike/1.0.2: - resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} dependencies: lowercase-keys: 1.0.1 dev: true @@ -3834,42 +3910,42 @@ packages: del: 5.1.0 dev: true - /rollup-plugin-import-css/3.0.3_rollup@2.73.0: + /rollup-plugin-import-css/3.0.3_rollup@2.76.0: resolution: {integrity: sha512-0JE1UVigYqhbbbwNalxcYCnYAD70JgJIqnaSYeBgCOO60ASx9hpJubfA8toxEv6ceZrRPnLF1cnr0vsskH1Uiw==} peerDependencies: rollup: ^2.x.x dependencies: '@rollup/pluginutils': 4.2.1 - rollup: 2.73.0 + rollup: 2.76.0 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.73.0: + /rollup-plugin-terser/7.0.2_rollup@2.76.0: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} peerDependencies: rollup: ^2.0.0 dependencies: - '@babel/code-frame': 7.16.7 + '@babel/code-frame': 7.18.6 jest-worker: 26.6.2 - rollup: 2.73.0 + rollup: 2.76.0 serialize-javascript: 4.0.0 - terser: 5.13.1 + terser: 5.14.1 dev: true - /rollup-plugin-windicss/1.8.4_rollup@2.73.0: - resolution: {integrity: sha512-NSAiyr1ZmRrw6p2AT86+/Q5pDUajgorX9BF6107OO7seAl3V+zscXu1JPGLMKwFUtgVWAI5KIrpQeIXJfQROwg==} + /rollup-plugin-windicss/1.8.6_rollup@2.76.0: + resolution: {integrity: sha512-fMA02iBICdGR30GkIudpA3g1z83EXa/bgnNspt8BcdGEprIaNL5U/bQM0JTxfJl1cbuRMa1HpKhfIrMdOQlhMQ==} peerDependencies: rollup: ^2.0.0 dependencies: - '@windicss/plugin-utils': 1.8.4 + '@windicss/plugin-utils': 1.8.6 debug: 4.3.4 - rollup: 2.73.0 - windicss: 3.5.3 + rollup: 2.76.0 + windicss: 3.5.6 transitivePeerDependencies: - supports-color dev: true - /rollup/2.73.0: - resolution: {integrity: sha512-h/UngC3S4Zt28mB3g0+2YCMegT5yoftnQplwzPqGZcKvlld5e+kT/QRmJiL+qxGyZKOYpgirWGdLyEO1b0dpLQ==} + /rollup/2.76.0: + resolution: {integrity: sha512-9jwRIEY1jOzKLj3nsY/yot41r19ITdQrhs+q3ggNWhr9TQgduHqANvPpS32RNpzGklJu3G1AJfvlZLi/6wFgWA==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -3932,17 +4008,16 @@ packages: randombytes: 2.1.0 dev: true - /set-immediate-shim/1.0.1: - resolution: {integrity: sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=} - engines: {node: '>=0.10.0'} + /setimmediate/1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: false /side-channel/1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: call-bind: 1.0.2 - get-intrinsic: 1.1.1 - object-inspect: 1.12.0 + get-intrinsic: 1.1.2 + object-inspect: 1.12.2 dev: true /signal-exit/3.0.7: @@ -3954,32 +4029,40 @@ packages: engines: {node: '>=8'} dev: true - /solid-dismiss/1.2.1_solid-js@1.4.1: + /solid-app-router/0.4.1_solid-js@1.4.7: + resolution: {integrity: sha512-RKHyFQ+J5lXyE/SoyJVHgTBeBck2etYVJn1/9F7ehlzyD2pIOMqLpNXD1GfWQljHqNdXZBSyE+xB/Cck5l9Q/g==} + peerDependencies: + solid-js: ^1.3.5 + dependencies: + solid-js: 1.4.7 + dev: true + + /solid-dismiss/1.2.1_solid-js@1.4.7: resolution: {integrity: sha512-/2DKasY3/4ECnqxHueC2hq6bYxZ1Yyn/TtbeKDKV57Sox0HhHm8rPJLzqwn/9KxY3VhizJbmTABTZiKG0l7pNw==} peerDependencies: solid-js: '1' dependencies: - solid-js: 1.4.1 + solid-js: 1.4.7 dev: false /solid-heroicons/2.0.3: resolution: {integrity: sha512-sHlEaCaFFD8s/RDWTlmfIC/5dUPOtRB/UqOTpXQLq/BUZ94jWS58CANwONBclxwKFFGu6iasaP5zN4iYqORlVg==} dependencies: - solid-js: 1.4.1 + solid-js: 1.4.7 dev: false - /solid-js/1.4.1: - resolution: {integrity: sha512-ts480PccmUW9WAludSXET2dbBevjv+l6XMmN/OyG/a/xA8ZQoX4hNBN3gGhW785ZZv90fowbUSuSQUwOISm3YA==} + /solid-js/1.4.7: + resolution: {integrity: sha512-u3hoe5w3xseAc/8zLwYaQVGanWXknMMQkzryNz7lOPy2ygW6DhCtfMseun4kLflRNRzrUUpTV3W5p7j2SGcHCQ==} - /solid-refresh/0.4.0_solid-js@1.4.1: - resolution: {integrity: sha512-5XCUz845n/sHPzKK2i2G2EeV61tAmzv6SqzqhXcPaYhrgzVy7nKTQaBpKK8InKrriq9Z2JFF/mguIU00t/73xw==} + /solid-refresh/0.4.1_solid-js@1.4.7: + resolution: {integrity: sha512-v3tD/OXQcUyXLrWjPW1dXZyeWwP7/+GQNs8YTL09GBq+5FguA6IejJWUvJDrLIA4M0ho9/5zK2e9n+uy+4488g==} peerDependencies: - solid-js: ^1.3.0 + solid-js: ^1.3 dependencies: - '@babel/generator': 7.17.12 - '@babel/helper-module-imports': 7.16.7 - '@babel/types': 7.17.12 - solid-js: 1.4.1 + '@babel/generator': 7.18.7 + '@babel/helper-module-imports': 7.18.6 + '@babel/types': 7.18.8 + solid-js: 1.4.7 dev: true /source-map-js/1.0.2: @@ -4046,8 +4129,8 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 - get-intrinsic: 1.1.1 + es-abstract: 1.20.1 + get-intrinsic: 1.1.2 has-symbols: 1.0.3 internal-slot: 1.0.3 regexp.prototype.flags: 1.4.3 @@ -4059,7 +4142,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 dev: true /string.prototype.trimstart/1.0.5: @@ -4067,7 +4150,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.0 + es-abstract: 1.20.1 dev: true /string_decoder/1.1.1: @@ -4111,7 +4194,7 @@ packages: dev: true /strip-json-comments/2.0.1: - resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} dev: true @@ -4153,19 +4236,19 @@ packages: engines: {node: '>=8'} dev: true - /terser/5.13.1: - resolution: {integrity: sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==} + /terser/5.14.1: + resolution: {integrity: sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==} engines: {node: '>=10'} hasBin: true dependencies: + '@jridgewell/source-map': 0.3.2 acorn: 8.7.1 commander: 2.20.3 - source-map: 0.8.0-beta.0 source-map-support: 0.5.21 dev: true /through/2.3.8: - resolution: {integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=} + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true /tmp/0.0.33: @@ -4176,7 +4259,7 @@ packages: dev: true /to-fast-properties/2.0.0: - resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} /to-readable-stream/1.0.0: @@ -4192,7 +4275,7 @@ packages: dev: true /tr46/1.0.1: - resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=} + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} dependencies: punycode: 2.1.1 dev: true @@ -4241,8 +4324,8 @@ packages: is-typedarray: 1.0.0 dev: true - /typescript/4.6.4: - resolution: {integrity: sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==} + /typescript/4.7.4: + resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -4296,6 +4379,17 @@ packages: engines: {node: '>=4'} dev: true + /update-browserslist-db/1.0.4_browserslist@4.21.1: + resolution: {integrity: sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.1 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + /update-notifier/4.1.3: resolution: {integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==} engines: {node: '>=8'} @@ -4322,14 +4416,14 @@ packages: dev: true /url-parse-lax/3.0.0: - resolution: {integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=} + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} engines: {node: '>=4'} dependencies: prepend-http: 2.0.0 dev: true /util-deprecate/1.0.2: - resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} /util/0.12.4: resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==} @@ -4352,13 +4446,13 @@ packages: /vite-plugin-solid/2.2.6: resolution: {integrity: sha512-J1RnmqkZZJSNYDW7vZj0giKKHLWGr9tS/gxR70WDSTYfhyXrgukbZdIfSEFbtrsg8ZiQ2t2zXcvkWoeefenqKw==} dependencies: - '@babel/core': 7.17.12 - '@babel/preset-typescript': 7.17.12_@babel+core@7.17.12 - babel-preset-solid: 1.4.0_@babel+core@7.17.12 + '@babel/core': 7.18.6 + '@babel/preset-typescript': 7.18.6_@babel+core@7.18.6 + babel-preset-solid: 1.4.6_@babel+core@7.18.6 merge-anything: 5.0.2 - solid-js: 1.4.1 - solid-refresh: 0.4.0_solid-js@1.4.1 - vite: 2.9.9 + solid-js: 1.4.7 + solid-refresh: 0.4.1_solid-js@1.4.7 + vite: 2.9.14 transitivePeerDependencies: - less - sass @@ -4366,22 +4460,22 @@ packages: - supports-color dev: true - /vite-plugin-windicss/1.8.4_vite@2.9.9: - resolution: {integrity: sha512-LSZAO8BZn3x406GRbYX5t5ONXXJVdqiQtN1qrznLA/Dy5/NzZVhfcrL6N1qEYYO7HsCDT4pLAjTzObvDnM9Y8A==} + /vite-plugin-windicss/1.8.6_vite@2.9.14: + resolution: {integrity: sha512-D4G4qmumgklPiPrq/ZALqq8Mby6krskFVShbmb5c+0VCSsLUN96qyFRTwi81rNIHwFvlbpqflgh+BpUM/9VjQg==} peerDependencies: vite: ^2.0.1 dependencies: - '@windicss/plugin-utils': 1.8.4 + '@windicss/plugin-utils': 1.8.6 debug: 4.3.4 kolorist: 1.5.1 - vite: 2.9.9 - windicss: 3.5.3 + vite: 2.9.14 + windicss: 3.5.6 transitivePeerDependencies: - supports-color dev: true - /vite/2.9.9: - resolution: {integrity: sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==} + /vite/2.9.14: + resolution: {integrity: sha512-P/UCjSpSMcE54r4mPak55hWAZPlyfS369svib/gpmz8/01L822lMPOJ/RYW6tLCe1RPvMvOsJ17erf55bKp4Hw==} engines: {node: '>=12.2.0'} hasBin: true peerDependencies: @@ -4396,16 +4490,16 @@ packages: stylus: optional: true dependencies: - esbuild: 0.14.39 - postcss: 8.4.13 - resolve: 1.22.0 - rollup: 2.73.0 + esbuild: 0.14.49 + postcss: 8.4.14 + resolve: 1.22.1 + rollup: 2.76.0 optionalDependencies: fsevents: 2.3.2 dev: true /wcwidth/1.0.1: - resolution: {integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=} + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.3 dev: true @@ -4438,7 +4532,7 @@ packages: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.2 - es-abstract: 1.20.0 + es-abstract: 1.20.1 for-each: 0.3.3 has-tostringtag: 1.0.0 is-typed-array: 1.1.9 @@ -4451,8 +4545,8 @@ packages: string-width: 4.2.3 dev: true - /windicss/3.5.3: - resolution: {integrity: sha512-Zsb38RscfZJa218GUREJyFu6EF1xD5DZ+b0XL1Kac3BGDtYwVmXJMmOahMK4mZSEy3gWO8aqUQMny0nbJFG6yA==} + /windicss/3.5.6: + resolution: {integrity: sha512-P1mzPEjgFMZLX0ZqfFht4fhV/FX8DTG7ERG1fBLiWvd34pTLVReS5CVsewKn9PApSgXnVfPWwvq+qUsRwpnwFA==} engines: {node: '>= 12'} hasBin: true dev: true @@ -4474,13 +4568,13 @@ packages: resolution: {integrity: sha512-8JNHHS7u13nhwIYCDea9MNXBNPHXCs5KDZPKI/ZNTr3f4sMGoD7hgFGecbyjX1gw4z6e9bMpMsOEJNyH5htA/w==} engines: {node: '>=10.0.0'} dependencies: - '@apideck/better-ajv-errors': 0.3.3_ajv@8.11.0 - '@babel/core': 7.17.12 - '@babel/preset-env': 7.17.12_@babel+core@7.17.12 - '@babel/runtime': 7.17.9 - '@rollup/plugin-babel': 5.3.1_cozkpsv5bxi2sl4sehld7oc7ze - '@rollup/plugin-node-resolve': 11.2.1_rollup@2.73.0 - '@rollup/plugin-replace': 2.4.2_rollup@2.73.0 + '@apideck/better-ajv-errors': 0.3.6_ajv@8.11.0 + '@babel/core': 7.18.6 + '@babel/preset-env': 7.18.6_@babel+core@7.18.6 + '@babel/runtime': 7.18.6 + '@rollup/plugin-babel': 5.3.1_ayiqorrx7dutx4scyxuyyyvhga + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.76.0 + '@rollup/plugin-replace': 2.4.2_rollup@2.76.0 '@surma/rollup-plugin-off-main-thread': 2.2.3 ajv: 8.11.0 common-tags: 1.8.2 @@ -4489,8 +4583,8 @@ packages: glob: 7.2.3 lodash: 4.17.21 pretty-bytes: 5.6.0 - rollup: 2.73.0 - rollup-plugin-terser: 7.0.2_rollup@2.73.0 + rollup: 2.76.0 + rollup-plugin-terser: 7.0.2_rollup@2.76.0 source-map: 0.8.0-beta.0 stringify-object: 3.3.0 strip-comments: 2.0.1 @@ -4627,7 +4721,7 @@ packages: dev: true /wrappy/1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true /write-file-atomic/3.0.3: diff --git a/public/Gordita-Medium.woff b/public/Gordita-Medium.woff new file mode 100644 index 00000000..77d50a5f Binary files /dev/null and b/public/Gordita-Medium.woff differ diff --git a/public/_redirects b/public/_redirects new file mode 100644 index 00000000..ad37e2c2 --- /dev/null +++ b/public/_redirects @@ -0,0 +1 @@ +/* /index.html 200 diff --git a/public/eruda.css b/public/eruda.css index b4a35529..28059df2 100644 --- a/public/eruda.css +++ b/public/eruda.css @@ -162,18 +162,15 @@ div#eruda-elements .eruda-styles .eruda-style-wrapper .eruda-style-rules { } #eruda-elements .eruda-bottom-bar .eruda-icon-refresh:before { content: 'Refresh' !important; - font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', 'Segoe UI', Tahoma, - sans-serif; + font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', 'Segoe UI', Tahoma, sans-serif; } #eruda-elements .eruda-bottom-bar .eruda-icon-eye:before { content: 'Toggle highlight' !important; - font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', 'Segoe UI', Tahoma, - sans-serif; + font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', 'Segoe UI', Tahoma, sans-serif; } #eruda-elements .eruda-bottom-bar .eruda-icon-reset:before { content: 'Reset to root' !important; - font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', 'Segoe UI', Tahoma, - sans-serif; + font-family: '.SFNSDisplay-Regular', 'Helvetica Neue', 'Lucida Grande', 'Segoe UI', Tahoma, sans-serif; } .luna-notification-item { padding: 8px !important; diff --git a/rollup.config.js b/rollup.config.js index 6fffbaf1..153e24d3 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -13,7 +13,7 @@ import replace from '@rollup/plugin-replace'; import WindiCSS from 'rollup-plugin-windicss'; import commonjs from '@rollup/plugin-commonjs'; import { renameSync, ensureDirSync } from 'fs-extra'; -import { basename, join, extname, resolve } from 'path'; +import { basename, join, extname, resolve, relative, dirname } from 'path'; import { nodeResolve } from '@rollup/plugin-node-resolve'; import { createReadStream, createWriteStream, readFileSync } from 'fs'; @@ -94,9 +94,7 @@ const preppy = { // this extracts the artificial tag id from the comment and the possibly renamed variable // name from the variable via two capture groups - .map((replacementAndVariable) => - replacementAndVariable.match(/^\s*?\/\*([^*]*)\*\/\s*?(\S*)$/), - ) + .map((replacementAndVariable) => replacementAndVariable.match(/^\s*?\/\*([^*]*)\*\/\s*?(\S*)$/)) .filter(Boolean) .forEach(([usedEntry, tagId, updatedName]) => replacements.set(tagId, updatedName)); @@ -112,7 +110,7 @@ const preppy = { }; rollup({ - input: ['src/index.ts', 'src/workers/compiler.ts', 'src/workers/formatter.ts'], + input: ['src/index.ts', 'src/workers/compiler.ts', 'src/workers/formatter.ts', 'src/components/repl.tsx'], external: ['solid-js', 'solid-js/web', 'solid-js/store', 'monaco-editor'], acornInjectPlugins: [jsx()], plugins: [ @@ -124,10 +122,15 @@ rollup({ return; } - return `export default ${JSON.stringify(readFileSync(id.slice(1, -4)).toString())};`; + return `export default ${JSON.stringify(readFileSync(id.slice(0, -4)).toString())};`; }, - resolveId(source) { + resolveId(source, importer) { if (source.endsWith('?raw')) { + if (source.startsWith('./')) { + return resolve(dirname(importer), source); + } else if (source.startsWith('/')) { + return resolve(source.slice(1)); + } return source; } @@ -145,22 +148,21 @@ rollup({ if (!id.endsWith('?url')) { return null; } - let base64 = true; // ideally, we wouldn't have to do this, but current end user bundlers can't handle non base64 + let base64 = false; // ideally, we wouldn't have to do this, but current end user bundlers can't handle non base64 let url = id.slice(0, -4); if (base64) { const mimetype = mime.getType(url); - return readFile(url).then( - (x) => `export default "data:${mimetype};base64,${x.toString('base64')}"`, - ); + return readFile(url).then((x) => `export default "data:${mimetype};base64,${x.toString('base64')}"`); } else { const ext = extname(url); const name = basename(url, ext); copies[url] = `./${name}${ext}`; - return `export default "${copies[url]}"`; + return `import ${name}urlImport from "${copies[url]}?url"; +export default ${name}urlImport`; } }, async generateBundle(outputOptions) { @@ -178,7 +180,7 @@ rollup({ replace({ 'process.env.BABEL_TYPES_8_BREAKING': 'true', 'process.env.NODE_DEBUG': 'false', - preventAssignment: true, + 'preventAssignment': true, }), babel({ extensions: extensions, @@ -192,11 +194,10 @@ rollup({ preppy, ], }).then((builder) => { - builder - .write({ dir: 'lib', chunkFileNames: (info) => (info.isEntry ? '[name].jsx' : '[name].js') }) - .then(() => { - const basePath = cwd(); + builder.write({ dir: 'lib', chunkFileNames: (info) => (info.isEntry ? '[name].jsx' : '[name].js') }).then(() => { + const basePath = cwd(); - renameSync(resolve(basePath, 'lib/index.js'), resolve(basePath, 'lib/index.jsx')); - }); + renameSync(resolve(basePath, 'lib/index.js'), resolve(basePath, 'lib/index.jsx')); + renameSync(resolve(basePath, 'lib/repl.js'), resolve(basePath, 'lib/repl.jsx')); + }); }); diff --git a/src/assets/main.css b/src/assets/main.css index 230df3db..c674cb64 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -1,14 +1,21 @@ @font-face { font-family: 'Gordita'; src: url('/Gordita-Regular.woff') format('woff'); - font-weight: normal; + font-weight: 400; font-style: normal; } @font-face { font-family: 'Gordita'; src: url('/Gordita-Bold.woff') format('woff'); - font-weight: bold; + font-weight: 700; + font-style: normal; +} + +@font-face { + font-family: 'Gordita'; + src: url('/Gordita-Medium.woff') format('woff'); + font-weight: 500; font-style: normal; } @@ -16,35 +23,23 @@ div[contenteditable='true']:focus { outline: none !important; } +.dark { + color-scheme: dark; +} + .wrapper, .wrapper--forced { - --top: minmax(0, 1fr); - --bottom: minmax(0, 1fr); - - grid-template-rows: auto minmax(0, var(--top)) 12px auto minmax(0, var(--bottom)); - grid-template-columns: 1fr; + grid-template-rows: minmax(0, var(--left)) 12px minmax(0, var(--right)); + grid-template-columns: minmax(0, 1fr); } @screen md { .wrapper { - --left: minmax(0, 1fr); - --right: minmax(0, 1fr); - - grid-template-rows: auto minmax(0, 1fr); + grid-template-rows: minmax(0, 1fr); grid-template-columns: minmax(0, var(--left)) 12px minmax(0, var(--right)); } } -.tabs { - @apply relative; -} - -.tabs::after { - content: ''; - height: 2px; - @apply absolute w-full left-0 bottom-0 bg-slate-200 dark:bg-slate-700 z-0; -} - textarea.monaco-mouse-cursor-text:focus { box-shadow: unset; } diff --git a/src/components/editor/TypeScriptReact.tmLanguage.json b/src/components/editor/TypeScriptReact.tmLanguage.json index 4b1e901b..325fa06d 100644 --- a/src/components/editor/TypeScriptReact.tmLanguage.json +++ b/src/components/editor/TypeScriptReact.tmLanguage.json @@ -7,11 +7,7 @@ "version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/d3c203d25a1df5def83082a47d1fe20fda2e80df", "name": "TypeScriptReact", "scopeName": "source.tsx", - "patterns": [ - { "include": "#directives" }, - { "include": "#statements" }, - { "include": "#shebang" } - ], + "patterns": [{ "include": "#directives" }, { "include": "#statements" }, { "include": "#shebang" }], "repository": { "shebang": { "name": "comment.line.shebang.tsx", @@ -291,11 +287,7 @@ ] }, "var-single-variable-type-annotation": { - "patterns": [ - { "include": "#type-annotation" }, - { "include": "#string" }, - { "include": "#comment" } - ] + "patterns": [{ "include": "#type-annotation" }, { "include": "#string" }, { "include": "#comment" }] }, "destructuring-variable": { "patterns": [ @@ -351,10 +343,7 @@ { "begin": "(?x)(?=((\\b(?:*]|&&|\\|\\||\\?|\\*\\/|^await|[^\\._$[:alnum:]]await|^return|[^\\._$[:alnum:]]return|^default|[^\\._$[:alnum:]]default|^yield|[^\\._$[:alnum:]]yield|^)\\s*(?=(<)\\s*(?:([_$[:alpha:]][-_$[:alnum:].]*)(?))", diff --git a/src/components/editor/css.tmLanguage.json b/src/components/editor/css.tmLanguage.json index 056b36b9..7283f885 100644 --- a/src/components/editor/css.tmLanguage.json +++ b/src/components/editor/css.tmLanguage.json @@ -87,11 +87,7 @@ }, "end": "(?!\\G)", "name": "meta.at-rule.font-face.css", - "patterns": [ - { "include": "#comment-block" }, - { "include": "#escapes" }, - { "include": "#rule-list" } - ] + "patterns": [{ "include": "#comment-block" }, { "include": "#escapes" }, { "include": "#rule-list" }] }, { "begin": "(?i)(@)page(?=[\\s:{]|/\\*|$)", diff --git a/src/components/editor/index.tsx b/src/components/editor/index.tsx index cd71f37a..47c2e292 100644 --- a/src/components/editor/index.tsx +++ b/src/components/editor/index.tsx @@ -1,26 +1,19 @@ import { Component, createEffect, onMount, onCleanup } from 'solid-js'; import { Uri, languages, editor as mEditor } from 'monaco-editor'; import { liftOff } from './setupSolid'; -import useZoom from '../../hooks/useZoom'; +import { useZoom } from '../../hooks/useZoom'; +import type { Repl } from 'solid-repl/lib/repl'; -interface Props { - classList?: { - [k: string]: boolean | undefined; - }; - class?: string; +const Editor: Component<{ url: string; - disabled: boolean; - styles: Record; - canFormat?: boolean; + disabled?: true; isDark?: boolean; withMinimap?: boolean; formatter?: Worker; displayErrors?: boolean; - onDocChange?: (code: string) => unknown; - ref?: (editor: mEditor.IStandaloneCodeEditor) => unknown; -} - -const Editor: Component = (props) => { + onDocChange?: (code: string) => void; + onEditorReady?: Parameters[0]['onEditorReady']; +}> = (props) => { let parent!: HTMLDivElement; let editor: mEditor.IStandaloneCodeEditor; @@ -37,22 +30,16 @@ const Editor: Component = (props) => { pos: editor.getPosition(), }); - return new Promise((resolve, reject) => { + return new Promise((resolve) => { props.formatter!.addEventListener( 'message', - ({ data: { event, code } }) => { - switch (event) { - case 'RESULT': - resolve([ - { - range: model.getFullModelRange(), - text: code, - }, - ]); - break; - default: - reject(); - } + ({ data: { code } }) => { + resolve([ + { + range: model.getFullModelRange(), + text: code, + }, + ]); }, { once: true }, ); @@ -61,7 +48,8 @@ const Editor: Component = (props) => { }); } - const setupEditor = () => { + // Initialize Monaco + onMount(() => { editor = mEditor.create(parent, { model: null, automaticLayout: true, @@ -78,12 +66,7 @@ const Editor: Component = (props) => { editor.onDidChangeModelContent(() => { props.onDocChange?.(editor.getValue()); }); - - props.ref?.(editor); - }; - - // Initialize Monaco - onMount(() => setupEditor()); + }); onCleanup(() => editor?.dispose()); createEffect(() => { @@ -107,13 +90,11 @@ const Editor: Component = (props) => { }); }); - return ( -
- ); + onMount(() => { + props.onEditorReady?.(editor, { Uri, editor: mEditor }); + }); + + return
; }; export default Editor; diff --git a/src/components/editor/monacoTabs.tsx b/src/components/editor/monacoTabs.tsx index e9fe5e42..fd7a6f6e 100644 --- a/src/components/editor/monacoTabs.tsx +++ b/src/components/editor/monacoTabs.tsx @@ -1,45 +1,48 @@ -import { Component, createEffect, onCleanup } from 'solid-js'; -import type { Tab } from '../..'; +import { Component, createEffect, onCleanup, untrack } from 'solid-js'; +import type { Tab } from 'solid-repl'; import { Uri, editor } from 'monaco-editor'; -import { keyedMap } from '../../utils/keyedMap'; const MonacoTabs: Component<{ folder: string; tabs: Tab[]; compiled: string }> = (props) => { - const fileUri = Uri.parse(`file:///${props.folder}/output_dont_import.tsx`); - - const oldModel = editor.getModels().find((model) => model.uri.path === fileUri.path); - if (oldModel) oldModel.dispose(); - - const model = editor.createModel('', 'typescript', fileUri); - createEffect(() => { - model.setValue( - props.compiled.replace(/(https:\/\/cdn.skypack.dev\/)|(@[0-9][0-9.\-a-z]+)/g, ''), - ); + const uri = Uri.parse(`file:///${props.folder}/output_dont_import.tsx`); + const model = editor.createModel('', 'typescript', uri); + createEffect(() => model.setValue(props.compiled)); + onCleanup(() => model.dispose()); }); - onCleanup(() => model.dispose()); - keyedMap({ - by: (tab) => `${tab.name}.${tab.type}`, - get each() { - return props.tabs; - }, - children: (tab) => { - const uri = Uri.parse(`file:///${props.folder}/${tab().name}.${tab().type}`); - const model = editor.createModel( - tab().source, - tab().type === 'tsx' ? 'typescript' : 'css', - uri, - ); + const key = (tab: Tab) => `file:///${props.folder}/${tab.name}`; + let currentTabs = new Map(); + let syncing = false; + createEffect(() => { + const newTabs = new Map(); + syncing = true; + for (const tab of props.tabs) { + const keyValue = key(tab); + const lookup = currentTabs.get(keyValue); + const source = untrack(() => tab.source); + if (!lookup) { + const uri = Uri.parse(keyValue); + const model = editor.createModel(source, undefined, uri); + newTabs.set(keyValue, model); + model.onDidChangeContent(() => { + if (!syncing) tab.source = model.getValue(); + }); + } else { + lookup.setValue(source); + newTabs.set(keyValue, lookup); + } + } + syncing = false; - let first = true; - createEffect(() => { - const source = tab().source; - if (!first && model.getValue() !== source) model.setValue(source); - else first = false; - }); - onCleanup(() => model.dispose()); - }, + for (const [old, model] of currentTabs) { + if (!newTabs.has(old)) model.dispose(); + } + currentTabs = newTabs; + }); + onCleanup(() => { + for (const model of currentTabs.values()) model.dispose(); }); + return <>; }; export default MonacoTabs; diff --git a/src/components/editor/setupSolid.ts b/src/components/editor/setupSolid.ts index b292b155..61f1d32a 100644 --- a/src/components/editor/setupSolid.ts +++ b/src/components/editor/setupSolid.ts @@ -4,7 +4,6 @@ import vsLight from './vs_light_good.json'; import { loadWASM } from 'onigasm'; import { Registry } from 'monaco-textmate'; import { wireTmGrammars } from 'monaco-editor-textmate'; -import onigasm from 'onigasm/lib/onigasm.wasm?url'; import typescriptReactTM from './TypeScriptReact.tmLanguage.json'; import cssTM from './css.tmLanguage.json'; import sPackageJson from '/node_modules/solid-js/package.json?raw'; @@ -74,7 +73,7 @@ languages.typescript.typescriptDefaults.setCompilerOptions({ allowNonTsExtensions: true, }); -const loadingWasm = loadWASM(onigasm); +let loadingWasm: Promise; const registry = new Registry({ async getGrammarDefinition(scopeName) { @@ -87,6 +86,7 @@ const registry = new Registry({ const grammars = new Map(); grammars.set('typescript', 'source.tsx'); +grammars.set('javascript', 'source.tsx'); grammars.set('css', 'source.css'); // monaco's built-in themes aren't powereful enough to handle TM tokens @@ -96,15 +96,13 @@ editor.defineTheme('vs-light-plus', vsLight as editor.IStandaloneThemeData); const hookLanguages = languages.setLanguageConfiguration; -languages.setLanguageConfiguration = ( - languageId: string, - configuration: languages.LanguageConfiguration, -) => { +languages.setLanguageConfiguration = (languageId: string, configuration: languages.LanguageConfiguration) => { liftOff(); return hookLanguages(languageId, configuration); }; export async function liftOff(): Promise { + if (!loadingWasm) loadingWasm = loadWASM(window.MonacoEnvironment.onigasm); await loadingWasm; // wireTmGrammars only cares about the language part, but asks for all of monaco diff --git a/src/components/error.tsx b/src/components/error.tsx index 24f0fbd2..f1952abc 100644 --- a/src/components/error.tsx +++ b/src/components/error.tsx @@ -3,11 +3,6 @@ import { Component, createEffect, createSignal } from 'solid-js'; import { Icon } from 'solid-heroicons'; import { chevronDown, chevronRight } from 'solid-heroicons/solid'; -interface Props { - onDismiss: (...args: unknown[]) => unknown; - message: string; -} - function doSomethingWithError(message: string) { const [firstLine, setFirstLine] = createSignal(''); const [stackTrace, setStackTrace] = createSignal(''); @@ -21,7 +16,10 @@ function doSomethingWithError(message: string) { return [firstLine, stackTrace] as const; } -export const Error: Component = (props) => { +export const Error: Component<{ + onDismiss: (...args: unknown[]) => unknown; + message: string; +}> = (props) => { const [firstLine, stackTrace] = doSomethingWithError(props.message); const [isOpen, setIsOpen] = createSignal(false); diff --git a/src/components/gridResizer/gridResizer.tsx b/src/components/gridResizer/gridResizer.tsx deleted file mode 100644 index 4b519dd4..00000000 --- a/src/components/gridResizer/gridResizer.tsx +++ /dev/null @@ -1,102 +0,0 @@ -import { Component, JSX, splitProps, createSignal, createEffect, onCleanup } from 'solid-js'; -import { throttle } from '../../utils/throttle'; -import { Dot } from './dot'; - -interface GridResizerProps extends JSX.HTMLAttributes { - ref?: (el: HTMLDivElement) => any | undefined; - isHorizontal: boolean; - direction: 'horizontal' | 'vertical'; - onResize: (clientX: number, clientY: number) => void; -} - -export const GridResizer: Component = (props) => { - const [local, other] = splitProps(props, [ - 'ref', - 'class', - 'isHorizontal', - 'direction', - 'onResize', - ]); - - const [isDragging, setIsDragging] = createSignal(false); - - const onResizeStart = () => { - setIsDragging(true); - }; - - const onResizeEnd = () => { - setIsDragging(false); - }; - - const onMouseMove = throttle((e: MouseEvent) => { - local.onResize(e.clientX, e.clientY); - }, 10); - - const onTouchMove = throttle((e: TouchEvent) => { - const touch = e.touches[0]; - local.onResize(touch.clientX, touch.clientY); - }, 10); - - const setRef = (el: HTMLDivElement) => { - if (local.ref) { - local.ref(el); - } - - el.addEventListener('mousedown', onResizeStart); - el.addEventListener('touchstart', onResizeStart); - - onCleanup(() => { - el.removeEventListener('mousedown', onResizeStart); - el.removeEventListener('touchstart', onResizeStart); - }); - }; - - createEffect(() => { - if (isDragging()) { - window.addEventListener('mousemove', onMouseMove); - window.addEventListener('mouseup', onResizeEnd); - window.addEventListener('touchmove', onTouchMove); - window.addEventListener('touchend', onResizeEnd); - } else { - window.removeEventListener('mousemove', onMouseMove); - window.removeEventListener('mouseup', onResizeEnd); - window.removeEventListener('touchmove', onTouchMove); - window.removeEventListener('touchend', onResizeEnd); - } - }); - - const baseClasses = - 'justify-center group items-center border-slate-200 dark:border-solid-darkbg/30 hover:bg-brand-default dark:hover:bg-solid-medium'; - const resizingClasses = () => - `${ - isDragging() - ? 'bg-brand-default dark:bg-brand-default' - : 'bg-slate-50 dark:bg-solid-darkbg/70' - }`; - const directionClasses = () => - local.direction === 'horizontal' - ? `flex-col cursor-col-resize border-l-2 border-r-2 hidden${ - !local.isHorizontal ? ' md:flex' : ' ' - }` - : `cursor-row-resize border-t-2 border-b-2 flex${!local.isHorizontal ? ' md:hidden' : ' '}`; - const classes = () => `${baseClasses} ${resizingClasses()} ${directionClasses()} ${local.class}`; - - return ( - <> -
-
- - - -
- - ); -}; diff --git a/src/components/gridResizer/index.tsx b/src/components/gridResizer/index.tsx index 5305aca3..5cd86153 100644 --- a/src/components/gridResizer/index.tsx +++ b/src/components/gridResizer/index.tsx @@ -1 +1,75 @@ -export * from './gridResizer'; +import { Component, createSignal, createEffect, onCleanup } from 'solid-js'; +import { throttle } from '@solid-primitives/scheduled'; +import { Dot } from './dot'; + +type SolidRef = (el: HTMLDivElement) => void; +export const GridResizer: Component<{ + ref: HTMLDivElement | SolidRef; + isHorizontal: boolean; + onResize: (clientX: number, clientY: number) => void; +}> = (props) => { + const [isDragging, setIsDragging] = createSignal(false); + + const onResizeStart = () => setIsDragging(true); + const onResizeEnd = () => setIsDragging(false); + + const onMouseMove = throttle((e: MouseEvent) => { + props.onResize(e.clientX, e.clientY); + }, 10); + + const onTouchMove = throttle((e: TouchEvent) => { + const touch = e.touches[0]; + props.onResize(touch.clientX, touch.clientY); + }, 10); + + const setRef = (el: HTMLDivElement) => { + (props.ref as SolidRef)(el); + + el.addEventListener('mousedown', onResizeStart); + el.addEventListener('touchstart', onResizeStart); + + onCleanup(() => { + el.removeEventListener('mousedown', onResizeStart); + el.removeEventListener('touchstart', onResizeStart); + }); + }; + + createEffect(() => { + if (isDragging()) { + window.addEventListener('mousemove', onMouseMove); + window.addEventListener('mouseup', onResizeEnd); + window.addEventListener('touchmove', onTouchMove); + window.addEventListener('touchend', onResizeEnd); + } else { + window.removeEventListener('mousemove', onMouseMove); + window.removeEventListener('mouseup', onResizeEnd); + window.removeEventListener('touchmove', onTouchMove); + window.removeEventListener('touchend', onResizeEnd); + } + }); + + return ( +
+
+ + + +
+ ); +}; diff --git a/src/components/preview.tsx b/src/components/preview.tsx index 77f99727..1d70b3a7 100644 --- a/src/components/preview.tsx +++ b/src/components/preview.tsx @@ -1,15 +1,8 @@ -import { Component, createEffect, createSignal, splitProps, JSX, onMount } from 'solid-js'; -import useZoom from '../hooks/useZoom'; +import { Component, createEffect, createSignal, onMount, onCleanup } from 'solid-js'; +import { useZoom } from '../hooks/useZoom'; export const Preview: Component = (props) => { const { zoomState } = useZoom(); - const [internal, external] = splitProps(props, [ - 'code', - 'isDark', - 'class', - 'reloadSignal', - 'devtools', - ]); let iframe!: HTMLIFrameElement; @@ -19,33 +12,32 @@ export const Preview: Component = (props) => { const CODE_UPDATE = 'CODE_UPDATE'; createEffect(() => { - // HACK: This helps prevent unnecessary updates - const isNotDom = - internal.code.includes('getNextElement') || internal.code.includes('getHydrationKey'); + if (!props.code) return; + if (!isIframeReady()) return; - const isEmpty = !internal.code; + latestCode = props.code.replace('render(', 'window.dispose = render('); - if (isNotDom || isEmpty || !isIframeReady()) return; + const blob = new Blob([latestCode], { + type: 'text/javascript', + }); + const src = URL.createObjectURL(blob); + onCleanup(() => URL.revokeObjectURL(src)); - latestCode = internal.code.replace('render(', 'window.dispose = render('); - iframe.contentWindow!.postMessage({ event: CODE_UPDATE, code: latestCode }, '*'); + iframe.contentWindow!.postMessage({ event: CODE_UPDATE, value: src }, '*'); }); createEffect(() => { - if (!iframe) return; - iframe.contentWindow!.postMessage({ event: 'DEVTOOLS', open: internal.devtools }, '*'); + if (isIframeReady()) iframe.contentWindow!.postMessage({ event: 'DEVTOOLS', value: props.devtools }, '*'); }); const setDarkMode = () => { - const doc = iframe.contentDocument || iframe.contentWindow?.document; - doc?.body!.classList.toggle('dark', internal.isDark); - iframe.contentWindow!.postMessage({ event: 'THEME', dark: internal.isDark }, '*'); + const doc = iframe.contentDocument!.documentElement; + doc.classList.toggle('dark', props.isDark); + iframe.contentWindow!.postMessage({ event: 'THEME', value: props.isDark }, '*'); }; createEffect(() => { - if (iframe && isIframeReady()) { - setDarkMode(); - } + if (isIframeReady()) setDarkMode(); }); const html = ` @@ -55,10 +47,6 @@ export const Preview: Component = (props) => { - - - -