From be52cbcbfcf5ac1818366d3fe87d716546c495bb Mon Sep 17 00:00:00 2001 From: Mathieu Schimmerling Date: Tue, 3 Jan 2023 01:36:47 +0100 Subject: [PATCH] refactor: migrate from astro to svelte + vite to improve performance (#131) * add highlighter * add playground url * add markdown support and notification center * fix multiple md files * add meta description with framework list * fix: framework id loop index * store frameworkIdsSelected in locale storage * add generateFrameworkContent vite plugin * add missing snippet case * add content generate cache * add angular component highlighter * improve content generator organization * add format and linter * add git hooks * add default frameworks --- .eslintrc.esm.mjs | 2 +- .github/workflows/node.js.yml | 2 +- .gitignore | 29 +- .gitpod.yml | 2 - .husky/.gitignore | 1 - .husky/pre-commit | 4 - .npmrc | 2 - .vscode/settings.json | 15 +- CONTRIBUTING.md | 2 +- LICENSE | 21 - README.md | 9 +- astro.config.mjs | 16 - build/generateContentVitePlugin.js | 43 + build/lib/angularHighlighter.js | 63 + build/lib/componentPartyShikiTheme.js | 2113 ++++++++++ build/lib/generateContent.js | 194 + build/lib/markdownToHtml.js | 29 + .../lib/playground/createAlpinePlayground.js | 0 .../lib/playground/createSolidPlayground.js | 2 +- .../lib/playground/createSveltePlayground.js | 2 +- .../lib/playground/createVue3Playground.js | 0 build/lib/playground/index.js | 11 + src/frameworks.mjs => frameworks.mjs | 0 index.html | 52 + jsconfig.json | 33 + package.json | 108 +- pnpm-lock.yaml | 3713 ++++++----------- postcss.config.cjs | 6 + public/font/Mona-Sans.woff2 | Bin 0 -> 133748 bytes scripts/generateContent.js | 3 + ...{progress.js => generateReadMeProgress.js} | 5 +- src/App.svelte | 281 ++ src/app.css | 36 + src/components/AppNotificationCenter.svelte | 40 + src/components/Aside.svelte | 34 + src/components/CodeEditor.svelte | 76 + src/components/CodeHighlight/Shiki.js | 24 - .../CodeHighlight/astroHighlightCode.js | 42 - .../highlightAngularComponent.js | 66 - src/components/CodeViewer.astro | 99 - src/components/FileCode.astro | 37 - src/components/FrameworkLabel.astro | 27 - src/components/FrameworkLabel.svelte | 24 + src/components/GithubIcon.svelte | 12 + src/components/Header.svelte | 26 + src/components/Section.astro | 270 -- src/components/Title.svelte | 16 - src/components/scripts/alpine-init.js | 89 - src/layouts/BaseLayout.astro | 42 - src/layouts/BaseLayout.svelte | 165 - src/lib/createLocaleStorage.js | 28 + src/main.js | 8 + src/pages/index.astro | 21 - src/utils/createCache.js | 49 - src/utils/createFileMapCache.js | 56 - src/utils/createFsCache.js | 66 - src/utils/generateContentTree.js | 43 - src/utils/repl/index.js | 11 - tailwind.config.cjs | 11 +- tsconfig.app.json | 10 - tsconfig.json | 20 - tsconfig.spec.json | 10 - vite.config.js | 28 + 63 files changed, 4410 insertions(+), 3839 deletions(-) delete mode 100644 .gitpod.yml delete mode 100644 .husky/.gitignore delete mode 100755 .husky/pre-commit delete mode 100644 .npmrc delete mode 100644 LICENSE delete mode 100644 astro.config.mjs create mode 100644 build/generateContentVitePlugin.js create mode 100644 build/lib/angularHighlighter.js create mode 100644 build/lib/componentPartyShikiTheme.js create mode 100644 build/lib/generateContent.js create mode 100644 build/lib/markdownToHtml.js rename src/utils/repl/createAlpineREPL.js => build/lib/playground/createAlpinePlayground.js (100%) rename src/utils/repl/createSolidREPL.js => build/lib/playground/createSolidPlayground.js (97%) rename src/utils/repl/createSvelteREPL.js => build/lib/playground/createSveltePlayground.js (95%) rename src/utils/repl/createVue3REPL.js => build/lib/playground/createVue3Playground.js (100%) create mode 100644 build/lib/playground/index.js rename src/frameworks.mjs => frameworks.mjs (100%) create mode 100644 index.html create mode 100644 jsconfig.json create mode 100644 postcss.config.cjs create mode 100644 public/font/Mona-Sans.woff2 create mode 100644 scripts/generateContent.js rename scripts/{progress.js => generateReadMeProgress.js} (98%) create mode 100644 src/App.svelte create mode 100644 src/app.css create mode 100644 src/components/AppNotificationCenter.svelte create mode 100644 src/components/Aside.svelte create mode 100644 src/components/CodeEditor.svelte delete mode 100644 src/components/CodeHighlight/Shiki.js delete mode 100644 src/components/CodeHighlight/astroHighlightCode.js delete mode 100644 src/components/CodeHighlight/highlightAngularComponent.js delete mode 100644 src/components/CodeViewer.astro delete mode 100644 src/components/FileCode.astro delete mode 100644 src/components/FrameworkLabel.astro create mode 100644 src/components/FrameworkLabel.svelte create mode 100644 src/components/GithubIcon.svelte create mode 100644 src/components/Header.svelte delete mode 100644 src/components/Section.astro delete mode 100644 src/components/Title.svelte delete mode 100644 src/components/scripts/alpine-init.js delete mode 100644 src/layouts/BaseLayout.astro delete mode 100644 src/layouts/BaseLayout.svelte create mode 100644 src/lib/createLocaleStorage.js create mode 100644 src/main.js delete mode 100644 src/pages/index.astro delete mode 100644 src/utils/createCache.js delete mode 100644 src/utils/createFileMapCache.js delete mode 100644 src/utils/createFsCache.js delete mode 100644 src/utils/generateContentTree.js delete mode 100644 src/utils/repl/index.js delete mode 100644 tsconfig.app.json delete mode 100644 tsconfig.json delete mode 100644 tsconfig.spec.json create mode 100644 vite.config.js diff --git a/.eslintrc.esm.mjs b/.eslintrc.esm.mjs index 670e45f6..56779451 100644 --- a/.eslintrc.esm.mjs +++ b/.eslintrc.esm.mjs @@ -1,4 +1,4 @@ -import FRAMEWORKS from "./src/frameworks.mjs"; +import FRAMEWORKS from "./frameworks.mjs"; /** * @type {import("eslint").Linter.Config} diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 09da8303..a86fe717 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: - node-version: [14.x, 16.x] + node-version: [16.x, 18.x] # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ steps: diff --git a/.gitignore b/.gitignore index 5a5780a5..61d82088 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,26 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + node_modules -new-section -.eslintcache -yarn.lock -package-lock.json dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea .DS_Store -.history -.chrome \ No newline at end of file +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +src/generatedContent \ No newline at end of file diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index 85c13487..00000000 --- a/.gitpod.yml +++ /dev/null @@ -1,2 +0,0 @@ -tasks: - - init: pnpm install --frozen-lockfile diff --git a/.husky/.gitignore b/.husky/.gitignore deleted file mode 100644 index 31354ec1..00000000 --- a/.husky/.gitignore +++ /dev/null @@ -1 +0,0 @@ -_ diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index 36af2198..00000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -npx lint-staged diff --git a/.npmrc b/.npmrc deleted file mode 100644 index ef83021a..00000000 --- a/.npmrc +++ /dev/null @@ -1,2 +0,0 @@ -# Expose Astro dependencies for `pnpm` users -shamefully-hoist=true diff --git a/.vscode/settings.json b/.vscode/settings.json index 7e451964..9efb6a04 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,21 +1,8 @@ { "editor.defaultFormatter": "esbenp.prettier-vscode", - "eslint.probe": ["javascript", "javascriptreact", "vue"], - "editor.formatOnSave": false, // Runs Prettier, then ESLint "editor.codeActionsOnSave": ["source.formatDocument", "source.fixAll.eslint"], "[svelte]": { "editor.defaultFormatter": "svelte.svelte-vscode" - }, - "cSpell.words": [ - "alpinejs", - "astro", - "astrojs", - "matschik", - "mdast", - "pnpm", - "qwik", - "shiki", - "webp" - ] + } } diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4b615b7e..7ed5c263 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,7 +7,7 @@ This site is built with [Astro](https://docs.astro.build). Site content is writt 1. Fork the project and create a new branch 2. Add the new framework SVG logo in `public/framework` 3. Install the ESLint plugin associated to the framework -4. In `src/frameworks.mjs`, add a new entry with SVG link and ESLint configuration +4. In `frameworks.mjs`, add a new entry with SVG link and ESLint configuration ## Improve website diff --git a/LICENSE b/LICENSE deleted file mode 100644 index c8de55fa..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2022-present, Mathieu Schimmerling - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 9b89a7b8..24a3feb9 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -[![Open in Gitpod][gitpod-src]][gitpod-href] - ![Component Party 🎉](.github/banner.webp) > Web component JS frameworks quick overview by their syntax and features @@ -383,7 +381,7 @@ This project requires Node.js to be `v14.0.0` or higher, because we use new Java 1. Fork the project and create a new branch 2. Add the new framework SVG logo in `public/framework` 3. Install the ESLint plugin associated to the framework -4. In `src/frameworks.mjs`, add a new entry with SVG link and ESLint configuration +4. In `frameworks.mjs`, add a new entry with SVG link and ESLint configuration ## 🧑‍💻 Contributors @@ -393,8 +391,3 @@ This project exists thanks to all the people who contribute. \[[Contribute](CONT ## ⚖️ License MIT. Made with 💖 - - - -[gitpod-src]: https://shields.io/badge/Open%20in-Gitpod-green?logo=Gitpod -[gitpod-href]: https://gitpod.io/#https://github.com/matschik/component-party diff --git a/astro.config.mjs b/astro.config.mjs deleted file mode 100644 index 4e85eaf7..00000000 --- a/astro.config.mjs +++ /dev/null @@ -1,16 +0,0 @@ -import { defineConfig } from "astro/config"; -import tailwind from "@astrojs/tailwind"; -import svelte from "@astrojs/svelte"; -import FullReload from "vite-plugin-full-reload"; - -// https://astro.build/config -export default defineConfig({ - // https://docs.astro.build/en/reference/configuration-reference/ - integrations: [tailwind(), svelte()], - vite: { - plugins: [FullReload(["content/**/*"])], - optimizeDeps: { - exclude: ["locate-path", "path-exists", "find-up"], - }, - }, -}); diff --git a/build/generateContentVitePlugin.js b/build/generateContentVitePlugin.js new file mode 100644 index 00000000..8f6bd775 --- /dev/null +++ b/build/generateContentVitePlugin.js @@ -0,0 +1,43 @@ +import fs from "fs"; +import generateContent from "./lib/generateContent.js"; +import { createFsCache } from "micache"; +import { hashElement } from "folder-hash"; + +const contentDirFsCache = await createFsCache("pluginGenerateFrameworkContent"); + +export default function pluginGenerateFrameworkContent() { + const name = "generateFrameworkContent"; + + function logInfo(...args) { + console.info(`[${name}]`, ...args); + } + + async function build() { + logInfo("Generating framework content files..."); + const contentDirHash = + (await hashElement("content")).hash + (await hashElement("build")).hash; + const contentDirLastHash = await contentDirFsCache.get("contentDirHash"); + if (contentDirHash !== contentDirLastHash) { + await generateContent(); + await contentDirFsCache.set("contentDirHash", contentDirHash); + logInfo(`done`); + } else { + logInfo(`done with cache`); + } + } + + let fsContentWatcher; + if (process.env.NODE_ENV === "development") { + fsContentWatcher = fs.watch("content", { recursive: true }, build); + } + + return { + name, + async buildStart() { + await build(); + }, + buildEnd() { + fsContentWatcher && fsContentWatcher.close(); + }, + }; +} diff --git a/build/lib/angularHighlighter.js b/build/lib/angularHighlighter.js new file mode 100644 index 00000000..462fd154 --- /dev/null +++ b/build/lib/angularHighlighter.js @@ -0,0 +1,63 @@ +export function mustUseAngularHighlighter(fileContent) { + return ( + fileContent.includes("@angular/core") && fileContent.includes("template") + ); +} + +export function highlightAngularComponent(highlighter, fileContent, fileExt) { + const templateCode = getAngularTemplateCode(fileContent); + + let codeHighlighted = ""; + if (templateCode) { + const componentWithEmptyTemplate = + removeAngularTemplateContent(fileContent); + const templateCodeHighlighted = highlighter(templateCode, { + lang: "html", + }); + + const componentWithoutTemplateHighlighted = highlighter( + componentWithEmptyTemplate, + { + lang: fileExt, + } + ); + + codeHighlighted = componentWithoutTemplateHighlighted.replace( + "template", + "template: `" + removeCodeWrapper(templateCodeHighlighted) + "`," + ); + } else { + codeHighlighted = highlighter(fileContent, { + lang: fileExt, + }); + } + + return codeHighlighted; +} + +function getAngularTemplateCode(fileContent) { + // regex to grab what is inside angular component template inside backticks + const regex = /template:\s*`([\s\S]*?)`/gm; + + // grab the template string + const template = regex.exec(fileContent); + + if (template) return template[1]; + + return ""; +} + +function removeAngularTemplateContent(fileContent) { + const componentWithoutContentInsideTemplate = fileContent.replace( + /template:\s*`([\s\S]*?)([^*])`,?/gm, + "template" + ); + + return componentWithoutContentInsideTemplate; +} + +function removeCodeWrapper(html) { + const regexForWrapper = /([\s\S]*?)<\/code><\/pre>/gm; + const code = regexForWrapper.exec(html); + return code[2]; +} diff --git a/build/lib/componentPartyShikiTheme.js b/build/lib/componentPartyShikiTheme.js new file mode 100644 index 00000000..8c579581 --- /dev/null +++ b/build/lib/componentPartyShikiTheme.js @@ -0,0 +1,2113 @@ +export default { + name: "one-dark-pro-for-component-party", + type: "dark", + semanticHighlighting: true, + semanticTokenColors: { + enumMember: { + foreground: "#56b6c2", + }, + "variable.constant": { + foreground: "#d19a66", + }, + "variable.defaultLibrary": { + foreground: "#e5c07b", + }, + "variable:dart": { + foreground: "#d19a66", + }, + "property:dart": { + foreground: "#d19a66", + }, + "annotation:dart": { + foreground: "#d19a66", + }, + "parameter.label:dart": { + foreground: "#abb2bf", + }, + macro: { + foreground: "#d19a66", + }, + tomlArrayKey: { + foreground: "#e5c07b", + }, + }, + tokenColors: [ + { + scope: "meta.embedded", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "unison punctuation", + scope: + "punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "haskell variable generic-type", + scope: "variable.other.generic-type.haskell", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "haskell storage type", + scope: "storage.type.haskell", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "support.variable.magic.python", + scope: "support.variable.magic.python", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "punctuation.separator.parameters.python", + scope: + "punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "variable.parameter.function.language.special.self.python", + scope: "variable.parameter.function.language.special.self.python", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "variable.parameter.function.language.special.cls.python", + scope: "variable.parameter.function.language.special.cls.python", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "storage.modifier.lifetime.rust", + scope: "storage.modifier.lifetime.rust", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "support.function.std.rust", + scope: "support.function.std.rust", + settings: { + foreground: "#61afef", + }, + }, + { + name: "entity.name.lifetime.rust", + scope: "entity.name.lifetime.rust", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "variable.language.rust", + scope: "variable.language.rust", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "support.constant.edge", + scope: "support.constant.edge", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "regexp constant character-class", + scope: "constant.other.character-class.regexp", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "keyword.operator", + scope: ["keyword.operator.word"], + settings: { + foreground: "#c678dd", + }, + }, + { + name: "regexp operator.quantifier", + scope: "keyword.operator.quantifier.regexp", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Text", + scope: "variable.parameter.function", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Comment Markup Link", + scope: "comment markup.link", + settings: { + foreground: "#5c6370", + }, + }, + { + name: "markup diff", + scope: "markup.changed.diff", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "diff", + scope: + "meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff", + settings: { + foreground: "#61afef", + }, + }, + { + name: "inserted.diff", + scope: "markup.inserted.diff", + settings: { + foreground: "#98c379", + }, + }, + { + name: "deleted.diff", + scope: "markup.deleted.diff", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "c++ function", + scope: "meta.function.c,meta.function.cpp", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "c++ block", + scope: + "punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "js/ts punctuation separator key-value", + scope: "punctuation.separator.key-value", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "js/ts import keyword", + scope: "keyword.operator.expression.import", + settings: { + foreground: "#61afef", + }, + }, + { + name: "math js/ts", + scope: "support.constant.math", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "math property js/ts", + scope: "support.constant.property.math", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "js/ts variable.other.constant", + scope: "variable.other.constant", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "java type", + scope: ["storage.type.annotation.java", "storage.type.object.array.java"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "java source", + scope: "source.java", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "java modifier.import", + scope: + "punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "java modifier.import", + scope: "meta.method.java", + settings: { + foreground: "#61afef", + }, + }, + { + name: "java modifier.import", + scope: + "storage.modifier.import.java,storage.type.java,storage.type.generic.java", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "java instanceof", + scope: "keyword.operator.instanceof.java", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "java variable.name", + scope: "meta.definition.variable.name.java", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "operator logical", + scope: "keyword.operator.logical", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "operator bitwise", + scope: "keyword.operator.bitwise", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "operator channel", + scope: "keyword.operator.channel", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "support.constant.property-value.scss", + scope: + "support.constant.property-value.scss,support.constant.property-value.css", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "CSS/SCSS/LESS Operators", + scope: "keyword.operator.css,keyword.operator.scss,keyword.operator.less", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "css color standard name", + scope: + "support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "css comma", + scope: "punctuation.separator.list.comma.css", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "css attribute-name.id", + scope: "support.constant.color.w3c-standard-color-name.css", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "css property-name", + scope: "support.type.vendored.property-name.css", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "js/ts module", + scope: + "support.module.node,support.type.object.module,support.module.node", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "entity.name.type.module", + scope: "entity.name.type.module", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "js variable readwrite", + scope: + "variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "js/ts json", + scope: "support.constant.json", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "js/ts Keyword", + scope: [ + "keyword.operator.expression.instanceof", + "keyword.operator.new", + "keyword.operator.ternary", + "keyword.operator.optional", + "keyword.operator.expression.keyof", + ], + settings: { + foreground: "#c678dd", + }, + }, + { + name: "js/ts console", + scope: "support.type.object.console", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "js/ts support.variable.property.process", + scope: "support.variable.property.process", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "js console function", + scope: "entity.name.function,support.function.console", + settings: { + foreground: "#61afef", + }, + }, + { + name: "keyword.operator.misc.rust", + scope: "keyword.operator.misc.rust", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "keyword.operator.sigil.rust", + scope: "keyword.operator.sigil.rust", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "operator", + scope: "keyword.operator.delete", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "js dom", + scope: "support.type.object.dom", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "js dom variable", + scope: "support.variable.dom,support.variable.property.dom", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "keyword.operator", + scope: + "keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "C operator assignment", + scope: + "keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Punctuation", + scope: "punctuation.separator.delimiter", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Other punctuation .c", + scope: "punctuation.separator.c,punctuation.separator.cpp", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "C type posix-reserved", + scope: "support.type.posix-reserved.c,support.type.posix-reserved.cpp", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "keyword.operator.sizeof.c", + scope: "keyword.operator.sizeof.c,keyword.operator.sizeof.cpp", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "python parameter", + scope: "variable.parameter.function.language.python", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "python type", + scope: "support.type.python", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "python logical", + scope: "keyword.operator.logical.python", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "pyCs", + scope: "variable.parameter.function.python", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "python block", + scope: + "punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "python function-call.generic", + scope: "meta.function-call.generic.python", + settings: { + foreground: "#61afef", + }, + }, + { + name: "python placeholder reset to normal string", + scope: "constant.character.format.placeholder.other.python", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Operators", + scope: "keyword.operator", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Compound Assignment Operators", + scope: "keyword.operator.assignment.compound", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Compound Assignment Operators js/ts", + scope: + "keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "Keywords", + scope: "keyword", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Namespaces", + scope: "entity.name.namespace", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Variables", + scope: "variable", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Variables", + scope: "variable.c", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Language variables", + scope: "variable.language", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Java Variables", + scope: "token.variable.parameter.java", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Java Imports", + scope: "import.storage.java", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Packages", + scope: "token.package.keyword", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Packages", + scope: "token.package", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Functions", + scope: [ + "entity.name.function", + "meta.require", + "support.function.any-method", + "variable.function", + ], + settings: { + foreground: "#61afef", + }, + }, + { + name: "Classes", + scope: "entity.name.type.namespace", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Classes", + scope: "support.class, entity.name.type.class", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Class name", + scope: "entity.name.class.identifier.namespace.type", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Class name", + scope: [ + "entity.name.class", + "variable.other.class.js", + "variable.other.class.ts", + ], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Class name php", + scope: "variable.other.class.php", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Type Name", + scope: "entity.name.type", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Keyword Control", + scope: "keyword.control", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Control Elements", + scope: "control.elements, keyword.operator.less", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Methods", + scope: "keyword.other.special-method", + settings: { + foreground: "#61afef", + }, + }, + { + name: "Storage", + scope: "storage", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Storage JS TS", + scope: "token.storage", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void", + scope: + "keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Java Storage", + scope: "token.storage.type.java", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Support", + scope: "support.function", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "Support type", + scope: "support.type.property-name", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "[VSCODE-CUSTOM] toml support", + scope: + "support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Support type", + scope: "support.constant.property-value", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Support type", + scope: "support.constant.font-name", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Meta tag", + scope: "meta.tag", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Strings", + scope: "string", + settings: { + foreground: "#98c379", + }, + }, + { + name: "Constant other symbol", + scope: "constant.other.symbol", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "Integers", + scope: "constant.numeric", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Constants", + scope: "constant", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Constants", + scope: "punctuation.definition.constant", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Tags", + scope: "entity.name.tag", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Attributes", + scope: "entity.other.attribute-name", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Attribute IDs", + scope: "entity.other.attribute-name.id", + settings: { + foreground: "#61afef", + }, + }, + { + name: "Attribute class", + scope: "entity.other.attribute-name.class.css", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Selector", + scope: "meta.selector", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Headings", + scope: "markup.heading", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Headings", + scope: + "markup.heading punctuation.definition.heading, entity.name.section", + settings: { + foreground: "#61afef", + }, + }, + { + name: "Units", + scope: "keyword.other.unit", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Bold", + scope: "markup.bold,todo.bold", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Bold", + scope: "punctuation.definition.bold", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "markup Italic", + scope: "markup.italic, punctuation.definition.italic,todo.emphasis", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "emphasis md", + scope: "emphasis md", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown headings", + scope: "entity.name.section.markdown", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown heading Punctuation Definition", + scope: "punctuation.definition.heading.markdown", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "punctuation.definition.list.begin.markdown", + scope: "punctuation.definition.list.begin.markdown", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown heading setext", + scope: "markup.heading.setext", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Punctuation Definition Bold", + scope: "punctuation.definition.bold.markdown", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Inline Raw", + scope: "markup.inline.raw.markdown", + settings: { + foreground: "#98c379", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Inline Raw", + scope: "markup.inline.raw.string.markdown", + settings: { + foreground: "#98c379", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Inline Raw punctuation", + scope: "punctuation.definition.raw.markdown", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown List Punctuation Definition", + scope: "punctuation.definition.list.markdown", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Punctuation Definition String", + scope: [ + "punctuation.definition.string.begin.markdown", + "punctuation.definition.string.end.markdown", + "punctuation.definition.metadata.markdown", + ], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "beginning.punctuation.definition.list.markdown", + scope: ["beginning.punctuation.definition.list.markdown"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Punctuation Definition Link", + scope: "punctuation.definition.metadata.markdown", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Underline Link/Image", + scope: + "markup.underline.link.markdown,markup.underline.link.image.markdown", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Link Title/Description", + scope: + "string.other.link.title.markdown,string.other.link.description.markdown", + settings: { + foreground: "#61afef", + }, + }, + { + name: "[VSCODE-CUSTOM] Asciidoc Inline Raw", + scope: "markup.raw.monospace.asciidoc", + settings: { + foreground: "#98c379", + }, + }, + { + name: "[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition", + scope: "punctuation.definition.asciidoc", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "[VSCODE-CUSTOM] Asciidoc List Punctuation Definition", + scope: "markup.list.asciidoc", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "[VSCODE-CUSTOM] Asciidoc underline link", + scope: "markup.link.asciidoc,markup.other.url.asciidoc", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "[VSCODE-CUSTOM] Asciidoc link name", + scope: "string.unquoted.asciidoc,markup.other.url.asciidoc", + settings: { + foreground: "#61afef", + }, + }, + { + name: "Regular Expressions", + scope: "string.regexp", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "Embedded", + scope: "punctuation.section.embedded, variable.interpolation", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Embedded", + scope: + "punctuation.section.embedded.begin,punctuation.section.embedded.end", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "illegal", + scope: "invalid.illegal", + settings: { + foreground: "#ffffff", + }, + }, + { + name: "illegal", + scope: "invalid.illegal.bad-ampersand.html", + settings: { + foreground: "#abb2bf", + }, + }, + { + scope: "invalid.illegal.unrecognized-tag.html", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Broken", + scope: "invalid.broken", + settings: { + foreground: "#ffffff", + }, + }, + { + name: "Deprecated", + scope: "invalid.deprecated", + settings: { + foreground: "#ffffff", + }, + }, + { + name: "html Deprecated", + scope: "invalid.deprecated.entity.other.attribute-name.html", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "Unimplemented", + scope: "invalid.unimplemented", + settings: { + foreground: "#ffffff", + }, + }, + { + name: "Source Json Meta Structure Dictionary Json > String Quoted Json", + scope: "source.json meta.structure.dictionary.json > string.quoted.json", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String", + scope: + "source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation", + scope: + "source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation", + settings: { + foreground: "#98c379", + }, + }, + { + name: "Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json", + scope: + "source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "[VSCODE-CUSTOM] JSON Property Name", + scope: "support.type.property-name.json", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "[VSCODE-CUSTOM] JSON Punctuation for Property Name", + scope: "support.type.property-name.json punctuation", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "laravel blade tag", + scope: + "text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "laravel blade @", + scope: + "text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "use statement for other classes", + scope: + "support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "error suppression", + scope: "keyword.operator.error-control.php", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "php instanceof", + scope: "keyword.operator.type.php", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "style double quoted array index normal begin", + scope: "punctuation.section.array.begin.php", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "style double quoted array index normal end", + scope: "punctuation.section.array.end.php", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "php illegal.non-null-typehinted", + scope: "invalid.illegal.non-null-typehinted.php", + settings: { + foreground: "#f44747", + }, + }, + { + name: "php types", + scope: + "storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "php call-function", + scope: + "meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php", + settings: { + foreground: "#61afef", + }, + }, + { + name: "php function-resets", + scope: + "punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "support php constants", + scope: "support.constant.core.rust", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "support php constants", + scope: + "support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "php goto", + scope: "entity.name.goto-label.php,support.other.php", + settings: { + foreground: "#61afef", + }, + }, + { + name: "php logical/bitwise operator", + scope: + "keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "php regexp operator", + scope: "keyword.operator.regexp.php", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "php comparison", + scope: "keyword.operator.comparison.php", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "php heredoc/nowdoc", + scope: "keyword.operator.heredoc.php,keyword.operator.nowdoc.php", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "python function decorator @", + scope: "meta.function.decorator.python", + settings: { + foreground: "#61afef", + }, + }, + { + name: "python function support", + scope: + "support.token.decorator.python,meta.function.decorator.identifier.python", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "parameter function js/ts", + scope: "function.parameter", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "brace function", + scope: "function.brace", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "parameter function ruby cs", + scope: "function.parameter.ruby, function.parameter.cs", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "constant.language.symbol.ruby", + scope: "constant.language.symbol.ruby", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "rgb-value", + scope: "rgb-value", + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "rgb value", + scope: "inline-color-decoration rgb-value", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "rgb value less", + scope: "less rgb-value", + settings: { + foreground: "#d19a66", + }, + }, + { + name: "sass selector", + scope: "selector.sass", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "ts primitive/builtin types", + scope: + "support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "block scope", + scope: "block.scope.end,block.scope.begin", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "cs storage type", + scope: "storage.type.cs", + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "cs local variable", + scope: "entity.name.variable.local.cs", + settings: { + foreground: "#e06c75", + }, + }, + { + scope: "token.info-token", + settings: { + foreground: "#61afef", + }, + }, + { + scope: "token.warn-token", + settings: { + foreground: "#d19a66", + }, + }, + { + scope: "token.error-token", + settings: { + foreground: "#f44747", + }, + }, + { + scope: "token.debug-token", + settings: { + foreground: "#c678dd", + }, + }, + { + name: "String interpolation", + scope: [ + "punctuation.definition.template-expression.begin", + "punctuation.definition.template-expression.end", + "punctuation.section.embedded", + ], + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Reset JavaScript string interpolation expression", + scope: ["meta.template.expression"], + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Import module JS", + scope: ["keyword.operator.module"], + settings: { + foreground: "#c678dd", + }, + }, + { + name: "js Flowtype", + scope: ["support.type.type.flowtype"], + settings: { + foreground: "#61afef", + }, + }, + { + name: "js Flow", + scope: ["support.type.primitive"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "js class prop", + scope: ["meta.property.object"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "js func parameter", + scope: ["variable.parameter.function.js"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "js template literals begin", + scope: ["keyword.other.template.begin"], + settings: { + foreground: "#98c379", + }, + }, + { + name: "js template literals end", + scope: ["keyword.other.template.end"], + settings: { + foreground: "#98c379", + }, + }, + { + name: "js template literals variable braces begin", + scope: ["keyword.other.substitution.begin"], + settings: { + foreground: "#98c379", + }, + }, + { + name: "js template literals variable braces end", + scope: ["keyword.other.substitution.end"], + settings: { + foreground: "#98c379", + }, + }, + { + name: "js operator.assignment", + scope: ["keyword.operator.assignment"], + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "go operator", + scope: ["keyword.operator.assignment.go"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "go operator", + scope: ["keyword.operator.arithmetic.go", "keyword.operator.address.go"], + settings: { + foreground: "#c678dd", + }, + }, + { + name: "Go package name", + scope: ["entity.name.package.go"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "elm prelude", + scope: ["support.type.prelude.elm"], + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "elm constant", + scope: ["support.constant.elm"], + settings: { + foreground: "#d19a66", + }, + }, + { + name: "template literal", + scope: ["punctuation.quasi.element"], + settings: { + foreground: "#c678dd", + }, + }, + { + name: "html/pug (jade) escaped characters and entities", + scope: ["constant.character.entity"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour", + scope: [ + "entity.other.attribute-name.pseudo-element", + "entity.other.attribute-name.pseudo-class", + ], + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "Clojure globals", + scope: ["entity.global.clojure"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Clojure symbols", + scope: ["meta.symbol.clojure"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Clojure constants", + scope: ["constant.keyword.clojure"], + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "CoffeeScript Function Argument", + scope: ["meta.arguments.coffee", "variable.parameter.function.coffee"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Ini Default Text", + scope: ["source.ini"], + settings: { + foreground: "#98c379", + }, + }, + { + name: "Makefile prerequisities", + scope: ["meta.scope.prerequisites.makefile"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Makefile text colour", + scope: ["source.makefile"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Groovy import names", + scope: ["storage.modifier.import.groovy"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Groovy Methods", + scope: ["meta.method.groovy"], + settings: { + foreground: "#61afef", + }, + }, + { + name: "Groovy Variables", + scope: ["meta.definition.variable.name.groovy"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Groovy Inheritance", + scope: ["meta.definition.class.inherited.classes.groovy"], + settings: { + foreground: "#98c379", + }, + }, + { + name: "HLSL Semantic", + scope: ["support.variable.semantic.hlsl"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "HLSL Types", + scope: [ + "support.type.texture.hlsl", + "support.type.sampler.hlsl", + "support.type.object.hlsl", + "support.type.object.rw.hlsl", + "support.type.fx.hlsl", + "support.type.object.hlsl", + ], + settings: { + foreground: "#c678dd", + }, + }, + { + name: "SQL Variables", + scope: ["text.variable", "text.bracketed"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "types", + scope: ["support.type.swift", "support.type.vb.asp"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "heading 1, keyword", + scope: ["entity.name.function.xi"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "heading 2, callable", + scope: ["entity.name.class.xi"], + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "heading 3, property", + scope: ["constant.character.character-class.regexp.xi"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "heading 4, type, class, interface", + scope: ["constant.regexp.xi"], + settings: { + foreground: "#c678dd", + }, + }, + { + name: "heading 5, enums, preprocessor, constant, decorator", + scope: ["keyword.control.xi"], + settings: { + foreground: "#56b6c2", + }, + }, + { + name: "heading 6, number", + scope: ["invalid.xi"], + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "string", + scope: ["beginning.punctuation.definition.quote.markdown.xi"], + settings: { + foreground: "#98c379", + }, + }, + { + name: "comments", + scope: ["beginning.punctuation.definition.list.markdown.xi"], + settings: { + foreground: "#7f848e", + }, + }, + { + name: "link", + scope: ["constant.character.xi"], + settings: { + foreground: "#61afef", + }, + }, + { + name: "accent", + scope: ["accent.xi"], + settings: { + foreground: "#61afef", + }, + }, + { + name: "wikiword", + scope: ["wikiword.xi"], + settings: { + foreground: "#d19a66", + }, + }, + { + name: "language operators like '+', '-' etc", + scope: ["constant.other.color.rgb-value.xi"], + settings: { + foreground: "#ffffff", + }, + }, + { + name: "elements to dim", + scope: ["punctuation.definition.tag.xi"], + settings: { + foreground: "#5c6370", + }, + }, + { + name: "C++/C#", + scope: [ + "entity.name.label.cs", + "entity.name.scope-resolution.function.call", + "entity.name.scope-resolution.function.definition", + ], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "Markdown underscore-style headers", + scope: [ + "entity.name.label.cs", + "markup.heading.setext.1.markdown", + "markup.heading.setext.2.markdown", + ], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "meta.brace.square", + scope: [" meta.brace.square"], + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Comments", + scope: "comment, punctuation.definition.comment", + settings: { + foreground: "#7f848e", + fontStyle: "italic", + }, + }, + { + name: "[VSCODE-CUSTOM] Markdown Quote", + scope: "markup.quote.markdown", + settings: { + foreground: "#5c6370", + }, + }, + { + name: "punctuation.definition.block.sequence.item.yaml", + scope: "punctuation.definition.block.sequence.item.yaml", + settings: { + foreground: "#abb2bf", + }, + }, + { + scope: [ + "constant.language.symbol.elixir", + "constant.language.symbol.double-quoted.elixir", + ], + settings: { + foreground: "#56b6c2", + }, + }, + { + scope: ["entity.name.variable.parameter.cs"], + settings: { + foreground: "#e5c07b", + }, + }, + { + scope: ["entity.name.variable.field.cs"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Deleted", + scope: "markup.deleted", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "Inserted", + scope: "markup.inserted", + settings: { + foreground: "#98c379", + }, + }, + { + name: "Underline", + scope: "markup.underline", + settings: { + fontStyle: "underline", + }, + }, + { + name: "punctuation.section.embedded.begin.php", + scope: [ + "punctuation.section.embedded.begin.php", + "punctuation.section.embedded.end.php", + ], + settings: { + foreground: "#BE5046", + }, + }, + { + name: "support.other.namespace.php", + scope: ["support.other.namespace.php"], + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "variable.other.object", + scope: ["variable.other.object"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "variable.other.constant.property", + scope: ["variable.other.constant.property"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "entity.other.inherited-class", + scope: ["entity.other.inherited-class"], + settings: { + foreground: "#e5c07b", + }, + }, + { + name: "c variable readwrite", + scope: "variable.other.readwrite.c", + settings: { + foreground: "#e06c75", + }, + }, + { + name: "php scope", + scope: + "entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php", + settings: { + foreground: "#abb2bf", + }, + }, + { + name: "Assembly", + scope: ["constant.numeric.decimal.asm.x86_64"], + settings: { + foreground: "#c678dd", + }, + }, + { + scope: ["support.other.parenthesis.regexp"], + settings: { + foreground: "#d19a66", + }, + }, + { + scope: ["constant.character.escape"], + settings: { + foreground: "#56b6c2", + }, + }, + { + scope: ["string.regexp"], + settings: { + foreground: "#e06c75", + }, + }, + { + name: "js/ts italic", + scope: + "entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super", + settings: { + fontStyle: "italic", + }, + }, + { + name: "comment", + scope: "comment.line.double-slash,comment.block.documentation", + settings: { + fontStyle: "italic", + }, + }, + { + name: "Python Keyword Control", + scope: + "keyword.control.import.python,keyword.control.flow.python,keyword.operator.logical.python", + settings: { + fontStyle: "italic", + }, + }, + { + name: "markup.italic.markdown", + scope: "markup.italic.markdown", + settings: { + fontStyle: "italic", + }, + }, + ], + colors: { + "activityBar.background": "#0D1117", // for component-party, replacing #282c34 by #0D1117 + "activityBar.foreground": "#d7dae0", + "activityBarBadge.background": "#4d78cc", + "activityBarBadge.foreground": "#f8fafd", + "badge.background": "#0D1117", // for component-party, replacing #282c34 by #0D1117 + "button.background": "#404754", + "button.secondaryBackground": "#30333d", + "button.secondaryForeground": "#c0bdbd", + "checkbox.border": "#404754", + "debugToolBar.background": "#21252b", + descriptionForeground: "#abb2bf", + "diffEditor.insertedTextBackground": "#00809b33", + "dropdown.background": "#21252b", + "dropdown.border": "#21252b", + "editor.background": "#0D1117", // for component-party, replacing #282c34 by #0D1117 + "editor.findMatchBackground": "#42557b", + "editor.findMatchBorder": "#457dff", + "editor.findMatchHighlightBackground": "#6199ff2f", + "editor.foreground": "#abb2bf", + "editorBracketHighlight.foreground1": "#d19a66", + "editorBracketHighlight.foreground2": "#c678dd", + "editorBracketHighlight.foreground3": "#56b6c2", + "editorHoverWidget.highlightForeground": "#61afef", + "editorInlayHint.foreground": "#abb2bf", + "editorInlayHint.background": "#2c313c", + "editor.lineHighlightBackground": "#2c313c", + "editorLineNumber.activeForeground": "#abb2bf", + "editorGutter.addedBackground": "#109868", + "editorGutter.deletedBackground": "#9A353D", + "editorGutter.modifiedBackground": "#948B60", + "editorOverviewRuler.addedBackground": "#109868", + "editorOverviewRuler.deletedBackground": "#9A353D", + "editorOverviewRuler.modifiedBackground": "#948B60", + "editor.selectionBackground": "#67769660", + "editor.selectionHighlightBackground": "#ffffff10", + "editor.selectionHighlightBorder": "#dddddd", + "editor.wordHighlightBackground": "#d2e0ff2f", + "editor.wordHighlightBorder": "#7f848e", + "editor.wordHighlightStrongBackground": "#abb2bf26", + "editor.wordHighlightStrongBorder": "#7f848e", + "editorBracketMatch.background": "#515a6b", + "editorBracketMatch.border": "#515a6b", + "editorCursor.background": "#ffffffc9", + "editorCursor.foreground": "#528bff", + "editorError.foreground": "#c24038", + "editorGroup.background": "#181a1f", + "editorGroup.border": "#181a1f", + "editorGroupHeader.tabsBackground": "#21252b", + "editorHoverWidget.background": "#21252b", + "editorHoverWidget.border": "#181a1f", + "editorIndentGuide.activeBackground": "#c8c8c859", + "editorIndentGuide.background": "#3b4048", + "editorLineNumber.foreground": "#495162", + "editorMarkerNavigation.background": "#21252b", + "editorRuler.foreground": "#abb2bf26", + "editorSuggestWidget.background": "#21252b", + "editorSuggestWidget.border": "#181a1f", + "editorSuggestWidget.selectedBackground": "#2c313a", + "editorWarning.foreground": "#d19a66", + "editorWhitespace.foreground": "#ffffff1d", + "editorWidget.background": "#21252b", + focusBorder: "#3e4452", + "gitDecoration.ignoredResourceForeground": "#636b78", + "input.background": "#1d1f23", + "input.foreground": "#abb2bf", + "list.activeSelectionBackground": "#2c313a", + "list.activeSelectionForeground": "#d7dae0", + "list.focusBackground": "#323842", + "list.focusForeground": "#f0f0f0", + "list.highlightForeground": "#ecebeb", + "list.hoverBackground": "#2c313a", + "list.hoverForeground": "#abb2bf", + "list.inactiveSelectionBackground": "#323842", + "list.inactiveSelectionForeground": "#d7dae0", + "list.warningForeground": "#d19a66", + "menu.foreground": "#abb2bf", + "menu.separatorBackground": "#343a45", + "minimapGutter.addedBackground": "#109868", + "minimapGutter.deletedBackground": "#9A353D", + "minimapGutter.modifiedBackground": "#948B60", + "panel.border": "#3e4452", + "panelSectionHeader.background": "#21252b", + "peekViewEditor.background": "#1b1d23", + "peekViewEditor.matchHighlightBackground": "#29244b", + "peekViewResult.background": "#22262b", + "scrollbar.shadow": "#23252c", + "scrollbarSlider.activeBackground": "#747d9180", + "scrollbarSlider.background": "#4e566660", + "scrollbarSlider.hoverBackground": "#5a637580", + "settings.focusedRowBackground": "#0D1117", // for component-party, replacing #282c34 by #0D1117 + "settings.headerForeground": "#fff", + "sideBar.background": "#21252b", + "sideBar.foreground": "#abb2bf", + "sideBarSectionHeader.background": "#0D1117", // for component-party, replacing #282c34 by #0D1117 + "sideBarSectionHeader.foreground": "#abb2bf", + "statusBar.background": "#21252b", + "statusBar.debuggingBackground": "#cc6633", + "statusBar.debuggingBorder": "#ff000000", + "statusBar.debuggingForeground": "#ffffff", + "statusBar.foreground": "#9da5b4", + "statusBar.noFolderBackground": "#21252b", + "statusBarItem.remoteBackground": "#4d78cc", + "statusBarItem.remoteForeground": "#f8fafd", + "tab.activeBackground": "#0D1117", // for component-party, replacing #282c34 by #0D1117 + "tab.activeBorder": "#b4b4b4", + "tab.activeForeground": "#dcdcdc", + "tab.border": "#181a1f", + "tab.hoverBackground": "#323842", + "tab.inactiveBackground": "#21252b", + "tab.unfocusedHoverBackground": "#323842", + "terminal.ansiBlack": "#3f4451", + "terminal.ansiBlue": "#4aa5f0", + "terminal.ansiBrightBlack": "#4f5666", + "terminal.ansiBrightBlue": "#4dc4ff", + "terminal.ansiBrightCyan": "#4cd1e0", + "terminal.ansiBrightGreen": "#a5e075", + "terminal.ansiBrightMagenta": "#de73ff", + "terminal.ansiBrightRed": "#ff616e", + "terminal.ansiBrightWhite": "#e6e6e6", + "terminal.ansiBrightYellow": "#f0a45d", + "terminal.ansiCyan": "#42b3c2", + "terminal.ansiGreen": "#8cc265", + "terminal.ansiMagenta": "#c162de", + "terminal.ansiRed": "#e05561", + "terminal.ansiWhite": "#d7dae0", + "terminal.ansiYellow": "#d18f52", + "terminal.background": "#0D1117", // for component-party, replacing #282c34 by #0D1117 + "terminal.border": "#3e4452", + "terminal.foreground": "#abb2bf", + "terminal.selectionBackground": "#abb2bf30", + "textBlockQuote.background": "#2e3440", + "textBlockQuote.border": "#4b5362", + "textLink.foreground": "#61afef", + "textPreformat.foreground": "#d19a66", + "titleBar.activeBackground": "#0D1117", // for component-party, replacing #282c34 by #0D1117 + "titleBar.activeForeground": "#9da5b4", + "titleBar.inactiveBackground": "#21252b", + "titleBar.inactiveForeground": "#6b717d", + "tree.indentGuidesStroke": "#ffffff1d", + "walkThrough.embeddedEditorBackground": "#2e3440", + "welcomePage.buttonHoverBackground": "#404754", + }, +}; diff --git a/build/lib/generateContent.js b/build/lib/generateContent.js new file mode 100644 index 00000000..ae37b9ef --- /dev/null +++ b/build/lib/generateContent.js @@ -0,0 +1,194 @@ +import fs from "node:fs/promises"; +import { packageDirectory } from "pkg-dir"; +import path from "node:path"; +import kebabCase from "lodash.kebabcase"; +import { getHighlighter } from "shiki"; +import FRAMEWORKS from "../../frameworks.mjs"; +import frameworkPlayground from "./playground/index.js"; +import componentPartyShikiTheme from "./componentPartyShikiTheme.js"; +import prettier from "prettier"; +import markdownToHtml from "./markdownToHtml.js"; +import { + highlightAngularComponent, + mustUseAngularHighlighter, +} from "./angularHighlighter.js"; + +export default async function generateContent() { + const highlighter = await getHighlighter({ + theme: componentPartyShikiTheme, + langs: ["javascript", "svelte", "html", "hbs", "tsx", "jsx", "vue"], + }); + + const rootDir = await packageDirectory(); + const contentPath = path.join(rootDir, "content"); + const sectionDirNames = await fs.readdir(contentPath); + + const treePayload = { + sections: [], + snippets: [], + }; + + const byFrameworkId = {}; + + for (const sectionDirName of sectionDirNames) { + const sectionTitle = dirNameToTitle(sectionDirName); + const sectionId = kebabCase(sectionTitle); + + treePayload.sections.push({ + sectionId, + sectionDirName, + title: sectionTitle, + }); + + const snippetsDirPath = path.join(contentPath, sectionDirName); + const snippetDirNames = await fs.readdir(snippetsDirPath); + + for (const snippetDirName of snippetDirNames) { + const title = dirNameToTitle(snippetDirName); + const snippetId = kebabCase(title); + + treePayload.snippets.push({ + sectionId, + snippetId, + snippetDirName, + sectionDirName, + title, + }); + + const frameworksDirPath = path.join(snippetsDirPath, snippetDirName); + const frameworkIds = await fs.readdir(frameworksDirPath); + for (const frameworkId of frameworkIds) { + const frameworkSnippet = { + frameworkId, + snippetId, + files: [], + playgroundURL: "", + markdownFiles: [], + snippetEditHref: `https://github.com/matschik/component-party/tree/main/content/${sectionDirName}/${snippetDirName}/${frameworkId}`, + }; + + const codeFilesDirPath = path.join(frameworksDirPath, frameworkId); + const codeFileNames = await fs.readdir(codeFilesDirPath); + + for (const codeFileName of codeFileNames) { + const codeFilePath = path.join(codeFilesDirPath, codeFileName); + const ext = path.parse(codeFilePath).ext.split(".").pop(); + const content = await fs.readFile(codeFilePath, "utf-8"); + + const file = { + fileName: codeFileName, + ext, + content, + contentHtml: "", + }; + + if (ext === "md") { + file.contentHtml = await markdownToHtml(content); + frameworkSnippet.markdownFiles.push(file); + } else { + file.contentHtml = mustUseAngularHighlighter(content) + ? highlightAngularComponent(highlighter.codeToHtml, content, ext) + : highlighter.codeToHtml(content, { lang: ext }); + + frameworkSnippet.files.push(file); + } + } + + if (frameworkSnippet.files.length > 0) { + const playgroundURL = generatePlaygroundURL( + frameworkId, + frameworkSnippet.files + ); + + if (playgroundURL) { + frameworkSnippet.playgroundURL = playgroundURL; + } + } + + if (!byFrameworkId[frameworkId]) { + byFrameworkId[frameworkId] = []; + } + + byFrameworkId[frameworkId].push(frameworkSnippet); + } + } + } + + const generatedContentDirPath = path.join(rootDir, "src/generatedContent"); + const frameworkDirPath = path.join(generatedContentDirPath, "framework"); + const treeFilePath = path.join(generatedContentDirPath, "tree.js"); + const frameworkIndexPath = path.join(frameworkDirPath, "index.js"); + await fs.rm(generatedContentDirPath, { recursive: true, force: true }); + await fs.mkdir(generatedContentDirPath, { recursive: true }); + const commentDisclaimer = `// File generated from "node scripts/generateContent.js", DO NOT EDIT`; + + await writeJsFile( + treeFilePath, + ` + ${commentDisclaimer} + export const sections = ${JSON.stringify(treePayload.sections, null, 2)}; + export const snippets = ${JSON.stringify(treePayload.snippets, null, 2)}; + ` + ); + + await fs.mkdir(frameworkDirPath, { recursive: true }); + for (const frameworkId of Object.keys(byFrameworkId)) { + const frameworkFilePath = path.join(frameworkDirPath, `${frameworkId}.js`); + await writeJsFile( + frameworkFilePath, + ` + ${commentDisclaimer} + export default ${JSON.stringify(byFrameworkId[frameworkId], null, 2)} + ` + ); + } + + await writeJsFile( + frameworkIndexPath, + ` + ${commentDisclaimer} + export default { + ${Object.keys(byFrameworkId) + .map( + (frameworkId) => + `${frameworkId}: () => import("./${frameworkId}.js")` + ) + .join(",\n")} + + }; + ` + ); +} + +function dirNameToTitle(dirName) { + return capitalize(dirName.split("-").splice(1).join(" ")); +} + +function capitalize(string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} + +async function writeJsFile(filepath, jsCode) { + await fs.writeFile(filepath, prettier.format(jsCode, { parser: "babel" })); +} + +function generatePlaygroundURL(frameworkId, files) { + const frameworkIdPlayground = frameworkPlayground[frameworkId]; + if (!frameworkIdPlayground) { + return; + } + + const frameworkConfig = FRAMEWORKS.find((f) => f.id === frameworkId); + + const contentByFilename = frameworkConfig + .filesSorter(files) + .reduce((acc, file) => { + acc[file.fileName] = file.content; + return acc; + }, {}); + + const playgroundURL = + frameworkIdPlayground.fromContentByFilename(contentByFilename); + + return playgroundURL; +} diff --git a/build/lib/markdownToHtml.js b/build/lib/markdownToHtml.js new file mode 100644 index 00000000..7f3eb8ea --- /dev/null +++ b/build/lib/markdownToHtml.js @@ -0,0 +1,29 @@ +import withShiki from "@stefanprobst/remark-shiki"; +import fromMarkdown from "remark-parse"; +import * as shiki from "shiki"; +import { unified } from "unified"; +import toHast from "remark-rehype"; +import withHtmlInMarkdown from "rehype-raw"; +import toHtml from "rehype-stringify"; +import componentPartyShikiTheme from "./componentPartyShikiTheme.js"; + +export default async function markdownToHtml(code) { + async function createProcessor() { + const highlighter = await shiki.getHighlighter({ + theme: componentPartyShikiTheme, + }); + + const processor = unified() + .use(fromMarkdown) + .use(withShiki, { highlighter }) + .use(toHast, { allowDangerousHtml: true }) + .use(withHtmlInMarkdown) + .use(toHtml); + + return processor; + } + + const processor = await createProcessor(); + const vfile = await processor.process(code); + return String(vfile); +} diff --git a/src/utils/repl/createAlpineREPL.js b/build/lib/playground/createAlpinePlayground.js similarity index 100% rename from src/utils/repl/createAlpineREPL.js rename to build/lib/playground/createAlpinePlayground.js diff --git a/src/utils/repl/createSolidREPL.js b/build/lib/playground/createSolidPlayground.js similarity index 97% rename from src/utils/repl/createSolidREPL.js rename to build/lib/playground/createSolidPlayground.js index 49f48738..e6857a33 100644 --- a/src/utils/repl/createSolidREPL.js +++ b/build/lib/playground/createSolidPlayground.js @@ -1,4 +1,4 @@ -import nodePath from "path"; +import nodePath from "node:path"; import { compressToURL } from "@matschik/lz-string"; export default () => { diff --git a/src/utils/repl/createSvelteREPL.js b/build/lib/playground/createSveltePlayground.js similarity index 95% rename from src/utils/repl/createSvelteREPL.js rename to build/lib/playground/createSveltePlayground.js index 2766cfbb..5a17c640 100644 --- a/src/utils/repl/createSvelteREPL.js +++ b/build/lib/playground/createSveltePlayground.js @@ -1,4 +1,4 @@ -import nodePath from "path"; +import nodePath from "node:path"; export default function createSvelteREPL() { const BASE_URL = "https://svelte-repl.vercel.app/#"; diff --git a/src/utils/repl/createVue3REPL.js b/build/lib/playground/createVue3Playground.js similarity index 100% rename from src/utils/repl/createVue3REPL.js rename to build/lib/playground/createVue3Playground.js diff --git a/build/lib/playground/index.js b/build/lib/playground/index.js new file mode 100644 index 00000000..900e8dc6 --- /dev/null +++ b/build/lib/playground/index.js @@ -0,0 +1,11 @@ +import createAlpinePlayground from "./createAlpinePlayground.js"; +import createSveltePlayground from "./createSveltePlayground.js"; +import createVue3Playground from "./createVue3Playground.js"; +import createSolidPlayground from "./createSolidPlayground.js"; + +export default { + vue3: createVue3Playground(), + svelte: createSveltePlayground(), + alpine: createAlpinePlayground(), + solid: createSolidPlayground(), +}; diff --git a/src/frameworks.mjs b/frameworks.mjs similarity index 100% rename from src/frameworks.mjs rename to frameworks.mjs diff --git a/index.html b/index.html new file mode 100644 index 00000000..4827588b --- /dev/null +++ b/index.html @@ -0,0 +1,52 @@ + + + + + Component Party + + + + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 00000000..e596c582 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "moduleResolution": "Node", + "target": "ESNext", + "module": "ESNext", + /** + * svelte-preprocess cannot figure out whether you have + * a value or a type, so tell TypeScript to enforce using + * `import type` instead of `import` for Types. + */ + "importsNotUsedAsValues": "error", + "isolatedModules": true, + "resolveJsonModule": true, + /** + * To have warnings / errors of the Svelte compiler at the + * correct position, enable source maps by default. + */ + "sourceMap": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable this if you'd like to use dynamic types. + */ + "checkJs": true + }, + /** + * Use global.d.ts instead of compilerOptions.types + * to avoid limiting type declarations. + */ + "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"] +} diff --git a/package.json b/package.json index 209f07f6..ee7e7a4b 100644 --- a/package.json +++ b/package.json @@ -1,87 +1,83 @@ { - "name": "component-party", - "version": "1.0.0", - "description": "Web component JS frameworks overview by their syntax and features", + "name": "component-party2", + "private": true, + "version": "0.0.0", "type": "module", "packageManager": "pnpm@7.0.0", "scripts": { - "dev": "astro dev", - "build": "astro build", - "preview": "astro preview", - "progression": "node scripts/progress.js", - "lint": "eslint .", - "lint:fix": "eslint . --fix", - "prettier": "prettier --ignore-path .gitignore --plugin-search-dir=. . --check", - "prettier:fix": "prettier --ignore-path .gitignore --plugin-search-dir=. --write .", - "format": "pnpm run prettier:fix && pnpm run lint:fix", + "dev": "vite", + "build": "vite build", + "preview": "vite preview", + "lint": "eslint . --fix", + "lint:check": "eslint .", + "format": "prettier --ignore-path .gitignore --plugin-search-dir=. --write .", + "format:check": "prettier --ignore-path .gitignore --plugin-search-dir=. . --check", + "build:content": "node scripts/generateContent.js", + "build:progress": "node scripts/generateReadMeProgress.js", "prepare": "husky install" }, - "repository": { - "type": "git", - "url": "git+https://github.com/matschik/component-party.git" - }, - "license": "MIT", - "bugs": { - "url": "https://github.com/matschik/component-party/issues" + "dependencies": { + "@veljs/svelte": "^0.1.8", + "classnames": "^2.3.2", + "heroiconsvelte": "^0.1.5" }, - "homepage": "https://github.com/matschik/component-party#readme", "devDependencies": { - "@angular-eslint/eslint-plugin": "^14.1.2", - "@angular-eslint/eslint-plugin-template": "^14.1.2", - "@angular-eslint/template-parser": "^14.1.2", - "@angular/core": "^14.2.10", - "@angular/router": "^14.2.10", - "@astrojs/markdown-component": "^1.0.2", - "@astrojs/svelte": "^1.0.2", - "@astrojs/tailwind": "^2.1.2", + "@angular-eslint/eslint-plugin": "^15.1.0", + "@angular-eslint/eslint-plugin-template": "^15.1.0", + "@angular-eslint/template-parser": "^15.1.0", + "@babel/core": "^7.20.7", "@babel/eslint-parser": "^7.19.1", - "@babel/plugin-proposal-decorators": "^7.20.2", - "@builder.io/qwik": "0.13.3", + "@babel/plugin-proposal-decorators": "^7.20.7", "@matschik/lz-string": "^0.0.2", + "@stefanprobst/remark-shiki": "^2.2.0", + "@sveltejs/vite-plugin-svelte": "^2.0.2", "@tailwindcss/typography": "^0.5.8", - "@types/mdast": "^3.0.10", - "@typescript-eslint/eslint-plugin": "^5.42.1", - "@typescript-eslint/parser": "^5.42.1", - "astro": "^1.6.7", + "@typescript-eslint/eslint-plugin": "^5.48.0", "autoprefixer": "^10.4.13", "codesandbox": "^2.2.3", - "eslint": "^8.27.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-ember": "^11.2.0", - "eslint-plugin-lit": "^1.6.1", + "eslint": "^8.31.0", + "eslint-plugin-ember": "^11.4.0", + "eslint-plugin-lit": "^1.7.2", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-qwik": "^0.13.3", - "eslint-plugin-react": "^7.31.10", - "eslint-plugin-solid": "^0.8.0", + "eslint-plugin-qwik": "^0.16.1", + "eslint-plugin-react": "^7.31.11", + "eslint-plugin-solid": "^0.9.1", "eslint-plugin-svelte3": "^4.0.0", - "eslint-plugin-vue": "^9.7.0", + "eslint-plugin-vue": "^9.8.0", "esm": "^3.2.25", + "folder-hash": "^4.0.2", "husky": "^8.0.2", - "lint-staged": "^13.0.3", + "lint-staged": "^13.1.0", "lodash.kebabcase": "^4.1.1", "micache": "^2.4.1", "pkg-dir": "^7.0.0", - "postcss": "^8.4.19", - "prettier": "^2.7.1", - "prettier-plugin-astro": "^0.7.0", - "prettier-plugin-svelte": "^2.8.0", - "prop-types": "^15.8.1", + "postcss": "^8.4.20", + "prettier": "^2.8.1", + "prettier-plugin-svelte": "^2.9.0", "react": "^18.2.0", + "rehype-raw": "^6.1.1", + "rehype-stringify": "^9.0.3", "remark": "^14.0.2", - "shiki": "^0.11.1", - "svelte": "^3.53.1", + "remark-parse": "^10.0.1", + "remark-rehype": "^10.1.0", + "shiki": "^0.12.1", + "svelte": "^3.55.0", + "svelte-preprocess": "^5.0.0", "tailwindcss": "^3.2.4", - "typescript": "^4.8.4", - "vite": "^3.2.3", - "vite-plugin-full-reload": "^1.0.4" + "typescript": "^4.9.4", + "unified": "^10.1.2", + "vite": "^4.0.3", + "vite-plugin-html": "^3.2.0" + }, + "overrides": { + "@stefanprobst/remark-shiki": { + "shiki": "0.12.1" + } }, "lint-staged": { "*.{js,jsx,ts,tsx,vue,svelte}": [ "prettier --write", "eslint --cache --fix" ] - }, - "dependencies": { - "alpinejs": "^3.10.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 58d47edc..dd60be7a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,108 +1,108 @@ lockfileVersion: 5.4 specifiers: - '@angular-eslint/eslint-plugin': ^14.1.2 - '@angular-eslint/eslint-plugin-template': ^14.1.2 - '@angular-eslint/template-parser': ^14.1.2 - '@angular/core': ^14.2.10 - '@angular/router': ^14.2.10 - '@astrojs/markdown-component': ^1.0.2 - '@astrojs/svelte': ^1.0.2 - '@astrojs/tailwind': ^2.1.2 + '@angular-eslint/eslint-plugin': ^15.1.0 + '@angular-eslint/eslint-plugin-template': ^15.1.0 + '@angular-eslint/template-parser': ^15.1.0 + '@babel/core': ^7.20.7 '@babel/eslint-parser': ^7.19.1 - '@babel/plugin-proposal-decorators': ^7.20.2 - '@builder.io/qwik': 0.13.3 + '@babel/plugin-proposal-decorators': ^7.20.7 '@matschik/lz-string': ^0.0.2 + '@stefanprobst/remark-shiki': ^2.2.0 + '@sveltejs/vite-plugin-svelte': ^2.0.2 '@tailwindcss/typography': ^0.5.8 - '@types/mdast': ^3.0.10 - '@typescript-eslint/eslint-plugin': ^5.42.1 - '@typescript-eslint/parser': ^5.42.1 - alpinejs: ^3.10.5 - astro: ^1.6.7 + '@typescript-eslint/eslint-plugin': ^5.48.0 + '@veljs/svelte': ^0.1.8 autoprefixer: ^10.4.13 + classnames: ^2.3.2 codesandbox: ^2.2.3 - eslint: ^8.27.0 - eslint-config-prettier: ^8.5.0 - eslint-plugin-ember: ^11.2.0 - eslint-plugin-lit: ^1.6.1 + eslint: ^8.31.0 + eslint-plugin-ember: ^11.4.0 + eslint-plugin-lit: ^1.7.2 eslint-plugin-prettier: ^4.2.1 - eslint-plugin-qwik: ^0.13.3 - eslint-plugin-react: ^7.31.10 - eslint-plugin-solid: ^0.8.0 + eslint-plugin-qwik: ^0.16.1 + eslint-plugin-react: ^7.31.11 + eslint-plugin-solid: ^0.9.1 eslint-plugin-svelte3: ^4.0.0 - eslint-plugin-vue: ^9.7.0 + eslint-plugin-vue: ^9.8.0 esm: ^3.2.25 + folder-hash: ^4.0.2 + heroiconsvelte: ^0.1.5 husky: ^8.0.2 - lint-staged: ^13.0.3 + lint-staged: ^13.1.0 lodash.kebabcase: ^4.1.1 micache: ^2.4.1 pkg-dir: ^7.0.0 - postcss: ^8.4.19 - prettier: ^2.7.1 - prettier-plugin-astro: ^0.7.0 - prettier-plugin-svelte: ^2.8.0 - prop-types: ^15.8.1 + postcss: ^8.4.20 + prettier: ^2.8.1 + prettier-plugin-svelte: ^2.9.0 react: ^18.2.0 + rehype-raw: ^6.1.1 + rehype-stringify: ^9.0.3 remark: ^14.0.2 - shiki: ^0.11.1 - svelte: ^3.53.1 + remark-parse: ^10.0.1 + remark-rehype: ^10.1.0 + shiki: ^0.12.1 + svelte: ^3.55.0 + svelte-preprocess: ^5.0.0 tailwindcss: ^3.2.4 - typescript: ^4.8.4 - vite: ^3.2.3 - vite-plugin-full-reload: ^1.0.4 + typescript: ^4.9.4 + unified: ^10.1.2 + vite: ^4.0.3 + vite-plugin-html: ^3.2.0 dependencies: - alpinejs: 3.10.5 + '@veljs/svelte': 0.1.8 + classnames: 2.3.2 + heroiconsvelte: 0.1.5 devDependencies: - '@angular-eslint/eslint-plugin': 14.1.2_rmayb2veg2btbq6mbmnyivgasy - '@angular-eslint/eslint-plugin-template': 14.1.2_rmayb2veg2btbq6mbmnyivgasy - '@angular-eslint/template-parser': 14.1.2_rmayb2veg2btbq6mbmnyivgasy - '@angular/core': 14.2.10 - '@angular/router': 14.2.10_@angular+core@14.2.10 - '@astrojs/markdown-component': 1.0.2 - '@astrojs/svelte': 1.0.2_as55l2mhxvkwnunnuu7hz3qwqm - '@astrojs/tailwind': 2.1.2_tailwindcss@3.2.4 - '@babel/eslint-parser': 7.19.1_eslint@8.27.0 - '@babel/plugin-proposal-decorators': 7.20.2 - '@builder.io/qwik': 0.13.3 + '@angular-eslint/eslint-plugin': 15.1.0_iukboom6ndih5an6iafl45j2fe + '@angular-eslint/eslint-plugin-template': 15.1.0_iukboom6ndih5an6iafl45j2fe + '@angular-eslint/template-parser': 15.1.0_iukboom6ndih5an6iafl45j2fe + '@babel/core': 7.20.7 + '@babel/eslint-parser': 7.19.1_cbdx2nt4qlpatq6svgwvehmsk4 + '@babel/plugin-proposal-decorators': 7.20.7_@babel+core@7.20.7 '@matschik/lz-string': 0.0.2 + '@stefanprobst/remark-shiki': 2.2.0_shiki@0.12.1 + '@sveltejs/vite-plugin-svelte': 2.0.2_svelte@3.55.0+vite@4.0.3 '@tailwindcss/typography': 0.5.8_tailwindcss@3.2.4 - '@types/mdast': 3.0.10 - '@typescript-eslint/eslint-plugin': 5.42.1_2udltptbznfmezdozpdoa2aemq - '@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy - astro: 1.6.7 - autoprefixer: 10.4.13_postcss@8.4.19 + '@typescript-eslint/eslint-plugin': 5.48.0_iukboom6ndih5an6iafl45j2fe + autoprefixer: 10.4.13_postcss@8.4.20 codesandbox: 2.2.3 - eslint: 8.27.0 - eslint-config-prettier: 8.5.0_eslint@8.27.0 - eslint-plugin-ember: 11.2.0_eslint@8.27.0 - eslint-plugin-lit: 1.6.1_eslint@8.27.0 - eslint-plugin-prettier: 4.2.1_v7o5sx5x3wbs57ifz6wc4f76we - eslint-plugin-qwik: 0.13.3_eslint@8.27.0 - eslint-plugin-react: 7.31.10_eslint@8.27.0 - eslint-plugin-solid: 0.8.0_rmayb2veg2btbq6mbmnyivgasy - eslint-plugin-svelte3: 4.0.0_ktwpzwc5ejqdbyb2mks6m4mhya - eslint-plugin-vue: 9.7.0_eslint@8.27.0 + eslint: 8.31.0 + eslint-plugin-ember: 11.4.0_eslint@8.31.0 + eslint-plugin-lit: 1.7.2_eslint@8.31.0 + eslint-plugin-prettier: 4.2.1_crnjwcwerrbat3mlbmrsoa543e + eslint-plugin-qwik: 0.16.1_eslint@8.31.0 + eslint-plugin-react: 7.31.11_eslint@8.31.0 + eslint-plugin-solid: 0.9.1_iukboom6ndih5an6iafl45j2fe + eslint-plugin-svelte3: 4.0.0_6go7qzsvzihesfwmyvq3tnl5qq + eslint-plugin-vue: 9.8.0_eslint@8.31.0 esm: 3.2.25 + folder-hash: 4.0.2 husky: 8.0.2 - lint-staged: 13.0.3 + lint-staged: 13.1.0 lodash.kebabcase: 4.1.1 micache: 2.4.1 pkg-dir: 7.0.0 - postcss: 8.4.19 - prettier: 2.7.1 - prettier-plugin-astro: 0.7.0 - prettier-plugin-svelte: 2.8.0_nryolsexf6k3znhuh4uzpugsem - prop-types: 15.8.1 + postcss: 8.4.20 + prettier: 2.8.1 + prettier-plugin-svelte: 2.9.0_ajxj753sv7dbwexjherrch25ta react: 18.2.0 + rehype-raw: 6.1.1 + rehype-stringify: 9.0.3 remark: 14.0.2 - shiki: 0.11.1 - svelte: 3.53.1 - tailwindcss: 3.2.4_postcss@8.4.19 - typescript: 4.8.4 - vite: 3.2.3 - vite-plugin-full-reload: 1.0.4_vite@3.2.3 + remark-parse: 10.0.1 + remark-rehype: 10.1.0 + shiki: 0.12.1 + svelte: 3.55.0 + svelte-preprocess: 5.0.0_ab723qfmzcya2vdx7wgpbps36u + tailwindcss: 3.2.4_postcss@8.4.20 + typescript: 4.9.4 + unified: 10.1.2 + vite: 4.0.3 + vite-plugin-html: 3.2.0_vite@4.0.3 packages: @@ -114,230 +114,68 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@angular-eslint/bundled-angular-compiler/14.1.2: - resolution: {integrity: sha512-d5/jTKXP+t9hNSucj3m8zZYBl62fZ2xFMVNbAOArYAkA7WwwX3D7Gae57BNW54cd2fl2/is7Dn6UgYhu1wqkSQ==} + /@angular-eslint/bundled-angular-compiler/15.1.0: + resolution: {integrity: sha512-zcOx+PnYuVDIG3wd/JVzCYdEUarKGtgIcN4iU9ZF+BVk5e8i9cbD3U8U3EDJKbrrokbFl9GBBJMCOa6XYTGJwQ==} dev: true - /@angular-eslint/eslint-plugin-template/14.1.2_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-gMgYJ8ZwPvq2H/YEzPztVRAK2NYs2cJFUDZD4iGjSRtDgYq9OHjyTo+r6tkcyjcK2qvesy0RccHQKh+x3hYMTA==} + /@angular-eslint/eslint-plugin-template/15.1.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-WofUNiLcO/oprnzswkF+u1PC6ulmqB/m7fNKMMnbExMYuK1P38gjp59FW7E+2Ivz+A4/8a5xV+U+cy3oRgh4NQ==} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/bundled-angular-compiler': 14.1.2 - '@typescript-eslint/type-utils': 5.37.0_rmayb2veg2btbq6mbmnyivgasy - '@typescript-eslint/utils': 5.37.0_rmayb2veg2btbq6mbmnyivgasy - aria-query: 5.0.2 - axobject-query: 3.0.1 - eslint: 8.27.0 - typescript: 4.8.4 + '@angular-eslint/bundled-angular-compiler': 15.1.0 + '@angular-eslint/utils': 15.1.0_iukboom6ndih5an6iafl45j2fe + '@typescript-eslint/type-utils': 5.44.0_iukboom6ndih5an6iafl45j2fe + '@typescript-eslint/utils': 5.44.0_iukboom6ndih5an6iafl45j2fe + aria-query: 5.1.3 + axobject-query: 3.1.1 + eslint: 8.31.0 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@angular-eslint/eslint-plugin/14.1.2_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-5pJaTcFfM7yDHNtMxw3uNTpBTLjNYH9mlOLX5FFQ9EahAuycwCtV8VJkIntK2ZiOTdRVJYA9/PEdD/xVxX02rw==} + /@angular-eslint/eslint-plugin/15.1.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-3RRDnxaCEI5DdKq3hipXvrxctPPssrUXnNbgczJRIJ3cssr4ndobCSNqUSepA6vWj5mWe7w+nnh4vgfhZ5keig==} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/utils': 14.1.2_rmayb2veg2btbq6mbmnyivgasy - '@typescript-eslint/utils': 5.37.0_rmayb2veg2btbq6mbmnyivgasy - eslint: 8.27.0 - typescript: 4.8.4 + '@angular-eslint/utils': 15.1.0_iukboom6ndih5an6iafl45j2fe + '@typescript-eslint/utils': 5.44.0_iukboom6ndih5an6iafl45j2fe + eslint: 8.31.0 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@angular-eslint/template-parser/14.1.2_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-bQI+poQDIyR3OU9EQzJeLYRtmsvjFGtV5dc+4XPJ6eIyRAc8baCG/0V/cOrpofIdSf7e/sCV8H7rXcFg6tSdUw==} + /@angular-eslint/template-parser/15.1.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-ctcA7OAV1wwFByW1te3uZwzySuIRlo8NblG5yUtgU5BXt3nXwIDwoSr3tvI2dRHobNHcXVQcOFVzyOdXD/vsIg==} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/bundled-angular-compiler': 14.1.2 - eslint: 8.27.0 - eslint-scope: 5.1.1 - typescript: 4.8.4 + '@angular-eslint/bundled-angular-compiler': 15.1.0 + eslint: 8.31.0 + eslint-scope: 7.1.1 + typescript: 4.9.4 dev: true - /@angular-eslint/utils/14.1.2_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-EtblG9zO0+kWG9EHsoEshFKvsH5DMSK1DqwQsNOVGAF0Aa5DFOqrwouJUyBNJ0d4fSWI9QcuzVkZ1x9JyLIeXQ==} + /@angular-eslint/utils/15.1.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-Vt59o7wq3UOgHSCrOaHg0SgxgbAGhG0ofNQwd7sLqNP2/w/90dWY2jwWXIVSuZ+BmfVj3wgNi3KujbSWJP1cfg==} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^7.20.0 || ^8.0.0 typescript: '*' dependencies: - '@angular-eslint/bundled-angular-compiler': 14.1.2 - '@typescript-eslint/utils': 5.37.0_rmayb2veg2btbq6mbmnyivgasy - eslint: 8.27.0 - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color - dev: true - - /@angular/core/14.2.10: - resolution: {integrity: sha512-3XN+c0+tAtcUc8o7sQ41RLcSFPMt8krCfKFpDUOQwKjm90OOBcoG0LfmRfYBFNAenQh4glQQGOaYvLY98bTFTw==} - engines: {node: ^14.15.0 || >=16.10.0} - peerDependencies: - rxjs: ^6.5.3 || ^7.4.0 - zone.js: ~0.11.4 || ~0.12.0 - dependencies: - tslib: 2.4.1 - dev: true - - /@angular/router/14.2.10_@angular+core@14.2.10: - resolution: {integrity: sha512-Pnyy+j6WGh+VlvdsfqWCumlwCrYH5HgcJcrvmjhohTf/dtexfwTGmuqFU+6/d4vRugG84xsLH3wIlnW6P7WEXw==} - engines: {node: ^14.15.0 || >=16.10.0} - peerDependencies: - '@angular/common': 14.2.10 - '@angular/core': 14.2.10 - '@angular/platform-browser': 14.2.10 - rxjs: ^6.5.3 || ^7.4.0 - dependencies: - '@angular/core': 14.2.10 - tslib: 2.4.1 - dev: true - - /@astrojs/compiler/0.29.13: - resolution: {integrity: sha512-C9+91vsWiJspj/VkVp6UtSIrJGuj/Aia1KCEDzg2Ge27uSDCOl1QlUQuAAnAbGpFBF71uaYOUZOPCbptQeGbdQ==} - dev: true - - /@astrojs/language-server/0.28.3: - resolution: {integrity: sha512-fPovAX/X46eE2w03jNRMpQ7W9m2mAvNt4Ay65lD9wl1Z5vIQYxlg7Enp9qP225muTr4jSVB5QiLumFJmZMAaVA==} - hasBin: true - dependencies: - '@vscode/emmet-helper': 2.8.4 - events: 3.3.0 - prettier: 2.7.1 - prettier-plugin-astro: 0.7.0 - source-map: 0.7.4 - vscode-css-languageservice: 6.1.1 - vscode-html-languageservice: 5.0.2 - vscode-languageserver: 8.0.2 - vscode-languageserver-protocol: 3.17.2 - vscode-languageserver-textdocument: 1.0.7 - vscode-languageserver-types: 3.17.2 - vscode-uri: 3.0.6 - dev: true - - /@astrojs/markdown-component/1.0.2: - resolution: {integrity: sha512-A1YTh/+2LAImN6E716/th29EYopfBuLUWwslrxP3cfD+avlRjRnfFaKo4ygWS+OwPuyafx7GfxD6Rh5QB70thw==} - dev: true - - /@astrojs/markdown-remark/1.1.3: - resolution: {integrity: sha512-6MDuQXbrp2fZBYBIqD+0jvSqYAukiMTte6oLNHiEYsLf3KIMlVAZj6dDgUJakgL7cQ4fmzWb0HUqzVpxAsasLw==} - dependencies: - '@astrojs/micromark-extension-mdx-jsx': 1.0.3 - '@astrojs/prism': 1.0.2 - acorn: 8.8.1 - acorn-jsx: 5.3.2_acorn@8.8.1 - github-slugger: 1.5.0 - hast-util-to-html: 8.0.3 - import-meta-resolve: 2.1.0 - mdast-util-from-markdown: 1.2.0 - mdast-util-mdx-expression: 1.3.1 - mdast-util-mdx-jsx: 1.2.0 - micromark-extension-mdx-expression: 1.0.3 - micromark-extension-mdx-md: 1.0.0 - micromark-util-combine-extensions: 1.0.0 - rehype-raw: 6.1.1 - rehype-stringify: 9.0.3 - remark-gfm: 3.0.1 - remark-parse: 10.0.1 - remark-rehype: 10.1.0 - remark-smartypants: 2.0.0 - shiki: 0.11.1 - unified: 10.1.2 - unist-util-map: 3.1.2 - unist-util-visit: 4.1.1 - vfile: 5.3.5 - transitivePeerDependencies: - - supports-color - dev: true - - /@astrojs/micromark-extension-mdx-jsx/1.0.3: - resolution: {integrity: sha512-O15+i2DGG0qb1R/1SYbFXgOKDGbYdV8iJMtuboVb1S9YFQfMOJxaCMco0bhXQI7PmZcQ4pZWIjT5oZ64dXUtRA==} - dependencies: - '@types/acorn': 4.0.6 - estree-util-is-identifier-name: 2.0.1 - micromark-factory-mdx-expression: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - vfile-message: 3.1.2 - dev: true - - /@astrojs/prism/1.0.2: - resolution: {integrity: sha512-o3cUVoAuALDqdN5puNlsN2eO4Yi1kDh68YO8V7o6U4Ts+J/mMayzlJ7JsgYAmob0xrf/XnADVgu8khfMv/w3uA==} - engines: {node: ^14.18.0 || >=16.12.0} - dependencies: - prismjs: 1.29.0 - dev: true - - /@astrojs/svelte/1.0.2_as55l2mhxvkwnunnuu7hz3qwqm: - resolution: {integrity: sha512-cC3Pn475mOJdDM5IKMJ75hlah7jTWdVPkD7gUx+7ouJ/V9Q8H5OTmne+xG8zk2MquAHBL/ksmUS2pSzI9ByZkw==} - engines: {node: ^14.18.0 || >=16.12.0} - peerDependencies: - svelte: ^3.46.4 - dependencies: - '@sveltejs/vite-plugin-svelte': 1.1.1_svelte@3.53.1+vite@3.2.3 - postcss-load-config: 3.1.4_postcss@8.4.19 - svelte: 3.53.1 - svelte-preprocess: 4.10.7_cwqoy5ciyt3s22baemw6luffyq - svelte2tsx: 0.5.20_f4bsrsgtzvlkrtbz2ig7nipio4 - transitivePeerDependencies: - - '@babel/core' - - coffeescript - - diff-match-patch - - less - - node-sass - - postcss - - pug - - sass - - stylus - - sugarss - - supports-color - - ts-node - - typescript - - vite - dev: true - - /@astrojs/tailwind/2.1.2_tailwindcss@3.2.4: - resolution: {integrity: sha512-nIrlT+WWp/Wv2VQ29Nvncq608E+j3qB9k1f7yiAjY2ijxizZo4OnQzdRPQcIjIZHL5YxPtzbcoSP2u3v+Domqw==} - peerDependencies: - tailwindcss: ^3.0.24 - dependencies: - '@proload/core': 0.3.3 - autoprefixer: 10.4.13_postcss@8.4.19 - postcss: 8.4.19 - tailwindcss: 3.2.4_postcss@8.4.19 - dev: true - - /@astrojs/telemetry/1.0.1: - resolution: {integrity: sha512-SJVfZHp00f8VZsT1fsx1+6acJGUNt/84xZytV5znPzzNE8RXjlE0rv03llgTsEeUHYZc6uJah91jNojS7RldFg==} - engines: {node: ^14.18.0 || >=16.12.0} - dependencies: - ci-info: 3.5.0 - debug: 4.3.4 - dlv: 1.1.3 - dset: 3.1.2 - is-docker: 3.0.0 - is-wsl: 2.2.0 - node-fetch: 3.3.0 - which-pm-runs: 1.1.0 + '@angular-eslint/bundled-angular-compiler': 15.1.0 + '@typescript-eslint/utils': 5.44.0_iukboom6ndih5an6iafl45j2fe + eslint: 8.31.0 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@astrojs/webapi/1.1.1: - resolution: {integrity: sha512-yeUvP27PoiBK/WCxyQzC4HLYZo4Hg6dzRd/dTsL50WGlAQVCwWcqzVJrIZKvzNDNaW/fIXutZTmdj6nec0PIGg==} - dependencies: - global-agent: 3.0.0 - node-fetch: 3.3.0 - dev: true - /@babel/code-frame/7.18.6: resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} engines: {node: '>=6.9.0'} @@ -345,52 +183,53 @@ packages: '@babel/highlight': 7.18.6 dev: true - /@babel/compat-data/7.20.1: - resolution: {integrity: sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==} + /@babel/compat-data/7.20.10: + resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} engines: {node: '>=6.9.0'} dev: true - /@babel/core/7.20.2: - resolution: {integrity: sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==} + /@babel/core/7.20.7: + resolution: {integrity: sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.0 '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.4 - '@babel/helper-compilation-targets': 7.20.0_@babel+core@7.20.2 - '@babel/helper-module-transforms': 7.20.2 - '@babel/helpers': 7.20.1 - '@babel/parser': 7.20.3 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/generator': 7.20.7 + '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.7 + '@babel/helper-module-transforms': 7.20.11 + '@babel/helpers': 7.20.7 + '@babel/parser': 7.20.7 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.10 + '@babel/types': 7.20.7 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 - json5: 2.2.1 + json5: 2.2.3 semver: 6.3.0 transitivePeerDependencies: - supports-color dev: true - /@babel/eslint-parser/7.19.1_eslint@8.27.0: + /@babel/eslint-parser/7.19.1_cbdx2nt4qlpatq6svgwvehmsk4: resolution: {integrity: sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': '>=7.11.0' eslint: ^7.5.0 || ^8.0.0 dependencies: + '@babel/core': 7.20.7 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.27.0 + eslint: 8.31.0 eslint-visitor-keys: 2.1.0 semver: 6.3.0 dev: true - /@babel/generator/7.20.4: - resolution: {integrity: sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==} + /@babel/generator/7.20.7: + resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 '@jridgewell/gen-mapping': 0.3.2 jsesc: 2.5.2 dev: true @@ -399,34 +238,36 @@ packages: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true - /@babel/helper-compilation-targets/7.20.0_@babel+core@7.20.2: - resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} + /@babel/helper-compilation-targets/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/compat-data': 7.20.1 - '@babel/core': 7.20.2 + '@babel/compat-data': 7.20.10 + '@babel/core': 7.20.7 '@babel/helper-validator-option': 7.18.6 browserslist: 4.21.4 + lru-cache: 5.1.1 semver: 6.3.0 dev: true - /@babel/helper-create-class-features-plugin/7.20.2: - resolution: {integrity: sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==} + /@babel/helper-create-class-features-plugin/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: + '@babel/core': 7.20.7 '@babel/helper-annotate-as-pure': 7.18.6 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 transitivePeerDependencies: - supports-color @@ -441,33 +282,33 @@ packages: resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.18.10 - '@babel/types': 7.20.2 + '@babel/template': 7.20.7 + '@babel/types': 7.20.7 dev: true /@babel/helper-hoist-variables/7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true - /@babel/helper-member-expression-to-functions/7.18.9: - resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} + /@babel/helper-member-expression-to-functions/7.20.7: + resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true /@babel/helper-module-imports/7.18.6: resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true - /@babel/helper-module-transforms/7.20.2: - resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} + /@babel/helper-module-transforms/7.20.11: + resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 @@ -475,9 +316,9 @@ packages: '@babel/helper-simple-access': 7.20.2 '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.10 + '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -486,7 +327,7 @@ packages: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true /@babel/helper-plugin-utils/7.20.2: @@ -494,15 +335,16 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers/7.19.1: - resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} + /@babel/helper-replace-supers/7.20.7: + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.10 + '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -511,14 +353,14 @@ packages: resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true /@babel/helper-split-export-declaration/7.18.6: resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true /@babel/helper-string-parser/7.19.4: @@ -536,13 +378,13 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helpers/7.20.1: - resolution: {integrity: sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==} + /@babel/helpers/7.20.7: + resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.18.10 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.10 + '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color dev: true @@ -556,91 +398,69 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.20.3: - resolution: {integrity: sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==} + /@babel/parser/7.20.7: + resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.20.2 + '@babel/types': 7.20.7 dev: true - /@babel/plugin-proposal-decorators/7.20.2: - resolution: {integrity: sha512-nkBH96IBmgKnbHQ5gXFrcmez+Z9S2EIDKDQGp005ROqBigc88Tky4rzCnlP/lnlj245dCEQl4/YyV0V1kYh5dw==} + /@babel/plugin-proposal-decorators/7.20.7_@babel+core@7.20.7: + resolution: {integrity: sha512-JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-create-class-features-plugin': 7.20.2 + '@babel/core': 7.20.7 + '@babel/helper-create-class-features-plugin': 7.20.7_@babel+core@7.20.7 '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-replace-supers': 7.20.7 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/plugin-syntax-decorators': 7.19.0 + '@babel/plugin-syntax-decorators': 7.19.0_@babel+core@7.20.7 transitivePeerDependencies: - supports-color dev: true - /@babel/plugin-syntax-decorators/7.19.0: + /@babel/plugin-syntax-decorators/7.19.0_@babel+core@7.20.7: resolution: {integrity: sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.20.7 '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.20.2: - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - - /@babel/plugin-transform-react-jsx/7.19.0_@babel+core@7.20.2: - resolution: {integrity: sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.2 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.20.2 - '@babel/types': 7.20.2 - dev: true - - /@babel/template/7.18.10: - resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} + /@babel/template/7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 + '@babel/parser': 7.20.7 + '@babel/types': 7.20.7 dev: true - /@babel/traverse/7.20.1: - resolution: {integrity: sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==} + /@babel/traverse/7.20.10: + resolution: {integrity: sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.4 + '@babel/generator': 7.20.7 '@babel/helper-environment-visitor': 7.18.9 '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 + '@babel/parser': 7.20.7 + '@babel/types': 7.20.7 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types/7.20.2: - resolution: {integrity: sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==} + /@babel/types/7.20.7: + resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.19.4 @@ -648,52 +468,102 @@ packages: to-fast-properties: 2.0.0 dev: true - /@builder.io/qwik/0.13.3: - resolution: {integrity: sha512-revtQDBww5lYM6oEsmdRk0n+Z38sFghxjbpyNZFjN3h20FHoym7fXwxSUag+0wdeU9c3CRWDKoLJFtnngcLfCg==} - engines: {node: '>=16'} - hasBin: true - dev: true - /@ember-data/rfc395-data/0.0.4: resolution: {integrity: sha512-tGRdvgC9/QMQSuSuJV45xoyhI0Pzjm7A9o/MVVA3HakXIImJbbzx/k/6dO9CUEQXIyS2y0fW6C1XaYOG7rY0FQ==} dev: true - /@emmetio/abbreviation/2.2.3: - resolution: {integrity: sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==} - dependencies: - '@emmetio/scanner': 1.0.0 + /@esbuild/android-arm/0.16.13: + resolution: {integrity: sha512-JmtqThupn9Yf+FzANE+GG73ASUkssnPwOsndUElhp23685QzRK+MO1UompOlBaXV9D5FTuYcPnw7p4mCq2YbZQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true dev: true + optional: true - /@emmetio/css-abbreviation/2.1.4: - resolution: {integrity: sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==} - dependencies: - '@emmetio/scanner': 1.0.0 + /@esbuild/android-arm64/0.16.13: + resolution: {integrity: sha512-r4xetsd1ez1NF9/9R2f9Q6AlxqiZLwUqo7ICOcvEVwopVkXUcspIjEbJk0EVTgT6Cp5+ymzGPT6YNV0ievx4yA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64/0.16.13: + resolution: {integrity: sha512-hKt1bFht/Vtp0xJ0ZVzFMnPy1y1ycmM3KNnp3zsyZfQmw7nhs2WLO4vxdR5YG+6RsHKCb2zbZ3VwlC0Tij0qyA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64/0.16.13: + resolution: {integrity: sha512-ogrVuNi2URocrr3Ps20f075EMm9V7IeenOi9FRj4qdbT6mQlwLuP4l90PW2iBrKERx0oRkcZprEUNsz/3xd7ww==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64/0.16.13: + resolution: {integrity: sha512-Agajik9SBGiKD7FPXE+ExW6x3MgA/dUdpZnXa9y1tyfE4lKQx+eQiknSdrBnWPeqa9wL0AOvkhghmYhpVkyqkA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64/0.16.13: + resolution: {integrity: sha512-KxMO3/XihBcHM+xQUM6nQZO1SgQuOsd1DCnKF1a4SIf/i5VD45vrqN3k8ePgFrEbMi7m5JeGmvNqwJXinF0a4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /@emmetio/scanner/1.0.0: - resolution: {integrity: sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==} + /@esbuild/freebsd-x64/0.16.13: + resolution: {integrity: sha512-Ez15oqV1vwvZ30cVLeBW14BsWq/fdWNQGMOxxqaSJVQVLqHhvgfQ7gxGDiN9tpJdeQhqJO+Q0r02/Tce5+USNg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true dev: true + optional: true - /@esbuild/android-arm/0.15.13: - resolution: {integrity: sha512-RY2fVI8O0iFUNvZirXaQ1vMvK0xhCcl0gqRj74Z6yEiO1zAUa7hbsdwZM1kzqbxHK7LFyMizipfXT3JME+12Hw==} + /@esbuild/linux-arm/0.16.13: + resolution: {integrity: sha512-18dLd2L3mda+iFj6sswyBMSh2UwniamD9M4DwPv8VM+9apRFlQ5IGKxBdumnTuOI4NvwwAernmUseWhYQ9k+rg==} engines: {node: '>=12'} cpu: [arm] - os: [android] + os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-loong64/0.14.54: - resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + /@esbuild/linux-arm64/0.16.13: + resolution: {integrity: sha512-qi5n7KwcGViyJeZeQnu8fB6dC3Mlm5PGaqSv2HhQDDx/MPvVfQGNMcv7zcBL4qk3FkuWhGVwXkjQ76x7R0PWlA==} engines: {node: '>=12'} - cpu: [loong64] + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32/0.16.13: + resolution: {integrity: sha512-2489Xad9sr+6GD7nB913fUqpCsSwVwgskkQTq4Or2mZntSPYPebyJm8l1YruHo7oqYMTGV6RiwGE4gRo3H+EPQ==} + engines: {node: '>=12'} + cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /@esbuild/linux-loong64/0.15.13: - resolution: {integrity: sha512-+BoyIm4I8uJmH/QDIH0fu7MG0AEx9OXEDXnqptXCwKOlOqZiS4iraH1Nr7/ObLMokW3sOCeBNyD68ATcV9b9Ag==} + /@esbuild/linux-loong64/0.16.13: + resolution: {integrity: sha512-x8KplRu9Y43Px8I9YS+sPBwQ+fw44Mvp2BPVADopKDWz+h3fcj1BvRU58kxb89WObmwKX9sWdtYzepL4Fmx03A==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -701,15 +571,114 @@ packages: dev: true optional: true - /@eslint/eslintrc/1.3.3: - resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} + /@esbuild/linux-mips64el/0.16.13: + resolution: {integrity: sha512-qhhdWph9FLwD9rVVC/nUf7k2U4NZIA6/mGx0B7+O6PFV0GjmPA2E3zDQ4NUjq9P26E0DeAZy9akH9dYcUBRU7A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64/0.16.13: + resolution: {integrity: sha512-cVWAPKsrRVxI1jCeJHnYSbE3BrEU+pZTZK2gfao9HRxuc+3m4+RLfs3EVEpGLmMKEcWfVCB9wZ3yNxnknutGKQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64/0.16.13: + resolution: {integrity: sha512-Agb7dbRyZWnmPn5Vvf0eyqaEUqSsaIUwwyInu2EoFTaIDRp093QU2M5alUyOooMLkRbD1WvqQNwx08Z/g+SAcQ==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x/0.16.13: + resolution: {integrity: sha512-AqRBIrc/+kl08ahliNG+EyU+j41wIzQfwBTKpi80cCDiYvYFPuXjvzZsD9muiu58Isj0RVni9VgC4xK/AnSW4g==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64/0.16.13: + resolution: {integrity: sha512-S4wn2BimuhPcoArRtVrdHUKIymCCZcYAXQE47kUiX4yrUrEX2/ifn5eKNbZ5c1jJKUlh1gC2ESIN+iw3wQax3g==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64/0.16.13: + resolution: {integrity: sha512-2c8JWgfUMlQHTdaR5X3xNMwqOyad8kgeCupuVkdm3QkUOzGREjlTETQsK6oHifocYzDCo9FeKcUwsK356SdR+g==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64/0.16.13: + resolution: {integrity: sha512-Bwh+PmKD/LK+xBjqIpnYnKYj0fIyQJ0YpRxsn0F+WfzvQ2OA+GKDlf8AHosiCns26Q4Dje388jQVwfOBZ1GaFw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64/0.16.13: + resolution: {integrity: sha512-8wwk6f9XGnhrF94/DBdFM4Xm1JeCyGTCj67r516VS9yvBVQf3Rar54L+XPVDs/oZOokwH+XsktrgkuTMAmjntg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64/0.16.13: + resolution: {integrity: sha512-Jmwbp/5ArLCiRAHC33ODfcrlIcbP/exXkOEUVkADNJC4e/so2jm+i8IQFvVX/lA2GWvK3GdgcN0VFfp9YITAbg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32/0.16.13: + resolution: {integrity: sha512-AX6WjntGjhJHzrPSVvjMD7grxt41koHfAOx6lxLorrpDwwIKKPaGDASPZgvFIZHTbwhOtILW6vAXxYPDsKpDJA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64/0.16.13: + resolution: {integrity: sha512-A+U4gM6OOkPS03UgVU08GTpAAAxPsP/8Z4FmneGo4TaVSD99bK9gVJXlqUEPMO/htFXEAht2O6pX4ErtLY5tVg==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint/eslintrc/1.4.1: + resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 espree: 9.4.1 - globals: 13.17.0 - ignore: 5.2.0 + globals: 13.19.0 + ignore: 5.2.4 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -722,26 +691,26 @@ packages: resolution: {integrity: sha512-JKF/a9I9jw6fGoz8kA7LEQslrwJ5jms5CXhu/aqkBWk+PmZ6pTl8mlb/eJ/5ujBGTiQzBhy5AIWF712iA+4/mw==} dev: true - /@glimmer/interfaces/0.83.1: - resolution: {integrity: sha512-rjAztghzX97v8I4rk3+NguM3XGYcFjc/GbJ8qrEj19KF2lUDoDBW1sB7f0tov3BD5HlrGXei/vOh4+DHfjeB5w==} + /@glimmer/interfaces/0.84.2: + resolution: {integrity: sha512-tMZxQpOddUVmHEOuripkNqVR7ba0K4doiYnFd4WyswqoHPlxqpBujbIamQ+bWCWEF0U4yxsXKa31ekS/JHkiBQ==} dependencies: '@simple-dom/interface': 1.4.0 dev: true - /@glimmer/syntax/0.83.1: - resolution: {integrity: sha512-n3vEd0GtjtgkOsd2gqkSimp8ecqq5KrHyana/s1XJZvVAPD5rMWT9WvAVWG8XAktns8BxjwLIUoj/vkOfA+eHg==} + /@glimmer/syntax/0.84.2: + resolution: {integrity: sha512-SPBd1tpIR9XeaXsXsMRCnKz63eLnIZ0d5G9QC4zIBFBC3pQdtG0F5kWeuRVCdfTIFuR+5WBMfk5jvg+3gbQhjg==} dependencies: - '@glimmer/interfaces': 0.83.1 - '@glimmer/util': 0.83.1 + '@glimmer/interfaces': 0.84.2 + '@glimmer/util': 0.84.2 '@handlebars/parser': 2.0.0 simple-html-tokenizer: 0.5.11 dev: true - /@glimmer/util/0.83.1: - resolution: {integrity: sha512-amvjtl9dvrkxsoitXAly9W5NUaLIE3A2J2tWhBWIL1Z6DOFotfX7ytIosOIcPhJLZCtiXPHzMutQRv0G/MSMsA==} + /@glimmer/util/0.84.2: + resolution: {integrity: sha512-VbhzE2s4rmU+qJF3gGBTL1IDjq+/G2Th51XErS8MQVMCmE4CU2pdwSzec8PyOowqCGUOrVIWuMzEI6VoPM4L4w==} dependencies: '@glimmer/env': 0.1.7 - '@glimmer/interfaces': 0.83.1 + '@glimmer/interfaces': 0.84.2 '@simple-dom/interface': 1.4.0 dev: true @@ -749,8 +718,8 @@ packages: resolution: {integrity: sha512-EP9uEDZv/L5Qh9IWuMUGJRfwhXJ4h1dqKTT4/3+tY0eu7sPis7xh23j61SYUnNF4vqCQvvUXpDo9Bh/+q1zASA==} dev: true - /@humanwhocodes/config-array/0.11.7: - resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==} + /@humanwhocodes/config-array/0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -796,6 +765,13 @@ packages: engines: {node: '>=6.0.0'} dev: true + /@jridgewell/source-map/0.3.2: + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + dev: true + /@jridgewell/sourcemap-codec/1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} dev: true @@ -807,10 +783,6 @@ packages: '@jridgewell/sourcemap-codec': 1.4.14 dev: true - /@ljharb/has-package-exports-patterns/0.0.2: - resolution: {integrity: sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==} - dev: true - /@matschik/lz-string/0.0.2: resolution: {integrity: sha512-gJ4CL+hrC+eqe3p1JB4hU02s5N6+t4tALLK1jdMKGCeshkfkRgpd498qAekvbcgKZjYWy5bQqoPvbD4TtCYw7w==} dev: true @@ -839,63 +811,53 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.13.0 + fastq: 1.15.0 dev: true - /@pkgr/utils/2.3.1: - resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dependencies: - cross-spawn: 7.0.3 - is-glob: 4.0.3 - open: 8.4.0 - picocolors: 1.0.0 - tiny-glob: 0.2.9 - tslib: 2.4.1 - dev: true + /@popperjs/core/2.11.6: + resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} + dev: false - /@polka/url/1.0.0-next.21: - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + /@rollup/pluginutils/4.2.1: + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 dev: true - /@proload/core/0.3.3: - resolution: {integrity: sha512-7dAFWsIK84C90AMl24+N/ProHKm4iw0akcnoKjRvbfHifJZBLhaDsDus1QJmhG12lXj4e/uB/8mB/0aduCW+NQ==} - dependencies: - deepmerge: 4.2.2 - escalade: 3.1.1 + /@simple-dom/interface/1.4.0: + resolution: {integrity: sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==} dev: true - /@proload/plugin-tsm/0.2.1_@proload+core@0.3.3: - resolution: {integrity: sha512-Ex1sL2BxU+g8MHdAdq9SZKz+pU34o8Zcl9PHWo2WaG9hrnlZme607PU6gnpoAYsDBpHX327+eu60wWUk+d/b+A==} + /@stefanprobst/remark-shiki/2.2.0_shiki@0.12.1: + resolution: {integrity: sha512-2UB5TgWJ7scATZ5d8XDcLQzNHrmcJpXopNpqsRbAl2UhoBdlOJ5nAITw0wTyvjN6Xji50fg+yPr8gcpr4YQ/mw==} + engines: {node: '>=14.17', yarn: 1.x} peerDependencies: - '@proload/core': ^0.3.2 + shiki: ^0.12.0 dependencies: - '@proload/core': 0.3.3 - tsm: 2.2.2 - dev: true - - /@simple-dom/interface/1.4.0: - resolution: {integrity: sha512-l5qumKFWU0S+4ZzMaLXFU8tQZsicHEMEyAxI5kDFGhJsRqDwe0a7/iPA/GdxlGyDKseQQAgIz5kzU7eXTrlSpA==} + json5: 2.2.3 + parse-numeric-range: 1.3.0 + shiki: 0.12.1 + unified: 10.1.2 + unist-util-visit: 4.1.1 dev: true - /@sveltejs/vite-plugin-svelte/1.1.1_svelte@3.53.1+vite@3.2.3: - resolution: {integrity: sha512-NzIaGIzWh5hCSMUoxukYEGmxFCWgzaVglqHJLV5r0BA7hHZbHXu8DYR80i6QUX4xyoQ4PZ8ir7SUYsThbreMcg==} + /@sveltejs/vite-plugin-svelte/2.0.2_svelte@3.55.0+vite@4.0.3: + resolution: {integrity: sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==} engines: {node: ^14.18.0 || >= 16} peerDependencies: - diff-match-patch: ^1.0.5 - svelte: ^3.44.0 - vite: ^3.0.0 - peerDependenciesMeta: - diff-match-patch: - optional: true + svelte: ^3.54.0 + vite: ^4.0.0 dependencies: debug: 4.3.4 deepmerge: 4.2.2 kleur: 4.1.5 - magic-string: 0.26.7 - svelte: 3.53.1 - svelte-hmr: 0.15.0_svelte@3.53.1 - vite: 3.2.3 + magic-string: 0.27.0 + svelte: 3.55.0 + svelte-hmr: 0.15.1_svelte@3.55.0 + vite: 4.0.3 + vitefu: 0.2.4_vite@4.0.3 transitivePeerDependencies: - supports-color dev: true @@ -909,88 +871,29 @@ packages: lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 postcss-selector-parser: 6.0.10 - tailwindcss: 3.2.4_postcss@8.4.19 + tailwindcss: 3.2.4_postcss@8.4.20 dev: true - /@types/acorn/4.0.6: - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + /@types/debug/4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} dependencies: - '@types/estree': 1.0.0 + '@types/ms': 0.7.31 dev: true - /@types/babel__core/7.1.20: - resolution: {integrity: sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==} + /@types/hast/2.3.4: + resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} dependencies: - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 - '@types/babel__generator': 7.6.4 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.18.2 - dev: true - - /@types/babel__generator/7.6.4: - resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@types/babel__template/7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} - dependencies: - '@babel/parser': 7.20.3 - '@babel/types': 7.20.2 - dev: true - - /@types/babel__traverse/7.18.2: - resolution: {integrity: sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==} - dependencies: - '@babel/types': 7.20.2 - dev: true - - /@types/debug/4.1.7: - resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} - dependencies: - '@types/ms': 0.7.31 - dev: true - - /@types/estree-jsx/0.0.1: - resolution: {integrity: sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==} - dependencies: - '@types/estree': 1.0.0 - dev: true - - /@types/estree-jsx/1.0.0: - resolution: {integrity: sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==} - dependencies: - '@types/estree': 1.0.0 - dev: true - - /@types/estree/1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: true - - /@types/hast/2.3.4: - resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} - dependencies: - '@types/unist': 2.0.6 - dev: true - - /@types/html-escaper/3.0.0: - resolution: {integrity: sha512-OcJcvP3Yk8mjYwf/IdXZtTE1tb/u0WF0qa29ER07ZHCYUBZXSN29Z1mBS+/96+kNMGTFUAbSz9X+pHmHpZrTCw==} + '@types/unist': 2.0.6 dev: true /@types/json-schema/7.0.11: resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} dev: true - /@types/json5/0.0.30: - resolution: {integrity: sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==} - dev: true - /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.11.18 dev: true /@types/mdast/3.0.10: @@ -1007,14 +910,8 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/nlcst/1.0.0: - resolution: {integrity: sha512-3TGCfOcy8R8mMQ4CNSNOe3PG66HttvjcLzCoOpvXvDtfWOTi+uT/rxeOKm/qEwbM4SNe1O/PjdiBK2YcTjU4OQ==} - dependencies: - '@types/unist': 2.0.6 - dev: true - - /@types/node/18.11.9: - resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} + /@types/node/18.11.18: + resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} dev: true /@types/parse5/6.0.3: @@ -1025,20 +922,16 @@ packages: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true - /@types/resolve/1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - dev: true - /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.11.18 dev: true /@types/sass/1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.11.18 dev: true /@types/semver/7.3.13: @@ -1053,12 +946,8 @@ packages: resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} dev: true - /@types/yargs-parser/21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true - - /@typescript-eslint/eslint-plugin/5.42.1_2udltptbznfmezdozpdoa2aemq: - resolution: {integrity: sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==} + /@typescript-eslint/eslint-plugin/5.48.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -1068,60 +957,39 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy - '@typescript-eslint/scope-manager': 5.42.1 - '@typescript-eslint/type-utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy - '@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy + '@typescript-eslint/scope-manager': 5.48.0 + '@typescript-eslint/type-utils': 5.48.0_iukboom6ndih5an6iafl45j2fe + '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe debug: 4.3.4 - eslint: 8.27.0 - ignore: 5.2.0 + eslint: 8.31.0 + ignore: 5.2.4 natural-compare-lite: 1.4.0 regexpp: 3.2.0 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.8.4 - typescript: 4.8.4 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.42.1_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==} + /@typescript-eslint/scope-manager/5.44.0: + resolution: {integrity: sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true dependencies: - '@typescript-eslint/scope-manager': 5.42.1 - '@typescript-eslint/types': 5.42.1 - '@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4 - debug: 4.3.4 - eslint: 8.27.0 - typescript: 4.8.4 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types': 5.44.0 + '@typescript-eslint/visitor-keys': 5.44.0 dev: true - /@typescript-eslint/scope-manager/5.37.0: - resolution: {integrity: sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q==} + /@typescript-eslint/scope-manager/5.48.0: + resolution: {integrity: sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.37.0 - '@typescript-eslint/visitor-keys': 5.37.0 + '@typescript-eslint/types': 5.48.0 + '@typescript-eslint/visitor-keys': 5.48.0 dev: true - /@typescript-eslint/scope-manager/5.42.1: - resolution: {integrity: sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.42.1 - '@typescript-eslint/visitor-keys': 5.42.1 - dev: true - - /@typescript-eslint/type-utils/5.37.0_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ==} + /@typescript-eslint/type-utils/5.44.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1130,18 +998,18 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.37.0_typescript@4.8.4 - '@typescript-eslint/utils': 5.37.0_rmayb2veg2btbq6mbmnyivgasy + '@typescript-eslint/typescript-estree': 5.44.0_typescript@4.9.4 + '@typescript-eslint/utils': 5.44.0_iukboom6ndih5an6iafl45j2fe debug: 4.3.4 - eslint: 8.27.0 - tsutils: 3.21.0_typescript@4.8.4 - typescript: 4.8.4 + eslint: 8.31.0 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/type-utils/5.42.1_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==} + /@typescript-eslint/type-utils/5.48.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -1150,28 +1018,28 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4 - '@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy + '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 + '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe debug: 4.3.4 - eslint: 8.27.0 - tsutils: 3.21.0_typescript@4.8.4 - typescript: 4.8.4 + eslint: 8.31.0 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types/5.37.0: - resolution: {integrity: sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA==} + /@typescript-eslint/types/5.44.0: + resolution: {integrity: sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types/5.42.1: - resolution: {integrity: sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==} + /@typescript-eslint/types/5.48.0: + resolution: {integrity: sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree/5.37.0_typescript@4.8.4: - resolution: {integrity: sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA==} + /@typescript-eslint/typescript-estree/5.44.0_typescript@4.9.4: + resolution: {integrity: sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1179,20 +1047,20 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.37.0 - '@typescript-eslint/visitor-keys': 5.37.0 + '@typescript-eslint/types': 5.44.0 + '@typescript-eslint/visitor-keys': 5.44.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.8.4 - typescript: 4.8.4 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree/5.42.1_typescript@4.8.4: - resolution: {integrity: sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==} + /@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.4: + resolution: {integrity: sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1200,91 +1068,88 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.42.1 - '@typescript-eslint/visitor-keys': 5.42.1 + '@typescript-eslint/types': 5.48.0 + '@typescript-eslint/visitor-keys': 5.48.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 - tsutils: 3.21.0_typescript@4.8.4 - typescript: 4.8.4 + tsutils: 3.21.0_typescript@4.9.4 + typescript: 4.9.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils/5.37.0_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ==} + /@typescript-eslint/utils/5.44.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.37.0 - '@typescript-eslint/types': 5.37.0 - '@typescript-eslint/typescript-estree': 5.37.0_typescript@4.8.4 - eslint: 8.27.0 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.44.0 + '@typescript-eslint/types': 5.44.0 + '@typescript-eslint/typescript-estree': 5.44.0_typescript@4.9.4 + eslint: 8.31.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.27.0 + eslint-utils: 3.0.0_eslint@8.31.0 + semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils/5.42.1_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==} + /@typescript-eslint/utils/5.48.0_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@types/json-schema': 7.0.11 '@types/semver': 7.3.13 - '@typescript-eslint/scope-manager': 5.42.1 - '@typescript-eslint/types': 5.42.1 - '@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4 - eslint: 8.27.0 + '@typescript-eslint/scope-manager': 5.48.0 + '@typescript-eslint/types': 5.48.0 + '@typescript-eslint/typescript-estree': 5.48.0_typescript@4.9.4 + eslint: 8.31.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.27.0 + eslint-utils: 3.0.0_eslint@8.31.0 semver: 7.3.8 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys/5.37.0: - resolution: {integrity: sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA==} + /@typescript-eslint/visitor-keys/5.44.0: + resolution: {integrity: sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.37.0 + '@typescript-eslint/types': 5.44.0 eslint-visitor-keys: 3.3.0 dev: true - /@typescript-eslint/visitor-keys/5.42.1: - resolution: {integrity: sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==} + /@typescript-eslint/visitor-keys/5.48.0: + resolution: {integrity: sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.42.1 + '@typescript-eslint/types': 5.48.0 eslint-visitor-keys: 3.3.0 dev: true - /@vscode/emmet-helper/2.8.4: - resolution: {integrity: sha512-lUki5QLS47bz/U8IlG9VQ+1lfxMtxMZENmU5nu4Z71eOD5j9FK0SmYGL5NiVJg9WBWeAU0VxRADMY2Qpq7BfVg==} + /@veljs/router/0.3.5: + resolution: {integrity: sha512-OkgXjZwJI/M0Sx3W31f0/9/EoQqEyrrOr45y85qO+c4USmpSrLhrlJRX4bveZ8kjGfQIaB6WcD5MmiQpceT7Bg==} dependencies: - emmet: 2.3.6 - jsonc-parser: 2.3.1 - vscode-languageserver-textdocument: 1.0.7 - vscode-languageserver-types: 3.17.2 - vscode-nls: 5.2.0 - vscode-uri: 2.1.2 - dev: true - - /@vue/reactivity/3.1.5: - resolution: {integrity: sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==} - dependencies: - '@vue/shared': 3.1.5 + radix3: 1.0.0 + svelte: 3.55.0 dev: false - /@vue/shared/3.1.5: - resolution: {integrity: sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==} + /@veljs/svelte/0.1.8: + resolution: {integrity: sha512-dsbiTAgQRjZXkHrXUgvcDeN+JxmqyOQAYTER3MPwnsAHvi3VwftDFMXOyhAlhWDuy62wvvflZFpU6MUqrYym0w==} + dependencies: + '@popperjs/core': 2.11.6 + '@veljs/router': 0.3.5 + cuid: 2.1.8 + svelte: 3.55.0 dev: false /acorn-jsx/5.3.2_acorn@8.8.1: @@ -1351,24 +1216,12 @@ packages: uri-js: 4.4.1 dev: true - /alpinejs/3.10.5: - resolution: {integrity: sha512-qlvnal44Gof2XVfm/lef8fYpXKxR9fjdSki7aFB/9THyFvbsRKZ6lM5SjxXpIs7B0faJt7bgpK2K25gzrraXJw==} - dependencies: - '@vue/reactivity': 3.1.5 - dev: false - /ansi-align/2.0.0: resolution: {integrity: sha512-TdlOggdA/zURfMYa7ABC66j+oqfMew58KpJMbUlH3bcZP1b+cBHIHDDn5uH9INsxrHBPjsqM0tDB4jPTF/vgJA==} dependencies: string-width: 2.1.1 dev: true - /ansi-align/3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - dependencies: - string-width: 4.2.3 - dev: true - /ansi-escapes/3.2.0: resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} engines: {node: '>=4'} @@ -1420,8 +1273,8 @@ packages: engines: {node: '>=12'} dev: true - /anymatch/3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 @@ -1436,19 +1289,14 @@ packages: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} dev: true - /argparse/1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - /argparse/2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /aria-query/5.0.2: - resolution: {integrity: sha512-eigU3vhqSO+Z8BKDnVLN/ompjhf3pYzecKXz8+whRy+9gZu8n1TCGfwzQUUPnqdHl9ax1Hr9031orZ+UOEYr7Q==} - engines: {node: '>=6.0'} + /aria-query/5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + dependencies: + deep-equal: 2.1.0 dev: true /array-equal/1.0.0: @@ -1461,15 +1309,11 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 get-intrinsic: 1.1.3 is-string: 1.0.7 dev: true - /array-iterate/2.0.1: - resolution: {integrity: sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==} - dev: true - /array-union/2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -1481,15 +1325,18 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 es-shim-unscopables: 1.0.0 dev: true - /ast-types/0.14.2: - resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} - engines: {node: '>=4'} + /array.prototype.tosorted/1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} dependencies: - tslib: 2.4.1 + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.5 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.1.3 dev: true /astral-regex/2.0.0: @@ -1497,83 +1344,6 @@ packages: engines: {node: '>=8'} dev: true - /astro/1.6.7: - resolution: {integrity: sha512-xx910blM5qfSMyesmVmuhXqKMIOa2WL/WTSfYv84pB9JocgtAfGKlmS1HZNqWd0h9YLreYbGRzXhbtv2Qfd8vw==} - engines: {node: ^14.18.0 || >=16.12.0, npm: '>=6.14.0'} - hasBin: true - dependencies: - '@astrojs/compiler': 0.29.13 - '@astrojs/language-server': 0.28.3 - '@astrojs/markdown-remark': 1.1.3 - '@astrojs/telemetry': 1.0.1 - '@astrojs/webapi': 1.1.1 - '@babel/core': 7.20.2 - '@babel/generator': 7.20.4 - '@babel/parser': 7.20.3 - '@babel/plugin-transform-react-jsx': 7.19.0_@babel+core@7.20.2 - '@babel/traverse': 7.20.1 - '@babel/types': 7.20.2 - '@proload/core': 0.3.3 - '@proload/plugin-tsm': 0.2.1_@proload+core@0.3.3 - '@types/babel__core': 7.1.20 - '@types/html-escaper': 3.0.0 - '@types/yargs-parser': 21.0.0 - boxen: 6.2.1 - ci-info: 3.5.0 - common-ancestor-path: 1.0.1 - cookie: 0.5.0 - debug: 4.3.4 - deepmerge-ts: 4.2.2 - diff: 5.1.0 - es-module-lexer: 0.10.5 - esbuild: 0.14.54 - execa: 6.1.0 - fast-glob: 3.2.12 - github-slugger: 1.5.0 - gray-matter: 4.0.3 - html-entities: 2.3.3 - html-escaper: 3.0.3 - import-meta-resolve: 2.1.0 - kleur: 4.1.5 - magic-string: 0.25.9 - mime: 3.0.0 - ora: 6.1.2 - path-browserify: 1.0.1 - path-to-regexp: 6.2.1 - postcss: 8.4.19 - postcss-load-config: 3.1.4_postcss@8.4.19 - preferred-pm: 3.0.3 - prompts: 2.4.2 - recast: 0.20.5 - rehype: 12.0.1 - resolve: 1.22.1 - rollup: 2.79.1 - semver: 7.3.8 - shiki: 0.11.1 - sirv: 2.0.2 - slash: 4.0.0 - string-width: 5.1.2 - strip-ansi: 7.0.1 - supports-esm: 1.0.0 - tsconfig-resolver: 3.0.1 - typescript: 4.8.4 - unist-util-visit: 4.1.1 - vfile: 5.3.5 - vite: 3.2.3 - vitefu: 0.1.1_vite@3.2.3 - yargs-parser: 21.1.1 - zod: 3.19.1 - transitivePeerDependencies: - - '@types/node' - - less - - sass - - stylus - - sugarss - - supports-color - - terser - - ts-node - dev: true - /async-disk-cache/1.3.5: resolution: {integrity: sha512-VZpqfR0R7CEOJZ/0FOTgWq70lCrZyS1rkI8PXugDUkTKyyAUgZ2zQ09gLhMkEn+wN8LYeUTPxZdXtlX/kmbXKQ==} dependencies: @@ -1603,7 +1373,11 @@ packages: lodash: 4.17.21 dev: true - /autoprefixer/10.4.13_postcss@8.4.19: + /async/3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /autoprefixer/10.4.13_postcss@8.4.20: resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -1611,14 +1385,19 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.4 - caniuse-lite: 1.0.30001431 + caniuse-lite: 1.0.30001441 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.19 + postcss: 8.4.20 postcss-value-parser: 4.2.0 dev: true + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + /axios/0.18.1: resolution: {integrity: sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g==} deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 @@ -1629,9 +1408,10 @@ packages: - supports-color dev: true - /axobject-query/3.0.1: - resolution: {integrity: sha512-vy5JPSOibF9yAeC2PoemRdA1MuSXX7vX5osdoxKf/6OUeppAWekZ3JIJVNWFMH6wgj7uHYyqZUSqE/b/3JLV1A==} - engines: {node: '>=6.0'} + /axobject-query/3.1.1: + resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} + dependencies: + deep-equal: 2.1.0 dev: true /babel-import-util/0.2.0: @@ -1647,10 +1427,6 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true - /base64-js/1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} @@ -1668,14 +1444,6 @@ packages: safe-buffer: 5.2.1 dev: true - /bl/5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} - dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true - /blank-object/1.0.2: resolution: {integrity: sha512-kXQ19Xhoghiyw66CUiGypnuRpWlbHAzY/+NyvqTEdTfhfQGH1/dbEMYiXju7fYKIFePpzp/y9dsu5Cu/PkmawQ==} dev: true @@ -1688,10 +1456,6 @@ packages: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} dev: true - /boolean/3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - dev: true - /boxen/1.3.0: resolution: {integrity: sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==} engines: {node: '>=4'} @@ -1705,20 +1469,6 @@ packages: widest-line: 2.0.1 dev: true - /boxen/6.2.1: - resolution: {integrity: sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - ansi-align: 3.0.1 - camelcase: 6.3.0 - chalk: 4.1.2 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.0.1 - dev: true - /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -1726,6 +1476,12 @@ packages: concat-map: 0.0.1 dev: true + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + /braces/3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -1852,9 +1608,9 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001431 + caniuse-lite: 1.0.30001441 electron-to-chromium: 1.4.284 - node-releases: 2.0.6 + node-releases: 2.0.8 update-browserslist-db: 1.0.10_browserslist@4.21.4 dev: true @@ -1881,13 +1637,6 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true - /buffer/6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - /builtins/1.0.3: resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} dev: true @@ -1940,6 +1689,13 @@ packages: engines: {node: '>=6'} dev: true + /camel-case/4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.4.1 + dev: true + /camelcase-css/2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} @@ -1950,11 +1706,6 @@ packages: engines: {node: '>=4'} dev: true - /camelcase/6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true - /can-symlink/1.0.0: resolution: {integrity: sha512-RbsNrFyhwkx+6psk/0fK/Q9orOUr9VMxohGd8vTa4djf4TGLfblBgUfqZChrZuW0Q+mz2eBPFLusw9Jfukzmhg==} hasBin: true @@ -1962,8 +1713,8 @@ packages: tmp: 0.0.28 dev: true - /caniuse-lite/1.0.30001431: - resolution: {integrity: sha512-zBUoFU0ZcxpvSt9IU66dXVT/3ctO1cy4y9cscs1szkPlcWb6pasYM144GqrUygUbT+k7cmUCW61cvskjcv0enQ==} + /caniuse-lite/1.0.30001441: + resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==} dev: true /capture-stack-trace/1.0.2: @@ -1992,11 +1743,6 @@ packages: supports-color: 7.2.0 dev: true - /chalk/5.1.2: - resolution: {integrity: sha512-E5CkT4jWURs1Vy5qGJye+XwCkNj7Od3Af7CP6SujMetSMkLs8Do2RWJK5yx1wamHV/op8Rz+9rltjaTQWDnEFQ==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /character-entities-html4/2.1.0: resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} dev: true @@ -2009,10 +1755,6 @@ packages: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} dev: true - /character-reference-invalid/2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - dev: true - /chardet/0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} dev: true @@ -2021,7 +1763,7 @@ packages: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: - anymatch: 3.1.2 + anymatch: 3.1.3 braces: 3.0.2 glob-parent: 5.1.2 is-binary-path: 2.1.0 @@ -2040,8 +1782,15 @@ packages: resolution: {integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==} dev: true - /ci-info/3.5.0: - resolution: {integrity: sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==} + /classnames/2.3.2: + resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + dev: false + + /clean-css/5.3.1: + resolution: {integrity: sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 dev: true /clean-stack/2.2.0: @@ -2058,11 +1807,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /cli-boxes/3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - dev: true - /cli-cursor/2.1.0: resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} engines: {node: '>=4'} @@ -2077,23 +1821,11 @@ packages: restore-cursor: 3.1.0 dev: true - /cli-cursor/4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - restore-cursor: 4.0.0 - dev: true - /cli-spinners/1.3.1: resolution: {integrity: sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==} engines: {node: '>=4'} dev: true - /cli-spinners/2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} - engines: {node: '>=6'} - dev: true - /cli-truncate/2.1.0: resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} engines: {node: '>=8'} @@ -2114,11 +1846,6 @@ packages: resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} dev: true - /clone/1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - /codesandbox-import-util-types/2.2.3: resolution: {integrity: sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ==} dev: true @@ -2185,23 +1912,24 @@ packages: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true - /comma-separated-tokens/2.0.2: - resolution: {integrity: sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==} + /comma-separated-tokens/2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} dev: true /commander/2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} dev: true + /commander/8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: true + /commander/9.4.1: resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} engines: {node: ^12.20.0 || >=14} dev: true - /common-ancestor-path/1.0.1: - resolution: {integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==} - dev: true - /concat-map/0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true @@ -2228,13 +1956,17 @@ packages: xdg-basedir: 3.0.0 dev: true - /convert-source-map/1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + /connect-history-api-fallback/1.6.0: + resolution: {integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==} + engines: {node: '>=0.8'} + dev: true + + /consola/2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} dev: true - /cookie/0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} + /convert-source-map/1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} dev: true /copy-concurrently/1.0.5: @@ -2281,20 +2013,39 @@ packages: engines: {node: '>=4'} dev: true - /css-tree/2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + /css-select/4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-tree/2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: - mdn-data: 2.0.28 + mdn-data: 2.0.30 source-map-js: 1.0.2 dev: true + /css-what/6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + /cssesc/3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true dev: true + /cuid/2.1.8: + resolution: {integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==} + dev: false + /cwd/0.9.1: resolution: {integrity: sha512-4+0D+ojEasdLndYX4Cqff057I/Jp6ysXpwKkdLQLnZxV8f6IYZmZtTP5uqD91a/kWqejoc0sSqK4u8wpTKCh8A==} engines: {node: '>=0.8'} @@ -2306,11 +2057,6 @@ packages: resolution: {integrity: sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A==} dev: true - /data-uri-to-buffer/4.0.0: - resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} - engines: {node: '>= 12'} - dev: true - /datauri/3.0.0: resolution: {integrity: sha512-NeDFuUPV1YCpCn8MUIcDk1QnuyenUHs7f4Q5P0n9FFA0neKFrfEH9esR+YMW95BplbYfdmjbs0Pl/ZGAaM2QHQ==} engines: {node: '>= 8'} @@ -2370,8 +2116,24 @@ packages: character-entities: 2.0.2 dev: true - /dedent-js/1.0.1: - resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} + /deep-equal/2.1.0: + resolution: {integrity: sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA==} + dependencies: + call-bind: 1.0.2 + es-get-iterator: 1.1.2 + get-intrinsic: 1.1.3 + is-arguments: 1.1.1 + is-date-object: 1.0.5 + is-regex: 1.1.4 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.9 dev: true /deep-extend/0.6.0: @@ -2383,27 +2145,11 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /deepmerge-ts/4.2.2: - resolution: {integrity: sha512-Ka3Kb21tiWjvQvS9U+1Dx+aqFAHsdTnMdYptLTmC2VAmDFMugWMY1e15aTODstipmCun8iNuqeSfcx6rsUUk0Q==} - engines: {node: '>=12.4.0'} - dev: true - /deepmerge/4.2.2: resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} engines: {node: '>=0.10.0'} dev: true - /defaults/1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - - /define-lazy-prop/2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - dev: true - /define-properties/1.1.4: resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} engines: {node: '>= 0.4'} @@ -2426,10 +2172,6 @@ packages: engines: {node: '>=8'} dev: true - /detect-node/2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - dev: true - /detective/5.2.1: resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} engines: {node: '>=0.8.0'} @@ -2474,6 +2216,33 @@ packages: esutils: 2.0.3 dev: true + /dom-serializer/1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /domelementtype/2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler/4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + /dot-case/3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: @@ -2488,9 +2257,14 @@ packages: is-obj: 1.0.1 dev: true - /dset/3.1.2: - resolution: {integrity: sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==} - engines: {node: '>=4'} + /dotenv-expand/8.0.3: + resolution: {integrity: sha512-SErOMvge0ZUyWd5B0NXMQlDkN+8r+HhVUsxgOO7IoPDOdDRD2JjExpN6y3KnFR66jsJMwSn1pqIivhU5rcJiNg==} + engines: {node: '>=12'} + dev: true + + /dotenv/16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} dev: true /duplexer3/0.1.5: @@ -2523,6 +2297,14 @@ packages: semver: 6.3.0 dev: true + /ejs/3.1.8: + resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.5 + dev: true + /electron-to-chromium/1.4.284: resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} dev: true @@ -2566,13 +2348,6 @@ packages: - supports-color dev: true - /emmet/2.3.6: - resolution: {integrity: sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==} - dependencies: - '@emmetio/abbreviation': 2.2.3 - '@emmetio/css-abbreviation': 2.1.4 - dev: true - /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true @@ -2593,503 +2368,124 @@ packages: once: 1.4.0 dev: true - /ensure-posix-path/1.1.1: - resolution: {integrity: sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==} - dev: true - - /err-code/1.1.2: - resolution: {integrity: sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==} - dev: true - - /errlop/2.2.0: - resolution: {integrity: sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==} - engines: {node: '>=0.8'} - dev: true - - /es-abstract/1.20.4: - resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.1.3 - get-symbol-description: 1.0.0 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-symbols: 1.0.3 - internal-slot: 1.0.3 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-weakref: 1.0.2 - object-inspect: 1.12.2 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - unbox-primitive: 1.0.2 - dev: true - - /es-module-lexer/0.10.5: - resolution: {integrity: sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==} - dev: true - - /es-shim-unscopables/1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: true - - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - - /es6-error/4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - dev: true - - /es6-promise/3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} - dev: true - - /es6-promise/4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - dev: true - - /es6-promisify/5.0.0: - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} - dependencies: - es6-promise: 4.2.8 - dev: true - - /esbuild-android-64/0.14.54: - resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-64/0.15.13: - resolution: {integrity: sha512-yRorukXBlokwTip+Sy4MYskLhJsO0Kn0/Fj43s1krVblfwP+hMD37a4Wmg139GEsMLl+vh8WXp2mq/cTA9J97g==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64/0.14.54: - resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64/0.15.13: - resolution: {integrity: sha512-TKzyymLD6PiVeyYa4c5wdPw87BeAiTXNtK6amWUcXZxkV51gOk5u5qzmDaYSwiWeecSNHamFsaFjLoi32QR5/w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.14.54: - resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64/0.15.13: - resolution: {integrity: sha512-WAx7c2DaOS6CrRcoYCgXgkXDliLnFv3pQLV6GeW1YcGEZq2Gnl8s9Pg7ahValZkpOa0iE/ojRVQ87sbUhF1Cbg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.14.54: - resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64/0.15.13: - resolution: {integrity: sha512-U6jFsPfSSxC3V1CLiQqwvDuj3GGrtQNB3P3nNC3+q99EKf94UGpsG9l4CQ83zBs1NHrk1rtCSYT0+KfK5LsD8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.14.54: - resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64/0.15.13: - resolution: {integrity: sha512-whItJgDiOXaDG/idy75qqevIpZjnReZkMGCgQaBWZuKHoElDJC1rh7MpoUgupMcdfOd+PgdEwNQW9DAE6i8wyA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.14.54: - resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64/0.15.13: - resolution: {integrity: sha512-6pCSWt8mLUbPtygv7cufV0sZLeylaMwS5Fznj6Rsx9G2AJJsAjQ9ifA+0rQEIg7DwJmi9it+WjzNTEAzzdoM3Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.14.54: - resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32/0.15.13: - resolution: {integrity: sha512-VbZdWOEdrJiYApm2kkxoTOgsoCO1krBZ3quHdYk3g3ivWaMwNIVPIfEE0f0XQQ0u5pJtBsnk2/7OPiCFIPOe/w==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.14.54: - resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64/0.15.13: - resolution: {integrity: sha512-rXmnArVNio6yANSqDQlIO4WiP+Cv7+9EuAHNnag7rByAqFVuRusLbGi2697A5dFPNXoO//IiogVwi3AdcfPC6A==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.14.54: - resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm/0.15.13: - resolution: {integrity: sha512-Ac6LpfmJO8WhCMQmO253xX2IU2B3wPDbl4IvR0hnqcPrdfCaUa2j/lLMGTjmQ4W5JsJIdHEdW12dG8lFS0MbxQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.14.54: - resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64/0.15.13: - resolution: {integrity: sha512-alEMGU4Z+d17U7KQQw2IV8tQycO6T+rOrgW8OS22Ua25x6kHxoG6Ngry6Aq6uranC+pNWNMB6aHFPh7aTQdORQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.14.54: - resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le/0.15.13: - resolution: {integrity: sha512-47PgmyYEu+yN5rD/MbwS6DxP2FSGPo4Uxg5LwIdxTiyGC2XKwHhHyW7YYEDlSuXLQXEdTO7mYe8zQ74czP7W8A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.14.54: - resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-ppc64le/0.15.13: - resolution: {integrity: sha512-z6n28h2+PC1Ayle9DjKoBRcx/4cxHoOa2e689e2aDJSaKug3jXcQw7mM+GLg+9ydYoNzj8QxNL8ihOv/OnezhA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.14.54: - resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-riscv64/0.15.13: - resolution: {integrity: sha512-+Lu4zuuXuQhgLUGyZloWCqTslcCAjMZH1k3Xc9MSEJEpEFdpsSU0sRDXAnk18FKOfEjhu4YMGaykx9xjtpA6ow==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.14.54: - resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-s390x/0.15.13: - resolution: {integrity: sha512-BMeXRljruf7J0TMxD5CIXS65y7puiZkAh+s4XFV9qy16SxOuMhxhVIXYLnbdfLrsYGFzx7U9mcdpFWkkvy/Uag==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.14.54: - resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-netbsd-64/0.15.13: - resolution: {integrity: sha512-EHj9QZOTel581JPj7UO3xYbltFTYnHy+SIqJVq6yd3KkCrsHRbapiPb0Lx3EOOtybBEE9EyqbmfW1NlSDsSzvQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true + /ensure-posix-path/1.1.1: + resolution: {integrity: sha512-VWU0/zXzVbeJNXvME/5EmLuEj2TauvoaTz6aFYK1Z92JCBlDlZ3Gu0tuGR42kpW1754ywTs+QB0g5TP0oj9Zaw==} dev: true - optional: true - /esbuild-openbsd-64/0.14.54: - resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true - optional: true - /esbuild-openbsd-64/0.15.13: - resolution: {integrity: sha512-nkuDlIjF/sfUhfx8SKq0+U+Fgx5K9JcPq1mUodnxI0x4kBdCv46rOGWbuJ6eof2n3wdoCLccOoJAbg9ba/bT2w==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true + /err-code/1.1.2: + resolution: {integrity: sha512-CJAN+O0/yA1CKfRn9SXOGctSpEM7DCon/r/5r2eXFMY2zCCJBasFhcM5I+1kh3Ap11FsQCX+vGHceNPvpWKhoA==} dev: true - optional: true - /esbuild-sunos-64/0.14.54: - resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true + /errlop/2.2.0: + resolution: {integrity: sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==} + engines: {node: '>=0.8'} dev: true - optional: true - /esbuild-sunos-64/0.15.13: - resolution: {integrity: sha512-jVeu2GfxZQ++6lRdY43CS0Tm/r4WuQQ0Pdsrxbw+aOrHQPHV0+LNOLnvbN28M7BSUGnJnHkHm2HozGgNGyeIRw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true + /es-abstract/1.20.5: + resolution: {integrity: sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.1.3 + get-symbol-description: 1.0.0 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-symbols: 1.0.3 + internal-slot: 1.0.4 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-weakref: 1.0.2 + object-inspect: 1.12.2 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + unbox-primitive: 1.0.2 dev: true - optional: true - /esbuild-windows-32/0.14.54: - resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true + /es-get-iterator/1.1.2: + resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.3 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 dev: true - optional: true - /esbuild-windows-32/0.15.13: - resolution: {integrity: sha512-XoF2iBf0wnqo16SDq+aDGi/+QbaLFpkiRarPVssMh9KYbFNCqPLlGAWwDvxEVz+ywX6Si37J2AKm+AXq1kC0JA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true + /es-shim-unscopables/1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 dev: true - optional: true - /esbuild-windows-64/0.14.54: - resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 dev: true - optional: true - /esbuild-windows-64/0.15.13: - resolution: {integrity: sha512-Et6htEfGycjDrtqb2ng6nT+baesZPYQIW+HUEHK4D1ncggNrDNk3yoboYQ5KtiVrw/JaDMNttz8rrPubV/fvPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true + /es6-promise/3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} dev: true - optional: true - /esbuild-windows-arm64/0.14.54: - resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true + /es6-promise/4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} dev: true - optional: true - /esbuild-windows-arm64/0.15.13: - resolution: {integrity: sha512-3bv7tqntThQC9SWLRouMDmZnlOukBhOCTlkzNqzGCmrkCJI7io5LLjwJBOVY6kOUlIvdxbooNZwjtBvj+7uuVg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true + /es6-promisify/5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + dependencies: + es6-promise: 4.2.8 dev: true - optional: true - /esbuild/0.14.54: - resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/linux-loong64': 0.14.54 - esbuild-android-64: 0.14.54 - esbuild-android-arm64: 0.14.54 - esbuild-darwin-64: 0.14.54 - esbuild-darwin-arm64: 0.14.54 - esbuild-freebsd-64: 0.14.54 - esbuild-freebsd-arm64: 0.14.54 - esbuild-linux-32: 0.14.54 - esbuild-linux-64: 0.14.54 - esbuild-linux-arm: 0.14.54 - esbuild-linux-arm64: 0.14.54 - esbuild-linux-mips64le: 0.14.54 - esbuild-linux-ppc64le: 0.14.54 - esbuild-linux-riscv64: 0.14.54 - esbuild-linux-s390x: 0.14.54 - esbuild-netbsd-64: 0.14.54 - esbuild-openbsd-64: 0.14.54 - esbuild-sunos-64: 0.14.54 - esbuild-windows-32: 0.14.54 - esbuild-windows-64: 0.14.54 - esbuild-windows-arm64: 0.14.54 - dev: true - - /esbuild/0.15.13: - resolution: {integrity: sha512-Cu3SC84oyzzhrK/YyN4iEVy2jZu5t2fz66HEOShHURcjSkOSAVL8C/gfUT+lDJxkVHpg8GZ10DD0rMHRPqMFaQ==} + /esbuild/0.16.13: + resolution: {integrity: sha512-oYwFdSEIoKM1oYzyem1osgKJAvg5447XF+05ava21fOtilyb2HeQQh26/74K4WeAk5dZmj/Mx10zUqUnI14jhA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.15.13 - '@esbuild/linux-loong64': 0.15.13 - esbuild-android-64: 0.15.13 - esbuild-android-arm64: 0.15.13 - esbuild-darwin-64: 0.15.13 - esbuild-darwin-arm64: 0.15.13 - esbuild-freebsd-64: 0.15.13 - esbuild-freebsd-arm64: 0.15.13 - esbuild-linux-32: 0.15.13 - esbuild-linux-64: 0.15.13 - esbuild-linux-arm: 0.15.13 - esbuild-linux-arm64: 0.15.13 - esbuild-linux-mips64le: 0.15.13 - esbuild-linux-ppc64le: 0.15.13 - esbuild-linux-riscv64: 0.15.13 - esbuild-linux-s390x: 0.15.13 - esbuild-netbsd-64: 0.15.13 - esbuild-openbsd-64: 0.15.13 - esbuild-sunos-64: 0.15.13 - esbuild-windows-32: 0.15.13 - esbuild-windows-64: 0.15.13 - esbuild-windows-arm64: 0.15.13 + '@esbuild/android-arm': 0.16.13 + '@esbuild/android-arm64': 0.16.13 + '@esbuild/android-x64': 0.16.13 + '@esbuild/darwin-arm64': 0.16.13 + '@esbuild/darwin-x64': 0.16.13 + '@esbuild/freebsd-arm64': 0.16.13 + '@esbuild/freebsd-x64': 0.16.13 + '@esbuild/linux-arm': 0.16.13 + '@esbuild/linux-arm64': 0.16.13 + '@esbuild/linux-ia32': 0.16.13 + '@esbuild/linux-loong64': 0.16.13 + '@esbuild/linux-mips64el': 0.16.13 + '@esbuild/linux-ppc64': 0.16.13 + '@esbuild/linux-riscv64': 0.16.13 + '@esbuild/linux-s390x': 0.16.13 + '@esbuild/linux-x64': 0.16.13 + '@esbuild/netbsd-x64': 0.16.13 + '@esbuild/openbsd-x64': 0.16.13 + '@esbuild/sunos-x64': 0.16.13 + '@esbuild/win32-arm64': 0.16.13 + '@esbuild/win32-ia32': 0.16.13 + '@esbuild/win32-x64': 0.16.13 dev: true /escalade/3.1.1: @@ -3107,36 +2503,23 @@ packages: engines: {node: '>=10'} dev: true - /escape-string-regexp/5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: true - - /eslint-config-prettier/8.5.0_eslint@8.27.0: - resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.27.0 - dev: true - - /eslint-plugin-ember/11.2.0_eslint@8.27.0: - resolution: {integrity: sha512-stMzVwyP7OpIJG8cTCUEWEn/QrPwVUKXVrxn88WM0eFFJ4V3003hNueYagRY1Sa9Wd/EtrSb7BMV6AC1YFRRqQ==} + /eslint-plugin-ember/11.4.0_eslint@8.31.0: + resolution: {integrity: sha512-T6e3eQ6dhhkMFmr5L9UsIbKqDAfCyFcy09xu9oG0EVcDflP7phWX60oWfcaBFFc8MqDy28y8Ukp3gaSbSV6IIw==} engines: {node: 14.* || 16.* || >= 18} peerDependencies: eslint: '>= 7' dependencies: '@ember-data/rfc395-data': 0.0.4 - '@glimmer/syntax': 0.83.1 - css-tree: 2.2.1 + '@glimmer/syntax': 0.84.2 + css-tree: 2.3.1 ember-rfc176-data: 0.3.17 ember-template-imports: 3.4.0 - eslint: 8.27.0 - eslint-utils: 3.0.0_eslint@8.27.0 + eslint: 8.31.0 + eslint-utils: 3.0.0_eslint@8.31.0 estraverse: 5.3.0 + lodash.camelcase: 4.3.0 lodash.kebabcase: 4.1.1 - magic-string: 0.25.9 + magic-string: 0.27.0 requireindex: 1.2.0 snake-case: 3.0.4 transitivePeerDependencies: @@ -3144,19 +2527,19 @@ packages: - supports-color dev: true - /eslint-plugin-lit/1.6.1_eslint@8.27.0: - resolution: {integrity: sha512-BpPoWVhf8dQ/Sz5Pi9NlqbGoH5BcMcVyXhi2XTx2XGMAO9U2lS+GTSsqJjI5hL3OuxCicNiUEWXazAwi9cAGxQ==} + /eslint-plugin-lit/1.7.2_eslint@8.31.0: + resolution: {integrity: sha512-vkz9KvwVfHg7yDQCmokLGzUDypg683miswSw5xBiTszv4Qyus5/CgAK7U7dMgbVBa8G5wxHedY2zr9VCMNTaPQ==} engines: {node: '>= 12'} peerDependencies: eslint: '>= 5' dependencies: - eslint: 8.27.0 + eslint: 8.31.0 parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 requireindex: 1.2.0 dev: true - /eslint-plugin-prettier/4.2.1_v7o5sx5x3wbs57ifz6wc4f76we: + /eslint-plugin-prettier/4.2.1_crnjwcwerrbat3mlbmrsoa543e: resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} engines: {node: '>=12.0.0'} peerDependencies: @@ -3167,31 +2550,31 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.27.0 - eslint-config-prettier: 8.5.0_eslint@8.27.0 - prettier: 2.7.1 + eslint: 8.31.0 + prettier: 2.8.1 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-qwik/0.13.3_eslint@8.27.0: - resolution: {integrity: sha512-oUmd6FcWcCVMGBEYrqNnzPrLuiV2u+yG0lbgn9sTY1QE1SehJ8TXx7WrGzPecazUDP9p0/q1oKEfUVWnGUu1pg==} + /eslint-plugin-qwik/0.16.1_eslint@8.31.0: + resolution: {integrity: sha512-4BcA8gqnFGAovMcjhjm1sekUq8P2uBjiXkrGIlXeWGwWJyUyGFzjjvb6zqknIqpxTjIWlcwYJujIj3hwgjiKFg==} engines: {node: '>=16'} peerDependencies: eslint: '>= 8' dependencies: - eslint: 8.27.0 + eslint: 8.31.0 dev: true - /eslint-plugin-react/7.31.10_eslint@8.27.0: - resolution: {integrity: sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==} + /eslint-plugin-react/7.31.11_eslint@8.31.0: + resolution: {integrity: sha512-TTvq5JsT5v56wPa9OYHzsrOlHzKZKjV+aLgS+55NJP/cuzdiQPC7PfYoUjMoxlffKtvijpk7vA/jmuqRb9nohw==} engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: array-includes: 3.1.6 array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - eslint: 8.27.0 + eslint: 8.31.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.3 minimatch: 3.1.2 @@ -3205,14 +2588,14 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-plugin-solid/0.8.0_rmayb2veg2btbq6mbmnyivgasy: - resolution: {integrity: sha512-yzTpqZ4+qGO14aM2rii9waonMNqSlpXHID2GMREYCOWpbIrkC5gILXpLl/+ZWFHSJDvsQN+/COobBkqizn7pkw==} + /eslint-plugin-solid/0.9.1_iukboom6ndih5an6iafl45j2fe: + resolution: {integrity: sha512-2pkdVRG2pOpXjbBn1VhRlxc0NcMViB5xQtjNPX3IiovJ4q1fuLHe9eqVOMeDYiHt2xsajq3R6t5reN6Qv8DAEA==} engines: {node: '>=12.0.0'} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy - eslint: 8.27.0 + '@typescript-eslint/utils': 5.48.0_iukboom6ndih5an6iafl45j2fe + eslint: 8.31.0 is-html: 2.0.0 jsx-ast-utils: 3.3.3 kebab-case: 1.0.2 @@ -3223,29 +2606,29 @@ packages: - typescript dev: true - /eslint-plugin-svelte3/4.0.0_ktwpzwc5ejqdbyb2mks6m4mhya: + /eslint-plugin-svelte3/4.0.0_6go7qzsvzihesfwmyvq3tnl5qq: resolution: {integrity: sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==} peerDependencies: eslint: '>=8.0.0' svelte: ^3.2.0 dependencies: - eslint: 8.27.0 - svelte: 3.53.1 + eslint: 8.31.0 + svelte: 3.55.0 dev: true - /eslint-plugin-vue/9.7.0_eslint@8.27.0: - resolution: {integrity: sha512-DrOO3WZCZEwcLsnd3ohFwqCoipGRSTKTBTnLwdhqAbYZtzWl0o7D+D8ZhlmiZvABKTEl8AFsqH1GHGdybyoQmw==} + /eslint-plugin-vue/9.8.0_eslint@8.31.0: + resolution: {integrity: sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.27.0 - eslint-utils: 3.0.0_eslint@8.27.0 + eslint: 8.31.0 + eslint-utils: 3.0.0_eslint@8.31.0 natural-compare: 1.4.0 nth-check: 2.1.1 - postcss-selector-parser: 6.0.10 + postcss-selector-parser: 6.0.11 semver: 7.3.8 - vue-eslint-parser: 9.1.0_eslint@8.27.0 + vue-eslint-parser: 9.1.0_eslint@8.31.0 xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -3267,13 +2650,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.27.0: + /eslint-utils/3.0.0_eslint@8.31.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.27.0 + eslint: 8.31.0 eslint-visitor-keys: 2.1.0 dev: true @@ -3287,13 +2670,13 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.27.0: - resolution: {integrity: sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==} + /eslint/8.31.0: + resolution: {integrity: sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.3.3 - '@humanwhocodes/config-array': 0.11.7 + '@eslint/eslintrc': 1.4.1 + '@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -3303,7 +2686,7 @@ packages: doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 - eslint-utils: 3.0.0_eslint@8.27.0 + eslint-utils: 3.0.0_eslint@8.31.0 eslint-visitor-keys: 3.3.0 espree: 9.4.1 esquery: 1.4.0 @@ -3312,14 +2695,14 @@ packages: file-entry-cache: 6.0.1 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.17.0 + globals: 13.19.0 grapheme-splitter: 1.0.4 - ignore: 5.2.0 + ignore: 5.2.4 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-sdsl: 4.1.5 + js-sdsl: 4.2.0 js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 @@ -3349,12 +2732,6 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /esprima/4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - /esquery/1.4.0: resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} engines: {node: '>=0.10'} @@ -3379,15 +2756,8 @@ packages: engines: {node: '>=4.0'} dev: true - /estree-util-is-identifier-name/2.0.1: - resolution: {integrity: sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==} - dev: true - - /estree-util-visit/1.2.0: - resolution: {integrity: sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==} - dependencies: - '@types/estree-jsx': 1.0.0 - '@types/unist': 2.0.6 + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true /esutils/2.0.3: @@ -3395,11 +2765,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /events/3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: true - /execa/0.7.0: resolution: {integrity: sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==} engines: {node: '>=4'} @@ -3488,20 +2853,12 @@ packages: blank-object: 1.0.2 dev: true - /fastq/1.13.0: - resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 dev: true - /fetch-blob/3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: true - /figures/2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -3521,6 +2878,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /filelist/1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.2 + dev: true + /filesize/3.6.1: resolution: {integrity: sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==} engines: {node: '>= 0.4.0'} @@ -3548,14 +2911,6 @@ packages: find-file-up: 0.1.3 dev: true - /find-up/4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - /find-up/5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -3572,13 +2927,6 @@ packages: path-exists: 5.0.0 dev: true - /find-yarn-workspace-root2/1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - dependencies: - micromatch: 4.0.5 - pkg-dir: 4.2.0 - dev: true - /flat-cache/3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3598,6 +2946,18 @@ packages: readable-stream: 2.3.7 dev: true + /folder-hash/4.0.2: + resolution: {integrity: sha512-Iw9GCqdA+zHfDVvk90TSAV66jq0IwiZaPvPgUiW+DHRwnaPOeZomzlgutx9QclinsQGz/XcVIGlDEJbFhCV5wA==} + engines: {node: '>=10.10.0'} + hasBin: true + dependencies: + debug: 4.3.4 + graceful-fs: 4.2.10 + minimatch: 5.0.1 + transitivePeerDependencies: + - supports-color + dev: true + /follow-redirects/1.5.10: resolution: {integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==} engines: {node: '>=4.0'} @@ -3607,11 +2967,10 @@ packages: - supports-color dev: true - /formdata-polyfill/4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: - fetch-blob: 3.2.0 + is-callable: 1.2.7 dev: true /fraction.js/4.2.0: @@ -3634,6 +2993,15 @@ packages: engines: {node: '>=0.10.0'} dev: true + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs-extra/3.0.1: resolution: {integrity: sha512-V3Z3WZWVUYd8hoCL5xfXJCaHWYzmtwW5XWYSlLgERi8PWd8bx1kUHUk8L1BT57e49oKnDDD180mjfrHc1yA9rg==} dependencies: @@ -3719,7 +3087,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 functions-have-names: 1.2.3 dev: true @@ -3793,10 +3161,6 @@ packages: remote-origin-url: 0.4.0 dev: true - /github-slugger/1.5.0: - resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} - dev: true - /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -3832,18 +3196,6 @@ packages: path-is-absolute: 1.0.1 dev: true - /global-agent/3.0.0: - resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} - engines: {node: '>=10.0'} - dependencies: - boolean: 3.2.0 - es6-error: 4.1.1 - matcher: 3.0.0 - roarr: 2.15.4 - semver: 7.3.8 - serialize-error: 7.0.1 - dev: true - /global-dirs/0.1.1: resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} engines: {node: '>=4'} @@ -3874,24 +3226,13 @@ packages: engines: {node: '>=4'} dev: true - /globals/13.17.0: - resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==} + /globals/13.19.0: + resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true - /globalthis/1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.1.4 - dev: true - - /globalyzer/0.1.0: - resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - dev: true - /globby/11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -3899,13 +3240,15 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.2.12 - ignore: 5.2.0 + ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 dev: true - /globrex/0.1.2: - resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.1.3 dev: true /got/6.7.1: @@ -3935,16 +3278,6 @@ packages: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} dev: true - /gray-matter/4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - dependencies: - js-yaml: 3.14.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - dev: true - /has-bigints/1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true @@ -3959,12 +3292,6 @@ packages: engines: {node: '>=8'} dev: true - /has-package-exports/1.3.0: - resolution: {integrity: sha512-e9OeXPQnmPhYoJ63lXC4wWe34TxEGZDZ3OQX9XRqp2VwsfLl3bQBy7VehLnd34g3ef8CmYlBLGqEMKXuz8YazQ==} - dependencies: - '@ljharb/has-package-exports-patterns': 0.0.2 - dev: true - /has-property-descriptors/1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} dependencies: @@ -4007,9 +3334,9 @@ packages: resolution: {integrity: sha512-dhIVGoKCQVewFi+vz3Vt567E4ejMppS1haBRL6TEmeLeJVB1i/FJIIg/e6s1Bwn0g5qtYojHEKvyGA+OZuyifw==} dependencies: '@types/unist': 2.0.6 - comma-separated-tokens: 2.0.2 - property-information: 6.1.1 - space-separated-tokens: 2.0.1 + comma-separated-tokens: 2.0.3 + property-information: 6.2.0 + space-separated-tokens: 2.0.2 style-to-object: 0.3.0 unist-util-is: 5.1.1 web-namespaces: 2.0.1 @@ -4022,8 +3349,8 @@ packages: '@types/parse5': 6.0.3 '@types/unist': 2.0.6 hastscript: 7.1.0 - property-information: 6.1.1 - vfile: 5.3.5 + property-information: 6.2.0 + vfile: 5.3.6 vfile-location: 4.0.1 web-namespaces: 2.0.1 dev: true @@ -4041,8 +3368,8 @@ packages: '@types/hast': 2.3.4 dev: true - /hast-util-raw/7.2.2: - resolution: {integrity: sha512-0x3BhhdlBcqRIKyc095lBSDvmQNMY3Eulj2PLsT5XCyKYrxssI5yr3P4Kv/PBo1s/DMkZy2voGkMXECnFCZRLQ==} + /hast-util-raw/7.2.3: + resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} dependencies: '@types/hast': 2.3.4 '@types/parse5': 6.0.3 @@ -4052,9 +3379,9 @@ packages: parse5: 6.0.1 unist-util-position: 4.0.3 unist-util-visit: 4.1.1 - vfile: 5.3.5 + vfile: 5.3.6 web-namespaces: 2.0.1 - zwitch: 2.0.2 + zwitch: 2.0.4 dev: true /hast-util-to-html/8.0.3: @@ -4062,12 +3389,12 @@ packages: dependencies: '@types/hast': 2.3.4 ccount: 2.0.1 - comma-separated-tokens: 2.0.2 + comma-separated-tokens: 2.0.3 hast-util-is-element: 2.1.2 hast-util-whitespace: 2.0.0 html-void-elements: 2.0.1 - property-information: 6.1.1 - space-separated-tokens: 2.0.1 + property-information: 6.2.0 + space-separated-tokens: 2.0.2 stringify-entities: 4.0.3 unist-util-is: 5.1.1 dev: true @@ -4078,9 +3405,9 @@ packages: '@types/hast': 2.3.4 '@types/parse5': 6.0.3 hast-to-hyperscript: 10.0.1 - property-information: 6.1.1 + property-information: 6.2.0 web-namespaces: 2.0.1 - zwitch: 2.0.2 + zwitch: 2.0.4 dev: true /hast-util-whitespace/2.0.0: @@ -4091,10 +3418,15 @@ packages: resolution: {integrity: sha512-uBjaTTLN0MkCZxY/R2fWUOcu7FRtUVzKRO5P/RAfgsu3yFiMB1JWCO4AjeVkgHxAira1f2UecHK5WfS9QurlWA==} dependencies: '@types/hast': 2.3.4 - comma-separated-tokens: 2.0.2 + comma-separated-tokens: 2.0.3 hast-util-parse-selector: 3.1.0 - property-information: 6.1.1 - space-separated-tokens: 2.0.1 + property-information: 6.2.0 + space-separated-tokens: 2.0.2 + dev: true + + /he/1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true dev: true /heimdalljs-logger/0.1.10: @@ -4112,6 +3444,12 @@ packages: rsvp: 3.2.1 dev: true + /heroiconsvelte/0.1.5: + resolution: {integrity: sha512-OX3QfrT3Vbf8ERh89IxCGcpcK0hU4HhLtkG2WVQKrejuHhJrkvWm0p16LMqtCbvlw3lcaXDMQtwpeDHlr50p1w==} + dependencies: + heroicons: github.com/tailwindlabs/heroicons/1511059c0584aa0d2690cb89c01b183c4ae011d7 + dev: false + /homedir-polyfill/1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -4123,12 +3461,18 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /html-entities/2.3.3: - resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} - dev: true - - /html-escaper/3.0.3: - resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + /html-minifier-terser/6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.1 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.16.1 dev: true /html-tags/3.2.0: @@ -4199,16 +3543,12 @@ packages: safer-buffer: 2.1.2 dev: true - /ieee754/1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true - /iferr/0.1.5: resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==} dev: true - /ignore/5.2.0: - resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} + /ignore/5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} dev: true @@ -4233,10 +3573,6 @@ packages: engines: {node: '>=4'} dev: true - /import-meta-resolve/2.1.0: - resolution: {integrity: sha512-yG9pxkWJVTy4cmRsNWE3ztFdtFuYIV8G4N+cbCkO8b+qngkLyIUhxQFuZ0qJm67+0nUOxjMPT7nfksPKza1v2g==} - dev: true - /imurmurhash/0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -4285,8 +3621,8 @@ packages: through: 2.3.8 dev: true - /internal-slot/1.0.3: - resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + /internal-slot/1.0.4: + resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==} engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.1.3 @@ -4298,15 +3634,12 @@ packages: resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} dev: true - /is-alphabetical/2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - dev: true - - /is-alphanumerical/2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + /is-arguments/1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} dependencies: - is-alphabetical: 2.0.1 - is-decimal: 2.0.1 + call-bind: 1.0.2 + has-tostringtag: 1.0.0 dev: true /is-bigint/1.0.4: @@ -4360,22 +3693,6 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-decimal/2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - dev: true - - /is-docker/2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - - /is-docker/3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: true - /is-extendable/0.1.1: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} @@ -4408,10 +3725,6 @@ packages: is-extglob: 2.1.1 dev: true - /is-hexadecimal/2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - dev: true - /is-html/2.0.0: resolution: {integrity: sha512-S+OpgB5i7wzIue/YSE5hg0e5ZYfG3hhpNh9KGl6ayJ38p7ED6wxQLd1TV91xHpcTvw90KMJ9EwN3F/iNflHBVg==} engines: {node: '>=8'} @@ -4427,9 +3740,8 @@ packages: is-path-inside: 1.0.1 dev: true - /is-interactive/2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} + /is-map/2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} dev: true /is-negative-zero/2.0.2: @@ -4494,6 +3806,10 @@ packages: engines: {node: '>=0.10.0'} dev: true + /is-set/2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + /is-shared-array-buffer/1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: @@ -4524,9 +3840,19 @@ packages: has-symbols: 1.0.3 dev: true - /is-unicode-supported/1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} + /is-typed-array/1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /is-weakmap/2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} dev: true /is-weakref/1.0.2: @@ -4535,6 +3861,13 @@ packages: call-bind: 1.0.2 dev: true + /is-weakset/2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.3 + dev: true + /is-windows/0.2.0: resolution: {integrity: sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==} engines: {node: '>=0.10.0'} @@ -4545,17 +3878,14 @@ packages: engines: {node: '>=4'} dev: true - /is-wsl/2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - /isarray/1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true + /isarray/2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + /isexe/2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true @@ -4585,22 +3915,25 @@ packages: textextensions: 2.6.0 dev: true - /js-sdsl/4.1.5: - resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==} + /jake/10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: true + + /js-sdsl/4.2.0: + resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==} dev: true /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true - /js-yaml/3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - /js-yaml/4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -4626,20 +3959,12 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json-stringify-safe/5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true - - /json5/2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + /json5/2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true dev: true - /jsonc-parser/2.3.1: - resolution: {integrity: sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==} - dev: true - /jsonc-parser/3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} dev: true @@ -4656,6 +3981,14 @@ packages: graceful-fs: 4.2.10 dev: true + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.10 + dev: true + /jsx-ast-utils/3.3.3: resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} engines: {node: '>=4.0'} @@ -4668,16 +4001,6 @@ packages: resolution: {integrity: sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q==} dev: true - /kind-of/6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true - - /kleur/3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true - /kleur/4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} @@ -4707,11 +4030,6 @@ packages: type-check: 0.4.0 dev: true - /lilconfig/2.0.5: - resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} - engines: {node: '>=10'} - dev: true - /lilconfig/2.0.6: resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} engines: {node: '>=10'} @@ -4724,8 +4042,8 @@ packages: isobject: 2.1.0 dev: true - /lint-staged/13.0.3: - resolution: {integrity: sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug==} + /lint-staged/13.1.0: + resolution: {integrity: sha512-pn/sR8IrcF/T0vpWLilih8jmVouMlxqXxKuAojmbiGX5n/gDnz+abdPptlj0vYnbfE0SQNl3CY/HwtM0+yfOVQ==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: @@ -4734,22 +4052,22 @@ packages: commander: 9.4.1 debug: 4.3.4 execa: 6.1.0 - lilconfig: 2.0.5 - listr2: 4.0.5 + lilconfig: 2.0.6 + listr2: 5.0.6 micromatch: 4.0.5 normalize-path: 3.0.0 object-inspect: 1.12.2 pidtree: 0.6.0 string-argv: 0.3.1 - yaml: 2.1.3 + yaml: 2.2.1 transitivePeerDependencies: - enquirer - supports-color dev: true - /listr2/4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} + /listr2/5.0.6: + resolution: {integrity: sha512-u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag==} + engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -4761,28 +4079,11 @@ packages: log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.5.7 + rxjs: 7.8.0 through: 2.3.8 wrap-ansi: 7.0.0 dev: true - /load-yaml-file/0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - dependencies: - graceful-fs: 4.2.10 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - dev: true - - /locate-path/5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - /locate-path/6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -4797,6 +4098,10 @@ packages: p-locate: 6.0.0 dev: true + /lodash.camelcase/4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: true + /lodash.castarray/4.4.0: resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==} dev: true @@ -4824,14 +4129,6 @@ packages: chalk: 2.4.2 dev: true - /log-symbols/5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} - dependencies: - chalk: 5.1.2 - is-unicode-supported: 1.3.0 - dev: true - /log-update/4.0.0: resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} engines: {node: '>=10'} @@ -4842,8 +4139,8 @@ packages: wrap-ansi: 6.2.0 dev: true - /longest-streak/3.0.1: - resolution: {integrity: sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==} + /longest-streak/3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} dev: true /loose-envify/1.4.0: @@ -4871,6 +4168,12 @@ packages: yallist: 2.1.2 dev: true + /lru-cache/5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -4889,11 +4192,11 @@ packages: sourcemap-codec: 1.4.8 dev: true - /magic-string/0.26.7: - resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} + /magic-string/0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} dependencies: - sourcemap-codec: 1.4.8 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /make-dir/1.3.0: @@ -4921,23 +4224,12 @@ packages: - supports-color dev: true - /markdown-table/3.0.2: - resolution: {integrity: sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==} - dev: true - /matcher-collection/1.1.2: resolution: {integrity: sha512-YQ/teqaOIIfUHedRam08PB3NK7Mjct6BvzRnJmpGDm8uFXpNr1sbY4yuflI5JcEs6COpYA0FpRQhSDBf1tT95g==} dependencies: minimatch: 3.1.2 dev: true - /matcher/3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 4.0.0 - dev: true - /mdast-util-definitions/5.1.1: resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==} dependencies: @@ -4946,14 +4238,6 @@ packages: unist-util-visit: 4.1.1 dev: true - /mdast-util-find-and-replace/2.2.1: - resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==} - dependencies: - escape-string-regexp: 5.0.0 - unist-util-is: 5.1.1 - unist-util-visit-parents: 5.1.1 - dev: true - /mdast-util-from-markdown/1.2.0: resolution: {integrity: sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==} dependencies: @@ -4973,89 +4257,8 @@ packages: - supports-color dev: true - /mdast-util-gfm-autolink-literal/1.0.2: - resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==} - dependencies: - '@types/mdast': 3.0.10 - ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.1 - micromark-util-character: 1.1.0 - dev: true - - /mdast-util-gfm-footnote/1.0.1: - resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==} - dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.3.0 - micromark-util-normalize-identifier: 1.0.0 - dev: true - - /mdast-util-gfm-strikethrough/1.0.2: - resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==} - dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.3.0 - dev: true - - /mdast-util-gfm-table/1.0.6: - resolution: {integrity: sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==} - dependencies: - '@types/mdast': 3.0.10 - markdown-table: 3.0.2 - mdast-util-from-markdown: 1.2.0 - mdast-util-to-markdown: 1.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /mdast-util-gfm-task-list-item/1.0.1: - resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==} - dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.3.0 - dev: true - - /mdast-util-gfm/2.0.1: - resolution: {integrity: sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==} - dependencies: - mdast-util-from-markdown: 1.2.0 - mdast-util-gfm-autolink-literal: 1.0.2 - mdast-util-gfm-footnote: 1.0.1 - mdast-util-gfm-strikethrough: 1.0.2 - mdast-util-gfm-table: 1.0.6 - mdast-util-gfm-task-list-item: 1.0.1 - mdast-util-to-markdown: 1.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /mdast-util-mdx-expression/1.3.1: - resolution: {integrity: sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==} - dependencies: - '@types/estree-jsx': 1.0.0 - '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 - mdast-util-from-markdown: 1.2.0 - mdast-util-to-markdown: 1.3.0 - transitivePeerDependencies: - - supports-color - dev: true - - /mdast-util-mdx-jsx/1.2.0: - resolution: {integrity: sha512-5+ot/kfxYd3ChgEMwsMUO71oAfYjyRI3pADEK4I7xTmWLGQ8Y7ghm1CG36zUoUvDPxMlIYwQV/9DYHAUWdG4dA==} - dependencies: - '@types/estree-jsx': 0.0.1 - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.3.0 - parse-entities: 4.0.0 - stringify-entities: 4.0.3 - unist-util-remove-position: 4.0.1 - unist-util-stringify-position: 3.0.2 - vfile-message: 3.1.2 - dev: true - - /mdast-util-to-hast/12.2.4: - resolution: {integrity: sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==} + /mdast-util-to-hast/12.2.5: + resolution: {integrity: sha512-EFNhT35ZR/VZ85/EedDdCNTq0oFM+NM/+qBomVGQ0+Lcg0nhI8xIwmdCzNMlVlCJNXRprpobtKP/IUh8cfz6zQ==} dependencies: '@types/hast': 2.3.4 '@types/mdast': 3.0.10 @@ -5068,24 +4271,24 @@ packages: unist-util-visit: 4.1.1 dev: true - /mdast-util-to-markdown/1.3.0: - resolution: {integrity: sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==} + /mdast-util-to-markdown/1.4.0: + resolution: {integrity: sha512-IjXARf/O8VGx/pc5SZ7syfydq1DYL9vd92orsG5U0b4GNCmAvXzu+n7sbzfIKrXwB0AVrYk3NV2kXl0AIi9LCA==} dependencies: '@types/mdast': 3.0.10 '@types/unist': 2.0.6 - longest-streak: 3.0.1 + longest-streak: 3.1.0 mdast-util-to-string: 3.1.0 micromark-util-decode-string: 1.0.2 unist-util-visit: 4.1.1 - zwitch: 2.0.2 + zwitch: 2.0.4 dev: true /mdast-util-to-string/3.1.0: resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==} dev: true - /mdn-data/2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + /mdn-data/2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} dev: true /merge-stream/2.0.0: @@ -5133,97 +4336,6 @@ packages: uvu: 0.5.6 dev: true - /micromark-extension-gfm-autolink-literal/1.0.3: - resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-footnote/1.0.4: - resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==} - dependencies: - micromark-core-commonmark: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-strikethrough/1.0.4: - resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==} - dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-classify-character: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-table/1.0.5: - resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-tagfilter/1.0.1: - resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==} - dependencies: - micromark-util-types: 1.0.2 - dev: true - - /micromark-extension-gfm-task-list-item/1.0.3: - resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm/2.0.1: - resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==} - dependencies: - micromark-extension-gfm-autolink-literal: 1.0.3 - micromark-extension-gfm-footnote: 1.0.4 - micromark-extension-gfm-strikethrough: 1.0.4 - micromark-extension-gfm-table: 1.0.5 - micromark-extension-gfm-tagfilter: 1.0.1 - micromark-extension-gfm-task-list-item: 1.0.3 - micromark-util-combine-extensions: 1.0.0 - micromark-util-types: 1.0.2 - dev: true - - /micromark-extension-mdx-expression/1.0.3: - resolution: {integrity: sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==} - dependencies: - micromark-factory-mdx-expression: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-events-to-acorn: 1.2.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-mdx-md/1.0.0: - resolution: {integrity: sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==} - dependencies: - micromark-util-types: 1.0.2 - dev: true - /micromark-factory-destination/1.0.0: resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} dependencies: @@ -5241,19 +4353,6 @@ packages: uvu: 0.5.6 dev: true - /micromark-factory-mdx-expression/1.0.6: - resolution: {integrity: sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-events-to-acorn: 1.2.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - unist-util-position-from-estree: 1.1.1 - uvu: 0.5.6 - vfile-message: 3.1.2 - dev: true - /micromark-factory-space/1.0.0: resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} dependencies: @@ -5327,18 +4426,6 @@ packages: resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} dev: true - /micromark-util-events-to-acorn/1.2.0: - resolution: {integrity: sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==} - dependencies: - '@types/acorn': 4.0.6 - '@types/estree': 1.0.0 - estree-util-visit: 1.2.0 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - vfile-location: 4.0.1 - vfile-message: 3.1.2 - dev: true - /micromark-util-html-tag-name/1.1.0: resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} dev: true @@ -5412,12 +4499,6 @@ packages: picomatch: 2.3.1 dev: true - /mime/3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - dev: true - /mimer/1.1.0: resolution: {integrity: sha512-y9dVfy2uiycQvDNiAYW6zp49ZhFlXDMr5wfdOiMbdzGM/0N5LNR6HTUn3un+WUQcM0koaw8FMTG1bt5EnHJdvQ==} engines: {node: '>= 6.0'} @@ -5450,6 +4531,20 @@ packages: brace-expansion: 1.1.11 dev: true + /minimatch/5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch/5.1.2: + resolution: {integrity: sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist/1.2.7: resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} dev: true @@ -5513,11 +4608,6 @@ packages: engines: {node: '>=4'} dev: true - /mrmime/1.0.1: - resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} - engines: {node: '>=10'} - dev: true - /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true @@ -5552,12 +4642,6 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /nlcst-to-string/3.1.0: - resolution: {integrity: sha512-Y8HQWKw/zrHTCnu2zcFBN1dV6vN0NUG7s5fkEj380G8tF3R+vA2KG+tDl2QoHVQCTHGHVXwoni2RQkDSFQb1PA==} - dependencies: - '@types/nlcst': 1.0.0 - dev: true - /no-case/3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: @@ -5565,11 +4649,6 @@ packages: tslib: 2.4.1 dev: true - /node-domexception/1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true - /node-fetch-npm/2.0.4: resolution: {integrity: sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==} engines: {node: '>=4'} @@ -5580,17 +4659,15 @@ packages: safe-buffer: 5.2.1 dev: true - /node-fetch/3.3.0: - resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /node-html-parser/5.4.2: + resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==} dependencies: - data-uri-to-buffer: 4.0.0 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 + css-select: 4.3.0 + he: 1.2.0 dev: true - /node-releases/2.0.6: - resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + /node-releases/2.0.8: + resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==} dev: true /normalize-package-data/2.5.0: @@ -5662,6 +4739,14 @@ packages: resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} dev: true + /object-is/1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + dev: true + /object-keys/1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -5683,7 +4768,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 dev: true /object.fromentries/2.0.6: @@ -5692,14 +4777,14 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 dev: true /object.hasown/1.1.2: resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} dependencies: define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 dev: true /object.values/1.1.6: @@ -5708,7 +4793,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 dev: true /once/1.4.0: @@ -5745,15 +4830,6 @@ packages: is-wsl: 1.1.0 dev: true - /open/8.4.0: - resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} - engines: {node: '>=12'} - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - /optionator/0.9.1: resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} engines: {node: '>= 0.8.0'} @@ -5776,21 +4852,6 @@ packages: log-symbols: 2.2.0 dev: true - /ora/6.1.2: - resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - bl: 5.1.0 - chalk: 5.1.2 - cli-cursor: 4.0.0 - cli-spinners: 2.7.0 - is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - strip-ansi: 7.0.1 - wcwidth: 1.0.1 - dev: true - /os-homedir/1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} @@ -5813,13 +4874,6 @@ packages: engines: {node: '>=4'} dev: true - /p-limit/2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - /p-limit/3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -5834,13 +4888,6 @@ packages: yocto-queue: 1.0.0 dev: true - /p-locate/4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - /p-locate/5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -5862,11 +4909,6 @@ packages: aggregate-error: 3.1.0 dev: true - /p-try/2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true - /package-json/4.0.1: resolution: {integrity: sha512-q/R5GrMek0vzgoomq6rm9OX+3PQve8sLwTirmK30YB3Cu0Bbt9OX9M/SIUnroN5BGJkzwGsFwDaRGD9EwBOlCA==} engines: {node: '>=4'} @@ -5913,6 +4955,13 @@ packages: readable-stream: 2.3.7 dev: true + /param-case/3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.4.1 + dev: true + /parent-module/1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -5920,19 +4969,6 @@ packages: callsites: 3.1.0 dev: true - /parse-entities/4.0.0: - resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==} - dependencies: - '@types/unist': 2.0.6 - character-entities: 2.0.2 - character-entities-legacy: 3.0.0 - character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 - is-alphanumerical: 2.0.1 - is-decimal: 2.0.1 - is-hexadecimal: 2.0.1 - dev: true - /parse-git-config/0.2.0: resolution: {integrity: sha512-amapZFADOJtHvX2URcRfbzG2OFcW+UAwmdK2kht2N2vsH5Py65VxI5yZTlD2DjmxVhTz6htFoVCxROYUJaYOXQ==} engines: {node: '>=0.10.0'} @@ -5950,12 +4986,8 @@ packages: ini: 1.3.8 dev: true - /parse-latin/5.0.1: - resolution: {integrity: sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==} - dependencies: - nlcst-to-string: 3.1.0 - unist-util-modify-children: 3.1.0 - unist-util-visit-children: 2.0.1 + /parse-numeric-range/1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} dev: true /parse-passwd/1.0.0: @@ -5984,10 +5016,6 @@ packages: tslib: 2.4.1 dev: true - /path-browserify/1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: true - /path-exists/4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -6042,15 +5070,15 @@ packages: path-root-regex: 0.1.2 dev: true - /path-to-regexp/6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - dev: true - /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} dev: true + /pathe/0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + dev: true + /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true @@ -6076,18 +5104,6 @@ packages: engines: {node: '>=4'} dev: true - /pify/4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: true - - /pkg-dir/4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - /pkg-dir/6.0.1: resolution: {integrity: sha512-C9R+PTCKGA32HG0n5I4JMYkdLL58ZpayVuncQHQrGeKa8o26A4o2x0u6BKekHG+Au0jv5ZW7Xfq1Cj6lm9Ag4w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -6102,29 +5118,29 @@ packages: find-up: 6.3.0 dev: true - /postcss-import/14.1.0_postcss@8.4.19: + /postcss-import/14.1.0_postcss@8.4.20: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.19 + postcss: 8.4.20 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 dev: true - /postcss-js/4.0.0_postcss@8.4.19: + /postcss-js/4.0.0_postcss@8.4.20: resolution: {integrity: sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.3.3 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.19 + postcss: 8.4.20 dev: true - /postcss-load-config/3.1.4_postcss@8.4.19: + /postcss-load-config/3.1.4_postcss@8.4.20: resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -6137,18 +5153,18 @@ packages: optional: true dependencies: lilconfig: 2.0.6 - postcss: 8.4.19 + postcss: 8.4.20 yaml: 1.10.2 dev: true - /postcss-nested/6.0.0_postcss@8.4.19: + /postcss-nested/6.0.0_postcss@8.4.20: resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.19 - postcss-selector-parser: 6.0.10 + postcss: 8.4.20 + postcss-selector-parser: 6.0.11 dev: true /postcss-selector-parser/6.0.10: @@ -6159,12 +5175,20 @@ packages: util-deprecate: 1.0.2 dev: true + /postcss-selector-parser/6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + /postcss-value-parser/4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.4.19: - resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} + /postcss/8.4.20: + resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.4 @@ -6172,16 +5196,6 @@ packages: source-map-js: 1.0.2 dev: true - /preferred-pm/3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} - engines: {node: '>=10'} - dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.0.0 - dev: true - /prelude-ls/1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -6199,37 +5213,22 @@ packages: fast-diff: 1.2.0 dev: true - /prettier-plugin-astro/0.7.0: - resolution: {integrity: sha512-ehCUx7MqHWvkHwUmxxAWLsL35pFaCTM5YXQ8xjG/1W6dY2yBhvEks+2aCfjeI5zmMrZNCXkiMQtpznSlLSLrxw==} - engines: {node: ^14.15.0 || >=16.0.0, npm: '>=6.14.0'} - dependencies: - '@astrojs/compiler': 0.29.13 - prettier: 2.7.1 - sass-formatter: 0.7.5 - synckit: 0.8.4 - dev: true - - /prettier-plugin-svelte/2.8.0_nryolsexf6k3znhuh4uzpugsem: - resolution: {integrity: sha512-QlXv/U3bUszks3XYDPsk1fsaQC+fo2lshwKbcbO+lrSVdJ+40mB1BfL8OCAk1W9y4pJxpqO/4gqm6NtF3zNGCw==} + /prettier-plugin-svelte/2.9.0_ajxj753sv7dbwexjherrch25ta: + resolution: {integrity: sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 dependencies: - prettier: 2.7.1 - svelte: 3.53.1 + prettier: 2.8.1 + svelte: 3.55.0 dev: true - /prettier/2.7.1: - resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + /prettier/2.8.1: + resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} engines: {node: '>=10.13.0'} hasBin: true dev: true - /prismjs/1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} - dev: true - /process-nextick-args/2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true @@ -6259,14 +5258,6 @@ packages: retry: 0.10.1 dev: true - /prompts/2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - dependencies: - kleur: 3.0.3 - sisteransi: 1.0.5 - dev: true - /prop-types/15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: @@ -6275,8 +5266,8 @@ packages: react-is: 16.13.1 dev: true - /property-information/6.1.1: - resolution: {integrity: sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==} + /property-information/6.2.0: + resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} dev: true /protoduck/4.0.0: @@ -6339,6 +5330,10 @@ packages: underscore.string: 3.3.6 dev: true + /radix3/1.0.0: + resolution: {integrity: sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==} + dev: false + /rc/1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -6378,15 +5373,6 @@ packages: util-deprecate: 1.0.2 dev: true - /readable-stream/3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -6394,16 +5380,6 @@ packages: picomatch: 2.3.1 dev: true - /recast/0.20.5: - resolution: {integrity: sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==} - engines: {node: '>= 4'} - dependencies: - ast-types: 0.14.2 - esprima: 4.0.1 - source-map: 0.6.1 - tslib: 2.4.1 - dev: true - /regexp.prototype.flags/1.4.3: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} @@ -6432,20 +5408,11 @@ packages: rc: 1.2.8 dev: true - /rehype-parse/8.0.4: - resolution: {integrity: sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==} - dependencies: - '@types/hast': 2.3.4 - hast-util-from-parse5: 7.1.0 - parse5: 6.0.1 - unified: 10.1.2 - dev: true - /rehype-raw/6.1.1: resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} dependencies: '@types/hast': 2.3.4 - hast-util-raw: 7.2.2 + hast-util-raw: 7.2.3 unified: 10.1.2 dev: true @@ -6457,24 +5424,9 @@ packages: unified: 10.1.2 dev: true - /rehype/12.0.1: - resolution: {integrity: sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==} - dependencies: - '@types/hast': 2.3.4 - rehype-parse: 8.0.4 - rehype-stringify: 9.0.3 - unified: 10.1.2 - dev: true - - /remark-gfm/3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} - dependencies: - '@types/mdast': 3.0.10 - mdast-util-gfm: 2.0.1 - micromark-extension-gfm: 2.0.1 - unified: 10.1.2 - transitivePeerDependencies: - - supports-color + /relateurl/0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} dev: true /remark-parse/10.0.1: @@ -6492,24 +5444,15 @@ packages: dependencies: '@types/hast': 2.3.4 '@types/mdast': 3.0.10 - mdast-util-to-hast: 12.2.4 + mdast-util-to-hast: 12.2.5 unified: 10.1.2 dev: true - /remark-smartypants/2.0.0: - resolution: {integrity: sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - retext: 8.1.0 - retext-smartypants: 5.2.0 - unist-util-visit: 4.1.1 - dev: true - /remark-stringify/10.0.2: resolution: {integrity: sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==} dependencies: '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.3.0 + mdast-util-to-markdown: 1.4.0 unified: 10.1.2 dev: true @@ -6605,49 +5548,6 @@ packages: signal-exit: 3.0.7 dev: true - /restore-cursor/4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /retext-latin/3.1.0: - resolution: {integrity: sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==} - dependencies: - '@types/nlcst': 1.0.0 - parse-latin: 5.0.1 - unherit: 3.0.0 - unified: 10.1.2 - dev: true - - /retext-smartypants/5.2.0: - resolution: {integrity: sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==} - dependencies: - '@types/nlcst': 1.0.0 - nlcst-to-string: 3.1.0 - unified: 10.1.2 - unist-util-visit: 4.1.1 - dev: true - - /retext-stringify/3.1.0: - resolution: {integrity: sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==} - dependencies: - '@types/nlcst': 1.0.0 - nlcst-to-string: 3.1.0 - unified: 10.1.2 - dev: true - - /retext/8.1.0: - resolution: {integrity: sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==} - dependencies: - '@types/nlcst': 1.0.0 - retext-latin: 3.1.0 - retext-stringify: 3.1.0 - unified: 10.1.2 - dev: true - /retry/0.10.1: resolution: {integrity: sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==} dev: true @@ -6675,21 +5575,9 @@ packages: glob: 7.2.3 dev: true - /roarr/2.15.4: - resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} - engines: {node: '>=8.0'} - dependencies: - boolean: 3.2.0 - detect-node: 2.1.0 - globalthis: 1.0.3 - json-stringify-safe: 5.0.1 - semver-compare: 1.0.0 - sprintf-js: 1.1.2 - dev: true - - /rollup/2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} + /rollup/3.9.1: + resolution: {integrity: sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.2 @@ -6728,16 +5616,12 @@ packages: tslib: 1.14.1 dev: true - /rxjs/7.5.7: - resolution: {integrity: sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==} + /rxjs/7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} dependencies: tslib: 2.4.1 dev: true - /s.color/0.0.15: - resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==} - dev: true - /sade/1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -6774,24 +5658,6 @@ packages: rimraf: 2.7.1 dev: true - /sass-formatter/0.7.5: - resolution: {integrity: sha512-NKFP8ddjhUYi6A/iD1cEtzkEs91U61kzqe3lY9SVNuvX7LGc88xnEN0mmsWL7Ol//YTi2GL/ol7b9XZ2+hgXuA==} - dependencies: - suf-log: 2.5.3 - dev: true - - /section-matter/1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - dev: true - - /semver-compare/1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - dev: true - /semver-diff/2.1.0: resolution: {integrity: sha512-gL8F8L4ORwsS0+iQ34yCYv///jsOq0ZL7WP55d1HnJ32o7tyFYEFQZQA22mrLIacZdU6xecaBBZ+uEiffGNyXw==} engines: {node: '>=0.10.0'} @@ -6817,13 +5683,6 @@ packages: lru-cache: 6.0.0 dev: true - /serialize-error/7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.13.1 - dev: true - /shebang-command/1.2.0: resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} engines: {node: '>=0.10.0'} @@ -6848,12 +5707,12 @@ packages: engines: {node: '>=8'} dev: true - /shiki/0.11.1: - resolution: {integrity: sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==} + /shiki/0.12.1: + resolution: {integrity: sha512-aieaV1m349rZINEBkjxh2QbBvFFQOlgqYTNtCal82hHj4dDZ76oMlQIX+C7ryerBTDiga3e5NfH6smjdJ02BbQ==} dependencies: jsonc-parser: 3.2.0 - vscode-oniguruma: 1.6.2 - vscode-textmate: 6.0.0 + vscode-oniguruma: 1.7.0 + vscode-textmate: 8.0.0 dev: true /shortid/2.2.16: @@ -6886,29 +5745,11 @@ packages: resolution: {integrity: sha512-C2WEK/Z3HoSFbYq8tI7ni3eOo/NneSPRoPpcM7WdLjFOArFuyXEjAoCdOC3DgMfRyziZQ1hCNR4mrNdWEvD0og==} dev: true - /sirv/2.0.2: - resolution: {integrity: sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==} - engines: {node: '>= 10'} - dependencies: - '@polka/url': 1.0.0-next.21 - mrmime: 1.0.1 - totalist: 3.0.0 - dev: true - - /sisteransi/1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true - /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} dev: true - /slash/4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true - /slice-ansi/3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} engines: {node: '>=8'} @@ -6978,22 +5819,25 @@ packages: engines: {node: '>=0.10.0'} dev: true + /source-map-support/0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + /source-map/0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} dev: true - /source-map/0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - dev: true - /sourcemap-codec/1.4.8: resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead dev: true - /space-separated-tokens/2.0.1: - resolution: {integrity: sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==} + /space-separated-tokens/2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} dev: true /spdx-correct/3.1.1: @@ -7018,10 +5862,6 @@ packages: resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} dev: true - /sprintf-js/1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - /sprintf-js/1.1.2: resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} dev: true @@ -7085,10 +5925,10 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 get-intrinsic: 1.1.3 has-symbols: 1.0.3 - internal-slot: 1.0.3 + internal-slot: 1.0.4 regexp.prototype.flags: 1.4.3 side-channel: 1.0.4 dev: true @@ -7098,7 +5938,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 dev: true /string.prototype.trimstart/1.0.6: @@ -7106,7 +5946,7 @@ packages: dependencies: call-bind: 1.0.2 define-properties: 1.1.4 - es-abstract: 1.20.4 + es-abstract: 1.20.5 dev: true /string_decoder/1.1.1: @@ -7115,12 +5955,6 @@ packages: safe-buffer: 5.1.2 dev: true - /string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: true - /stringify-entities/4.0.3: resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} dependencies: @@ -7156,21 +5990,6 @@ packages: ansi-regex: 6.0.1 dev: true - /strip-bom-string/1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - dev: true - - /strip-bom/3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-bom/4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true - /strip-eof/1.0.0: resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} engines: {node: '>=0.10.0'} @@ -7204,12 +6023,6 @@ packages: inline-style-parser: 0.1.1 dev: true - /suf-log/2.5.3: - resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} - dependencies: - s.color: 0.0.15 - dev: true - /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -7224,41 +6037,34 @@ packages: has-flag: 4.0.0 dev: true - /supports-esm/1.0.0: - resolution: {integrity: sha512-96Am8CDqUaC0I2+C/swJ0yEvM8ZnGn4unoers/LSdE4umhX7mELzqyLzx3HnZAluq5PXIsGMKqa7NkqaeHMPcg==} - dependencies: - has-package-exports: 1.3.0 - dev: true - /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} dev: true - /svelte-hmr/0.15.0_svelte@3.53.1: - resolution: {integrity: sha512-Aw21SsyoohyVn4yiKXWPNCSW2DQNH/76kvUnE9kpt4h9hcg9tfyQc6xshx9hzgMfGF0kVx0EGD8oBMWSnATeOg==} + /svelte-hmr/0.15.1_svelte@3.55.0: + resolution: {integrity: sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: '>=3.19.0' dependencies: - svelte: 3.53.1 + svelte: 3.55.0 dev: true - /svelte-preprocess/4.10.7_cwqoy5ciyt3s22baemw6luffyq: - resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} - engines: {node: '>= 9.11.2'} + /svelte-preprocess/5.0.0_ab723qfmzcya2vdx7wgpbps36u: + resolution: {integrity: sha512-q7lpa7i2FBu8Pa+G0MmuQQWETBwCKgsGmuq1Sf6n8q4uaG9ZLcLP0Y+etC6bF4sE6EbLxfiI38zV6RfPe3RSfg==} + engines: {node: '>= 14.10.0'} requiresBuild: true peerDependencies: '@babel/core': ^7.10.2 coffeescript: ^2.5.1 less: ^3.11.3 || ^4.0.0 - node-sass: '*' postcss: ^7 || ^8 postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 pug: ^3.0.0 sass: ^1.26.8 stylus: ^0.55.0 - sugarss: ^2.0.0 + sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 svelte: ^3.23.0 typescript: ^3.9.5 || ^4.0.0 peerDependenciesMeta: @@ -7268,8 +6074,6 @@ packages: optional: true less: optional: true - node-sass: - optional: true postcss: optional: true postcss-load-config: @@ -7285,34 +6089,21 @@ packages: typescript: optional: true dependencies: + '@babel/core': 7.20.7 '@types/pug': 2.0.6 '@types/sass': 1.43.1 detect-indent: 6.1.0 - magic-string: 0.25.9 - postcss: 8.4.19 - postcss-load-config: 3.1.4_postcss@8.4.19 + magic-string: 0.27.0 + postcss: 8.4.20 sorcery: 0.10.0 strip-indent: 3.0.0 - svelte: 3.53.1 - typescript: 4.8.4 + svelte: 3.55.0 + typescript: 4.9.4 dev: true - /svelte/3.53.1: - resolution: {integrity: sha512-Q4/hHkktZogGhN5iqxqSi9sjEVoe/NbIxX4hXEHoasTxj+TxEQVAq66LnDMdAZxjmsodkoI5F3slqsS68U7FNw==} + /svelte/3.55.0: + resolution: {integrity: sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA==} engines: {node: '>= 8'} - dev: true - - /svelte2tsx/0.5.20_f4bsrsgtzvlkrtbz2ig7nipio4: - resolution: {integrity: sha512-yNHmN/uoAnJ7d1XqVohiNA6TMFOxibHyEddUAHVt1PiLXtbwAJF3WaGYlg8QbOdoXzOVsVNCAlqRUIdULUm+OA==} - peerDependencies: - svelte: ^3.24 - typescript: ^4.1.2 - dependencies: - dedent-js: 1.0.1 - pascal-case: 3.1.2 - svelte: 3.53.1 - typescript: 4.8.4 - dev: true /symlink-or-copy/1.3.1: resolution: {integrity: sha512-0K91MEXFpBUaywiwSSkmKjnGcasG/rVBXFLJz5DrgGabpYD6N+3yZrfD6uUIfpuTu65DZLHi7N8CizHc07BPZA==} @@ -7330,15 +6121,7 @@ packages: - supports-color dev: true - /synckit/0.8.4: - resolution: {integrity: sha512-Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/utils': 2.3.1 - tslib: 2.4.1 - dev: true - - /tailwindcss/3.2.4_postcss@8.4.19: + /tailwindcss/3.2.4_postcss@8.4.20: resolution: {integrity: sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==} engines: {node: '>=12.13.0'} hasBin: true @@ -7359,12 +6142,12 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.19 - postcss-import: 14.1.0_postcss@8.4.19 - postcss-js: 4.0.0_postcss@8.4.19 - postcss-load-config: 3.1.4_postcss@8.4.19 - postcss-nested: 6.0.0_postcss@8.4.19 - postcss-selector-parser: 6.0.10 + postcss: 8.4.20 + postcss-import: 14.1.0_postcss@8.4.20 + postcss-js: 4.0.0_postcss@8.4.20 + postcss-load-config: 3.1.4_postcss@8.4.20 + postcss-nested: 6.0.0_postcss@8.4.20 + postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 quick-lru: 5.1.1 resolve: 1.22.1 @@ -7401,6 +6184,17 @@ packages: execa: 0.7.0 dev: true + /terser/5.16.1: + resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.8.1 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + /text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -7426,13 +6220,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /tiny-glob/0.2.9: - resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} - dependencies: - globalyzer: 0.1.0 - globrex: 0.1.2 - dev: true - /tmp/0.0.28: resolution: {integrity: sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==} engines: {node: '>=0.4.0'} @@ -7463,11 +6250,6 @@ packages: is-number: 7.0.0 dev: true - /totalist/3.0.0: - resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} - engines: {node: '>=6'} - dev: true - /tree-sync/1.4.0: resolution: {integrity: sha512-YvYllqh3qrR5TAYZZTXdspnIhlKAYezPYw11ntmweoceu4VK+keN356phHRIIo1d+RDmLpHZrUlmxga2gc9kSQ==} dependencies: @@ -7488,17 +6270,6 @@ packages: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: true - /tsconfig-resolver/3.0.1: - resolution: {integrity: sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==} - dependencies: - '@types/json5': 0.0.30 - '@types/resolve': 1.20.2 - json5: 2.2.1 - resolve: 1.22.1 - strip-bom: 4.0.0 - type-fest: 0.13.1 - dev: true - /tslib/1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true @@ -7507,22 +6278,14 @@ packages: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} dev: true - /tsm/2.2.2: - resolution: {integrity: sha512-bXkt675NbbqfwRHSSn8kSNEEHvoIUFDM9G6tUENkjEKpAEbrEzieO3PxUiRJylMw8fEGpcf5lSjadzzz12pc2A==} - engines: {node: '>=12'} - hasBin: true - dependencies: - esbuild: 0.14.54 - dev: true - - /tsutils/3.21.0_typescript@4.8.4: + /tsutils/3.21.0_typescript@4.9.4: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.8.4 + typescript: 4.9.4 dev: true /type-check/0.4.0: @@ -7532,11 +6295,6 @@ packages: prelude-ls: 1.2.1 dev: true - /type-fest/0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - dev: true - /type-fest/0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -7547,17 +6305,12 @@ packages: engines: {node: '>=10'} dev: true - /type-fest/2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - dev: true - /typedarray/0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typescript/4.8.4: - resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} + /typescript/4.9.4: + resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -7578,10 +6331,6 @@ packages: util-deprecate: 1.0.2 dev: true - /unherit/3.0.0: - resolution: {integrity: sha512-UmvIQZGEc9qdLIQ8mv8/61n6PiMgfbOoASPKHpCvII5srShCQSa6jSjBjlZOR4bxt2XnT6uo6csmPKRi+zQ0Jg==} - dev: true - /unified/10.1.2: resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} dependencies: @@ -7591,7 +6340,7 @@ packages: is-buffer: 2.0.5 is-plain-obj: 4.1.0 trough: 2.1.0 - vfile: 5.3.5 + vfile: 5.3.6 dev: true /unique-filename/1.1.1: @@ -7627,50 +6376,18 @@ packages: resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==} dev: true - /unist-util-map/3.1.2: - resolution: {integrity: sha512-WLA2R6x/UaopedG2poaWLShf5LCi+BNa6mMkACdjft23PHou4v85PvZItjbO2XgXvukMP365PlL/DrbuMgr3eg==} - dependencies: - '@types/unist': 2.0.6 - dev: true - - /unist-util-modify-children/3.1.0: - resolution: {integrity: sha512-L0UizdncPZ1NIwpmkwFdLo2NaK2Eb5LU/vaQ7lZGkAaOBZfsHp+8T/gVWPVmmMO1hj6gc+XeMoytut8jr7fdyA==} - dependencies: - '@types/unist': 2.0.6 - array-iterate: 2.0.1 - dev: true - - /unist-util-position-from-estree/1.1.1: - resolution: {integrity: sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==} - dependencies: - '@types/unist': 2.0.6 - dev: true - /unist-util-position/4.0.3: resolution: {integrity: sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-remove-position/4.0.1: - resolution: {integrity: sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==} - dependencies: - '@types/unist': 2.0.6 - unist-util-visit: 4.1.1 - dev: true - /unist-util-stringify-position/3.0.2: resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==} dependencies: '@types/unist': 2.0.6 dev: true - /unist-util-visit-children/2.0.1: - resolution: {integrity: sha512-2cEU3dhV1hMfO9ajwb8rJsDedMfsahsm6fCfR8LxDR/w7KcB5lzHQ9dBTQIXsWGNWBFH5MPmaFP3Xh0dWLqClQ==} - dependencies: - '@types/unist': 2.0.6 - dev: true - /unist-util-visit-parents/5.1.1: resolution: {integrity: sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==} dependencies: @@ -7691,6 +6408,11 @@ packages: engines: {node: '>= 4.0.0'} dev: true + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + /unzip-response/2.0.1: resolution: {integrity: sha512-N0XH6lqDtFH84JxptQoZYmloF4nzrQqqrAymNj+/gW60AO2AZgOcf4O/nUXJcYfyQkqvMo9lSupBZmmgvuVXlw==} engines: {node: '>=4'} @@ -7779,37 +6501,47 @@ packages: resolution: {integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==} dependencies: '@types/unist': 2.0.6 - vfile: 5.3.5 + vfile: 5.3.6 dev: true - /vfile-message/3.1.2: - resolution: {integrity: sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==} + /vfile-message/3.1.3: + resolution: {integrity: sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==} dependencies: '@types/unist': 2.0.6 unist-util-stringify-position: 3.0.2 dev: true - /vfile/5.3.5: - resolution: {integrity: sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==} + /vfile/5.3.6: + resolution: {integrity: sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==} dependencies: '@types/unist': 2.0.6 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.2 - vfile-message: 3.1.2 + vfile-message: 3.1.3 dev: true - /vite-plugin-full-reload/1.0.4_vite@3.2.3: - resolution: {integrity: sha512-9WejQII6zJ++m/YE173Zvl2jq4cqa404KNrVT+JDzDnqaGRq5UvOvA48fnsSWPIMXFV7S0dq5+sZqcSB+tKBgA==} + /vite-plugin-html/3.2.0_vite@4.0.3: + resolution: {integrity: sha512-2VLCeDiHmV/BqqNn5h2V+4280KRgQzCFN47cst3WiNK848klESPQnzuC3okH5XHtgwHH/6s1Ho/YV6yIO0pgoQ==} peerDependencies: - vite: ^2 || ^3 + vite: '>=2.0.0' dependencies: - picocolors: 1.0.0 - picomatch: 2.3.1 - vite: 3.2.3 + '@rollup/pluginutils': 4.2.1 + colorette: 2.0.19 + connect-history-api-fallback: 1.6.0 + consola: 2.15.3 + dotenv: 16.0.3 + dotenv-expand: 8.0.3 + ejs: 3.1.8 + fast-glob: 3.2.12 + fs-extra: 10.1.0 + html-minifier-terser: 6.1.0 + node-html-parser: 5.4.2 + pathe: 0.2.0 + vite: 4.0.3 dev: true - /vite/3.2.3: - resolution: {integrity: sha512-h8jl1TZ76eGs3o2dIBSsvXDLb1m/Ec1iej8ZMdz+PsaFUsftZeWe2CZOI3qogEsMNaywc17gu0q6cQDzh/weCQ==} + /vite/4.0.3: + resolution: {integrity: sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -7833,98 +6565,41 @@ packages: terser: optional: true dependencies: - esbuild: 0.15.13 - postcss: 8.4.19 + esbuild: 0.16.13 + postcss: 8.4.20 resolve: 1.22.1 - rollup: 2.79.1 + rollup: 3.9.1 optionalDependencies: fsevents: 2.3.2 dev: true - /vitefu/0.1.1_vite@3.2.3: - resolution: {integrity: sha512-HClD14fjMJ+NQgXBqT3dC3RdO/+Chayil+cCPYZKY3kT+KcJomKzrdgzfCHJkIL2L0OAY+VPvrSW615iPtc7ag==} + /vitefu/0.2.4_vite@4.0.3: + resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: - vite: ^3.0.0 + vite: ^3.0.0 || ^4.0.0 peerDependenciesMeta: vite: optional: true dependencies: - vite: 3.2.3 - dev: true - - /vscode-css-languageservice/6.1.1: - resolution: {integrity: sha512-7d2NCq2plT0njAKmGZ11uof95y2fwbgq8QuToE3kX9uYQfVmejHX2/lFGKbK5AV5+Ja0L80UZoU0QspwqMKMHA==} - dependencies: - vscode-languageserver-textdocument: 1.0.7 - vscode-languageserver-types: 3.17.2 - vscode-nls: 5.2.0 - vscode-uri: 3.0.6 - dev: true - - /vscode-html-languageservice/5.0.2: - resolution: {integrity: sha512-TQmeyE14Ure/w/S+RV2IItuRWmw/i1QaS+om6t70iHCpamuTTWnACQPMSltVGm/DlbdyMquUePJREjd/h3AVkQ==} - dependencies: - vscode-languageserver-textdocument: 1.0.7 - vscode-languageserver-types: 3.17.2 - vscode-nls: 5.2.0 - vscode-uri: 3.0.6 - dev: true - - /vscode-jsonrpc/8.0.2: - resolution: {integrity: sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ==} - engines: {node: '>=14.0.0'} - dev: true - - /vscode-languageserver-protocol/3.17.2: - resolution: {integrity: sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==} - dependencies: - vscode-jsonrpc: 8.0.2 - vscode-languageserver-types: 3.17.2 - dev: true - - /vscode-languageserver-textdocument/1.0.7: - resolution: {integrity: sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg==} - dev: true - - /vscode-languageserver-types/3.17.2: - resolution: {integrity: sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==} - dev: true - - /vscode-languageserver/8.0.2: - resolution: {integrity: sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==} - hasBin: true - dependencies: - vscode-languageserver-protocol: 3.17.2 - dev: true - - /vscode-nls/5.2.0: - resolution: {integrity: sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==} - dev: true - - /vscode-oniguruma/1.6.2: - resolution: {integrity: sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA==} - dev: true - - /vscode-textmate/6.0.0: - resolution: {integrity: sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==} + vite: 4.0.3 dev: true - /vscode-uri/2.1.2: - resolution: {integrity: sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==} + /vscode-oniguruma/1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} dev: true - /vscode-uri/3.0.6: - resolution: {integrity: sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ==} + /vscode-textmate/8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true - /vue-eslint-parser/9.1.0_eslint@8.27.0: + /vue-eslint-parser/9.1.0_eslint@8.31.0: resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.27.0 + eslint: 8.31.0 eslint-scope: 7.1.1 eslint-visitor-keys: 3.3.0 espree: 9.4.1 @@ -7950,21 +6625,10 @@ packages: matcher-collection: 1.1.2 dev: true - /wcwidth/1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - /web-namespaces/2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: true - /web-streams-polyfill/3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: true - /which-boxed-primitive/1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -7975,17 +6639,25 @@ packages: is-symbol: 1.0.4 dev: true - /which-pm-runs/1.1.0: - resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} - engines: {node: '>=4'} + /which-collection/1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 dev: true - /which-pm/2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} + /which-typed-array/1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} dependencies: - load-yaml-file: 0.2.0 - path-exists: 4.0.0 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 dev: true /which/1.3.1: @@ -8010,13 +6682,6 @@ packages: string-width: 2.1.1 dev: true - /widest-line/4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - dev: true - /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} @@ -8040,15 +6705,6 @@ packages: strip-ansi: 6.0.1 dev: true - /wrap-ansi/8.0.1: - resolution: {integrity: sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.0.1 - dev: true - /wrappy/1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true @@ -8088,6 +6744,10 @@ packages: resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} dev: true + /yallist/3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true @@ -8097,16 +6757,11 @@ packages: engines: {node: '>= 6'} dev: true - /yaml/2.1.3: - resolution: {integrity: sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==} + /yaml/2.2.1: + resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} engines: {node: '>= 14'} dev: true - /yargs-parser/21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - /yocto-queue/0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -8117,10 +6772,12 @@ packages: engines: {node: '>=12.20'} dev: true - /zod/3.19.1: - resolution: {integrity: sha512-LYjZsEDhCdYET9ikFu6dVPGp2YH9DegXjdJToSzD9rO6fy4qiRYFoyEYwps88OseJlPyl2NOe2iJuhEhL7IpEA==} + /zwitch/2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} dev: true - /zwitch/2.0.2: - resolution: {integrity: sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==} - dev: true + github.com/tailwindlabs/heroicons/1511059c0584aa0d2690cb89c01b183c4ae011d7: + resolution: {tarball: https://codeload.github.com/tailwindlabs/heroicons/tar.gz/1511059c0584aa0d2690cb89c01b183c4ae011d7} + name: heroicons + version: 2.0.13 + dev: false diff --git a/postcss.config.cjs b/postcss.config.cjs new file mode 100644 index 00000000..12a703d9 --- /dev/null +++ b/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/public/font/Mona-Sans.woff2 b/public/font/Mona-Sans.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..8208a50000111a9eced52f3faa484834f5de4944 GIT binary patch literal 133748 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
+Z-1A?rwEb~MUo`Yw_mU?VvmVq)qMAB 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ⅅ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 CFq0?% literal 0 HcmV?d00001 diff --git a/scripts/generateContent.js b/scripts/generateContent.js new file mode 100644 index 00000000..ae96702a --- /dev/null +++ b/scripts/generateContent.js @@ -0,0 +1,3 @@ +import generateContent from "../build/lib/generateContent.js"; + +await generateContent(); diff --git a/scripts/progress.js b/scripts/generateReadMeProgress.js similarity index 98% rename from scripts/progress.js rename to scripts/generateReadMeProgress.js index 1d3f46b0..53fca722 100644 --- a/scripts/progress.js +++ b/scripts/generateReadMeProgress.js @@ -1,9 +1,9 @@ import { remark } from "remark"; import fs from "fs/promises"; -import frameworks from "../src/frameworks.mjs"; import { packageDirectory } from "pkg-dir"; import nodePath from "node:path"; import kebabCase from "lodash.kebabcase"; +import FRAMEWORKS from "../frameworks.mjs"; function removeMarkdownHeadingContent( content, @@ -127,7 +127,7 @@ async function main() { ); let progressionContent = ""; - for (const framework of frameworks) { + for (const framework of FRAMEWORKS) { function mdCheck(b) { return b ? "x" : " "; } @@ -167,5 +167,4 @@ ${list} await fs.writeFile("README.md", newContent); } - main().catch(console.error); diff --git a/src/App.svelte b/src/App.svelte new file mode 100644 index 00000000..ed826ca0 --- /dev/null +++ b/src/App.svelte @@ -0,0 +1,281 @@ + + + + +
+ +
+
+ + diff --git a/src/app.css b/src/app.css new file mode 100644 index 00000000..6a06a432 --- /dev/null +++ b/src/app.css @@ -0,0 +1,36 @@ +:root { + color-scheme: dark; +} + +@font-face { + font-family: "Mona Sans"; + src: url("/font/Mona-Sans.woff2") format("woff2 supports variations"), + url("/font/Mona-Sans.woff2") format("woff2-variations"); + font-weight: 200 500; + font-stretch: 75% 125%; + font-display: swap; +} + +@tailwind base; +@tailwind components; +@tailwind utilities; + +html { + font-family: Mona Sans; + @apply bg-gray-900; +} + +/* #main-content .astro-code { + border-top-left-radius: 0px; + font-size: 1rem; +} */ + +@supports (backdrop-filter: blur(10px)) { + [class*="bg-"].backdrop-blur { + background-color: rgba(0, 0, 0, 0); + } +} + +.shiki { + @apply text-[1.05rem]; +} diff --git a/src/components/AppNotificationCenter.svelte b/src/components/AppNotificationCenter.svelte new file mode 100644 index 00000000..1cb95d41 --- /dev/null +++ b/src/components/AppNotificationCenter.svelte @@ -0,0 +1,40 @@ + + + + {@const { title } = notification} + +
+
+
+ +
+
+

+ {title} +

+
+
+ +
+
+
+
+
diff --git a/src/components/Aside.svelte b/src/components/Aside.svelte new file mode 100644 index 00000000..58b7e09a --- /dev/null +++ b/src/components/Aside.svelte @@ -0,0 +1,34 @@ + + + diff --git a/src/components/CodeEditor.svelte b/src/components/CodeEditor.svelte new file mode 100644 index 00000000..19db43a6 --- /dev/null +++ b/src/components/CodeEditor.svelte @@ -0,0 +1,76 @@ + + +
+ {#each files as file (file.fileName)} + + {/each} +
+ +
+
+ {@html snippet.contentHtml} +
+ +
diff --git a/src/components/CodeHighlight/Shiki.js b/src/components/CodeHighlight/Shiki.js deleted file mode 100644 index 2128b317..00000000 --- a/src/components/CodeHighlight/Shiki.js +++ /dev/null @@ -1,24 +0,0 @@ -import { getHighlighter as getShikiHighlighter } from "shiki"; - -// Caches Promise for reuse when the same theme and langs are provided -const _resolvedHighlighters = new Map(); - -function stringify(opts) { - // Always sort keys before stringifying to make sure objects match regardless of parameter ordering - return JSON.stringify(opts, Object.keys(opts).sort()); -} - -export function getHighlighter(opts) { - const key = stringify(opts); - - // Highlighter has already been requested, reuse the same instance - if (_resolvedHighlighters.has(key)) { - return _resolvedHighlighters.get(key); - } - - // Start the async getHighlighter call and cache the Promise - const highlighter = getShikiHighlighter(opts); - _resolvedHighlighters.set(key, highlighter); - - return highlighter; -} diff --git a/src/components/CodeHighlight/astroHighlightCode.js b/src/components/CodeHighlight/astroHighlightCode.js deleted file mode 100644 index c88a17dd..00000000 --- a/src/components/CodeHighlight/astroHighlightCode.js +++ /dev/null @@ -1,42 +0,0 @@ -import { getHighlighter } from "@/components/CodeHighlight/Shiki.js"; - -export default async function astroHighlightCode({ - code, - lang = "plaintext", - theme = "github-dark", - wrap = false, -}) { - /** Replace the shiki class name with a custom astro class name. */ - function repairShikiTheme(html) { - // Replace "shiki" class naming with "astro" and add "is:raw". - html = html.replace('
([\s\S]*?)<\/code><\/pre>/gm;
-  let code = regexForWrapper.exec(html);
-  return code[2];
-}
-
-export function isAngularComponent(fileContent) {
-  return (
-    fileContent.includes("@angular/core") && fileContent.includes("template")
-  );
-}
diff --git a/src/components/CodeViewer.astro b/src/components/CodeViewer.astro
deleted file mode 100644
index c59c4573..00000000
--- a/src/components/CodeViewer.astro
+++ /dev/null
@@ -1,99 +0,0 @@
----
-import FileCode from "@/components/FileCode.astro";
-
-const { path, editHref } = Astro.props;
----
-
-
-
-
-
- -
- -
diff --git a/src/components/FileCode.astro b/src/components/FileCode.astro deleted file mode 100644 index ef385451..00000000 --- a/src/components/FileCode.astro +++ /dev/null @@ -1,37 +0,0 @@ ---- -import fs from "node:fs/promises"; -import nodePath from "node:path"; -import { createFileMapCache } from "micache"; - -import astroHighlightCode from "@/components/CodeHighlight/astroHighlightCode.js"; -import { highlightAngularComponent, isAngularComponent } from "@/components/CodeHighlight/highlightAngularComponent.js"; - -const { path, lang, theme = "github-dark", wrap = false } = Astro.props; - -// check existence -await fs.access(path); - -const fileCodeCache = await createFileMapCache("fileCodeCache"); - -let html = await fileCodeCache.get(path); - -if (!html) { - const fileExt = nodePath.parse(path).ext.split(".").pop(); - const fileContent = await fs.readFile(path, "utf-8"); - - if (isAngularComponent(fileContent)) { - html = await highlightAngularComponent(fileContent, theme, wrap, lang || fileExt); - } else { - html = await astroHighlightCode({ - code: fileContent, - lang: lang || fileExt, - theme, - wrap, - }); - } - - fileCodeCache.set(path, html); -} ---- - - diff --git a/src/components/FrameworkLabel.astro b/src/components/FrameworkLabel.astro deleted file mode 100644 index 50c59723..00000000 --- a/src/components/FrameworkLabel.astro +++ /dev/null @@ -1,27 +0,0 @@ ---- -import FRAMEWORKS from "@/frameworks.mjs"; - -const { id, size = 20 } = Astro.props; - -const framework = FRAMEWORKS.find((f) => f.id === id); - -const baseURL = - import.meta.env.MODE === "development" - ? "" - : "https://raw.githubusercontent.com/matschik/component-party/main/public/"; ---- - -
- { - framework?.img && ( - {framework.id} - ) - } - {framework.title} -
diff --git a/src/components/FrameworkLabel.svelte b/src/components/FrameworkLabel.svelte new file mode 100644 index 00000000..ee31f329 --- /dev/null +++ b/src/components/FrameworkLabel.svelte @@ -0,0 +1,24 @@ + + +
+ {#if framework?.img} + {framework.id} + {/if} + {framework.title} +
diff --git a/src/components/GithubIcon.svelte b/src/components/GithubIcon.svelte new file mode 100644 index 00000000..2c7b37e1 --- /dev/null +++ b/src/components/GithubIcon.svelte @@ -0,0 +1,12 @@ + diff --git a/src/components/Header.svelte b/src/components/Header.svelte new file mode 100644 index 00000000..fd8277dd --- /dev/null +++ b/src/components/Header.svelte @@ -0,0 +1,26 @@ + + +
+ +
diff --git a/src/components/Section.astro b/src/components/Section.astro deleted file mode 100644 index abf55082..00000000 --- a/src/components/Section.astro +++ /dev/null @@ -1,270 +0,0 @@ ---- -import fs from "node:fs/promises"; -import kebabCase from "lodash.kebabcase"; -import Markdown from "@astrojs/markdown-component"; -import nodePath from "node:path"; - -import Title from "@/components/Title.svelte"; -import FrameworkLabel from "@/components/FrameworkLabel.astro"; -import FRAMEWORKS from "@/frameworks.mjs"; -import CodeViewer from "@/components/CodeViewer.astro"; -import repl from "@/utils/repl"; - -const { path: sectionPath } = Astro.props; - -const sectionId = sectionPath.split("/").pop(); -const sectionRelativePath = sectionPath.split("/").slice(-2).join("/"); - -const sections = []; - -function dirNameToTitle(dirName) { - return capitalize(dirName.split("-").splice(1).join(" ")); -} - -function capitalize(string) { - return string.charAt(0).toUpperCase() + string.slice(1); -} - -function generatePlaygroundURL(frameworkId, files) { - const frameworkREPL = repl[frameworkId]; - if (!frameworkREPL) { - return; - } - - const frameworkConfig = FRAMEWORKS.find((f) => f.id === frameworkId); - - const contentByFilename = frameworkConfig - .filesSorter(files) - .reduce((acc, file) => { - acc[file.fileName] = file.content; - return acc; - }, {}); - - const playgroundURL = frameworkREPL.fromContentByFilename(contentByFilename); - - return playgroundURL; -} - -const subSectionDirNames = await fs.readdir(sectionPath); - -for (const dirName of subSectionDirNames) { - const path = `${sectionPath}/${dirName}`; - const title = dirNameToTitle(dirName); - - const frameworkDirs = await fs.readdir(path); - const frameworkSections = []; - for (const frameworkDir of frameworkDirs) { - const frameworkPath = `${path}/${frameworkDir}`; - const files = []; - const fileNames = await fs.readdir(`${frameworkPath}`); - - for (const fileName of fileNames) { - const filePath = `${frameworkPath}/${fileName}`; - const ext = nodePath.parse(filePath).ext.split(".").pop(); - files.push({ - path: filePath, - fileName, - ext, - content: await fs.readFile(filePath, "utf-8"), - }); - } - - frameworkSections.push({ - dirName: frameworkDir, - path: frameworkPath, - files, - playgroundURL: generatePlaygroundURL(frameworkDir, files), - }); - } - - sections.push({ - id: kebabCase(title), - path, - dirName, - title, - frameworkSections, - }); -} - -function getSectionFiles(section, framework) { - return section.frameworkSections.find((f) => f.dirName === framework.id) - ?.files; -} - -function getSectionMarkdownFiles(section, framework) { - return getSectionFiles(section, framework)?.filter((f) => f.ext === "md"); -} - -function getSectionCodeFiles(section, framework) { - const files = getSectionFiles(section, framework)?.filter( - (f) => f.ext !== "md" - ); - if (files?.length > 0 && typeof framework.filesSorter === "function") { - return framework.filesSorter(files); - } else { - return files; - } -} - -function getFrameworkSectionPlaygroundURL(section, framework) { - return section.frameworkSections.find((f) => f.dirName === framework.id) - ?.playgroundURL; -} ---- - - - -{ - sections.map((section) => ( - <> - <Title as="h2" content={section.title} /> - <div - class="grid grid-cols-1 2xl:grid-cols-2 gap-10" - style="margin-top: 1rem;" - > - {FRAMEWORKS.map((framework) => ( - <div - x-bind:style={`'margin-top: 0rem;' + 'order: ' + $store.frameworksSelected.getOrder('${framework.id}') + ';' + 'display:' + ($store.frameworksSelected.has('${framework.id}') ? 'block' : 'none') + ';'`} - > - <div class="flex justify-between items-center space-x-3"> - <h3 style="margin-top: 0rem; margin-bottom: 0rem;"> - <FrameworkLabel id={framework.id} /> - </h3> - <div class="flex items-center space-x-3"> - {getFrameworkSectionPlaygroundURL(section, framework) && ( - <a - href={getFrameworkSectionPlaygroundURL(section, framework)} - target="_blank" - > - <button - class="opacity-50 hover:opacity-100 bg-gray-800 hover:bg-gray-700 py-1 px-1.5 rounded transition-all" - title={`Open playground for ${framework.title}`} - aria-label={`Open playground for ${framework.title}`} - > - <svg - xmlns="http://www.w3.org/2000/svg" - class="h-4 w-4" - fill="none" - viewBox="0 0 24 24" - stroke="currentColor" - stroke-width="2" - > - <path - stroke-linecap="round" - stroke-linejoin="round" - d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z" - /> - <path - stroke-linecap="round" - stroke-linejoin="round" - d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z" - /> - </svg> - </button> - </a> - )} - <button - class="opacity-50 hover:opacity-100 bg-gray-800 hover:bg-gray-700 py-1 px-1.5 rounded transition-all" - title={`Hide ${framework.title} snippets`} - aria-label={`Hide ${framework.title} snippets`} - x-on:click={`$store.frameworksSelected.hide('${framework.id}')`} - > - <svg - xmlns="http://www.w3.org/2000/svg" - class="h-4 w-4" - fill="none" - viewBox="0 0 24 24" - stroke="currentColor" - stroke-width="2" - > - <path - stroke-linecap="round" - stroke-linejoin="round" - d="M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21" - /> - </svg> - </button> - </div> - </div> - <div class="mt-2"> - {getSectionMarkdownFiles(section, framework)?.length > 0 && ( - <div> - {getSectionMarkdownFiles(section, framework).map((file) => ( - <Markdown set:html={file.content || ""} /> - ))} - </div> - )} - - {getSectionCodeFiles(section, framework)?.length > 0 && ( - <div - x-data={`{ filenameSelected: '${ - getSectionCodeFiles(section, framework)[0].fileName - }' }`} - > - <div class="flex space-x-1 items-center ml-0 overflow-x-auto"> - {getSectionCodeFiles(section, framework).map((file) => ( - <button - class="bg-[#0d1117] py-1.5 px-3 font-medium flex-shrink-0 text-xs rounded-t inline-block" - x-bind:class={`filenameSelected === '${file.fileName}' ? '' : 'opacity-60'`} - x-on:click={`filenameSelected = '${file.fileName}'`} - > - {file.fileName} - </button> - ))} - </div> - - <div> - {getSectionCodeFiles(section, framework).map((file) => ( - <div x-show={`filenameSelected === '${file.fileName}'`}> - <CodeViewer - path={file.path} - editHref={`https://github.com/matschik/component-party/tree/main/${sectionRelativePath}/${section.dirName}/${framework.id}/${file.fileName}`} - /> - </div> - ))} - </div> - </div> - )} - {!getSectionFiles(section, framework)?.length && ( - <div class=""> - <div class="bg-gray-800 text-white rounded-md mx-auto"> - <div class="text-center py-8 px-4 sm:px-6"> - <div> - <span class="block text-2xl tracking-tight font-bold"> - Missing snippet - </span> - <span class="block text-lg mt-1 font-semibold"> - Help us to improve Component Party 🎉 - </span> - </div> - <div class="mt-6 flex justify-center"> - <div class="inline-flex rounded-md shadow"> - <a - href={`https://github.com/matschik/component-party/tree/main/${sectionRelativePath}/${section.dirName}`} - class="inline-flex space-x-2 items-center justify-center px-4 py-2 border border-transparent text-base font-medium rounded-md text-white bg-[#161b22] hover:bg-[#161b22]/80 no-underline" - > - <span>Contribute on Github</span> - <svg - xmlns="http://www.w3.org/2000/svg" - aria-hidden="true" - focusable="false" - viewBox="0 0 24 24" - fill="currentColor" - class="h-5 w-5 text-white" - > - <path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" /> - </svg> - </a> - </div> - </div> - </div> - </div> - </div> - )} - </div> - </div> - ))} - </div> - </> - )) -} diff --git a/src/components/Title.svelte b/src/components/Title.svelte deleted file mode 100644 index c4439d31..00000000 --- a/src/components/Title.svelte +++ /dev/null @@ -1,16 +0,0 @@ -<script> - import kebabCase from "lodash.kebabcase"; - - export let as = "h1"; - export let content = ""; - $: id = kebabCase(content); -</script> - -<svelte:element this={as} {id} - >{content}<a - class="header-anchor" - href={"#" + id} - aria-hidden="true" - tabindex="-1">#</a - ></svelte:element -> diff --git a/src/components/scripts/alpine-init.js b/src/components/scripts/alpine-init.js deleted file mode 100644 index 2f3ce170..00000000 --- a/src/components/scripts/alpine-init.js +++ /dev/null @@ -1,89 +0,0 @@ -import Alpine from "alpinejs"; - -Alpine.store("frameworksSelected", { - _frameworksSelectedProxy: createLocaleStorageProxy("frameworks_display"), - _selectedIds: [], - init() { - // set default value of frameworksSelectedProxy - if (!Object.values(this._frameworksSelectedProxy).length) { - const initialFrameworkIds = ["react", "svelte"]; - for (let i = 0; i < initialFrameworkIds.length; i++) { - this._frameworksSelectedProxy[i] = initialFrameworkIds[i]; - } - } - this._selectedIds = [...this._frameworksSelectedProxy]; - }, - getOrder(fmwId) { - return this._selectedIds.indexOf(fmwId) + 1; - }, - has(fmwId) { - return this._selectedIds.includes(fmwId); - }, - toggle(fmwId) { - this.has(fmwId) ? this.hide(fmwId) : this.show(fmwId); - }, - hide(fmwId) { - if (this.has(fmwId)) { - const frameworkIndex = this._frameworksSelectedProxy.indexOf(fmwId); - delete this._frameworksSelectedProxy[frameworkIndex]; - } - this._selectedIds = [...this._frameworksSelectedProxy]; - }, - show(fmwId) { - if (!this.has(fmwId)) { - this._frameworksSelectedProxy.push(fmwId); - } - - this._selectedIds = [...this._frameworksSelectedProxy]; - }, -}); -Alpine.start(); - -function createLocaleStorageProxy(key) { - const storage = createLocaleStorage(key); - - return new Proxy(storage.getJSON() || [], { - get(target, prop) { - return target[prop]; - }, - set(target, prop, value, receiver) { - target[prop] = value; - storage.setJSON(receiver); - return true; - }, - deleteProperty(target, prop) { - target.splice(prop, 1); - storage.setJSON(target); - return true; - }, - }); -} - -function createLocaleStorage(k) { - function get() { - return localStorage.getItem(k); - } - return { - get, - getJSON() { - var value = get(); - if (value) { - try { - return JSON.parse(value); - } catch (err) { - console.error({ getJSONErr: err }); - return undefined; - } - } - }, - setJSON(o) { - this.set(JSON.stringify(o)); - }, - set(v) { - localStorage.setItem(k, v); - }, - remove() { - localStorage.removeItem(k); - }, - }; -} diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro deleted file mode 100644 index d72a7d9f..00000000 --- a/src/layouts/BaseLayout.astro +++ /dev/null @@ -1,42 +0,0 @@ ---- -import FRAMEWORKS from "@/frameworks.mjs"; -import BaseLayout from "@/layouts/BaseLayout.svelte"; -import generateContentTree from "@/utils/generateContentTree.js"; -import FrameworkLabel from "@/components/FrameworkLabel.astro"; - -const tree = await generateContentTree(); ---- - -<BaseLayout tree={tree}> - <script src="@/components/scripts/alpine-init.js"></script> - <div - x-init="() => { $el.classList.remove('hidden');$el.classList.add('block') }" - class="hidden" - > - <div - class="flex px-6 lg:px-20 py-2 sticky top-0 z-10 w-full backdrop-blur bg-gray-900/80 border-b border-gray-700 whitespace-nowrap overflow-x-auto" - > - { - FRAMEWORKS.map((framework) => ( - <button - data-framework-button-show={framework.id} - title={`Display ${framework.title}`} - class="text-sm flex-shrink-0 rounded border border-gray-700 px-3 py-1 border-opacity-50 bg-gray-900 hover:bg-gray-800 transition-all mr-2" - x-bind:class={`$store.frameworksSelected.has('${framework.id}') ? 'border-blue-500' : 'opacity-70'`} - x-on:click={`$store.frameworksSelected.toggle('${framework.id}')`} - > - <FrameworkLabel id={framework.id} size={15} /> - </button> - )) - } - </div> - - <main - id="main-content" - class="px-6 md:px-14 lg:px-20 pt-10 prose prose-sm prose-invert prose-h1:scroll-mt-[5rem] prose-pre:mt-0 prose-h2:scroll-mt-[5rem]" - style="max-width: 100%;" - > - <slot /> - </main> - </div> -</BaseLayout> diff --git a/src/layouts/BaseLayout.svelte b/src/layouts/BaseLayout.svelte deleted file mode 100644 index 850520b6..00000000 --- a/src/layouts/BaseLayout.svelte +++ /dev/null @@ -1,165 +0,0 @@ -<script> - import FRAMEWORKS from "@/frameworks.mjs"; - - export let tree = []; -</script> - -<html lang="en"> - <head> - <meta name="viewport" content="width=device-width" /> - <title>Component Party - - - f.title - ).join(", ")}`} - /> - - - - - - - - - - - - - - - - - - -
- -
-
- -
- -
-
- - diff --git a/src/lib/createLocaleStorage.js b/src/lib/createLocaleStorage.js new file mode 100644 index 00000000..c120e8a4 --- /dev/null +++ b/src/lib/createLocaleStorage.js @@ -0,0 +1,28 @@ +export default function createLocaleStorage(k) { + function get() { + return localStorage.getItem(k); + } + return { + get, + getJSON() { + var value = get(); + if (value) { + try { + return JSON.parse(value); + } catch (err) { + console.error({ getJSONErr: err }); + return undefined; + } + } + }, + setJSON(o) { + this.set(JSON.stringify(o)); + }, + set(v) { + localStorage.setItem(k, v); + }, + remove() { + localStorage.removeItem(k); + }, + }; +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 00000000..b83c9876 --- /dev/null +++ b/src/main.js @@ -0,0 +1,8 @@ +import App from "./App.svelte"; +import "./app.css"; + +const app = new App({ + target: document.getElementById("app"), +}); + +export default app; diff --git a/src/pages/index.astro b/src/pages/index.astro deleted file mode 100644 index 3227c787..00000000 --- a/src/pages/index.astro +++ /dev/null @@ -1,21 +0,0 @@ ---- -import fs from "node:fs/promises"; -import { packageDirectory } from "pkg-dir"; - -import Layout from "@/layouts/BaseLayout.astro"; -import Section from "@/components/Section.astro"; - -const rootDir = await packageDirectory(); -const contentURL = `${rootDir}/content`; -const sectionNames = await fs.readdir(contentURL); ---- - - -
- { - sectionNames.map((sectionName) => ( -
- )) - } -
-
diff --git a/src/utils/createCache.js b/src/utils/createCache.js deleted file mode 100644 index 14062ed9..00000000 --- a/src/utils/createCache.js +++ /dev/null @@ -1,49 +0,0 @@ -export default function createCache({ expireSec } = {}) { - const cache = {}; - - function setCache(key, data) { - cache[key] = { - created: new Date().getTime(), - expireSec, - data, - }; - } - - function getCache(key) { - if ( - cache[key] && - cache[key].expireSec && - new Date().getTime() - cache[key].created >= cache[key].expireSec * 1000 - ) { - deleteKey(key); - } - - return cache[key]?.data; - } - - function hasKey(key) { - return cache.hasOwnProperty(key); - } - - function deleteKey(key) { - // Remove the reference to the object on object `cache`. - // The v8 garbage collector will pick up any objects with zero references for garbage collection. - delete cache[key]; - } - - function cleanKeyStartsWith(keyStart, except) { - for (const key in cache) { - if (key.startsWith(keyStart) && except && key !== except) { - deleteKey(key); - } - } - } - - return { - set: setCache, - get: getCache, - has: hasKey, - delete: deleteKey, - cleanKeyStartsWith, - }; -} diff --git a/src/utils/createFileMapCache.js b/src/utils/createFileMapCache.js deleted file mode 100644 index 231507d6..00000000 --- a/src/utils/createFileMapCache.js +++ /dev/null @@ -1,56 +0,0 @@ -import fs from "node:fs/promises"; -import crypto from "crypto"; - -import createFsCache from "@/utils/createFsCache.js"; - -async function md5(data) { - return crypto.createHash("md5").update(data).digest("hex"); -} - -async function fileExist(path) { - try { - await fs.access(path); - } catch { - return false; - } - return true; -} - -export default async function createFileMapCache(name) { - const cache = await createFsCache(name); - - async function _getPathHash(path) { - return md5(path); - } - - async function _getCacheKey(path) { - const { mtimeMs } = await fs.stat(path); - const pathHash = await _getPathHash(path); - return `${pathHash}_${mtimeMs}`; - } - - async function set(path, data) { - if (await fileExist(path)) { - const pathHash = await _getPathHash(path); - await cache.cleanKeyStartsWith(pathHash); - const cacheKey = await _getCacheKey(path); - await cache.set(cacheKey, data); - } - } - - async function has(path) { - const cacheKey = await _getCacheKey(path); - return await cache.has(cacheKey); - } - - async function get(path) { - const cacheKey = await _getCacheKey(path); - return await cache.get(cacheKey); - } - - return { - set, - get, - has, - }; -} diff --git a/src/utils/createFsCache.js b/src/utils/createFsCache.js deleted file mode 100644 index d733f640..00000000 --- a/src/utils/createFsCache.js +++ /dev/null @@ -1,66 +0,0 @@ -import fs from "node:fs/promises"; -import { packageDirectory } from "pkg-dir"; - -async function ensureDir(path) { - try { - await fs.access(path); - } catch (err) { - if (err.code === "ENOENT") { - await fs.mkdir(path).catch(() => {}); - } - } -} - -export default async function createFsCache(name) { - const pkgDir = await packageDirectory(); - const fsCacheDir = `${pkgDir}/node_modules/.fs-cache`; - const cacheDir = `${fsCacheDir}/${name}`; - await ensureDir(fsCacheDir); - await ensureDir(cacheDir); - - function getPath(key) { - return `${cacheDir}/${key}`; - } - - async function set(key, data) { - await fs.writeFile(getPath(key), data); - } - - async function get(key) { - if (await has(key)) { - return await fs.readFile(getPath(key), "utf8"); - } - } - - async function has(key) { - try { - await fs.access(getPath(key)); - } catch { - return false; - } - return true; - } - - async function deleteKey(key) { - if (await has(key)) { - return await fs.deleteFile(getPath(key)); - } - } - - async function cleanKeyStartsWith(keyStart, except) { - const files = await fs.readdir(cacheDir); - for (const file of files) { - if (file.startsWith(keyStart) && except && key !== except) { - deleteKey(file); - } - } - } - - return { - set, - get, - has, - delete: deleteKey, - cleanKeyStartsWith, - }; -} diff --git a/src/utils/generateContentTree.js b/src/utils/generateContentTree.js deleted file mode 100644 index b6a46b21..00000000 --- a/src/utils/generateContentTree.js +++ /dev/null @@ -1,43 +0,0 @@ -import fs from "node:fs/promises"; -import path from "path"; - -const CONTENT_DIR = path.resolve("content"); - -export default async function generateContentTree() { - const tree = []; - - const contentDirs = await fs.readdir(CONTENT_DIR); - - for (const contentDir of contentDirs) { - const sectionDir = `${CONTENT_DIR}/${contentDir}`; - const subSectionDirs = (await fs.readdir(sectionDir)).filter( - (path) => !path.includes(".") - ); - const contentDirTitle = dirNameToTitle(contentDir); - const treeNode = { - id: contentDir.split("-").splice(1).join("-"), - title: contentDirTitle, - sections: [], - }; - - for (const subSectionDir of subSectionDirs) { - const subSectionDirTitle = dirNameToTitle(subSectionDir); - treeNode.sections.push({ - id: subSectionDir.split("-").splice(1).join("-"), - title: subSectionDirTitle, - }); - } - - tree.push(treeNode); - } - - return tree; -} - -function dirNameToTitle(dirName) { - return capitalize(dirName.split("-").splice(1).join(" ")); -} - -function capitalize(string) { - return string.charAt(0).toUpperCase() + string.slice(1); -} diff --git a/src/utils/repl/index.js b/src/utils/repl/index.js deleted file mode 100644 index 1af1ca39..00000000 --- a/src/utils/repl/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import createAlpineREPL from "./createAlpineREPL"; -import createSvelteREPL from "./createSvelteREPL"; -import createVue3REPL from "./createVue3REPL"; -import createSolidREPL from "./createSolidREPL"; - -export default { - vue3: createVue3REPL(), - svelte: createSvelteREPL(), - alpine: createAlpineREPL(), - solid: createSolidREPL(), -}; diff --git a/tailwind.config.cjs b/tailwind.config.cjs index 555175a7..23c9a1cd 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.cjs @@ -1,13 +1,4 @@ -const defaultTheme = require("tailwindcss/defaultTheme"); - module.exports = { - content: ["./src/**/*.{astro,html,js,jsx,svelte,ts,tsx,vue}"], - theme: { - extend: { - fontFamily: { - sans: ["Inter var", ...defaultTheme.fontFamily.sans], - }, - }, - }, + content: ["./src/**/*.{html,js,jsx,svelte,ts,tsx,vue}", "./index.html"], plugins: [require("@tailwindcss/typography")], }; diff --git a/tsconfig.app.json b/tsconfig.app.json deleted file mode 100644 index ff396d4c..00000000 --- a/tsconfig.app.json +++ /dev/null @@ -1,10 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [] - }, - "files": ["src/main.ts", "src/polyfills.ts"], - "include": ["src/**/*.d.ts"] -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index cc3cfd53..00000000 --- a/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compileOnSave": false, - "compilerOptions": { - "allowJs": true, - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "downlevelIteration": true, - "experimentalDecorators": true, - "moduleResolution": "node", - "importHelpers": true, - "target": "es2015", - "module": "es2020", - "lib": ["es2018", "dom"], - "paths": { - "@/*": ["src/*"] - } - } -} diff --git a/tsconfig.spec.json b/tsconfig.spec.json deleted file mode 100644 index 669344f8..00000000 --- a/tsconfig.spec.json +++ /dev/null @@ -1,10 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": ["jasmine"] - }, - "files": ["src/test.ts", "src/polyfills.ts"], - "include": ["src/**/*.spec.ts", "src/**/*.d.ts"] -} diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 00000000..891546c6 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,28 @@ +import { defineConfig } from "vite"; +import { svelte } from "@sveltejs/vite-plugin-svelte"; +import sveltePreprocess from "svelte-preprocess"; +import { createHtmlPlugin } from "vite-plugin-html"; +import FRAMEWORKS from "./frameworks.mjs"; +import pluginGenerateFrameworkContent from "./build/generateContentVitePlugin.js"; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + pluginGenerateFrameworkContent(), + svelte(), + createHtmlPlugin({ + minify: true, + inject: { + data: { + frameworkList: FRAMEWORKS.map((f) => f.title).join(", "), + }, + }, + }), + ], + ignore: ["content"], + preprocess: [ + sveltePreprocess({ + postcss: true, + }), + ], +});