From 7473e835fa018290b3ce3977b3463d104ba518ea Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 22 Feb 2022 12:00:21 -0800 Subject: [PATCH] build: add ESLint + Prettier config (#179) --- .eslintrc.js | 34 ++ package.json | 7 +- scripts/__tests__/update-pinned-version.js | 1 - scripts/governance.js | 60 +- scripts/i18n-build.js | 8 +- scripts/pre-build.js | 4 +- scripts/process-docs-changes.js | 3 +- scripts/process-posts.js | 1 - scripts/tasks/add-frontmatter.js | 34 -- scripts/tasks/docs-reorg.json | 82 --- scripts/tasks/download-docs.js | 19 +- scripts/update-l10n-sources.js | 1 - src/components/APIStructurePreview.jsx | 28 +- src/components/FiddleEmbed.jsx | 51 +- src/pages/governance/index.jsx | 125 ++++- src/pages/index.js | 145 +++-- src/theme/DocSidebarItem/TagContent.jsx | 6 +- src/theme/DocSidebarItem/index.jsx | 89 +-- src/theme/TOC/index.js | 3 +- src/transformers/api-labels.js | 42 +- src/transformers/api-structure-previews.js | 67 +-- src/transformers/fiddle-embedder.js | 8 +- src/util/cleanHeadings.js | 18 +- yarn.lock | 604 ++++++++++++++++++++- 24 files changed, 1047 insertions(+), 393 deletions(-) create mode 100644 .eslintrc.js delete mode 100644 scripts/tasks/docs-reorg.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..db57362 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,34 @@ +module.exports = { + env: { + browser: true, + es2021: true, + jest: true, + node: true, + }, + extends: ['eslint:recommended', 'plugin:react/recommended', 'prettier'], + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + ecmaVersion: 'latest', + sourceType: 'module', + }, + plugins: ['react', 'prettier'], + rules: { + 'prettier/prettier': 'error', + 'react/prop-types': 'off', + 'no-unused-vars': ['error', { argsIgnorePattern: '^_' }], + }, + settings: { + react: { + createClass: 'createReactClass', // Regex for Component Factory to use, + // default to "createReactClass" + pragma: 'React', // Pragma to use, default to "React" + fragment: 'Fragment', // Fragment to use (may be a property of ), default to "Fragment" + version: 'detect', // React version. "detect" automatically picks the version you have installed. + // You can also use `16.0`, `16.3`, etc, if you want to override the detected value. + // It will default to "latest" and warn if missing, and to "detect" in the future + flowVersion: '0.53', // Flow version + }, + }, +}; diff --git a/package.json b/package.json index 506e5dc..cff8edd 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "write-translations": "docusaurus write-translations", "write-heading-ids": "docusaurus write-heading-ids", "update-l10n-sources": "node scripts/update-l10n-sources.js", - "lint": "prettier -c ./scripts/**/*.js", + "lint": "eslint \"src/**/*.{js,jsx}\" \"scripts/**/*.js\"", "test": "yarn lint && jest", "pre-build": "node ./scripts/pre-build.js", "governance": "node ./scripts/governance.js", @@ -57,10 +57,15 @@ "@actions/core": "^1.2.7", "@actions/github": "^4.0.0", "@crowdin/cli": "3", + "@docusaurus/types": "^2.0.0-beta.15", "@types/jest": "^26.0.23", "@types/unist": "^2.0.3", "del": "^6.0.0", "esbuild-loader": "^2.15.1", + "eslint": "^8.9.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-react": "^7.28.0", "fs-extra": "^9.1.0", "globby": "^11.0.3", "got": "^11.8.2", diff --git a/scripts/__tests__/update-pinned-version.js b/scripts/__tests__/update-pinned-version.js index 75a5983..7b3f06d 100644 --- a/scripts/__tests__/update-pinned-version.js +++ b/scripts/__tests__/update-pinned-version.js @@ -1,4 +1,3 @@ -const fs = require('fs'); const mock = { promises: { readFile: jest.fn(), diff --git a/scripts/governance.js b/scripts/governance.js index 687fe22..7efa216 100644 --- a/scripts/governance.js +++ b/scripts/governance.js @@ -5,7 +5,11 @@ const gfm = require('remark-gfm'); const toString = require('mdast-util-to-string'); const fs = require('fs-extra'); const path = require('path'); -const { getChanges, getCurrentBranchName, pushChanges } = require('./utils/git-commands'); +const { + getChanges, + getCurrentBranchName, + pushChanges, +} = require('./utils/git-commands'); const COMMIT_MESSAGE = '"chore: update governance member data (🤖)"'; const EMAIL = 'electron@github.com'; @@ -17,9 +21,16 @@ const NAME = 'electron-bot'; * output array to `_data.json`. */ async function main() { - console.log('Fetching governance data...') + console.log('Fetching governance data...'); const data = JSON.stringify(await fetchGovernanceData()); - const targetPath = path.join(__dirname, '..', 'src', 'pages', 'governance', '_data.json'); + const targetPath = path.join( + __dirname, + '..', + 'src', + 'pages', + 'governance', + '_data.json' + ); console.log('Writing to disk...'); await fs.writeFile(targetPath, data); console.log('✅'); @@ -62,11 +73,11 @@ async function fetchGovernanceData() { } /** - * @param {string} workingGroup + * @param {string} workingGroup * @returns {Promise} */ async function getWGInfo(workingGroup) { - const link = `https://github.com/electron/governance/blob/main/wg-${workingGroup}/README.md` + const link = `https://github.com/electron/governance/blob/main/wg-${workingGroup}/README.md`; const readme = await getGitHubREADME(workingGroup); const rootNode = remark() //@ts-expect-error: import @@ -84,23 +95,28 @@ async function getWGInfo(workingGroup) { .replace(' WG', '') .replace(' Working Group', ''); const description = toString(rootNode.children[1]); - const table = rootNode.children - .find(child => child.type === 'table'); - + const table = rootNode.children.find((child) => child.type === 'table'); + const rows = table.children.slice(1); // get rid of first header row - const wgMembers = rows.reduce((acc, row) => { - // skip rows that have empty table cells - if (row.children.some(cell => !toString(cell))) return acc; - const member = row.children[1].children[1].url.replace('https://github.com/', ''); - const status = toString(row.children[2].children[0]); - - if (status === 'Chair') { - acc.chair = member; - } else { - acc.members.push(member); - } - return acc; - }, {chair: '', members: []}); + const wgMembers = rows.reduce( + (acc, row) => { + // skip rows that have empty table cells + if (row.children.some((cell) => !toString(cell))) return acc; + const member = row.children[1].children[1].url.replace( + 'https://github.com/', + '' + ); + const status = toString(row.children[2].children[0]); + + if (status === 'Chair') { + acc.chair = member; + } else { + acc.members.push(member); + } + return acc; + }, + { chair: '', members: [] } + ); return { name, link, description, ...wgMembers }; } @@ -114,7 +130,7 @@ async function getWGInfo(workingGroup) { async function getGitHubREADME(workingGroup) { const headers = {}; if (process.env.GITHUB_TOKEN) { - headers.Authorization = `Bearer ${process.env.GITHUB_TOKEN}` + headers.Authorization = `Bearer ${process.env.GITHUB_TOKEN}`; } // @ts-ignore: export error? const data = await got( diff --git a/scripts/i18n-build.js b/scripts/i18n-build.js index 555ee6f..f144b53 100644 --- a/scripts/i18n-build.js +++ b/scripts/i18n-build.js @@ -12,8 +12,10 @@ const updateConfig = async (locale) => { let docusaurusConfig = await fs.readFile(configPath, 'utf-8'); - docusaurusConfig = docusaurusConfig - .replace(/baseUrl: '.*?',/, `baseUrl: '${baseUrl}',`); + docusaurusConfig = docusaurusConfig.replace( + /baseUrl: '.*?',/, + `baseUrl: '${baseUrl}',` + ); await fs.writeFile(configPath, docusaurusConfig, 'utf-8'); }; @@ -45,7 +47,7 @@ const start = async (locale) => { // We catch instead of just stopping the process because we want to restore docusaurus.config.js console.error(e); // TODO: It will be nice to do some clean up and point to the right file and line - console.error(`Locale ${locale} failed. Please check the logs above.`) + console.error(`Locale ${locale} failed. Please check the logs above.`); } } diff --git a/scripts/pre-build.js b/scripts/pre-build.js index e9fded5..6d21a3a 100644 --- a/scripts/pre-build.js +++ b/scripts/pre-build.js @@ -17,7 +17,6 @@ const { createSidebar } = require('./tasks/create-sidebar'); const { fixContent } = require('./tasks/md-fixers'); const { copyNewContent } = require('./tasks/copy-new-content'); const { updateVersionsInfo } = require('./tasks/update-versions-info'); -const { sha } = require('../package.json'); const DOCS_FOLDER = path.join('docs', 'latest'); @@ -40,9 +39,8 @@ const start = async (source, targetVersion) => { const stableBranch = version.replace(/\.\d+\.\d+/, '-x-y'); console.log(`Latest version: ${version}`); console.log(`Stable branch: ${stableBranch}`); - console.log(`Specified SHA: ${sha}`); - const target = source || sha || stableBranch; + const target = source || stableBranch; console.log(`Downloading docs using "${target}"`); await download({ diff --git a/scripts/process-docs-changes.js b/scripts/process-docs-changes.js index 01d2b14..a19aa4d 100644 --- a/scripts/process-docs-changes.js +++ b/scripts/process-docs-changes.js @@ -8,7 +8,7 @@ //@ts-check if ( !(process.env.CI || process.env.NODE_ENV === 'development') && - !GITHUB_TOKEN + !process.env.GITHUB_TOKEN ) { console.error('Missing GITHUB_TOKEN environment variable'); process.exit(1); @@ -22,7 +22,6 @@ const { getCurrentBranchName, } = require('./utils/git-commands'); -const HEAD = 'main'; const PR_BRANCH = 'chore/docs-updates'; const COMMIT_MESSAGE = '"chore: update ref to docs (🤖)"'; const EMAIL = 'electron@github.com'; diff --git a/scripts/process-posts.js b/scripts/process-posts.js index cc51974..c9852eb 100644 --- a/scripts/process-posts.js +++ b/scripts/process-posts.js @@ -25,7 +25,6 @@ const start = async () => { const postsPaths = await globby(['blog/*.md']); const imgRegex = //gm; - const descriptionRegex = /((.|\n)*)\n---\n/gm; for (const postPath of postsPaths) { const post = await fs.readFile(postPath, 'utf-8'); diff --git a/scripts/tasks/add-frontmatter.js b/scripts/tasks/add-frontmatter.js index a7986ce..4e78f62 100644 --- a/scripts/tasks/add-frontmatter.js +++ b/scripts/tasks/add-frontmatter.js @@ -80,7 +80,6 @@ const descriptionFromContent = (content) => { let description = ''; let subHeader = false; - let wasPreviousLineEmpty = false; for (const line of lines) { const trimmedLine = line.trim(); @@ -98,7 +97,6 @@ const descriptionFromContent = (content) => { } } else { description += `${trimmedLine.replace(/^>/, '')} `; - wasPreviousLineEmpty = false; } } @@ -167,38 +165,6 @@ const addFrontmatterToAllDocs = async (startPath) => { } }; -/** - * Checks that all markdown files under `startPath` contain - * a valid frontmatter. - * @param {string} startPath - */ -const checkFrontmatterInAllDocs = async (startPath) => { - // This is the regex used by [markdownlint](https://www.npmjs.com/package/markdownlint#user-content-optionsfrontmatter) - // which is used to validate the md files of this project - const frontmatterRegex = /((^---\s*$[^]*?^---\s*$)|(^\+\+\+\s*$[^]*?^(\+\+\+|\.\.\.)\s*$)|(^\{\s*$[^]*?^\}\s*$))(\r\n|\r|\n|$)/m; - const files = await getMarkdownFiles(startPath); - const errors = new Set(); - - for (const [filepath, content] of files) { - if (!frontmatterRegex.test(content)) { - errors.add(filepath); - } - } - - if (errors.size > 0) { - console.error( - 'The following markdown files do not have a frontmatter section:' - ); - for (const file of errors) { - console.error(file); - } - - process.exitCode = 1; - } else { - console.log('All markdown files have a frontmatter section 🙌'); - } -}; - module.exports = { addFrontmatter: addFrontmatterToAllDocs, }; diff --git a/scripts/tasks/docs-reorg.json b/scripts/tasks/docs-reorg.json deleted file mode 100644 index 57fb500..0000000 --- a/scripts/tasks/docs-reorg.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "docs/experimental.md": "docs/api/experimental.md", - "docs/faq.md": "docs/resources/faq.md", - "docs/glossary.md": "docs/resources/glossary.md", - "docs/README.md": "", - "docs/styleguide.md": "", - "docs/development/README.md": "docs/contributing/README.md", - "docs/development/accessibility.md": "docs/testing-and-debugging/accessibility.md", - "docs/development/azure-vm-setup.md": "docs/contributing/azure-vm-setup.md", - "docs/development/build-instructions-gn.md": "docs/contributing/build-instructions-gn.md", - "docs/development/build-instructions-linux.md": "docs/contributing/build-instructions-linux.md", - "docs/development/build-instructions-macos.md": "docs/contributing/build-instructions-macos.md", - "docs/development/build-instructions-windows.md": "docs/contributing/build-instructions-windows.md", - "docs/development/build-system-overview.md": "docs/contributing/build-system-overview.md", - "docs/development/chromium-development.md": "docs/contributing/chromium-development.md", - "docs/development/clang-format.md": "docs/contributing/clang-format.md", - "docs/development/clang-tidy.md": "docs/contributing/clang-tidy.md", - "docs/development/coding-style.md": "docs/contributing/coding-style.md", - "docs/development/debug-instructions-windows.md": "docs/contributing/debug-instructions-windows.md", - "docs/development/debugging-instructions-macos-xcode.md": "docs/contributing/debugging-instructions-macos-xcode.md", - "docs/development/debugging-instructions-macos.md": "docs/contributing/debugging-instructions-macos.md", - "docs/development/electron-vs-nwjs.md": "docs/internals/electron-vs-nwjs.md", - "docs/development/goma.md": "docs/contributing/goma.md", - "docs/development/issues.md": "docs/contributing/issues.md", - "docs/development/patches.md": "docs/contributing/patches.md", - "docs/development/pull-requests.md": "docs/contributing/pull-requests.md", - "docs/development/setting-up-symbol-server.md": "docs/contributing/setting-up-symbol-server.md", - "docs/development/source-code-directory-structure.md": "docs/contributing/source-code-directory-structure.md", - "docs/development/testing.md": "docs/contributing/testing.md", - "docs/development/using-native-node-modules.md": "docs/how-to/using-native-node-modules.md", - "docs/development/v8-development.md": "docs/contributing/v8-development.md", - "docs/tutorial/accessibility.md": "docs/development/accessibility.md", - "docs/tutorial/using-native-node-modules.md": "docs/development/using-native-node-modules.md", - "docs/tutorial/application-distribution.md": "docs/distribution/application-distribution.md", - "docs/tutorial/code-signing.md": "docs/distribution/code-signing.md", - "docs/tutorial/mac-app-store-submission-guide.md": "docs/distribution/mac-app-store-submission-guide.md", - "docs/tutorial/snapcraft.md": "docs/distribution/snapcraft.md", - "docs/tutorial/windows-store-guide.md": "docs/distribution/windows-store-guide.md", - "docs/tutorial/introduction.md": "docs/get-started/introduction.md", - "docs/tutorial/installation.md": "docs/get-started/installation.md", - "docs/tutorial/process-model.md": "docs/get-started/process-model.md", - "docs/tutorial/quick-start.md": "docs/get-started/quick-start.md", - "docs/tutorial/dark-mode.md": "docs/how-to/dark-mode.md", - "docs/tutorial/desktop-environment-integration.md": "docs/how-to/desktop-environment-integration.md", - "docs/tutorial/fuses.md": "docs/how-to/fuses.md", - "docs/tutorial/in-app-purchases.md": "docs/how-to/in-app-purchases.md", - "docs/tutorial/keyboard-shortcuts.md": "docs/how-to/keyboard-shortcuts.md", - "docs/tutorial/linux-desktop-actions.md": "docs/how-to/linux-desktop-actions.md", - "docs/tutorial/macos-dock.md": "docs/how-to/macos-dock.md", - "docs/tutorial/multithreading.md": "docs/how-to/multithreading.md", - "docs/tutorial/native-file-drag-drop.md": "docs/how-to/native-file-drag-drop.md", - "docs/tutorial/notifications.md": "docs/how-to/notifications.md", - "docs/tutorial/offscreen-rendering.md": "docs/how-to/offscreen-rendering.md", - "docs/tutorial/online-offline-events.md": "docs/how-to/online-offline-events.md", - "docs/tutorial/progress-bar.md": "docs/how-to/progress-bar.md", - "docs/tutorial/recent-documents.md": "docs/how-to/recent-documents.md", - "docs/tutorial/repl.md": "docs/how-to/repl.md", - "docs/tutorial/represented-file.md": "docs/how-to/represented-file.md", - "docs/tutorial/spellchecker.md": "docs/how-to/spellchecker.md", - "docs/tutorial/using-pepper-flash-plugin.md": "docs/how-to/using-pepper-flash-plugin.md", - "docs/tutorial/web-embeds.md": "docs/how-to/web-embeds.md", - "docs/tutorial/windows-arm.md": "docs/how-to/windows-arm.md", - "docs/tutorial/windows-taskbar.md": "docs/how-to/windows-taskbar.md", - "docs/tutorial/message-ports.md": "docs/performance/message-ports.md", - "docs/tutorial/performance.md": "docs/performance/performance.md", - "docs/tutorial/boilerplates-and-clis.md": "docs/resources/boilerplates-and-clis.md", - "docs/breaking-changes.md": "docs/resources/breaking-changes.md", - "docs/tutorial/electron-timelines.md": "docs/resources/electron-timelines.md", - "docs/tutorial/electron-versioning.md": "docs/resources/electron-versioning.md", - "docs/tutorial/support.md": "docs/resources/support.md", - "docs/tutorial/context-isolation.md": "docs/security/context-isolation.md", - "docs/tutorial/security.md": "docs/security/security.md", - "docs/tutorial/application-debugging.md": "docs/testing-and-debugging/application-debugging.md", - "docs/tutorial/automated-testing-with-a-custom-driver.md": "docs/testing-and-debugging/automated-testing-with-a-custom-driver.md", - "docs/tutorial/debugging-main-process.md": "docs/testing-and-debugging/debugging-main-process.md", - "docs/tutorial/debugging-vscode.md": "docs/testing-and-debugging/debugging-vscode.md", - "docs/tutorial/devtools-extension.md": "docs/testing-and-debugging/devtools-extension.md", - "docs/tutorial/testing-on-headless-ci.md": "docs/testing-and-debugging/testing-on-headless-ci.md", - "docs/tutorial/testing-widevine-cdm.md": "docs/testing-and-debugging/testing-widevine-cdm.md", - "docs/tutorial/updates.md": "docs/how-to/updates.md", - "docs/tutorial/using-selenium-and-webdriver.md": "docs/testing-and-debugging/using-selenium-and-webdriver.md" -} diff --git a/scripts/tasks/download-docs.js b/scripts/tasks/download-docs.js index 996ea1b..dfb92e0 100644 --- a/scripts/tasks/download-docs.js +++ b/scripts/tasks/download-docs.js @@ -7,9 +7,6 @@ const tar = require('tar-stream'); const got = require('got'); const globby = require('globby'); -const pathRewrites = require('./docs-reorg.json'); -const fixedFolders = ['api', 'images', 'fiddles']; - /** * @typedef DownloadOptions * @type {object} @@ -27,21 +24,6 @@ const fixedFolders = ['api', 'images', 'fiddles']; * @property {Buffer} content */ -/** - * Checks if the given folder is one of those that do not have to be - * modified - * @param {string} folder - * @returns - */ -const isFixedFolder = (folder) => { - for (const fixedFolder of fixedFolders) { - if (folder.includes(`/${fixedFolder}`)) { - return true; - } - } - return false; -}; - /** * Saves the file on disk creating the necessary folders * @param {Entry[]} files @@ -76,6 +58,7 @@ const downloadFromGitHub = async (options) => { return new Promise((resolve) => { got + // @ts-expect-error .stream(tarballUrl) .pipe(require('gunzip-maybe')()) .pipe( diff --git a/scripts/update-l10n-sources.js b/scripts/update-l10n-sources.js index 3065144..8a5a5d3 100644 --- a/scripts/update-l10n-sources.js +++ b/scripts/update-l10n-sources.js @@ -7,7 +7,6 @@ */ const { getChanges } = require('./utils/git-commands'); -const del = require('del'); const { execute } = require('./utils/execute'); const files = ['docusaurus.config.js', 'sidebars.js']; diff --git a/src/components/APIStructurePreview.jsx b/src/components/APIStructurePreview.jsx index f375bef..03fe4e7 100644 --- a/src/components/APIStructurePreview.jsx +++ b/src/components/APIStructurePreview.jsx @@ -1,5 +1,5 @@ import clsx from 'clsx'; -import React, {useEffect, useRef, useState} from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import ReactMarkdown from 'react-markdown'; import usePortal from 'react-useportal'; @@ -27,8 +27,8 @@ function APIStructurePreview(props) { // small negative offset helps retain focus so // we don't hit the onMouseLeave event if we // need to interact with the tooltip. - const VERTICAL_OFFSET = -2; - const offset = {x: 0, y: 0}; + const VERTICAL_OFFSET = -2; + const offset = { x: 0, y: 0 }; const linkRect = linkRef.current.getBoundingClientRect(); const isBottomHalfOfPage = window.innerHeight / 2 < linkRect.y; @@ -49,7 +49,7 @@ function APIStructurePreview(props) { setPosition({ top: linkRef.current.offsetTop - offset.y, - left: linkRef.current.offsetLeft - offset.x + left: linkRef.current.offsetLeft - offset.x, }); } }, [show]); @@ -60,17 +60,19 @@ function APIStructurePreview(props) { href={props.url} ref={linkRef} className={styles.link} - onMouseEnter={(ev) => { setShow(true); }} - onMouseLeave={() => { setShow(false);}} + onMouseEnter={(_ev) => { + setShow(true); + }} + onMouseLeave={() => { + setShow(false); + }} > {props.title} - {!!show && + {!!show && ( - - } + + + )} ); } @@ -89,6 +91,6 @@ const Card = (props) => ( -) +); export default APIStructurePreview; diff --git a/src/components/FiddleEmbed.jsx b/src/components/FiddleEmbed.jsx index 8f19f15..918cc75 100644 --- a/src/components/FiddleEmbed.jsx +++ b/src/components/FiddleEmbed.jsx @@ -10,46 +10,41 @@ const filePriority = { 'preload.js': 3, 'index.html': 2, 'renderer.js': 1, -} +}; const FiddleButton = (props) => { const { files, focus, version, dir } = props; // NOTE: We hack together the version path using Docusaurus directories // but the actual directories on `e/e` don't contain that section of the path. - // in fs : docs/latest/fiddles/path/to/fiddle/ + // in fs : docs/latest/fiddles/path/to/fiddle/ // or docs/v14-x-y/fiddles/path/to/fiddle/ // in e/e: docs/fiddles/path/to/fiddle/ const gitDir = dir.replace(/docs\/[a-zA-Z0-9-]+\/fiddles/, 'docs/fiddles'); - const fileNames = Object.keys(files).sort((a,b) => { - return filePriority[b] - filePriority[a] + const fileNames = Object.keys(files).sort((a, b) => { + return filePriority[b] - filePriority[a]; }); - const tabValues = fileNames.map(file => ({ + const tabValues = fileNames.map((file) => ({ label: file, value: file, })); return ( - - { - fileNames.map((file) => { + + {fileNames.map((file) => { return ( - {files[file]} + {files[file]} - ) - }) - } + ); + })} - - ) -} + + ); +}; /** * Adapted facebook/docusaurus @@ -58,27 +53,31 @@ const FiddleButton = (props) => { * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -function EditorWindow({children, version, gitDir}) { +function EditorWindow({ children, version, gitDir }) { return (
-
- {children} -
+
{children}
); } diff --git a/src/pages/governance/index.jsx b/src/pages/governance/index.jsx index 2bedcff..62c26f2 100644 --- a/src/pages/governance/index.jsx +++ b/src/pages/governance/index.jsx @@ -18,16 +18,26 @@ export default function GovernancePage() {

Electron Governance

- The Electron governance system is comprised of Working Groups that - oversee different aspects of the Electron ecosystem, and an Administrative working group - that functions to resolve conflicts between them. + + The Electron governance system is comprised of Working Groups that + oversee different aspects of the Electron ecosystem, and an + Administrative working group that functions to resolve conflicts + between them. +

- {data.map((group) => -
- -
)} + {data.map((group) => ( +
+ +
+ ))}
@@ -41,11 +51,15 @@ const GroupCard = ({ group }) => { const hasExpand = group.members.length + 1 > 4; const [expanded, setExpanded] = useState(false); return ( -
+
{group.name.slice(0, 1)}
@@ -53,43 +67,104 @@ const GroupCard = ({ group }) => {
{group.name} - {`External + {`External
-

{group.description}

+

+ {group.description} +

-

Members

-
- - { group.members.map(user => ()) } +

+ + Members + +

+
+ + {group.members.map((user) => ( + + ))}
- ) + ); }; const Member = ({ user, isChair }) => { return ( -
+
-
- @{user} - {isChair && Chair} + alt="" + /> +
+ + @{user} + + {isChair && ( + + + Chair + + + )}
- ) -} + ); +}; diff --git a/src/pages/index.js b/src/pages/index.js index c88e080..07e9255 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -12,70 +12,149 @@ function HomepageHeader() {
-
+
+ +

{siteConfig.tagline}

+ to="/docs/latest/" + > Get Started
-
+ ); } function HeroAnimation() { return ( - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - + + + - - - + + + - - + + - + - ) + ); } export default function Home() { const { siteConfig } = useDocusaurusContext(); return ( - + -
-
+
); } diff --git a/src/theme/DocSidebarItem/TagContent.jsx b/src/theme/DocSidebarItem/TagContent.jsx index 99c6adc..b24c4c6 100644 --- a/src/theme/DocSidebarItem/TagContent.jsx +++ b/src/theme/DocSidebarItem/TagContent.jsx @@ -7,11 +7,11 @@ import WindowsIcon from '@site/static/assets/img/platform-windows.svg'; export default function TagContent({ platform }) { switch (platform) { case 'windows': - return ; + return ; case 'mac': - return ; + return ; case 'linux': - return ; + return ; default: return; } diff --git a/src/theme/DocSidebarItem/index.jsx b/src/theme/DocSidebarItem/index.jsx index 4ac4e21..c412b70 100644 --- a/src/theme/DocSidebarItem/index.jsx +++ b/src/theme/DocSidebarItem/index.jsx @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -import React, {useEffect, useMemo} from 'react'; +import React, { useEffect, useMemo } from 'react'; import clsx from 'clsx'; import { isActiveSidebarItem, @@ -18,14 +18,14 @@ import { } from '@docusaurus/theme-common'; import Link from '@docusaurus/Link'; import isInternalUrl from '@docusaurus/isInternalUrl'; -import {translate} from '@docusaurus/Translate'; +import { translate } from '@docusaurus/Translate'; import IconExternalLink from '@theme/IconExternalLink'; import DocSidebarItems from '@theme/DocSidebarItems'; import styles from './styles.module.css'; import useIsBrowser from '@docusaurus/useIsBrowser'; import TagContent from './TagContent'; -export default function DocSidebarItem({item, ...props}) { +export default function DocSidebarItem({ item, ...props }) { switch (item.type) { case 'category': if (item.items.length === 0) { @@ -40,7 +40,7 @@ export default function DocSidebarItem({item, ...props}) { } } // If we navigate to a category and it becomes active, it should automatically expand itself -function useAutoExpandActiveCategory({isActive, collapsed, setCollapsed}) { +function useAutoExpandActiveCategory({ isActive, collapsed, setCollapsed }) { const wasActive = usePrevious(isActive); useEffect(() => { const justBecameActive = isActive && !wasActive; @@ -79,10 +79,10 @@ function DocSidebarItemCategory({ index, ...props }) { - const {items, label, collapsible, className, href} = item; + const { items, label, collapsible, className, href } = item; const hrefWithSSRFallback = useCategoryHrefWithSSRFallback(item); const isActive = isActiveSidebarItem(item, activePath); - const {collapsed, setCollapsed} = useCollapsible({ + const { collapsed, setCollapsed } = useCollapsible({ // active categories are always initialized as expanded // the default (item.collapsed) is only used for non-active categories initialState: () => { @@ -98,14 +98,14 @@ function DocSidebarItemCategory({ collapsed, setCollapsed, }); - const {expandedItem, setExpandedItem} = useDocSidebarItemsExpandedState(); + const { expandedItem, setExpandedItem } = useDocSidebarItemsExpandedState(); function updateCollapsed(toCollapsed = !collapsed) { setExpandedItem(toCollapsed ? null : index); setCollapsed(toCollapsed); } - const {autoCollapseSidebarCategories} = useThemeConfig(); + const { autoCollapseSidebarCategories } = useThemeConfig(); useEffect(() => { if ( collapsible && @@ -131,8 +131,9 @@ function DocSidebarItemCategory({ { 'menu__list-item--collapsed': collapsed, }, - className, - )}> + className + )} + >
+ {...props} + > {label} {href && collapsible && ( @@ -174,7 +176,7 @@ function DocSidebarItemCategory({ }, { label, - }, + } )} type="button" className="clean-btn menu__caret" @@ -204,21 +206,25 @@ function DocSidebarItemLink({ onItemClick, activePath, level, - index, + _index, ...props }) { const { href, label, className, customProps } = item; const isActive = isActiveSidebarItem(item, activePath); - const hasTags = customProps && Array.isArray(customProps.tags) && customProps.tags.length > 0; // SWIZZLED + const hasTags = + customProps && + Array.isArray(customProps.tags) && + customProps.tags.length > 0; // SWIZZLED return (
  • + key={label} + > onItemClick(item) : undefined, })} - {...props}> - {isInternalUrl(href) ? ( - label - ) : ( - - {label} - - - )} - { - // BEGIN SWIZZLED CODE - hasTags && -
      - { - customProps.tags.map((tag) => -
    • - -
    • - ) - } -
    - // END SWIZZLED CODE - } - + {...props} + > + {isInternalUrl(href) ? ( + label + ) : ( + + {label} + + + )} + { + // BEGIN SWIZZLED CODE + hasTags && ( +
      + {customProps.tags.map((tag) => ( +
    • + +
    • + ))} +
    + ) + // END SWIZZLED CODE + } +
  • ); } diff --git a/src/theme/TOC/index.js b/src/theme/TOC/index.js index ad31069..489b5bd 100644 --- a/src/theme/TOC/index.js +++ b/src/theme/TOC/index.js @@ -1,9 +1,8 @@ - /** * WARNING: This is considered an 'unsafe' custom swizzle * during the Docusaurus 2 beta phase. This component will * override Docusaurus' own `@theme/TOC` export. - * + * * This is a relatively safe change because it re-uses the * Docusaurus' underlying TOC and TOCHeadings components, * but any change to the TOCItem type will affect our cleaning diff --git a/src/transformers/api-labels.js b/src/transformers/api-labels.js index 2996464..a7e36c6 100644 --- a/src/transformers/api-labels.js +++ b/src/transformers/api-labels.js @@ -2,10 +2,10 @@ /** * This transformer adds badge styling to our raw API documentation. - * + * * Styles are added via the Badge component from Infima: * https://infima.dev/docs/components/badge - * + * * The raw Markdown nodes to be transformed are: * _macOS_ * _Linux_ @@ -13,16 +13,16 @@ * _Readonly_ * _Deprecated_ * _Experimental_ - * + * * This is done by modifying the node.data.hProperties of each * matching AST node. the hProperties object is not directly documented * on the MDX side, but is used in its transformation pipeline in the * `mdast-util-to-hast` step. - * + * * See: https://github.com/syntax-tree/mdast-util-to-hast */ -const visitParents = require("unist-util-visit-parents"); +const visitParents = require('unist-util-visit-parents'); module.exports = function attacher() { return transformer; @@ -41,21 +41,21 @@ async function transformer(tree) { visitParents(tree, 'emphasis', visitor); } - /** - * - * @param {import("unist").Node} node - */ - function visitor(node) { - if (Array.isArray(node.children) && node.children.length === 1) { - const tag = node.children[0].value; - if (PLATFORMS.includes(tag)) { - node.data = {hProperties: {className: ["badge badge--primary"]}} - } else if (tag === DEPRECATED) { - node.data = {hProperties: {className: ["badge badge--danger"]}} - } else if (tag === EXPERIMENTAL) { - node.data = {hProperties: {className: ["badge badge--warning"]}} - } else if (tag === READONLY) { - node.data = {hProperties: {className: ["badge badge--info"]}} - } +/** + * + * @param {import("unist").Node} node + */ +function visitor(node) { + if (Array.isArray(node.children) && node.children.length === 1) { + const tag = node.children[0].value; + if (PLATFORMS.includes(tag)) { + node.data = { hProperties: { className: ['badge badge--primary'] } }; + } else if (tag === DEPRECATED) { + node.data = { hProperties: { className: ['badge badge--danger'] } }; + } else if (tag === EXPERIMENTAL) { + node.data = { hProperties: { className: ['badge badge--warning'] } }; + } else if (tag === READONLY) { + node.data = { hProperties: { className: ['badge badge--info'] } }; } } +} diff --git a/src/transformers/api-structure-previews.js b/src/transformers/api-structure-previews.js index 8259c2a..fc289ef 100644 --- a/src/transformers/api-structure-previews.js +++ b/src/transformers/api-structure-previews.js @@ -1,54 +1,59 @@ -const visitParents = require("unist-util-visit-parents"); +const visitParents = require('unist-util-visit-parents'); const fs = require('fs'); const path = require('path'); /** - * - * + * + * */ module.exports = function attacher() { return transformer; }; /** -* -* @param {import("unist").Parent} tree -*/ + * + * @param {import("unist").Parent} tree + */ async function transformer(tree) { visitParents(tree, isStructure, visitor); tree.children.unshift({ type: 'import', value: "import APIStructurePreview from '@site/src/components/APIStructurePreview';", - }) + }); } /** - * - * @param {import("unist").Node} node - * @returns + * + * @param {import("unist").Node} node + * @returns */ -function isStructure(node, index, parent) { - return node.type === 'link' && node.url.startsWith('/docs/latest/api/structures/'); +function isStructure(node, _index, _parent) { + return ( + node.type === 'link' && node.url.startsWith('/docs/latest/api/structures/') + ); } - /** - * - * @param {import("unist").Node} node - */ - function visitor(node, ancestors) { - const file = fs.readFileSync(path.join(__dirname, '..', '..', `${node.url}.md`)); - // hack to remove frontmatter from docs. - const str = file.toString() - .replace(/---\n(?:(?:.|\n)*)\n---/g, '') - .replace(/&/g, "&") - .replace(//g, ">") - .replace(/"/g, """) - .replace(/'/g, "'"); +/** + * + * @param {import("unist").Node} node + */ +function visitor(node, _ancestors) { + const file = fs.readFileSync( + path.join(__dirname, '..', '..', `${node.url}.md`) + ); + // hack to remove frontmatter from docs. + const str = file + .toString() + .replace(/---\n(?:(?:.|\n)*)\n---/g, '') + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); - // replace the raw link file with our JSX component. - // See src/components/APIStructurePreview.jsx for implementation. - node.type = 'jsx'; - node.value = `` - } + // replace the raw link file with our JSX component. + // See src/components/APIStructurePreview.jsx for implementation. + node.type = 'jsx'; + node.value = ``; +} diff --git a/src/transformers/fiddle-embedder.js b/src/transformers/fiddle-embedder.js index 83c70e4..048b58b 100644 --- a/src/transformers/fiddle-embedder.js +++ b/src/transformers/fiddle-embedder.js @@ -38,8 +38,7 @@ function matchNode(node) { const importNode = { type: 'import', - value: - "import FiddleEmbed from '@site/src/components/FiddleEmbed';", + value: "import FiddleEmbed from '@site/src/components/FiddleEmbed';", }; /** @@ -129,8 +128,9 @@ function getFiddleAST(dir, version, { focus = 'main.js' }) { children.push({ type: 'jsx', - value: - `` + value: ``, }); return children; diff --git a/src/util/cleanHeadings.js b/src/util/cleanHeadings.js index c2bd20d..5c092d6 100644 --- a/src/util/cleanHeadings.js +++ b/src/util/cleanHeadings.js @@ -1,18 +1,18 @@ // @ts-check /** - * - * @param {import('@docusaurus/types').TOCItem[]} toc + * + * @param {import('@docusaurus/types').TOCItem[]} toc */ export function cleanTOC(toc) { if (toc.length === 0) { return toc; } - return toc.map(({id, value, children, level}) => ({ + return toc.map(({ id, value, children, level }) => ({ id, value: cleanHeading(value), children: cleanTOC(children), - level + level, })); } @@ -24,13 +24,15 @@ export function cleanTOC(toc) { */ function cleanHeading(str) { // For events: `Event: 'close'` becomes `close` - const eventsMatch = str.match(/Event: '([a-z]*(?:-[a-z]+)*)'/) + const eventsMatch = str.match(/Event: '([a-z]*(?:-[a-z]+)*)'/); // For properties / methods: `win.previewFile(path[, displayName]) macOS` becomes `previewFile` - const propsMethodsMatch = str.match(/^[a-zA-Z]+\.((?:[a-zA-Z0-9]+[\.]?)+)/) + const propsMethodsMatch = str.match( + /^[a-zA-Z]+\.((?:[a-zA-Z0-9]+[.]?)+)/ + ); if (eventsMatch) { - return `'${eventsMatch[1]}'` + return `'${eventsMatch[1]}'`; } else if (propsMethodsMatch) { - return `${propsMethodsMatch[1]}` + return `${propsMethodsMatch[1]}`; } return str; diff --git a/yarn.lock b/yarn.lock index ec0d9bf..c2e0cbd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2728,6 +2728,18 @@ fs-extra "^10.0.0" tslib "^2.3.1" +"@docusaurus/types@^2.0.0-beta.15": + version "2.0.0-beta.15" + resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-2.0.0-beta.15.tgz#2f7b25a3686f46440204e7ad5490582a39878177" + integrity sha512-djeZe5aDyI4lgfdLkI86pLnliFJRB1CVkcP3iA+PqXaJ3Cp4piPeBX5tZtE+0vJt2JwNATZpkzzkKbFDq5MinQ== + dependencies: + commander "^5.1.0" + joi "^17.4.2" + querystring "0.2.1" + utility-types "^3.10.0" + webpack "^5.61.0" + webpack-merge "^5.8.0" + "@docusaurus/utils-common@2.0.0-beta.15": version "2.0.0-beta.15" resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-2.0.0-beta.15.tgz#5549b329fc750bd5e9f24952c9e3ff7cf1f63e08" @@ -2767,6 +2779,21 @@ tslib "^2.3.1" url-loader "^4.1.1" +"@eslint/eslintrc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.1.0.tgz#583d12dbec5d4f22f333f9669f7d0b7c7815b4d3" + integrity sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.3.1" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@hapi/hoek@^9.0.0": version "9.2.0" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" @@ -2779,6 +2806,20 @@ dependencies: "@hapi/hoek" "^9.0.0" +"@humanwhocodes/config-array@^0.9.2": + version "0.9.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.3.tgz#f2564c744b387775b436418491f15fce6601f63e" + integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -3810,7 +3851,7 @@ acorn-import-assertions@^1.7.6: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== -acorn-jsx@^5.0.1: +acorn-jsx@^5.0.1, acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -3850,6 +3891,11 @@ acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== +acorn@^8.7.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== + address@^1.0.1, address@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" @@ -3882,7 +3928,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.10.0, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -4070,6 +4116,17 @@ array-flatten@^2.1.0: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== +array-includes@^3.1.3, array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + is-string "^1.0.7" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -4085,6 +4142,15 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.flatmap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.19.0" + asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -5215,7 +5281,7 @@ cross-spawn@^6.0.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -5516,6 +5582,13 @@ debug@^4.1.0, debug@^4.1.1: dependencies: ms "2.1.2" +debug@^4.3.2: + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== + dependencies: + ms "2.1.2" + decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -5562,6 +5635,11 @@ deep-extend@^0.6.0: resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" @@ -5737,6 +5815,20 @@ dns-txt@^2.0.2: dependencies: buffer-indexof "^1.0.0" +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + docusaurus-plugin-sass@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/docusaurus-plugin-sass/-/docusaurus-plugin-sass-0.2.1.tgz#673c6b6ac00b581e8fb0baab22f2b3766735aafc" @@ -5983,11 +6075,46 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.4" + is-negative-zero "^2.0.1" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + es-module-lexer@^0.9.0: version "0.9.3" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + esbuild-loader@^2.15.1: version "2.15.1" resolved "https://registry.yarnpkg.com/esbuild-loader/-/esbuild-loader-2.15.1.tgz#5a3940f5d20317f1a35720efa33e933f97c923e9" @@ -6048,6 +6175,38 @@ escodegen@^2.0.0: optionalDependencies: source-map "~0.6.1" +eslint-config-prettier@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" + integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== + +eslint-plugin-prettier@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0" + integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ== + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-react@^7.28.0: + version "7.28.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" + integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== + dependencies: + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" + eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -6056,11 +6215,93 @@ eslint-scope@5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.9.0: + version "8.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb" + integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q== + dependencies: + "@eslint/eslintrc" "^1.1.0" + "@humanwhocodes/config-array" "^0.9.2" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^6.0.1" + globals "^13.6.0" + ignore "^5.2.0" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + regexpp "^3.2.0" + strip-ansi "^6.0.1" + strip-json-comments "^3.1.0" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^9.3.1: + version "9.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" + integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ== + dependencies: + acorn "^8.7.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^3.3.0" + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" @@ -6073,6 +6314,11 @@ estraverse@^4.1.1: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== +estraverse@^5.1.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + estraverse@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" @@ -6278,6 +6524,11 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" + integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + fast-glob@^3.1.1: version "3.2.5" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" @@ -6306,7 +6557,7 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= @@ -6371,6 +6622,13 @@ feed@^4.2.2: dependencies: xml-js "^1.6.11" +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + file-loader@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" @@ -6446,6 +6704,19 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.5" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" + integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== + flux@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/flux/-/flux-4.0.1.tgz#7843502b02841d4aaa534af0b373034a1f75ee5c" @@ -6563,6 +6834,11 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -6573,7 +6849,7 @@ get-caller-file@^2.0.1: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -6611,6 +6887,14 @@ get-stream@^6.0.0: resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz" integrity sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg== +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -6711,6 +6995,13 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^13.6.0, globals@^13.9.0: + version "13.12.1" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.1.tgz#ec206be932e6c77236677127577aa8e50bf1c5cb" + integrity sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw== + dependencies: + type-fest "^0.20.2" + globby@^11.0.1, globby@^11.0.3: version "11.0.3" resolved "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz" @@ -6850,6 +7141,11 @@ har-validator@~5.1.3: ajv "^6.12.3" har-schema "^2.0.0" +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -6865,6 +7161,13 @@ has-symbols@^1.0.1, has-symbols@^1.0.2: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -7240,12 +7543,17 @@ ieee754@^1.1.13: resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + ignore@^5.1.4: version "5.1.8" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== -ignore@^5.1.9: +ignore@^5.1.9, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -7262,7 +7570,7 @@ immer@^9.0.7: resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.12.tgz#2d33ddf3ee1d247deab9d707ca472c8c942a0f20" integrity sha512-lk7UNmSbAukB5B6dh9fnh5D0bJTOFKxVg2cyJWTYrWRfhLrLMBquONcUs3aFq507hNoIZEDDh8lb8UtOizSMhA== -import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.2.2, import-fresh@^3.3.0: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.2.2, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -7331,6 +7639,15 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + interpret@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" @@ -7408,6 +7725,13 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= +is-bigint@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" + is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -7415,6 +7739,14 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-boolean-object@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -7425,6 +7757,11 @@ is-buffer@^2.0.0: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -7540,6 +7877,13 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== +is-glob@^4.0.0, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" @@ -7547,13 +7891,6 @@ is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - is-gzip@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz" @@ -7577,11 +7914,23 @@ is-installed-globally@^0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" +is-negative-zero@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== + is-npm@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-5.0.0.tgz#43e8d65cc56e1b67f8d47262cf667099193f45a8" integrity sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA== +is-number-object@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -7654,6 +8003,14 @@ is-regex@^1.0.4: call-bind "^1.0.2" has-symbols "^1.0.2" +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" @@ -7669,6 +8026,11 @@ is-root@^2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -7679,11 +8041,32 @@ is-stream@^2.0.0: resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + dependencies: + has-symbols "^1.0.2" + is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-weakref@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== + dependencies: + call-bind "^1.0.2" + is-whitespace-character@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" @@ -8215,7 +8598,7 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.0.0: +js-yaml@^4.0.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== @@ -8304,6 +8687,11 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -8342,6 +8730,14 @@ jsprim@^1.2.2: json-schema "0.2.3" verror "1.10.0" +"jsx-ast-utils@^2.4.1 || ^3.0.0": + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + dependencies: + array-includes "^3.1.3" + object.assign "^4.1.2" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz" @@ -8407,6 +8803,14 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -8530,7 +8934,7 @@ lodash.memoize@^4.1.2: resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.merge@^4.4.0: +lodash.merge@^4.4.0, lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== @@ -9507,6 +9911,11 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== + object-is@^1.0.1: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" @@ -9527,7 +9936,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0: +object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -9537,6 +9946,32 @@ object.assign@^4.1.0: has-symbols "^1.0.1" object-keys "^1.1.1" +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.19.1" + object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -9544,6 +9979,15 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -9601,6 +10045,18 @@ optionator@^0.8.1: type-check "~0.3.2" word-wrap "~1.2.3" +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + p-cancelable@^1.0.0: version "1.1.0" resolved "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz" @@ -10234,6 +10690,11 @@ postcss@^8.4.5: picocolors "^1.0.0" source-map-js "^1.0.2" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -10244,6 +10705,13 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + prettier@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5" @@ -10413,6 +10881,11 @@ querystring@0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= +querystring@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" + integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -10767,6 +11240,19 @@ regexp.prototype.flags@^1.2.0: call-bind "^1.0.2" define-properties "^1.1.3" +regexp.prototype.flags@^1.3.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + regexpu-core@^4.5.4: version "4.8.0" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" @@ -11101,6 +11587,14 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.3. is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz" @@ -11507,6 +12001,15 @@ shellwords@^0.1.1: resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" @@ -11814,6 +12317,36 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string.prototype.matchall@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -11892,7 +12425,7 @@ strip-final-newline@^2.0.0: resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@^3.1.1: +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -12248,6 +12781,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0: resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -12305,6 +12845,16 @@ ua-parser-js@^0.7.18: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31" integrity sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g== +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + unherit@^1.0.4: version "1.1.3" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" @@ -12711,6 +13261,11 @@ uvu@^0.5.0: sade "^1.7.3" totalist "^2.0.0" +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + v8-to-istanbul@^7.0.0: version "7.1.2" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" @@ -13021,6 +13576,17 @@ whatwg-url@^8.0.0, whatwg-url@^8.5.0: tr46 "^2.0.2" webidl-conversions "^6.1.0" +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" @@ -13052,7 +13618,7 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== -word-wrap@~1.2.3: +word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==