diff --git a/packages/docs-new/package.json b/packages/docs-new/package.json new file mode 100644 index 0000000..cde8db6 --- /dev/null +++ b/packages/docs-new/package.json @@ -0,0 +1,63 @@ +{ + "name": "reacord-docs-new", + "type": "module", + "private": true, + "scripts": { + "dev": "npm-run-all --parallel --print-label --race dev-*", + "dev-nodemon": "nodemon --exec esmo --ext js,ts,tsx --experimental-import-meta-resolve --no-warnings src/main.tsx", + "dev-bsync": "wait-on tcp:localhost:3000 && browser-sync start --proxy http://localhost:3000 --watch src", + "build": "vite build && vite build --ssr", + "start": "NODE_ENV=production esmo server.ts", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@heroicons/react": "^1.0.5", + "@reach/rect": "^0.16.0", + "@tinyhttp/app": "^2.0.15", + "@tinyhttp/logger": "^1.3.0", + "clsx": "^1.1.1", + "express": "^4.17.2", + "gray-matter": "^4.0.3", + "reacord": "workspace:*", + "react": "^18.0.0-rc.0", + "react-dom": "^18.0.0-rc.0", + "react-focus-on": "^3.5.4", + "react-head": "^3.4.0", + "react-router": "^6.2.1", + "react-router-dom": "^6.2.1", + "reload": "^3.2.0", + "shrink-ray-current": "^4.1.3", + "sirv": "^2.0.0", + "vite-plugin-ssr": "^0.3.42" + }, + "devDependencies": { + "@mapbox/rehype-prism": "^0.8.0", + "@tailwindcss/typography": "^0.5.0", + "@types/browser-sync": "^2.26.3", + "@types/compression": "^1.7.2", + "@types/express": "^4.17.13", + "@types/markdown-it": "^12.2.3", + "@types/node": "*", + "@types/nodemon": "^1.19.1", + "@types/react": "^17.0.38", + "@types/react-dom": "^17.0.9", + "@vitejs/plugin-react": "^1.1.3", + "autoprefixer": "^10.4.1", + "browser-sync": "^2.27.7", + "compression": "^1.7.4", + "esno": "^0.13.0", + "fast-glob": "^3.2.7", + "markdown-it": "^12.3.0", + "markdown-it-prism": "^2.2.1", + "nodemon": "^2.0.15", + "npm-run-all": "^4.1.5", + "polka": "^0.5.2", + "postcss": "^8.4.5", + "tailwindcss": "^3.0.8", + "type-fest": "^2.8.0", + "typescript": "^4.5.4", + "vite": "^2.7.10", + "vite-plugin-markdown": "^2.0.2", + "wait-on": "^6.0.0" + } +} diff --git a/packages/docs-new/postcss.config.cjs b/packages/docs-new/postcss.config.cjs new file mode 100644 index 0000000..33ad091 --- /dev/null +++ b/packages/docs-new/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/packages/docs-new/src/components/app-link.tsx b/packages/docs-new/src/components/app-link.tsx new file mode 100644 index 0000000..22a7192 --- /dev/null +++ b/packages/docs-new/src/components/app-link.tsx @@ -0,0 +1,27 @@ +import React from "react" +import { ExternalLink } from "./external-link" + +export type AppLinkProps = { + type: "internal" | "external" + label: React.ReactNode + to: string + className?: string +} + +export function AppLink(props: AppLinkProps) { + switch (props.type) { + case "internal": + return ( + + {props.label} + + ) + + case "external": + return ( + + {props.label} + + ) + } +} diff --git a/packages/docs-new/src/components/external-link.tsx b/packages/docs-new/src/components/external-link.tsx new file mode 100644 index 0000000..3aa17f0 --- /dev/null +++ b/packages/docs-new/src/components/external-link.tsx @@ -0,0 +1,10 @@ +import type { ComponentPropsWithoutRef } from "react" +import React from "react" + +export function ExternalLink(props: ComponentPropsWithoutRef<"a">) { + return ( + + {props.children} + + ) +} diff --git a/packages/docs-new/src/components/guide-page-layout.tsx b/packages/docs-new/src/components/guide-page-layout.tsx new file mode 100644 index 0000000..437429a --- /dev/null +++ b/packages/docs-new/src/components/guide-page-layout.tsx @@ -0,0 +1,49 @@ +import clsx from "clsx" +import React from "react" +import { guideLinks } from "../data/guide-links" +import { useScrolled } from "../hooks/dom/use-scrolled" +import { + docsProseClass, + linkClass, + maxWidthContainer, +} from "../styles/components" +import { AppLink } from "./app-link" +import { MainNavigation } from "./main-navigation" + +export function GuidePageLayout() { + return ( + <> + +
+ +
+
+
+ +
+ {/* todo */} +
+
+ + ) +} + +function HeaderPanel({ children }: { children: React.ReactNode }) { + const isScrolled = useScrolled() + + const className = clsx( + isScrolled ? "bg-slate-700/30" : "bg-slate-800", + "shadow sticky top-0 backdrop-blur-sm transition z-10 flex", + ) + + return
{children}
+} diff --git a/packages/docs-new/src/components/main-navigation.tsx b/packages/docs-new/src/components/main-navigation.tsx new file mode 100644 index 0000000..5168a55 --- /dev/null +++ b/packages/docs-new/src/components/main-navigation.tsx @@ -0,0 +1,40 @@ +import React from "react" +import { guideLinks } from "../data/guide-links" +import { mainLinks } from "../data/main-links" +import { linkClass } from "../styles/components" +import { AppLink } from "./app-link" +import { PopoverMenu } from "./popover-menu" + +export function MainNavigation() { + return ( + + ) +} diff --git a/packages/docs-new/src/components/popover-menu.tsx b/packages/docs-new/src/components/popover-menu.tsx new file mode 100644 index 0000000..028ac47 --- /dev/null +++ b/packages/docs-new/src/components/popover-menu.tsx @@ -0,0 +1,67 @@ +import { MenuAlt4Icon } from "@heroicons/react/outline" +import { useRect } from "@reach/rect" +import clsx from "clsx" +import React, { useRef, useState } from "react" +import { FocusOn } from "react-focus-on" +import { linkClass } from "../styles/components" + +// todo: remove useRect usage and rely on css absolute positioning instead +export function PopoverMenu({ children }: { children: React.ReactNode }) { + const [visible, setVisible] = useState(false) + + const buttonRef = useRef(null) + const buttonRect = useRect(buttonRef) + + const panelRef = useRef(null) + const panelRect = useRect(panelRef) + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + /* eslint-disable jsx-a11y/click-events-have-key-events */ + return ( + <> + + + setVisible(false)} + onEscapeKey={() => setVisible(false)} + > +
setVisible(false)} + > +
+
+
+ {children} +
+
+
+
+
+ + ) +} + +PopoverMenu.itemClass = clsx` + px-3 py-2 transition text-left font-medium block + opacity-50 hover:opacity-100 hover:bg-black/30 +` diff --git a/packages/docs-new/src/data/guide-links.tsx b/packages/docs-new/src/data/guide-links.tsx new file mode 100644 index 0000000..7c4188e --- /dev/null +++ b/packages/docs-new/src/data/guide-links.tsx @@ -0,0 +1,34 @@ +import glob from "fast-glob" +import grayMatter from "gray-matter" +import { readFile } from "node:fs/promises" +import { join } from "node:path" +import type { AppLinkProps } from "../components/app-link" + +const docsFolderPath = new URL("../docs", import.meta.url).pathname +const guideFiles = await glob("**/*.md", { cwd: docsFolderPath }) + +const entries = await Promise.all( + guideFiles.map(async (file) => { + const content = await readFile(join(docsFolderPath, file), "utf-8") + const { data } = grayMatter(content) + + let order = Number(data.order) + if (!Number.isFinite(order)) { + order = Number.POSITIVE_INFINITY + } + + return { + route: `/docs/${file.replace(/\.mdx?$/, "")}`, + title: String(data.title || ""), + order, + } + }), +) + +export const guideLinks: AppLinkProps[] = entries + .sort((a, b) => a.order - b.order) + .map((item) => ({ + type: "internal", + label: item.title, + to: item.route, + })) diff --git a/packages/docs-new/src/data/main-links.tsx b/packages/docs-new/src/data/main-links.tsx new file mode 100644 index 0000000..0188a15 --- /dev/null +++ b/packages/docs-new/src/data/main-links.tsx @@ -0,0 +1,38 @@ +import { + CodeIcon, + DocumentTextIcon, + ExternalLinkIcon, +} from "@heroicons/react/solid" +import React from "react" +import type { AppLinkProps } from "../components/app-link" +import { inlineIconClass } from "../styles/components" + +export const mainLinks: AppLinkProps[] = [ + { + type: "internal", + to: "/docs/getting-started", + label: ( + <> + Guides + + ), + }, + { + type: "internal", + to: "/docs/api", + label: ( + <> + API Reference + + ), + }, + { + type: "external", + to: "https://github.com/itsMapleLeaf/reacord", + label: ( + <> + GitHub + + ), + }, +] diff --git a/packages/docs-new/src/docs/buttons.md b/packages/docs-new/src/docs/buttons.md new file mode 100644 index 0000000..e20136a --- /dev/null +++ b/packages/docs-new/src/docs/buttons.md @@ -0,0 +1,9 @@ +--- +order: 3 +title: Buttons +description: Using button components +--- + +# Buttons + +todo diff --git a/packages/docs-new/src/docs/embeds.md b/packages/docs-new/src/docs/embeds.md new file mode 100644 index 0000000..3ff694a --- /dev/null +++ b/packages/docs-new/src/docs/embeds.md @@ -0,0 +1,9 @@ +--- +order: 2 +title: Embeds +description: Using embed components +--- + +# Embeds + +todo diff --git a/packages/docs-new/src/docs/getting-started.md b/packages/docs-new/src/docs/getting-started.md new file mode 100644 index 0000000..2723058 --- /dev/null +++ b/packages/docs-new/src/docs/getting-started.md @@ -0,0 +1,43 @@ +--- +order: 0 +title: Getting Started +description: Learn how to get started with Reacord. +--- + +# Getting Started + +This guide assumes some familiarity with JavaScript, [React](https://reactjs.org), [Discord.js](https://discord.js.org) and the [Discord API](https://discord.dev). Keep these pages as reference if you need it. + +**Note:** Ensure your project has support for running code with JSX. I recommend using [esno](https://npm.im/esno). + +## Install + +```bash +# npm +npm install reacord discord.js + +# yarn +yarn add reacord discord.js + +# pnpm +pnpm add reacord discord.js +``` + +## Setup + +Create a Discord.js client and a Reacord instance: + +```js +// main.js +import { Client } from "discord.js" +import { ReacordDiscordJs } from "reacord" + +const client = new Client() +const reacord = new ReacordDiscordJs(client) + +client.on("ready", () => { + console.log("Ready!") +}) + +await client.login(process.env.BOT_TOKEN) +``` diff --git a/packages/docs-new/src/docs/landing-example.md b/packages/docs-new/src/docs/landing-example.md new file mode 100644 index 0000000..ec0112a --- /dev/null +++ b/packages/docs-new/src/docs/landing-example.md @@ -0,0 +1,19 @@ + +```tsx +import * as React from "react" +import { Embed, Button } from "reacord" + +function Counter() { + const [count, setCount] = React.useState(0) + return ( + <> + + This button has been clicked {count} times. + + + + ) +} +``` diff --git a/packages/docs-new/src/docs/select-menu.md b/packages/docs-new/src/docs/select-menu.md new file mode 100644 index 0000000..91e2420 --- /dev/null +++ b/packages/docs-new/src/docs/select-menu.md @@ -0,0 +1,8 @@ +--- +title: Select Menus +description: Using select menu components +--- + +# Select Menus + +todo diff --git a/packages/docs-new/src/docs/sending-messages.md b/packages/docs-new/src/docs/sending-messages.md new file mode 100644 index 0000000..a7d2728 --- /dev/null +++ b/packages/docs-new/src/docs/sending-messages.md @@ -0,0 +1,78 @@ +--- +order: 1 +title: Sending Messages +description: Sending messages by creating Reacord instances +--- + +# Sending Messages with Instances + +You can send messages via Reacord to a channel like so. + +```jsx +const channelId = "abc123deadbeef" + +client.on("ready", () => { + reacord.send(channelId, "Hello, world!") +}) +``` + +The `.send()` function creates a **Reacord instance**. You can pass strings, numbers, or anything that can be rendered by React, such as JSX! + +Components rendered through this instance can include state and effects, and the message on Discord will update automatically. + +```jsx +function Uptime() { + const [startTime] = useState(Date.now()) + const [currentTime, setCurrentTime] = useState(Date.now()) + + useEffect(() => { + const interval = setInterval(() => { + currentTime(Date.now()) + }, 3000) + return () => clearInterval(interval) + }, []) + + return <>this message has been shown for {currentTime - startTime}ms +} + +client.on("ready", () => { + reacord.send(channelId, ) +}) +``` + +The instance can be rendered to multiple times, which will update the message each time. + +```jsx +const Hello = ({ subject }) => <>Hello, {subject}! + +client.on("ready", () => { + const instance = reacord.send(channel) + instance.render() + instance.render() +}) +``` + +## Cleaning Up Instances + +If you no longer want to use the instance, you can clean it up in a few ways: + +- `instance.destroy()` - This will remove the message. +- `instance.deactivate()` - This will keep the message, but it will disable the components on the message, and no longer listen to user interactions. + +By default, Reacord has a max limit on the number of active instances, and deactivates older instances to conserve memory. This can be configured through the Reacord options: + +```js +const reacord = new ReacordDiscordJs(client, { + // after sending four messages, + // the first one will be deactivated + maxInstances: 3, +}) +``` + +## Discord Slash Commands + + + +todo diff --git a/packages/docs-new/src/helpers/tailwind.ts b/packages/docs-new/src/helpers/tailwind.ts new file mode 100644 index 0000000..8bb47ef --- /dev/null +++ b/packages/docs-new/src/helpers/tailwind.ts @@ -0,0 +1,22 @@ +import type { RequestHandler } from "express" +import { readFile } from "node:fs/promises" +import { fileURLToPath } from "node:url" +import type { Result } from "postcss" +import postcss from "postcss" +import tailwindcss from "tailwindcss" + +const tailwindTemplate = await readFile( + fileURLToPath(await import.meta.resolve!("tailwindcss/tailwind.css")), + "utf-8", +) + +let result: Result | undefined + +export function serveTailwindCss(): RequestHandler { + return async (req, res) => { + if (!result || process.env.NODE_ENV !== "production") { + result = await postcss(tailwindcss).process(tailwindTemplate) + } + res.set("Content-Type", "text/css").send(result.css) + } +} diff --git a/packages/docs-new/src/hooks/dom/use-scrolled.ts b/packages/docs-new/src/hooks/dom/use-scrolled.ts new file mode 100644 index 0000000..8fefd62 --- /dev/null +++ b/packages/docs-new/src/hooks/dom/use-scrolled.ts @@ -0,0 +1,10 @@ +import { useState } from "react" +import { useWindowEvent } from "./use-window-event" + +export function useScrolled() { + const [scrolled, setScrolled] = useState( + typeof window !== "undefined" ? window.scrollY > 0 : false, + ) + useWindowEvent("scroll", () => setScrolled(window.scrollY > 0)) + return scrolled +} diff --git a/packages/docs-new/src/hooks/dom/use-window-event.ts b/packages/docs-new/src/hooks/dom/use-window-event.ts new file mode 100644 index 0000000..a76294b --- /dev/null +++ b/packages/docs-new/src/hooks/dom/use-window-event.ts @@ -0,0 +1,11 @@ +import { useEffect } from "react" + +export function useWindowEvent( + type: EventType, + handler: (event: WindowEventMap[EventType]) => void, +) { + useEffect(() => { + window.addEventListener(type, handler) + return () => window.removeEventListener(type, handler) + }) +} diff --git a/packages/docs-new/src/html.tsx b/packages/docs-new/src/html.tsx new file mode 100644 index 0000000..ee14c85 --- /dev/null +++ b/packages/docs-new/src/html.tsx @@ -0,0 +1,38 @@ +import packageJson from "reacord/package.json" +import type { ReactNode } from "react" +import React from "react" + +export function Html({ + title = "Reacord", + description = packageJson.description, + children, +}: { + title?: string + description?: string + children: ReactNode +}) { + return ( + + + + + + + + + + + + {title} + + {children} + + ) +} diff --git a/packages/docs-new/src/main.tsx b/packages/docs-new/src/main.tsx new file mode 100644 index 0000000..552951d --- /dev/null +++ b/packages/docs-new/src/main.tsx @@ -0,0 +1,32 @@ +import compression from "compression" +import type { Request, Response } from "express" +import express from "express" +import * as React from "react" +import { renderToStaticMarkup } from "react-dom/server.js" +import { serveTailwindCss } from "./helpers/tailwind" +import { Landing } from "./pages/landing" + +const projectRoot = new URL("..", import.meta.url).pathname + +const port = process.env.PORT || 3000 + +function sendJsx(res: Response, jsx: React.ReactElement) { + res.set("Content-Type", "text/html") + res.send(`\n${renderToStaticMarkup(jsx)}`) +} + +express() + .use(compression()) + .get("/tailwind.css", serveTailwindCss()) + + .get("/", (req, res) => { + sendJsx(res, ) + }) + + .get("/docs/:docPath+", (req: Request<{ docPath: string }>, res) => { + res.send("doc: " + req.params.docPath) + }) + + .listen(port, () => { + console.info(`Server is running on https://localhost:${port}`) + }) diff --git a/packages/docs-new/src/pages/docs.tsx b/packages/docs-new/src/pages/docs.tsx new file mode 100644 index 0000000..0bec318 --- /dev/null +++ b/packages/docs-new/src/pages/docs.tsx @@ -0,0 +1,59 @@ +import clsx from "clsx" +import React from "react" +import { AppLink } from "../components/app-link" +import { MainNavigation } from "../components/main-navigation" +import { guideLinks } from "../data/guide-links" +import { useScrolled } from "../hooks/dom/use-scrolled" +import { Html } from "../html" +import { + docsProseClass, + linkClass, + maxWidthContainer, +} from "../styles/components" + +export default function DocsPage({ + title, + description, + html, +}: { + title: string + description: string + html: string +}) { + return ( + + +
+ +
+
+
+ +
+
+ + ) +} + +function HeaderPanel({ children }: { children: React.ReactNode }) { + const isScrolled = useScrolled() + + const className = clsx( + isScrolled ? "bg-slate-700/30" : "bg-slate-800", + "shadow sticky top-0 backdrop-blur-sm transition z-10 flex", + ) + + return
{children}
+} diff --git a/packages/docs-new/src/pages/landing.tsx b/packages/docs-new/src/pages/landing.tsx new file mode 100644 index 0000000..bdf763f --- /dev/null +++ b/packages/docs-new/src/pages/landing.tsx @@ -0,0 +1,34 @@ +import packageJson from "reacord/package.json" +import React from "react" +import { MainNavigation } from "../components/main-navigation" +import { Html } from "../html" +import { maxWidthContainer } from "../styles/components" + +export function Landing() { + return ( + +
+
+ +
+
+
+

reacord

+
+

{packageJson.description}

+ + Get Started + +
+
+
+ + ) +} diff --git a/packages/docs-new/src/reload.d.ts b/packages/docs-new/src/reload.d.ts new file mode 100644 index 0000000..b52bd16 --- /dev/null +++ b/packages/docs-new/src/reload.d.ts @@ -0,0 +1,5 @@ +declare module "reload" { + import type { Express } from "express" + function reload(server: Express): Promise + export = reload +} diff --git a/packages/docs-new/src/styles/components.ts b/packages/docs-new/src/styles/components.ts new file mode 100644 index 0000000..76ad495 --- /dev/null +++ b/packages/docs-new/src/styles/components.ts @@ -0,0 +1,24 @@ +import clsx from "clsx" + +export const maxWidthContainer = clsx`mx-auto w-full max-w-screen-lg px-4` + +export const inlineIconClass = clsx`inline w-5 align-sub` + +export const linkClass = clsx` + font-medium inline-block relative + opacity-60 hover:opacity-100 transition-opacity + after:absolute after:block after:w-full after:h-px after:bg-white/50 after:translate-y-[3px] after:opacity-0 after:transition + hover:after:translate-y-[-1px] hover:after:opacity-100 +` + +export const docsProseClass = clsx` + prose prose-invert + prose-h1:font-light prose-h1:mb-4 prose-h1:text-3xl lg:prose-h1:text-4xl + prose-h2:font-light + prose-h3:font-light + prose-p:my-4 + prose-a:font-medium prose-a:text-emerald-400 hover:prose-a:no-underline + prose-strong:font-medium prose-strong:text-emerald-400 + prose-pre:font-monospace prose-pre:overflow-x-auto + max-w-none +` diff --git a/packages/docs-new/src/styles/prism-theme.css b/packages/docs-new/src/styles/prism-theme.css new file mode 100644 index 0000000..45b8096 --- /dev/null +++ b/packages/docs-new/src/styles/prism-theme.css @@ -0,0 +1,133 @@ +/** + * Nord Theme Originally by Arctic Ice Studio + * https://nordtheme.com + * + * Ported for PrismJS by Zane Hitchcoxc (@zwhitchcox) and Gabriel Ramos (@gabrieluizramos) + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #f8f8f2; + background: none; + /* font-family: "Fira Code", Consolas, Monaco, "Andale Mono", "Ubuntu Mono", + monospace; */ + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.7; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + border-radius: 0.3em; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + /* background: #2e3440; */ + background: rgba(0, 0, 0, 0.3); +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: 0.1em; + border-radius: 0.3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #636f88; +} + +.token.punctuation { + color: #81a1c1; +} + +.namespace { + opacity: 0.7; +} + +.token.property, +.token.tag, +.token.constant, +.token.symbol, +.token.deleted { + color: #81a1c1; +} + +.token.number { + color: #b48ead; +} + +.token.boolean { + color: #81a1c1; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #a3be8c; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: #81a1c1; +} + +.token.atrule, +.token.attr-value, +.token.function, +.token.class-name { + color: #88c0d0; +} + +.token.keyword { + color: #81a1c1; +} + +.token.regex, +.token.important { + color: #ebcb8b; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.code-line.highlight-line { + background-color: rgba(255, 255, 255, 0.08); + padding: 0 1rem; + margin: 0 -1rem; + display: block; +} diff --git a/packages/docs-new/src/styles/tailwind.css b/packages/docs-new/src/styles/tailwind.css new file mode 100644 index 0000000..b5c61c9 --- /dev/null +++ b/packages/docs-new/src/styles/tailwind.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/packages/docs-new/tailwind.config.cjs b/packages/docs-new/tailwind.config.cjs new file mode 100644 index 0000000..044cf0d --- /dev/null +++ b/packages/docs-new/tailwind.config.cjs @@ -0,0 +1,15 @@ +// @ts-nocheck +module.exports = { + content: ["./src/**/*.{ts,tsx,md}"], + theme: { + fontFamily: { + sans: ["Rubik", "sans-serif"], + monospace: ["'JetBrains Mono'", "monospace"], + }, + boxShadow: { + DEFAULT: "0 2px 9px 0 rgb(0 0 0 / 0.3), 0 2px 4px -2px rgb(0 0 0 / 0.3)", + }, + extend: {}, + }, + plugins: [require("@tailwindcss/typography")], +} diff --git a/packages/docs-new/tsconfig.json b/packages/docs-new/tsconfig.json new file mode 100644 index 0000000..9536a0f --- /dev/null +++ b/packages/docs-new/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../../tsconfig.base.json" +} diff --git a/packages/docs/package.json b/packages/docs/package.json index 44dfe02..e3dd929 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -1,5 +1,5 @@ { - "name": "reacord-docs-new", + "name": "reacord-docs", "type": "module", "private": true, "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0be5ad..56db360 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -108,6 +108,103 @@ importers: vite: 2.7.10 vite-plugin-markdown: 2.0.2_vite@2.7.10 + packages/docs-new: + specifiers: + '@heroicons/react': ^1.0.5 + '@mapbox/rehype-prism': ^0.8.0 + '@reach/rect': ^0.16.0 + '@tailwindcss/typography': ^0.5.0 + '@tinyhttp/app': ^2.0.15 + '@tinyhttp/logger': ^1.3.0 + '@types/browser-sync': ^2.26.3 + '@types/compression': ^1.7.2 + '@types/express': ^4.17.13 + '@types/markdown-it': ^12.2.3 + '@types/node': '*' + '@types/nodemon': ^1.19.1 + '@types/react': ^17.0.38 + '@types/react-dom': ^17.0.9 + '@vitejs/plugin-react': ^1.1.3 + autoprefixer: ^10.4.1 + browser-sync: ^2.27.7 + clsx: ^1.1.1 + compression: ^1.7.4 + esno: ^0.13.0 + express: ^4.17.2 + fast-glob: ^3.2.7 + gray-matter: ^4.0.3 + markdown-it: ^12.3.0 + markdown-it-prism: ^2.2.1 + nodemon: ^2.0.15 + npm-run-all: ^4.1.5 + polka: ^0.5.2 + postcss: ^8.4.5 + reacord: workspace:* + react: ^18.0.0-rc.0 + react-dom: ^18.0.0-rc.0 + react-focus-on: ^3.5.4 + react-head: ^3.4.0 + react-router: ^6.2.1 + react-router-dom: ^6.2.1 + reload: ^3.2.0 + shrink-ray-current: ^4.1.3 + sirv: ^2.0.0 + tailwindcss: ^3.0.8 + type-fest: ^2.8.0 + typescript: ^4.5.4 + vite: ^2.7.10 + vite-plugin-markdown: ^2.0.2 + vite-plugin-ssr: ^0.3.42 + wait-on: ^6.0.0 + dependencies: + '@heroicons/react': 1.0.5_react@18.0.0-rc.0 + '@reach/rect': 0.16.0_757a802188413a36d4f24237d13b8e90 + '@tinyhttp/app': 2.0.15 + '@tinyhttp/logger': 1.3.0 + clsx: 1.1.1 + express: 4.17.2 + gray-matter: 4.0.3 + reacord: link:../reacord + react: 18.0.0-rc.0 + react-dom: 18.0.0-rc.0_react@18.0.0-rc.0 + react-focus-on: 3.5.4_2fa291bfae6e56080648438396754a97 + react-head: 3.4.0_757a802188413a36d4f24237d13b8e90 + react-router: 6.2.1_react@18.0.0-rc.0 + react-router-dom: 6.2.1_757a802188413a36d4f24237d13b8e90 + reload: 3.2.0 + shrink-ray-current: 4.1.3 + sirv: 2.0.0 + vite-plugin-ssr: 0.3.42_vite@2.7.10 + devDependencies: + '@mapbox/rehype-prism': 0.8.0 + '@tailwindcss/typography': 0.5.0_tailwindcss@3.0.8 + '@types/browser-sync': 2.26.3 + '@types/compression': 1.7.2 + '@types/express': 4.17.13 + '@types/markdown-it': 12.2.3 + '@types/node': 17.0.5 + '@types/nodemon': 1.19.1 + '@types/react': 17.0.38 + '@types/react-dom': 17.0.11 + '@vitejs/plugin-react': 1.1.3 + autoprefixer: 10.4.1_postcss@8.4.5 + browser-sync: 2.27.7 + compression: 1.7.4 + esno: 0.13.0_typescript@4.5.4 + fast-glob: 3.2.7 + markdown-it: 12.3.0 + markdown-it-prism: 2.2.1 + nodemon: 2.0.15 + npm-run-all: 4.1.5 + polka: 0.5.2 + postcss: 8.4.5 + tailwindcss: 3.0.8_cefe482e8d38053bbf3d5815e0c551b3 + type-fest: 2.8.0 + typescript: 4.5.4 + vite: 2.7.10 + vite-plugin-markdown: 2.0.2_vite@2.7.10 + wait-on: 6.0.0 + packages/docs/dist/server: specifiers: {} @@ -166,6 +263,11 @@ importers: packages: + /@arr/every/1.0.1: + resolution: {integrity: sha512-UQFQ6SgyJ6LX42W8rHCs8KVc0JS0tzVL9ct4XYedJukskYVWTo49tNiMEK9C2HTyarbNiT/RVIRSY82vH+6sTg==} + engines: {node: '>=4'} + dev: true + /@babel/code-frame/7.16.0: resolution: {integrity: sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==} engines: {node: '>=6.9.0'} @@ -661,6 +763,16 @@ packages: - supports-color dev: true + /@hapi/hoek/9.2.1: + resolution: {integrity: sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==} + dev: true + + /@hapi/topo/5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.2.1 + dev: true + /@heroicons/react/1.0.5_react@18.0.0-rc.0: resolution: {integrity: sha512-UDMyLM2KavIu2vlWfMspapw9yii7aoLwzI2Hudx4fyoPwfKfxU8r3cL8dEBXOjcLG0/oOONZzbT14M1HoNtEcg==} peerDependencies: @@ -981,6 +1093,14 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 + /@polka/url/0.5.0: + resolution: {integrity: sha512-oZLYFEAzUKyi3SKnXvj32ZCEGH6RDnao7COuCVhDydMS9NrCSVXhM79VaKyP5+Zc33m0QXEd2DN3UkU7OsHcfw==} + dev: true + + /@polka/url/1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: false + /@reach/observe-rect/1.2.0: resolution: {integrity: sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==} dev: false @@ -1025,6 +1145,20 @@ packages: engines: {node: '>=v14.0.0', npm: '>=7.0.0'} dev: true + /@sideway/address/4.1.3: + resolution: {integrity: sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==} + dependencies: + '@hapi/hoek': 9.2.1 + dev: true + + /@sideway/formula/3.0.0: + resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==} + dev: true + + /@sideway/pinpoint/2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + dev: true + /@sindresorhus/is/0.14.0: resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} engines: {node: '>=6'} @@ -1066,6 +1200,127 @@ packages: tailwindcss: 3.0.8_cefe482e8d38053bbf3d5815e0c551b3 dev: true + /@tinyhttp/accepts/2.0.4: + resolution: {integrity: sha512-Qz+ReA+DaXCNKdzicVZhl4qUhGpLKQ8vYNMU+pm3PtSBwY32wXw+k0nh6+XBhrKnZ4/o8QeMCV5x7XTtJfW//Q==} + engines: {node: '>=12.4.0'} + dependencies: + es-mime-types: 0.1.4 + negotiator: 0.6.2 + dev: false + + /@tinyhttp/app/2.0.15: + resolution: {integrity: sha512-MGLXIuo2vbk9JZFQ881W76IR+rxc2qAMU3QXl7O3FFDUmkT19eTSpDGBD3CNYSWnbUQhbKvmnR1I/4FtlfOARA==} + engines: {node: '>=12.x'} + dependencies: + '@tinyhttp/cookie': 2.0.3 + '@tinyhttp/proxy-addr': 2.0.2 + '@tinyhttp/req': 2.0.10 + '@tinyhttp/res': 2.0.11 + '@tinyhttp/router': 2.0.4 + header-range-parser: 1.1.1 + regexparam: 2.0.0 + dev: false + + /@tinyhttp/content-disposition/2.0.4: + resolution: {integrity: sha512-SGU8nVfDbiJa5eCA7BWUEMjSaf/b6nLQHEzuzmKhA3BIGHuBWXSIcr1dGeLopmohQoZkIQfk5psM5TOgVgrraA==} + engines: {node: '>=12.4.0'} + dev: false + + /@tinyhttp/cookie-signature/2.0.2: + resolution: {integrity: sha512-lyIdDzLILp6T2fymJn9zKBgXwlZMIUiqMUIEd4x/ZGFNvnNs/zeYDBQFdAygBtv4Bgl5Zpf6tN+e6fkj6TlMYQ==} + engines: {node: '>=12.4.0'} + dev: false + + /@tinyhttp/cookie/2.0.3: + resolution: {integrity: sha512-ZHvDHyNc0VwKLgFqwCNbrMObJqJHKQNnMARdPlK2+VvKVB3h/ZT5kYAXYFxxWFJFNqXaXz0E7i2kX32bMeMGUw==} + engines: {node: '>=12.4.0'} + dev: false + + /@tinyhttp/encode-url/2.0.3: + resolution: {integrity: sha512-bAKjBLhYTZZgLphZ9B09Q8bQ39RejEiB1+3Rjjmkb/Q2cIKOWvRNTgkeQ3D6ITefxW9KMPE9eab51PPYhFbvbg==} + engines: {node: '>=12.4.0'} + dev: false + + /@tinyhttp/etag/2.0.2: + resolution: {integrity: sha512-utxkv5skxWJESUAKZk7F11DcgBiE4vBXiPfnWZcGNZDa6T372V2ESUD2Y7fV85bsC1/4ZrnnmS7lg9Nd401oLw==} + engines: {node: '>=12.4.0'} + dev: false + + /@tinyhttp/forwarded/2.0.2: + resolution: {integrity: sha512-q+l7xMyN7buYjUfWbepLM36lI7FZmv+sm0arqzFGrTVWfEbKLiHTv+5c7H3O8/aYcxuyR4cBUrmwT6jw4dZhFw==} + engines: {node: '>=12.4.0'} + dev: false + + /@tinyhttp/logger/1.3.0: + resolution: {integrity: sha512-u8vbW8OEPur3ZlkJGNO+Nl/xw78cdIaDAcWMUEg7o3UY9L5xezMQcLBPX8ykJLEB+Yl+BDmTvt1s1LzkwM6mNQ==} + engines: {node: '>=12.4.0'} + dependencies: + colorette: 1.4.0 + dayjs: 1.10.7 + http-status-emojis: 2.2.0 + dev: false + + /@tinyhttp/proxy-addr/2.0.2: + resolution: {integrity: sha512-wuXpzG9XsUQ2/YvCL5BSvp1JXc5HIuXlVJhMqdC0wv8iKF3hHv62H5XVd/wvzo/OWgiqt4hjxA4wITzND5Ed+g==} + engines: {node: '>=12.4.0'} + dependencies: + '@tinyhttp/forwarded': 2.0.2 + ipaddr.js: 2.0.1 + dev: false + + /@tinyhttp/req/2.0.10: + resolution: {integrity: sha512-Zsbtu6k+BowRiTbCVwePLWKPwK7k1KQfMRs08TwURIIiheRaXDw+PxuhLT0zBt9WVjGOstCxYRBRMUxZtqyyjw==} + engines: {node: '>=12.4.0'} + dependencies: + '@tinyhttp/accepts': 2.0.4 + '@tinyhttp/type-is': 2.0.3 + '@tinyhttp/url': 2.0.5 + es-fresh: 0.0.10 + header-range-parser: 1.1.1 + dev: false + + /@tinyhttp/res/2.0.11: + resolution: {integrity: sha512-NSrU3KfY2+OGFeIfQOtirnyC8v6d+cbzRg7+s1Nz6b4XATaUwsEy2MR43zXleZ6P275ZuoIpZs3FCJhndxkFxA==} + engines: {node: '>=12.4.0'} + dependencies: + '@tinyhttp/content-disposition': 2.0.4 + '@tinyhttp/cookie': 2.0.3 + '@tinyhttp/cookie-signature': 2.0.2 + '@tinyhttp/encode-url': 2.0.3 + '@tinyhttp/req': 2.0.10 + '@tinyhttp/send': 2.0.3 + es-escape-html: 0.1.1 + es-mime-types: 0.1.4 + es-vary: 0.1.1 + dev: false + + /@tinyhttp/router/2.0.4: + resolution: {integrity: sha512-mO8jWrB951UTkX8akzhHa5UMjQKleNhbQDnd4EZSA7VOXE9n28tqHmYgg1G/czDL6gwRl6Bppj5crJIbvMDGwg==} + engines: {node: '>=12.4.0'} + dev: false + + /@tinyhttp/send/2.0.3: + resolution: {integrity: sha512-oU4Q6NJzXJeOVCdYbgtOFlq5viEpKUFkZVpbF5AqFD64yzPp2vX9MuiSVvrIzL9Ls2qR+OzWsrwuXIkKzjW+xg==} + engines: {node: '>=12.4.0'} + dependencies: + '@tinyhttp/etag': 2.0.2 + es-content-type: 0.1.0 + es-mime-types: 0.1.4 + dev: false + + /@tinyhttp/type-is/2.0.3: + resolution: {integrity: sha512-vmOvbI7dSue4oV5JRbEpgJGgsfQE/Gd6eqEIhdeRO0jcVUzJaYx2/XvBGbBG9Mo8MGFjiEiq7qBzeOFctCmXBw==} + engines: {node: '>=12.4.0'} + dependencies: + es-content-type: 0.1.0 + es-mime-types: 0.1.4 + dev: false + + /@tinyhttp/url/2.0.5: + resolution: {integrity: sha512-NXQAaUa7p5pgd1oUF5VuzLyqVVoMqNvraUI8QkSL0TlRSfgOVLg5PQ2xbk0TYU03SGwHm8w1ZBl9lymeJCLphg==} + engines: {node: '>=12.4.0'} + dev: false + /@tootallnate/once/1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} @@ -1105,6 +1360,14 @@ packages: dependencies: '@types/connect': 3.4.35 '@types/node': 17.0.5 + + /@types/browser-sync/2.26.3: + resolution: {integrity: sha512-HIiI438D8q/DXFhdc2JELRMPtuHmR+0q+QNwP/mQoItHvPi7LK+bkZC7amKrSpnB2t4ct8BRd32LtOfd6TMNIw==} + dependencies: + '@types/micromatch': 2.3.31 + '@types/node': 17.0.5 + '@types/serve-static': 1.13.10 + chokidar: 3.5.2 dev: true /@types/compression/1.7.2: @@ -1117,7 +1380,6 @@ packages: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: '@types/node': 17.0.5 - dev: true /@types/eslint/8.2.1: resolution: {integrity: sha512-UP9rzNn/XyGwb5RQ2fok+DzcIRIYwc16qTXse5+Smsy8MOIccCChT15KAwnsgQx4PzJkaMq4myFyZ4CL5TjhIQ==} @@ -1136,7 +1398,6 @@ packages: '@types/node': 17.0.5 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 - dev: true /@types/express/4.17.13: resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} @@ -1145,7 +1406,6 @@ packages: '@types/express-serve-static-core': 4.17.27 '@types/qs': 6.9.7 '@types/serve-static': 1.13.10 - dev: true /@types/glob/7.2.0: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} @@ -1166,6 +1426,12 @@ packages: '@types/unist': 2.0.6 dev: true + /@types/iltorb/2.3.3: + resolution: {integrity: sha512-eoLs4ksW9wr0iV4lGbrUGvW7H1SgyI5yVcUKHUk7bqBRW+M1TlIZMvMNBpv2LFeo6j+1koTlHW24tffBXlo5Zg==} + dependencies: + '@types/node': 17.0.5 + dev: false + /@types/inquirer/7.3.3: resolution: {integrity: sha512-HhxyLejTHMfohAuhRun4csWigAMjXTmRyiJTU1Y/I1xmggikFMkOUoMQRlFm+zQcPEGHSs3io/0FAmNZf8EymQ==} dependencies: @@ -1229,9 +1495,14 @@ packages: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} dev: true + /@types/micromatch/2.3.31: + resolution: {integrity: sha512-17WSoNz/GKLSfcomM8cMoJJQG2cDKvsoDFTtbwjEMxcizGb0HT6EBRi8qR7NW+XSaVdxHzq/WV/TUOm5f/ksag==} + dependencies: + '@types/parse-glob': 3.0.29 + dev: true + /@types/mime/1.3.2: resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} - dev: true /@types/minimatch/3.0.5: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} @@ -1247,10 +1518,20 @@ packages: /@types/node/17.0.5: resolution: {integrity: sha512-w3mrvNXLeDYV1GKTZorGJQivK6XLCoGwpnyJFbJVK/aTBQUxOCaa/GlFAAN3OTDFcb7h5tiFG+YXCO2By+riZw==} + /@types/nodemon/1.19.1: + resolution: {integrity: sha512-3teAFqCFba3W9zk4dAGUZ+rW/nrQBrSGXWyK9HfJuWxmITk2z2d3u/5cy7oFqNG2fZxPwSAWkP+a8q/QC6UU5Q==} + dependencies: + '@types/node': 17.0.5 + dev: true + /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true + /@types/parse-glob/3.0.29: + resolution: {integrity: sha1-akDsfr0kGO5p7jl+SOQhaSaKEL8=} + dev: true + /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true @@ -1264,11 +1545,9 @@ packages: /@types/qs/6.9.7: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - dev: true /@types/range-parser/1.2.4: resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - dev: true /@types/react-dom/17.0.11: resolution: {integrity: sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==} @@ -1297,7 +1576,6 @@ packages: dependencies: '@types/mime': 1.3.2 '@types/node': 17.0.5 - dev: true /@types/stack-utils/2.0.1: resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} @@ -1512,6 +1790,10 @@ packages: hasBin: true dev: true + /after/0.8.2: + resolution: {integrity: sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=} + dev: true + /agent-base/6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -1728,6 +2010,10 @@ packages: es-abstract: 1.19.1 dev: true + /arraybuffer.slice/0.0.7: + resolution: {integrity: sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==} + dev: true + /arrify/2.0.1: resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} engines: {node: '>=8'} @@ -1742,6 +2028,15 @@ packages: resolution: {integrity: sha1-9wtzXGvKGlycItmCw+Oef+ujva0=} dev: true + /async-each-series/0.1.1: + resolution: {integrity: sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=} + engines: {node: '>=0.8.0'} + dev: true + + /async/1.5.2: + resolution: {integrity: sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=} + dev: true + /asynckit/0.4.0: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} dev: true @@ -1773,6 +2068,22 @@ packages: engines: {node: '>=4'} dev: true + /axios/0.21.4: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + dependencies: + follow-redirects: 1.14.6 + transitivePeerDependencies: + - debug + dev: true + + /axios/0.21.4_debug@4.3.2: + resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} + dependencies: + follow-redirects: 1.14.6_debug@4.3.2 + transitivePeerDependencies: + - debug + dev: true + /axobject-query/2.2.0: resolution: {integrity: sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==} dev: true @@ -1904,6 +2215,10 @@ packages: babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.5 dev: true + /backo2/1.0.2: + resolution: {integrity: sha1-MasayLEpNjRj41s+u2n038+6eUc=} + dev: true + /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true @@ -1921,10 +2236,24 @@ packages: pascalcase: 0.1.1 dev: true + /base64-arraybuffer/0.1.4: + resolution: {integrity: sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=} + engines: {node: '>= 0.6.0'} + dev: true + /base64-js/1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true + /base64id/2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} + dev: true + + /batch/0.6.1: + resolution: {integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=} + dev: true + /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -1946,6 +2275,10 @@ packages: readable-stream: 3.6.0 dev: true + /blob/0.0.5: + resolution: {integrity: sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==} + dev: true + /body-parser/1.19.1: resolution: {integrity: sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==} engines: {node: '>= 0.8'} @@ -2036,6 +2369,72 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true + /browser-sync-client/2.27.7: + resolution: {integrity: sha512-wKg9UP9a4sCIkBBAXUdbkdWFJzfSAQizGh+nC19W9y9zOo9s5jqeYRFUUbs7x5WKhjtspT+xetVp9AtBJ6BmWg==} + engines: {node: '>=8.0.0'} + dependencies: + etag: 1.8.1 + fresh: 0.5.2 + mitt: 1.2.0 + rxjs: 5.5.12 + dev: true + + /browser-sync-ui/2.27.7: + resolution: {integrity: sha512-Bt4OQpx9p18OIzk0KKyu7jqlvmjacasUlk8ARY3uuIyiFWSBiRgr2i6XY8dEMF14DtbooaEBOpHEu9VCYvMcCw==} + dependencies: + async-each-series: 0.1.1 + connect-history-api-fallback: 1.6.0 + immutable: 3.8.2 + server-destroy: 1.0.1 + socket.io-client: 2.4.0 + stream-throttle: 0.1.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /browser-sync/2.27.7: + resolution: {integrity: sha512-9ElnnA/u+s2Jd+IgY+2SImB+sAEIteHsMG0NR96m7Ph/wztpvJCUpyC2on1KqmG9iAp941j+5jfmd34tEguGbg==} + engines: {node: '>= 8.0.0'} + hasBin: true + dependencies: + browser-sync-client: 2.27.7 + browser-sync-ui: 2.27.7 + bs-recipes: 1.3.4 + bs-snippet-injector: 2.0.1 + chokidar: 3.5.2 + connect: 3.6.6 + connect-history-api-fallback: 1.6.0 + dev-ip: 1.0.1 + easy-extender: 2.3.4 + eazy-logger: 3.1.0 + etag: 1.8.1 + fresh: 0.5.2 + fs-extra: 3.0.1 + http-proxy: 1.18.1 + immutable: 3.8.2 + localtunnel: 2.0.2 + micromatch: 4.0.4 + opn: 5.3.0 + portscanner: 2.1.1 + qs: 6.2.3 + raw-body: 2.4.2 + resp-modifier: 6.0.2 + rx: 4.1.0 + send: 0.16.2 + serve-index: 1.9.1 + serve-static: 1.13.2 + server-destroy: 1.0.1 + socket.io: 2.4.0 + ua-parser-js: 1.0.2 + yargs: 15.4.1 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: true + /browserslist/4.19.1: resolution: {integrity: sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -2048,6 +2447,14 @@ packages: picocolors: 1.0.0 dev: true + /bs-recipes/1.3.4: + resolution: {integrity: sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=} + dev: true + + /bs-snippet-injector/2.0.1: + resolution: {integrity: sha1-YbU5PxH1JVntEgaTEANDtu2wTdU=} + dev: true + /bser/2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: @@ -2103,7 +2510,6 @@ packages: /bytes/3.1.1: resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} engines: {node: '>= 0.8'} - dev: false /c8/7.10.0: resolution: {integrity: sha512-OAwfC5+emvA6R7pkYFVBTOtI5ruf9DahffGmIqUc9l6wEh0h7iAFP6dt/V9Ioqlr2zW5avX9U9/w1I4alTRHkA==} @@ -2333,6 +2739,17 @@ packages: engines: {node: '>=6'} dev: true + /cli-color/2.0.1: + resolution: {integrity: sha512-eBbxZF6fqPUNnf7CLAFOersUnyYzv83tHFLSlts+OAHsNendaqv2tHCq+/MO+b3Y+9JeoUlIvobyxG/Z8GNeOg==} + engines: {node: '>=0.10'} + dependencies: + d: 1.0.1 + es5-ext: 0.10.53 + es6-iterator: 2.0.3 + memoizee: 0.4.15 + timers-ext: 0.1.7 + dev: false + /cli-cursor/3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -2365,6 +2782,14 @@ packages: wrap-ansi: 5.1.0 dev: true + /cliui/6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + /cliui/7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: @@ -2427,6 +2852,10 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true + /colorette/1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + dev: false + /combined-stream/1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -2447,6 +2876,11 @@ packages: engines: {node: '>= 6'} dev: true + /commander/7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: false + /comment-json/2.4.2: resolution: {integrity: sha512-T+iXox779qsqneMYx/x5BZyz4xjCeQRmuNVzz8tko7qZUs3MlzpA3RAs+O1XsgcKToNBMIvfVzafGOeiU7RggA==} engines: {node: '>= 6'} @@ -2457,16 +2891,27 @@ packages: repeat-string: 1.6.1 dev: true + /component-bind/1.0.0: + resolution: {integrity: sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=} + dev: true + + /component-emitter/1.2.1: + resolution: {integrity: sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=} + dev: true + /component-emitter/1.3.0: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} dev: true + /component-inherit/0.0.3: + resolution: {integrity: sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=} + dev: true + /compressible/2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.51.0 - dev: true /compression/1.7.4: resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} @@ -2509,6 +2954,21 @@ packages: xdg-basedir: 4.0.0 dev: true + /connect-history-api-fallback/1.6.0: + resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==} + engines: {node: '>=0.8'} + dev: true + + /connect/3.6.6: + resolution: {integrity: sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=} + engines: {node: '>= 0.10.0'} + dependencies: + debug: 2.6.9 + finalhandler: 1.1.0 + parseurl: 1.3.3 + utils-merge: 1.0.1 + dev: true + /content-disposition/0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -2534,7 +2994,6 @@ packages: /cookie/0.4.1: resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==} engines: {node: '>= 0.6'} - dev: false /copy-descriptor/0.1.1: resolution: {integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=} @@ -2548,7 +3007,6 @@ packages: /core-util-is/1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true /cosmiconfig/7.0.1: resolution: {integrity: sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==} @@ -2655,6 +3113,13 @@ packages: /csstype/3.0.10: resolution: {integrity: sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==} + /d/1.0.1: + resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} + dependencies: + es5-ext: 0.10.53 + type: 1.2.0 + dev: false + /damerau-levenshtein/1.0.7: resolution: {integrity: sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==} dev: true @@ -2668,17 +3133,46 @@ packages: whatwg-url: 8.7.0 dev: true + /dayjs/1.10.7: + resolution: {integrity: sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==} + dev: false + /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} dependencies: ms: 2.0.0 + /debug/3.1.0: + resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + dependencies: + ms: 2.0.0 + dev: true + /debug/3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} dependencies: ms: 2.1.3 dev: true + /debug/4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + dependencies: + ms: 2.1.3 + dev: true + + /debug/4.3.2: + resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + /debug/4.3.3: resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} @@ -2689,7 +3183,6 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: true /decamelize/1.2.0: resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} @@ -2740,6 +3233,11 @@ packages: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: true + /define-lazy-prop/2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: false + /define-properties/1.1.3: resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} engines: {node: '>= 0.4'} @@ -2781,11 +3279,9 @@ packages: /depd/1.1.2: resolution: {integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=} engines: {node: '>= 0.6'} - dev: false /destroy/1.0.4: resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} - dev: false /detect-indent/6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} @@ -2811,6 +3307,12 @@ packages: minimist: 1.2.5 dev: true + /dev-ip/1.0.1: + resolution: {integrity: sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=} + engines: {node: '>= 0.8.0'} + hasBin: true + dev: true + /didyoumean/1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} dev: true @@ -2933,10 +3435,30 @@ packages: engines: {node: '>=4.6.0'} dev: true + /duplexer2/0.1.4: + resolution: {integrity: sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=} + dependencies: + readable-stream: 2.3.7 + dev: false + /duplexer3/0.1.4: resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} dev: true + /easy-extender/2.3.4: + resolution: {integrity: sha512-8cAwm6md1YTiPpOvDULYJL4ZS6WfM5/cTeVVh4JsvyYZAoqlRVUpHL9Gr5Fy7HA6xcSZicUia3DeAgO3Us8E+Q==} + engines: {node: '>= 4.0.0'} + dependencies: + lodash: 4.17.21 + dev: true + + /eazy-logger/3.1.0: + resolution: {integrity: sha512-/snsn2JqBtUSSstEl4R0RKjkisGHAhvYj89i7r3ytNUKW12y178KDZwXLXIgwDqLW6E/VRMT9qfld7wvFae8bQ==} + engines: {node: '>= 0.8.0'} + dependencies: + tfunk: 4.0.0 + dev: true + /editorconfig/0.15.3: resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==} hasBin: true @@ -2949,7 +3471,6 @@ packages: /ee-first/1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} - dev: false /electron-to-chromium/1.4.28: resolution: {integrity: sha512-Gzbf0wUtKfyPaqf0Plz+Ctinf9eQIzxEqBHwSvbGfeOm9GMNdLxyu1dNiCUfM+x6r4BE0xUJNh3Nmg9gfAtTmg==} @@ -2975,7 +3496,6 @@ packages: /encodeurl/1.0.2: resolution: {integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=} engines: {node: '>= 0.8'} - dev: false /end-of-stream/1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -2983,6 +3503,50 @@ packages: once: 1.4.0 dev: true + /engine.io-client/3.5.2: + resolution: {integrity: sha512-QEqIp+gJ/kMHeUun7f5Vv3bteRHppHH/FMBQX/esFj/fuYfjyUKWGMo3VCvIP/V8bE9KcjHmRZrhIz2Z9oNsDA==} + dependencies: + component-emitter: 1.3.0 + component-inherit: 0.0.3 + debug: 3.1.0 + engine.io-parser: 2.2.1 + has-cors: 1.1.0 + indexof: 0.0.1 + parseqs: 0.0.6 + parseuri: 0.0.6 + ws: 7.4.6 + xmlhttprequest-ssl: 1.6.3 + yeast: 0.1.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /engine.io-parser/2.2.1: + resolution: {integrity: sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==} + dependencies: + after: 0.8.2 + arraybuffer.slice: 0.0.7 + base64-arraybuffer: 0.1.4 + blob: 0.0.5 + has-binary2: 1.0.3 + dev: true + + /engine.io/3.5.0: + resolution: {integrity: sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==} + engines: {node: '>=8.0.0'} + dependencies: + accepts: 1.3.7 + base64id: 2.0.0 + cookie: 0.4.1 + debug: 4.1.1 + engine.io-parser: 2.2.1 + ws: 7.4.6 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /enquirer/2.3.6: resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} engines: {node: '>=8.6'} @@ -3030,6 +3594,28 @@ packages: unbox-primitive: 1.0.1 dev: true + /es-content-type/0.1.0: + resolution: {integrity: sha512-DqWU9pSzhNlO10q+NQ/KebImLkKbwbcy0pSv3hNQfEpKFHsrqDJz2vajpZdq7nkiG9DoJcTh22oHGymp7XJd9g==} + engines: {node: '>=12.x'} + dev: false + + /es-escape-html/0.1.1: + resolution: {integrity: sha512-yUx1o+8RsG7UlszmYPtks+dm6Lho2m8lgHMOsLJQsFI0R8XwUJwiMhM1M4E/S8QLeGyf6MkDV/pWgjQ0tdTSyQ==} + engines: {node: '>=12.x'} + dev: false + + /es-fresh/0.0.10: + resolution: {integrity: sha512-/e5etUqtxj7JktALldpsDNC84DOHavN9PqojnTTGeX1M2/Q4/SF8d55d7AsB3n66WYS43hdBbn0sAllto5kSIg==} + engines: {node: '>=12.x'} + dev: false + + /es-mime-types/0.1.4: + resolution: {integrity: sha512-rUrmfrUIHU/4ykYB+YH80LDiSpmn6sE/A9E8EsFZP4LCtf/PH+ju6d6goFJ8fsGf81pRtQn1cJSmp8JGA9YkfQ==} + engines: {node: '>=12.x'} + dependencies: + mime-db: 1.51.0 + dev: false + /es-module-lexer/0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} dev: false @@ -3043,6 +3629,43 @@ packages: is-symbol: 1.0.4 dev: true + /es-vary/0.1.1: + resolution: {integrity: sha512-4UOWrTu8lz5otSyWxcS0LbYz8WyYOEiWHGkBIu0VfhTsY+vtc7+fOSDHsxtEUBeu7mDnTwqsKg5NEXeq5Da1Hg==} + engines: {node: '>=12.x'} + dev: false + + /es5-ext/0.10.53: + resolution: {integrity: sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==} + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + next-tick: 1.0.0 + dev: false + + /es6-iterator/2.0.3: + resolution: {integrity: sha1-p96IkUGgWpSwhUQDstCg+/qY87c=} + dependencies: + d: 1.0.1 + es5-ext: 0.10.53 + es6-symbol: 3.1.3 + dev: false + + /es6-symbol/3.1.3: + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + dependencies: + d: 1.0.1 + ext: 1.6.0 + dev: false + + /es6-weak-map/2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.53 + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + dev: false + /esbuild-android-arm64/0.14.10: resolution: {integrity: sha512-vzkTafHKoiMX4uIN1kBnE/HXYLpNT95EgGanVk6DHGeYgDolU0NBxjO7yZpq4ZGFPOx8384eAdDrBYhO11TAlQ==} cpu: [arm64] @@ -3254,7 +3877,6 @@ packages: /escape-html/1.0.3: resolution: {integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=} - dev: false /escape-string-regexp/1.0.5: resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} @@ -3602,8 +4224,18 @@ packages: /etag/1.8.1: resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} engines: {node: '>= 0.6'} + + /event-emitter/0.3.5: + resolution: {integrity: sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=} + dependencies: + d: 1.0.1 + es5-ext: 0.10.53 dev: false + /eventemitter3/4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + /exec-sh/0.3.6: resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} dev: true @@ -3730,6 +4362,12 @@ packages: vary: 1.1.2 dev: false + /ext/1.6.0: + resolution: {integrity: sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==} + dependencies: + type: 2.5.0 + dev: false + /extend-shallow/2.0.1: resolution: {integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=} engines: {node: '>=0.10.0'} @@ -3846,6 +4484,19 @@ packages: dependencies: to-regex-range: 5.0.1 + /finalhandler/1.1.0: + resolution: {integrity: sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.3.1 + unpipe: 1.0.0 + dev: true + /finalhandler/1.1.2: resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} engines: {node: '>= 0.8'} @@ -3908,6 +4559,28 @@ packages: tslib: 2.3.1 dev: false + /follow-redirects/1.14.6: + resolution: {integrity: sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + + /follow-redirects/1.14.6_debug@4.3.2: + resolution: {integrity: sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dependencies: + debug: 4.3.2 + dev: true + /for-in/1.0.2: resolution: {integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=} engines: {node: '>=0.10.0'} @@ -3958,7 +4631,6 @@ packages: /fresh/0.5.2: resolution: {integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=} engines: {node: '>= 0.6'} - dev: false /front-matter/4.0.2: resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} @@ -3971,6 +4643,14 @@ packages: engines: {node: '>=0.10.0'} dev: true + /fs-extra/3.0.1: + resolution: {integrity: sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=} + dependencies: + graceful-fs: 4.2.8 + jsonfile: 3.0.1 + universalify: 0.1.2 + dev: true + /fs-extra/8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} @@ -4246,6 +4926,16 @@ packages: resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} dev: true + /has-binary2/1.0.3: + resolution: {integrity: sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==} + dependencies: + isarray: 2.0.1 + dev: true + + /has-cors/1.1.0: + resolution: {integrity: sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=} + dev: true + /has-flag/3.0.0: resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} engines: {node: '>=4'} @@ -4341,6 +5031,11 @@ packages: space-separated-tokens: 1.1.5 dev: true + /header-range-parser/1.1.1: + resolution: {integrity: sha512-aVuAHdlgxPCMkOtKTdUoH72eAHEAqmZqA+oQxvDv1DkYS50KgCt218AYd89/+Pd7+TFQimzn/9LNVfUPEBbRDQ==} + engines: {node: '>=12.22.0'} + dev: false + /history/5.2.0: resolution: {integrity: sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==} dependencies: @@ -4382,6 +5077,16 @@ packages: resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} dev: true + /http-errors/1.6.3: + resolution: {integrity: sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + dev: true + /http-errors/1.8.1: resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} engines: {node: '>= 0.6'} @@ -4391,7 +5096,6 @@ packages: setprototypeof: 1.2.0 statuses: 1.5.0 toidentifier: 1.0.1 - dev: false /http-proxy-agent/4.0.1: resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} @@ -4404,6 +5108,21 @@ packages: - supports-color dev: true + /http-proxy/1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.14.6 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: true + + /http-status-emojis/2.2.0: + resolution: {integrity: sha512-ompKtgwpx8ff0hsbpIB7oE4ax1LXoHmftsHHStMELX56ivG3GhofTX8ZHWlUaFKfGjcGjw6G3rPk7dJRXMmbbg==} + dev: false + /https-proxy-agent/5.0.0: resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} engines: {node: '>= 6'} @@ -4448,6 +5167,11 @@ packages: engines: {node: '>= 4'} dev: true + /immutable/3.8.2: + resolution: {integrity: sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=} + engines: {node: '>=0.10.0'} + dev: true + /import-cwd/3.0.0: resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} engines: {node: '>=8'} @@ -4500,6 +5224,10 @@ packages: engines: {node: '>=8'} dev: true + /indexof/0.0.1: + resolution: {integrity: sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=} + dev: true + /inflight/1.0.6: resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} dependencies: @@ -4507,6 +5235,10 @@ packages: wrappy: 1.0.2 dev: true + /inherits/2.0.3: + resolution: {integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=} + dev: true + /inherits/2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4582,6 +5314,11 @@ packages: engines: {node: '>= 0.10'} dev: false + /ipaddr.js/2.0.1: + resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} + engines: {node: '>= 10'} + dev: false + /is-accessor-descriptor/0.1.6: resolution: {integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=} engines: {node: '>=0.10.0'} @@ -4716,6 +5453,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-docker/2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: false + /is-extendable/0.1.1: resolution: {integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=} engines: {node: '>=0.10.0'} @@ -4817,6 +5560,12 @@ packages: engines: {node: '>=10'} dev: true + /is-number-like/1.0.8: + resolution: {integrity: sha512-6rZi3ezCyFcn5L71ywzz2bS5b2Igl1En3eTlZlvKjpz1n3IZLAYMbKYAIQgFmEu0GENg92ziU/faEOA/aixjbA==} + dependencies: + lodash.isfinite: 3.3.2 + dev: true + /is-number-object/1.0.6: resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} engines: {node: '>= 0.4'} @@ -4868,6 +5617,10 @@ packages: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} dev: true + /is-promise/2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + dev: false + /is-redirect/1.0.0: resolution: {integrity: sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=} engines: {node: '>=0.10.0'} @@ -4944,12 +5697,27 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-wsl/1.1.0: + resolution: {integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=} + engines: {node: '>=4'} + dev: true + + /is-wsl/2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: false + /is-yarn-global/0.3.0: resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} dev: true /isarray/1.0.0: resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} + + /isarray/2.0.1: + resolution: {integrity: sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=} dev: true /isexe/2.0.0: @@ -5553,6 +6321,16 @@ packages: - utf-8-validate dev: true + /joi/17.5.0: + resolution: {integrity: sha512-R7hR50COp7StzLnDi4ywOXHrBrgNXuUUfJWIR5lPY5Bm/pOD3jZaTwpluUXVLRWcoWZxkrHBBJ5hLxgnlehbdw==} + dependencies: + '@hapi/hoek': 9.2.1 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.3 + '@sideway/formula': 3.0.0 + '@sideway/pinpoint': 2.0.0 + dev: true + /joycon/3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -5631,6 +6409,10 @@ packages: resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} dev: true + /json-parse-better-errors/1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true @@ -5658,6 +6440,12 @@ packages: minimist: 1.2.5 dev: true + /jsonfile/3.0.1: + resolution: {integrity: sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=} + optionalDependencies: + graceful-fs: 4.2.8 + dev: true + /jsonfile/4.0.0: resolution: {integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=} optionalDependencies: @@ -5779,6 +6567,10 @@ packages: engines: {node: '>=10'} dev: true + /limiter/1.1.5: + resolution: {integrity: sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==} + dev: true + /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true @@ -5794,6 +6586,29 @@ packages: engines: {node: '>= 0.4'} dev: true + /load-json-file/4.0.0: + resolution: {integrity: sha1-L19Fq5HjMhYjT9U62rZo607AmTs=} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.8 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /localtunnel/2.0.2: + resolution: {integrity: sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==} + engines: {node: '>=8.3.0'} + hasBin: true + dependencies: + axios: 0.21.4_debug@4.3.2 + debug: 4.3.2 + openurl: 1.1.1 + yargs: 17.1.1 + transitivePeerDependencies: + - supports-color + dev: true + /locate-path/2.0.0: resolution: {integrity: sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=} engines: {node: '>=4'} @@ -5832,6 +6647,10 @@ packages: resolution: {integrity: sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=} dev: true + /lodash.isfinite/3.3.2: + resolution: {integrity: sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=} + dev: true + /lodash.isplainobject/4.0.6: resolution: {integrity: sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=} dev: true @@ -5897,7 +6716,12 @@ packages: engines: {node: '>=10'} dependencies: yallist: 4.0.0 - dev: true + + /lru-queue/0.1.0: + resolution: {integrity: sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=} + dependencies: + es5-ext: 0.10.53 + dev: false /make-dir/1.3.0: resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} @@ -5949,6 +6773,13 @@ packages: uc.micro: 1.0.6 dev: true + /matchit/1.1.0: + resolution: {integrity: sha512-+nGYoOlfHmxe5BW5tE0EMJppXEwdSf8uBA1GTZC7Q77kbT35+VKLYJMzVNWCHSsga1ps1tPYFtFyvxvKzWVmMA==} + engines: {node: '>=6'} + dependencies: + '@arr/every': 1.0.1 + dev: true + /mdurl/1.0.1: resolution: {integrity: sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=} dev: true @@ -5958,6 +6789,24 @@ packages: engines: {node: '>= 0.6'} dev: false + /memoizee/0.4.15: + resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.53 + es6-weak-map: 2.0.3 + event-emitter: 0.3.5 + is-promise: 2.2.2 + lru-queue: 0.1.0 + next-tick: 1.1.0 + timers-ext: 0.1.7 + dev: false + + /memorystream/0.3.1: + resolution: {integrity: sha1-htcJCzDORV1j+64S3aUaR93K+bI=} + engines: {node: '>= 0.10.0'} + dev: true + /merge-descriptors/1.0.1: resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=} dev: false @@ -6017,6 +6866,11 @@ packages: dependencies: mime-db: 1.51.0 + /mime/1.4.1: + resolution: {integrity: sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==} + hasBin: true + dev: true + /mime/1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} @@ -6051,6 +6905,9 @@ packages: /minimist/1.2.5: resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} + + /mitt/1.2.0: + resolution: {integrity: sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==} dev: true /mixin-deep/1.3.2: @@ -6111,12 +6968,16 @@ packages: which: 2.0.2 dev: true + /mrmime/1.0.0: + resolution: {integrity: sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==} + engines: {node: '>=10'} + dev: false + /ms/2.0.0: resolution: {integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=} /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true /ms/2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -6125,6 +6986,13 @@ packages: resolution: {integrity: sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==} dev: true + /multipipe/4.0.0: + resolution: {integrity: sha512-jzcEAzFXoWwWwUbvHCNPwBlTz3WCWe/jPcXSmTfbo/VjRwRTfvLZ/bdvtiTdqCe8d4otCSsPCbhGYcX+eggpKQ==} + dependencies: + duplexer2: 0.1.4 + object-assign: 4.1.1 + dev: false + /mute-stream/0.0.8: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true @@ -6171,6 +7039,14 @@ packages: resolution: {integrity: sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==} dev: true + /next-tick/1.0.0: + resolution: {integrity: sha1-yobR/ogoFpsBICCOPchCS524NCw=} + dev: false + + /next-tick/1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + dev: false + /nice-try/1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} dev: true @@ -6255,6 +7131,22 @@ packages: validate-npm-package-name: 3.0.0 dev: true + /npm-run-all/4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + dependencies: + ansi-styles: 3.2.1 + chalk: 2.4.2 + cross-spawn: 6.0.5 + memorystream: 0.3.1 + minimatch: 3.0.4 + pidtree: 0.3.1 + read-pkg: 3.0.0 + shell-quote: 1.7.3 + string.prototype.padend: 3.1.3 + dev: true + /npm-run-path/2.0.2: resolution: {integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=} engines: {node: '>=4'} @@ -6370,12 +7262,10 @@ packages: engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 - dev: false /on-headers/1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} - dev: true /once/1.4.0: resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} @@ -6397,6 +7287,26 @@ packages: mimic-fn: 4.0.0 dev: true + /open/8.4.0: + resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: false + + /openurl/1.1.1: + resolution: {integrity: sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=} + dev: true + + /opn/5.3.0: + resolution: {integrity: sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==} + engines: {node: '>=4'} + dependencies: + is-wsl: 1.1.0 + dev: true + /optionator/0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} @@ -6630,6 +7540,14 @@ packages: hasBin: true dev: true + /parse-json/4.0.0: + resolution: {integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + /parse-json/5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -6654,10 +7572,17 @@ packages: resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} dev: true + /parseqs/0.0.6: + resolution: {integrity: sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==} + dev: true + + /parseuri/0.0.6: + resolution: {integrity: sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==} + dev: true + /parseurl/1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} - dev: false /pascalcase/0.1.1: resolution: {integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=} @@ -6730,6 +7655,12 @@ packages: resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} engines: {node: '>=8.6'} + /pidtree/0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + /pify/3.0.0: resolution: {integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=} engines: {node: '>=4'} @@ -6764,6 +7695,21 @@ packages: engines: {node: '>=4'} dev: true + /polka/0.5.2: + resolution: {integrity: sha512-FVg3vDmCqP80tOrs+OeNlgXYmFppTXdjD5E7I4ET1NjvtNmQrb1/mJibybKkb/d4NA7YWAr1ojxuhpL3FHqdlw==} + dependencies: + '@polka/url': 0.5.0 + trouter: 2.0.1 + dev: true + + /portscanner/2.1.1: + resolution: {integrity: sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=} + engines: {node: '>=0.4', npm: '>=1.0.0'} + dependencies: + async: 1.5.2 + is-number-like: 1.0.8 + dev: true + /posix-character-classes/0.1.1: resolution: {integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=} engines: {node: '>=0.10.0'} @@ -6869,6 +7815,10 @@ packages: resolution: {integrity: sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg==} dev: true + /process-nextick-args/2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: false + /progress/2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -6947,11 +7897,20 @@ packages: escape-goat: 2.1.1 dev: true + /qs/6.2.3: + resolution: {integrity: sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=} + engines: {node: '>=0.6'} + dev: true + /qs/6.9.6: resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} engines: {node: '>=0.6'} dev: false + /querystringify/2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: false + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -6963,7 +7922,6 @@ packages: /range-parser/1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} - dev: false /raw-body/2.4.2: resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} @@ -6973,7 +7931,6 @@ packages: http-errors: 1.8.1 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: false /rc/1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} @@ -7175,6 +8132,15 @@ packages: type-fest: 0.8.1 dev: true + /read-pkg/3.0.0: + resolution: {integrity: sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=} + engines: {node: '>=4'} + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + dev: true + /read-pkg/5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} @@ -7185,6 +8151,18 @@ packages: type-fest: 0.6.0 dev: true + /readable-stream/2.3.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: false + /readable-stream/3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} @@ -7239,6 +8217,11 @@ packages: define-properties: 1.1.3 dev: true + /regexparam/2.0.0: + resolution: {integrity: sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow==} + engines: {node: '>=8'} + dev: false + /regexpp/3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -7272,6 +8255,24 @@ packages: rc: 1.2.8 dev: true + /reload/3.2.0: + resolution: {integrity: sha512-30iJoDvFHGbfq6tT3Vag/4RV3wkpuCOqPSM3GyeuOSSo48wKfZT/iI19oeO0GCVX0XSr+44XJ6yBiRJWqOq+sw==} + hasBin: true + dependencies: + cli-color: 2.0.1 + commander: 7.2.0 + finalhandler: 1.1.2 + minimist: 1.2.5 + open: 8.4.0 + serve-static: 1.14.2 + supervisor: 0.12.0 + url-parse: 1.5.4 + ws: 7.4.6 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + /remote-origin-url/1.0.0: resolution: {integrity: sha512-xHDM6IBqivpiQ1e4WOuFpM/T6rbzA/WBsu+3WLtgPOhHyjA0nYlijV3NprlTb4FcXlQ5+Q+z174sQ1NnUF5FwA==} engines: {node: '>= 0.8.0'} @@ -7302,6 +8303,9 @@ packages: resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true + /requires-port/1.0.0: + resolution: {integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=} + /resolve-cwd/3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -7343,6 +8347,14 @@ packages: path-parse: 1.0.7 dev: true + /resp-modifier/6.0.2: + resolution: {integrity: sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + minimatch: 3.0.4 + dev: true + /responselike/1.0.2: resolution: {integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=} dependencies: @@ -7411,6 +8423,17 @@ packages: dependencies: queue-microtask: 1.2.3 + /rx/4.1.0: + resolution: {integrity: sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=} + dev: true + + /rxjs/5.5.12: + resolution: {integrity: sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==} + engines: {npm: '>=2.0.0'} + dependencies: + symbol-observable: 1.0.1 + dev: true + /rxjs/6.6.7: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} @@ -7425,7 +8448,6 @@ packages: /safe-buffer/5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -7527,6 +8549,25 @@ packages: lru-cache: 6.0.0 dev: true + /send/0.16.2: + resolution: {integrity: sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 1.1.2 + destroy: 1.0.4 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 1.6.3 + mime: 1.4.1 + ms: 2.0.0 + on-finished: 2.3.0 + range-parser: 1.2.1 + statuses: 1.4.0 + dev: true + /send/0.17.2: resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} engines: {node: '>= 0.8.0'} @@ -7546,6 +8587,29 @@ packages: statuses: 1.5.0 dev: false + /serve-index/1.9.1: + resolution: {integrity: sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.7 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.34 + parseurl: 1.3.3 + dev: true + + /serve-static/1.13.2: + resolution: {integrity: sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.16.2 + dev: true + /serve-static/1.14.2: resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} engines: {node: '>= 0.8.0'} @@ -7556,6 +8620,10 @@ packages: send: 0.17.2 dev: false + /server-destroy/1.0.1: + resolution: {integrity: sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=} + dev: true + /set-blocking/2.0.0: resolution: {integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc=} dev: true @@ -7570,9 +8638,12 @@ packages: split-string: 3.1.0 dev: true + /setprototypeof/1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: true + /setprototypeof/1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false /shebang-command/1.2.0: resolution: {integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=} @@ -7598,6 +8669,33 @@ packages: engines: {node: '>=8'} dev: true + /shell-quote/1.7.3: + resolution: {integrity: sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==} + dev: true + + /shrink-ray-current/4.1.3: + resolution: {integrity: sha512-1E2j/pslLwNrbDvWEUGRBKG56LmzRzrlBDjk1xWjfOuyS88s1riZ6oP7mHIf0p4riyk9QVzn6RTXAKBvJzGOzw==} + engines: {node: '>=8.0'} + peerDependencies: + iltorb: ^2.0.0 + node-zopfli-es: ^1.0.3 + dependencies: + '@types/express': 4.17.13 + '@types/iltorb': 2.3.3 + '@types/node': 17.0.5 + accepts: 1.3.7 + bytes: 3.1.1 + compressible: 2.0.18 + debug: 4.3.3 + lru-cache: 6.0.0 + multipipe: 4.0.0 + on-headers: 1.0.2 + stream-buffers: 3.0.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: false + /side-channel/1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -7614,6 +8712,15 @@ packages: resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} dev: true + /sirv/2.0.0: + resolution: {integrity: sha512-TT+4+zSM9LR8soWT5/4gOYHfB5a5XEOSV2LtmBRN5MUxi8kh7BSRGuoRYjeBaqhR4w+yx+k6t0OibDNgoLfF7w==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.21 + mrmime: 1.0.0 + totalist: 2.0.0 + dev: false + /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true @@ -7665,6 +8772,59 @@ packages: use: 3.1.1 dev: true + /socket.io-adapter/1.1.2: + resolution: {integrity: sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==} + dev: true + + /socket.io-client/2.4.0: + resolution: {integrity: sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==} + dependencies: + backo2: 1.0.2 + component-bind: 1.0.0 + component-emitter: 1.3.0 + debug: 3.1.0 + engine.io-client: 3.5.2 + has-binary2: 1.0.3 + indexof: 0.0.1 + parseqs: 0.0.6 + parseuri: 0.0.6 + socket.io-parser: 3.3.2 + to-array: 0.1.4 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /socket.io-parser/3.3.2: + resolution: {integrity: sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==} + dependencies: + component-emitter: 1.3.0 + debug: 3.1.0 + isarray: 2.0.1 + dev: true + + /socket.io-parser/3.4.1: + resolution: {integrity: sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==} + dependencies: + component-emitter: 1.2.1 + debug: 4.1.1 + isarray: 2.0.1 + dev: true + + /socket.io/2.4.0: + resolution: {integrity: sha512-9UPJ1UTvKayuQfVv2IQ3k7tCQC/fboDyIK62i99dAQIyHKaBsNdTpwHLgKJ6guRWxRtC9H+138UwpaGuQO9uWQ==} + dependencies: + debug: 4.1.1 + engine.io: 3.5.0 + has-binary2: 1.0.3 + socket.io-adapter: 1.1.2 + socket.io-client: 2.4.0 + socket.io-parser: 3.4.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + /source-map-js/1.0.1: resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} engines: {node: '>=0.10.0'} @@ -7762,11 +8922,34 @@ packages: object-copy: 0.1.0 dev: true + /statuses/1.3.1: + resolution: {integrity: sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=} + engines: {node: '>= 0.6'} + dev: true + + /statuses/1.4.0: + resolution: {integrity: sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==} + engines: {node: '>= 0.6'} + dev: true + /statuses/1.5.0: resolution: {integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=} engines: {node: '>= 0.6'} + + /stream-buffers/3.0.2: + resolution: {integrity: sha512-DQi1h8VEBA/lURbSwFtEHnSTb9s2/pwLEaFuNhXwy1Dx3Sa0lOuYT2yNUr4/j2fs8oCAMANtrZ5OrPZtyVs3MQ==} + engines: {node: '>= 0.10.0'} dev: false + /stream-throttle/0.1.3: + resolution: {integrity: sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=} + engines: {node: '>= 0.10.0'} + hasBin: true + dependencies: + commander: 2.20.3 + limiter: 1.1.5 + dev: true + /string-length/4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} @@ -7814,6 +8997,15 @@ packages: side-channel: 1.0.4 dev: true + /string.prototype.padend/3.1.3: + resolution: {integrity: sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + es-abstract: 1.19.1 + dev: true + /string.prototype.trimend/1.0.4: resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} dependencies: @@ -7828,6 +9020,12 @@ packages: define-properties: 1.1.3 dev: true + /string_decoder/1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: false + /string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: @@ -7929,6 +9127,12 @@ packages: ts-interface-checker: 0.1.13 dev: true + /supervisor/0.12.0: + resolution: {integrity: sha1-3n5jNwFbKRhRwQ81OMSn8EkX7ME=} + engines: {node: '>=0.6.0'} + hasBin: true + dev: false + /supports-color/2.0.0: resolution: {integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=} engines: {node: '>=0.8.0'} @@ -7963,6 +9167,11 @@ packages: supports-color: 7.2.0 dev: true + /symbol-observable/1.0.1: + resolution: {integrity: sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=} + engines: {node: '>=0.10.0'} + dev: true + /symbol-tree/3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} dev: true @@ -8035,6 +9244,13 @@ packages: resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: true + /tfunk/4.0.0: + resolution: {integrity: sha512-eJQ0dGfDIzWNiFNYFVjJ+Ezl/GmwHaFTBTjrtqNPW0S7cuVDBrZrmzUz6VkMeCR4DZFqhd4YtLwsw3i2wYHswQ==} + dependencies: + chalk: 1.1.3 + dlv: 1.1.3 + dev: true + /thenify-all/1.6.0: resolution: {integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=} engines: {node: '>=0.8'} @@ -8061,6 +9277,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /timers-ext/0.1.7: + resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + dependencies: + es5-ext: 0.10.53 + next-tick: 1.1.0 + dev: false + /tiny-warning/1.0.3: resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} dev: false @@ -8083,6 +9306,10 @@ packages: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true + /to-array/0.1.4: + resolution: {integrity: sha1-F+bBH3PdTz10zaek/zI46a2b+JA=} + dev: true + /to-fast-properties/2.0.0: resolution: {integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=} engines: {node: '>=4'} @@ -8127,6 +9354,10 @@ packages: /toidentifier/1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} + + /totalist/2.0.0: + resolution: {integrity: sha512-+Y17F0YzxfACxTyjfhnJQEe7afPA0GSpYlFkl2VFMxYP7jshQf9gXV7cH47EfToBumFThfKBvfAcoUn6fdNeRQ==} + engines: {node: '>=6'} dev: false /touch/3.1.0: @@ -8161,6 +9392,13 @@ packages: hasBin: true dev: true + /trouter/2.0.1: + resolution: {integrity: sha512-kr8SKKw94OI+xTGOkfsvwZQ8mWoikZDd2n8XZHjJVZUARZT+4/VV6cacRS6CLsH9bNm+HFIPU1Zx4CnNnb4qlQ==} + engines: {node: '>=6'} + dependencies: + matchit: 1.1.0 + dev: true + /ts-interface-checker/0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true @@ -8275,6 +9513,14 @@ packages: mime-types: 2.1.34 dev: false + /type/1.2.0: + resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} + dev: false + + /type/2.5.0: + resolution: {integrity: sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==} + dev: false + /typedarray-to-buffer/3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} dependencies: @@ -8287,6 +9533,10 @@ packages: hasBin: true dev: true + /ua-parser-js/1.0.2: + resolution: {integrity: sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==} + dev: true + /uc.micro/1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true @@ -8367,7 +9617,6 @@ packages: /unpipe/1.0.0: resolution: {integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=} engines: {node: '>= 0.8'} - dev: false /unset-value/1.0.0: resolution: {integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=} @@ -8462,6 +9711,13 @@ packages: prepend-http: 2.0.0 dev: true + /url-parse/1.5.4: + resolution: {integrity: sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: false + /use-callback-ref/1.2.5_2fa291bfae6e56080648438396754a97: resolution: {integrity: sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg==} engines: {node: '>=8.5.0'} @@ -8508,12 +9764,10 @@ packages: /util-deprecate/1.0.2: resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} - dev: true /utils-merge/1.0.1: resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=} engines: {node: '>= 0.4.0'} - dev: false /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} @@ -8615,6 +9869,20 @@ packages: xml-name-validator: 3.0.0 dev: true + /wait-on/6.0.0: + resolution: {integrity: sha512-tnUJr9p5r+bEYXPUdRseolmz5XqJTTj98JgOsfBn7Oz2dxfE2g3zw1jE+Mo8lopM3j3et/Mq1yW7kKX6qw7RVw==} + engines: {node: '>=10.0.0'} + hasBin: true + dependencies: + axios: 0.21.4 + joi: 17.5.0 + lodash: 4.17.21 + minimist: 1.2.5 + rxjs: 7.5.1 + transitivePeerDependencies: + - debug + dev: true + /walker/1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -8730,6 +9998,15 @@ packages: strip-ansi: 5.2.0 dev: true + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + /wrap-ansi/7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -8760,6 +10037,18 @@ packages: typedarray-to-buffer: 3.1.5 dev: true + /ws/7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + /ws/7.5.6: resolution: {integrity: sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==} engines: {node: '>=8.3.0'} @@ -8804,6 +10093,11 @@ packages: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true + /xmlhttprequest-ssl/1.6.3: + resolution: {integrity: sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==} + engines: {node: '>=0.4.0'} + dev: true + /xtend/4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -8824,7 +10118,6 @@ packages: /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true /yaml/1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} @@ -8843,6 +10136,14 @@ packages: decamelize: 1.2.0 dev: true + /yargs-parser/18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -8864,6 +10165,23 @@ packages: yargs-parser: 15.0.3 dev: true + /yargs/15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + /yargs/16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} @@ -8877,6 +10195,23 @@ packages: yargs-parser: 20.2.9 dev: true + /yargs/17.1.1: + resolution: {integrity: sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==} + engines: {node: '>=12'} + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + dev: true + + /yeast/0.1.2: + resolution: {integrity: sha1-AI4G2AlDIMNy28L47XagymyKxBk=} + dev: true + /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'}