diff --git a/.all-contributorsrc b/.all-contributorsrc index 71814f728c6..9634702982f 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -254,6 +254,15 @@ "contributions": [ "doc" ] + }, + { + "login": "Harish-b-03", + "name": "Harish", + "avatar_url": "https://avatars.githubusercontent.com/u/69810789?v=4", + "profile": "https://github.com/Harish-b-03", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, diff --git a/.github/workflows/automerge-orphans.yml b/.github/workflows/automerge-orphans.yml index 5e2ff6ed77b..20322ecb706 100644 --- a/.github/workflows/automerge-orphans.yml +++ b/.github/workflows/automerge-orphans.yml @@ -9,6 +9,7 @@ on: jobs: identify-orphans: + if: startsWith(github.repository, 'asyncapi/') name: Find orphans and notify runs-on: ubuntu-latest steps: diff --git a/.github/workflows/autoupdate.yml b/.github/workflows/autoupdate.yml index 1c83da44bf5..ad8e0198f02 100644 --- a/.github/workflows/autoupdate.yml +++ b/.github/workflows/autoupdate.yml @@ -20,6 +20,7 @@ on: jobs: autoupdate-for-bot: + if: startsWith(github.repository, 'asyncapi/') name: Autoupdate autoapproved PR created in the upstream runs-on: ubuntu-latest steps: diff --git a/.github/workflows/help-command.yml b/.github/workflows/help-command.yml index 69163816e3e..03f891eba3f 100644 --- a/.github/workflows/help-command.yml +++ b/.github/workflows/help-command.yml @@ -25,7 +25,7 @@ jobs: - `/ready-to-merge` or `/rtm` - This comment will trigger automerge of PR in case all required checks are green, approvals in place and do-not-merge label is not added - `/do-not-merge` or `/dnm` - This comment will block automerging even if all conditions are met and ready-to-merge label is added - - `/autoupdate` or `/au` - This comment will add `autoupdate` label to the PR and keeps your PR up-to-date to the target branch's future changes. Unless there is a merge conflict. + - `/autoupdate` or `/au` - This comment will add `autoupdate` label to the PR and keeps your PR up-to-date to the target branch's future changes. Unless there is a merge conflict or it is a draft PR. create_help_comment_issue: if: ${{ !github.event.issue.pull_request && contains(github.event.comment.body, '/help') && github.actor != 'asyncapi-bot' }} runs-on: ubuntu-latest diff --git a/.github/workflows/if-nodejs-release.yml b/.github/workflows/if-nodejs-release.yml index bc5b53766b1..16cc8851b00 100644 --- a/.github/workflows/if-nodejs-release.yml +++ b/.github/workflows/if-nodejs-release.yml @@ -48,6 +48,15 @@ jobs: - if: steps.packagejson.outputs.exists == 'true' name: Run test run: npm test + - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel + name: Report workflow run status to Slack + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,action,workflow + text: 'Release workflow failed in testing job' + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} release: needs: [test-nodejs] @@ -84,3 +93,12 @@ jobs: GIT_COMMITTER_NAME: asyncapi-bot GIT_COMMITTER_EMAIL: info@asyncapi.io run: npm run release + - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel + name: Report workflow run status to Slack + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,action,workflow + text: 'Release workflow failed in release job' + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} \ No newline at end of file diff --git a/.github/workflows/if-nodejs-version-bump.yml b/.github/workflows/if-nodejs-version-bump.yml index 721caa9d737..5e7aa14acf5 100644 --- a/.github/workflows/if-nodejs-version-bump.yml +++ b/.github/workflows/if-nodejs-version-bump.yml @@ -24,6 +24,13 @@ jobs: - name: Check if Node.js project and has package.json id: packagejson run: test -e ./package.json && echo "::set-output name=exists::true" || echo "::set-output name=exists::false" + - if: steps.packagejson.outputs.exists == 'true' + name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: 14 + cache: 'npm' + cache-dependency-path: '**/package-lock.json' - if: steps.packagejson.outputs.exists == 'true' name: Install dependencies run: npm install @@ -46,4 +53,13 @@ jobs: author: asyncapi-bot title: 'chore(release): ${{github.event.release.tag_name}}' body: 'Version bump in package.json for release [${{github.event.release.tag_name}}](${{github.event.release.html_url}})' - branch: version-bump/${{github.event.release.tag_name}} \ No newline at end of file + branch: version-bump/${{github.event.release.tag_name}} + - if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel + name: Report workflow run status to Slack + uses: 8398a7/action-slack@v3 + with: + status: ${{ job.status }} + fields: repo,action,workflow + text: 'Unable to bump the version in package.json after the release' + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} \ No newline at end of file diff --git a/.github/workflows/link-check-cron.yml b/.github/workflows/link-check-cron.yml index cfc2cf01db3..2d1e1fc029d 100644 --- a/.github/workflows/link-check-cron.yml +++ b/.github/workflows/link-check-cron.yml @@ -11,6 +11,7 @@ on: jobs: External-link-validation-weekly: + if: startsWith(github.repository, 'asyncapi/') runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -33,4 +34,4 @@ jobs: fields: repo,action,workflow env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_CI_FAIL_NOTIFY }} - if: failure() # Only, on failure, send a message on the Slack Docs Channel (if there are broken links) + if: failure() # Only, on failure, send a message on the 94_bot-failing-ci slack channel diff --git a/.github/workflows/stale-issues-prs.yml b/.github/workflows/stale-issues-prs.yml index 7667318349f..c1c0c61dae4 100644 --- a/.github/workflows/stale-issues-prs.yml +++ b/.github/workflows/stale-issues-prs.yml @@ -9,6 +9,7 @@ on: jobs: stale: + if: startsWith(github.repository, 'asyncapi/') name: Mark issue or PR as stale runs-on: ubuntu-latest steps: diff --git a/README.md b/README.md index 6d3495d11bf..88ffdf8f366 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ --- -[![All Contributors](https://img.shields.io/badge/all_contributors-22-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-24-orange.svg?style=flat-square)](#contributors-) [![Netlify Status](https://api.netlify.com/api/v1/badges/b2137407-b765-46c4-95b5-a72d9b1592ab/deploy-status)](https://app.netlify.com/sites/asyncapi-website/deploys) @@ -65,6 +65,14 @@ npm run build Generated files of the website go to the `.next` folder. +## JSON Schema definitions + +All AsyncAPI JSON Schema definition files are being served within the `/definitions/` path. The content is being served from GH, in particular from https://github.com/asyncapi/spec-json-schemas/tree/master/schemas. +This is possible thanks to the following: + +1. A [Netlify Rewrite rule](https://docs.netlify.com/routing/redirects/rewrites-proxies/) located in the [netlify.toml](netlify.toml) file, which acts as proxy for all requests to the `/definitions/` path, serving the content from GH without having an HTTP redirect. +2. A [Netlify Edge Function](https://docs.netlify.com/netlify-labs/experimental-features/edge-functions/) that modifies the `Content-Type` header of the rewrite response to become `application/schema+json`. This lets tooling, such as [Hyperjump](https://json-schema.hyperjump.io), to fetch the schemas directly from their URL. + ## Project structure This repository has the following structure: @@ -85,6 +93,8 @@ This repository has the following structure: ├── public # Data for site metadata and static blog such as images ├── scripts # Scripts used in the build and dev processes ├── next.config.js # Next.js configuration file + ├── netlify # Code that runs on Netlify + │ ├── edge-functions # Netlify Edge-Functions code ├── postcss.config.js # PostCSS configuration file └── tailwind.config.js # TailwindCSS configuration file ``` @@ -127,6 +137,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Juan A.

💻
Muhammad Rafly Andrianza

📖 +
Harish

💻 diff --git a/components/AsyncAPILogoLight.js b/components/AsyncAPILogoLight.js new file mode 100644 index 00000000000..c06af0d892f --- /dev/null +++ b/components/AsyncAPILogoLight.js @@ -0,0 +1,59 @@ +export default function AsyncAPILogoLight({ className }) { + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ) + } \ No newline at end of file diff --git a/components/Footer.js b/components/Footer.js index 5fbc621aa2e..8276f3e033f 100644 --- a/components/Footer.js +++ b/components/Footer.js @@ -1,85 +1,184 @@ import IconTwitter from "./icons/Twitter" import IconGithub from "./icons/Github" -import IconYoutube from "./icons/YouTube" +import IconYoutubeGray from "./icons/YouTubeGray" import IconLinkedIn from "./icons/LinkedIn" import NewsletterSubscribe from "./NewsletterSubscribe" import Container from "./layout/Container" import Link from "next/link" +import AsyncAPILogoLight from "./AsyncAPILogoLight" +import IconSlack from "./icons/Slack" +import IconTwitch from "./icons/Twitch" +import Heading from "./typography/Heading" export default function Footer() { return ( - diff --git a/components/Hero.js b/components/Hero.js index 09293def179..ba399f9ef55 100644 --- a/components/Hero.js +++ b/components/Hero.js @@ -25,7 +25,7 @@ export default function Hero({ className = ''}) { architecture. All powered by the AsyncAPI specification, the {" "} industry standard for defining asynchronous APIs. -
- +
+ +
+
diff --git a/components/navigation/DocsNav.js b/components/navigation/DocsNav.js new file mode 100644 index 00000000000..2196afe0a4a --- /dev/null +++ b/components/navigation/DocsNav.js @@ -0,0 +1,58 @@ +import Link from 'next/link'; +import DocsNavItem from './DocsNavItem'; + +import IconHome from '../icons/Home' +import IconRocket from '../icons/Rocket' +import IconGradCap from '../icons/GradCap' +import IconPlant from '../icons/Plant' +import IconPaper from '../icons/Paper' + +const buckets = { + 'welcome': { + icon: IconHome, + className: 'bg-primary-200 border-primary-200', + }, + 'concepts': { + icon: IconRocket, + className: 'bg-secondary-200 border-secondary-200', + }, + 'tutorials': { + icon: IconGradCap, + className: 'bg-pink-100 border-pink-100', + }, + 'tools': { + icon: IconPlant, + className: 'bg-green-200 border-green-200', + }, + 'reference': { + icon: IconPaper, + className: 'bg-yellow-200 border-yellow-200', + }, +}; + +export default function DocsNav({ + item, + active, + onClick = () => {}, +}) { + const subCategories = item.children; + return ( +
  • + +
      + {Object.values(subCategories).map((subCategory, index) => ( +
    • + +
        + {subCategory.children && subCategory.children.map(subItem => ( +
      • + +
      • + ))} +
      +
    • + ))} +
    +
  • + ); +} diff --git a/components/navigation/DocsNavItem.js b/components/navigation/DocsNavItem.js index d391214017d..a8242698c45 100644 --- a/components/navigation/DocsNavItem.js +++ b/components/navigation/DocsNavItem.js @@ -1,30 +1,30 @@ -import Link from 'next/link' +import Link from 'next/link'; -export default function DocsNavItem({ - item, - active, - onClick = () => {}, -}) { - const { slug, title, isSection } = item - const commonClassNames = 'flex transition ease-in-out duration-150 focus:outline-none tracking-tight' - const sectionClassNames = `mt-8 mb-2 text-gray-900 text-xs font-bold tracking-wide uppercase hover:text-primary-500 ${commonClassNames}` - const activeItemClassNames = 'font-medium text-primary-500' - const nonActiveItemClassNames = 'font-regular text-gray-800 hover:text-primary-900' - const itemClassNames = `mb-3 text-sm ${commonClassNames} ${active ? activeItemClassNames : nonActiveItemClassNames}` +function isActiveSlug(slug, activeSlug) { + const partialSlug = slug.split('/'); + const partialActiveSlug = activeSlug.split('/'); + const activeParts = partialActiveSlug.filter((a, idx) => a === partialSlug[idx]); + return activeParts.length === partialSlug.length; +} - if (isSection) { - return ( - - {title} - - ) - } +export default function DocsNavItem({ title, slug, href, indexDocument, activeSlug, onClick = () => {}, className = '', activeClassName = '', bucket }) { + const isActive = slug === '/docs' || indexDocument ? slug === activeSlug : isActiveSlug(slug, activeSlug); + const classes = `${isActive ? activeClassName : ''} ${className} inline-block`; return ( - - - {title} - - - ) +
    +
    + + + {bucket && ( +
    + +
    + )} + {title} +
    + +
    +
    + ); } diff --git a/components/navigation/Filter.js b/components/navigation/Filter.js index 0e67f1de1f9..f364c5c4d92 100644 --- a/components/navigation/Filter.js +++ b/components/navigation/Filter.js @@ -49,7 +49,7 @@ export default function Filter({ data, onFilter, checks, className }) { }); }} selected={selected} - className={`${className} my-1 md:mr-4`} + className={`${className} md:mr-4`} /> ); }); diff --git a/components/navigation/FlyoutMenu.js b/components/navigation/FlyoutMenu.js index 56c15fa513d..59fe474c9c7 100644 --- a/components/navigation/FlyoutMenu.js +++ b/components/navigation/FlyoutMenu.js @@ -4,7 +4,7 @@ export default function Flyout ({ items = [], }) { return ( -
    +
    diff --git a/components/navigation/MenuBlocks.js b/components/navigation/MenuBlocks.js index 8581aa9eea0..3fc7785c885 100644 --- a/components/navigation/MenuBlocks.js +++ b/components/navigation/MenuBlocks.js @@ -17,8 +17,8 @@ export default function MenuBlocks ({ target={isExternalHref ? "_blank" : undefined} rel={isExternalHref ? "noopener noreferrer" : undefined} > -
    - +
    +
    diff --git a/components/navigation/MobileNavMenu.js b/components/navigation/MobileNavMenu.js index 69ff0f98f6c..fe4b04f5bf6 100644 --- a/components/navigation/MobileNavMenu.js +++ b/components/navigation/MobileNavMenu.js @@ -29,7 +29,13 @@ export default function MobileNavMenu ({
    -

    Learning

    + +

    + + Docs + +

    +
    diff --git a/components/navigation/NavBar.js b/components/navigation/NavBar.js index 6482c85b3db..98c2e3546d8 100644 --- a/components/navigation/NavBar.js +++ b/components/navigation/NavBar.js @@ -1,5 +1,7 @@ import { useState, useEffect } from "react" -import { registerClickAway } from '../helpers/click-away' +import { useRouter } from "next/router"; +import { isMobileDevice } from '../helpers/is-mobile' +import { useOutsideClick } from '../helpers/use-outside-click'; import AsyncAPILogo from '../AsyncAPILogo' import NavItem from './NavItem' import ToolsPanel from './ToolsPanel' @@ -11,30 +13,44 @@ import Button from '../buttons/Button' import GithubButton from "../buttons/GithubButton" import Link from 'next/link'; +const isMobile = isMobileDevice(); + export default function NavBar ({ className = '', hideLogo = false, }) { - const [open, setOpen] = useState() - const [mobileMenuOpen, setMobileMenuOpen] = useState() + const { asPath } = useRouter(); + const [open, setOpen] = useState(); + const [mobileMenuOpen, setMobileMenuOpen] = useState(); + + function outsideClick(menu) { + if (open !== menu) return; + setOpen(null); + } + + const learningRef = useOutsideClick(() => outsideClick('learning')); + const toolingRef = useOutsideClick(() => outsideClick('tooling')); + const communityRef = useOutsideClick(() => outsideClick('community')); function showMenu(menu) { - if (open === menu) return setOpen(null) + if (open === menu) return; + setOpen(menu); + } - setTimeout(() => { - setOpen(menu) - }, 0) + function showOnClickMenu(menu) { + if (!isMobile) return ; + if (open === menu) return setOpen(null); + setOpen(menu); } useEffect(() => { - if (open) registerClickAway(() => { - setOpen(null) - }) - }, [open]) + setMobileMenuOpen(false); + setOpen(null); + }, [asPath]) return ( -
    -
    +
    diff --git a/components/navigation/NavItem.js b/components/navigation/NavItem.js index 4b99cb14e78..f54148f20f9 100644 --- a/components/navigation/NavItem.js +++ b/components/navigation/NavItem.js @@ -4,29 +4,38 @@ export default function NavItem ({ href, target = '_self', onClick = () => {}, + onMouseEnter = () => {}, hasDropdown = false, className = '', }) { - if (href) { + if (href && !hasDropdown) { return ( - - {text} - + + {text} + ) } return ( - ) } \ No newline at end of file diff --git a/components/navigation/learningItems.js b/components/navigation/learningItems.js index d3e0dd15051..715b8cf8cea 100644 --- a/components/navigation/learningItems.js +++ b/components/navigation/learningItems.js @@ -1,11 +1,11 @@ -import IconGettingStarted from '../icons/GettingStarted' -import IconSpec from '../icons/Spec' -import IconUseCases from '../icons/UseCases' -import IconTutorials from '../icons/Tutorials' +import IconRocket from '../icons/Rocket' +import IconGradCap from '../icons/GradCap' +import IconPlant from '../icons/Plant' +import IconPaper from '../icons/Paper' export default [ - { href: '/docs/getting-started', icon: IconGettingStarted, title: 'Getting started', description: 'Learn the basics of AsyncAPI in less than 15 minutes with our guide.' }, - { href: '/docs/tutorials', icon: IconTutorials, title: 'Tutorials', description: 'Get your hands dirty with our step-by-step interactive tutorials.' }, - { href: '/docs/specifications/latest', icon: IconSpec, title: 'AsyncAPI specification', description: `Explore the specification that's powering the tools.` }, - { href: '/docs/use-cases', icon: IconUseCases, title: 'Use cases', description: 'Learn how AsyncAPI can suit your specific needs.', comingSoon: true }, + { href: '/docs/concepts', icon: IconRocket, className: 'bg-secondary-200', title: 'Concepts', description: 'Our Concepts section defines the concepts of AsyncAPI features and capabilities.' }, + { href: '/docs/tutorials', icon: IconGradCap, className: 'bg-pink-100', title: 'Tutorials', description: 'Our Tutorials section teaches beginner processes with AsyncAPI by doing. ' }, + { href: '/docs/tools', icon: IconPlant, className: 'bg-green-200', title: 'Tools', description: 'Our Tools section documents the AsyncAPI tools ecosystem.' }, + { href: '/docs/reference', icon: IconPaper, className: 'bg-yellow-200', title: 'Reference', description: `Our Reference section documents the AsyncAPI specification.` } ] diff --git a/config/meetings.json b/config/meetings.json index 0637a088a01..2d2538e2d2c 100644 --- a/config/meetings.json +++ b/config/meetings.json @@ -1 +1,7 @@ -[] \ No newline at end of file +[ + { + "title": "AsyncAPI Onboarding Workshop - Part 2", + "url": "https://github.com/asyncapi/community/issues/404", + "date": "Wed, 06 Jul 2022 15:00:00 GMT" + } +] \ No newline at end of file diff --git a/netlify.toml b/netlify.toml index 401897d653d..1b66ed832ab 100644 --- a/netlify.toml +++ b/netlify.toml @@ -7,4 +7,24 @@ command = "npm run build && npm run export" functions = "netlify/functions" publish = "out" - \ No newline at end of file + +# Used by JSON Schema definitions fetched directly from AsyncAPI website +[[redirects]] + from = "/definitions" + to = "https://github.com/asyncapi/spec-json-schemas/tree/master/schemas" + status = 200 + +[[edge_functions]] +function = "serve-definitions" +path = "/definitions/*" + +# Used by JSON Schema definitions fetched from schemastore.org +[[redirects]] + from = "/schema-store" + to = "https://github.com/asyncapi/spec-json-schemas/tree/master/schemas" + status = 200 + +[[edge_functions]] +function = "serve-definitions" +path = "/schema-store/*" + diff --git a/netlify/edge-functions/serve-definitions.ts b/netlify/edge-functions/serve-definitions.ts new file mode 100644 index 00000000000..4121f6a4ab6 --- /dev/null +++ b/netlify/edge-functions/serve-definitions.ts @@ -0,0 +1,163 @@ +import type { Context } from "netlify:edge"; + +const GITHUB_TOKEN = Deno.env.get("GITHUB_TOKEN_NR"); +const NR_API_KEY = Deno.env.get("NR_API_KEY"); +const NR_METRICS_ENDPOINT = Deno.env.get("NR_METRICS_ENDPOINT") || "https://metric-api.eu.newrelic.com/metric/v1"; + +const URL_DEST_SCHEMAS = "https://raw.githubusercontent.com/asyncapi/spec-json-schemas/master/schemas"; +const URL_DEST_DEFINITIONS = "https://raw.githubusercontent.com/asyncapi/spec-json-schemas/master/definitions"; + +// Legitimate request: +// Patterns: / OR // OR /// +// Examples: /definitions OR /schema-store/2.4.0.json OR /definitions/2.4.0/info.json +// Non-legitimate request: +// Patterns: ///* +// Examples: /definitions/asyncapi.yaml OR /schema-store/2.4.0.JSON (uppercase) +// +// Non-legitimate requests should not use our Github Token and affect the rate limit. Those shouldn't send metrics to NR either as they just add noise. +const legitimateRequestRegex = /^\/[\w\-]*\/?(?:([\w\-\.]*\/)?([\w\-\.]*\.json))?$/ + +export default async (request: Request, context: Context) => { + const rewriteRequest = buildRewrite(request); + + let response: Response; + if (rewriteRequest === null) { + response = await context.next(); + } else { + // Fetching the definition file + response = await fetch(rewriteRequest); + } + + const isRequestingAFile = request.url.endsWith('.json'); + if (isRequestingAFile) { + if (response.ok) { + // Manually cloning the response so we can modify the headers as they are immutable + response = new Response(response.body, response); + + // Setting proper Content-Type header for JSON Schema files. + // This lets tooling fetch the schemas directly from their URL. + response.headers.set("Content-Type", "application/schema+json"); + + // Sending metrics to NR. + const metric = newNRMetricCount("asyncapi.jsonschema.download.success", request) + + await sendMetricToNR(context, metric); + } else { + // Notifying NR of the error. + const attributes = { + "responseStatus": response.status, + "responseStatusText": response.statusText, + }; + const metric = newNRMetricCount("asyncapi.jsonschema.download.error", request, attributes); + + await sendMetricToNR(context, metric); + } + } + + return response; +}; + +function buildRewrite(originalRequest: Request): (Request | null) { + const extractResult = legitimateRequestRegex.exec(new URL(originalRequest.url).pathname); + if (extractResult === null) { + return null; + } + + const definitionVersion = extractResult[1]; + const file = extractResult[2]; + let url: string; + + if (definitionVersion === undefined) { + // If no file is specified, the whole bundled schema will be served + url = URL_DEST_SCHEMAS + `/${file}`; + } else { + url = URL_DEST_DEFINITIONS + `/${definitionVersion}${file}`; + } + + return new Request(url, { + method: originalRequest.method, + headers: new Headers({ + // Setting GH Token to increase GH rate limit to 5,000 req/h. + 'Authorization': "token " + GITHUB_TOKEN, + }), + }); +} + +interface TimeoutRequestInit extends RequestInit { + timeout: number; +} + +async function doFetch(resource: string, options: TimeoutRequestInit): Promise { + const { timeout = 5000 } = options; + + const controller = new AbortController(); + const timeoutId = setTimeout(() => controller.abort(), timeout); + const response = await fetch(resource, { ...options, signal: controller.signal }); + clearTimeout(timeoutId); + return response; +} + +async function sendMetricToNR(context: Context, metric: NRMetric) { + const metrics = [{ "metrics": [metric] }]; + try { + const rawResponse = await doFetch(NR_METRICS_ENDPOINT, { + timeout: 2000, // Success in 2 seconds, cancel if not. User's request is more important than collecting metrics. + method: 'POST', + headers: { + 'Api-Key': NR_API_KEY || "", + 'Content-Type': 'application/json' + }, + body: JSON.stringify(metrics) + }); + + if (!rawResponse.ok) { + context.log(`Unexpected response status code when sending metrics: ${rawResponse.status} ${rawResponse.statusText}`); + } + } catch (e) { + if (e instanceof DOMException) { + context.log(`Timeout during sending metrics: ${e}`); + } else { + context.log(`Unexpected error sending metrics: ${e}`); + } + } +} + +function newNRMetricCount(name: string, request: Request, attributes: any = {}): NRMetric { + var metric = new NRMetric(name, NRMetricType.Count, 1); + metric["interval.ms"] = 1; + + const splitPath = new URL(request.url).pathname.split("/"); + + metric.attributes = { + "source": splitPath[1], + "file": splitPath[2], + "url": request.url, + ...attributes, + }; + + return metric; +} + +enum NRMetricType { + Count = "count", + Distribution = "distribution", + Gauge = "gauge", + Summary = "summary", + UniqueCount = "uniqueCount", +} + +class NRMetric { + name: string; + value: number | any; + timestamp: number; + "interval.ms": number; + type: NRMetricType; + attributes: any; + + constructor(name: string, type = NRMetricType.Count, value = 1, timestamp = Date.now()) { + this.name = name; + this.type = type; + this.value = value; + this.timestamp = timestamp; + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b6866783d0a..a634efe0abb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,10 +73,7 @@ "node_modules/@apidevtools/openapi-schemas": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz", - "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==" }, "node_modules/@apidevtools/swagger-methods": { "version": "3.0.2", @@ -94,9 +91,6 @@ "@jsdevtools/ono": "^7.1.3", "call-me-maybe": "^1.0.1", "z-schema": "^5.0.1" - }, - "peerDependencies": { - "openapi-types": ">=7" } }, "node_modules/@asyncapi/modelina": { @@ -109,9 +103,6 @@ "@asyncapi/parser": "^1.14.0", "change-case": "^4.1.2", "openapi-types": "9.3.0" - }, - "engines": { - "node": ">=14" } }, "node_modules/@asyncapi/parser": { @@ -145,9 +136,6 @@ "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, "node_modules/@asyncapi/specs": { @@ -161,9 +149,6 @@ "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", "dependencies": { "@babel/highlight": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/core": { @@ -187,13 +172,6 @@ "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" } }, "node_modules/@babel/generator": { @@ -204,9 +182,6 @@ "@babel/types": "^7.16.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { @@ -217,9 +192,6 @@ "@babel/helper-get-function-arity": "^7.16.0", "@babel/template": "^7.16.0", "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { @@ -228,9 +200,6 @@ "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", "dependencies": { "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { @@ -239,9 +208,6 @@ "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", "dependencies": { "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { @@ -250,9 +216,6 @@ "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", "dependencies": { "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { @@ -261,9 +224,6 @@ "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", "dependencies": { "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { @@ -279,9 +239,6 @@ "@babel/template": "^7.16.0", "@babel/traverse": "^7.16.0", "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-optimise-call-expression": { @@ -290,18 +247,12 @@ "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", "dependencies": { "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", - "engines": { - "node": ">=6.9.0" - } + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" }, "node_modules/@babel/helper-replace-supers": { "version": "7.16.0", @@ -312,9 +263,6 @@ "@babel/helper-optimise-call-expression": "^7.16.0", "@babel/traverse": "^7.16.0", "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { @@ -323,9 +271,6 @@ "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", "dependencies": { "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { @@ -334,18 +279,12 @@ "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", "dependencies": { "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.15.7", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", - "engines": { - "node": ">=6.9.0" - } + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" }, "node_modules/@babel/helpers": { "version": "7.16.3", @@ -355,9 +294,6 @@ "@babel/template": "^7.16.0", "@babel/traverse": "^7.16.3", "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { @@ -368,21 +304,12 @@ "@babel/helper-validator-identifier": "^7.15.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/parser": { "version": "7.16.4", "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz", - "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } + "integrity": "sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==" }, "node_modules/@babel/plugin-proposal-object-rest-spread": { "version": "7.12.1", @@ -392,9 +319,6 @@ "@babel/helper-plugin-utils": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-transform-parameters": "^7.12.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-jsx": { @@ -403,9 +327,6 @@ "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-object-rest-spread": { @@ -414,9 +335,6 @@ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-transform-parameters": { @@ -425,12 +343,6 @@ "integrity": "sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/runtime": { @@ -439,9 +351,6 @@ "integrity": "sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==", "dependencies": { "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/template": { @@ -452,9 +361,6 @@ "@babel/code-frame": "^7.16.0", "@babel/parser": "^7.16.0", "@babel/types": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { @@ -471,9 +377,6 @@ "@babel/types": "^7.16.0", "debug": "^4.1.0", "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/types": { @@ -483,9 +386,6 @@ "dependencies": { "@babel/helper-validator-identifier": "^7.15.7", "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@eslint/eslintrc": { @@ -503,9 +403,6 @@ "js-yaml": "^3.13.1", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, "node_modules/@eslint/eslintrc/node_modules/argparse": { @@ -524,12 +421,6 @@ "dev": true, "dependencies": { "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { @@ -540,22 +431,13 @@ "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, "node_modules/@fec/remark-a11y-emoji": { "version": "1.0.0", @@ -609,10 +491,7 @@ "node_modules/@heroicons/react": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-1.0.5.tgz", - "integrity": "sha512-UDMyLM2KavIu2vlWfMspapw9yii7aoLwzI2Hudx4fyoPwfKfxU8r3cL8dEBXOjcLG0/oOONZzbT14M1HoNtEcg==", - "peerDependencies": { - "react": ">= 16" - } + "integrity": "sha512-UDMyLM2KavIu2vlWfMspapw9yii7aoLwzI2Hudx4fyoPwfKfxU8r3cL8dEBXOjcLG0/oOONZzbT14M1HoNtEcg==" }, "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", @@ -623,9 +502,6 @@ "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" } }, "node_modules/@humanwhocodes/object-schema": { @@ -647,10 +523,6 @@ "@mdx-js/mdx": "1.6.22", "@mdx-js/react": "1.6.22", "loader-utils": "2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/@mdx-js/mdx": { @@ -677,32 +549,17 @@ "unified": "9.2.0", "unist-builder": "2.0.3", "unist-util-visit": "2.0.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/@mdx-js/react": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "react": "^16.13.1 || ^17.0.0" - } + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" }, "node_modules/@mdx-js/util": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz", - "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==" }, "node_modules/@monaco-editor/loader": { "version": "0.1.3", @@ -710,9 +567,6 @@ "integrity": "sha512-AO5ERu/RV4B0Va3ymI4TYp/KeIUSPHQueE51jRjVcCsW72btEPUxCgnHTdBxpAvsfNEF1sLILtt1QOZqce3SWw==", "dependencies": { "state-local": "^1.0.6" - }, - "peerDependencies": { - "monaco-editor": "^0.21.2" } }, "node_modules/@monaco-editor/react": { @@ -721,12 +575,6 @@ "integrity": "sha512-wd+XzqATnUoODHSm2JMZi5OV9qeC8hdoSgoZHsTceXyH3Z/oktUtFbjaYeK0XL/lnXAScSYue81GA2UsiAx0sQ==", "dependencies": { "@monaco-editor/loader": "^0.1.2" - }, - "peerDependencies": { - "monaco-editor": "^0.21.2", - "prop-types": "^15.7.2", - "react": "^16.8.0 || ^17.0.0", - "react-dom": "^16.8.0 || ^17.0.0" } }, "node_modules/@napi-rs/triples": { @@ -742,10 +590,7 @@ "node_modules/@next/mdx": { "version": "9.5.5", "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-9.5.5.tgz", - "integrity": "sha512-IdwwXrxqNhZuEeyVdCKtv1R2CqIsAZm/rtCUbE5WImFW3VK8nrSFDFi+JkoWoDcHgGgaJYgfoYAoieHV5POGJg==", - "peerDependencies": { - "@mdx-js/loader": ">=0.15.0" - } + "integrity": "sha512-IdwwXrxqNhZuEeyVdCKtv1R2CqIsAZm/rtCUbE5WImFW3VK8nrSFDFi+JkoWoDcHgGgaJYgfoYAoieHV5POGJg==" }, "node_modules/@next/polyfill-module": { "version": "11.1.4", @@ -768,10 +613,6 @@ "source-map": "0.8.0-beta.0", "stacktrace-parser": "0.1.10", "strip-ansi": "6.0.0" - }, - "peerDependencies": { - "react": "^17.0.2", - "react-dom": "^17.0.2" } }, "node_modules/@next/react-dev-overlay/node_modules/@babel/code-frame": { @@ -788,12 +629,6 @@ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/@next/react-dev-overlay/node_modules/chalk": { @@ -803,12 +638,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/@next/react-dev-overlay/node_modules/color-convert": { @@ -817,9 +646,6 @@ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, "node_modules/@next/react-dev-overlay/node_modules/color-name": { @@ -830,18 +656,12 @@ "node_modules/@next/react-dev-overlay/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "node_modules/@next/react-dev-overlay/node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "node_modules/@next/react-dev-overlay/node_modules/source-map": { "version": "0.8.0-beta.0", @@ -849,9 +669,6 @@ "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", "dependencies": { "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" } }, "node_modules/@next/react-dev-overlay/node_modules/strip-ansi": { @@ -860,9 +677,6 @@ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dependencies": { "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/@next/react-dev-overlay/node_modules/supports-color": { @@ -871,9 +685,6 @@ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/@next/react-dev-overlay/node_modules/tr46": { @@ -917,61 +728,25 @@ "version": "11.1.4", "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.4.tgz", "integrity": "sha512-jt8dMtIRWnJjRYLid6NWCxXzXdpr9VFT/vhDp8ioh+TtOR0UKPHMxei6R4GA3RqoyPEfFcSNmkG7OtyqCSxNIw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } + "optional": true }, "node_modules/@next/swc-darwin-x64": { "version": "11.1.4", "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.4.tgz", "integrity": "sha512-5i9tOQNO8kawwggHvQUVR3a5KzIGaE2dw1g1kL//z/N840djvGseHrJSFEGdP1c35gM+dSGPpAKHmeBKrwHM8g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } + "optional": true }, "node_modules/@next/swc-linux-x64-gnu": { "version": "11.1.4", "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.4.tgz", "integrity": "sha512-QfVuXugxBkCUHN9yD/VZ1xqszcMlBDj6vrbRiQvmWuyNo39ON6HqGn3jDwVrTHc9oKo2a0XInm+0zEnQeDmjSw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } + "optional": true }, "node_modules/@next/swc-win32-x64-msvc": { "version": "11.1.4", "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.4.tgz", "integrity": "sha512-7MPXYWsCo5qGZXyyJwBLvQkYi0hKARtpjGxjt/mdxn7A7O+jKJgAuxgOo/lnZIiXfbJzxRnSD8k6WkUwN0IVmg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } + "optional": true }, "node_modules/@node-rs/helper": { "version": "1.2.1", @@ -1045,9 +820,6 @@ "lodash": "^4.17.11", "mini-svg-data-uri": "^1.0.3", "traverse": "^0.6.6" - }, - "peerDependencies": { - "tailwindcss": "^1.0" } }, "node_modules/@tailwindcss/ui": { @@ -1058,9 +830,6 @@ "@tailwindcss/custom-forms": "^0.2.1", "hex-rgb": "^4.1.0", "postcss-selector-parser": "^6.0.2" - }, - "peerDependencies": { - "tailwindcss": "^1.3.3" } }, "node_modules/@types/hast": { @@ -1103,7 +872,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/@zeit/next-css/-/next-css-1.0.1.tgz", "integrity": "sha512-yfHPRy/ne/5SddVClsoy+fpU7e0Cs1gkWA67/wm2uIu+9rznF45yQLxHEt5dPGF3h6IiIh7ZtIgA8VV8YKq87A==", - "deprecated": "Next.js now has built-in support for CSS: https://nextjs.org/docs/basic-features/built-in-css-support. The built-in support solves many bugs and painpoints that the next-css plugin had.", "dependencies": { "css-loader": "1.0.0", "extracted-loader": "1.0.4", @@ -1119,30 +887,18 @@ "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dependencies": { "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" } }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==" }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } + "dev": true }, "node_modules/acorn-node": { "version": "1.8.2", @@ -1157,10 +913,7 @@ "node_modules/acorn-walk": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "engines": { - "node": ">=0.4.0" - } + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==" }, "node_modules/agent-base": { "version": "6.0.2", @@ -1168,9 +921,6 @@ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" } }, "node_modules/airbnb-prop-types": { @@ -1187,12 +937,6 @@ "prop-types": "^15.7.2", "prop-types-exact": "^1.2.0", "react-is": "^16.13.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "peerDependencies": { - "react": "^0.14 || ^15.0.0 || ^16.0.0-alpha" } }, "node_modules/airbnb-prop-types/node_modules/react-is": { @@ -1209,27 +953,17 @@ "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "peerDependencies": { - "ajv": ">=5.0.0" - } + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "peerDependencies": { - "ajv": "^6.9.1" - } + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, "node_modules/anser": { "version": "1.4.9", @@ -1240,10 +974,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, "node_modules/ansi-escapes": { "version": "4.3.2", @@ -1252,25 +983,13 @@ "dev": true, "dependencies": { "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ansi-escapes/node_modules/type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, "node_modules/ansi-red": { "version": "0.1.1", @@ -1278,18 +997,12 @@ "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", "dependencies": { "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "node_modules/ansi-styles": { "version": "3.2.1", @@ -1297,18 +1010,12 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/ansi-wrap": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" }, "node_modules/anymatch": { "version": "3.1.2", @@ -1317,9 +1024,6 @@ "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" } }, "node_modules/argparse": { @@ -1338,12 +1042,6 @@ "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array.prototype.find": { @@ -1354,9 +1052,6 @@ "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/array.prototype.flatmap": { @@ -1368,21 +1063,12 @@ "call-bind": "^1.0.0", "define-properties": "^1.1.3", "es-abstract": "^1.19.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/arrify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" }, "node_modules/asap": { "version": "2.0.6", @@ -1419,19 +1105,13 @@ "node_modules/ast-types": { "version": "0.13.2", "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.2.tgz", - "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==", - "engines": { - "node": ">=4" - } + "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==" }, "node_modules/astral-regex": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/autolinker": { "version": "0.28.1", @@ -1453,25 +1133,12 @@ "picocolors": "^0.2.1", "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" } }, "node_modules/available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "node_modules/babel-code-frame": { "version": "6.26.0", @@ -1486,18 +1153,12 @@ "node_modules/babel-code-frame/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "node_modules/babel-code-frame/node_modules/ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "node_modules/babel-code-frame/node_modules/chalk": { "version": "1.1.3", @@ -1509,9 +1170,6 @@ "has-ansi": "^2.0.0", "strip-ansi": "^3.0.0", "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/babel-code-frame/node_modules/js-tokens": { @@ -1525,18 +1183,12 @@ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dependencies": { "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/babel-code-frame/node_modules/supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "node_modules/babel-plugin-apply-mdx-type-prop": { "version": "1.6.22", @@ -1545,13 +1197,6 @@ "dependencies": { "@babel/helper-plugin-utils": "7.10.4", "@mdx-js/util": "1.6.22" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@babel/core": "^7.11.6" } }, "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": { @@ -1565,10 +1210,6 @@ "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==", "dependencies": { "@babel/helper-plugin-utils": "7.10.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": { @@ -1609,19 +1250,12 @@ "node_modules/babel-types/node_modules/to-fast-properties": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" }, "node_modules/bail": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==" }, "node_modules/balanced-match": { "version": "1.0.2", @@ -1631,45 +1265,22 @@ "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "engines": { - "node": "*" - } + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" }, "node_modules/bignumber.js": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz", - "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==", - "engines": { - "node": "*" - } + "integrity": "sha512-GAcQvbpsM0pUb0zw1EI0KhQEZ+lRwR5fYaAp3vPOYuP7aDvGy6cVN6XHLauvF8SOga2y0dcLcjt3iQDTSEliyw==" }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, "node_modules/bl": { "version": "4.1.0", @@ -1691,9 +1302,6 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/bn.js": { @@ -1721,9 +1329,6 @@ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/braces/node_modules/fill-range": { @@ -1732,9 +1337,6 @@ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dependencies": { "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/brorand": { @@ -1809,29 +1411,12 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/browserify-sign/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "node_modules/browserify-zlib": { "version": "0.2.0", @@ -1851,16 +1436,6 @@ "escalade": "^3.1.1", "node-releases": "^2.0.1", "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, "node_modules/browserslist/node_modules/picocolors": { @@ -1900,10 +1475,7 @@ "node_modules/bytes": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "engines": { - "node": ">= 0.8" - } + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, "node_modules/call-bind": { "version": "1.0.2", @@ -1912,9 +1484,6 @@ "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/call-me-maybe": { @@ -1928,18 +1497,12 @@ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", "dependencies": { "callsites": "^2.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/caller-callsite/node_modules/callsites": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=" }, "node_modules/caller-path": { "version": "2.0.0", @@ -1947,19 +1510,13 @@ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", "dependencies": { "caller-callsite": "^2.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, "node_modules/camel-case": { "version": "4.1.2", @@ -1973,19 +1530,12 @@ "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "engines": { - "node": ">= 6" - } + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "node_modules/caniuse-lite": { "version": "1.0.30001286", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz", - "integrity": "sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } + "integrity": "sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ==" }, "node_modules/capital-case": { "version": "1.0.4", @@ -2000,11 +1550,7 @@ "node_modules/ccount": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==" }, "node_modules/chalk": { "version": "2.4.2", @@ -2014,9 +1560,6 @@ "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/change-case": { @@ -2041,29 +1584,17 @@ "node_modules/character-entities": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" }, "node_modules/character-entities-legacy": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" }, "node_modules/character-reference-invalid": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" }, "node_modules/chardet": { "version": "0.7.0", @@ -2084,9 +1615,6 @@ "normalize-path": "~3.0.0", "readdirp": "~3.5.0" }, - "engines": { - "node": ">= 8.10.0" - }, "optionalDependencies": { "fsevents": "~2.3.1" } @@ -2112,31 +1640,19 @@ "dev": true, "dependencies": { "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/cli-spinners": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, "node_modules/cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } + "dev": true }, "node_modules/clipboard": { "version": "2.0.8", @@ -2153,40 +1669,22 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } + "dev": true }, "node_modules/code-error-fragment": { "version": "0.0.230", "resolved": "https://registry.npmjs.org/code-error-fragment/-/code-error-fragment-0.0.230.tgz", - "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==", - "engines": { - "node": ">= 4" - } + "integrity": "sha512-cadkfKp6932H8UkhzE/gcUqhRMNf8jHzkAN7+5Myabswaghu4xABTgPHDCjW+dBAJxj/SpkTYokpzDqY4pCzQw==" }, "node_modules/coffee-script": { "version": "1.12.7", "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", - "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", - "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", - "bin": { - "cake": "bin/cake", - "coffee": "bin/coffee" - }, - "engines": { - "node": ">=0.8.0" - } + "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==" }, "node_modules/collapse-white-space": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==" }, "node_modules/color": { "version": "3.2.1", @@ -2227,19 +1725,12 @@ "node_modules/comma-separated-tokens": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" }, "node_modules/commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "engines": { - "node": ">= 6" - } + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" }, "node_modules/commondir": { "version": "1.0.1", @@ -2255,9 +1746,6 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -2276,10 +1764,7 @@ "node_modules/concat-with-sourcemaps/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/console-browserify": { "version": "1.2.0", @@ -2312,9 +1797,7 @@ "node_modules/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "node_modules/core-util-is": { "version": "1.0.3", @@ -2330,9 +1813,6 @@ "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/cosmiconfig/node_modules/argparse": { @@ -2350,9 +1830,6 @@ "dependencies": { "caller-path": "^2.0.0", "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/cosmiconfig/node_modules/js-yaml": { @@ -2362,18 +1839,12 @@ "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, "node_modules/cosmiconfig/node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" }, "node_modules/create-ecdh": { "version": "4.0.4", @@ -2423,9 +1894,6 @@ "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, "node_modules/crypto-browserify": { @@ -2444,9 +1912,6 @@ "public-encrypt": "^4.0.0", "randombytes": "^2.0.0", "randomfill": "^1.0.3" - }, - "engines": { - "node": "*" } }, "node_modules/css-color-list": { @@ -2460,10 +1925,7 @@ "node_modules/css-color-names": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.1.tgz", - "integrity": "sha1-XQVI+iVkVu3kqaDCrHqxnT6xrYE=", - "engines": { - "node": "*" - } + "integrity": "sha1-XQVI+iVkVu3kqaDCrHqxnT6xrYE=" }, "node_modules/css-loader": { "version": "1.0.0", @@ -2482,12 +1944,6 @@ "postcss-modules-values": "^1.3.0", "postcss-value-parser": "^3.3.0", "source-list-map": "^2.0.0" - }, - "engines": { - "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" - }, - "peerDependencies": { - "webpack": "^4.0.0" } }, "node_modules/css-loader/node_modules/json5": { @@ -2496,9 +1952,6 @@ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dependencies": { "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" } }, "node_modules/css-loader/node_modules/loader-utils": { @@ -2509,9 +1962,6 @@ "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/css-loader/node_modules/postcss": { @@ -2522,9 +1972,6 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/css-loader/node_modules/postcss-value-parser": { @@ -2535,10 +1982,7 @@ "node_modules/css-loader/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/css-selector-tokenizer": { "version": "0.7.3", @@ -2572,21 +2016,12 @@ "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" }, "node_modules/data-uri-to-buffer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", - "engines": { - "node": ">= 6" - } + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==" }, "node_modules/debug": { "version": "4.3.3", @@ -2594,14 +2029,6 @@ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dependencies": { "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } } }, "node_modules/dedent": { @@ -2631,9 +2058,6 @@ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "dependencies": { "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/defined": { @@ -2650,10 +2074,7 @@ "node_modules/depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "node_modules/deprecation": { "version": "2.3.1", @@ -2675,10 +2096,6 @@ "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==", "dependencies": { "repeat-string": "^1.5.4" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" } }, "node_modules/detective": { @@ -2689,21 +2106,12 @@ "acorn-node": "^1.6.1", "defined": "^1.0.0", "minimist": "^1.1.1" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" } }, "node_modules/diacritics-map": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", - "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68=", - "engines": { - "node": ">=0.8.0" - } + "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68=" }, "node_modules/diffie-hellman": { "version": "5.0.3", @@ -2732,21 +2140,12 @@ "dev": true, "dependencies": { "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/domain-browser": { "version": "4.19.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.19.0.tgz", - "integrity": "sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://bevry.me/fund" - } + "integrity": "sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ==" }, "node_modules/dot-case": { "version": "3.0.4", @@ -2760,10 +2159,7 @@ "node_modules/dotenv": { "version": "8.6.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "engines": { - "node": ">=10" - } + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==" }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", @@ -2805,10 +2201,7 @@ "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "engines": { - "node": ">= 4" - } + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" }, "node_modules/encoding": { "version": "0.1.13", @@ -2825,9 +2218,6 @@ "dev": true, "dependencies": { "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" } }, "node_modules/enzyme-adapter-react-16": { @@ -2844,14 +2234,6 @@ "react-is": "^16.13.1", "react-test-renderer": "^16.0.0-0", "semver": "^5.7.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "peerDependencies": { - "enzyme": "^3.0.0", - "react": "^16.0.0-0", - "react-dom": "^16.0.0-0" } }, "node_modules/enzyme-adapter-react-16/node_modules/react-is": { @@ -2871,12 +2253,6 @@ "object.fromentries": "^2.0.3", "prop-types": "^15.7.2", "semver": "^5.7.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - }, - "peerDependencies": { - "react": "0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0" } }, "node_modules/enzyme-shallow-equal": { @@ -2886,9 +2262,6 @@ "dependencies": { "has": "^1.0.3", "object-is": "^1.1.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/error-ex": { @@ -2924,12 +2297,6 @@ "string.prototype.trimend": "^1.0.4", "string.prototype.trimstart": "^1.0.4", "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es-to-primitive": { @@ -2940,12 +2307,6 @@ "is-callable": "^1.1.4", "is-date-object": "^1.0.1", "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/es6-object-assign": { @@ -2956,18 +2317,12 @@ "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "engines": { - "node": ">=0.8.0" - } + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "node_modules/eslint": { "version": "7.32.0", @@ -3015,15 +2370,6 @@ "table": "^6.0.9", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-plugin-react": { @@ -3046,12 +2392,6 @@ "resolve": "^2.0.0-next.3", "semver": "^6.3.0", "string.prototype.matchall": "^4.0.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, "node_modules/eslint-plugin-react/node_modules/doctrine": { @@ -3061,9 +2401,6 @@ "dev": true, "dependencies": { "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/eslint-plugin-react/node_modules/resolve": { @@ -3074,19 +2411,13 @@ "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/eslint-plugin-react/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } + "dev": true }, "node_modules/eslint-scope": { "version": "5.1.1", @@ -3096,19 +2427,13 @@ "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/eslint-scope/node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } + "dev": true }, "node_modules/eslint-utils": { "version": "2.1.0", @@ -3117,31 +2442,19 @@ "dev": true, "dependencies": { "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" } }, "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, "node_modules/eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } + "dev": true }, "node_modules/eslint/node_modules/@babel/code-frame": { "version": "7.12.11", @@ -3159,12 +2472,6 @@ "dev": true, "dependencies": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/eslint/node_modules/argparse": { @@ -3184,12 +2491,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/eslint/node_modules/color-convert": { @@ -3199,9 +2500,6 @@ "dev": true, "dependencies": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, "node_modules/eslint/node_modules/color-name": { @@ -3214,13 +2512,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, "node_modules/eslint/node_modules/globals": { "version": "13.12.0", @@ -3229,22 +2521,13 @@ "dev": true, "dependencies": { "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/eslint/node_modules/js-yaml": { "version": "3.14.1", @@ -3254,9 +2537,6 @@ "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, "node_modules/eslint/node_modules/semver": { @@ -3266,12 +2546,6 @@ "dev": true, "dependencies": { "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/eslint/node_modules/supports-color": { @@ -3281,22 +2555,13 @@ "dev": true, "dependencies": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/eslint/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, "node_modules/espree": { "version": "7.3.1", @@ -3307,31 +2572,18 @@ "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, "node_modules/espree/node_modules/eslint-visitor-keys": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "node_modules/esquery": { "version": "1.4.0", @@ -3340,9 +2592,6 @@ "dev": true, "dependencies": { "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" } }, "node_modules/esrecurse": { @@ -3352,51 +2601,33 @@ "dev": true, "dependencies": { "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" } }, "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } + "dev": true }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, "node_modules/event-target-shim": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, "node_modules/evp_bytestokey": { "version": "1.0.3", @@ -3418,9 +2649,6 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dependencies": { "fill-range": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/extend": { @@ -3434,9 +2662,6 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dependencies": { "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/external-editor": { @@ -3448,9 +2673,6 @@ "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" } }, "node_modules/external-editor/node_modules/iconv-lite": { @@ -3460,9 +2682,6 @@ "dev": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/extracted-loader": { @@ -3502,10 +2721,6 @@ "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", "dependencies": { "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" } }, "node_modules/fbjs": { @@ -3525,8 +2740,7 @@ "node_modules/fbjs/node_modules/core-js": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=", - "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js." + "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" }, "node_modules/figures": { "version": "3.2.0", @@ -3535,12 +2749,6 @@ "dev": true, "dependencies": { "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/file-entry-cache": { @@ -3550,9 +2758,6 @@ "dev": true, "dependencies": { "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, "node_modules/fill-range": { @@ -3565,9 +2770,6 @@ "randomatic": "^3.0.0", "repeat-element": "^1.1.2", "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/find-cache-dir": { @@ -3578,12 +2780,6 @@ "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, "node_modules/find-up": { @@ -3592,9 +2788,6 @@ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "dependencies": { "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/flat-cache": { @@ -3605,9 +2798,6 @@ "dependencies": { "flatted": "^3.1.0", "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { @@ -3619,10 +2809,7 @@ "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" }, "node_modules/foreach": { "version": "2.0.5", @@ -3632,10 +2819,7 @@ "node_modules/format": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=", - "engines": { - "node": ">=0.4.x" - } + "integrity": "sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=" }, "node_modules/fs-extra": { "version": "8.1.0", @@ -3645,9 +2829,6 @@ "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" } }, "node_modules/fs.realpath": { @@ -3659,14 +2840,7 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } + "optional": true }, "node_modules/function-bind": { "version": "1.1.1", @@ -3682,12 +2856,6 @@ "define-properties": "^1.1.3", "es-abstract": "^1.19.0", "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/functional-red-black-tree": { @@ -3699,10 +2867,7 @@ "node_modules/functions-have-names": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.2.tgz", - "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==" }, "node_modules/gaxios": { "version": "4.3.3", @@ -3714,21 +2879,12 @@ "https-proxy-agent": "^5.0.0", "is-stream": "^2.0.0", "node-fetch": "^2.6.7" - }, - "engines": { - "node": ">=10" } }, "node_modules/gaxios/node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" }, "node_modules/gcp-metadata": { "version": "4.3.1", @@ -3737,9 +2893,6 @@ "dependencies": { "gaxios": "^4.0.0", "json-bigint": "^1.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/gemoji": { @@ -3750,10 +2903,7 @@ "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "engines": { - "node": ">=6.9.0" - } + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" }, "node_modules/get-intrinsic": { "version": "1.1.1", @@ -3763,9 +2913,6 @@ "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-orientation": { @@ -3783,12 +2930,6 @@ "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/github-slugger": { @@ -3807,12 +2948,6 @@ "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/glob-parent": { @@ -3821,9 +2956,6 @@ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/glob-to-regexp": { @@ -3834,10 +2966,7 @@ "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "engines": { - "node": ">=4" - } + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "node_modules/good-listener": { "version": "1.2.2", @@ -3862,9 +2991,6 @@ "gtoken": "^5.0.4", "jws": "^4.0.0", "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/google-p12-pem": { @@ -3873,12 +2999,6 @@ "integrity": "sha512-HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==", "dependencies": { "node-forge": "^1.3.1" - }, - "bin": { - "gp12-pem": "build/src/bin/gp12-pem.js" - }, - "engines": { - "node": ">=10" } }, "node_modules/googleapis": { @@ -3888,9 +3008,6 @@ "dependencies": { "google-auth-library": "^7.0.2", "googleapis-common": "^5.0.2" - }, - "engines": { - "node": ">=10" } }, "node_modules/googleapis-common": { @@ -3904,9 +3021,6 @@ "qs": "^6.7.0", "url-template": "^2.0.8", "uuid": "^8.0.0" - }, - "engines": { - "node": ">=10.10.0" } }, "node_modules/graceful-fs": { @@ -3928,9 +3042,6 @@ "kind-of": "^6.0.2", "section-matter": "^1.0.0", "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" } }, "node_modules/gray-matter/node_modules/argparse": { @@ -3948,9 +3059,6 @@ "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, "node_modules/gtoken": { @@ -3961,16 +3069,12 @@ "gaxios": "^4.0.0", "google-p12-pem": "^3.1.3", "jws": "^4.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/gulp-header": { "version": "1.8.12", "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", - "deprecated": "Removed event-stream from gulp-header", "dependencies": { "concat-with-sourcemaps": "*", "lodash.template": "^4.4.0", @@ -3983,9 +3087,6 @@ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dependencies": { "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" } }, "node_modules/has-ansi": { @@ -3994,45 +3095,27 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dependencies": { "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/has-ansi/node_modules/ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "node_modules/has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "node_modules/has-symbols": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" }, "node_modules/has-tostringtag": { "version": "1.0.0", @@ -4040,12 +3123,6 @@ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dependencies": { "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/hash-base": { @@ -4056,9 +3133,6 @@ "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/hash-base/node_modules/readable-stream": { @@ -4069,29 +3143,12 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/hash-base/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "node_modules/hash.js": { "version": "1.1.7", @@ -4114,10 +3171,6 @@ "style-to-object": "^0.3.0", "unist-util-is": "^4.0.0", "web-namespaces": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/hast-util-from-parse5": { @@ -4131,20 +3184,12 @@ "vfile": "^4.0.0", "vfile-location": "^3.2.0", "web-namespaces": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/hast-util-parse-selector": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", - "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" }, "node_modules/hast-util-raw": { "version": "6.0.1", @@ -4161,10 +3206,6 @@ "web-namespaces": "^1.0.0", "xtend": "^4.0.0", "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/hast-util-to-parse5": { @@ -4177,10 +3218,6 @@ "web-namespaces": "^1.0.0", "xtend": "^4.0.0", "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/hastscript": { @@ -4193,19 +3230,12 @@ "hast-util-parse-selector": "^2.0.0", "property-information": "^5.0.0", "space-separated-tokens": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "bin": { - "he": "bin/he" - } + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "node_modules/header-case": { "version": "2.0.4", @@ -4219,22 +3249,12 @@ "node_modules/hex-rgb": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/hex-rgb/-/hex-rgb-4.3.0.tgz", - "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==" }, "node_modules/highlight.js": { "version": "9.15.10", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz", - "integrity": "sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==", - "deprecated": "Version no longer supported. Upgrade to @latest", - "engines": { - "node": "*" - } + "integrity": "sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw==" }, "node_modules/hmac-drbg": { "version": "1.0.1", @@ -4249,19 +3269,12 @@ "node_modules/html-tags": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", - "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==" }, "node_modules/html-void-elements": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==" }, "node_modules/http-errors": { "version": "1.7.3", @@ -4273,9 +3286,6 @@ "setprototypeof": "1.1.1", "statuses": ">= 1.5.0 < 2", "toidentifier": "1.0.0" - }, - "engines": { - "node": ">= 0.6" } }, "node_modules/https-browserify": { @@ -4290,9 +3300,6 @@ "dependencies": { "agent-base": "6", "debug": "4" - }, - "engines": { - "node": ">= 6" } }, "node_modules/hyphenate-style-name": { @@ -4306,9 +3313,6 @@ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/icss-replace-symbols": { @@ -4332,46 +3336,23 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/icss-utils/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" }, "node_modules/ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } + "dev": true }, "node_modules/ignore-loader": { "version": "0.1.2", @@ -4384,12 +3365,6 @@ "integrity": "sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==", "dependencies": { "queue": "6.0.2" - }, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=12.0.0" } }, "node_modules/import-cwd": { @@ -4398,9 +3373,6 @@ "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", "dependencies": { "import-from": "^2.1.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/import-fresh": { @@ -4411,12 +3383,6 @@ "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-from": { @@ -4425,27 +3391,18 @@ "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", "dependencies": { "resolve-from": "^3.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/import-from/node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } + "dev": true }, "node_modules/inflight": { "version": "1.0.6", @@ -4473,9 +3430,6 @@ "dependencies": { "bowser": "^1.0.0", "hyphenate-style-name": "^1.0.1" - }, - "engines": { - "node": ">=0.12" } }, "node_modules/inquirer": { @@ -4498,9 +3452,6 @@ "string-width": "^4.1.0", "strip-ansi": "^6.0.0", "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/inquirer/node_modules/ansi-styles": { @@ -4510,12 +3461,6 @@ "dev": true, "dependencies": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/inquirer/node_modules/chalk": { @@ -4526,12 +3471,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/inquirer/node_modules/color-convert": { @@ -4541,9 +3480,6 @@ "dev": true, "dependencies": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, "node_modules/inquirer/node_modules/color-name": { @@ -4556,10 +3492,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/inquirer/node_modules/supports-color": { "version": "7.2.0", @@ -4568,9 +3501,6 @@ "dev": true, "dependencies": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/internal-slot": { @@ -4581,19 +3511,12 @@ "get-intrinsic": "^1.1.0", "has": "^1.0.3", "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" }, "node_modules/is-alphanumerical": { "version": "1.0.4", @@ -4602,10 +3525,6 @@ "dependencies": { "is-alphabetical": "^1.0.0", "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" } }, "node_modules/is-arguments": { @@ -4615,12 +3534,6 @@ "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-arrayish": { @@ -4634,9 +3547,6 @@ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dependencies": { "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-binary-path": { @@ -4645,9 +3555,6 @@ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dependencies": { "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/is-boolean-object": { @@ -4657,46 +3564,17 @@ "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "engines": { - "node": ">=4" - } + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" }, "node_modules/is-callable": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==" }, "node_modules/is-core-module": { "version": "2.8.0", @@ -4704,9 +3582,6 @@ "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", "dependencies": { "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-date-object": { @@ -4715,55 +3590,33 @@ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dependencies": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-decimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" }, "node_modules/is-directory": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/is-function": { "version": "1.0.2", @@ -4776,12 +3629,6 @@ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dependencies": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-glob": { @@ -4790,28 +3637,18 @@ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/is-hexadecimal": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" }, "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/is-nan": { "version": "1.3.2", @@ -4820,24 +3657,12 @@ "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "node_modules/is-number": { "version": "2.1.0", @@ -4845,9 +3670,6 @@ "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dependencies": { "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/is-number-object": { @@ -4856,12 +3678,6 @@ "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", "dependencies": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-number/node_modules/is-buffer": { @@ -4875,26 +3691,17 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" }, "node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, "node_modules/is-regex": { "version": "1.1.4", @@ -4903,29 +3710,17 @@ "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-shared-array-buffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" }, "node_modules/is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "node_modules/is-string": { "version": "1.0.7", @@ -4933,12 +3728,6 @@ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dependencies": { "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-symbol": { @@ -4947,12 +3736,6 @@ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dependencies": { "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-typed-array": { @@ -4965,25 +3748,13 @@ "es-abstract": "^1.18.5", "foreach": "^2.0.5", "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, "node_modules/is-url": { "version": "1.2.4", @@ -4996,28 +3767,17 @@ "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", "dependencies": { "call-bind": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-whitespace-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==" }, "node_modules/is-word-character": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==" }, "node_modules/isarray": { "version": "1.0.0", @@ -5036,9 +3796,6 @@ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", "dependencies": { "isarray": "1.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/isomorphic-fetch": { @@ -5067,18 +3824,12 @@ "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "node_modules/jest-worker/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", @@ -5086,23 +3837,12 @@ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dependencies": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/jgexml": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/jgexml/-/jgexml-0.4.4.tgz", - "integrity": "sha512-j0AzSWT7LXy3s3i1cdv5NZxUtscocwiBxgOLiEBfitCehm8STdXVrcOlbAWsJFLCq1elZYpQlGqA9k8Z+n9iJA==", - "bin": { - "json2xml": "cli/json2xml.js", - "xml2json": "cli/xml2json.js", - "xsd2json": "cli/xsd2json.js" - } + "integrity": "sha512-j0AzSWT7LXy3s3i1cdv5NZxUtscocwiBxgOLiEBfitCehm8STdXVrcOlbAWsJFLCq1elZYpQlGqA9k8Z+n9iJA==" }, "node_modules/js-tokens": { "version": "4.0.0", @@ -5115,21 +3855,12 @@ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dependencies": { "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, "node_modules/json-bigint": { "version": "1.0.0", @@ -5162,9 +3893,6 @@ "dependencies": { "code-error-fragment": "0.0.230", "grapheme-splitter": "^1.0.4" - }, - "engines": { - "node": ">= 4" } }, "node_modules/json5": { @@ -5173,19 +3901,13 @@ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dependencies": { "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" } }, "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "optionalDependencies": { + "dependencies": { "graceful-fs": "^4.1.6" } }, @@ -5197,9 +3919,6 @@ "dependencies": { "array-includes": "^3.1.3", "object.assign": "^4.1.2" - }, - "engines": { - "node": ">=4.0" } }, "node_modules/jwa": { @@ -5224,10 +3943,7 @@ "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" }, "node_modules/lazy-cache": { "version": "2.0.2", @@ -5235,9 +3951,6 @@ "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", "dependencies": { "set-getter": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/levn": { @@ -5248,9 +3961,6 @@ "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/list-item": { @@ -5262,9 +3972,6 @@ "extend-shallow": "^2.0.1", "is-number": "^2.1.0", "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/loader-utils": { @@ -5275,9 +3982,6 @@ "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" } }, "node_modules/locate-path": { @@ -5287,9 +3991,6 @@ "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/lodash": { @@ -5369,12 +4070,6 @@ "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/log-symbols/node_modules/ansi-styles": { @@ -5384,12 +4079,6 @@ "dev": true, "dependencies": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/log-symbols/node_modules/chalk": { @@ -5400,12 +4089,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/log-symbols/node_modules/color-convert": { @@ -5415,9 +4098,6 @@ "dev": true, "dependencies": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, "node_modules/log-symbols/node_modules/color-name": { @@ -5430,10 +4110,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/log-symbols/node_modules/supports-color": { "version": "7.2.0", @@ -5442,9 +4119,6 @@ "dev": true, "dependencies": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/loose-envify": { @@ -5453,9 +4127,6 @@ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" } }, "node_modules/lower-case": { @@ -5481,9 +4152,6 @@ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/make-dir": { @@ -5492,38 +4160,22 @@ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dependencies": { "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/make-dir/node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, "node_modules/markdown-escapes": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" }, "node_modules/markdown-link": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", - "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=" }, "node_modules/markdown-to-txt": { "version": "1.0.1", @@ -5550,12 +4202,6 @@ "remarkable": "^1.7.1", "repeat-string": "^1.6.1", "strip-color": "^0.1.0" - }, - "bin": { - "markdown-toc": "cli.js" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/markdown-toc/node_modules/argparse": { @@ -5576,9 +4222,6 @@ "extend-shallow": "^2.0.1", "js-yaml": "^3.8.1", "toml": "^2.3.2" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/markdown-toc/node_modules/js-yaml": { @@ -5588,21 +4231,12 @@ "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" } }, "node_modules/marked": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.3.tgz", - "integrity": "sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ==", - "bin": { - "marked": "bin/marked" - }, - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ==" }, "node_modules/math-random": { "version": "1.0.4", @@ -5625,10 +4259,6 @@ "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==", "dependencies": { "unist-util-remove": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/mdast-util-definitions": { @@ -5637,10 +4267,6 @@ "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", "dependencies": { "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/mdast-util-to-hast": { @@ -5656,20 +4282,12 @@ "unist-util-generated": "^1.0.0", "unist-util-position": "^3.0.0", "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/mdast-util-to-string": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", - "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==" }, "node_modules/mdurl": { "version": "1.0.1", @@ -5688,9 +4306,6 @@ "dependencies": { "bn.js": "^4.0.0", "brorand": "^1.0.1" - }, - "bin": { - "miller-rabin": "bin/miller-rabin" } }, "node_modules/miller-rabin/node_modules/bn.js": { @@ -5702,10 +4317,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, "node_modules/mini-css-extract-plugin": { "version": "0.4.3", @@ -5715,12 +4327,6 @@ "loader-utils": "^1.1.0", "schema-utils": "^1.0.0", "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" - }, - "peerDependencies": { - "webpack": "^4.4.0" } }, "node_modules/mini-css-extract-plugin/node_modules/json5": { @@ -5729,9 +4335,6 @@ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dependencies": { "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" } }, "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { @@ -5742,18 +4345,12 @@ "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/mini-svg-data-uri": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.3.tgz", - "integrity": "sha512-gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==", - "bin": { - "mini-svg-data-uri": "cli.js" - } + "integrity": "sha512-gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==" }, "node_modules/minimalistic-assert": { "version": "1.0.1", @@ -5771,9 +4368,6 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dependencies": { "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" } }, "node_modules/minimist": { @@ -5788,9 +4382,6 @@ "dependencies": { "for-in": "^1.0.2", "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/mixin-deep/node_modules/is-extendable": { @@ -5799,9 +4390,6 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dependencies": { "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/mixin-deep/node_modules/is-plain-object": { @@ -5810,26 +4398,17 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dependencies": { "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/mixin-deep/node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "node_modules/moment": { "version": "2.29.2", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", - "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", - "engines": { - "node": "*" - } + "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" }, "node_modules/monaco-editor": { "version": "0.20.0", @@ -5880,16 +4459,6 @@ "moo": "^0.5.0", "railroad-diagrams": "^1.0.0", "randexp": "0.4.6" - }, - "bin": { - "nearley-railroad": "bin/nearley-railroad.js", - "nearley-test": "bin/nearley-test.js", - "nearley-unparse": "bin/nearley-unparse.js", - "nearleyc": "bin/nearleyc.js" - }, - "funding": { - "type": "individual", - "url": "https://nearley.js.org/#give-to-nearley" } }, "node_modules/nearley/node_modules/commander": { @@ -5953,35 +4522,11 @@ "vm-browserify": "1.1.2", "watchpack": "2.1.1" }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=12.0.0" - }, "optionalDependencies": { "@next/swc-darwin-arm64": "11.1.4", "@next/swc-darwin-x64": "11.1.4", "@next/swc-linux-x64-gnu": "11.1.4", "@next/swc-win32-x64-msvc": "11.1.4" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } } }, "node_modules/next/node_modules/browserslist": { @@ -5994,16 +4539,6 @@ "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", "node-releases": "^1.1.71" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" } }, "node_modules/next/node_modules/cssnano-preset-simple": { @@ -6012,37 +4547,20 @@ "integrity": "sha512-vxQPeoMRqUT3c/9f0vWeVa2nKQIHFpogtoBvFdW4GQ3IvEJ6uauCP6p3Y5zQDLFcI7/+40FTgX12o7XUL0Ko+w==", "dependencies": { "caniuse-lite": "^1.0.30001202" - }, - "peerDependencies": { - "postcss": "^8.2.15" } }, "node_modules/next/node_modules/cssnano-simple": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssnano-simple/-/cssnano-simple-3.0.0.tgz", - "integrity": "sha512-oU3ueli5Dtwgh0DyeohcIEE00QVfbPR3HzyXdAl89SfnQG3y0/qcpfLVW+jPIh3/rgMZGwuW96rejZGaYE9eUg==", - "dependencies": { - "cssnano-preset-simple": "^3.0.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - } + "integrity": "sha512-oU3ueli5Dtwgh0DyeohcIEE00QVfbPR3HzyXdAl89SfnQG3y0/qcpfLVW+jPIh3/rgMZGwuW96rejZGaYE9eUg==", + "dependencies": { + "cssnano-preset-simple": "^3.0.0" } }, "node_modules/next/node_modules/nanoid": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==" }, "node_modules/next/node_modules/node-releases": { "version": "1.1.77", @@ -6057,22 +4575,12 @@ "colorette": "^1.2.2", "nanoid": "^3.1.23", "source-map": "^0.6.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, "node_modules/next/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/no-case": { "version": "3.0.4", @@ -6113,10 +4621,7 @@ "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "engines": { - "node": ">= 6.13.0" - } + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==" }, "node_modules/node-html-parser": { "version": "1.4.9", @@ -6191,11 +4696,7 @@ "node_modules/node-libs-browser/node_modules/domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "engines": { - "node": ">=0.4", - "npm": ">=1.2" - } + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "node_modules/node-libs-browser/node_modules/inherits": { "version": "2.0.3", @@ -6249,18 +4750,12 @@ "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "node_modules/normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, "node_modules/normalize.css": { "version": "8.0.1", @@ -6275,26 +4770,17 @@ "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "node_modules/object-hash": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "engines": { - "node": ">= 6" - } + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" }, "node_modules/object-inspect": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz", - "integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "integrity": "sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==" }, "node_modules/object-is": { "version": "1.1.5", @@ -6303,21 +4789,12 @@ "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "engines": { - "node": ">= 0.4" - } + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" }, "node_modules/object.assign": { "version": "4.1.2", @@ -6328,12 +4805,6 @@ "define-properties": "^1.1.3", "has-symbols": "^1.0.1", "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.entries": { @@ -6344,9 +4815,6 @@ "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/object.fromentries": { @@ -6357,12 +4825,6 @@ "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.hasown": { @@ -6373,9 +4835,6 @@ "dependencies": { "define-properties": "^1.1.3", "es-abstract": "^1.19.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object.pick": { @@ -6384,18 +4843,12 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dependencies": { "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/object.pick/node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "node_modules/object.values": { "version": "1.1.5", @@ -6405,12 +4858,6 @@ "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/once": { @@ -6428,12 +4875,6 @@ "dev": true, "dependencies": { "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/openapi-types": { @@ -6453,9 +4894,6 @@ "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/ora": { @@ -6473,12 +4911,6 @@ "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/ora/node_modules/ansi-styles": { @@ -6488,12 +4920,6 @@ "dev": true, "dependencies": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/ora/node_modules/chalk": { @@ -6504,12 +4930,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/ora/node_modules/color-convert": { @@ -6519,9 +4939,6 @@ "dev": true, "dependencies": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, "node_modules/ora/node_modules/color-name": { @@ -6534,10 +4951,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/ora/node_modules/supports-color": { "version": "7.2.0", @@ -6546,9 +4960,6 @@ "dev": true, "dependencies": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/os-browserify": { @@ -6560,10 +4971,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/p-limit": { "version": "3.1.0", @@ -6571,12 +4979,6 @@ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dependencies": { "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-locate": { @@ -6585,9 +4987,6 @@ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "dependencies": { "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/p-locate/node_modules/p-limit": { @@ -6596,18 +4995,12 @@ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dependencies": { "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "node_modules/pako": { "version": "1.0.11", @@ -6630,9 +5023,6 @@ "dev": true, "dependencies": { "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/parse-asn1": { @@ -6667,9 +5057,6 @@ "dependencies": { "error-ex": "^1.3.1", "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" } }, "node_modules/parse5": { @@ -6703,27 +5090,18 @@ "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/path-parse": { "version": "1.0.7", @@ -6740,9 +5118,6 @@ "ripemd160": "^2.0.1", "safe-buffer": "^5.0.1", "sha.js": "^2.4.8" - }, - "engines": { - "node": ">=0.12" } }, "node_modules/performance-now": { @@ -6758,21 +5133,12 @@ "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "node_modules/pkg-dir": { "version": "4.2.0", @@ -6780,9 +5146,6 @@ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dependencies": { "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/pkg-dir/node_modules/find-up": { @@ -6792,9 +5155,6 @@ "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/pkg-dir/node_modules/locate-path": { @@ -6803,9 +5163,6 @@ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dependencies": { "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/pkg-dir/node_modules/p-limit": { @@ -6814,12 +5171,6 @@ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dependencies": { "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pkg-dir/node_modules/p-locate": { @@ -6828,26 +5179,17 @@ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/pkg-dir/node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "node_modules/pkg-dir/node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "node_modules/platform": { "version": "1.3.6", @@ -6860,9 +5202,6 @@ "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", "dependencies": { "ts-pnp": "^1.1.6" - }, - "engines": { - "node": ">=6" } }, "node_modules/postcss": { @@ -6873,13 +5212,6 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" } }, "node_modules/postcss-functions": { @@ -6901,9 +5233,6 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-functions/node_modules/postcss-value-parser": { @@ -6914,10 +5243,7 @@ "node_modules/postcss-functions/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/postcss-import": { "version": "12.0.1", @@ -6928,9 +5254,6 @@ "postcss-value-parser": "^3.2.3", "read-cache": "^1.0.0", "resolve": "^1.1.7" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/postcss-import/node_modules/postcss-value-parser": { @@ -6954,13 +5277,6 @@ "dependencies": { "cosmiconfig": "^5.0.0", "import-cwd": "^2.0.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-loader": { @@ -6972,9 +5288,6 @@ "postcss": "^7.0.0", "postcss-load-config": "^2.0.0", "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6" } }, "node_modules/postcss-loader/node_modules/json5": { @@ -6983,9 +5296,6 @@ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dependencies": { "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" } }, "node_modules/postcss-loader/node_modules/loader-utils": { @@ -6996,9 +5306,6 @@ "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-extract-imports": { @@ -7017,18 +5324,12 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-extract-imports/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/postcss-modules-local-by-default": { "version": "1.2.0", @@ -7047,18 +5348,12 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-local-by-default/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/postcss-modules-scope": { "version": "1.1.0", @@ -7077,18 +5372,12 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-scope/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/postcss-modules-values": { "version": "1.3.0", @@ -7107,18 +5396,12 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-values/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/postcss-nested": { "version": "4.2.3", @@ -7136,9 +5419,6 @@ "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" } }, "node_modules/postcss-value-parser": { @@ -7149,10 +5429,7 @@ "node_modules/postcss/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/postcss/node_modules/supports-color": { "version": "6.1.0", @@ -7160,27 +5437,18 @@ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dependencies": { "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "dev": true }, "node_modules/pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "engines": { - "node": ">= 0.8" - } + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" }, "node_modules/prismjs": { "version": "1.25.0", @@ -7190,10 +5458,7 @@ "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "engines": { - "node": ">= 0.6.0" - } + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" }, "node_modules/process-nextick-args": { "version": "2.0.1", @@ -7204,10 +5469,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "dev": true }, "node_modules/promise": { "version": "7.3.1", @@ -7248,10 +5510,6 @@ "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", "dependencies": { "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" } }, "node_modules/public-encrypt": { @@ -7286,9 +5544,6 @@ "glob": "^7.0.0", "postcss": "7.0.32", "postcss-selector-parser": "^6.0.2" - }, - "bin": { - "purgecss": "bin/purgecss" } }, "node_modules/qs": { @@ -7297,30 +5552,17 @@ "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", "dependencies": { "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/querystring": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.1.tgz", - "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } + "integrity": "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==" }, "node_modules/querystring-es3": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "engines": { - "node": ">=0.4.x" - } + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" }, "node_modules/queue": { "version": "6.0.2", @@ -7350,9 +5592,6 @@ "dependencies": { "discontinuous-range": "1.0.0", "ret": "~0.1.10" - }, - "engines": { - "node": ">=0.12" } }, "node_modules/randomatic": { @@ -7363,18 +5602,12 @@ "is-number": "^4.0.0", "kind-of": "^6.0.0", "math-random": "^1.0.1" - }, - "engines": { - "node": ">= 0.10.0" } }, "node_modules/randomatic/node_modules/is-number": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" }, "node_modules/randombytes": { "version": "2.1.0", @@ -7402,9 +5635,6 @@ "http-errors": "1.7.3", "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" } }, "node_modules/raw-body/node_modules/iconv-lite": { @@ -7413,9 +5643,6 @@ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/react": { @@ -7425,9 +5652,6 @@ "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/react-dom": { @@ -7438,19 +5662,12 @@ "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "scheduler": "^0.20.2" - }, - "peerDependencies": { - "react": "17.0.2" } }, "node_modules/react-ga": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-3.3.0.tgz", - "integrity": "sha512-o8RScHj6Lb8cwy3GMrVH6NJvL+y0zpJvKtc0+wmH7Bt23rszJmnqEQxRbyrqUzk9DTJIHoP42bfO5rswC9SWBQ==", - "peerDependencies": { - "prop-types": "^15.6.0", - "react": "^15.6.2 || ^16.0 || ^17" - } + "integrity": "sha512-o8RScHj6Lb8cwy3GMrVH6NJvL+y0zpJvKtc0+wmH7Bt23rszJmnqEQxRbyrqUzk9DTJIHoP42bfO5rswC9SWBQ==" }, "node_modules/react-gtm-module": { "version": "2.0.11", @@ -7470,24 +5687,16 @@ "node_modules/react-refresh": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", - "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" }, "node_modules/react-scrollspy": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/react-scrollspy/-/react-scrollspy-3.4.3.tgz", "integrity": "sha512-c2QZpMPWxm1HF71h1EqaxBldx2zLYO0aZ24Bcuo2mUWF79T+F6qOtr7XJCzUDm99NOwhVKQD01a7A8VC6c90CQ==", - "deprecated": "No longer actively maintained. Please use @makotot/ghostui instead.", "dependencies": { "babel-runtime": "^6.26.0", "classnames": "^2.2.5", "prop-types": "^15.5.10" - }, - "peerDependencies": { - "react": ">=0.14.0", - "react-dom": ">=0.14.0" } }, "node_modules/react-syntax-highlighter": { @@ -7500,9 +5709,6 @@ "lowlight": "1.12.1", "prismjs": "^1.8.4", "refractor": "^2.4.1" - }, - "peerDependencies": { - "react": ">= 0.14.0" } }, "node_modules/react-test-renderer": { @@ -7514,9 +5720,6 @@ "prop-types": "^15.6.2", "react-is": "^16.8.6", "scheduler": "^0.19.1" - }, - "peerDependencies": { - "react": "^16.14.0" } }, "node_modules/react-test-renderer/node_modules/react-is": { @@ -7539,10 +5742,6 @@ "integrity": "sha512-hMFXhUHgIBCCDaOfOsZAFeO4DGfG/paLyaS/F+X11CXseuScpxmMBUW6Luwjk9/FlGrVJWNGy1FSfK6b4yyiIg==", "dependencies": { "prop-types": "^15.5.7" - }, - "peerDependencies": { - "react": "^15.4.1 || ^16.0.0", - "react-dom": "^15.4.1 || ^16.0.0" } }, "node_modules/react-twitter-embed": { @@ -7554,15 +5753,6 @@ "exenv": "^1.2.2", "react-proptype-conditional-require": "^1.0.4", "scriptjs": "^2.5.9" - }, - "engines": { - "node": ">=8", - "npm": ">=5" - }, - "peerDependencies": { - "prop-types": "^15.5.4", - "react": "^15.0.0 || ^16.0.0", - "react-dom": "^15.0.0 || ^16.0.0" } }, "node_modules/react-typing-animation": { @@ -7573,11 +5763,6 @@ "raf": "^3.4.0", "shortid": "^2.2.8", "styled-components": "^1.4.6" - }, - "peerDependencies": { - "prop-types": "^15.6.1", - "react": "^16.0.0", - "react-dom": "^16.0.0" } }, "node_modules/react-youtube-embed": { @@ -7596,10 +5781,7 @@ "node_modules/react-youtube-embed/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/react-youtube-embed/node_modules/styled-jsx": { "version": "2.2.7", @@ -7614,9 +5796,6 @@ "string-hash": "1.1.3", "stylis": "3.5.1", "stylis-rule-sheet": "0.0.10" - }, - "peerDependencies": { - "react": "15.x.x || 16.x.x" } }, "node_modules/react-youtube-embed/node_modules/stylis": { @@ -7660,9 +5839,6 @@ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dependencies": { "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" } }, "node_modules/reading-time": { @@ -7697,10 +5873,6 @@ "hastscript": "^5.0.0", "parse-entities": "^1.1.2", "prismjs": "~1.17.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" } }, "node_modules/refractor/node_modules/hastscript": { @@ -7712,10 +5884,6 @@ "hast-util-parse-selector": "^2.0.0", "property-information": "^5.0.0", "space-separated-tokens": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/refractor/node_modules/prismjs": { @@ -7739,34 +5907,18 @@ "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } + "dev": true }, "node_modules/remark-footnotes": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz", - "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==" }, "node_modules/remark-frontmatter": { "version": "2.0.0", @@ -7774,10 +5926,6 @@ "integrity": "sha512-uNOQt4tO14qBFWXenF0MLC4cqo3dv8qiHPGyjCl1rwOT0LomSHpcElbjjVh5CwzElInB38HD8aSRVugKQjeyHA==", "dependencies": { "fault": "^1.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/remark-gemoji-to-emoji": { @@ -7816,9 +5964,6 @@ "integrity": "sha512-86QaOiL+8jTV9P5Y0S25kSIcykCd/XmnqiFltWZRWKHmsVT4sevN7QJnkpUjkCJUpIeWte/LYH7pVlCTGz89fw==", "dependencies": { "unist-util-visit": "^1.4.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/remark-heading-id/node_modules/unist-util-is": { @@ -7850,10 +5995,6 @@ "is-url": "^1.2.2", "unist-util-is": "^4.0.0", "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/remark-mdx": { @@ -7869,10 +6010,6 @@ "is-alphabetical": "1.0.4", "remark-parse": "8.0.3", "unified": "9.2.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/remark-mdx/node_modules/@babel/helper-plugin-utils": { @@ -7901,10 +6038,6 @@ "unist-util-remove-position": "^2.0.0", "vfile-location": "^3.0.0", "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/remark-parse/node_modules/parse-entities": { @@ -7918,10 +6051,6 @@ "is-alphanumerical": "^1.0.0", "is-decimal": "^1.0.0", "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" } }, "node_modules/remark-slug": { @@ -7932,10 +6061,6 @@ "github-slugger": "^1.0.0", "mdast-util-to-string": "^1.0.0", "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/remark-squeeze-paragraphs": { @@ -7944,10 +6069,6 @@ "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==", "dependencies": { "mdast-squeeze-paragraphs": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/remarkable": { @@ -7957,12 +6078,6 @@ "dependencies": { "argparse": "^1.0.10", "autolinker": "~0.28.0" - }, - "bin": { - "remarkable": "bin/remarkable.js" - }, - "engines": { - "node": ">= 0.10.0" } }, "node_modules/remarkable/node_modules/argparse": { @@ -7976,27 +6091,18 @@ "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", - "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==" }, "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "engines": { - "node": ">=0.10" - } + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/resolve": { "version": "1.20.0", @@ -8005,19 +6111,13 @@ "dependencies": { "is-core-module": "^2.2.0", "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } + "dev": true }, "node_modules/restore-cursor": { "version": "3.1.0", @@ -8027,18 +6127,12 @@ "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" } }, "node_modules/ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "engines": { - "node": ">=0.12" - } + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "node_modules/rimraf": { "version": "3.0.2", @@ -8047,12 +6141,6 @@ "dev": true, "dependencies": { "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" } }, "node_modules/ripemd160": { @@ -8068,10 +6156,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } + "dev": true }, "node_modules/rxjs": { "version": "7.5.2", @@ -8109,9 +6194,6 @@ "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/scriptjs": { @@ -8126,9 +6208,6 @@ "dependencies": { "extend-shallow": "^2.0.1", "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/select": { @@ -8140,10 +6219,7 @@ "node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "node_modules/sentence-case": { "version": "3.0.4", @@ -8161,9 +6237,6 @@ "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", "dependencies": { "to-object-path": "^0.3.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/setimmediate": { @@ -8183,9 +6256,6 @@ "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" } }, "node_modules/shebang-command": { @@ -8195,19 +6265,13 @@ "dev": true, "dependencies": { "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/shell-quote": { "version": "1.7.2", @@ -8230,9 +6294,6 @@ "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { @@ -8263,12 +6324,6 @@ "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/slice-ansi/node_modules/ansi-styles": { @@ -8278,12 +6333,6 @@ "dev": true, "dependencies": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/slice-ansi/node_modules/color-convert": { @@ -8293,9 +6342,6 @@ "dev": true, "dependencies": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, "node_modules/slice-ansi/node_modules/color-name": { @@ -8321,19 +6367,12 @@ "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "node_modules/space-separated-tokens": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" }, "node_modules/sprintf-js": { "version": "1.0.3", @@ -8346,9 +6385,6 @@ "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "dependencies": { "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=6" } }, "node_modules/state-local": { @@ -8359,19 +6395,12 @@ "node_modules/state-toggle": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==" }, "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, "node_modules/stream-browserify": { "version": "3.0.0", @@ -8390,9 +6419,6 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/stream-http": { @@ -8414,9 +6440,6 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/stream-parser": { @@ -8451,21 +6474,7 @@ "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "node_modules/string-hash": { "version": "1.1.3", @@ -8481,9 +6490,6 @@ "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/string.prototype.matchall": { @@ -8500,9 +6506,6 @@ "internal-slot": "^1.0.3", "regexp.prototype.flags": "^1.3.1", "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimend": { @@ -8512,9 +6515,6 @@ "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { @@ -8524,9 +6524,6 @@ "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/strip-ansi": { @@ -8536,38 +6533,23 @@ "dev": true, "dependencies": { "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/strip-bom-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=" }, "node_modules/strip-color": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", - "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=" }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "dev": true }, "node_modules/style-to-object": { "version": "0.3.0", @@ -8590,18 +6572,12 @@ "is-plain-object": "^2.0.1", "prop-types": "^15.5.4", "supports-color": "^3.1.2" - }, - "peerDependencies": { - "react": "^0.14.0 || ^15.0.0-0" } }, "node_modules/styled-components/node_modules/has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "node_modules/styled-components/node_modules/is-plain-object": { "version": "2.0.4", @@ -8609,18 +6585,12 @@ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dependencies": { "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/styled-components/node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "node_modules/styled-components/node_modules/supports-color": { "version": "3.2.3", @@ -8628,9 +6598,6 @@ "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "dependencies": { "has-flag": "^1.0.0" - }, - "engines": { - "node": ">=0.8.0" } }, "node_modules/styled-jsx": { @@ -8646,17 +6613,6 @@ "string-hash": "1.1.3", "stylis": "3.5.4", "stylis-rule-sheet": "0.0.10" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || 18.x.x" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - } } }, "node_modules/styled-jsx/node_modules/@babel/plugin-syntax-jsx": { @@ -8665,12 +6621,6 @@ "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/styled-jsx/node_modules/@babel/types": { @@ -8680,9 +6630,6 @@ "dependencies": { "@babel/helper-validator-identifier": "^7.14.9", "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/styled-jsx/node_modules/convert-source-map": { @@ -8696,10 +6643,7 @@ "node_modules/styled-jsx/node_modules/emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "engines": { - "node": ">= 0.10" - } + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, "node_modules/styled-jsx/node_modules/json5": { "version": "1.0.1", @@ -8707,9 +6651,6 @@ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "dependencies": { "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" } }, "node_modules/styled-jsx/node_modules/loader-utils": { @@ -8720,18 +6661,12 @@ "big.js": "^5.2.2", "emojis-list": "^2.0.0", "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/styled-jsx/node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" }, "node_modules/stylis": { "version": "3.5.4", @@ -8741,10 +6676,7 @@ "node_modules/stylis-rule-sheet": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", - "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==", - "peerDependencies": { - "stylis": "^3.5.0" - } + "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" }, "node_modules/supports-color": { "version": "5.5.0", @@ -8752,9 +6684,6 @@ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/table": { @@ -8768,9 +6697,6 @@ "slice-ansi": "^4.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" } }, "node_modules/table/node_modules/ajv": { @@ -8783,10 +6709,6 @@ "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" } }, "node_modules/table/node_modules/json-schema-traverse": { @@ -8822,20 +6744,12 @@ "pretty-hrtime": "^1.0.3", "reduce-css-calc": "^2.1.6", "resolve": "^1.14.2" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=8.9.0" } }, "node_modules/tailwindcss-animations": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/tailwindcss-animations/-/tailwindcss-animations-2.0.0.tgz", "integrity": "sha512-YLdhPiQeDtpnqWd0J70rvy08MDbsq+BBLrzMmPR1Pe6MJDFYDuk4CYGI14GVgj7xRBGkByzp/rAfBcUWD7zpng==", - "deprecated": "Use Tailwind 1.6's animation utilities", "dependencies": { "lodash": "^4.17.15" } @@ -8846,12 +6760,6 @@ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/tailwindcss/node_modules/chalk": { @@ -8861,12 +6769,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/tailwindcss/node_modules/color-convert": { @@ -8875,9 +6777,6 @@ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, "node_modules/tailwindcss/node_modules/color-name": { @@ -8888,10 +6787,7 @@ "node_modules/tailwindcss/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "node_modules/tailwindcss/node_modules/supports-color": { "version": "7.2.0", @@ -8899,9 +6795,6 @@ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/text-table": { @@ -8931,9 +6824,6 @@ "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dependencies": { "setimmediate": "^1.0.4" - }, - "engines": { - "node": ">=0.6.0" } }, "node_modules/tiny-emitter": { @@ -8954,9 +6844,6 @@ "dev": true, "dependencies": { "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" } }, "node_modules/to-arraybuffer": { @@ -8967,10 +6854,7 @@ "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "engines": { - "node": ">=4" - } + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" }, "node_modules/to-object-path": { "version": "0.3.0", @@ -8978,9 +6862,6 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dependencies": { "kind-of": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/to-object-path/node_modules/is-buffer": { @@ -8994,9 +6875,6 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dependencies": { "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/to-regex-range": { @@ -9005,26 +6883,17 @@ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" } }, "node_modules/to-regex-range/node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "node_modules/toidentifier": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "engines": { - "node": ">=0.6" - } + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" }, "node_modules/toml": { "version": "2.3.6", @@ -9049,33 +6918,17 @@ "node_modules/trim-trailing-lines": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==" }, "node_modules/trough": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==" }, "node_modules/ts-pnp": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "engines": { - "node": ">=6" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" }, "node_modules/tslib": { "version": "2.3.1", @@ -9094,18 +6947,12 @@ "dev": true, "dependencies": { "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/type-fest": { "version": "0.7.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==" }, "node_modules/typedarray": { "version": "0.0.6", @@ -9115,20 +6962,7 @@ "node_modules/ua-parser-js": { "version": "0.7.31", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==" }, "node_modules/unbox-primitive": { "version": "1.0.1", @@ -9139,9 +6973,6 @@ "has-bigints": "^1.0.1", "has-symbols": "^1.0.2", "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/unherit": { @@ -9151,10 +6982,6 @@ "dependencies": { "inherits": "^2.0.0", "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" } }, "node_modules/unified": { @@ -9168,47 +6995,27 @@ "is-plain-obj": "^2.0.0", "trough": "^1.0.0", "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/unist-builder": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==" }, "node_modules/unist-util-generated": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==" }, "node_modules/unist-util-is": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==" }, "node_modules/unist-util-position": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==" }, "node_modules/unist-util-remove": { "version": "2.1.0", @@ -9216,10 +7023,6 @@ "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==", "dependencies": { "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/unist-util-remove-position": { @@ -9228,10 +7031,6 @@ "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", "dependencies": { "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/unist-util-stringify-position": { @@ -9240,10 +7039,6 @@ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", "dependencies": { "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/unist-util-visit": { @@ -9254,10 +7049,6 @@ "@types/unist": "^2.0.0", "unist-util-is": "^4.0.0", "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/unist-util-visit-parents": { @@ -9267,10 +7058,6 @@ "dependencies": { "@types/unist": "^2.0.0", "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/universal-user-agent": { @@ -9281,18 +7068,12 @@ "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "node_modules/upper-case": { "version": "2.0.2", @@ -9321,10 +7102,7 @@ "node_modules/uri-js/node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "node_modules/url": { "version": "0.11.0", @@ -9348,11 +7126,7 @@ "node_modules/url/node_modules/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", - "engines": { - "node": ">=0.4.x" - } + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" }, "node_modules/use-subscription": { "version": "1.5.1", @@ -9360,9 +7134,6 @@ "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==", "dependencies": { "object-assign": "^4.1.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0" } }, "node_modules/util": { @@ -9386,10 +7157,7 @@ "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "node_modules/v8-compile-cache": { "version": "2.3.0", @@ -9400,10 +7168,7 @@ "node_modules/validator": { "version": "13.7.0", "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", - "engines": { - "node": ">= 0.10" - } + "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" }, "node_modules/vfile": { "version": "4.2.1", @@ -9414,20 +7179,12 @@ "is-buffer": "^2.0.0", "unist-util-stringify-position": "^2.0.0", "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/vfile-location": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==" }, "node_modules/vfile-message": { "version": "2.0.4", @@ -9436,10 +7193,6 @@ "dependencies": { "@types/unist": "^2.0.0", "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" } }, "node_modules/vm-browserify": { @@ -9454,9 +7207,6 @@ "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" } }, "node_modules/wcwidth": { @@ -9471,11 +7221,7 @@ "node_modules/web-namespaces": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz", - "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==" }, "node_modules/webidl-conversions": { "version": "3.0.1", @@ -9494,10 +7240,7 @@ "node_modules/webpack-sources/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/whatwg-fetch": { "version": "3.6.2", @@ -9520,12 +7263,6 @@ "dev": true, "dependencies": { "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" } }, "node_modules/which-boxed-primitive": { @@ -9538,9 +7275,6 @@ "is-number-object": "^1.0.4", "is-string": "^1.0.5", "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-typed-array": { @@ -9554,22 +7288,13 @@ "foreach": "^2.0.5", "has-tostringtag": "^1.0.0", "is-typed-array": "^1.1.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/wrappy": { "version": "1.0.2", @@ -9579,10 +7304,7 @@ "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "node_modules/yallist": { "version": "4.0.0", @@ -9597,13 +7319,7 @@ "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" }, "node_modules/z-schema": { "version": "5.0.2", @@ -9614,12 +7330,6 @@ "lodash.isequal": "^4.5.0", "validator": "^13.7.0" }, - "bin": { - "z-schema": "bin/z-schema" - }, - "engines": { - "node": ">=8.0.0" - }, "optionalDependencies": { "commander": "^2.7.1" } @@ -9633,11 +7343,7 @@ "node_modules/zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", - "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } + "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==" } }, "dependencies": { @@ -10077,8 +7783,7 @@ "@heroicons/react": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-1.0.5.tgz", - "integrity": "sha512-UDMyLM2KavIu2vlWfMspapw9yii7aoLwzI2Hudx4fyoPwfKfxU8r3cL8dEBXOjcLG0/oOONZzbT14M1HoNtEcg==", - "requires": {} + "integrity": "sha512-UDMyLM2KavIu2vlWfMspapw9yii7aoLwzI2Hudx4fyoPwfKfxU8r3cL8dEBXOjcLG0/oOONZzbT14M1HoNtEcg==" }, "@humanwhocodes/config-array": { "version": "0.5.0", @@ -10141,8 +7846,7 @@ "@mdx-js/react": { "version": "1.6.22", "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz", - "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==", - "requires": {} + "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==" }, "@mdx-js/util": { "version": "1.6.22", @@ -10178,8 +7882,7 @@ "@next/mdx": { "version": "9.5.5", "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-9.5.5.tgz", - "integrity": "sha512-IdwwXrxqNhZuEeyVdCKtv1R2CqIsAZm/rtCUbE5WImFW3VK8nrSFDFi+JkoWoDcHgGgaJYgfoYAoieHV5POGJg==", - "requires": {} + "integrity": "sha512-IdwwXrxqNhZuEeyVdCKtv1R2CqIsAZm/rtCUbE5WImFW3VK8nrSFDFi+JkoWoDcHgGgaJYgfoYAoieHV5POGJg==" }, "@next/polyfill-module": { "version": "11.1.4", @@ -10481,8 +8184,7 @@ "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "acorn-node": { "version": "1.8.2", @@ -10544,14 +8246,12 @@ "ajv-errors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "requires": {} + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, "anser": { "version": "1.4.9", @@ -15364,8 +13064,7 @@ "react-ga": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-3.3.0.tgz", - "integrity": "sha512-o8RScHj6Lb8cwy3GMrVH6NJvL+y0zpJvKtc0+wmH7Bt23rszJmnqEQxRbyrqUzk9DTJIHoP42bfO5rswC9SWBQ==", - "requires": {} + "integrity": "sha512-o8RScHj6Lb8cwy3GMrVH6NJvL+y0zpJvKtc0+wmH7Bt23rszJmnqEQxRbyrqUzk9DTJIHoP42bfO5rswC9SWBQ==" }, "react-gtm-module": { "version": "2.0.11", @@ -16410,8 +14109,7 @@ "stylis-rule-sheet": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", - "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==", - "requires": {} + "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" }, "supports-color": { "version": "5.5.0", diff --git a/pages/_app.js b/pages/_app.js index e985bc9ad2a..b6768f3c5d4 100644 --- a/pages/_app.js +++ b/pages/_app.js @@ -18,6 +18,7 @@ import NewsletterSubscribe from '../components/NewsletterSubscribe' import Banner from '../components/campaigns/Banner' import Link from 'next/link' import DocsButton from '../components/buttons/DocsButton'; +import { DocsCards } from '../components/docs/DocsCards' import AppContext from '../context/AppContext' import Footer from "../components/Footer"; import '../css/styles.css' @@ -99,6 +100,7 @@ function getMDXComponents() { Row, Column, Figure, + DocsCards, GeneratorInstallation, NewsletterSubscribe, TwitterTimelineEmbed, diff --git a/pages/blog/index.js b/pages/blog/index.js index 52888dff916..a142194e84b 100644 --- a/pages/blog/index.js +++ b/pages/blog/index.js @@ -1,5 +1,6 @@ import { useContext, useState } from "react"; import Link from "next/link"; +import { useRouter } from "next/router"; import NavBar from "../../components/navigation/NavBar"; import Container from "../../components/layout/Container"; import BlogContext from "../../context/BlogContext"; @@ -13,8 +14,10 @@ import Heading from "../../components/typography/Heading"; import StickyNavbar from "../../components/navigation/StickyNavbar" import Paragraph from "../../components/typography/Paragraph"; import TextLink from "../../components/typography/TextLink"; +import Button from "../../components/buttons/Button"; export default function BlogIndexPage() { + const router = useRouter(); const { navItems } = useContext(BlogContext); const [posts, setPosts] = useState( navItems.sort((i1, i2) => { @@ -40,6 +43,12 @@ export default function BlogIndexPage() { name: "tags", }, ]; + const clearFilters = () => { + router.push(`${router.pathname}`, undefined, { + shallow: true, + }); + }; + const showClearFilters = Object.keys(router.query).length > 0; return (
    @@ -87,12 +96,18 @@ export default function BlogIndexPage() { - - Clear filters - + {showClearFilters && ( + + )}
    {!Object.keys(posts).length ? ( diff --git a/pages/docs/_section.md b/pages/docs/_section.md new file mode 100644 index 00000000000..29113941ca0 --- /dev/null +++ b/pages/docs/_section.md @@ -0,0 +1,4 @@ +--- +title: Home +weight: 0 +--- \ No newline at end of file diff --git a/pages/docs/concepts/_section.md b/pages/docs/concepts/_section.md new file mode 100644 index 00000000000..89e26ec0c49 --- /dev/null +++ b/pages/docs/concepts/_section.md @@ -0,0 +1,4 @@ +--- +title: 'Concepts' +weight: 1 +--- \ No newline at end of file diff --git a/pages/docs/concepts/index.md b/pages/docs/concepts/index.md new file mode 100644 index 00000000000..7f15c0d8585 --- /dev/null +++ b/pages/docs/concepts/index.md @@ -0,0 +1,25 @@ +--- +title: 'Overview' +weight: 1 +--- + +## Concepts: Define AsyncAPI features and capabilities + +Welcome to AsyncAPI **Concepts**! Our Concepts section will define the concepts of AsyncAPI features and capabilities. + + + +## Contribute to AsyncAPI Concepts +Code isn't the only way to contribute to OSS; Dev Docs are a **huge** help that benefit the entire OSS ecosystem. At AsyncAPI, we value Doc contributions as much as every other type of contribution. ❤️ + +To get started as a Docs contributor: +1. Familiarize yourself with our [project's Contribution Guide](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md) and our [Code of Conduct](https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md). +2. Head over to our [AsyncAPI Docs Board](https://github.com/orgs/asyncapi/projects/8). +3. Pick an issue you would like to contribute to and leave a comment introducing yourself. This is also the perfect place to leave any questions you may have on how to get started. +4. If there is no work done in that Docs issue yet, feel free to open a PR and get started! + +### Docs contributor questions +Do you have a documentation contributor question and you're wondering how to tag me into a GitHub discussion or PR? Never fear! + +Tag me in your AsyncAPI Doc PRs or [GitHub Discussions](https://github.com/asyncapi/community/discussions/categories/docs) via my GitHub handle, [`alequetzalli`](https://github.com/alequetzalli) 🐙. + \ No newline at end of file diff --git a/pages/docs/index.md b/pages/docs/index.md new file mode 100644 index 00000000000..3e37ac09f8c --- /dev/null +++ b/pages/docs/index.md @@ -0,0 +1,14 @@ +--- +title: Welcome +weight: 0 +--- + +## Welcome to AsyncAPI Docs! + +AsyncAPI is an open source initiative that seeks to improve the current state of Event-Driven Architectures (EDA). Our long-term goal is to make working with EDAs as easy as working with REST APIs. That goes from documentation to code generation, from discovery to event management, and beyond. + + + +## Explore the Docs + + diff --git a/pages/docs/reference/_section.md b/pages/docs/reference/_section.md new file mode 100644 index 00000000000..14348acd6c3 --- /dev/null +++ b/pages/docs/reference/_section.md @@ -0,0 +1,4 @@ +--- +title: 'Reference' +weight: 4 +--- \ No newline at end of file diff --git a/pages/docs/reference/index.md b/pages/docs/reference/index.md new file mode 100644 index 00000000000..285c009febc --- /dev/null +++ b/pages/docs/reference/index.md @@ -0,0 +1,25 @@ +--- +title: Overview +weight: 2 +--- + +## Reference: AsyncAPI Specification + +Welcome to AsyncAPI **Reference**! Our Reference section documents the AsyncAPI specification. + + + +## Contribute to the AsyncAPI Reference section +Code isn't the only way to contribute to OSS; Dev Docs are a **huge** help that benefit the entire OSS ecosystem. At AsyncAPI, we value Doc contributions as much as every other type of contribution. ❤️ + +To get started as a Docs contributor: +1. Familiarize yourself with our [project's Contribution Guide](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md) and our [Code of Conduct](https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md). +2. Head over to our [AsyncAPI Docs Board](https://github.com/orgs/asyncapi/projects/8). +3. Pick an issue you would like to contribute to and leave a comment introducing yourself. This is also the perfect place to leave any questions you may have on how to get started. +4. If there is no work done in that Docs issue yet, feel free to open a PR and get started! + +### Docs contributor questions +Do you have a documentation contributor question and you're wondering how to tag me into a GitHub discussion or PR? Never fear! + +Tag me in your AsyncAPI Doc PRs or [GitHub Discussions](https://github.com/asyncapi/community/discussions/categories/docs) via my GitHub handle, [`alequetzalli`](https://github.com/alequetzalli) 🐙. + diff --git a/pages/docs/specifications/_section.md b/pages/docs/reference/specification/_section.md similarity index 73% rename from pages/docs/specifications/_section.md rename to pages/docs/reference/specification/_section.md index 6d500d2e803..a7977d16675 100644 --- a/pages/docs/specifications/_section.md +++ b/pages/docs/reference/specification/_section.md @@ -1,4 +1,4 @@ --- title: Specification -weight: 2 +weight: 5 --- \ No newline at end of file diff --git a/pages/docs/specifications/v2.0.0.md b/pages/docs/reference/specification/v2.0.0.md similarity index 100% rename from pages/docs/specifications/v2.0.0.md rename to pages/docs/reference/specification/v2.0.0.md diff --git a/pages/docs/specifications/v2.1.0.md b/pages/docs/reference/specification/v2.1.0.md similarity index 100% rename from pages/docs/specifications/v2.1.0.md rename to pages/docs/reference/specification/v2.1.0.md diff --git a/pages/docs/specifications/v2.2.0.md b/pages/docs/reference/specification/v2.2.0.md similarity index 100% rename from pages/docs/specifications/v2.2.0.md rename to pages/docs/reference/specification/v2.2.0.md diff --git a/pages/docs/specifications/v2.3.0.md b/pages/docs/reference/specification/v2.3.0.md similarity index 100% rename from pages/docs/specifications/v2.3.0.md rename to pages/docs/reference/specification/v2.3.0.md diff --git a/pages/docs/specifications/v2.4.0.md b/pages/docs/reference/specification/v2.4.0.md similarity index 99% rename from pages/docs/specifications/v2.4.0.md rename to pages/docs/reference/specification/v2.4.0.md index f290d05d70c..22ed48dbe69 100644 --- a/pages/docs/specifications/v2.4.0.md +++ b/pages/docs/reference/specification/v2.4.0.md @@ -136,12 +136,12 @@ It is RECOMMENDED to use a [URN](https://tools.ietf.org/html/rfc8141) to globall ```json { - "id": "urn:com:smartylighting:streetlights:server" + "id": "urn:example:com:smartylighting:streetlights:server" } ``` ```yaml -id: 'urn:com:smartylighting:streetlights:server' +id: 'urn:example:com:smartylighting:streetlights:server' ``` ```json @@ -1843,10 +1843,12 @@ additionalProperties: "required": [ "name" ], - "example": { - "name": "Puma", - "id": 1 - } + "examples": [ + { + "name": "Puma", + "id": 1 + } + ] } ``` @@ -1860,8 +1862,8 @@ properties: type: string required: - name -example: - name: Puma +examples: +- name: Puma id: 1 ``` @@ -2502,6 +2504,3 @@ boolean | `boolean` | | | date | `string` | `date` | As defined by `full-date` - [RFC3339](https://xml2rfc.ietf.org/public/rfc/html/rfc3339.html#anchor14) dateTime | `string` | `date-time` | As defined by `date-time` - [RFC3339](https://xml2rfc.ietf.org/public/rfc/html/rfc3339.html#anchor14) password | `string` | `password` | Used to hint UIs the input needs to be obscured. - - - diff --git a/pages/docs/community/_section.md b/pages/docs/tools/_section.md similarity index 50% rename from pages/docs/community/_section.md rename to pages/docs/tools/_section.md index b06e50c5303..11c3218e65b 100644 --- a/pages/docs/community/_section.md +++ b/pages/docs/tools/_section.md @@ -1,4 +1,4 @@ --- -title: Community +title: 'Tools' weight: 3 --- \ No newline at end of file diff --git a/pages/docs/community/tooling.md b/pages/docs/tools/index.md similarity index 86% rename from pages/docs/community/tooling.md rename to pages/docs/tools/index.md index 080ddaa2141..a2f479466c7 100644 --- a/pages/docs/community/tooling.md +++ b/pages/docs/tools/index.md @@ -1,14 +1,39 @@ --- -title: Tooling +title: 'Overview' weight: 0 --- -This page contains a list of AsyncAPI tooling. Would you like to add your tool to this list? [Let us know!](https://github.com/asyncapi/asyncapi/issues/new) +## Tools: the AsyncAPI tools ecosystem + +Welcome to AsyncAPI **Tools**! Our Tools section documents the AsyncAPI tools ecosystem. + + + +## Contribute to AsyncAPI Tools +Code isn't the only way to contribute to OSS; Dev Docs are a **huge** help that benefit the entire OSS ecosystem. At AsyncAPI, we value Doc contributions as much as every other type of contribution. ❤️ + +To get started as a Docs contributor: +1. Familiarize yourself with our [project's Contribution Guide](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md) and our [Code of Conduct](https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md). +2. Head over to our [AsyncAPI Docs Board](https://github.com/orgs/asyncapi/projects/8). +3. Pick an issue you would like to contribute to and leave a comment introducing yourself. This is also the perfect place to leave any questions you may have on how to get started. +4. If there is no work done in that Docs issue yet, feel free to open a PR and get started! + +### Docs contributor questions +Do you have a documentation contributor question and you're wondering how to tag me into a GitHub discussion or PR? Never fear! + +Tag me in your AsyncAPI Doc PRs or [GitHub Discussions](https://github.com/asyncapi/community/discussions/categories/docs) via my GitHub handle, [`alequetzalli`](https://github.com/alequetzalli) 🐙. + + +___ + +## AsyncAPI Tools List + +Would you like to add your tool to this list? [Let us know!](https://github.com/asyncapi/asyncapi/issues/new) > Please, before you decide to create a new tool, consider contributing to the existing ones. Thanks! -# Code-first tools +## Code-first tools The following is a list of tools that generate AsyncAPI documents from your code. @@ -23,7 +48,7 @@ The following is a list of tools that generate AsyncAPI documents from your code | [EventBridge Atlas](https://github.com/boyney123/eventbridge-atlas) | Tool that translates your AWS EventBridge Schemas into an AsyncAPI document and a web UI | Node | [Neuroglia AsyncAPI](https://github.com/neuroglia-io/AsyncApi) | Automatically generates and serves AsyncAPI documents based on your code. Includes fluent-builders to create AsyncAPI documents from scratch, and provides a web-based GUI to browse generated documents, | C# / .NET 5.0 -# Code Generators +## Code Generators The following is a list of tools that generate code from an AsyncAPI document; not the other way around. @@ -34,7 +59,7 @@ The following is a list of tools that generate code from an AsyncAPI document; n The language you're looking for is not here? You created a new code generator and want to list it here? [Let us know!](https://github.com/asyncapi/asyncapi/issues/new) -# Converters +## Converters The following is a list of tools that do not yet belong to any specific category but are also useful for the community. @@ -44,7 +69,7 @@ The following is a list of tools that do not yet belong to any specific category | [Converter Go](https://github.com/asyncapi/converter-go) | Converts old versions of AsyncAPI files into the latest version. Thanks to [@Kyma team](https://kyma-project.io/). | Go | [AsyncAPI-format](https://github.com/thim81/asyncapi-format) | Format an AsyncAPI document by ordering, casing, formatting, and filtering fields. | NodeJS -# Directories +## Directories The following is a list of directories that index public AsyncAPI documents. @@ -53,7 +78,7 @@ The following is a list of directories that index public AsyncAPI documents. | [AsyncAPI-Directory by APIs.guru](https://apis.guru/asyncapi-directory/) | Directory of asynchronous API specifications in AsyncAPI format. Thanks to [@PermittedSoc](https://twitter.com/@Permittedsoc). | N/A | [API Tracker - AsyncAPI specs](https://apitracker.io/specifications/asyncapi) | Explore APIs and companies with public AsyncAPI specifications. | N/A -# Documentation Generators +## Documentation Generators The following is a list of tools that generate human-readable documentation from an AsyncAPI document. @@ -81,7 +106,7 @@ Writing YAML by hand is no fun, and maybe you don't want a GUI, so use a Domain | :------------- | :------------- | :------------- | | [BOATS](https://www.npmjs.com/package/boats) | Compile your single AsyncAPI file from multiple YAML files with BOATS and with the help of the template engine Nunjucks, plus a many extra helpers to automate much of the donkey work. The [AsyncAPI Parser](https://github.com/asyncapi/parser-js) is used to validate the output. | CLI / JavaScript | -# Frameworks +## Frameworks The following is a list of API/application frameworks that make use of AsyncAPI. @@ -89,7 +114,7 @@ The following is a list of API/application frameworks that make use of AsyncAPI. | :------------- | :------------- | :------------- | | [Asynction](https://github.com/dedoussis/asynction) | SocketIO server framework driven by the AsyncAPI specification. Asynction guarantees that your API will work in accordance with its AsyncAPI documentation. Built on top of Flask-SocketIO. | Python | -# GitHub Actions +## GitHub Actions The following is a list of [GitHub Actions](https://github.com/features/actions) that you can use in your workflows: @@ -100,7 +125,7 @@ The following is a list of [GitHub Actions](https://github.com/features/actions) | [API documentation on Bump](https://github.com/marketplace/actions/api-documentation-on-bump) | With this Github Action you can automatically generate your API reference (with the changelog and diff) on [Bump](https://bump.sh) from any AsyncAPI file. | [Automated version bump for AsyncAPI documents](https://github.com/marketplace/actions/automated-version-bump-for-asyncapi) | With this Github Action, you can automatically bump the version based on commit messages, which is similar to what semantic-release is for NPM. -# Mocking and Testing {#mocking} +## Mocking and Testing {#mocking} The tools below take specification documents as input, then publish fake messages to broker destinations for simulation purposes. They may also check that publisher messages are compliant with schemas. @@ -109,7 +134,7 @@ The tools below take specification documents as input, then publish fake message | [Microcks](https://microcks.io) | Mocking and testing platform for API and microservices. Turn your AsyncAPI, OpenAPI contract examples, or Postman collections into ready-to-use mocks. Use examples to simulate and validate received messages according to schema elements. | Kubernetes-native, Self-hosted / SaaS, Open Source | | [Virtualan](https://virtualan.io) | Mocking and testing platform for API and microservices. Allows you to create and setup mocks for OpenAPI and AsyncAPI contracts. Shows how to setup and create AsyncAPI [GitHub Reference Examples](https://github.com/virtualansoftware/AsyncAPI-Virtualization) and OpenAPI [GitHub Reference Examples](https://github.com/virtualansoftware/service-virtualization-openapi). | Kubernetes-native, Self-hosted / SaaS, Open Source | -# Validators {#validators} +## Validators {#validators} The following is a list of tools that validate AsyncAPI documents. diff --git a/pages/docs/tutorials/_section.md b/pages/docs/tutorials/_section.md index d98e3d75b14..23b11a5a744 100644 --- a/pages/docs/tutorials/_section.md +++ b/pages/docs/tutorials/_section.md @@ -1,4 +1,4 @@ --- -title: Tutorials -weight: 1 +title: 'Tutorials' +weight: 2 --- \ No newline at end of file diff --git a/pages/docs/getting-started/_section.md b/pages/docs/tutorials/getting-started/_section.md similarity index 73% rename from pages/docs/getting-started/_section.md rename to pages/docs/tutorials/getting-started/_section.md index d8f197b7427..0ada7f1a0e0 100644 --- a/pages/docs/getting-started/_section.md +++ b/pages/docs/tutorials/getting-started/_section.md @@ -1,4 +1,4 @@ --- title: Getting Started -weight: 0 +weight: 10 --- \ No newline at end of file diff --git a/pages/docs/getting-started/asyncapi-documents.md b/pages/docs/tutorials/getting-started/asyncapi-documents.md similarity index 100% rename from pages/docs/getting-started/asyncapi-documents.md rename to pages/docs/tutorials/getting-started/asyncapi-documents.md diff --git a/pages/docs/getting-started/coming-from-openapi.md b/pages/docs/tutorials/getting-started/coming-from-openapi.md similarity index 97% rename from pages/docs/getting-started/coming-from-openapi.md rename to pages/docs/tutorials/getting-started/coming-from-openapi.md index d1769833157..df866dbd24e 100644 --- a/pages/docs/getting-started/coming-from-openapi.md +++ b/pages/docs/tutorials/getting-started/coming-from-openapi.md @@ -11,7 +11,7 @@ If you're coming from OpenAPI, you must know that AsyncAPI [started as an adapta You'll find lots of similarities between OpenAPI and AsyncAPI. Just bear in mind that in the world of event-driven architectures, you have more than one protocol and therefore some things are different. Check out the following comparison chart, inspired by [Darrel Miller's blog post](https://www.openapis.org/news/blogs/2016/10/tdc-structural-improvements-explaining-30-spec-part-2): -import OpenAPIComparison from '../../../components/OpenAPIComparison' +import OpenAPIComparison from '../../../../components/OpenAPIComparison' diff --git a/pages/docs/getting-started/event-driven-architectures.md b/pages/docs/tutorials/getting-started/event-driven-architectures.md similarity index 100% rename from pages/docs/getting-started/event-driven-architectures.md rename to pages/docs/tutorials/getting-started/event-driven-architectures.md diff --git a/pages/docs/getting-started/hello-world.md b/pages/docs/tutorials/getting-started/hello-world.md similarity index 100% rename from pages/docs/getting-started/hello-world.md rename to pages/docs/tutorials/getting-started/hello-world.md diff --git a/pages/docs/getting-started/index.md b/pages/docs/tutorials/getting-started/index.md similarity index 84% rename from pages/docs/getting-started/index.md rename to pages/docs/tutorials/getting-started/index.md index 1729e99f0a7..245ac445818 100644 --- a/pages/docs/getting-started/index.md +++ b/pages/docs/tutorials/getting-started/index.md @@ -1,19 +1,19 @@ --- -title: Introduction +title: Getting Started date: 2019-02-16T13:56:52+01:00 -weight: 0 -categories: -- getting-started +weight: 2 aliases: - '/v1/guide/' - '/v1/guide/index.html' --- +## Getting Started + AsyncAPI is an open source initiative that seeks to improve the current state of Event-Driven Architectures (EDA). Our long-term goal is to make working with EDAs as easy as it is to work with REST APIs. That goes from documentation to code generation, from discovery to event management. Most of the processes you apply to your REST APIs nowadays would be applicable to your event-driven/asynchronous APIs too. To make this happen, the first step has been to create a specification that allows **developers, architects, and product managers** to define the interfaces of an async API. Much like [OpenAPI (fka Swagger)](https://github.com/OAI/OpenAPI-Specification) does for REST APIs. -**The AsyncAPI specification settles the base for a greater and better tooling ecosystem for EDA's**. We recently launched AsyncAPI specification 2.3.0 —the strongest version to date— that will sustain the event-driven architectures of tomorrow. +**The AsyncAPI specification settles the base for a greater and better tooling ecosystem for EDA's**. If you are looking for a solution to automate and formalize the documentation or code generation of your event-driven (micro)services, you are in the right place. Likewise, if you are aiming to establish solid standards for your events and improve the governance of your asynchronous APIs, welcome to your new home. diff --git a/pages/docs/getting-started/security.md b/pages/docs/tutorials/getting-started/security.md similarity index 100% rename from pages/docs/getting-started/security.md rename to pages/docs/tutorials/getting-started/security.md diff --git a/pages/docs/getting-started/servers.md b/pages/docs/tutorials/getting-started/servers.md similarity index 100% rename from pages/docs/getting-started/servers.md rename to pages/docs/tutorials/getting-started/servers.md diff --git a/pages/docs/tutorials/index.md b/pages/docs/tutorials/index.md index 827ec29667f..804aa0c6210 100644 --- a/pages/docs/tutorials/index.md +++ b/pages/docs/tutorials/index.md @@ -1,8 +1,26 @@ --- title: Overview +weight: 2 --- -import TutorialList from '../../../components/navigation/TutorialList' +## Tutorials: Learn how AsyncAPI works - +Welcome to AsyncAPI **Tutorials**! Our Tutorials section teaches beginner processes with AsyncAPI by doing. + + + +## Contribute to AsyncAPI Tutorials +Code isn't the only way to contribute to OSS; Dev Docs are a **huge** help that benefit the entire OSS ecosystem. At AsyncAPI, we value Doc contributions as much as every other type of contribution. ❤️ + +To get started as a Docs contributor: +1. Familiarize yourself with our [project's Contribution Guide](https://github.com/asyncapi/community/blob/master/CONTRIBUTING.md) and our [Code of Conduct](https://github.com/asyncapi/.github/blob/master/CODE_OF_CONDUCT.md). +2. Head over to our [AsyncAPI Docs Board](https://github.com/orgs/asyncapi/projects/8). +3. Pick an issue you would like to contribute to and leave a comment introducing yourself. This is also the perfect place to leave any questions you may have on how to get started. +4. If there is no work done in that Docs issue yet, feel free to open a PR and get started! + +### Docs contributor questions +Do you have a documentation contributor question and you're wondering how to tag me into a GitHub discussion or PR? Never fear! + +Tag me in your AsyncAPI Doc PRs or [GitHub Discussions](https://github.com/asyncapi/community/discussions/categories/docs) via my GitHub handle, [`alequetzalli`](https://github.com/alequetzalli) 🐙. + \ No newline at end of file diff --git a/pages/docs/tutorials/streetlights-interactive.md b/pages/docs/tutorials/streetlights-interactive.md index 2e3ae4e3fde..1b2a589aebf 100644 --- a/pages/docs/tutorials/streetlights-interactive.md +++ b/pages/docs/tutorials/streetlights-interactive.md @@ -1,21 +1,17 @@ --- title: "Streetlights - Interactive (Alpha)" description: Interactive version of the original Streetlights tutorial. -weight: 20 +weight: 110 --- >tl;dr -Please try out [this](https://www.katacoda.com/asyncapi/scenarios/streetlight-tut) interactive tutorial and let us know what you think, as we plan to have all the docs written this way. +Please try out [this](https://killercoda.com/asyncapi/scenario/streetlight-tut) interactive tutorial and let us know what you think, as we plan to have all the docs written this way. -One of the most critical roadmap items for the AsyncAPI Initiative in 2020 was **Make it super easy for people to get started with AsyncAPI**. One of the crucial things here is to put a lot of love into the documentation. - -Before we start writing more docs and improve their structure, we first need to know how you want you to interact with docs. We need to see if you prefer static HTML pages, or interactive docs where you can play with the content. - -We created an interactive tutorial using [Katacoda](https://www.katacoda.com/). It is another version of the [Streetlights](./streetlights) tutorial that will always work for you no matter what operating system you have. +We created an interactive tutorial using [KillerCoda](https://killercoda.com). It is another version of the [Streetlights](./streetlights) tutorial that will always work for you no matter what operating system you have. Please become our alpha testers of the tutorial: -1. Go through the tutorial [here](https://www.katacoda.com/asyncapi/scenarios/streetlight-tut) +1. Go through the tutorial [here](https://killercoda.com/asyncapi/scenario/streetlight-tut) 2. Let us know what you think using the channel that works for you the best: - [Slack](https://www.asyncapi.com/slack-invite/) - [Twitter](https://twitter.com/AsyncAPISpec) diff --git a/pages/docs/tutorials/streetlights.md b/pages/docs/tutorials/streetlights.md index 39bd54e3edc..5697e0253f3 100644 --- a/pages/docs/tutorials/streetlights.md +++ b/pages/docs/tutorials/streetlights.md @@ -1,244 +1,270 @@ ---- -title: Streetlights -description: In this tutorial, you'll get started with code samples from an IoT real-world use case. Let's pretend you have a company called Smarty Lighting that engineers smart-city lighting systems. ---- - -In this tutorial, you get started with actual code and a sample real-world use case. Let's pretend you have a company called Smarty Lighting and you install smart-city streetlight lighting systems. - -# Streetlights System Description - -You want to create a system capable of turning on/off the streetlights depending on the environmental conditions of each of them: - -- You're going to implement an event-driven architecture, with a Message Broker in its "center". -- Streetlights will publish information about their environmental lighting to the broker. -- Your application will connect to the broker and receive a stream of events from all the streetlights that are reporting their conditions. -- Based off the events, your application can make a decision regarding turning the streetlight off. -- Your application is not aware of how many streetlights are publishing events - it just connects to the broker and receives all events - -# Installation Guide - -You'll use Node.js to code the APIs and Mosquitto as the message broker. The selected technology is irrelevant here, since everything explained in this tutorial is applicable to any other programming language and message brokers. - -Before you proceed to the next stage, you'll need to download a few things: - -1. Install [Node.js](https://nodejs.org/en/download/) (v15 or newer). - -2. Install Git based on your Operating System (OS): -- [Install Git on MacOs](https://git-scm.com/download/mac) -- [Install Git on Windows](https://git-scm.com/download/win) -- [Install Git on Linux](https://git-scm.com/download/linux) - -# Creating the AsyncAPI file - -Let's start by creating an AsyncAPI file to describe your API. It will help you generate the code and the documentation later on. - - -{`asyncapi: '2.2.0' -info: - title: Streetlights API - version: '1.0.0' - description: | - The Smartylighting Streetlights API allows you - to remotely manage the city lights. - license: - name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0' -servers: - mosquitto: - url: mqtt://test.mosquitto.org - protocol: mqtt -channels: - light/measured: - publish: - summary: Inform about environmental lighting conditions for a particular streetlight. - operationId: onLightMeasured - message: - name: LightMeasured - payload: - type: object - properties: - id: - type: integer - minimum: 0 - description: Id of the streetlight. - lumens: - type: integer - minimum: 0 - description: Light intensity measured in lumens. - sentAt: - type: string - format: date-time - description: Date and time when the message was sent.`} - - -Let's break it down into pieces: - - -{`asyncapi: '2.2.0' -info: - title: Streetlights API - version: '1.0.0' - description: | - The Smartylighting Streetlights API allows you - to remotely manage the city lights. - license: - name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0'`} - - -- The `asyncapi` field indicates you use the AsyncAPI version 2.2.0. -- The `info` field holds information about the API, such as its name, version, description, and license. - -Now lets move all the way to the `channels` section. This section is used to describe the event names your API will be publishing and/or subscribing to. - - -{`channels: - light/measured: - publish: - summary: Inform about environmental lighting conditions for a particular streetlight. - operationId: onLightMeasured`} - - -In this example, `light/measured` is the channel name the Streetlight API will `subscribe` to (i.e, to interact with the Streetlight API you `publish` to the broker). The `operationId` property, describes what is the name of function or method that takes care of this functionality in the generated code. The `payload` property is used to understand how the event should look like when publishing to that channel: - - -{` payload: - type: object - properties: - id: - type: integer - minimum: 0 - description: Id of the streetlight. - lumens: - type: integer - minimum: 0 - description: Light intensity measured in lumens. - sentAt: - type: string - format: date-time - description: Date and time when the message was sent.`} - - -The `Payload` property defines the content of the event using AsyncAPI schemas. It means that your event payload should contain an `id` and a `lumens` property —which are integers bigger than zero—, and a `sentAt` property that should be a string containing a date and time. - -> JSON Schema Draft 07 is 100% compatible with AsyncAPI schemas. - -Cool! You're done with your AsyncAPI file! Now let's get into generating code. - -# Generating code - -To generate your code, you'll use the [AsyncAPI Generator](https://github.com/asyncapi/generator) Node.js template. - -### 1. Install the generator to use it as a command-line tool - -{`npm install -g @asyncapi/generator`} - - -### 2. Create a directory for your projects and enter it: - -{`mkdir streetlights && cd "$_"`} - - -### 3. Create a file with the AsyncAPI machine-readable description you defined before. On Windows use `type` instead of `cat`: - -{`cat <> asyncapi.yaml -asyncapi: '2.2.0' -info: - title: Streetlights API - version: '1.0.0' - description: | - The Smartylighting Streetlights API allows you - to remotely manage the city lights. - license: - name: Apache 2.0 - url: 'https://www.apache.org/licenses/LICENSE-2.0' -servers: - mosquitto: - url: mqtt://test.mosquitto.org - protocol: mqtt -channels: - light/measured: - publish: - summary: Inform about environmental lighting conditions for a particular streetlight. - operationId: onLightMeasured - message: - name: LightMeasured - payload: - type: object - properties: - id: - type: integer - minimum: 0 - description: Id of the streetlight. - lumens: - type: integer - minimum: 0 - description: Light intensity measured in lumens. - sentAt: - type: string - format: date-time - description: Date and time when the message was sent. -EOT`} - - -### 4. Trigger generation of the Node.js code: - -{`ag asyncapi.yaml @asyncapi/nodejs-template -o output -p server=mosquitto`} - - -### 5. And voilà! List all files in directory and check that Node.js application is generated: - -{`cd output && ls`} - - -# Running your code - -### 1. Install dependencies of newly generated application: - -{`npm install`} - - -### 2. Start the application: - -{`npm start`} - - -### 3. In another terminal install the MQTT.js library: - -{`npm install mqtt -g`} - - -### 4. Send a correct message to your application: - -{`mqtt pub -t 'light/measured' -h 'test.mosquitto.org' -m '{"id": 1, "lumens": 3, "sentAt": "2017-06-07T12:34:32.000Z"}'`} - - -### 5. Send an incorrect message to your application: - -{`mqtt pub -t 'light/measured' -h 'test.mosquitto.org' -m '{"id": 1, "lumens": "3", "sentAt": "2017-06-07T12:34:32.000Z"}'`} - - -### 6. Go back to the previous terminal and check if your application logged the streetlight condition you just sent, with errors related to the invalid message. - -# Conclusion - -You've learned how to create an AsyncAPI description file and how to generate code from it. Today's sample code is only a bootstrap; you'll need to add your own business logic into it. Take some time to play with it. There are still lots of things to be covered, but the intent of this tutorial is to make it simple for you to get an idea of the potential. - -We would love to see what you create with AsyncAPI! As an open-source project, we're open to proposals, questions, suggestions, and contributions. If you don't feel in the mood to contribute but you're using AsyncAPI, just raise your hand by [creating an issue in our Github repo](https://github.com/asyncapi/asyncapi/issues/new) or [join our Slack channel](https://www.asyncapi.com/slack-invite/). Don't be shy. - ---- - - \ No newline at end of file +--- +title: Streetlights +description: In this tutorial, you'll start with IoT code samples and pretend you have a company called Smarty Lighting that engineers smart-city lighting systems. + +--- + +# Introduction + +In this tutorial, you get started with actual code and a sample real-world use case. Let's pretend you have a company called Smarty Lighting, and you install smart-city streetlight lighting systems. This smart lighting system is a use case of the Internet of things (IoT). + + +You will create a Smartylighting Streetlights API using Node.js and Mosquitto as the message broker. This API will allow you to manage city lights remotely. + + +You want to build a system that can turn streetlights on and off based on their environmental conditions: + +- You will implement an event-driven architecture (EDA) with a Message Broker in its "center." + +- Streetlights will publish information about their environmental lighting to the broker. +- Your application will connect to the broker and receive a stream of events from all the streetlights reporting their conditions. + +- Your application decides based on events when to turn the streetlight off. + +- Your application is not aware of how many streetlights are publishing events - it just connects to the broker and receives all events. + + +You will learn about event-driven architecture, message brokers, pub/sub architecture, and creating an AsyncAPI file to describe your API and generate code from it. + + +# Background Context + +Event-driven architecture (EDA) is a design pattern built around the production, detection, and reaction to events that take place in time. +[Message brokers](https://deploy-preview-601--asyncapi-website.netlify.app/docs/tutorials/getting-started/event-driven-architectures#message-broker) enable asynchronous communications between services so that the sending service need not wait for the receiving service’s reply. This allows interdependent services to “talk” with one another directly, even if they were written in different languages or implemented on different platforms. + +In this tutorial, we'll look at an IoT use case: a Smart-City street lighting system. [Pub/sub](https://deploy-preview-601--asyncapi-website.netlify.app/docs/tutorials/getting-started/event-driven-architectures#publishersubscriber) is appealing for IoT use cases due to two key features: support for flexible coupling between publishers/subscribers and inherent support for point-to-multipoint transmission. [MQTT](https://mqtt.org/) and DDS are two well-known protocols that are widely used in IoT applications. + +# Installation Guide + +You'll use Node.js to code the APIs and [Mosquitto](https://mosquitto.org/) as the message broker. The selected technology is irrelevant here, since everything explained in this tutorial is applicable to any other programming language and message brokers. + +Before you proceed to the next stage, you'll need to download a few things: + +1. Install [Node.js](https://nodejs.org/en/download/) (v15 or newer). + +2. Install Git based on your Operating System: + - [Install Git on MacOs](https://git-scm.com/download/mac) + - [Install Git on Windows](https://git-scm.com/download/win) + - [Install Git on Linux](https://git-scm.com/download/linux) + +# Creating the AsyncAPI file + +In this step, we will create an AsyncAPI file to describe your API. It will help you generate the code and the documentation later on. + + +{`asyncapi: '2.4.0' +info: + title: Streetlights API + version: '1.0.0' + description: | + The Smartylighting Streetlights API allows you + to remotely manage the city lights. + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0' +servers: + mosquitto: + url: mqtt://test.mosquitto.org + protocol: mqtt +channels: + light/measured: + publish: + summary: Inform about environmental lighting conditions for a particular streetlight. + operationId: onLightMeasured + message: + name: LightMeasured + payload: + type: object + properties: + id: + type: integer + minimum: 0 + description: Id of the streetlight. + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + type: string + format: date-time + description: Date and time when the message was sent.`} + + +Let's break it down into pieces: + + +{`asyncapi: '2.4.0' +info: + title: Streetlights API + version: '1.0.0' + description: | + The Smartylighting Streetlights API allows you + to remotely manage the city lights. + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0'`} + + +- The `asyncapi` field indicates you use the AsyncAPI version 2.4.0. +- The `info` field holds information about the API, such as its name, version, description, and license. + +Now lets move all the way to the `channels` section. This section is used to describe the event names your API will be publishing and/or subscribing to. + + +{`channels: + light/measured: + publish: + summary: Inform about environmental lighting conditions for a particular streetlight. + operationId: onLightMeasured`} + + +In this example, `light/measured` is the channel name the Streetlight API will `subscribe` to (i.e, to interact with the Streetlight API you `publish` to the broker). The `operationId` property, describes what is the name of function or method that takes care of this functionality in the generated code. The `payload` property is used to understand how the event should look like when publishing to that channel: + + +{` payload: + type: object + properties: + id: + type: integer + minimum: 0 + description: Id of the streetlight. + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + type: string + format: date-time + description: Date and time when the message was sent.`} + + +The `Payload` property defines the content of the event using AsyncAPI schemas. It means that your event payload should contain an `id` and a `lumens` property —which are integers bigger than zero—, and a `sentAt` property that should be a string containing a date and time. + +> JSON Schema Draft 07 is 100% compatible with AsyncAPI schemas. + +Cool! You're done with your AsyncAPI file! Now let's get into generating code. + +# Generating code + +In this step, we will generate your code, you'll use the [AsyncAPI Generator](https://github.com/asyncapi/generator) Node.js template. + +### 1. Install the generator to use it as a command-line tool + +{`npm install -g @asyncapi/generator`} + + +### 2. Create a directory for your projects and enter it: + +{`mkdir streetlights && cd "$_"`} + + +### 3. Create a file with the AsyncAPI machine-readable description you defined before using terminal. The `cat` command is a utility command in Linux. On Windows use `type` instead of `cat`: + +{`cat <> asyncapi.yaml +asyncapi: '2.4.0' +info: + title: Streetlights API + version: '1.0.0' + description: | + The Smartylighting Streetlights API allows you + to remotely manage the city lights. + license: + name: Apache 2.0 + url: 'https://www.apache.org/licenses/LICENSE-2.0' +servers: + mosquitto: + url: mqtt://test.mosquitto.org + protocol: mqtt +channels: + light/measured: + publish: + summary: Inform about environmental lighting conditions for a particular streetlight. + operationId: onLightMeasured + message: + name: LightMeasured + payload: + type: object + properties: + id: + type: integer + minimum: 0 + description: Id of the streetlight. + lumens: + type: integer + minimum: 0 + description: Light intensity measured in lumens. + sentAt: + type: string + format: date-time + description: Date and time when the message was sent. +EOT`} + + +### 4. Trigger generation of the Node.js code: + +{`ag asyncapi.yaml @asyncapi/nodejs-template -o output -p server=mosquitto`} + + +### 5. And voilà! List all files in directory and check that Node.js application is generated: + +{`cd output && ls`} + + +# Running your code + +### 1. Install dependencies of newly generated application: + +{`npm install`} + + +### 2. Start the application: + +{`npm start`} + + +### 3. In another terminal start MQTT broker: + +{`docker run -it -p 1883:1883 eclipse-mosquitto:1.5`} + + +### 4. In another terminal install the MQTT.js library: + +{`npm install mqtt -g`} + + +### 5. Send a correct message to your application: + +{`mqtt pub -t 'light/measured' -h 'test.mosquitto.org' -m '{"id": 1, "lumens": 3, "sentAt": "2017-06-07T12:34:32.000Z"}'`} + + +### 6. Send an incorrect message to your application: + +{`mqtt pub -t 'light/measured' -h 'test.mosquitto.org' -m '{"id": 1, "lumens": "3", "sentAt": "2017-06-07T12:34:32.000Z"}'`} + + +### 7. Go back to the previous terminal and check if your application logged the streetlight condition you just sent, with errors related to the invalid message. + +# Summary + +In this tutorial, we learned how to create an AsyncAPI description file and how to generate our API code from the [AsyncAPI Generator](https://github.com/asyncapi/generator), by using Node.js and Mosquitto as the message broker. We also learned how to implement the event-driven architecture in a real-life example, using pub/sub architecture to send a message to our application with an MQTT and Mosquitto message broker. + +Today's sample code is only a bootstrap; you'll need to add your own business logic into it. Take some time to play with it. There are still lots of things to be covered, but the intent of this tutorial is to make it simple for you to get an idea of the potential. + +We would love to see what you create with AsyncAPI! As an open-source project, we're open to proposals, questions, suggestions, and contributions. If you don't feel in the mood to contribute but you're using AsyncAPI, just raise your hand by [creating an issue in our Github repo](https://github.com/asyncapi/asyncapi/issues/new) or [join our Slack channel](https://www.asyncapi.com/slack-invite/). Don't be shy. + +--- + + diff --git a/public/_redirects b/public/_redirects index 40140f30873..453d0f6710e 100644 --- a/public/_redirects +++ b/public/_redirects @@ -7,25 +7,46 @@ https://asyncapi.io/* https://www.asyncapi.com/:splat 301! https://www.asyncapi.io/* https://www.asyncapi.com/:splat 301! # Docs -/docs /docs/getting-started 301! -/docs/tooling /docs/community/tooling 301! +/docs/getting-started /docs/tutorials/getting-started 301! +/docs/getting-started/event-driven-architectures /docs/tutorials/getting-started/event-driven-architectures 301! +/docs/getting-started/coming-from-openapi /docs/tutorials/getting-started/coming-from-openapi 301! +/docs/getting-started/hello-world /docs/tutorials/getting-started/hello-world 301! +/docs/getting-started/asyncapi-documents /docs/tutorials/getting-started/asyncapi-documents 301! +/docs/getting-started/servers /docs/tutorials/getting-started/servers 301! +/docs/getting-started/security /docs/tutorials/getting-started/security 301! +/docs/community/tooling /docs/tools 301! # Redirection will be handled automatically by Action. # LATEST-SPEC-REDIRECTION:START -/docs/specifications/latest /docs/specifications/v2.4.0 302! +/docs/reference/specification/latest /docs/reference/specification/v2.4.0 302! # LATEST-SPEC-REDIRECTION:END # SPEC-REDIRECTION:START -/docs/specifications/2.4.0 /docs/specifications/v2.4.0 302! -/docs/specifications/2.3.0 /docs/specifications/v2.3.0 302! -/docs/specifications/2.2.0 /docs/specifications/v2.2.0 302! -/docs/specifications/2.1.0 /docs/specifications/v2.1.0 302! -/docs/specifications/2.0.0 /docs/specifications/v2.0.0 302! # The path was changed. We want to keep links pointing to the old path working. +/docs/reference/specification/2.4.0 /docs/reference/specification/v2.4.0 302! +/docs/reference/specification/2.3.0 /docs/reference/specification/v2.3.0 302! +/docs/reference/specification/2.2.0 /docs/reference/specification/v2.2.0 302! +/docs/reference/specification/2.1.0 /docs/reference/specification/v2.1.0 302! +/docs/reference/specification/2.0.0 /docs/reference/specification/v2.0.0 302! # SPEC-REDIRECTION:END +/docs/specifications/latest /docs/reference/specification/latest 302! +/docs/specifications/2.4.0 /docs/reference/specification/v2.4.0 302! +/docs/specifications/2.3.0 /docs/reference/specification/v2.3.0 302! +/docs/specifications/2.2.0 /docs/reference/specification/v2.2.0 302! +/docs/specifications/2.1.0 /docs/reference/specification/v2.1.0 302! +/docs/specifications/2.0.0 /docs/reference/specification/v2.0.0 302! +/docs/specifications/v2.4.0 /docs/reference/specification/v2.4.0 302! +/docs/specifications/v2.3.0 /docs/reference/specification/v2.3.0 302! +/docs/specifications/v2.2.0 /docs/reference/specification/v2.2.0 302! +/docs/specifications/v2.1.0 /docs/reference/specification/v2.1.0 302! +/docs/specifications/v2.0.0 /docs/reference/specification/v2.0.0 302! + /docs/specifications/1.0.0 https://github.com/asyncapi/asyncapi/blob/master/versions/1.0.0/asyncapi.md 302! /docs/specifications/1.1.0 https://github.com/asyncapi/asyncapi/blob/master/versions/1.1.0/asyncapi.md 302! /docs/specifications/1.2.0 https://github.com/asyncapi/asyncapi/blob/master/versions/1.2.0/asyncapi.md 302! +/docs/reference/specification/1.0.0 https://github.com/asyncapi/asyncapi/blob/master/versions/1.0.0/asyncapi.md 302! +/docs/reference/specification/1.1.0 https://github.com/asyncapi/asyncapi/blob/master/versions/1.1.0/asyncapi.md 302! +/docs/reference/specification/1.2.0 https://github.com/asyncapi/asyncapi/blob/master/versions/1.2.0/asyncapi.md 302! # Old React Playground /asyncapi-react https://asyncapi.github.io/asyncapi-react 301! @@ -43,4 +64,4 @@ https://www.asyncapi.io/* https://www.asyncapi.com/:splat 301! /modelina /tools/modelina 301! /generator /tools/generator 301! /github-actions /tools/github-actions 301! -# TOOLS-REDIRECTION:END \ No newline at end of file +# TOOLS-REDIRECTION:END diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 00000000000..a0b34874901 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,3 @@ +User-agent: * +Disallow: /definitions/ +Disallow: /schema-store/ diff --git a/scripts/build-meetings.js b/scripts/build-meetings.js index 9719af09425..bfe021c000e 100644 --- a/scripts/build-meetings.js +++ b/scripts/build-meetings.js @@ -35,7 +35,7 @@ async function buildMeetings() { }) const eventsForHuman = JSON.stringify(eventsItems, null, ' '); - console.log('The following events got fetched', eventsForHuman); + // console.log('The following events got fetched', eventsForHuman); writeFileSync( resolve(__dirname, '../config', 'meetings.json'), diff --git a/scripts/build-post-list.js b/scripts/build-post-list.js index 1793d139e39..f45f43244f3 100644 --- a/scripts/build-post-list.js +++ b/scripts/build-post-list.js @@ -16,24 +16,27 @@ const postDirectories = [ [`${basePath}/about`, '/about'], [`${basePath}/jobs`, '/jobs'], ] + module.exports = async function buildPostList() { -walkDirectories(postDirectories, result) -if (process.env.NODE_ENV === 'production') { - console.log(inspect(result, { depth: null, colors: true })) -} -writeFileSync(resolve(__dirname, '..', 'config', 'posts.json'), JSON.stringify(result, null, ' ')) + walkDirectories(postDirectories, result) + if (process.env.NODE_ENV === 'production') { + // console.log(inspect(result, { depth: null, colors: true })) + } + writeFileSync(resolve(__dirname, '..', 'config', 'posts.json'), JSON.stringify(result, null, ' ')) } -function walkDirectories(directories, result, sectionWeight = 0, sectionTitle) { + +function walkDirectories(directories, result, sectionWeight = 0, sectionTitle, sectionId, rootSectionId) { for (let dir of directories) { let directory = dir[0] let sectionSlug = dir[1] || '' - let files = readdirSync(directory) + let files = readdirSync(directory); for (let file of files) { let details const fileName = join(directory, file) const fileNameWithSection = join(fileName, '_section.md') const slug = fileName.replace(new RegExp(`^${basePath}`), '') + const slugElements = slug.split('/'); if (isDirectory(fileName)) { if (existsSync(fileNameWithSection)) { details = frontMatter(readFileSync(fileNameWithSection, 'utf-8')).data @@ -44,9 +47,19 @@ function walkDirectories(directories, result, sectionWeight = 0, sectionTitle) { } } details.isSection = true + if (slugElements.length > 3) { + details.parent = slugElements[slugElements.length - 2] + details.sectionId = slugElements[slugElements.length - 1] + } + if (!details.parent) { + details.isRootSection = true + details.rootSectionId = slugElements[slugElements.length - 1] + } + details.sectionWeight = sectionWeight details.slug = slug result.push(details) - walkDirectories([[fileName, slug]], result, details.weight, details.title) + const rootId = details.parent || details.rootSectionId + walkDirectories([[fileName, slug]], result, details.weight, details.title, details.sectionId, rootId) } else if (file.endsWith('.md') && !fileName.endsWith('/_section.md')) { const fileContent = readFileSync(fileName, 'utf-8') const { data, content } = frontMatter(fileContent) @@ -57,9 +70,12 @@ function walkDirectories(directories, result, sectionWeight = 0, sectionTitle) { details.sectionSlug = sectionSlug || slug.replace(/\.md$/, '') details.sectionWeight = sectionWeight details.sectionTitle = sectionTitle + details.sectionId = sectionId + details.rootSectionId = rootSectionId + details.id = fileName details.isIndex = fileName.endsWith('/index.md') details.slug = details.isIndex ? sectionSlug : slug.replace(/\.md$/, '') - if(details.slug.includes('/specifications/') && !details.title) { + if(details.slug.includes('/reference/specification/') && !details.title) { const fileBaseName = basename(data.slug) // ex. v2.0.0 | v2.1.0-2021-06-release const fileName = fileBaseName.split('-')[0] // v2.0.0 | v2.1.0 @@ -81,7 +97,7 @@ function walkDirectories(directories, result, sectionWeight = 0, sectionTitle) { details.title += " (Pre-release)" } } - result.push(details) + result.push(details); } } } @@ -110,8 +126,8 @@ function capitalize(text) { } function getReleaseDate(text) { - // ex. filename = v2.1.0-2021-06-release - const splittedText = text.split('-') // ['v2.1.0', '2021', '06', 'release'] - const releaseDate = `${splittedText[1]}-${splittedText[2]}` // '2021-06' - return releaseDate + // ex. filename = v2.1.0-2021-06-release + const splittedText = text.split('-') // ['v2.1.0', '2021', '06', 'release'] + const releaseDate = `${splittedText[1]}-${splittedText[2]}` // '2021-06' + return releaseDate } diff --git a/tailwind.config.js b/tailwind.config.js index ee52e52579d..9c0e54beda8 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -81,6 +81,8 @@ module.exports = { dark: '#252f3f', 'dark-highlight': '#3e4d64', }, + dark: '#1B1130', + 'cool-gray':'#9C96A8', hub: '#252f3f', slack: '#371038', 'mac-window': {