From f973f09f284f78a95681209cb52d44886213505b Mon Sep 17 00:00:00 2001 From: Phillip Hartin Date: Thu, 9 Nov 2023 16:37:28 +1100 Subject: [PATCH 1/8] Restructure to a utility library, a first-party nuxt module and documentation repo Moves the plain utility functions into a separate package which can be published independently. A Nuxt module imports these utilities and registers them as auto imports. The documentation repo references the package code directly to auto generate documentation. --- .eslintrc | 4 - .eslintrc.cjs | 8 - .github/workflows/ci.yml | 40 + .github/workflows/release.yml | 25 + .github/workflows/studio.yml | 5 +- components/Subtitle.vue | 5 - content/2.functions/actions.md | 82 - content/2.functions/formatters.md | 4 - content/2.functions/generators.md | 4 - content/2.functions/modifiers.md | 4 - content/2.functions/numbers.md | 2 - content/2.functions/validators.md | 4 - docs.ts | 129 - README.md => docs/README.md | 0 app.config.ts => docs/app.config.ts | 0 docs/bun.lockb | Bin 0 -> 520491 bytes bunfig.toml => docs/bunfig.toml | 0 {components => docs/components}/Logo.vue | 0 {content => docs/content}/0.index.md | 2 +- .../1.introduction/1.getting-started.md | 0 .../1.introduction/2.project-structure.md | 0 .../1.introduction/3.writing-pages.md | 0 .../1.introduction/4.configuration.md | 0 .../content}/1.introduction/_dir.yml | 0 {content => docs/content}/10.faqs/_dir.yml | 0 {content => docs/content}/10.faqs/faqs.md | 0 docs/content/2.functions/actions.md | 83 + .../content}/2.functions/detections.md | 40 +- docs/content/2.functions/formatters.md | 34 + docs/content/2.functions/modifiers.md | 769 + docs/content/2.functions/numbers.md | 107 + docs/content/2.functions/validators.md | 724 + docs/mods.ts | 108 + docs/nuxt.config.ts | 11 + output.md => docs/output.md | 0 package-lock.json => docs/package-lock.json | 60 +- package.json => docs/package.json | 12 +- {public => docs/public}/cover.png | Bin {public => docs/public}/favicon.ico | Bin {public => docs/public}/logo.svg | 0 renovate.json => docs/renovate.json | 0 tokens.config.ts => docs/tokens.config.ts | 0 tsconfig.json => docs/tsconfig.json | 0 typedoc.json => docs/typedoc.json | 0 vitest.config.mjs => docs/vitest.config.mjs | 0 nuxt-module/README.md | 91 + nuxt-module/package-lock.json | 12128 ++++++++++++++++ nuxt-module/package.json | 45 + nuxt-module/playground/app.vue | 7 + nuxt-module/playground/nuxt.config.ts | 5 + nuxt-module/playground/package.json | 13 + nuxt-module/playground/server/tsconfig.json | 3 + nuxt-module/playground/tsconfig.json | 3 + nuxt-module/src/module.ts | 38 + nuxt-module/src/runtime/plugin.ts | 5 + nuxt-module/src/runtime/utils/index.ts | 1 + nuxt-module/test/basic.test.ts | 15 + nuxt-module/test/fixtures/basic/app.vue | 6 + .../test/fixtures/basic/nuxt.config.ts | 5 + nuxt-module/test/fixtures/basic/package.json | 5 + nuxt-module/tsconfig.json | 3 + nuxt.config.ts | 7 - .eslintignore => package/.gitignore | 4 +- package/LICENSE | 1 + package/README.md | 26 + package/build.mjs | 8 + package/bun.lockb | Bin 0 -> 9107 bytes package/package.json | 31 + {utils => package/src}/actions.ts | 77 +- {utils => package/src}/detections.ts | 145 +- {utils => package/src}/formatters.ts | 77 +- package/src/index.ts | 6 + {utils => package/src}/modifiers.ts | 260 +- package/src/numbers.ts | 72 + {utils => package/src}/validators.ts | 163 +- package/test/formatters.test.ts | 30 + package/test/modifiers.test.ts | 339 + package/test/numbers.test.ts | 32 + package/test/validators.test.ts | 234 + package/tsconfig.json | 20 + tests/formatters.nuxt.test.ts | 28 - tests/modifiers.nuxt.test.ts | 255 - tests/numbers.nuxt.test.ts | 54 - tests/validators.nuxt.test.ts | 190 - utils/generators.ts | 24 - utils/numbers.ts | 194 - 86 files changed, 15570 insertions(+), 1346 deletions(-) delete mode 100644 .eslintrc delete mode 100644 .eslintrc.cjs create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/release.yml delete mode 100644 components/Subtitle.vue delete mode 100644 content/2.functions/actions.md delete mode 100644 content/2.functions/formatters.md delete mode 100644 content/2.functions/generators.md delete mode 100644 content/2.functions/modifiers.md delete mode 100644 content/2.functions/numbers.md delete mode 100644 content/2.functions/validators.md delete mode 100644 docs.ts rename README.md => docs/README.md (100%) rename app.config.ts => docs/app.config.ts (100%) create mode 100755 docs/bun.lockb rename bunfig.toml => docs/bunfig.toml (100%) rename {components => docs/components}/Logo.vue (100%) rename {content => docs/content}/0.index.md (97%) rename {content => docs/content}/1.introduction/1.getting-started.md (100%) rename {content => docs/content}/1.introduction/2.project-structure.md (100%) rename {content => docs/content}/1.introduction/3.writing-pages.md (100%) rename {content => docs/content}/1.introduction/4.configuration.md (100%) rename {content => docs/content}/1.introduction/_dir.yml (100%) rename {content => docs/content}/10.faqs/_dir.yml (100%) rename {content => docs/content}/10.faqs/faqs.md (100%) create mode 100644 docs/content/2.functions/actions.md rename {content => docs/content}/2.functions/detections.md (83%) create mode 100644 docs/content/2.functions/formatters.md create mode 100644 docs/content/2.functions/modifiers.md create mode 100644 docs/content/2.functions/numbers.md create mode 100644 docs/content/2.functions/validators.md create mode 100644 docs/mods.ts create mode 100755 docs/nuxt.config.ts rename output.md => docs/output.md (100%) rename package-lock.json => docs/package-lock.json (99%) rename package.json => docs/package.json (80%) rename {public => docs/public}/cover.png (100%) rename {public => docs/public}/favicon.ico (100%) rename {public => docs/public}/logo.svg (100%) rename renovate.json => docs/renovate.json (100%) rename tokens.config.ts => docs/tokens.config.ts (100%) rename tsconfig.json => docs/tsconfig.json (100%) rename typedoc.json => docs/typedoc.json (100%) rename vitest.config.mjs => docs/vitest.config.mjs (100%) create mode 100644 nuxt-module/README.md create mode 100644 nuxt-module/package-lock.json create mode 100644 nuxt-module/package.json create mode 100644 nuxt-module/playground/app.vue create mode 100644 nuxt-module/playground/nuxt.config.ts create mode 100644 nuxt-module/playground/package.json create mode 100644 nuxt-module/playground/server/tsconfig.json create mode 100644 nuxt-module/playground/tsconfig.json create mode 100644 nuxt-module/src/module.ts create mode 100644 nuxt-module/src/runtime/plugin.ts create mode 100644 nuxt-module/src/runtime/utils/index.ts create mode 100644 nuxt-module/test/basic.test.ts create mode 100644 nuxt-module/test/fixtures/basic/app.vue create mode 100644 nuxt-module/test/fixtures/basic/nuxt.config.ts create mode 100644 nuxt-module/test/fixtures/basic/package.json create mode 100644 nuxt-module/tsconfig.json delete mode 100755 nuxt.config.ts rename .eslintignore => package/.gitignore (58%) create mode 100644 package/LICENSE create mode 100644 package/README.md create mode 100644 package/build.mjs create mode 100755 package/bun.lockb create mode 100644 package/package.json rename {utils => package/src}/actions.ts (74%) rename {utils => package/src}/detections.ts (78%) rename {utils => package/src}/formatters.ts (57%) create mode 100644 package/src/index.ts rename {utils => package/src}/modifiers.ts (75%) create mode 100644 package/src/numbers.ts rename {utils => package/src}/validators.ts (68%) create mode 100644 package/test/formatters.test.ts create mode 100644 package/test/modifiers.test.ts create mode 100644 package/test/numbers.test.ts create mode 100644 package/test/validators.test.ts create mode 100644 package/tsconfig.json delete mode 100644 tests/formatters.nuxt.test.ts delete mode 100644 tests/modifiers.nuxt.test.ts delete mode 100644 tests/numbers.nuxt.test.ts delete mode 100644 tests/validators.nuxt.test.ts delete mode 100644 utils/generators.ts delete mode 100644 utils/numbers.ts diff --git a/.eslintrc b/.eslintrc deleted file mode 100644 index 9e17846a..00000000 --- a/.eslintrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "root": true, - "extends": ["@nuxt/eslint-config"] -} diff --git a/.eslintrc.cjs b/.eslintrc.cjs deleted file mode 100644 index 38db3138..00000000 --- a/.eslintrc.cjs +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - root: true, - extends: '@nuxt/eslint-config', - rules: { - 'vue/max-attributes-per-line': 'off', - 'vue/multi-word-component-names': 'off' - } -} \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..7d28efa7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,40 @@ +name: CI + +on: + push: + branches: + - main + + pull_request: + branches: + - main + +jobs: + test: + runs-on: ${{ matrix.os }} + defaults: + run: + working-directory: ./package + + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + fail-fast: false + + steps: + - id: checkout + name: Checkout + uses: actions/checkout@v3 + - id: setup-bun + name: Setup Bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest + - id: install-deps + name: Install dependencies + run: | + bun install + - id: test + name: Run test + run: | + bun test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..35756284 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,25 @@ +name: Release + +on: + push: + tags: + - 'v*' + +jobs: + release: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./package + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - uses: actions/setup-node@v3 + with: + node-version: 16.x + + - run: npx changelogithub + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/studio.yml b/.github/workflows/studio.yml index 92d9e379..2bd26c76 100644 --- a/.github/workflows/studio.yml +++ b/.github/workflows/studio.yml @@ -1,4 +1,3 @@ - name: studio-nuxt-build run-name: studio nuxt build @@ -17,7 +16,7 @@ permissions: # Allow one concurrent deployment concurrency: - group: "pages" + group: 'pages' cancel-in-progress: true jobs: @@ -26,7 +25,7 @@ jobs: runs-on: ${{ matrix.os }} defaults: run: - working-directory: . + working-directory: ./docs strategy: matrix: diff --git a/components/Subtitle.vue b/components/Subtitle.vue deleted file mode 100644 index aba1b5f7..00000000 --- a/components/Subtitle.vue +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/content/2.functions/actions.md b/content/2.functions/actions.md deleted file mode 100644 index 64f6981d..00000000 --- a/content/2.functions/actions.md +++ /dev/null @@ -1,82 +0,0 @@ -# Actions - -#### A collection of useful actions - -## Page Actions - -##### A collection of useful actions - -### scrollToAnchor -Smoothly scroll to an anchor on the page - -```js [js] -scrollToAnchor('#my-anchor') -``` - -### toggleElementScroll -Toggles the element scroll - -```js [js] -toggleElementScroll(document.querySelector('#my-element')) -``` - -### copyToClipboard -Copies a text to the clipboard - -```js [js] -copyToClipboard() -``` - -### toggleDarkMode -Toggles the dark mode - -```js [js] -toggleDarkMode() -``` - -### redirect -Redirects to a new URL - -```js [js] -redirect('https://example.com') -``` - -## Form Actions - -##### A collection of useful actions - -### resetForm -Resets a form - -```js [js] -resetForm(document.querySelector('form')) -``` - -### focusOn -Focuses on an element - -```js [js] -focusOn(document.querySelector('#my-element')) -``` - -### focusOnFirst -Focuses on the first element - -```js [js] -focusOnFirst(document.querySelector('#my-element')) -``` - -### focusOnLast -Focuses on the last element - -```js [js] -focusOnLast(document.querySelector('#my-element')) -``` - -### focusTrap -Sets up a keyboard trap within an HTML element, allowing the focus to cycle between the first and last focusable elements when the Tab key is pressed. - -```js [js] -focusTrap(document.querySelector('#my-element')) -``` - diff --git a/content/2.functions/formatters.md b/content/2.functions/formatters.md deleted file mode 100644 index df1e6511..00000000 --- a/content/2.functions/formatters.md +++ /dev/null @@ -1,4 +0,0 @@ -# Formatters - -#### A collection of formatters for common data types - diff --git a/content/2.functions/generators.md b/content/2.functions/generators.md deleted file mode 100644 index d6939406..00000000 --- a/content/2.functions/generators.md +++ /dev/null @@ -1,4 +0,0 @@ -# Generators - -#### A collection of generators - diff --git a/content/2.functions/modifiers.md b/content/2.functions/modifiers.md deleted file mode 100644 index b66acb4e..00000000 --- a/content/2.functions/modifiers.md +++ /dev/null @@ -1,4 +0,0 @@ -# Modifiers - -#### Modifiers are a key feature of Mods that allow you to easily modify and enhance your content. They are small pieces of code that can be applied to your JS to add functionality, validation or style. - diff --git a/content/2.functions/numbers.md b/content/2.functions/numbers.md deleted file mode 100644 index 0feb6f19..00000000 --- a/content/2.functions/numbers.md +++ /dev/null @@ -1,2 +0,0 @@ -#### This file contains functions that are related to numbers. - diff --git a/content/2.functions/validators.md b/content/2.functions/validators.md deleted file mode 100644 index 8dd2effd..00000000 --- a/content/2.functions/validators.md +++ /dev/null @@ -1,4 +0,0 @@ -# Validators - -#### A collection of validators for common data types - diff --git a/docs.ts b/docs.ts deleted file mode 100644 index ed7745b7..00000000 --- a/docs.ts +++ /dev/null @@ -1,129 +0,0 @@ -//bun run --watch mods.ts - -import * as fs from 'fs' -import * as path from 'path' - -// Define the directory path -const directoryPath = path.resolve('./utils/') - -// Get a list of all files in the directory -const files = fs.readdirSync(directoryPath) - -// Filter the list to only include .ts files -const tsFiles = files.filter((file) => path.extname(file) === '.ts') - -// Loop through each .ts file -tsFiles.forEach((tsFile) => { - // Define the path of the TypeScript file - const tsFilePath = path.resolve(directoryPath, tsFile) - - // Read the content of the TypeScript file - const tsContent = fs.readFileSync(tsFilePath, 'utf-8') - - // Define a regex pattern to match JSDoc comments and function declarations - const functionPattern = /\/\*\*[\s\S]*?\*\/\s*export function [a-zA-Z0-9_]+\s*\([^)]*\)\s*{[\s\S]*?}/gm - - // Define a regex pattern to match the subtitle - const subtitlePattern = /\/\/ [\s\S]*?\/\/ <\/subtitle>/gm - - // Find all functions with their JSDoc comments in the TypeScript file - const functions = (tsContent.match(functionPattern) || []).map((match) => ({ - match, - position: tsContent.indexOf(match) - })) - - const subtitles = (tsContent.match(subtitlePattern) || []).map((match) => ({ - match, - position: tsContent.indexOf(match) - })) - - const matches = [...functions, ...subtitles].sort((a, b) => a.position - b.position) - - // Initialize the Markdown content for this file - let markdownContent = '' - - // Extract the page title and description from the top page comments - const pageTitleMatch = tsContent.match(/\/\/\s+title:\s+([^\r\n]*)/) - const pageDescriptionMatch = tsContent.match(/\/\/\s+description:\s+([^\r\n]*)/) - - if (pageTitleMatch) { - markdownContent += `# ${pageTitleMatch[1]}\n\n` - } - - if (pageDescriptionMatch) { - markdownContent += `#### ${pageDescriptionMatch[1]}\n\n` - } - - // Check if any functions were found - if (matches) { - // Loop through each function and extract information - matches.forEach((item) => { - // Check if the string has the subtitle pattern - if (item.match.startsWith('// ')) { - // Extract the subtitle using a regular expression - const subtitleMatch = /\/\/ subtitle: (.+?)\s*\/\/\s*/.exec(item.match) - const subtitle = subtitleMatch ? subtitleMatch[1].trim() : '' - - // Extract the description using a regular expression - const descriptionMatch = /\/\/ description: (.+?)\s*\/\/\s*<\/subtitle>/s.exec(item.match) - const description = descriptionMatch ? descriptionMatch[1].trim() : '' - - // Add the subtitle as H3 in markdown - if (subtitle) { - markdownContent += `## ${subtitle}\n\n` - } - - // Add the description as a paragraph in markdown - if (description) { - markdownContent += `##### ${description}\n\n` - } - } else { - // Extract the function name - const functionNameMatch = /function\s+([a-zA-Z0_9_]+)/.exec(item.match) - const functionName = functionNameMatch ? functionNameMatch[1] : '' - - // Extract the JSDoc comment - const jsDocCommentMatch = /\/\*\*[\s\S]*?\*\//.exec(item.match) - const jsDocComment = jsDocCommentMatch ? jsDocCommentMatch[0] : '' - - // Extract the description from the JSDoc comment - const description = jsDocComment - .split('\n') - .map((line) => - line - .trim() - .replace(/\/?\*+/g, '') - .trim() - ) - .filter((line) => !line.startsWith('@')) - .join(' ') - .replace(/\/$/, '') - .trim() - - // Extract the example usage from the JSDoc comment - const example = (jsDocComment.match(/@example\s+([^\r\n]*)/) || [])[1] || '' - const returns = (jsDocComment.match(/@returns\s+([^\r\n]*)/) || [])[1] || '' - - // Add the extracted information to the Markdown content - markdownContent += `### ${functionName}\n` - markdownContent += `${description}\n\n` - if (example) { - markdownContent += '```js [js]\n' + example + '\n' + '```\n\n' - } - if (returns) { - markdownContent += '```html [returns]\n' + returns + '\n' + '```\n\n' - } - } - }) - - markdownContent = markdownContent.replace(/\n\n\n/g, '\n\n') - - // Define the output path for the Markdown file for this TypeScript file - const outputFilePath = path.resolve('./content/2.functions', `${path.basename(tsFile, '.ts')}.md`) - - // Write the Markdown content to a file - fs.writeFileSync(outputFilePath, markdownContent) - - console.log('Markdown documentation generated for:', tsFile, 'at:', outputFilePath) - } -}) diff --git a/README.md b/docs/README.md similarity index 100% rename from README.md rename to docs/README.md diff --git a/app.config.ts b/docs/app.config.ts similarity index 100% rename from app.config.ts rename to docs/app.config.ts diff --git a/docs/bun.lockb b/docs/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..4eb3d5e734251aeb563df5b3597fb8d6a5898659 GIT binary patch literal 520491 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≪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 X!Yk3BeNh6+ilE%Htw4)k{?os|k}Yn3 literal 0 HcmV?d00001 diff --git a/bunfig.toml b/docs/bunfig.toml similarity index 100% rename from bunfig.toml rename to docs/bunfig.toml diff --git a/components/Logo.vue b/docs/components/Logo.vue similarity index 100% rename from components/Logo.vue rename to docs/components/Logo.vue diff --git a/content/0.index.md b/docs/content/0.index.md similarity index 97% rename from content/0.index.md rename to docs/content/0.index.md index 50fce606..d4ab6070 100644 --- a/content/0.index.md +++ b/docs/content/0.index.md @@ -19,7 +19,7 @@ secondary: --- #title -Zippy little utilities for your frameworks. +Zippy little utilities for your frontend or SSR. #description All the parts you don't want to write for [Next](https://nextjs.org) and [Nuxt](https://nuxt.com). diff --git a/content/1.introduction/1.getting-started.md b/docs/content/1.introduction/1.getting-started.md similarity index 100% rename from content/1.introduction/1.getting-started.md rename to docs/content/1.introduction/1.getting-started.md diff --git a/content/1.introduction/2.project-structure.md b/docs/content/1.introduction/2.project-structure.md similarity index 100% rename from content/1.introduction/2.project-structure.md rename to docs/content/1.introduction/2.project-structure.md diff --git a/content/1.introduction/3.writing-pages.md b/docs/content/1.introduction/3.writing-pages.md similarity index 100% rename from content/1.introduction/3.writing-pages.md rename to docs/content/1.introduction/3.writing-pages.md diff --git a/content/1.introduction/4.configuration.md b/docs/content/1.introduction/4.configuration.md similarity index 100% rename from content/1.introduction/4.configuration.md rename to docs/content/1.introduction/4.configuration.md diff --git a/content/1.introduction/_dir.yml b/docs/content/1.introduction/_dir.yml similarity index 100% rename from content/1.introduction/_dir.yml rename to docs/content/1.introduction/_dir.yml diff --git a/content/10.faqs/_dir.yml b/docs/content/10.faqs/_dir.yml similarity index 100% rename from content/10.faqs/_dir.yml rename to docs/content/10.faqs/_dir.yml diff --git a/content/10.faqs/faqs.md b/docs/content/10.faqs/faqs.md similarity index 100% rename from content/10.faqs/faqs.md rename to docs/content/10.faqs/faqs.md diff --git a/docs/content/2.functions/actions.md b/docs/content/2.functions/actions.md new file mode 100644 index 00000000..1ff57f10 --- /dev/null +++ b/docs/content/2.functions/actions.md @@ -0,0 +1,83 @@ +# Actions + +#### A collection of useful actionss + +## scrollToAnchor + +Smoothly scroll to an wanker on the page + +```js [js] +scrollToAnchor("#my-anchor") +``` + +## toggleDarkMode + +Toggles the dark mode + +```js [js] +toggleDarkMode() +``` + +## redirect + +Redirects to a new URL + +```js [js] +redirect("https://example.com") +``` + +## resetForm + +Resets a form + +```js [js] +resetForm(document.querySelector("form")) +``` + +## toggleBodyScroll + +Toggles the body scroll + +```js [js] +toggleBodyScroll() +``` + +## toggleElementScroll + +Toggles the element scroll + +```js [js] +toggleElementScroll(document.querySelector("#my-element")) +``` + +## focusOn + +Focuses on an element + +```js [js] +focusOn(document.querySelector("#my-element")) +``` + +## focusOnFirst + +Focuses on the first element + +```js [js] +focusOnFirst(document.querySelector("#my-element")) +``` + +## focusOnLast + +Focuses on the last element + +```js [js] +focusOnLast(document.querySelector("#my-element")) +``` + +## focusTrap + +sets up a keyboard trap within an HTML element, allowing the focus to cycle between the first and last focusable elements when the Tab key is pressed. + +```js [js] +focusTrap(document.querySelector("#my-element")) +``` diff --git a/content/2.functions/detections.md b/docs/content/2.functions/detections.md similarity index 83% rename from content/2.functions/detections.md rename to docs/content/2.functions/detections.md index 671e00cb..aa3a3442 100644 --- a/content/2.functions/detections.md +++ b/docs/content/2.functions/detections.md @@ -2,140 +2,140 @@ #### A collection of detections for common data types -### getDeviceType +## getDeviceType Detect if the current device is a mobile device ```js [js] getDeviceType() ``` -### getRelativeMousePosition +## getRelativeMousePosition Detect the current mouse position within a container via ID ```js [js] getRelativeMousePosition('container', event) ``` -### getNetworkStatus +## getNetworkStatus Detect the current network status of the user (Online or Offline) ```js [js] getNetworkStatus() ``` -### getLocalStorage +## getLocalStorage Returns a local storage value by name and parses it into JSON ```js [js] getLocalStorage('name') ``` -### getSessionStorage +## getSessionStorage Returns a session storage value by name and parses it into JSON ```js [js] getSessionStorage('name') ``` -### getURLParameters +## getURLParameters Returns a value from the URL by name ```js [js] getURLParameters('http://url.com/page?name=Adam&surname=Smith') ``` -### getURLHashParameters +## getURLHashParameters Returns a value from the URL hash by name ```js [js] getURLHashParameters() ``` -### getURLSearchParameters +## getURLSearchParameters Retrieves and returns the parameters from the URL search query string ```js [js] getURLSearchParameters() ``` -### getURL +## getURL Returns the current URL ```js [js] getURL() ``` -### getDomain +## getDomain Returns the current domain ```js [js] getDomain() ``` -### getIP +## getIP Returns the current IP address ```js [js] getIP() ``` -### getPort +## getPort Returns the current port ```js [js] getPort() ``` -### getProtocol +## getProtocol Returns the current protocol (HTTP or HTTPS) ```js [js] getProtocol() ``` -### getReferrer +## getReferrer Returns the URL of the referring page (the page that linked to the current page) ```js [js] getReferrer() ``` -### getCachedData +## getCachedData Retrieves cached entries and optionally filters the entries based on a provided key ```js [js] getCachedData('abc') ``` -### isInContainer +## isInContainer Detects if the element is currently in the container via ID ```js [js] isInContainer(element, 'container') ``` -### isOverflowingY +## isOverflowingY Detects if the element is overflowing vertically ```js [js] isOverflowingY(element) ``` -### isOverflowingX +## isOverflowingX Detects if the element is overflowing horizontally ```js [js] isOverflowingX(element) ``` -### isScrollable +## isScrollable Detects if the element is scrollable (overflowing vertically or horizontally) ```js [js] isScrollable(element) ``` -### isElement +## isElement Detects if the elements is an HTML element ```js [js] diff --git a/docs/content/2.functions/formatters.md b/docs/content/2.functions/formatters.md new file mode 100644 index 00000000..59e614f0 --- /dev/null +++ b/docs/content/2.functions/formatters.md @@ -0,0 +1,34 @@ +# Formatters + +#### A collection of formatters for common data types + +## formatCurrency +Format numbers into local currency + +```js [js] +formatCurrency(1234.56) +``` + +```html [template] +{{ formatCurrency(1234.56) }} +``` + +```html [returns] +$1,234.56 +``` + +## formatTime +Format time into hours, minutes, and seconds + +```js [js] +formatTime(3723) +``` + +```html [template] +{{ formatTime(3723) }} +``` + +```html [returns] +1hr 2min 3s +``` + diff --git a/docs/content/2.functions/modifiers.md b/docs/content/2.functions/modifiers.md new file mode 100644 index 00000000..3dc2c827 --- /dev/null +++ b/docs/content/2.functions/modifiers.md @@ -0,0 +1,769 @@ +# Modifiers + +#### Modifiers are a key feature of Mods that allow you to easily modify and enhance your content. They are small pieces of code that can be applied to your JS to add functionality, validation or style. + +## widont +Adds a space between the last two words in a string. + +```js [js] +widont('Cool cool cool') +``` + +```html [template] +{{ widont('Cool cool cool') }} +``` + +```html [returns] +cool cool cool +``` + +## stripHtml +Strip HTML tags from a string. + +```js [js] +stripHtml('

Hello World

') +``` + +```html [template] +{{ stripHtml('

Hello World

') }} +``` + +```html [returns] +Hello World +``` + +## escapeHtml +Escape HTML entities in a string. + +```js [js] +escapeHtml('

Hello World

') +``` + +```html [template] +{{ escapeHtml('

Hello World

') }} +``` + +```html [returns] +<p>Hello World</p> +``` + +## showHtml +Unescape HTML entities in a string. + +```js [js] +unescapeHtml('<p>Hello World</p>') +``` + +```html [template] +{{ unescapeHtml('<p>Hello World</p>') }} +``` + +```html [returns] +

Hello World

+``` + +## stripTags +Strip HTML tags from a string. + +```js [js] +stripTags('

Hello World

') +``` + +```html [template] +{{ stripTags('

Hello World

') }} +``` + +```html [returns] +Hello World +``` + +## slugify +Converts a string to-a-slug. + +```js [js] +slugify('Hello World') +``` + +```html [template] +{{ slugify('Hello World') }} +``` + +```html [returns] +hello-world +``` + +## deslugify +Converts a slug to a string. + +```js [js] +deslugify('hello-world') +``` + +```html [template] +{{ deslugify('hello-world') }} +``` + +```html [returns] +hello world +``` + +## truncate +Truncates a string to a specified length of characters. + +```js [js] +truncate('Hello World', 5) +``` + +```html [template] +{{ truncate('Hello World', 5) }} +``` + +```html [returns] +Hello... +``` + +## truncateWords +Truncates a string by a number of words + +```js [js] +truncateWords('Hello World', 1) +``` + +```html [template] +{{ truncateWords('Hello World', 1) }} +``` + +```html [returns] +Hello... +``` + +## countWords +Counts the number of words in a string. + +```js [js] +countWords('Hello World') +``` + +```html [template] +{{ countWords('Hello World') }} +``` + +```html [returns] +2 +``` + +## countCharacters +Counts the number of characters in a string. + +```js [js] +countCharacters('Hello World') +``` + +```html [template] +{{ countCharacters('Hello World') }} +``` + +```html [returns] +11 +``` + +## countLines +Counts the number of lines in a string. + +```js [js] +countLines('Hello World') +``` + +```html [template] +{{ countLines('Hello World') }} +``` + +```html [returns] +1 +``` + +## stripWhitespace +Strips whitespace from a string. + +```js [js] +stripWhitespace('Hello World') +``` + +```html [template] +{{ stripWhitespace('Hello World') }} +``` + +```html [returns] +HelloWorld +``` + +## stripNumbers +Strips numbers from a string. + +```js [js] +stripNumbers('Hello World 123') +``` + +```html [template] +{{ stripNumbers('Hello World 123') }} +``` + +```html [returns] +Hello World +``` + +## stripPunctuation +Strips punctuation from a string. + +```js [js] +stripPunctuation('Hello World!') +``` + +```html [template] +{{ stripPunctuation('Hello World!') }} +``` + +```html [returns] +Hello World +``` + +## stripSymbols +Strips symbols from a string. + +```js [js] +stripSymbols('Hello World!') +``` + +```html [template] +{{ stripSymbols('Hello World!') }} +``` + +```html [returns] +Hello World +``` + +## stripEmojis +Strips emojis from a string (requires ES6 Unicode support) 🦊. + +```js [js] +stripEmojis('Hello World! 🦊') +``` + +```html [template] +{{ stripEmojis('Hello World! 🦊') }} +``` + +```html [returns] +Hello World! +``` + +## readingTime +Returns the reading time of a string in Hours, Minutes, and Seconds. + +```js [js] +readingTime('Once, in a vibrant online forum, lived Mod Max, guardian of digital harmony. Max cherished his old scooter, Swift, a symbol of freedom. Navigating both virtual and real worlds, they became legends. Trolls quivered, posts flourished, and lanes whizzed by. Swift’s wheels spun tales, and Max’s keys kept peace. Together, they discovered uncharted threads and hidden lanes. Their journey, an endless adventure, painted pixels and pavements with stories of unity and exhilaration, leaving a trail for all in the intertwined realms of screens and streets.') +``` + +```html [template] +{{ readingTime('Once, in a vibrant online forum, lived Mod Max, guardian of digital harmony. Max cherished his old scooter, Swift, a symbol of freedom. Navigating both virtual and real worlds, they became legends. Trolls quivered, posts flourished, and lanes whizzed by. Swift’s wheels spun tales, and Max’s keys kept peace. Together, they discovered uncharted threads and hidden lanes. Their journey, an endless adventure, painted pixels and pavements with stories of unity and exhilaration, leaving a trail for all in the intertwined realms of screens and streets.') }} +``` + +```html [returns] +1 minute +``` + +## pluralize +Adds plurals to a string. + +```js [js] +pluralize('scooter', 10) +``` + +```html [template] +{{ pluralize('scooter', 10) }} +``` + +```html [returns] +scooters +``` + +## singularize +Removes plurals from a string. + +```js [js] +singularize('scooters') +``` + +```html [template] +{{ singularize('scooters') }} +``` + +```html [returns] +scooter +``` + +## ordinalize +Converts a number to a string with ordinal suffix. + +```js [js] +ordinalize(1) +``` + +```html [template] +{{ ordinalize(1) }} +``` + +```html [returns] +1st +``` + +## humanize +Replaces underscores with spaces and capitalizes the first letter of each word. + +```js [js] +humanize('hello_world') +``` + +```html [template] +{{ humanize('hello_world') }} +``` + +```html [returns] +Hello World +``` + +## camelCase +Removes spaces and capitalizes the first letter of each word except for the first word. + +```js [js] +camelCase('hello world') +``` + +```html [template] +{{ camelCase('hello world') }} +``` + +```html [returns] +helloWorld +``` + +## pascalCase +Removes spaces and capitalizes the first letter of each word. + +```js [js] +pascalCase('hello world') +``` + +```html [template] +{{ pascalCase('hello world') }} +``` + +```html [returns] +HelloWorld +``` + +## snakeCase +Replaces spaces with underscores and converts to lowercase. + +```js [js] +snakeCase('hello world') +``` + +```html [template] +{{ snakeCase('hello world') }} +``` + +```html [returns] +hello_world +``` + +## kebabCase +Replaces spaces with hyphens and converts to lowercase. + +```js [js] +titleize('Hello World') +``` + +```html [template] +{{ titleize('Hello World') }} +``` + +```html [returns] +hello-world +``` + +## titleCase +Converts to title case by capitalizing the first letter of each word. + +```js [js] +titleCase('hello world') +``` + +```html [template] +{{ titleCase('hello world') }} +``` + +```html [returns] +Hello World +``` + +## sentenceCase +Converts to sentence case by capitalizing the first letter of the first word. + +```js [js] +sentenceCase('hello world') +``` + +```html [template] +{{ sentenceCase('hello world') }} +``` + +```html [returns] +Hello world +``` + +## startsWith +Adds a prefix to a string if it doesn't already start with the prefix. + +```js [js] +startsWith('usemods.com', 'https://') +``` + +```html [template] +{{ startsWith('usemods.com', 'https://') }} +``` + +```html [returns] +https://usemods.com +``` + +## startsWithout +Removes a prefix from a string if it starts with the prefix. + +```js [js] +startsWithout('https://usemods.com', 'https://') +``` + +```html [template] +{{ startsWithout('https://usemods.com', 'https://') }} +``` + +```html [returns] +usemods.com +``` + +## endsWith +Adds a suffix to a string if it doesn't already end with the suffix. + +```js [js] +endsWith('https://usemods', '.com') +``` + +```html [template] +{{ endsWith('https://usemods', '.com') }} +``` + +```html [returns] +https://usemods.com +``` + +## endsWithout +Removes a suffix from a string if it ends with the suffix. + +```js [js] +endsWithout('https://usemods.com.au', '.au') +``` + +```html [template] +{{ endsWithout('https://usemods.com.au', '.au') }} +``` + +```html [returns] +https://usemods.com +``` + +## surround +Adds a prefix and suffix to a string if it doesn't already start and end with them. + +```js [js] +surround('https://', 'usemods', '.com') +``` + +```html [template] +{{ surround('https://', 'usemods', '.com') }} +``` + +```html [returns] +https://usemods.com +``` + +## title +Converts a string to title case following the Chicago Manual of Style rules. + +```js [js] +title('the quick brown fox jumps over the lazy dog') +``` + +```html [template] +{{ title('the quick brown fox jumps over the lazy dog') }} +``` + +```html [returns] +The Quick Brown Fox Jumps over the Lazy Dog +``` + +## splitByWords +Wraps each word in a string with a span tag. + +```js [js] +splitByWords('Hello World. How are you?') +``` + +```html [template] +{{ splitByWords('Hello World. How are you?') }} +``` + +```html [returns] +Hello world. How are you? +``` + +## list +Creates an array of list items (`
  • `) from an array of strings. + +```js [js] +list(['one', 'two', 'three']) +``` + +```html [template] +{{ list(['one', 'two', 'three']) }} +``` + +```html [returns] +
    • one
    • two
    • three
    +``` + +## commaList +Create a string of comma-separated values from an array of strings with an optional conjunction. + +```js [js] +commaList(['one', 'two', 'three']) +``` + +```html [template] +{{ commaList(['one', 'two', 'three']) }} +``` + +```html [returns] +one, two and three +``` + +## truncateList +Create a string of comma-separated values with a limit and an optional conjunction. + +```js [js] +truncateList(['one', 'two', 'three', 'four', 'five'], 3) +``` + +```html [template] +{{ truncateList(['one', 'two', 'three', 'four', 'five'], 3) }} +``` + +```html [returns] +one, two, three and 2 more +``` + +## shuffle +Shuffles an array. + +```js [js] +shuffle(['one', 'two', 'three']) +``` + +```html [template] +{{ shuffle(['one', 'two', 'three']) }} +``` + +```html [returns] +['three', 'one', 'two'] +``` + +## difference +Returns the difference between two arrays. + +```js [js] +difference(['one', 'two', 'three'], ['one', 'two']) +``` + +```html [template] +{{ difference(['one', 'two', 'three'], ['one', 'two']) }} +``` + +```html [returns] +['three'] +``` + +## first +Returns the first item in an array. + +```js [js] +first(['one', 'two', 'three']) +``` + +```html [template] +{{ first(['one', 'two', 'three']) }} +``` + +```html [returns] +one +``` + +## last +Returns the last item in an array. + +```js [js] +last(['one', 'two', 'three']) +``` + +```html [template] +{{ last(['one', 'two', 'three']) }} +``` + +```html [returns] +three +``` + +## nth +Returns the nth item in an array. + +```js [js] +nth(['one', 'two', 'three'], 1) +``` + +```html [template] +{{ nth(['one', 'two', 'three'], 1) }} +``` + +```html [returns] +two +``` + +## offset +Offset the first item in an array. + +```js [js] +offset(['one', 'two', 'three'], 1) +``` + +```html [template] +{{ offset(['one', 'two', 'three'], 1) }} +``` + +```html [returns] +['two', 'three'] +``` + +## group +Groups an array of objects by a property. + +```js [js] +group([{ name: 'one' }, { name: 'two' }, { name: 'one' }], 'name') +``` + +```html [template] +{{ group([{ name: 'one' }, { name: 'two' }, { name: 'one' }], 'name') }} +``` + +```html [returns] +{ one: [{ name: 'one' }, { name: 'one' }], two: [{ name: 'two' }] } +``` + +## groupBy +Chunks an array into sections of a specified size. + +```js [js] +chunk(['one', 'two', 'three', 'four', 'five'], 2) +``` + +```html [template] +{{ chunk(['one', 'two', 'three', 'four', 'five'], 2) }} +``` + +```html [returns] +[['one', 'two'], ['three', 'four'], ['five']] +``` + +## flatten +Flatten an array of arrays. + +```js [js] +flatten([['one', 'two'], ['three', 'four'], ['five']]) +``` + +```html [template] +{{ flatten([['one', 'two'], ['three', 'four'], ['five']]) }} +``` + +```html [returns] +['one', 'two', 'three', 'four', 'five'] +``` + +## without +Returns an array with a filtered out property. + +```js [js] +without([{ name: 'one', food: 'apple' }, { name: 'two', food: 'grape' }, { name: 'one', food: 'pear' }], 'name') +``` + +```html [template] +{{ without([{ name: 'one', food: 'apple' }, { name: 'two', food: 'grape' }, { name: 'one', food: 'pear' }], 'name') }} +``` + +```html [returns] +[{ food: 'apple' }, { food: 'grape' }, { food: 'pear' }] +``` + +## combine +Combine two or more arrays + +```js [js] +combine(['one', 'two'], ['three', 'four'], ['five']) +``` + +```html [template] +{{ combine(['one', 'two'], ['three', 'four'], ['five']) }} +``` + +```html [returns] +['one', 'two', 'three', 'four', 'five'] +``` + +## reverse +Reverse an array. + +```js [js] +reverse(['one', 'two', 'three']) +``` + +```html [template] +{{ reverse(['one', 'two', 'three']) }} +``` + +```html [returns] +['three', 'two', 'one'] +``` + +## sortBy +Sort an array by a property. + +```js [js] +sortBy([{ name: 'John', age: 25 },{ name: 'Jane', age: 30 },{ name: 'Jill', age: 20 }], 'age') +``` + +```html [template] +{{ sortBy([{ name: 'John', age: 25 },{ name: 'Jane', age: 30 },{ name: 'Jill', age: 20 }], 'age') }} +``` + +```html [returns] +[{ name: 'Jill', age: 20 },{ name: 'John', age: 25 },{ name: 'Jane', age: 30 }] +``` + diff --git a/docs/content/2.functions/numbers.md b/docs/content/2.functions/numbers.md new file mode 100644 index 00000000..4ba7da02 --- /dev/null +++ b/docs/content/2.functions/numbers.md @@ -0,0 +1,107 @@ +#### This file contains functions that are related to numbers. + +## random +Generates a random integer between the specified minimum and maximum values. + +```js [js] +random(1, 10) +``` + +```html [template] +{{ random(1, 10) }} +``` + +```html [returns] +5 +``` + +## sum +Calculates the sum of an array of numbers. + +```js [js] +sum([1, 2, 3]) +``` + +```html [template] +{{ sum([1, 2, 3]) }} +``` + +```html [returns] +6 +``` + +## average +Calculates the average of an array of numbers. + +```js [js] +average([1, 2, 3]) +``` + +```html [template] +{{ average([1, 2, 3]) }} +``` + +```html [returns] +2 +``` + +## median +Calculates the median of an array of numbers. + +```js [js] +median([1, 2, 3]) +``` + +```html [template] +{{ median([1, 2, 3]) }} +``` + +```html [returns] +2 +``` + +## min +Finds the minimum value in an array of numbers. + +```js [js] +min([1, 2, 3]) +``` + +```html [template] +{{ min([1, 2, 3]) }} +``` + +```html [returns] +1 +``` + +## max +Finds the maximum value in an array of numbers. + +```js [js] +max([1, 2, 3]) +``` + +```html [template] +{{ max([1, 2, 3]) }} +``` + +```html [returns] +3 +``` + +## clamp +Clamps a number between the specified minimum and maximum values. + +```js [js] +clamp(1, 10, 20) +``` + +```html [template] +{{ clamp(1, 10, 20) }} +``` + +```html [returns] +10 +``` + diff --git a/docs/content/2.functions/validators.md b/docs/content/2.functions/validators.md new file mode 100644 index 00000000..5cbffb7a --- /dev/null +++ b/docs/content/2.functions/validators.md @@ -0,0 +1,724 @@ +# Validators + +#### A collection of validators for common data types + +## isEmail +Check if the input is a valid email address. + +```js [js] +isEmail('hello@usemods.com') +``` + +```html [template] +{{ isEmail('hello@usemods.com') }} +``` + +```html [returns] +true +``` + +## isNumber +Check if the input is a valid number. + +```js [js] +isNumber('123') +``` + +```html [template] +{{ isNumber('123') }} +``` + +```html [returns] +true +``` + +## isPhoneNumber +Check if the input is a valid phone number. + +```js [js] +isPhoneNumber('123-456-7890') +``` + +```html [template] +{{ isPhoneNumber('123-456-7890') }} +``` + +```html [returns] +true +``` + +## isURL +Check if the input is a valid URL. + +```js [js] +isURL('https://usemods.com') +``` + +```html [template] +{{ isURL('https://usemods.com') }} +``` + +```html [returns] +true +``` + +## isUUID +Check if the input is a valid UUID. + +```js [js] +isUUID('c9bf9e57-1685-4c89-bafb-ff5af830be8a') +``` + +```html [template] +{{ isUUID('c9bf9e57-1685-4c89-bafb-ff5af830be8a') }} +``` + +```html [returns] +true +``` + +## isJSON +Check if the input is a valid JSON string. + +```js [js] +isJSON('{"hello": "world"}') +``` + +```html [template] +{{ isJSON('{"hello": "world"}') }} +``` + +```html [returns] +true +``` + +## isHex +Check if the input is a valid hexadecimal color code. + +```js [js] +isHex('#fff') +``` + +```html [template] +{{ isHex('#fff') }} +``` + +```html [returns] +true +``` + +## isEmpty +Check if the input is an empty string. + +```js [js] +isEmpty('') +``` + +```html [template] +{{ isEmpty('') }} +``` + +```html [returns] +true +``` + +## isAlpha +Check if the input contains only alphabetic characters. + +```js [js] +isAlpha('hello') +``` + +```html [template] +{{ isAlpha('hello') }} +``` + +```html [returns] +true +``` + +## isAlphanumeric +Check if the input contains only alphanumeric characters. + +```js [js] +isAlphanumeric('hello123') +``` + +```html [template] +{{ isAlphanumeric('hello123') }} +``` + +```html [returns] +true +``` + +## isArray +Check if the input is an array. + +```js [js] +isArray([1, 2, 3]) +``` + +```html [template] +{{ isArray([1, 2, 3]) }} +``` + +```html [returns] +true +``` + +## isObject +Check if the input is an object. + +```js [js] +isObject({ hello: 'world' }) +``` + +```html [template] +{{ isObject({ hello: 'world' }) }} +``` + +```html [returns] +true +``` + +## isBoolean +Check if the input is a boolean value. + +```js [js] +isBoolean(true) +``` + +```html [template] +{{ isBoolean(true) }} +``` + +```html [returns] +true +``` + +## isFunction +Check if the input is a function. + +```js [js] +isFunction(() => {}) +``` + +```html [template] +{{ isFunction(() => {}) }} +``` + +```html [returns] +true +``` + +## isUndefined +Check if the input is undefined. + +```js [js] +isUndefined(undefined) +``` + +```html [template] +{{ isUndefined(undefined) }} +``` + +```html [returns] +true +``` + +## isNull +Check if the input is null. + +```js [js] +isNull(null) +``` + +```html [template] +{{ isNull(null) }} +``` + +```html [returns] +true +``` + +## isNaN +Check if the input is NaN (Not a Number). + +```js [js] +isNaN(NaN) +``` + +```html [template] +{{ isNaN(NaN) }} +``` + +```html [returns] +true +``` + +## isDate +Check if the input is a valid Date object. + +```js [js] +isDate(new Date()) +``` + +```html [template] +{{ isDate(new Date()) }} +``` + +```html [returns] +true +``` + +## isError +Check if the input is an Error object with a defined message. + +```js [js] +isError(new Error('hello')) +``` + +```html [template] +{{ isError(new Error('hello')) }} +``` + +```html [returns] +true +``` + +## isTime +Check if the input is a valid time in HH:mm format. + +```js [js] +isTime('12:00') +``` + +```html [template] +{{ isTime('12:00') }} +``` + +```html [returns] +true +``` + +## isLeapYear +Check if the input year is a leap year. + +```js [js] +isLeapYear(2020) +``` + +```html [template] +{{ isLeapYear(2020) }} +``` + +```html [returns] +true +``` + +## isSymbol +Check if the input is a symbol. + +```js [js] +isSymbol(Symbol('hello')) +``` + +```html [template] +{{ isSymbol(Symbol('hello')) }} +``` + +```html [returns] +true +``` + +## isPromise +Check if the input is a Promise object. + +```js [js] +isPromise(new Promise(() => {})) +``` + +```html [template] +{{ isPromise(new Promise(() => {})) }} +``` + +```html [returns] +true +``` + +## isSet +Check if the input is a Set object. + +```js [js] +isSet(new Set()) +``` + +```html [template] +{{ isSet(new Set()) }} +``` + +```html [returns] +true +``` + +## isMap +Check if the input is a Map object. + +```js [js] +isMap(new Map()) +``` + +```html [template] +{{ isMap(new Map()) }} +``` + +```html [returns] +true +``` + +## isWeakSet +Check if the input is a WeakSet object. + +```js [js] +isWeakSet(new WeakSet()) +``` + +```html [template] +{{ isWeakSet(new WeakSet()) }} +``` + +```html [returns] +true +``` + +## isEven +Check if the number is even. + +```js [js] +isEven(2) +``` + +```html [template] +{{ isEven(2) }} +``` + +```html [returns] +true +``` + +## isOdd +Check if the number is odd. + +```js [js] +isOdd(3) +``` + +```html [template] +{{ isOdd(3) }} +``` + +```html [returns] +true +``` + +## isPositive +Check if the number is positive. + +```js [js] +isPositive(1) +``` + +```html [template] +{{ isPositive(1) }} +``` + +```html [returns] +true +``` + +## isNegative +Check if the number is negative. + +```js [js] +isNegative(-1) +``` + +```html [template] +{{ isNegative(-1) }} +``` + +```html [returns] +true +``` + +## isPrime +Check if the number is a prime number. + +```js [js] +isPrime(7) +``` + +```html [template] +{{ isPrime(7) }} +``` + +```html [returns] +true +``` + +## isOptimusPrime +Check if the string is equal to "Optimus Prime". + +```js [js] +isOptimusPrime('Optimus Prime') +``` + +```html [template] +{{ isOptimusPrime('Optimus Prime') }} +``` + +```html [returns] +true +``` + +## isPalindrome +Check if the string is a palindrome. + +```js [js] +isPalindrome('racecar') +``` + +```html [template] +{{ isPalindrome('racecar') }} +``` + +```html [returns] +true +``` + +## isInteger +Check if the number is an integer. + +```js [js] +isInteger(1) +``` + +```html [template] +{{ isInteger(1) }} +``` + +```html [returns] +true +``` + +## isFloat +Check if the number is a float. + +```js [js] +isFloat(1.5) +``` + +```html [template] +{{ isFloat(1.5) }} +``` + +```html [returns] +true +``` + +## isBetween +Check if the number is between the specified range. + +```js [js] +isBetween(5, 1, 10) +``` + +```html [template] +{{ isBetween(5, 1, 10) }} +``` + +```html [returns] +true +``` + +## isDivisibleBy +Check if the number is divisible by the specified number. + +```js [js] +isDivisibleBy(10, 2) +``` + +```html [template] +{{ isDivisibleBy(10, 2) }} +``` + +```html [returns] +true +``` + +## isCreditCardNumber +Check if the input is a valid credit card number. + +```js [js] +isCreditCardNumber('4242424242424242') +``` + +```html [template] +{{ isCreditCardNumber('4242424242424242') }} +``` + +```html [returns] +true +``` + +## isIPAddress +Check if the input is a valid IP address. + +```js [js] +isIPAddress('127.0.0.0') +``` + +```html [template] +{{ isIPAddress('127.0.0.0') }} +``` + +```html [returns] +true +``` + +## isMACAddress +Check if the input is a valid MAC address. + +```js [js] +isMACAddress('00:00:00:00:00:00') +``` + +```html [template] +{{ isMACAddress('00:00:00:00:00:00') }} +``` + +```html [returns] +true +``` + +## isLatLong +Check if the input is a valid latitude-longitude coordinate in the format lat,long or lat, long. + +```js [js] +isLatLong('40.741895,-73.989308') +``` + +```html [template] +{{ isLatLong('40.741895,-73.989308') }} +``` + +```html [returns] +true +``` + +## isLatitude +Check if the input is a valid latitude coordinate. + +```js [js] +isLatitude('40.741895') +``` + +```html [template] +{{ isLatitude('40.741895') }} +``` + +```html [returns] +true +``` + +## isLongitude +Check if the input is a valid longitude coordinate. + +```js [js] +isLongitude('-73.989308') +``` + +```html [template] +{{ isLongitude('-73.989308') }} +``` + +```html [returns] +true +``` + +## isPresent +Checks if a property and value pair exists in an object. + +```js [js] +isPresent({ hello: 'world' }, 'hello', 'world') +``` + +```html [template] +{{ isPresent({ hello: 'world' }, 'hello', 'world') }} +``` + +```html [returns] +true +``` + +## isIBAN +Check if the input is a valid IBAN. + +```js [js] +isIBAN('NL39RABO0300065264') +``` + +```html [template] +{{ isIBAN('NL39RABO0300065264') }} +``` + +```html [returns] +true +``` + +## isBIC +Check if the input is a valid BIC. + +```js [js] +isBIC('RABONL2U') +``` + +```html [template] +{{ isBIC('RABONL2U') }} +``` + +```html [returns] +true +``` + +## isPort +Check if the input is a valid port number. + +```js [js] +isPort(3000) +``` + +```html [template] +{{ isPort(3000) }} +``` + +```html [returns] +true +``` + +## isISBN +Check if the input is a valid IBAN. + +```js [js] +isIBAN('NL39RABO0300065264') +``` + +```html [template] +{{ isIBAN('NL39RABO0300065264') }} +``` + +```html [returns] +true +``` + diff --git a/docs/mods.ts b/docs/mods.ts new file mode 100644 index 00000000..2ee1c677 --- /dev/null +++ b/docs/mods.ts @@ -0,0 +1,108 @@ +import * as fs from "fs" +import * as path from "path" + +// Define the directory path +const directoryPath = path.resolve("../package/src/") + +// Get a list of all files in the directory +const files = fs.readdirSync(directoryPath) + +// Filter the list to only include .ts files +const tsFiles = files.filter((file) => path.extname(file) === ".ts") + +// Loop through each .ts file +tsFiles.forEach((tsFile) => { + // Define the path of the TypeScript file + const tsFilePath = path.resolve(directoryPath, tsFile) + + // Read the content of the TypeScript file + const tsContent = fs.readFileSync(tsFilePath, "utf-8") + + // Define a regex pattern to match JSDoc comments and function declarations + const functionPattern = + /\/\*\*[\s\S]*?\*\/\s*export function [a-zA-Z0-9_]+\s*\([^)]*\)\s*{[\s\S]*?}/gm + + // Find all functions with their JSDoc comments in the TypeScript file + const functions = tsContent.match(functionPattern) + + // Initialize the Markdown content for this file + let markdownContent = "" + + // Extract the page title and description from the top page comments + const pageTitleMatch = tsContent.match(/\/\/\s+title:\s+([^\r\n]*)/) + const pageDescriptionMatch = tsContent.match( + /\/\/\s+description:\s+([^\r\n]*)/ + ) + + if (pageTitleMatch) { + markdownContent += `# ${pageTitleMatch[1]}\n\n` + } + + if (pageDescriptionMatch) { + markdownContent += `#### ${pageDescriptionMatch[1]}\n\n` + } + + // Check if any functions were found + if (functions) { + // Loop through each function and extract information + functions.forEach((func) => { + // Extract the function name + const functionNameMatch = func.match(/function\s+([a-zA-Z0_9_]+)/) + const functionName = functionNameMatch ? functionNameMatch[1] : "" + + // Extract the JSDoc comment + const jsDocCommentMatch = func.match(/\/\*\*[\s\S]*?\*\//) + const jsDocComment = jsDocCommentMatch ? jsDocCommentMatch[0] : "" + + // Extract the description from the JSDoc comment + const description = jsDocComment + .split("\n") + .map((line) => + line + .trim() + .replace(/\/?\*+/g, "") + .trim() + ) + .filter((line) => !line.startsWith("@")) + .join(" ") + .replace(/\/$/, "") + .trim() + + // Extract the example usage from the JSDoc comment + const example = + (jsDocComment.match(/@example\s+([^\r\n]*)/) || [])[1] || "" + const returns = + (jsDocComment.match(/@returns\s+([^\r\n]*)/) || [])[1] || "" + + // Add the extracted information to the Markdown content + markdownContent += `## ${functionName}\n` + markdownContent += `${description}\n\n` + if (example) { + markdownContent += "```js [js]\n" + example + "\n" + "```\n\n" + } + if (returns) { + markdownContent += "```html [returns]\n" + returns + "\n" + "```\n\n" + } + + // Add any additional content or formatting as needed + }) + + markdownContent = markdownContent.replace(/\n\n\n/g, "\n\n") + + // Define the output path for the Markdown file for this TypeScript file + const outputFilePath = path.resolve( + "./content/2.functions", + `${path.basename(tsFile, ".ts")}.md` + ) + + // Write the Markdown content to a file + fs.writeFileSync(outputFilePath, markdownContent) + + console.log( + "Markdown documentation generated for:", + tsFile, + "at:", + outputFilePath + ) + } +}) diff --git a/docs/nuxt.config.ts b/docs/nuxt.config.ts new file mode 100755 index 00000000..e30729b1 --- /dev/null +++ b/docs/nuxt.config.ts @@ -0,0 +1,11 @@ +export default defineNuxtConfig({ + extends: "@nuxt-themes/docus", + modules: [ + "@nuxtjs/plausible", + "nuxt-vitest", + "@nuxt/devtools", + "../nuxt-module/src/module", + ], + vitest: {}, + devtools: true, +}) diff --git a/output.md b/docs/output.md similarity index 100% rename from output.md rename to docs/output.md diff --git a/package-lock.json b/docs/package-lock.json similarity index 99% rename from package-lock.json rename to docs/package-lock.json index 9be944ff..61c0b6f7 100644 --- a/package-lock.json +++ b/docs/package-lock.json @@ -9,9 +9,13 @@ "version": "1.0.0", "license": "MIT", "dependencies": { + "@types/web": "^0.0.119", "bun": "^1.0.0", + "bun-plugin-dts": "^0.2.1", + "bun-types": "^1.0.7", "ts-morph": "^19.0.0", - "typedoc-plugin-markdown": "^3.16.0" + "typedoc-plugin-markdown": "^3.16.0", + "typescript": "^5.2.2" }, "devDependencies": { "@nuxt-themes/docus": "^1.13.1", @@ -2563,6 +2567,11 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/web": { + "version": "0.0.119", + "resolved": "https://registry.npmjs.org/@types/web/-/web-0.0.119.tgz", + "integrity": "sha512-CQVOcEWrxr0MXbQbR3rrw6GHo2mcr8WlhLHQkOKDhhySTjz15/35jk0Zm2FbHRyCvSEjr/J7A2iDD5GRrGxE2A==" + }, "node_modules/@types/web-bluetooth": { "version": "0.0.16", "dev": true, @@ -3842,7 +3851,6 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -3855,7 +3863,6 @@ }, "node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -4428,6 +4435,20 @@ "@oven/bun-linux-x64-baseline": "1.0.1" } }, + "node_modules/bun-plugin-dts": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/bun-plugin-dts/-/bun-plugin-dts-0.2.1.tgz", + "integrity": "sha512-rDU6i4oN43t/OMn0b0BnIeUzRSigTDHuT3dSxS7L14Uz/PVRD+rQDKeQE9IMCXJkhB9Hsny2RkI9CW2utTWLIw==", + "dependencies": { + "dts-bundle-generator": "^8.0.1", + "get-tsconfig": "^4.7.0" + } + }, + "node_modules/bun-types": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.0.11.tgz", + "integrity": "sha512-XaDwjnBlkdTOtBEAcXhDnPSKFMlwFK/526z0iyairYIDhZJMzZM1QU4D7XRiEI2SpKQWexn0S/LN9Mwx5xSJNg==" + }, "node_modules/bundle-name": { "version": "3.0.0", "dev": true, @@ -4910,7 +4931,6 @@ }, "node_modules/cliui": { "version": "8.0.1", - "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -4923,7 +4943,6 @@ }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -4936,12 +4955,10 @@ }, "node_modules/cliui/node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -4969,7 +4986,6 @@ }, "node_modules/color-convert": { "version": "2.0.1", - "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -4980,7 +4996,6 @@ }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, "license": "MIT" }, "node_modules/color-support": { @@ -5873,6 +5888,21 @@ "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, + "node_modules/dts-bundle-generator": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/dts-bundle-generator/-/dts-bundle-generator-8.1.2.tgz", + "integrity": "sha512-/yvy9Xw0cfFodA8n6jEq8/COZ/WXgJtPabnLBAzIfP/TfxWbD/0a0dvfqNHneNqswQrH0kUcaAfGJC9UNvH97w==", + "dependencies": { + "typescript": ">=5.0.2", + "yargs": "^17.6.0" + }, + "bin": { + "dts-bundle-generator": "dist/bin/dts-bundle-generator.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/duplexer": { "version": "0.1.2", "dev": true, @@ -6118,7 +6148,6 @@ }, "node_modules/escalade": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -6769,7 +6798,6 @@ }, "node_modules/get-caller-file": { "version": "2.0.5", - "dev": true, "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" @@ -6815,7 +6843,6 @@ }, "node_modules/get-tsconfig": { "version": "4.7.0", - "dev": true, "license": "MIT", "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -8009,7 +8036,6 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -16584,7 +16610,6 @@ }, "node_modules/require-directory": { "version": "2.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -16616,7 +16641,6 @@ }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" @@ -17475,7 +17499,6 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -19672,7 +19695,6 @@ }, "node_modules/y18n": { "version": "5.0.8", - "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -19693,7 +19715,6 @@ }, "node_modules/yargs": { "version": "17.7.2", - "dev": true, "license": "MIT", "dependencies": { "cliui": "^8.0.1", @@ -19710,7 +19731,6 @@ }, "node_modules/yargs-parser": { "version": "21.1.1", - "dev": true, "license": "ISC", "engines": { "node": ">=12" @@ -19718,7 +19738,6 @@ }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", - "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -19731,7 +19750,6 @@ }, "node_modules/yargs/node_modules/string-width/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "license": "MIT" }, "node_modules/yauzl": { diff --git a/package.json b/docs/package.json similarity index 80% rename from package.json rename to docs/package.json index 1d9c4204..72d6c316 100755 --- a/package.json +++ b/docs/package.json @@ -7,7 +7,6 @@ "type": "module", "scripts": { "dev": "nuxi dev", - "docs": "bun run --watch docs.ts", "build": "nuxi build", "generate": "nuxi generate", "preview": "nuxi preview", @@ -15,8 +14,13 @@ "release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags", "test": "vitest run", "test:watch": "vitest watch", - "dist": "bun build ./build.ts" + "dist": "bun build ./build.ts", + "build:package": "bun run build.mjs", + "prepublishOnly": "bun run build" }, + "files": [ + "dist" + ], "devDependencies": { "@nuxt-themes/docus": "^1.13.1", "@nuxt/content": "^2.8.2", @@ -34,6 +38,10 @@ "vitest": "^0.33.0" }, "dependencies": { + "@types/web": "^0.0.119", + "bun-plugin-dts": "^0.2.1", + "bun-types": "^1.0.7", + "typescript": "^5.2.2", "bun": "^1.0.0", "ts-morph": "^19.0.0", "typedoc-plugin-markdown": "^3.16.0" diff --git a/public/cover.png b/docs/public/cover.png similarity index 100% rename from public/cover.png rename to docs/public/cover.png diff --git a/public/favicon.ico b/docs/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to docs/public/favicon.ico diff --git a/public/logo.svg b/docs/public/logo.svg similarity index 100% rename from public/logo.svg rename to docs/public/logo.svg diff --git a/renovate.json b/docs/renovate.json similarity index 100% rename from renovate.json rename to docs/renovate.json diff --git a/tokens.config.ts b/docs/tokens.config.ts similarity index 100% rename from tokens.config.ts rename to docs/tokens.config.ts diff --git a/tsconfig.json b/docs/tsconfig.json similarity index 100% rename from tsconfig.json rename to docs/tsconfig.json diff --git a/typedoc.json b/docs/typedoc.json similarity index 100% rename from typedoc.json rename to docs/typedoc.json diff --git a/vitest.config.mjs b/docs/vitest.config.mjs similarity index 100% rename from vitest.config.mjs rename to docs/vitest.config.mjs diff --git a/nuxt-module/README.md b/nuxt-module/README.md new file mode 100644 index 00000000..d366d01e --- /dev/null +++ b/nuxt-module/README.md @@ -0,0 +1,91 @@ + + +# My Module + +[![npm version][npm-version-src]][npm-version-href] +[![npm downloads][npm-downloads-src]][npm-downloads-href] +[![License][license-src]][license-href] +[![Nuxt][nuxt-src]][nuxt-href] + +My new Nuxt module for doing amazing things. + +- [✨  Release Notes](/CHANGELOG.md) + + + +## Features + + + +- ⛰  Foo +- 🚠  Bar +- 🌲  Baz + +## Quick Setup + +1. Add `mods-module` dependency to your project + +```bash +# Using pnpm +pnpm add -D mods-module + +# Using yarn +yarn add --dev mods-module + +# Using npm +npm install --save-dev mods-module +``` + +2. Add `mods-module` to the `modules` section of `nuxt.config.ts` + +```js +export default defineNuxtConfig({ + modules: ["mods-module"], +}) +``` + +That's it! You can now use My Module in your Nuxt app ✨ + +## Development + +```bash +# Install dependencies +npm install + +# Generate type stubs +npm run dev:prepare + +# Develop with the playground +npm run dev + +# Build the playground +npm run dev:build + +# Run ESLint +npm run lint + +# Run Vitest +npm run test +npm run test:watch + +# Release new version +npm run release +``` + + + +[npm-version-src]: https://img.shields.io/npm/v/mods-module/latest.svg?style=flat&colorA=18181B&colorB=28CF8D +[npm-version-href]: https://npmjs.com/package/mods-module +[npm-downloads-src]: https://img.shields.io/npm/dm/mods-module.svg?style=flat&colorA=18181B&colorB=28CF8D +[npm-downloads-href]: https://npmjs.com/package/mods-module +[license-src]: https://img.shields.io/npm/l/mods-module.svg?style=flat&colorA=18181B&colorB=28CF8D +[license-href]: https://npmjs.com/package/mods-module +[nuxt-src]: https://img.shields.io/badge/Nuxt-18181B?logo=nuxt.js +[nuxt-href]: https://nuxt.com diff --git a/nuxt-module/package-lock.json b/nuxt-module/package-lock.json new file mode 100644 index 00000000..0a660cb1 --- /dev/null +++ b/nuxt-module/package-lock.json @@ -0,0 +1,12128 @@ +{ + "name": "mods-module", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mods-module", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "@nuxt/kit": "^3.8.1" + }, + "devDependencies": { + "@nuxt/devtools": "latest", + "@nuxt/eslint-config": "^0.2.0", + "@nuxt/module-builder": "^0.5.3", + "@nuxt/schema": "^3.8.1", + "@nuxt/test-utils": "^3.8.1", + "@types/node": "^20.8.10", + "changelogen": "^0.5.5", + "eslint": "^8.53.0", + "nuxt": "^3.8.1", + "vitest": "^0.33.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@antfu/utils": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz", + "integrity": "sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", + "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.2", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.2.tgz", + "integrity": "sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.2.tgz", + "integrity": "sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.22.10" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", + "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.15.tgz", + "integrity": "sha512-1uirS0TnijxvQLnlv5wQBwOX3E1wCFX7ITv+9pBV2wKEk4K+M5tqDaoNXnTH8tjEIYHLO98MwiTWO04Ggz4XuA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/standalone": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.23.2.tgz", + "integrity": "sha512-VJNw7OS26JvB6rE9XpbT6uQeQIEBWU5eeHGS4VR/+/4ZoKdLBXLcy66ZVJ/9IBkK1RMp8B0cohvhzdKWtJAGmg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@cloudflare/kv-asset-handler": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.0.tgz", + "integrity": "sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==", + "dev": true, + "dependencies": { + "mime": "^3.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.5.tgz", + "integrity": "sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.5.tgz", + "integrity": "sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.5.tgz", + "integrity": "sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.5.tgz", + "integrity": "sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.5.tgz", + "integrity": "sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.5.tgz", + "integrity": "sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.5.tgz", + "integrity": "sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.5.tgz", + "integrity": "sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.5.tgz", + "integrity": "sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.5.tgz", + "integrity": "sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.5.tgz", + "integrity": "sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.5.tgz", + "integrity": "sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.5.tgz", + "integrity": "sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.5.tgz", + "integrity": "sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.5.tgz", + "integrity": "sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.5.tgz", + "integrity": "sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.5.tgz", + "integrity": "sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.5.tgz", + "integrity": "sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.5.tgz", + "integrity": "sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.5.tgz", + "integrity": "sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.5.tgz", + "integrity": "sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.5.tgz", + "integrity": "sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", + "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "node_modules/@ioredis/commands": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", + "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "dev": true + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@netlify/functions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.3.0.tgz", + "integrity": "sha512-E3kzXPWMP/r1rAWhjTaXcaOT47dhEvg/eQUJjRLhD9Zzp0WqkdynHr+bqff4rFNv6tuXrtFZrpbPJFKHH0c0zw==", + "dev": true, + "dependencies": { + "@netlify/serverless-functions-api": "1.9.0", + "is-promise": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@netlify/node-cookies": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", + "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==", + "dev": true, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, + "node_modules/@netlify/serverless-functions-api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.9.0.tgz", + "integrity": "sha512-Jq4uk1Mwa5vyxImupJYXPP+I5yYcp3PtguvXtJRutKdm9DPALXfZVtCQzBWMNdZiqVWCM3La9hvaBsPjSMfeug==", + "dev": true, + "dependencies": { + "@netlify/node-cookies": "^0.1.0", + "urlpattern-polyfill": "8.0.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/agent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.0.tgz", + "integrity": "sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dev": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.3.tgz", + "integrity": "sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "dev": true, + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.0.tgz", + "integrity": "sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==", + "dev": true, + "dependencies": { + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.2.tgz", + "integrity": "sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@nuxt/devalue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@nuxt/devalue/-/devalue-2.0.2.tgz", + "integrity": "sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==", + "dev": true + }, + "node_modules/@nuxt/devtools": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nuxt/devtools/-/devtools-1.0.0.tgz", + "integrity": "sha512-pM5AvystXlFPYOsGbH8PBxEYkttiEWHsZnGw660iMw8QedB6mAweT21XX9LDS69cqnRY5uTFqVOmO9Y4EYL3hg==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.6", + "@nuxt/devtools-kit": "1.0.0", + "@nuxt/devtools-wizard": "1.0.0", + "@nuxt/kit": "^3.7.4", + "birpc": "^0.2.14", + "consola": "^3.2.3", + "destr": "^2.0.1", + "error-stack-parser-es": "^0.1.1", + "execa": "^7.2.0", + "fast-glob": "^3.3.1", + "flatted": "^3.2.9", + "get-port-please": "^3.1.1", + "global-dirs": "^3.0.1", + "h3": "^1.8.2", + "hookable": "^5.5.3", + "image-meta": "^0.1.1", + "is-installed-globally": "^0.4.0", + "launch-editor": "^2.6.1", + "local-pkg": "^0.5.0", + "magicast": "^0.3.0", + "nitropack": "^2.6.3", + "nypm": "^0.3.3", + "ofetch": "^1.3.3", + "ohash": "^1.1.3", + "pacote": "^17.0.4", + "pathe": "^1.1.1", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.0.3", + "rc9": "^2.1.1", + "scule": "^1.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sirv": "^2.0.3", + "unimport": "^3.4.0", + "vite-plugin-inspect": "^0.7.40", + "vite-plugin-vue-inspector": "^4.0.0", + "which": "^3.0.1", + "ws": "^8.14.2" + }, + "bin": { + "devtools": "cli.mjs" + }, + "peerDependencies": { + "nuxt": "^3.7.4", + "vite": "*" + } + }, + "node_modules/@nuxt/devtools-kit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nuxt/devtools-kit/-/devtools-kit-1.0.0.tgz", + "integrity": "sha512-cNloBepQYCBW6x/ctfCvyYRZudxhfgh5w5JDswpCzn7KXmm8U6abG2jyT0FXIaceW1d5QYMpGCN1RUw24wSvOA==", + "dev": true, + "dependencies": { + "@nuxt/kit": "^3.7.4", + "@nuxt/schema": "^3.7.4", + "execa": "^7.2.0" + }, + "peerDependencies": { + "nuxt": "^3.7.4", + "vite": "*" + } + }, + "node_modules/@nuxt/devtools-wizard": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nuxt/devtools-wizard/-/devtools-wizard-1.0.0.tgz", + "integrity": "sha512-9OeZM2/Y4VuI06gdlDjmYM8yUzdfnywy4t2u2VAEfA2Lk7vk3U1lYn51IAqr+Gits9tp/Q9OiktMWmPLLNGgFw==", + "dev": true, + "dependencies": { + "consola": "^3.2.3", + "diff": "^5.1.0", + "execa": "^7.2.0", + "global-dirs": "^3.0.1", + "magicast": "^0.3.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "prompts": "^2.4.2", + "rc9": "^2.1.1", + "semver": "^7.5.4" + }, + "bin": { + "devtools-wizard": "cli.mjs" + } + }, + "node_modules/@nuxt/eslint-config": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@nuxt/eslint-config/-/eslint-config-0.2.0.tgz", + "integrity": "sha512-NeJX8TLcnNAjQFiDs3XhP+9CHKK8jaKsP7eUyCSrQdgY7nqWe7VJx64lwzx5FTT4cW3RHMEyH+Y0qzLGYYoa/A==", + "dev": true, + "dependencies": { + "@rushstack/eslint-patch": "^1.3.3", + "@typescript-eslint/eslint-plugin": "^6.5.0", + "@typescript-eslint/parser": "^6.5.0", + "eslint-plugin-vue": "^9.17.0", + "typescript": "^5.2.2" + }, + "peerDependencies": { + "eslint": "^8.48.0" + } + }, + "node_modules/@nuxt/kit": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.8.1.tgz", + "integrity": "sha512-DrhG1Z85iH68QOTkgfb0HVfM2g7+CfcMWrFWMDwck9ofyM2RXQUZyfmvMedwBnui1AjjpgpLO9078yZM+RqNUg==", + "dependencies": { + "@nuxt/schema": "3.8.1", + "c12": "^1.5.1", + "consola": "^3.2.3", + "defu": "^6.1.3", + "globby": "^13.2.2", + "hash-sum": "^2.0.0", + "ignore": "^5.2.4", + "jiti": "^1.21.0", + "knitwork": "^1.0.0", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.0.0", + "semver": "^7.5.4", + "ufo": "^1.3.1", + "unctx": "^2.3.1", + "unimport": "^3.4.0", + "untyped": "^1.4.0" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/@nuxt/module-builder": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@nuxt/module-builder/-/module-builder-0.5.4.tgz", + "integrity": "sha512-lCPh8s8LSfYqHgIMMsctDhz+AX1z6TnATkUes/GXc/No4kApC0zmJkQWrbtDRjmsWjElwl1kE7l7OzYdYc3d4w==", + "dev": true, + "dependencies": { + "citty": "^0.1.4", + "consola": "^3.2.3", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "unbuild": "^2.0.0" + }, + "bin": { + "nuxt-build-module": "dist/cli.mjs", + "nuxt-module-build": "dist/cli.mjs" + }, + "peerDependencies": { + "@nuxt/kit": "^3.8.1", + "nuxi": "^3.9.1" + } + }, + "node_modules/@nuxt/schema": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.8.1.tgz", + "integrity": "sha512-fSaWRcI/2mUskfTZTGSnH6Ny0x05CRzylbVn6WFV0d6UEKIVy42Qd6n+h7yoFfp4cq4nji6u16PT4SqS1DEhsw==", + "dependencies": { + "@nuxt/ui-templates": "^1.3.1", + "consola": "^3.2.3", + "defu": "^6.1.3", + "hookable": "^5.5.3", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "std-env": "^3.4.3", + "ufo": "^1.3.1", + "unimport": "^3.4.0", + "untyped": "^1.4.0" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/@nuxt/telemetry": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.5.2.tgz", + "integrity": "sha512-kZ+rWq/5MZonMhp8KGFI5zMaR2VsiWpnlkOLJIuIX2WoJl0DkHvtxCtuFq2erAqMVruWLpKU+tgMC+1cno/QmA==", + "dev": true, + "dependencies": { + "@nuxt/kit": "^3.7.4", + "ci-info": "^3.8.0", + "consola": "^3.2.3", + "create-require": "^1.1.1", + "defu": "^6.1.2", + "destr": "^2.0.1", + "dotenv": "^16.3.1", + "git-url-parse": "^13.1.0", + "is-docker": "^3.0.0", + "jiti": "^1.20.0", + "mri": "^1.2.0", + "nanoid": "^4.0.2", + "ofetch": "^1.3.3", + "parse-git-config": "^3.0.0", + "pathe": "^1.1.1", + "rc9": "^2.1.1", + "std-env": "^3.4.3" + }, + "bin": { + "nuxt-telemetry": "bin/nuxt-telemetry.mjs" + } + }, + "node_modules/@nuxt/telemetry/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/test-utils": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@nuxt/test-utils/-/test-utils-3.8.1.tgz", + "integrity": "sha512-8ZQ+OZ7z5Sc5KG2aCvk0piheYSpGb2UQJMCWr8ORwEyZIw4awrkkwGzUY06e344E4StvJB8zxN122MEcFNOkow==", + "dev": true, + "dependencies": { + "@nuxt/kit": "3.8.1", + "@nuxt/schema": "3.8.1", + "consola": "^3.2.3", + "defu": "^6.1.3", + "execa": "^8.0.1", + "get-port-please": "^3.1.1", + "ofetch": "^1.3.3", + "pathe": "^1.1.1", + "ufo": "^1.3.1" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + }, + "peerDependencies": { + "@jest/globals": "^29.5.0", + "playwright-core": "^1.34.3", + "vitest": "^0.30.0 || ^0.31.0 || ^0.32.0 || ^0.33.0", + "vue": "^3.3.4" + }, + "peerDependenciesMeta": { + "@jest/globals": { + "optional": true + }, + "playwright-core": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@nuxt/test-utils/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@nuxt/test-utils/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/test-utils/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/@nuxt/test-utils/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nuxt/ui-templates": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@nuxt/ui-templates/-/ui-templates-1.3.1.tgz", + "integrity": "sha512-5gc02Pu1HycOVUWJ8aYsWeeXcSTPe8iX8+KIrhyEtEoOSkY0eMBuo0ssljB8wALuEmepv31DlYe5gpiRwkjESA==" + }, + "node_modules/@nuxt/vite-builder": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-3.8.1.tgz", + "integrity": "sha512-Ot/twGONxj22T9U4bxp771ibKVFlZxIiYDHY/e6mZsE4Blc0efKo6MzPPPo0W4/tXQbtKKEq41uINN3dMI3mag==", + "dev": true, + "dependencies": { + "@nuxt/kit": "3.8.1", + "@rollup/plugin-replace": "^5.0.5", + "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "autoprefixer": "^10.4.16", + "clear": "^0.1.0", + "consola": "^3.2.3", + "cssnano": "^6.0.1", + "defu": "^6.1.3", + "esbuild": "^0.19.5", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "externality": "^1.0.2", + "fs-extra": "^11.1.1", + "get-port-please": "^3.1.1", + "h3": "^1.8.2", + "knitwork": "^1.0.0", + "magic-string": "^0.30.5", + "mlly": "^1.4.2", + "ohash": "^1.1.3", + "pathe": "^1.1.1", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.0.3", + "postcss": "^8.4.31", + "rollup-plugin-visualizer": "^5.9.2", + "std-env": "^3.4.3", + "strip-literal": "^1.3.0", + "ufo": "^1.3.1", + "unplugin": "^1.5.0", + "vite": "^4.5.0", + "vite-node": "^0.33.0", + "vite-plugin-checker": "^0.6.2", + "vue-bundle-renderer": "^2.0.0" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + }, + "peerDependencies": { + "vue": "^3.3.4" + } + }, + "node_modules/@nuxt/vite-builder/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/vite-builder/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.3.0.tgz", + "integrity": "sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.3.0", + "@parcel/watcher-darwin-arm64": "2.3.0", + "@parcel/watcher-darwin-x64": "2.3.0", + "@parcel/watcher-freebsd-x64": "2.3.0", + "@parcel/watcher-linux-arm-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-glibc": "2.3.0", + "@parcel/watcher-linux-arm64-musl": "2.3.0", + "@parcel/watcher-linux-x64-glibc": "2.3.0", + "@parcel/watcher-linux-x64-musl": "2.3.0", + "@parcel/watcher-win32-arm64": "2.3.0", + "@parcel/watcher-win32-ia32": "2.3.0", + "@parcel/watcher-win32-x64": "2.3.0" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz", + "integrity": "sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz", + "integrity": "sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz", + "integrity": "sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz", + "integrity": "sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz", + "integrity": "sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz", + "integrity": "sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz", + "integrity": "sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz", + "integrity": "sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz", + "integrity": "sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-wasm": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz", + "integrity": "sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==", + "bundleDependencies": [ + "napi-wasm" + ], + "dev": true, + "dependencies": { + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "napi-wasm": "^1.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz", + "integrity": "sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz", + "integrity": "sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz", + "integrity": "sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.23", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.23.tgz", + "integrity": "sha512-C16M+IYz0rgRhWZdCmK+h58JMv8vijAA61gmz2rspCSwKwzBebpdcsiUmwrtJRdphuY30i6BSLEOP8ppbNLyLg==", + "dev": true + }, + "node_modules/@rollup/plugin-alias": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.0.1.tgz", + "integrity": "sha512-JObvbWdOHoMy9W7SU0lvGhDtWq9PllP5mjpAy+TUslZG/WzOId9u80Hsqq1vCUn9pFJ0cxpdcnAv+QzU2zFH3Q==", + "dev": true, + "dependencies": { + "slash": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "25.0.7", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz", + "integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-inject": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", + "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-json": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.1.tgz", + "integrity": "sha512-RgVfl5hWMkxN1h/uZj8FVESvPuBJ/uf6ly6GTj0GONnkfoBN5KC0MSz+PN2OLDgYXMhtG0mWpTrkiOjoxAIevw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.5.tgz", + "integrity": "sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "magic-string": "^0.30.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-wasm": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-wasm/-/plugin-wasm-6.2.2.tgz", + "integrity": "sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.5.tgz", + "integrity": "sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", + "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==", + "dev": true + }, + "node_modules/@sigstore/bundle": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.0.tgz", + "integrity": "sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.0.tgz", + "integrity": "sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.2.0.tgz", + "integrity": "sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1", + "tuf-js": "^2.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.0.tgz", + "integrity": "sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==", + "dev": true, + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@types/chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-of+ICnbqjmFCiixUnqRulbylyXQrPqIGf/B3Jax1wIF3DvSheysQxAWvqHhZiW3IQrycvokcLcFQlveGp+vyNg==", + "dev": true + }, + "node_modules/@types/chai-subset": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.5.tgz", + "integrity": "sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==", + "dev": true, + "dependencies": { + "@types/chai": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.9.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz", + "integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.5.tgz", + "integrity": "sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz", + "integrity": "sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.10.0", + "@typescript-eslint/type-utils": "6.10.0", + "@typescript-eslint/utils": "6.10.0", + "@typescript-eslint/visitor-keys": "6.10.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz", + "integrity": "sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.10.0", + "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/typescript-estree": "6.10.0", + "@typescript-eslint/visitor-keys": "6.10.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.10.0.tgz", + "integrity": "sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/visitor-keys": "6.10.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz", + "integrity": "sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.10.0", + "@typescript-eslint/utils": "6.10.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.10.0.tgz", + "integrity": "sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz", + "integrity": "sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/visitor-keys": "6.10.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz", + "integrity": "sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.10.0", + "@typescript-eslint/types": "6.10.0", + "@typescript-eslint/typescript-estree": "6.10.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.10.0.tgz", + "integrity": "sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.10.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@unhead/dom": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.8.3.tgz", + "integrity": "sha512-rPj9PiRTDf+Qy7tSK/UCGxwKfsOOQ+YniANxQy9v2AhWsDy2amW7kbfgR9fVaSlOFdpsyuh2wLCbMcyj9Wn0Jw==", + "dev": true, + "dependencies": { + "@unhead/schema": "1.8.3", + "@unhead/shared": "1.8.3" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/@unhead/schema": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.8.3.tgz", + "integrity": "sha512-3XbcJzdlyLr/RV2TKaygI21YorlU6XPgHn/MoWjQvH4PYiHkH8PtTGg8Je6k3gvcUURSiDfucFKaGEYdJXAVqQ==", + "dev": true, + "dependencies": { + "hookable": "^5.5.3", + "zhead": "^2.2.4" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/@unhead/shared": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.8.3.tgz", + "integrity": "sha512-E1knEiAO0iENLzZd+LjWA4mUp8JRaSxo5V0vMjSENyf5hSVB/SxAVjDPmTIelLY7KrP5mJrNMen2ZmQrr/AZJw==", + "dev": true, + "dependencies": { + "@unhead/schema": "1.8.3" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/@unhead/ssr": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.8.3.tgz", + "integrity": "sha512-GSTkUCL4qymGkPU8BXiV74Epj0yyXJgmfTSJ3EqalpQTYyJHl910Mq2oDWk7Xyl5lHBrz2Bn0lzNXfSkS7Ao0Q==", + "dev": true, + "dependencies": { + "@unhead/schema": "1.8.3", + "@unhead/shared": "1.8.3" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/@unhead/vue": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.8.3.tgz", + "integrity": "sha512-sj/1VosMreUQXd68rn5jDLdpgFVdN0mKrjW/8eZMWbomZkzbzs7FxyRUApd584xNjFVdtyWrTepmrNSKmEwKgg==", + "dev": true, + "dependencies": { + "@unhead/schema": "1.8.3", + "@unhead/shared": "1.8.3", + "hookable": "^5.5.3", + "unhead": "1.8.3" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + }, + "peerDependencies": { + "vue": ">=2.7 || >=3" + } + }, + "node_modules/@vercel/nft": { + "version": "0.24.3", + "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.24.3.tgz", + "integrity": "sha512-IyBdIxmFAeGZnEfMgt4QrGK7XX4lWazlQj34HEi9dw04/WeDBJ7r1yaOIO5tTf9pbfvwUFodj9b0H+NDGGoOMg==", + "dev": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.5", + "@rollup/pluginutils": "^4.0.0", + "acorn": "^8.6.0", + "async-sema": "^3.1.1", + "bindings": "^1.4.0", + "estree-walker": "2.0.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.2", + "node-gyp-build": "^4.2.2", + "resolve-from": "^5.0.0" + }, + "bin": { + "nft": "out/cli.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/@vercel/nft/node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@vercel/nft/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vercel/nft/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.4.1.tgz", + "integrity": "sha512-HCQG8VDFDM7YDAdcj5QI5DvUi+r6xvo9LgvYdk7LSkUNwdpempdB5horkMSZsbdey9Ywsf5aaU8kEPw9M5kREA==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vitejs/plugin-vue-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.0.2.tgz", + "integrity": "sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.22.10", + "@babel/plugin-transform-typescript": "^7.22.10", + "@vue/babel-plugin-jsx": "^1.1.5" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.0.0" + } + }, + "node_modules/@vitest/expect": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.33.0.tgz", + "integrity": "sha512-sVNf+Gla3mhTCxNJx+wJLDPp/WcstOe0Ksqz4Vec51MmgMth/ia0MGFEkIZmVGeTL5HtjYR4Wl/ZxBxBXZJTzQ==", + "dev": true, + "dependencies": { + "@vitest/spy": "0.33.0", + "@vitest/utils": "0.33.0", + "chai": "^4.3.7" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.33.0.tgz", + "integrity": "sha512-UPfACnmCB6HKRHTlcgCoBh6ppl6fDn+J/xR8dTufWiKt/74Y9bHci5CKB8tESSV82zKYtkBJo9whU3mNvfaisg==", + "dev": true, + "dependencies": { + "@vitest/utils": "0.33.0", + "p-limit": "^4.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.33.0.tgz", + "integrity": "sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.33.0.tgz", + "integrity": "sha512-Kv+yZ4hnH1WdiAkPUQTpRxW8kGtH8VRTnus7ZTGovFYM1ZezJpvGtb9nPIjPnptHbsyIAxYZsEpVPYgtpjGnrg==", + "dev": true, + "dependencies": { + "tinyspy": "^2.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.33.0.tgz", + "integrity": "sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vue-macros/common": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-1.8.0.tgz", + "integrity": "sha512-auDJJzE0z3uRe3867e0DsqcseKImktNf5ojCZgUKqiVxb2yTlwlgOVAYCgoep9oITqxkXQymSvFeKhedi8PhaA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.17", + "@rollup/pluginutils": "^5.0.4", + "@vue/compiler-sfc": "^3.3.4", + "ast-kit": "^0.11.2", + "local-pkg": "^0.4.3", + "magic-string-ast": "^0.3.0" + }, + "engines": { + "node": ">=16.14.0" + }, + "peerDependencies": { + "vue": "^2.7.0 || ^3.2.25" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@vue-macros/common/node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz", + "integrity": "sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==", + "dev": true + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz", + "integrity": "sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "@vue/babel-helper-vue-transform-on": "^1.1.5", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.8.tgz", + "integrity": "sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.8.tgz", + "integrity": "sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.8.tgz", + "integrity": "sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-ssr": "3.3.8", + "@vue/reactivity-transform": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.31", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.8.tgz", + "integrity": "sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.8.tgz", + "integrity": "sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.8.tgz", + "integrity": "sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.0", + "@vue/compiler-core": "3.3.8", + "@vue/shared": "3.3.8", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.8.tgz", + "integrity": "sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.3.8", + "@vue/shared": "3.3.8" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.8.tgz", + "integrity": "sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.3.8", + "@vue/shared": "3.3.8", + "csstype": "^3.1.2" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.8.tgz", + "integrity": "sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.3.8", + "@vue/shared": "3.3.8" + }, + "peerDependencies": { + "vue": "3.3.8" + } + }, + "node_modules/@vue/shared": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.8.tgz", + "integrity": "sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.0.tgz", + "integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/archiver": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz", + "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==", + "dev": true, + "dependencies": { + "archiver-utils": "^4.0.1", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^3.0.0", + "zip-stream": "^5.0.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/archiver-utils": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz", + "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==", + "dev": true, + "dependencies": { + "glob": "^8.0.0", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash": "^4.17.15", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/ast-kit": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-0.11.2.tgz", + "integrity": "sha512-Q0DjXK4ApbVoIf9GLyCo252tUH44iTnD/hiJ2TQaJeydYWSpKk0sI34+WMel8S9Wt5pbLgG02oJ+gkgX5DV3sQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.22.14", + "@rollup/pluginutils": "^5.0.4", + "pathe": "^1.1.1" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/ast-walker-scope": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.5.0.tgz", + "integrity": "sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.22.7", + "ast-kit": "^0.9.4" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/ast-walker-scope/node_modules/ast-kit": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-0.9.5.tgz", + "integrity": "sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.22.7", + "@rollup/pluginutils": "^5.0.2", + "pathe": "^1.1.1" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "node_modules/async-sema": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", + "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.16", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.16.tgz", + "integrity": "sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.21.10", + "caniuse-lite": "^1.0.30001538", + "fraction.js": "^4.3.6", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dev": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/birpc": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.14.tgz", + "integrity": "sha512-37FHE8rqsYM5JEKCnXFyHpBCzvgHEExwVVTq+nUmloInU7l8ezD1TpOhKpS8oe1DTYFqEK27rFZVKG43oTqXRA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/c12": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.5.1.tgz", + "integrity": "sha512-BWZRJgDEveT8uI+cliCwvYSSSSvb4xKoiiu5S0jaDbKBopQLQF7E+bq9xKk1pTcG+mUa3yXuFO7bD9d8Lr9Xxg==", + "dependencies": { + "chokidar": "^3.5.3", + "defu": "^6.1.2", + "dotenv": "^16.3.1", + "giget": "^1.1.3", + "jiti": "^1.20.0", + "mlly": "^1.4.2", + "ohash": "^1.1.3", + "pathe": "^1.1.1", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.0.3", + "rc9": "^2.1.1" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacache": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.0.tgz", + "integrity": "sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001561", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", + "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/changelogen": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/changelogen/-/changelogen-0.5.5.tgz", + "integrity": "sha512-IzgToIJ/R9NhVKmL+PW33ozYkv53bXvufDNUSH3GTKXq1iCHGgkbgbtqEWbo8tnWNnt7nPDpjL8PwSG2iS8RVw==", + "dev": true, + "dependencies": { + "c12": "^1.4.2", + "colorette": "^2.0.20", + "consola": "^3.2.3", + "convert-gitmoji": "^0.1.3", + "execa": "^8.0.1", + "mri": "^1.2.0", + "node-fetch-native": "^1.2.0", + "ofetch": "^1.1.1", + "open": "^9.1.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.0.0", + "semver": "^7.5.4", + "std-env": "^3.4.2", + "yaml": "^2.3.1" + }, + "bin": { + "changelogen": "dist/cli.mjs" + } + }, + "node_modules/changelogen/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/changelogen/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/changelogen/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/changelogen/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/citty": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.4.tgz", + "integrity": "sha512-Q3bK1huLxzQrvj7hImJ7Z1vKYJRPQCDnd0EjXfHMidcjecGOMuLrmuQmtWmFkuKLcMThlGh1yCKG8IEc6VeNXQ==", + "dev": true, + "dependencies": { + "consola": "^3.2.3" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/clear": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/clear/-/clear-0.1.0.tgz", + "integrity": "sha512-qMjRnoL+JDPJHeLePZJuao6+8orzHMGP04A8CdwCNsKhRbOnKRjefxONR7bwILT3MHecxKBjHkKL/tkZ8r4Uzw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/clipboardy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz", + "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==", + "dev": true, + "dependencies": { + "arch": "^2.2.0", + "execa": "^5.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/clipboardy/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/clipboardy/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/clipboardy/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clipboardy/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compress-commons": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz", + "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==", + "dev": true, + "dependencies": { + "crc-32": "^1.2.0", + "crc32-stream": "^5.0.0", + "normalize-path": "^3.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/convert-gitmoji": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/convert-gitmoji/-/convert-gitmoji-0.1.3.tgz", + "integrity": "sha512-t5yxPyI8h8KPvRwrS/sRrfIpT2gJbmBAY0TFokyUBy3PM44RuFRpZwHdACz+GTSPLRLo3s4qsscOMLjHiXBwzw==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie-es": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.0.0.tgz", + "integrity": "sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "dev": true, + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/crc32-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz", + "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==", + "dev": true, + "dependencies": { + "crc-32": "^1.2.0", + "readable-stream": "^3.4.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", + "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^6.0.1", + "lilconfig": "^2.1.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", + "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^4.0.0", + "postcss-calc": "^9.0.0", + "postcss-colormin": "^6.0.0", + "postcss-convert-values": "^6.0.0", + "postcss-discard-comments": "^6.0.0", + "postcss-discard-duplicates": "^6.0.0", + "postcss-discard-empty": "^6.0.0", + "postcss-discard-overridden": "^6.0.0", + "postcss-merge-longhand": "^6.0.0", + "postcss-merge-rules": "^6.0.1", + "postcss-minify-font-values": "^6.0.0", + "postcss-minify-gradients": "^6.0.0", + "postcss-minify-params": "^6.0.0", + "postcss-minify-selectors": "^6.0.0", + "postcss-normalize-charset": "^6.0.0", + "postcss-normalize-display-values": "^6.0.0", + "postcss-normalize-positions": "^6.0.0", + "postcss-normalize-repeat-style": "^6.0.0", + "postcss-normalize-string": "^6.0.0", + "postcss-normalize-timing-functions": "^6.0.0", + "postcss-normalize-unicode": "^6.0.0", + "postcss-normalize-url": "^6.0.0", + "postcss-normalize-whitespace": "^6.0.0", + "postcss-ordered-values": "^6.0.0", + "postcss-reduce-initial": "^6.0.0", + "postcss-reduce-transforms": "^6.0.0", + "postcss-svgo": "^6.0.0", + "postcss-unique-selectors": "^6.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", + "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "dependencies": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/defu": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.3.tgz", + "integrity": "sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ==" + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destr": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz", + "integrity": "sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==" + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", + "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", + "dev": true + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-prop": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-8.0.2.tgz", + "integrity": "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==", + "dev": true, + "dependencies": { + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dotenv": { + "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/motdotla/dotenv?sponsor=1" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.578", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.578.tgz", + "integrity": "sha512-V0ZhSu1BQZKfG0yNEL6Dadzik8E1vAzfpVOapdSiT9F6yapEJ3Bk+4tZ4SMPdWiUchCgnM/ByYtBzp5ntzDMIA==" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/error-stack-parser-es": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.1.tgz", + "integrity": "sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/esbuild": { + "version": "0.19.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.5.tgz", + "integrity": "sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.19.5", + "@esbuild/android-arm64": "0.19.5", + "@esbuild/android-x64": "0.19.5", + "@esbuild/darwin-arm64": "0.19.5", + "@esbuild/darwin-x64": "0.19.5", + "@esbuild/freebsd-arm64": "0.19.5", + "@esbuild/freebsd-x64": "0.19.5", + "@esbuild/linux-arm": "0.19.5", + "@esbuild/linux-arm64": "0.19.5", + "@esbuild/linux-ia32": "0.19.5", + "@esbuild/linux-loong64": "0.19.5", + "@esbuild/linux-mips64el": "0.19.5", + "@esbuild/linux-ppc64": "0.19.5", + "@esbuild/linux-riscv64": "0.19.5", + "@esbuild/linux-s390x": "0.19.5", + "@esbuild/linux-x64": "0.19.5", + "@esbuild/netbsd-x64": "0.19.5", + "@esbuild/openbsd-x64": "0.19.5", + "@esbuild/sunos-x64": "0.19.5", + "@esbuild/win32-arm64": "0.19.5", + "@esbuild/win32-ia32": "0.19.5", + "@esbuild/win32-x64": "0.19.5" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", + "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.53.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.18.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.18.1.tgz", + "integrity": "sha512-7hZFlrEgg9NIzuVik2I9xSnJA5RsmOfueYgsUGUokEDLJ1LHtxO0Pl4duje1BriZ/jDWb+44tcIlC3yi0tdlZg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true + }, + "node_modules/externality": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/externality/-/externality-1.0.2.tgz", + "integrity": "sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==", + "dev": true, + "dependencies": { + "enhanced-resolve": "^5.14.1", + "mlly": "^1.3.0", + "pathe": "^1.1.1", + "ufo": "^1.1.2" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-port-please": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.1.tgz", + "integrity": "sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA==", + "dev": true + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/giget": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.3.tgz", + "integrity": "sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==", + "dependencies": { + "colorette": "^2.0.20", + "defu": "^6.1.2", + "https-proxy-agent": "^7.0.2", + "mri": "^1.2.0", + "node-fetch-native": "^1.4.0", + "pathe": "^1.1.1", + "tar": "^6.2.0" + }, + "bin": { + "giget": "dist/cli.mjs" + } + }, + "node_modules/git-config-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz", + "integrity": "sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/git-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", + "dev": true, + "dependencies": { + "is-ssh": "^1.4.0", + "parse-url": "^8.1.0" + } + }, + "node_modules/git-url-parse": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.1.tgz", + "integrity": "sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==", + "dev": true, + "dependencies": { + "git-up": "^7.0.0" + } + }, + "node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/gzip-size": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz", + "integrity": "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/h3": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.8.2.tgz", + "integrity": "sha512-1Ca0orJJlCaiFY68BvzQtP2lKLk46kcLAxVM8JgYbtm2cUg6IY7pjpYgWMwUvDO9QI30N5JAukOKoT8KD3Q0PQ==", + "dev": true, + "dependencies": { + "cookie-es": "^1.0.0", + "defu": "^6.1.2", + "destr": "^2.0.1", + "iron-webcrypto": "^0.10.1", + "radix3": "^1.1.0", + "ufo": "^1.3.0", + "uncrypto": "^0.1.3", + "unenv": "^1.7.4" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==" + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" + }, + "node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/http-shutdown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", + "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/httpxy": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/httpxy/-/httpxy-0.1.5.tgz", + "integrity": "sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==", + "dev": true + }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", + "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", + "dev": true, + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/image-meta": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.1.1.tgz", + "integrity": "sha512-+oXiHwOEPr1IE5zY0tcBLED/CYcre15J4nwL50x3o0jxWqEkyjrusiKP3YSU+tr9fvJp33ZcP5Gpj2295g3aEw==", + "dev": true, + "engines": { + "node": ">=10.18.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ioredis": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", + "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", + "dev": true, + "dependencies": { + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/iron-webcrypto": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-0.10.1.tgz", + "integrity": "sha512-QGOS8MRMnj/UiOa+aMIgfyHcvkhqNUsUxb1XzskENvbo+rEfp6TOwqd1KPuDzXC4OnGHcMSVxDGRoilqB8ViqA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-primitive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", + "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", + "dev": true, + "dependencies": { + "protocols": "^2.0.1" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/knitwork": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz", + "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==" + }, + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "dev": true, + "dependencies": { + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 0.6.3" + } + }, + "node_modules/lazystream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/lazystream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/lazystream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/listhen": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.5.5.tgz", + "integrity": "sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA==", + "dev": true, + "dependencies": { + "@parcel/watcher": "^2.3.0", + "@parcel/watcher-wasm": "2.3.0", + "citty": "^0.1.4", + "clipboardy": "^3.0.0", + "consola": "^3.2.3", + "defu": "^6.1.2", + "get-port-please": "^3.1.1", + "h3": "^1.8.1", + "http-shutdown": "^1.2.2", + "jiti": "^1.20.0", + "mlly": "^1.4.2", + "node-forge": "^1.3.1", + "pathe": "^1.1.1", + "std-env": "^3.4.3", + "ufo": "^1.3.0", + "untun": "^0.1.2", + "uqr": "^0.1.2" + }, + "bin": { + "listen": "bin/listhen.mjs", + "listhen": "bin/listhen.mjs" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "dev": true + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string-ast": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-0.3.0.tgz", + "integrity": "sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.2" + }, + "engines": { + "node": ">=16.14.0" + } + }, + "node_modules/magicast": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.0.tgz", + "integrity": "sha512-ZsEzw35h7xYoFlWHIyxU6zmH4sdwzdmY0DY4s/Lie/qKimeijz2jRw8/OV2248kt/y6FbvoTvGRKyB7y/Mpx8w==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.22.16", + "@babel/types": "^7.22.19", + "source-map-js": "^1.0.2" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-fetch-happen": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", + "dev": true, + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-json-stream/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdist": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mkdist/-/mkdist-1.3.0.tgz", + "integrity": "sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==", + "dev": true, + "dependencies": { + "citty": "^0.1.2", + "defu": "^6.1.2", + "esbuild": "^0.18.14", + "fs-extra": "^11.1.1", + "globby": "^13.2.2", + "jiti": "^1.19.1", + "mlly": "^1.4.0", + "mri": "^1.2.0", + "pathe": "^1.1.1" + }, + "bin": { + "mkdist": "dist/cli.cjs" + }, + "peerDependencies": { + "sass": "^1.63.6", + "typescript": ">=5.1.6" + }, + "peerDependenciesMeta": { + "sass": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/mkdist/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/mkdist/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/mlly": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", + "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "dependencies": { + "acorn": "^8.10.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.3.0" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", + "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^14 || ^16 || >=18" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nitropack": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/nitropack/-/nitropack-2.7.2.tgz", + "integrity": "sha512-6vQbGdBNR20N8wTChzIQUZQmNVhWVDrjUdpOYD68u2hlyUiJembth2fQuoWw3KlsoNYWFvcyqL9X3DPjjnoEUQ==", + "dev": true, + "dependencies": { + "@cloudflare/kv-asset-handler": "^0.3.0", + "@netlify/functions": "^2.3.0", + "@rollup/plugin-alias": "^5.0.1", + "@rollup/plugin-commonjs": "^25.0.7", + "@rollup/plugin-inject": "^5.0.5", + "@rollup/plugin-json": "^6.0.1", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^5.0.4", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-wasm": "^6.2.2", + "@rollup/pluginutils": "^5.0.5", + "@types/http-proxy": "^1.17.13", + "@vercel/nft": "^0.24.3", + "archiver": "^6.0.1", + "c12": "^1.5.1", + "chalk": "^5.3.0", + "chokidar": "^3.5.3", + "citty": "^0.1.4", + "consola": "^3.2.3", + "cookie-es": "^1.0.0", + "defu": "^6.1.3", + "destr": "^2.0.2", + "dot-prop": "^8.0.2", + "esbuild": "^0.19.5", + "escape-string-regexp": "^5.0.0", + "etag": "^1.8.1", + "fs-extra": "^11.1.1", + "globby": "^13.2.2", + "gzip-size": "^7.0.0", + "h3": "^1.8.2", + "hookable": "^5.5.3", + "httpxy": "^0.1.5", + "is-primitive": "^3.0.1", + "jiti": "^1.20.0", + "klona": "^2.0.6", + "knitwork": "^1.0.0", + "listhen": "^1.5.5", + "magic-string": "^0.30.5", + "mime": "^3.0.0", + "mlly": "^1.4.2", + "mri": "^1.2.0", + "node-fetch-native": "^1.4.1", + "ofetch": "^1.3.3", + "ohash": "^1.1.3", + "openapi-typescript": "^6.7.0", + "pathe": "^1.1.1", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.0.3", + "pretty-bytes": "^6.1.1", + "radix3": "^1.1.0", + "rollup": "^3.29.4", + "rollup-plugin-visualizer": "^5.9.2", + "scule": "^1.0.0", + "semver": "^7.5.4", + "serve-placeholder": "^2.0.1", + "serve-static": "^1.15.0", + "std-env": "^3.4.3", + "ufo": "^1.3.1", + "uncrypto": "^0.1.3", + "unctx": "^2.3.1", + "unenv": "^1.7.4", + "unimport": "^3.4.0", + "unstorage": "^1.9.0" + }, + "bin": { + "nitro": "dist/cli/index.mjs", + "nitropack": "dist/cli/index.mjs" + }, + "engines": { + "node": "^16.11.0 || >=17.0.0" + }, + "peerDependencies": { + "xml2js": "^0.6.2" + }, + "peerDependenciesMeta": { + "xml2js": { + "optional": true + } + } + }, + "node_modules/nitropack/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/nitropack/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/node-addon-api": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz", + "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch-native": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.4.1.tgz", + "integrity": "sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w==" + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", + "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz", + "integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==", + "dev": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", + "dev": true, + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-install-checks": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.0.tgz", + "integrity": "sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==", + "dev": true, + "dependencies": { + "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", + "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", + "dev": true, + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nuxi": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/nuxi/-/nuxi-3.9.1.tgz", + "integrity": "sha512-4R4tcC2uQ5QCnHxyKoX5nZm/YUesCcQM3bZBKYU/8ZWrWjK6aPG6Q5zOQG1aLPkAotyahNsqtSiU/CrRoenEgA==", + "dev": true, + "bin": { + "nuxi": "bin/nuxi.mjs", + "nuxi-ng": "bin/nuxi.mjs", + "nuxt": "bin/nuxi.mjs", + "nuxt-cli": "bin/nuxi.mjs" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/nuxt": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-3.8.1.tgz", + "integrity": "sha512-RSGO56Gv0x2f6AXWw4o4GoBaVdsD0qkPCjrX7Ud/jzH3cRJoyYMPuq/9AOLvf2o1ecZWl39j5elqJ4QHmggyOA==", + "dev": true, + "dependencies": { + "@nuxt/devalue": "^2.0.2", + "@nuxt/devtools": "^1.0.0", + "@nuxt/kit": "3.8.1", + "@nuxt/schema": "3.8.1", + "@nuxt/telemetry": "^2.5.2", + "@nuxt/ui-templates": "^1.3.1", + "@nuxt/vite-builder": "3.8.1", + "@unhead/dom": "^1.8.3", + "@unhead/ssr": "^1.8.3", + "@unhead/vue": "^1.8.3", + "@vue/shared": "^3.3.8", + "acorn": "8.11.2", + "c12": "^1.5.1", + "chokidar": "^3.5.3", + "cookie-es": "^1.0.0", + "defu": "^6.1.3", + "destr": "^2.0.2", + "devalue": "^4.3.2", + "esbuild": "^0.19.5", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fs-extra": "^11.1.1", + "globby": "^13.2.2", + "h3": "^1.8.2", + "hookable": "^5.5.3", + "jiti": "^1.21.0", + "klona": "^2.0.6", + "knitwork": "^1.0.0", + "magic-string": "^0.30.5", + "mlly": "^1.4.2", + "nitropack": "^2.7.2", + "nuxi": "^3.9.1", + "nypm": "^0.3.3", + "ofetch": "^1.3.3", + "ohash": "^1.1.3", + "pathe": "^1.1.1", + "perfect-debounce": "^1.0.0", + "pkg-types": "^1.0.3", + "radix3": "^1.1.0", + "scule": "^1.0.0", + "std-env": "^3.4.3", + "strip-literal": "^1.3.0", + "ufo": "^1.3.1", + "ultrahtml": "^1.5.2", + "uncrypto": "^0.1.3", + "unctx": "^2.3.1", + "unenv": "^1.7.4", + "unimport": "^3.4.0", + "unplugin": "^1.5.0", + "unplugin-vue-router": "^0.7.0", + "untyped": "^1.4.0", + "vue": "^3.3.8", + "vue-bundle-renderer": "^2.0.0", + "vue-devtools-stub": "^0.1.0", + "vue-router": "^4.2.5" + }, + "bin": { + "nuxi": "bin/nuxt.mjs", + "nuxt": "bin/nuxt.mjs" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + }, + "peerDependencies": { + "@parcel/watcher": "^2.1.0", + "@types/node": "^14.18.0 || >=16.10.0" + }, + "peerDependenciesMeta": { + "@parcel/watcher": { + "optional": true + }, + "@types/node": { + "optional": true + } + } + }, + "node_modules/nuxt/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nuxt/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/nypm": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.3.tgz", + "integrity": "sha512-FHoxtTscAE723e80d2M9cJRb4YVjL82Ra+ZV+YqC6rfNZUWahi+ZhPF+krnR+bdMvibsfHCtgKXnZf5R6kmEPA==", + "dev": true, + "dependencies": { + "citty": "^0.1.4", + "execa": "^8.0.1", + "pathe": "^1.1.1", + "ufo": "^1.3.0" + }, + "bin": { + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": "^14.16.0 || >=16.10.0" + } + }, + "node_modules/nypm/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/nypm/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nypm/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/nypm/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ofetch": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz", + "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==", + "dev": true, + "dependencies": { + "destr": "^2.0.1", + "node-fetch-native": "^1.4.0", + "ufo": "^1.3.0" + } + }, + "node_modules/ohash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", + "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "dependencies": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-typescript": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-6.7.0.tgz", + "integrity": "sha512-eoUfJwhnMEug7euZ1dATG7iRiDVsEROwdPkhLUDiaFjcClV4lzft9F0Ii0fYjULCPNIiWiFi0BqMpSxipuvAgQ==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.3", + "fast-glob": "^3.3.1", + "js-yaml": "^4.1.0", + "supports-color": "^9.4.0", + "undici": "^5.23.0", + "yargs-parser": "^21.1.1" + }, + "bin": { + "openapi-typescript": "bin/cli.js" + } + }, + "node_modules/openapi-typescript/node_modules/supports-color": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", + "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pacote": { + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.4.tgz", + "integrity": "sha512-eGdLHrV/g5b5MtD5cTPyss+JxOlaOloSMG3UwPMAvL8ywaLJ6beONPF40K4KKl/UI6q5hTKCJq5rCu8tkF+7Dg==", + "dev": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^7.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^2.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-git-config": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-3.0.0.tgz", + "integrity": "sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==", + "dev": true, + "dependencies": { + "git-config-path": "^2.0.0", + "ini": "^1.3.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/parse-git-config/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/parse-path": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", + "dev": true, + "dependencies": { + "protocols": "^2.0.0" + } + }, + "node_modules/parse-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", + "dev": true, + "dependencies": { + "parse-path": "^7.0.0" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==" + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.11", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.0.tgz", + "integrity": "sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz", + "integrity": "sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz", + "integrity": "sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz", + "integrity": "sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz", + "integrity": "sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz", + "integrity": "sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz", + "integrity": "sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", + "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz", + "integrity": "sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz", + "integrity": "sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz", + "integrity": "sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz", + "integrity": "sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz", + "integrity": "sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==", + "dev": true, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz", + "integrity": "sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz", + "integrity": "sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz", + "integrity": "sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz", + "integrity": "sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz", + "integrity": "sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz", + "integrity": "sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz", + "integrity": "sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz", + "integrity": "sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz", + "integrity": "sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==", + "dev": true, + "dependencies": { + "cssnano-utils": "^4.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz", + "integrity": "sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz", + "integrity": "sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.0.tgz", + "integrity": "sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^3.0.2" + }, + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz", + "integrity": "sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/pretty-bytes": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", + "dev": true, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/protocols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, + "node_modules/radix3": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.0.tgz", + "integrity": "sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==", + "dev": true + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rc9": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.1.tgz", + "integrity": "sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==", + "dependencies": { + "defu": "^6.1.2", + "destr": "^2.0.0", + "flat": "^5.0.2" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/read-package-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.0.tgz", + "integrity": "sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==", + "dev": true, + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/read-package-json/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/read-package-json/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", + "dev": true, + "dependencies": { + "minimatch": "^5.1.0" + } + }, + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", + "dev": true, + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "devOptional": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-dts": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.1.0.tgz", + "integrity": "sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.4" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/Swatinem" + }, + "optionalDependencies": { + "@babel/code-frame": "^7.22.13" + }, + "peerDependencies": { + "rollup": "^3.29.4 || ^4", + "typescript": "^4.5 || ^5.0" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "5.9.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.9.2.tgz", + "integrity": "sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==", + "dev": true, + "dependencies": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "2.x || 3.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/run-applescript/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/run-applescript/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/run-applescript/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-applescript/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "optional": true + }, + "node_modules/scule": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz", + "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==" + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-placeholder": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/serve-placeholder/-/serve-placeholder-2.0.1.tgz", + "integrity": "sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==", + "dev": true, + "dependencies": { + "defu": "^6.0.0" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sigstore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.1.0.tgz", + "integrity": "sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/sign": "^2.1.0", + "@sigstore/tuf": "^2.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/simple-git": { + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.20.0.tgz", + "integrity": "sha512-ozK8tl2hvLts8ijTs18iFruE+RoqmC/mqZhjs/+V7gS5W68JpJ3+FCTmLVqmR59MaUQ52MfGQuWsIqfsTbbJ0Q==", + "dev": true, + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" + } + }, + "node_modules/sirv": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.3.tgz", + "integrity": "sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==", + "dev": true, + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/smob": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.1.tgz", + "integrity": "sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==", + "dev": true + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "dev": true, + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "node_modules/standard-as-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", + "dev": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.4.3.tgz", + "integrity": "sha512-f9aPhy8fYBuMN+sNfakZV18U39PbalgjXG3lLB9WkaYTxijru61wb57V9wxxNthXM5Sd88ETBWi29qLAsHO52Q==" + }, + "node_modules/streamx": { + "version": "2.15.2", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.2.tgz", + "integrity": "sha512-b62pAV/aeMjUoRN2C/9F0n+G8AfcJjNC0zw/ZmOHeFsIe4m4GzjVW9m6VHXVjk536NbdU9JRwKMJRfkc+zUFTg==", + "dev": true, + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dependencies": { + "acorn": "^8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/stylehacks": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.0.tgz", + "integrity": "sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/svgo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.3.tgz", + "integrity": "sha512-X4UZvLhOglD5Xrp834HzGHf8RKUW0Ahigg/08yRO1no9t2NxffOkMiQ0WmaMIbaGlVTlSst2zWANsdhz5ybXgA==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dev": true, + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/terser": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", + "dev": true + }, + "node_modules/tinybench": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", + "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.6.0.tgz", + "integrity": "sha512-FdswUUo5SxRizcBc6b1GSuLpLjisa8N8qMyYoP3rl+bym+QauhtJP5bvZY1ytt8krKGmMLYIRl36HBZfeAoqhQ==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", + "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tuf-js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.1.0.tgz", + "integrity": "sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==", + "dev": true, + "dependencies": { + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.1.tgz", + "integrity": "sha512-uY/99gMLIOlJPwATcMVYfqDSxUR9//AUcgZMzwfSTJPDKzA1S8mX4VLqa+fiAtveraQUBCz4FFcwVZBGbwBXIw==" + }, + "node_modules/ultrahtml": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.5.2.tgz", + "integrity": "sha512-qh4mBffhlkiXwDAOxvSGxhL0QEQsTbnP9BozOK3OYPEGvPvdWzvAUaXNtUSMdNsKDtuyjEbyVUPFZ52SSLhLqw==", + "dev": true + }, + "node_modules/unbuild": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unbuild/-/unbuild-2.0.0.tgz", + "integrity": "sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==", + "dev": true, + "dependencies": { + "@rollup/plugin-alias": "^5.0.0", + "@rollup/plugin-commonjs": "^25.0.4", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.2.1", + "@rollup/plugin-replace": "^5.0.2", + "@rollup/pluginutils": "^5.0.3", + "chalk": "^5.3.0", + "citty": "^0.1.2", + "consola": "^3.2.3", + "defu": "^6.1.2", + "esbuild": "^0.19.2", + "globby": "^13.2.2", + "hookable": "^5.5.3", + "jiti": "^1.19.3", + "magic-string": "^0.30.3", + "mkdist": "^1.3.0", + "mlly": "^1.4.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "pretty-bytes": "^6.1.1", + "rollup": "^3.28.1", + "rollup-plugin-dts": "^6.0.0", + "scule": "^1.0.0", + "untyped": "^1.4.0" + }, + "bin": { + "unbuild": "dist/cli.mjs" + }, + "peerDependencies": { + "typescript": "^5.1.6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/unbuild/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "dev": true + }, + "node_modules/unctx": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.3.1.tgz", + "integrity": "sha512-PhKke8ZYauiqh3FEMVNm7ljvzQiph0Mt3GBRve03IJm7ukfaON2OBK795tLwhbyfzknuRRkW0+Ze+CQUmzOZ+A==", + "dependencies": { + "acorn": "^8.8.2", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.0", + "unplugin": "^1.3.1" + } + }, + "node_modules/unctx/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/undici": { + "version": "5.27.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.27.2.tgz", + "integrity": "sha512-iS857PdOEy/y3wlM3yRp+6SNQQ6xU0mmZcwRSriqk+et/cwWAtwmIGf6WkoDN2EK/AMdCO/dfXzIwi+rFMrjjQ==", + "dev": true, + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/unenv": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.7.4.tgz", + "integrity": "sha512-fjYsXYi30It0YCQYqLOcT6fHfMXsBr2hw9XC7ycf8rTG7Xxpe3ZssiqUnD0khrjiZEmkBXWLwm42yCSCH46fMw==", + "dev": true, + "dependencies": { + "consola": "^3.2.3", + "defu": "^6.1.2", + "mime": "^3.0.0", + "node-fetch-native": "^1.4.0", + "pathe": "^1.1.1" + } + }, + "node_modules/unhead": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.8.3.tgz", + "integrity": "sha512-2/5NJs7nY1MgCkUNuyevALM9nSgGp2loRv5QPhYyZXUPdF+F76CpKvkqATEOEJ/1yDzWjCaWrNh4u5lS6BEioA==", + "dev": true, + "dependencies": { + "@unhead/dom": "1.8.3", + "@unhead/schema": "1.8.3", + "@unhead/shared": "1.8.3", + "hookable": "^5.5.3" + }, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/unimport": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.4.0.tgz", + "integrity": "sha512-M/lfFEgufIT156QAr/jWHLUn55kEmxBBiQsMxvRSIbquwmeJEyQYgshHDEvQDWlSJrVOOTAgnJ3FvlsrpGkanA==", + "dependencies": { + "@rollup/pluginutils": "^5.0.4", + "escape-string-regexp": "^5.0.0", + "fast-glob": "^3.3.1", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.3", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.0.0", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.0" + } + }, + "node_modules/unimport/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unimport/node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dev": true, + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unplugin": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz", + "integrity": "sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==", + "dependencies": { + "acorn": "^8.10.0", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.5.0" + } + }, + "node_modules/unplugin-vue-router": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/unplugin-vue-router/-/unplugin-vue-router-0.7.0.tgz", + "integrity": "sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.19", + "@rollup/pluginutils": "^5.0.4", + "@vue-macros/common": "^1.8.0", + "ast-walker-scope": "^0.5.0", + "chokidar": "^3.5.3", + "fast-glob": "^3.3.1", + "json5": "^2.2.3", + "local-pkg": "^0.4.3", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "scule": "^1.0.0", + "unplugin": "^1.5.0", + "yaml": "^2.3.2" + }, + "peerDependencies": { + "vue-router": "^4.1.0" + }, + "peerDependenciesMeta": { + "vue-router": { + "optional": true + } + } + }, + "node_modules/unplugin-vue-router/node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/unstorage": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.9.0.tgz", + "integrity": "sha512-VpD8ZEYc/le8DZCrny3bnqKE4ZjioQxBRnWE+j5sGNvziPjeDlaS1NaFFHzl/kkXaO3r7UaF8MGQrs14+1B4pQ==", + "dev": true, + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^3.5.3", + "destr": "^2.0.1", + "h3": "^1.7.1", + "ioredis": "^5.3.2", + "listhen": "^1.2.2", + "lru-cache": "^10.0.0", + "mri": "^1.2.0", + "node-fetch-native": "^1.2.0", + "ofetch": "^1.1.1", + "ufo": "^1.2.0" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.4.1", + "@azure/cosmos": "^3.17.3", + "@azure/data-tables": "^13.2.2", + "@azure/identity": "^3.2.3", + "@azure/keyvault-secrets": "^4.7.0", + "@azure/storage-blob": "^12.14.0", + "@capacitor/preferences": "^5.0.0", + "@planetscale/database": "^1.8.0", + "@upstash/redis": "^1.22.0", + "@vercel/kv": "^0.2.2", + "idb-keyval": "^6.2.1" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "idb-keyval": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/untun": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.2.tgz", + "integrity": "sha512-wLAMWvxfqyTiBODA1lg3IXHQtjggYLeTK7RnSfqtOXixWJ3bAa2kK/HHmOOg19upteqO3muLvN6O/icbyQY33Q==", + "dev": true, + "dependencies": { + "citty": "^0.1.3", + "consola": "^3.2.3", + "pathe": "^1.1.1" + }, + "bin": { + "untun": "bin/untun.mjs" + } + }, + "node_modules/untyped": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.4.0.tgz", + "integrity": "sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==", + "dependencies": { + "@babel/core": "^7.22.9", + "@babel/standalone": "^7.22.9", + "@babel/types": "^7.22.5", + "defu": "^6.1.2", + "jiti": "^1.19.1", + "mri": "^1.2.0", + "scule": "^1.0.0" + }, + "bin": { + "untyped": "dist/cli.mjs" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uqr": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", + "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==", + "dev": true + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/vite": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz", + "integrity": "sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.33.0.tgz", + "integrity": "sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.4.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-plugin-checker": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.6.2.tgz", + "integrity": "sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "ansi-escapes": "^4.3.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.1", + "commander": "^8.0.0", + "fast-glob": "^3.2.7", + "fs-extra": "^11.1.0", + "lodash.debounce": "^4.0.8", + "lodash.pick": "^4.4.0", + "npm-run-path": "^4.0.1", + "semver": "^7.5.0", + "strip-ansi": "^6.0.0", + "tiny-invariant": "^1.1.0", + "vscode-languageclient": "^7.0.0", + "vscode-languageserver": "^7.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-uri": "^3.0.2" + }, + "engines": { + "node": ">=14.16" + }, + "peerDependencies": { + "eslint": ">=7", + "meow": "^9.0.0", + "optionator": "^0.9.1", + "stylelint": ">=13", + "typescript": "*", + "vite": ">=2.0.0", + "vls": "*", + "vti": "*", + "vue-tsc": ">=1.3.9" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "meow": { + "optional": true + }, + "optionator": { + "optional": true + }, + "stylelint": { + "optional": true + }, + "typescript": { + "optional": true + }, + "vls": { + "optional": true + }, + "vti": { + "optional": true + }, + "vue-tsc": { + "optional": true + } + } + }, + "node_modules/vite-plugin-checker/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/vite-plugin-checker/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-inspect": { + "version": "0.7.41", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.7.41.tgz", + "integrity": "sha512-gASdFRO4CHDQF8qAk9LZEJyzlIJM4bFvDn7hz0e2r1PS6uq+yukd8+jHctOAbvCceQoTS5iDAgd4/mWcGWYoMw==", + "dev": true, + "dependencies": { + "@antfu/utils": "^0.7.6", + "@rollup/pluginutils": "^5.0.5", + "debug": "^4.3.4", + "error-stack-parser-es": "^0.1.1", + "fs-extra": "^11.1.1", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "sirv": "^2.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-inspector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-4.0.0.tgz", + "integrity": "sha512-xNjMbRj3YrebuuInTvlC8ghPtzT+3LjMIQPeeR/5CaFd+WcbA9wBnECZmlcP3GITCVED0SxGmTyoJ3iVKsK4vQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/vitest": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.33.0.tgz", + "integrity": "sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ==", + "dev": true, + "dependencies": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.33.0", + "@vitest/runner": "0.33.0", + "@vitest/snapshot": "0.33.0", + "@vitest/spy": "0.33.0", + "@vitest/utils": "0.33.0", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.7", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.6.0", + "vite": "^3.0.0 || ^4.0.0", + "vite-node": "0.33.0", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@vitest/browser": "*", + "@vitest/ui": "*", + "happy-dom": "*", + "jsdom": "*", + "playwright": "*", + "safaridriver": "*", + "webdriverio": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + }, + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, + "node_modules/vitest/node_modules/local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", + "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==", + "dev": true, + "engines": { + "node": ">=8.0.0 || >=10.0.0" + } + }, + "node_modules/vscode-languageclient": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz", + "integrity": "sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.4", + "semver": "^7.3.4", + "vscode-languageserver-protocol": "3.16.0" + }, + "engines": { + "vscode": "^1.52.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz", + "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==", + "dev": true, + "dependencies": { + "vscode-languageserver-protocol": "3.16.0" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", + "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", + "dev": true, + "dependencies": { + "vscode-jsonrpc": "6.0.0", + "vscode-languageserver-types": "3.16.0" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", + "dev": true + }, + "node_modules/vscode-languageserver-types": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", + "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==", + "dev": true + }, + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true + }, + "node_modules/vue": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.8.tgz", + "integrity": "sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.3.8", + "@vue/compiler-sfc": "3.3.8", + "@vue/runtime-dom": "3.3.8", + "@vue/server-renderer": "3.3.8", + "@vue/shared": "3.3.8" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-bundle-renderer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vue-bundle-renderer/-/vue-bundle-renderer-2.0.0.tgz", + "integrity": "sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==", + "dev": true, + "dependencies": { + "ufo": "^1.2.0" + } + }, + "node_modules/vue-devtools-stub": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/vue-devtools-stub/-/vue-devtools-stub-0.1.0.tgz", + "integrity": "sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==", + "dev": true + }, + "node_modules/vue-eslint-parser": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", + "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "dev": true, + "dependencies": { + "@vue/devtools-api": "^6.5.0" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zhead": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz", + "integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/harlan-zw" + } + }, + "node_modules/zip-stream": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz", + "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==", + "dev": true, + "dependencies": { + "archiver-utils": "^4.0.1", + "compress-commons": "^5.0.1", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">= 12.0.0" + } + } + } +} diff --git a/nuxt-module/package.json b/nuxt-module/package.json new file mode 100644 index 00000000..88a5ce64 --- /dev/null +++ b/nuxt-module/package.json @@ -0,0 +1,45 @@ +{ + "name": "mods-module", + "version": "1.0.0", + "description": "My new Nuxt module", + "repository": "your-org/mods-module", + "license": "MIT", + "type": "module", + "exports": { + ".": { + "types": "./dist/types.d.ts", + "import": "./dist/module.mjs", + "require": "./dist/module.cjs" + } + }, + "main": "./dist/module.cjs", + "types": "./dist/types.d.ts", + "files": [ + "dist" + ], + "scripts": { + "prepack": "nuxt-module-build build", + "dev": "nuxi dev playground", + "dev:build": "nuxi build playground", + "dev:prepare": "nuxt-module-build build --stub && nuxt-module-build prepare && nuxi prepare playground", + "release": "npm run lint && npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags", + "lint": "eslint .", + "test": "vitest run", + "test:watch": "vitest watch" + }, + "dependencies": { + "@nuxt/kit": "^3.8.1" + }, + "devDependencies": { + "@types/node": "^20.8.10", + "@nuxt/devtools": "latest", + "@nuxt/eslint-config": "^0.2.0", + "@nuxt/module-builder": "^0.5.3", + "@nuxt/schema": "^3.8.1", + "@nuxt/test-utils": "^3.8.1", + "changelogen": "^0.5.5", + "eslint": "^8.53.0", + "nuxt": "^3.8.1", + "vitest": "^0.33.0" + } +} diff --git a/nuxt-module/playground/app.vue b/nuxt-module/playground/app.vue new file mode 100644 index 00000000..d293886e --- /dev/null +++ b/nuxt-module/playground/app.vue @@ -0,0 +1,7 @@ + + + diff --git a/nuxt-module/playground/nuxt.config.ts b/nuxt-module/playground/nuxt.config.ts new file mode 100644 index 00000000..5e13e76b --- /dev/null +++ b/nuxt-module/playground/nuxt.config.ts @@ -0,0 +1,5 @@ +export default defineNuxtConfig({ + modules: ["../src/module"], + modsModule: {}, + devtools: { enabled: true }, +}) diff --git a/nuxt-module/playground/package.json b/nuxt-module/playground/package.json new file mode 100644 index 00000000..41b56db7 --- /dev/null +++ b/nuxt-module/playground/package.json @@ -0,0 +1,13 @@ +{ + "private": true, + "name": "mods-module-playground", + "type": "module", + "scripts": { + "dev": "nuxi dev", + "build": "nuxi build", + "generate": "nuxi generate" + }, + "devDependencies": { + "nuxt": "latest" + } +} diff --git a/nuxt-module/playground/server/tsconfig.json b/nuxt-module/playground/server/tsconfig.json new file mode 100644 index 00000000..b9ed69c1 --- /dev/null +++ b/nuxt-module/playground/server/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "../.nuxt/tsconfig.server.json" +} diff --git a/nuxt-module/playground/tsconfig.json b/nuxt-module/playground/tsconfig.json new file mode 100644 index 00000000..4b34df15 --- /dev/null +++ b/nuxt-module/playground/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nuxt/tsconfig.json" +} diff --git a/nuxt-module/src/module.ts b/nuxt-module/src/module.ts new file mode 100644 index 00000000..d566b7a4 --- /dev/null +++ b/nuxt-module/src/module.ts @@ -0,0 +1,38 @@ +import { + defineNuxtModule, + addPlugin, + createResolver, + addImports, +} from "@nuxt/kit" + +import * as utils from "./runtime/utils/index" + +// Module options TypeScript interface definition +export interface ModuleOptions {} + +export default defineNuxtModule({ + meta: { + name: "mods-module", + configKey: "modsModule", + }, + // Default configuration options of the Nuxt module + defaults: { + alias: [], + }, + setup(options, nuxt) { + const { resolve } = createResolver(import.meta.url) + + const aliasMap = new Map(options.alias) + for (const name of Object.keys(utils)) { + const alias = aliasMap.has(name) ? aliasMap.get(name!) : name + console.debug(`Adding ${name} as ${alias}`) + addImports({ + name: name, + as: alias, + from: resolve("./runtime/utils/index.ts"), + }) + } + + addPlugin(resolve("./runtime/plugin")) + }, +}) diff --git a/nuxt-module/src/runtime/plugin.ts b/nuxt-module/src/runtime/plugin.ts new file mode 100644 index 00000000..df468015 --- /dev/null +++ b/nuxt-module/src/runtime/plugin.ts @@ -0,0 +1,5 @@ +import { defineNuxtPlugin } from "#app" + +export default defineNuxtPlugin((nuxtApp) => { + console.log("mods injected by use-mods!") +}) diff --git a/nuxt-module/src/runtime/utils/index.ts b/nuxt-module/src/runtime/utils/index.ts new file mode 100644 index 00000000..86173a10 --- /dev/null +++ b/nuxt-module/src/runtime/utils/index.ts @@ -0,0 +1 @@ +export * from "../../../../package/dist/index" diff --git a/nuxt-module/test/basic.test.ts b/nuxt-module/test/basic.test.ts new file mode 100644 index 00000000..c4735db8 --- /dev/null +++ b/nuxt-module/test/basic.test.ts @@ -0,0 +1,15 @@ +import { describe, it, expect } from 'vitest' +import { fileURLToPath } from 'node:url' +import { setup, $fetch } from '@nuxt/test-utils' + +describe('ssr', async () => { + await setup({ + rootDir: fileURLToPath(new URL('./fixtures/basic', import.meta.url)), + }) + + it('renders the index page', async () => { + // Get response to a server-rendered page with `$fetch`. + const html = await $fetch('/') + expect(html).toContain('
    basic
    ') + }) +}) diff --git a/nuxt-module/test/fixtures/basic/app.vue b/nuxt-module/test/fixtures/basic/app.vue new file mode 100644 index 00000000..29a9c81f --- /dev/null +++ b/nuxt-module/test/fixtures/basic/app.vue @@ -0,0 +1,6 @@ + + + diff --git a/nuxt-module/test/fixtures/basic/nuxt.config.ts b/nuxt-module/test/fixtures/basic/nuxt.config.ts new file mode 100644 index 00000000..646366d2 --- /dev/null +++ b/nuxt-module/test/fixtures/basic/nuxt.config.ts @@ -0,0 +1,5 @@ +import modsModule from "../../../src/module" + +export default defineNuxtConfig({ + modules: [modsModule], +}) diff --git a/nuxt-module/test/fixtures/basic/package.json b/nuxt-module/test/fixtures/basic/package.json new file mode 100644 index 00000000..decd4334 --- /dev/null +++ b/nuxt-module/test/fixtures/basic/package.json @@ -0,0 +1,5 @@ +{ + "private": true, + "name": "basic", + "type": "module" +} diff --git a/nuxt-module/tsconfig.json b/nuxt-module/tsconfig.json new file mode 100644 index 00000000..4b34df15 --- /dev/null +++ b/nuxt-module/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nuxt/tsconfig.json" +} diff --git a/nuxt.config.ts b/nuxt.config.ts deleted file mode 100755 index 150306ed..00000000 --- a/nuxt.config.ts +++ /dev/null @@ -1,7 +0,0 @@ -export default defineNuxtConfig({ - extends: '@nuxt-themes/docus', - modules: ['@nuxtjs/plausible', 'nuxt-vitest', '@nuxt/devtools'], - vitest: {}, - - devtools: true -}) diff --git a/.eslintignore b/package/.gitignore similarity index 58% rename from .eslintignore rename to package/.gitignore index a1bd0c80..f06235c4 100644 --- a/.eslintignore +++ b/package/.gitignore @@ -1,4 +1,2 @@ -dist node_modules -.output -.nuxt \ No newline at end of file +dist diff --git a/package/LICENSE b/package/LICENSE new file mode 100644 index 00000000..1333ed77 --- /dev/null +++ b/package/LICENSE @@ -0,0 +1 @@ +TODO diff --git a/package/README.md b/package/README.md new file mode 100644 index 00000000..a52c4a08 --- /dev/null +++ b/package/README.md @@ -0,0 +1,26 @@ +# bun starter + +## Getting Started + +Click the [Use this template](https://github.com/wobsoriano/bun-lib-starter/generate) button to create a new repository with the contents starter. + +OR + +Run `bun create wobsoriano/bun-lib-starter ./my-lib`. + +## Setup + +```bash +# install dependencies +bun install + +# test the app +bun test + +# build the app, available under dist +bun run build +``` + +## License + +MIT diff --git a/package/build.mjs b/package/build.mjs new file mode 100644 index 00000000..1f9b7532 --- /dev/null +++ b/package/build.mjs @@ -0,0 +1,8 @@ +import dts from "bun-plugin-dts" + +await Bun.build({ + entrypoints: ["./src/index.ts"], + outdir: "./dist", + minify: true, + plugins: [dts()], +}) diff --git a/package/bun.lockb b/package/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..03d1d5f0fc9942d03c6551d3e7d8e5d6bd0374dd GIT binary patch literal 9107 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", + "devDependencies": { + "@types/web": "^0.0.119", + "bun-plugin-dts": "^0.2.1", + "bun-types": "^1.0.7", + "typescript": "^5.2.2" + } +} diff --git a/utils/actions.ts b/package/src/actions.ts similarity index 74% rename from utils/actions.ts rename to package/src/actions.ts index 4ed93fee..8db29f99 100644 --- a/utils/actions.ts +++ b/package/src/actions.ts @@ -1,10 +1,5 @@ // title: Actions -// description: A collection of useful actions - -// -// subtitle: Page Actions -// description: A collection of useful actions -// +// description: A collection of useful actionss /** * Smoothly scroll to an anchor on the page @@ -15,7 +10,7 @@ export function scrollToAnchor(id: string, callback?: () => void) { const element = document.querySelector(id) if (!element) return element.scrollIntoView({ - behavior: 'smooth' + behavior: "smooth", }) }, 180) @@ -32,7 +27,7 @@ export function scrollToTop(callback?: () => void) { setTimeout(() => { window.scrollTo({ top: 0, - behavior: 'smooth' + behavior: "smooth", }) }, 180) @@ -49,7 +44,7 @@ export function scrollToBottom(callback?: () => void) { setTimeout(() => { window.scrollTo({ top: document.body.scrollHeight, - behavior: 'smooth' + behavior: "smooth", }) }, 180) @@ -58,25 +53,6 @@ export function scrollToBottom(callback?: () => void) { } } -/** - * Toggles the body scroll - * @example toggleBodyScroll() - */ -export function toggleBodyScroll() { - document.body.classList.toggle('overflow-hidden') -} - -/** - * Toggles the element scroll - * @example toggleElementScroll(document.querySelector('#my-element')) - */ -export function toggleElementScroll(element: HTMLElement) { - element.classList.toggle('overflow-hidden') -} - -// subtitle: Page Functions -// subtitledescription: A collection of useful actions - /** * Copies a text to the clipboard * @example copyToClipboard() @@ -113,8 +89,10 @@ export function toggleFullScreen() { * @example toggleDarkMode() */ export function toggleDarkMode() { - const prefersDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches - document.documentElement.classList.toggle('dark', !prefersDarkMode) + const prefersDarkMode = window.matchMedia( + "(prefers-color-scheme: dark)" + ).matches + document.documentElement.classList.toggle("dark", !prefersDarkMode) } /** @@ -125,11 +103,6 @@ export function redirect(url: string) { window.location.href = url } -// -// subtitle: Form Actions -// description: A collection of useful actions -// - /** * Resets a form * @example resetForm(document.querySelector('form')) @@ -138,6 +111,22 @@ export function resetForm(form: HTMLFormElement) { form.reset() } +/** + * Toggles the body scroll + * @example toggleBodyScroll() + */ +export function toggleBodyScroll() { + document.body.classList.toggle("overflow-hidden") +} + +/** + * Toggles the element scroll + * @example toggleElementScroll(document.querySelector('#my-element')) + */ +export function toggleElementScroll(element: HTMLElement) { + element.classList.toggle("overflow-hidden") +} + /** * Focuses on an element * @example focusOn(document.querySelector('#my-element')) @@ -151,7 +140,7 @@ export function focusOn(element: HTMLElement) { * @example focusOnFirst(document.querySelector('#my-element')) */ export function focusOnFirst(element: HTMLElement) { - const input = element.querySelector('input') + const input = element.querySelector("input") if (input) { input.focus() } @@ -162,7 +151,7 @@ export function focusOnFirst(element: HTMLElement) { * @example focusOnLast(document.querySelector('#my-element')) */ export function focusOnLast(element: HTMLElement) { - const inputs = element.querySelectorAll('input') + const inputs = element.querySelectorAll("input") const input = inputs[inputs.length - 1] if (input) { input.focus() @@ -170,19 +159,23 @@ export function focusOnLast(element: HTMLElement) { } /** - * Sets up a keyboard trap within an HTML element, allowing the focus to cycle between the first and last focusable elements when the Tab key is pressed. + * sets up a keyboard trap within an HTML element, allowing the focus to cycle between the first and last focusable elements when the Tab key is pressed. * @example focusTrap(document.querySelector('#my-element')) */ export function focusTrap(element: HTMLElement) { - const focusableElements = element.querySelectorAll('a[href], button, textarea, input[type="text"], input[type="radio"], input[type="checkbox"], select') + const focusableElements = element.querySelectorAll( + 'a[href], button, textarea, input[type="text"], input[type="radio"], input[type="checkbox"], select' + ) const firstFocusableElement = focusableElements[0] as HTMLElement - const lastFocusableElement = focusableElements[focusableElements.length - 1] as HTMLElement + const lastFocusableElement = focusableElements[ + focusableElements.length - 1 + ] as HTMLElement const KEYCODE_TAB = 9 - element.addEventListener('keydown', (event) => { - const isTabPressed = event.key === 'Tab' || event.keyCode === KEYCODE_TAB + element.addEventListener("keydown", (event) => { + const isTabPressed = event.key === "Tab" || event.keyCode === KEYCODE_TAB if (!isTabPressed) { return diff --git a/utils/detections.ts b/package/src/detections.ts similarity index 78% rename from utils/detections.ts rename to package/src/detections.ts index 775274b3..07562f8a 100644 --- a/utils/detections.ts +++ b/package/src/detections.ts @@ -6,7 +6,11 @@ * @example getDeviceType() */ export function getDeviceType(): string { - return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? 'Mobile' : 'Desktop' + return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( + navigator.userAgent + ) + ? "Mobile" + : "Desktop" } /** @@ -22,7 +26,9 @@ export function getActiveBrowser(): boolean { * @example getColorScheme() */ export function getColorScheme(): string { - return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' + return window.matchMedia("(prefers-color-scheme: dark)").matches + ? "dark" + : "light" } /** @@ -40,16 +46,16 @@ export function getBrowser(): string { export function getOS(): string { const userAgent = navigator.userAgent.toLowerCase() switch (true) { - case userAgent.indexOf('win') !== -1: - return 'Windows' - case userAgent.indexOf('mac') !== -1: - return 'Mac' - case userAgent.indexOf('linux') !== -1: - return 'Linux' - case userAgent.indexOf('x11') !== -1: - return 'UNIX' + case userAgent.indexOf("win") !== -1: + return "Windows" + case userAgent.indexOf("mac") !== -1: + return "Mac" + case userAgent.indexOf("linux") !== -1: + return "Linux" + case userAgent.indexOf("x11") !== -1: + return "UNIX" default: - return 'Unknown' + return "Unknown" } } @@ -93,7 +99,7 @@ export function getDeviceOrientation(): string { */ export function getDeviceMotion(): Promise { return new Promise((resolve, reject) => { - window.addEventListener('devicemotion', resolve, { once: true }) + window.addEventListener("devicemotion", resolve, { once: true }) setTimeout(reject, 5000) }) } @@ -105,7 +111,7 @@ export function getDeviceMotion(): Promise { export function getWindowSize(): { width: number; height: number } { return { width: window.innerWidth, - height: window.innerHeight + height: window.innerHeight, } } @@ -116,7 +122,7 @@ export function getWindowSize(): { width: number; height: number } { export function getScreenSize(): { width: number; height: number } { return { width: window.screen.width, - height: window.screen.height + height: window.screen.height, } } @@ -124,12 +130,15 @@ export function getScreenSize(): { width: number; height: number } { * Detect the container size via ID * @example getContainerSize('container') */ -export function getContainerSize(id: string): { width: number; height: number } { +export function getContainerSize(id: string): { + width: number + height: number +} { const element = document.getElementById(id) if (!element) return { width: 0, height: 0 } return { width: element.offsetWidth, - height: element.offsetHeight + height: element.offsetHeight, } } @@ -141,17 +150,17 @@ export function getTailwindBreakpoint(): string { const width = window.innerWidth switch (true) { case width < 640: - return 'xs' + return "xs" case width < 768: - return 'sm' + return "sm" case width < 1024: - return 'md' + return "md" case width < 1280: - return 'lg' + return "lg" case width < 1536: - return 'xl' + return "xl" default: - return '2xl' + return "2xl" } } @@ -163,29 +172,29 @@ export function getTailwindContainerBreakpoint(id: string): string { const width = getContainerSize(id).width switch (true) { case width < 320: - return '@xs' + return "@xs" case width < 384: - return '@sm' + return "@sm" case width < 448: - return '@md' + return "@md" case width < 512: - return '@lg' + return "@lg" case width < 576: - return '@xl' + return "@xl" case width < 672: - return '@2xl' + return "@2xl" case width < 768: - return '@3xl' + return "@3xl" case width < 896: - return '@4xl' + return "@4xl" case width < 1024: - return '@5xl' + return "@5xl" case width < 1152: - return '@6xl' + return "@6xl" case width < 1280: - return '@7xl' + return "@7xl" default: - return '@7xl' + return "@7xl" } } @@ -196,7 +205,7 @@ export function getTailwindContainerBreakpoint(id: string): string { export function getScrollPosition(): { x: number; y: number } { return { x: window.scrollX, - y: window.scrollY + y: window.scrollY, } } @@ -207,7 +216,7 @@ export function getScrollPosition(): { x: number; y: number } { export function getMousePosition(event: MouseEvent) { return { x: event.pageX, - y: event.pageY + y: event.pageY, } } @@ -221,7 +230,7 @@ export function getRelativeMousePosition(id: string, e: MouseEvent) { const rect = element.getBoundingClientRect() return { x: e.clientX - rect.left, - y: e.clientY - rect.top + y: e.clientY - rect.top, } } @@ -230,18 +239,22 @@ export function getRelativeMousePosition(id: string, e: MouseEvent) { * @example getNetworkStatus() */ export function getNetworkStatus(): string { - return navigator.onLine ? 'Online' : 'Offline' + return navigator.onLine ? "Online" : "Offline" } /** * Detect the current memory status of the user (RAM) * @example getMemoryStatus() */ -export function getMemoryStatus(): { totalJSHeapSize: number; usedJSHeapSize: number; jsHeapSizeLimit: number } { +export function getMemoryStatus(): { + totalJSHeapSize: number + usedJSHeapSize: number + jsHeapSizeLimit: number +} { return { totalJSHeapSize: (performance as any).memory.totalJSHeapSize, usedJSHeapSize: (performance as any).memory.usedJSHeapSize, - jsHeapSizeLimit: (performance as any).memory.jsHeapSizeLimit + jsHeapSizeLimit: (performance as any).memory.jsHeapSizeLimit, } } @@ -249,14 +262,18 @@ export function getMemoryStatus(): { totalJSHeapSize: number; usedJSHeapSize: nu * Detect the current performance status of the user (CPU, RAM, etc.) * @example getPerformance() */ -export function getPerformance(): Promise { - return new Promise((resolve, reject) => { - window.addEventListener('load', () => { - resolve(performance.getEntriesByType('navigation')[0] as PerformanceNavigationTiming) - }) - setTimeout(reject, 5000) - }) -} +// export function getPerformance(): Promise { +// return new Promise((resolve, reject) => { +// window.addEventListener("load", () => { +// resolve( +// performance.getEntriesByType( +// "navigation" +// )[0] as PerformanceNavigationTiming +// ) +// }) +// setTimeout(reject, 5000) +// }) +// } /** * Detect the current storage status of the user (Local Storage, Session Storage) @@ -265,7 +282,7 @@ export function getPerformance(): Promise { export function getStorage(): { localStorage: number; sessionStorage: number } { return { localStorage: JSON.stringify(localStorage).length, - sessionStorage: JSON.stringify(sessionStorage).length + sessionStorage: JSON.stringify(sessionStorage).length, } } @@ -274,9 +291,9 @@ export function getStorage(): { localStorage: number; sessionStorage: number } { * @example getCookie('name') */ export function getCookie(name: string) { - const value = '; ' + document.cookie - const parts = value.split('; ' + name + '=') - if (parts.length === 2) return parts.pop()?.split(';').shift() + const value = "; " + document.cookie + const parts = value.split("; " + name + "=") + if (parts.length === 2) return parts.pop()?.split(";").shift() } /** @@ -302,7 +319,12 @@ export function getSessionStorage(name: string) { * @example getURLParameters('http://url.com/page?name=Adam&surname=Smith') */ export function getURLParameters(url: string, param?: string) { - const params = (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce((a: any, v: any) => ((a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a), {}) + const params = (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce( + (a: any, v: any) => ( + (a[v.slice(0, v.indexOf("="))] = v.slice(v.indexOf("=") + 1)), a + ), + {} + ) if (param) { return params[param] || null @@ -380,7 +402,7 @@ export function getReferrer() { * @example getCachedData('abc') */ export function getCachedData(key?: string): PerformanceEntry[] { - const cachedData = window.performance.getEntriesByType('resource') + const cachedData = window.performance.getEntriesByType("resource") if (key) { return cachedData.filter((data) => data.name.includes(key)) @@ -400,7 +422,8 @@ export function isInViewport(element: HTMLElement) { return ( rect.top >= 0 && rect.left >= 0 && - rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && + rect.bottom <= + (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth) ) } @@ -414,7 +437,12 @@ export function isInContainer(element: HTMLElement, id: string) { const container = document.getElementById(id) if (!container) return false const containerRect = container.getBoundingClientRect() - return rect.top >= containerRect.top && rect.left >= containerRect.left && rect.bottom <= containerRect.bottom && rect.right <= containerRect.right + return ( + rect.top >= containerRect.top && + rect.left >= containerRect.left && + rect.bottom <= containerRect.bottom && + rect.right <= containerRect.right + ) } /** @@ -422,7 +450,10 @@ export function isInContainer(element: HTMLElement, id: string) { * @example isOverflowingY(element) */ export function isOverflowingY(element: HTMLElement) { - return element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight + return ( + element.scrollWidth > element.clientWidth || + element.scrollHeight > element.clientHeight + ) } /** diff --git a/utils/formatters.ts b/package/src/formatters.ts similarity index 57% rename from utils/formatters.ts rename to package/src/formatters.ts index 36e7ca0e..58289eca 100644 --- a/utils/formatters.ts +++ b/package/src/formatters.ts @@ -6,46 +6,29 @@ * @example formatCurrency(1234.56) * @returns $1,234.56 */ -export function formatCurrency(number: number, currency = 'USD'): string { - const formatter = new Intl.NumberFormat('en-US', { - style: 'currency', - currency +export function formatCurrency(number: number, currency = "USD"): string { + const formatter = new Intl.NumberFormat("en-US", { + style: "currency", + currency, }) try { return formatter.format(number) } catch (error) { console.error(error) - return '' - } -} - -/** - * Format a number as a currency in thousands, millions, or billions - * @example formatCurrencyUnits(1234567890) - * @returns $1.23B - */ -export function formatCurrencyUnits(value: number): string { - if (value >= 1000000000) { - return `$${Math.round(value / 1000000000)}B` - } else if (value >= 1000000) { - return `$${Math.round(value / 1000000)}M` - } else if (value >= 1000) { - return `$${Math.round(value / 1000)}K` - } else { - return `$${value}` + return "" } } /** * Format time into hours, minutes, and seconds - * @example formatTimeUnits(3723) + * @example formatTime(3723) * @returns 1hr 2min 3s */ -export function formatTimeUnits(seconds: number): string { +export function formatTime(seconds: number): string { const hrs = Math.floor(seconds / 3600) const mins = Math.floor((seconds % 3600) / 60) const s = Math.floor(seconds % 60) - let formattedTime = '' + let formattedTime = "" if (hrs > 0) { formattedTime += `${hrs}hr ` } @@ -58,15 +41,6 @@ export function formatTimeUnits(seconds: number): string { return formattedTime.trim() } -/** - * Format Unix timestamp into a datetime string - * @example formatDatetime(1619097600) - * @returns 2021-04-22 00:00:00 - */ -export function formatDatetime(timestamp: number): string { - return new Date(timestamp * 1000).toISOString().replace('T', ' ').replace('Z', '') -} - /** * Format a number into a percentage * @example formatPercentage(0.1234) @@ -84,18 +58,43 @@ export function formatPercentage(number: number): string { * @example commaList(['one', 'two', 'three']) * @returns one, two and three */ -export function formatList(items: any[], limit: number, conjunction: string = 'and'): string { +export function formatList( + items: any[], + limit: number, + conjunction: string = "and" +): string { if (items.length === 1) { return items[0] } if (items.length === 2) { - return items.join(' ' + conjunction + ' ') + return items.join(" " + conjunction + " ") } if (items.length === 3) { - return items.slice(0, -1).join(', ') + ' ' + conjunction + ' ' + items.slice(-1) + return ( + items.slice(0, -1).join(", ") + " " + conjunction + " " + items.slice(-1) + ) } if (items.length > 3) { - return items.slice(0, limit).join(', ') + ' ' + conjunction + ' ' + (items.length - limit) + ' more' + return ( + items.slice(0, limit).join(", ") + + " " + + conjunction + + " " + + (items.length - limit) + + " more" + ) } - return '' + return "" +} + +/** + * Format Unix timestamp into a datetime string + * @example formatDatetime(1619097600) + * @returns 2021-04-22 00:00:00 + */ +export function formatDatetime(timestamp: number): string { + return new Date(timestamp * 1000) + .toISOString() + .replace("T", " ") + .replace("Z", "") } diff --git a/package/src/index.ts b/package/src/index.ts new file mode 100644 index 00000000..f1baca32 --- /dev/null +++ b/package/src/index.ts @@ -0,0 +1,6 @@ +export * from "./actions" +export * from "./detections" +export * from "./formatters" +export * from "./modifiers" +export * from "./numbers" +export * from "./validators" diff --git a/utils/modifiers.ts b/package/src/modifiers.ts similarity index 75% rename from utils/modifiers.ts rename to package/src/modifiers.ts index 3faa0e62..dd71d842 100644 --- a/utils/modifiers.ts +++ b/package/src/modifiers.ts @@ -1,3 +1,5 @@ +import { formatTime } from "./formatters" + // title: Modifiers // description: Modifiers are a key feature of Mods that allow you to easily modify and enhance your content. They are small pieces of code that can be applied to your JS to add functionality, validation or style. @@ -7,9 +9,9 @@ * @returns cool cool cool */ export function widont(text: string): string { - const space = text.lastIndexOf(' ') + const space = text.lastIndexOf(" ") - return text.substring(0, space) + ' ' + text.substring(space + 1) + return text.substring(0, space) + " " + text.substring(space + 1) } /** @@ -18,7 +20,7 @@ export function widont(text: string): string { * @returns Hello World */ export function stripHtml(text: string): string { - return text.replace(/<[^>]*>?/gm, '') + return text.replace(/<[^>]*>?/gm, "") } /** @@ -27,7 +29,7 @@ export function stripHtml(text: string): string { * @returns <p>Hello World</p> */ export function escapeHtml(text: string): string { - return text.replace(/&/g, '&').replace(//g, '>') + return text.replace(/&/g, "&").replace(//g, ">") } /** @@ -36,7 +38,7 @@ export function escapeHtml(text: string): string { * @returns

    Hello World

    */ export function showHtml(text: string): string { - return text.replace(/</g, '<').replace(/>/g, '>') + return text.replace(/</g, "<").replace(/>/g, ">") } /** @@ -45,7 +47,7 @@ export function showHtml(text: string): string { * @returns Hello World */ export function stripTags(text: string): string { - return text.replace(/<\/?[^>]+(>|$)/g, '') + return text.replace(/<\/?[^>]+(>|$)/g, "") } /** @@ -56,8 +58,8 @@ export function stripTags(text: string): string { export function slugify(text: string): string { return text .toLowerCase() - .replace(/[^\w ]+/g, '') - .replace(/ +/g, '-') + .replace(/[^\w ]+/g, "") + .replace(/ +/g, "-") } /** @@ -66,7 +68,7 @@ export function slugify(text: string): string { * @returns hello world */ export function deslugify(text: string): string { - return text.toLowerCase().replace(/-/g, ' ') + return text.toLowerCase().replace(/-/g, " ") } /** @@ -78,7 +80,7 @@ export function truncate(text: string, length: number): string { if (text.length <= length) { return text } - return text.substring(0, length) + '...' + return text.substring(0, length) + "..." } /** @@ -87,13 +89,13 @@ export function truncate(text: string, length: number): string { * @returns Hello... */ export function truncateWords(text: string, length: number): string { - const words = text.split(' ') + const words = text.split(" ") if (words.length <= length) { return text } const truncatedWords = words.slice(0, length) - return truncatedWords.join(' ') + '...' + return truncatedWords.join(" ") + "..." } /** @@ -102,7 +104,7 @@ export function truncateWords(text: string, length: number): string { * @returns 2 */ export function countWords(text: string): number { - return text.split(' ').length + return text.split(" ").length } /** @@ -120,7 +122,7 @@ export function countCharacters(text: string): number { * @returns 1 */ export function countLines(text: string): number { - return text.split('\n').length + return text.split("\n").length } /** @@ -129,7 +131,7 @@ export function countLines(text: string): number { * @returns HelloWorld */ export function stripWhitespace(text: string): string { - return text.replace(/\s+/g, '') + return text.replace(/\s+/g, "") } /** @@ -138,7 +140,7 @@ export function stripWhitespace(text: string): string { * @returns Hello World */ export function stripNumbers(text: string): string { - return text.replace(/[0-9]/g, '') + return text.replace(/[0-9]/g, "") } /** @@ -147,7 +149,7 @@ export function stripNumbers(text: string): string { * @returns Hello World */ export function stripPunctuation(text: string): string { - return text.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, '') + return text.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, "") } /** @@ -156,7 +158,7 @@ export function stripPunctuation(text: string): string { * @returns Hello World */ export function stripSymbols(text: string): string { - return text.replace(/[^\w\s]|_/g, '') + return text.replace(/[^\w\s]|_/g, "") } /** @@ -165,7 +167,7 @@ export function stripSymbols(text: string): string { * @returns Hello World! */ export function stripEmojis(text: string): string { - return text.replace(/[\u{1F600}-\u{1F6FF}]/gu, '') + return text.replace(/[\u{1F600}-\u{1F6FF}]/gu, "") } /** @@ -174,7 +176,7 @@ export function stripEmojis(text: string): string { * @returns 1 minute */ export function readingTime(text: string, wordsPerMinute = 200): string { - const words = text.split(' ').length + const words = text.split(" ").length const minutes = words / wordsPerMinute const readTime = Math.ceil(minutes) @@ -191,7 +193,7 @@ export function pluralize(text: string, count: number): string { return text } - return text + 's' + return text + "s" } /** @@ -200,7 +202,7 @@ export function pluralize(text: string, count: number): string { * @returns scooter */ export function singularize(text: string): string { - if (text.endsWith('s')) { + if (text.endsWith("s")) { return text.substring(0, text.length - 1) } @@ -213,10 +215,13 @@ export function singularize(text: string): string { * @returns 1st */ export function ordinalize(number: number): string { - const suffixes = ['th', 'st', 'nd', 'rd'] + const suffixes = ["th", "st", "nd", "rd"] const remainder = number % 100 - return number + (suffixes[(remainder - 20) % 10] || suffixes[remainder] || suffixes[0]) + return ( + number + + (suffixes[(remainder - 20) % 10] || suffixes[remainder] || suffixes[0]) + ) } /** @@ -226,8 +231,8 @@ export function ordinalize(number: number): string { */ export function humanize(text: string): string { return text - .replace(/_/g, ' ') - .replace(/([A-Z])/g, ' $1') + .replace(/_/g, " ") + .replace(/([A-Z])/g, " $1") .replace(/^./, (str) => str.toUpperCase()) } @@ -241,7 +246,7 @@ export function camelCase(text: string): string { .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { return index === 0 ? word.toLowerCase() : word.toUpperCase() }) - .replace(/\s+/g, '') + .replace(/\s+/g, "") } /** @@ -254,7 +259,7 @@ export function pascalCase(text: string): string { .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { return word.toUpperCase() }) - .replace(/\s+/g, '') + .replace(/\s+/g, "") } /** @@ -265,9 +270,9 @@ export function pascalCase(text: string): string { export function snakeCase(text: string): string { return text .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { - return index === 0 ? word.toLowerCase() : '_' + word.toLowerCase() + return index === 0 ? word.toLowerCase() : "_" + word.toLowerCase() }) - .replace(/\s+/g, '') + .replace(/\s+/g, "") } /** @@ -278,9 +283,9 @@ export function snakeCase(text: string): string { export function kebabCase(text: string): string { return text .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { - return index === 0 ? word.toLowerCase() : '-' + word.toLowerCase() + return index === 0 ? word.toLowerCase() : "-" + word.toLowerCase() }) - .replace(/\s+/g, '') + .replace(/\s+/g, "") } /** @@ -293,7 +298,7 @@ export function titleCase(text: string): string { .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { return word.toUpperCase() }) - .replace(/\s+/g, ' ') + .replace(/\s+/g, " ") } /** @@ -306,31 +311,31 @@ export function sentenceCase(text: string): string { .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { return index === 0 ? word.toUpperCase() : word.toLowerCase() }) - .replace(/\s+/g, ' ') + .replace(/\s+/g, " ") } /** * Adds a prefix to a string if it doesn't already start with the prefix. - * @example startWith('usemods.com', 'https://') + * @example startsWith('usemods.com', 'https://') * @returns https://usemods.com */ -export function startWith(text: string, start: string): string { - if (text.startsWith(start)) { +export function startsWith(text: string, startsWith: string): string { + if (text.startsWith(startsWith)) { return text } else { - return start + text + return startsWith + text } } /** * Removes a prefix from a string if it starts with the prefix. - * @example startWithout('https://usemods.com', 'https://') + * @example startsWithout('https://usemods.com', 'https://') * @returns usemods.com */ -export function startWithout(start: string, text: string): string { - if (text.startsWith(start)) { - return text.substring(start.length) +export function startsWithout(text: string, prefix: string): string { + if (text.startsWith(prefix)) { + return text.substring(prefix.length) } else { return text } @@ -338,25 +343,25 @@ export function startWithout(start: string, text: string): string { /** * Adds a suffix to a string if it doesn't already end with the suffix. - * @example endWith('https://usemods', '.com') + * @example endsWith('https://usemods', '.com') * @returns https://usemods.com */ -export function endWith(text: string, end: string): string { - if (text.endsWith(end)) { +export function endsWith(text: string, endsWith: string): string { + if (text.endsWith(endsWith)) { return text } else { - return text + end + return text + endsWith } } /** * Removes a suffix from a string if it ends with the suffix. - * @example endWithout('https://usemods.com.au', '.au') + * @example endsWithout('https://usemods.com.au', '.au') * @returns https://usemods.com */ -export function endWithout(text: string, end: string): string { - if (text.endsWith(end)) { - return text.substring(0, text.length - end.length) +export function endsWithout(text: string, suffix: string): string { + if (text.endsWith(suffix)) { + return text.substring(0, text.length - suffix.length) } else { return text } @@ -370,17 +375,21 @@ export function endWithout(text: string, end: string): string { * @example surround('https://', 'usemods', '.com') * @returns https://usemods.com */ -export function surround(start: string, text: string, end: string): string { - if (text.startsWith(start) && text.endsWith(end)) { +export function surround( + startsWith: string, + text: string, + endsWith: string +): string { + if (text.startsWith(startsWith) && text.endsWith(endsWith)) { return text } - if (text.startsWith(start)) { - return text + end + if (text.startsWith(startsWith)) { + return text + endsWith } - if (text.endsWith(end)) { - return start + text + if (text.endsWith(endsWith)) { + return startsWith + text } return startsWith + text + endsWith @@ -394,49 +403,60 @@ export function surround(start: string, text: string, end: string): string { */ export function title(text: string): string { const exceptions = [ - 'a', - 'an', - 'the', - 'for', - 'and', - 'nor', - 'but', - 'or', - 'yet', - 'so', - 'in', - 'on', - 'at', - 'with', - 'under', - 'above', - 'from', - 'of', - 'although', - 'because', - 'since', - 'unless' + "a", + "an", + "the", + "for", + "and", + "nor", + "but", + "or", + "yet", + "so", + "in", + "on", + "at", + "with", + "under", + "above", + "from", + "of", + "although", + "because", + "since", + "unless", ] - const capitalize = (word: string) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() + const capitalize = (word: string) => + word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() return text - .split(' ') + .split(" ") .map((word, index, wordsArray) => { const lowercaseWord = word.toLowerCase() - if (index > 0 && word.includes('-')) { - const [firstPart, secondPart] = word.split('-') - return capitalize(firstPart) + '-' + secondPart.toLowerCase() + if (index > 0 && word.includes("-")) { + const [firstPart, secondPart] = word.split("-") + return capitalize(firstPart) + "-" + secondPart.toLowerCase() } - if (index === 0 || index === wordsArray.length - 1 || !exceptions.includes(lowercaseWord)) { + if ( + index === 0 || + index === wordsArray.length - 1 || + !exceptions.includes(lowercaseWord) + ) { return capitalize(lowercaseWord) } - if (lowercaseWord === 'to' && index > 0 && wordsArray[index - 1].toLowerCase() !== 'to') { + if ( + lowercaseWord === "to" && + index > 0 && + wordsArray[index - 1].toLowerCase() !== "to" + ) { return lowercaseWord } - return exceptions.includes(lowercaseWord) ? lowercaseWord : capitalize(lowercaseWord) + return exceptions.includes(lowercaseWord) + ? lowercaseWord + : capitalize(lowercaseWord) }) - .join(' ') + .join(" ") } /** @@ -451,24 +471,28 @@ export function splitByWords(text: string): string { let combinedSentences = [] for (let i = 0; i < sentences.length; i += 2) { - const sentence = sentences[i] + (sentences[i + 1] || '') + const sentence = sentences[i] + (sentences[i + 1] || "") - if (sentence.trim() === '') { + if (sentence.trim() === "") { continue } const words = sentence - .split(' ') + .split(" ") .map((word) => { wordIndex++ return `${word}` }) - .join(' ') + .join(" ") - combinedSentences.push(`${words}`) + combinedSentences.push( + `${words}` + ) } - return combinedSentences.join(' ') + return combinedSentences.join(" ") } /** @@ -476,16 +500,16 @@ export function splitByWords(text: string): string { * @example list(['one', 'two', 'three']) * @returns
    • one
    • two
    • three
    */ -export function list(items: any[], listType: string = 'ul'): string { +export function list(items: any[], listType: string = "ul"): string { const listItem = (item: any) => { return `
  • ${item}
  • ` } - const listItems = items.map(listItem).join('') + const listItems = items.map(listItem).join("") - if (listType === 'ol') { + if (listType === "ol") { return `
      ${listItems}
    ` - } else if (listType === 'ul') { + } else if (listType === "ul") { return `
      ${listItems}
    ` } else { return listItems @@ -508,7 +532,10 @@ export function shuffle(items: any[]): any[] { * @example unique(['one', 'two', 'three', 'one']) * @returns ['one', 'two', 'three'] */ -export function unique(property: string | null = null, ...arrays: (string | { [key: string]: any })[][]): any[] { +export function unique( + property: string | null = null, + ...arrays: (string | { [key: string]: any })[][] +): any[] { const combinedItems = arrays.flat() if (!property) { @@ -519,7 +546,11 @@ export function unique(property: string | null = null, ...arrays: (string | { [k const result = [] for (const item of combinedItems) { - if (typeof item === 'object' && item[property] && !seenValues.has(item[property])) { + if ( + typeof item === "object" && + item[property] && + !seenValues.has(item[property]) + ) { seenValues.add(item[property]) result.push(item) } @@ -535,7 +566,9 @@ export function unique(property: string | null = null, ...arrays: (string | { [k */ export function difference(...arrays: any[][]): any[] { const mergedArray = arrays.flat() - return mergedArray.filter((item, index) => mergedArray.indexOf(item) === index) + return mergedArray.filter( + (item, index) => mergedArray.indexOf(item) === index + ) } /** @@ -579,7 +612,10 @@ export function offset(items: any[], offset: number): any[] { * @example group([{ name: 'one' }, { name: 'two' }, { name: 'one' }], 'name') * @returns { one: [{ name: 'one' }, { name: 'one' }], two: [{ name: 'two' }] } */ -export function group(items: { [key: string]: any }[], property: string): { [key: string]: any } { +export function group( + items: { [key: string]: any }[], + property: string +): { [key: string]: any } { return items.reduce((accumulator, item) => { const key = item[property] if (!accumulator[key]) { @@ -619,11 +655,11 @@ export function flatten(items: any[]): any[] { } /** - * Returns an array with a filtered out property. - * @example without([{ name: 'one', food: 'apple' }, { name: 'two', food: 'grape' }, { name: 'one', food: 'pear' }], 'name') - * @returns [{ food: 'apple' }, { food: 'grape' }, { food: 'pear' }] - - */ + * Returns an array with a filtered out property. + * @example without([{ name: 'one', food: 'apple' }, { name: 'two', food: 'grape' }, { name: 'one', food: 'pear' }], 'name') + * @returns [{ food: 'apple' }, { food: 'grape' }, { food: 'pear' }] + + */ export function without(items: any[], properties: any | any[]): any[] { if (!Array.isArray(items)) { return items @@ -633,7 +669,7 @@ export function without(items: any[], properties: any | any[]): any[] { return items.filter((item) => !properties.includes(item)) } else { return items.map((item) => { - if (typeof item === 'object' && item !== null) { + if (typeof item === "object" && item !== null) { item = { ...item } delete item[properties] } @@ -677,7 +713,10 @@ export function combineUnique(...items: (any | any[])[]): any[] { */ export function combineWithout( property: string | number, - ...items: (({ [key: string]: any } | { [key: number]: any }) | ({ [key: string]: any } | { [key: number]: any })[])[] + ...items: ( + | ({ [key: string]: any } | { [key: number]: any }) + | ({ [key: string]: any } | { [key: number]: any })[] + )[] ): any[] { let combined: any[] = [] @@ -707,7 +746,10 @@ export function reverse(items: any[]): any[] { * @example sortBy([{ name: 'John', age: 25 },{ name: 'Jane', age: 30 },{ name: 'Jill', age: 20 }], 'age') * @returns [{ name: 'Jill', age: 20 },{ name: 'John', age: 25 },{ name: 'Jane', age: 30 }] */ -export function sortBy(items: { [key: string]: any }[], property: string): { [key: string]: any }[] { +export function sortBy( + items: { [key: string]: any }[], + property: string +): { [key: string]: any }[] { return items.sort((a, b) => { return a[property] > b[property] ? 1 : -1 }) diff --git a/package/src/numbers.ts b/package/src/numbers.ts new file mode 100644 index 00000000..dc29fad1 --- /dev/null +++ b/package/src/numbers.ts @@ -0,0 +1,72 @@ +// titile: Numbers +// description: This file contains functions that are related to numbers. + +/** + * Generates a random integer between the specified minimum and maximum values. + * @example random(1, 10) + * @returns 5 + */ +export function random(min: number, max: number): number { + return Math.floor(Math.random() * (max - min + 1)) + min +} + +/** + * Calculates the sum of an array of numbers. + * @example sum([1, 2, 3]) + * @returns 6 + */ +export function sum(numbers: number[]): number { + return numbers.reduce((a, b) => a + b, 0) +} + +/** + * Calculates the average of an array of numbers. + * @example average([1, 2, 3]) + * @returns 2 + */ +export function average(numbers: number[]): number { + return sum(numbers) / numbers.length +} + +/** + * Calculates the median of an array of numbers. + * @example median([1, 2, 3]) + * @returns 2 + */ +export function median(numbers: number[]): number { + const sorted = numbers.sort((a, b) => a - b) // Fixed sorting for numbers + const middle = Math.floor(sorted.length / 2) + + if (sorted.length % 2 === 0) { + return (sorted[middle - 1] + sorted[middle]) / 2 + } + + return sorted[middle] +} + +/** + * Finds the minimum value in an array of numbers. + * @example min([1, 2, 3]) + * @returns 1 + */ +export function min(numbers: number[]): number { + return Math.min(...numbers) +} + +/** + * Finds the maximum value in an array of numbers. + * @example max([1, 2, 3]) + * @returns 3 + */ +export function max(numbers: number[]): number { + return Math.max(...numbers) +} + +/** + * Clamps a number between the specified minimum and maximum values. + * @example clamp(1, 10, 20) + * @returns 10 + */ +export function clamp(number: number, min: number, max: number): number { + return Math.min(Math.max(number, min), max) +} diff --git a/utils/validators.ts b/package/src/validators.ts similarity index 68% rename from utils/validators.ts rename to package/src/validators.ts index c840a829..c430e494 100644 --- a/utils/validators.ts +++ b/package/src/validators.ts @@ -21,6 +21,44 @@ export function isNumber(value: string | number): boolean { return regex.test(value.toString()) } +/** + * Check if the input is a valid phone number. + * @example isPhoneNumber('123-456-7890') + * @returns true + */ +// function isPhoneNumber(phoneNumber: string, country: string = "US"): boolean { +// const patterns: { [key: string]: RegExp } = { +// US: /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/, +// UK: /^(\(?(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?)?\(?0?(?:\)[\s-]?)?([1-9]\d{1,4}\)?[\d\s-]+)((?:x|ext\.?\s?|\#)\d{3,4})?$/, +// CA: /^(\+?1[-.\s]?)?\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/, +// BR: /^(\+?55[-.\s]?)?\(?([0-9]{2})\)?[-. ]?([0-9]{4,5})[-. ]?([0-9]{4})$/, +// AU: /^(\+?61[-.\s]?)?\(?(0?[2-57-8])\)?[-. ]?([0-9]{4})[-. ]?([0-9]{4})$/, +// DE: /^(\+?49[-.\s]?)?\(?([0-9]{2,3})\)?[-. ]?([0-9]{3,4})[-. ]?([0-9]{4})$/, +// FR: /^(\+?33[-.\s]?)?\(?([0-9]{1,5})\)?[-. ]?([0-9]{2})[-. ]?([0-9]{2})[-. ]?([0-9]{2})$/, +// IN: /^(\+?91|0)?[6789]\d{9}$/, +// NZ: /^(\+?64|0)[28]\d{7,9}$/, +// ZA: /^(\+?27|0)\d{9}$/, +// ZM: /^(\+?26)?09[567]\d{7}$/, +// ES: /^(\+?34)?(6\d{1}|7[1234])\d{7}$/, +// SE: /^(\+?46|0)[\s-]?7[\s-]?[02369]([\s-]?\d){7}$/, +// CH: /^(\+?41|0)(\d{2})?[\s-]?(\d{3})[\s-]?(\d{2})[\s-]?(\d{2})$/, +// TW: /^(\+?886-?|0)?9\d{8}$/, +// CZ: /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/, +// BE: /^(\+?32|0)4?\d{8}$/, +// PT: /^(\+351)?9[1236]\d{7}$/, +// GR: /^(\+?30)?(69\d{8})$/, +// HU: /^(\+?36)(20|30|70)\d{7}$/, +// IL: /^(\+972|0)([23489]|5[0248]|77)[1-9]\d{6}$/, +// IT: /^(\+?39)?\s?3\d{2} ?\d{6,7}$/, +// AR: /^(\+?549|0)(11|[2368]\d)\d{8}$/, +// MX: /^(\+?52)?(1|01)?\d{10,11}$/, +// PK: /^(\+?92|0)?[3456789]?\d{9}$/, +// JP: /^(\+?81|0)\d{1,4}[ -]?\d{1,4}[ -]?\d{4}$/, +// } + +// return patterns[country].test(phoneNumber) +// } + /** * Check if the input is a valid URL. * @example isURL('https://usemods.com') @@ -71,7 +109,7 @@ export function isHex(hex: string): boolean { * @returns true */ export function isEmpty(text: string): boolean { - return text === '' + return text === "" } /** @@ -109,7 +147,7 @@ export function isArray(array: any): boolean { * @returns true */ export function isObject(value: any): boolean { - return value && typeof value === 'object' && value.constructor === Object + return value && typeof value === "object" && value.constructor === Object } /** @@ -118,7 +156,7 @@ export function isObject(value: any): boolean { * @returns true */ export function isBoolean(boolean: any): boolean { - return typeof boolean === 'boolean' + return typeof boolean === "boolean" } /** @@ -127,7 +165,9 @@ export function isBoolean(boolean: any): boolean { * @returns true */ export function isFunction(functionToCheck: any): boolean { - return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]' + return ( + functionToCheck && {}.toString.call(functionToCheck) === "[object Function]" + ) } /** @@ -148,6 +188,15 @@ export function isNull(value: any): boolean { return value === null } +/** + * Check if the input is NaN (Not a Number). + * @example isNaN(NaN) + * @returns true + */ +export function isNaN(value: any): boolean { + return value !== value +} + /** * Check if the input is a valid Date object. * @example isDate(new Date()) @@ -163,7 +212,7 @@ export function isDate(date: any): boolean { * @returns true */ export function isError(error: any): boolean { - return error instanceof Error + return error instanceof Error && typeof error.message !== "undefined" } /** @@ -185,6 +234,15 @@ export function isLeapYear(year: number): boolean { return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0 } +/** + * Check if the input is a symbol. + * @example isSymbol(Symbol('hello')) + * @returns true + */ +export function isSymbol(symbol: any): boolean { + return typeof symbol === "symbol" +} + /** * Check if the input is a Promise object. * @example isPromise(new Promise(() => {})) @@ -212,6 +270,15 @@ export function isMap(map: any): boolean { return map instanceof Map } +/** + * Check if the input is a WeakSet object. + * @example isWeakSet(new WeakSet()) + * @returns true + */ +export function isWeakSet(weakSet: any): boolean { + return weakSet instanceof WeakSet +} + /** * Check if the number is even. * @example isEven(2) @@ -248,15 +315,6 @@ export function isNegative(number: any): boolean { return Math.sign(number) === -1 } -/** - * Check if the number is zero. - * @example isZero(0) - * @returns true - */ -export function isZero(number: any): boolean { - return number === 0 -} - /** * Check if the number is a prime number. * @example isPrime(7) @@ -276,7 +334,7 @@ export function isPrime(number: any): boolean { * @returns true */ export function isOptimusPrime(text: string): boolean { - return text === 'Optimus Prime' || text === '🚒' + return text === "Optimus Prime" } /** @@ -286,8 +344,8 @@ export function isOptimusPrime(text: string): boolean { */ export function isPalindrome(text: any): boolean { const regex = /[\W_]/g - const lowerText = text.toLowerCase().replace(regex, '') - const reverseText = lowerText.split('').reverse().join('') + const lowerText = text.toLowerCase().replace(regex, "") + const reverseText = lowerText.split("").reverse().join("") return reverseText === lowerText } @@ -336,7 +394,8 @@ export function isDivisibleBy(number: number, divisor: number): boolean { * @returns true */ export function isCreditCardNumber(number: string): boolean { - const regex = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/ + const regex = + /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/ return regex.test(number) } @@ -346,7 +405,8 @@ export function isCreditCardNumber(number: string): boolean { * @returns true */ export function isIPAddress(ip: string): boolean { - const regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((?::\d+)?|)$/ + const regex = + /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((?::\d+)?|)$/ return regex.test(ip) } @@ -361,13 +421,14 @@ export function isMACAddress(mac: string): boolean { } /** - * Check if the input is a valid latitude-longitude coordinate in the format lat,lng or lat,lng. - * @example isLatLng('40.741895,-73.989308') + * Check if the input is a valid latitude-longitude coordinate in the format lat,long or lat, long. + * @example isLatLong('40.741895,-73.989308') * @returns true */ -export function isLatLng(latLng: string): boolean { - const regex = /^([-+]?([1-8]?\d(\.\d+)?|90(\.0+)?)),\s*([-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?))$/ - return regex.test(latLng) +export function isLatLong(latLong: string): boolean { + const regex = + /^([-+]?([1-8]?\d(\.\d+)?|90(\.0+)?)),\s*([-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?))$/ + return regex.test(latLong) } /** * Check if the input is a valid latitude coordinate. @@ -390,49 +451,49 @@ export function isLongitude(longitude: string): boolean { } /** - * Check if the input is a valid port number. - * @example isPort(3000) + * Checks if a property and value pair exists in an object. + * @example isPresent({ hello: 'world' }, 'hello', 'world') * @returns true */ -export function isPort(port: number): boolean { - return port > 0 && port <= 65535 +export function isPresent(object: any, property: string, value: any): boolean { + return object.hasOwnProperty(property) && object[property] === value } /** - * Checks if a property and value pair exists in an object. - * @example hasPropertyValue({ hello: 'world' }, 'hello', 'world') + * Check if the input is a valid IBAN. + * @example isIBAN('NL39RABO0300065264') * @returns true */ -export function isPresent(object: any, property: string, value: any): boolean { - return object.hasOwnProperty(property) && object[property] === value +export function isIBAN(iban: string): boolean { + const regex = /^[A-Z]{2}\d{2}[A-Z]{4}\d{10}$/ + return regex.test(iban) } /** - * Check if a property exists in an object without checking its value. - * @example hasProperties({ hello: 'world' }, ['hello', 'world']) + * Check if the input is a valid BIC. + * @example isBIC('RABONL2U') * @returns true */ -export function hasProperties(object: any, properties: string[], strict: boolean = true): boolean { - const objectProperties = Object.keys(object) - - if (strict) { - return properties.every((property) => objectProperties.includes(property)) - } else { - return properties.some((property) => objectProperties.includes(property)) - } +export function isBIC(bic: string): boolean { + const regex = /^[A-Z]{6}[A-Z1-9]{5}$/ + return regex.test(bic) } /** - * Check if an array of key exists in an object - * @example hasKeys({ hello: 'world' }, ['hello', 'world',]) + * Check if the input is a valid port number. + * @example isPort(3000) * @returns true */ -export function hasKeys(object: any, keys: string[], strict: boolean = true): boolean { - const objectKeys = Object.keys(object) +export function isPort(port: number): boolean { + return port > 0 && port <= 65535 +} - if (strict) { - return keys.every((key) => objectKeys.includes(key)) - } else { - return keys.some((key) => objectKeys.includes(key)) - } +/** + * Check if the input is a valid IBAN. + * @example isIBAN('NL39RABO0300065264') + * @returns true + */ +export function isISBN(isbn: string): boolean { + const regex = /^(?=(?:\D*\d){10}(?:(?:\D*\d){3})?$)[\d-]+$/ + return regex.test(isbn) } diff --git a/package/test/formatters.test.ts b/package/test/formatters.test.ts new file mode 100644 index 00000000..2c77edcb --- /dev/null +++ b/package/test/formatters.test.ts @@ -0,0 +1,30 @@ +import { expect, test } from "bun:test" +import { formatCurrency, formatTime } from "../src/formatters" + +// @vitest-environment nuxt +// import * as mod from '@/utils/formatters' + +test("formatCurrency", () => { + expect(formatCurrency(1000.95)).toBe("$1,000.95") + expect(formatCurrency(1000.95, "EUR")).toBe("€1,000.95") + expect(formatCurrency(1000, "JPY")).toBe("¥1,000") + expect(formatCurrency(1000.95, "GBP")).toBe("£1,000.95") + expect(formatCurrency(1000.95, "CAD")).toBe("CA$1,000.95") + expect(formatCurrency(1000.95, "AUD")).toBe("A$1,000.95") +}) + +test("formatTime", () => { + expect(formatTime(3600)).toBe("1hr") + expect(formatTime(3600 * 2 + 60)).toBe("2hr 1min") + expect(formatTime(3600 * 2 + 60 + 1)).toBe("2hr 1min 1s") +}) + +// TODO: Make more robust +// test('formatPhoneNumber', () => { +// expect(formatPhoneNumber('1234567890', 'US')).toBe('123-456-7890') +// expect(formatPhoneNumber('+447911123456', 'UK')).toBe('+44-7911-123456') +// expect(formatPhoneNumber('1234567890', 'CA')).toBe('123-456-7890') +// expect(formatPhoneNumber('1234567890', 'US')).toBe('123-456-7890') +// expect(formatPhoneNumber('+447911123456', 'UK')).toBe('+44-7911-123456') +// expect(formatPhoneNumber('1234567890', 'CA')).toBe('123-456-7890') +// }) diff --git a/package/test/modifiers.test.ts b/package/test/modifiers.test.ts new file mode 100644 index 00000000..a1b88dbc --- /dev/null +++ b/package/test/modifiers.test.ts @@ -0,0 +1,339 @@ +import { expect, test } from "bun:test" +import { + widont, + escapeHtml, + stripHtml, + stripTags, + stripEmojis, + showHtml, + stripSymbols, + humanize, + stripWhitespace, + stripNumbers, + stripPunctuation, + ordinalize, + deslugify, + slugify, + splitByWords, + title, + truncate, + flatten, + group, + groupBy, + without, + combine, + combineUnique, + combineWithout, + reverse, + sortBy, + difference, + first, + last, + nth, + startsWith, + endsWith, + surround, + shuffle, + truncateWords, + countWords, + countCharacters, + countLines, + list, + unique, +} from "../src/modifiers" + +test("widont", () => { + expect(widont("Hello world")).toBe("Hello world") +}) + +test("stripHtml", () => { + expect(stripHtml("

    Hello world

    ")).toBe("Hello world") +}) + +test("escapeHtml", () => { + expect(escapeHtml("

    Hello world

    ")).toBe( + "<p>Hello world</p>" + ) +}) + +test("showHtml", () => { + expect(showHtml("<p>Hello World</p>")).toBe("

    Hello World

    ") +}) + +test("stripTags", () => { + expect(stripTags("

    Hello

    ")).toBe("Hello") +}) + +test("stripEmojis", () => { + expect(stripEmojis("Hello 😃")).toBe("Hello ") +}) + +test("stripWhitespace", () => { + expect(stripWhitespace("Hello world")).toBe("Helloworld") +}) + +test("stripNumbers", () => { + expect(stripNumbers("Hello world 123")).toBe("Hello world ") +}) + +test("stripSymbols", () => { + expect(stripSymbols("Hello world!")).toBe("Hello world") + expect(stripSymbols("Hello world!@£$%^&*()")).toBe("Hello world") +}) + +test("stripPunctuation", () => { + expect(stripPunctuation("Hello world!")).toBe("Hello world") +}) + +test("humanize", () => { + expect(humanize("hello_world")).toBe("Hello world") +}) + +test("slugify", () => { + expect(slugify("Hello world")).toBe("hello-world") +}) + +test("deslugify", () => { + expect(deslugify("hello-world")).toBe("hello world") +}) + +test("ordinalize", () => { + expect(ordinalize(1)).toBe("1st") + expect(ordinalize(2)).toBe("2nd") + expect(ordinalize(3)).toBe("3rd") + expect(ordinalize(4)).toBe("4th") + expect(ordinalize(11)).toBe("11th") + expect(ordinalize(12)).toBe("12th") + expect(ordinalize(13)).toBe("13th") + expect(ordinalize(14)).toBe("14th") + expect(ordinalize(21)).toBe("21st") + expect(ordinalize(22)).toBe("22nd") + expect(ordinalize(23)).toBe("23rd") + expect(ordinalize(24)).toBe("24th") + expect(ordinalize(101)).toBe("101st") + expect(ordinalize(102)).toBe("102nd") + expect(ordinalize(103)).toBe("103rd") + expect(ordinalize(104)).toBe("104th") +}) + +test("splitByWords", () => { + expect(splitByWords("Hello world. How are you?")).toBe( + `Hello world. How are you?` + ) +}) + +test("title", () => { + expect( + title("A new welcome for my brand new test for titles in javascript!") + ).toBe("A New Welcome for My Brand New Test for Titles in Javascript!") +}) + +test("truncate", () => { + expect(truncate("Hello world this is me", 4)).toBe("Hell...") +}) + +test("truncateWords", () => { + expect(truncateWords("Hello world and moon", 2)).toBe("Hello world...") +}) + +test("countWords", () => { + expect(countWords("Hello world and moon")).toBe(4) +}) + +test("countCharacters", () => { + expect(countCharacters("Hello world and moon")).toBe(20) +}) + +test("countLines", () => { + expect(countLines("Hello world and moon")).toBe(1) + expect(countLines("Hello world and moon\nHello world and moon")).toBe(2) +}) + +test("list", () => { + expect(list(["Hello", "World"], "ol")).toStrictEqual( + "
    1. Hello
    2. World
    " + ) +}) + +test("commaList", () => { + expect(commaList(["Apple", "Oranges", "Grapes", "Bread", "Milk"])).toBe( + "Apple, Oranges, Grapes, Bread and Milk" + ) + expect(commaList(["Apple", "Oranges", "Grapes", "Bread"], "or")).toBe( + "Apple, Oranges, Grapes or Bread" + ) +}) + +test("truncateList", () => { + expect(truncateList(["Apple", "Oranges", "Grapes", "Bread", "Milk"], 3)).toBe( + "Apple, Oranges, Grapes and 2 more" + ) + expect( + truncateList(["Apple", "Oranges", "Grapes", "Bread", "Milk"], 3, "or") + ).toBe("Apple, Oranges, Grapes or 2 more") +}) + +test("shuffle", () => { + expect(shuffle(["Apple", "Oranges", "Grapes", "Bread", "Milk"])).not.toBe([ + "Apple", + "Oranges", + "Grapes", + "Bread", + "Milk", + ]) +}) + +test("unique", () => { + expect(unique(["a", "b", "a", "c", "c"])).toStrictEqual(["a", "b", "c"]) + expect(unique([{ id: 1 }, { id: 2 }, { id: 1 }], "id")).toStrictEqual([ + { id: 1 }, + { id: 2 }, + ]) + expect(unique([], "id")).toStrictEqual([]) +}) + +test("first", () => { + expect(first(["a", "b", "c"])).toBe("a") + expect(first([])).toBe(undefined) +}) + +test("last", () => { + expect(last(["a", "b", "c"])).toBe("c") + expect(last([])).toBe(undefined) +}) + +test("nth", () => { + expect(nth(["a", "b", "c"], 1)).toBe("b") + expect(nth(["a", "b", "c"], 2)).toBe("c") + expect(nth(["a", "b", "c"], 3)).toBe(undefined) +}) + +test("startsWith", () => { + expect(startsWith("helloworld.com", "www.")).toBe("www.helloworld.com") + expect(startsWith("www.helloworld.com", "www.")).toBe("www.helloworld.com") +}) + +test("endsWith", () => { + expect(endsWith("www.helloworld", ".com")).toBe("www.helloworld.com") + expect(endsWith("www.helloworld.com", ".com")).toBe("www.helloworld.com") +}) + +test("surround", () => { + expect(surround("helloworld", "www.", ".com")).toBe("www.helloworld.com") + expect(surround("helloworld.com", "www.", ".com")).toBe("www.helloworld.com") + expect(surround("www.helloworld", "www.", ".com")).toBe("www.helloworld.com") + expect(surround("www.helloworld.com", "www.", ".com")).toBe( + "www.helloworld.com" + ) +}) + +test("group", () => { + const items = [ + { name: "John", age: 25 }, + { name: "Jane", age: 30 }, + { name: "Jake", age: 25 }, + ] + + expect(group(items, "age")).toStrictEqual({ + 25: [ + { name: "John", age: 25 }, + { name: "Jake", age: 25 }, + ], + 30: [{ name: "Jane", age: 30 }], + }) + + expect(group(items, "name")).toStrictEqual({ + John: [{ name: "John", age: 25 }], + Jane: [{ name: "Jane", age: 30 }], + Jake: [{ name: "Jake", age: 25 }], + }) +}) + +test("groupBy", () => { + const chunk = ["a", "b", "c", "d", "e", "f"] + expect(groupBy(chunk, 2)).toStrictEqual([ + ["a", "b"], + ["c", "d"], + ["e", "f"], + ]) + expect(groupBy(chunk, 3)).toStrictEqual([ + ["a", "b", "c"], + ["d", "e", "f"], + ]) + expect(groupBy(chunk, 4)).toStrictEqual([ + ["a", "b", "c", "d"], + ["e", "f"], + ]) + expect(groupBy(chunk, 5)).toStrictEqual([["a", "b", "c", "d", "e"], ["f"]]) + expect(groupBy(chunk, 6)).toStrictEqual([chunk]) +}) + +test("flatten", () => { + expect(flatten([1, [2, [3, [4]], 5]])).toStrictEqual([1, 2, 3, 4, 5]) +}) + +test("without", () => { + expect(without([1, 2, 3, 4, 5], [2, 4])).toStrictEqual([1, 3, 5]) +}) + +test("combine", () => { + expect(combine([1, 2, 3], [2, 3, 4])).toStrictEqual([1, 2, 3, 2, 3, 4]) + expect(combine([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([ + 1, 2, 3, 2, 3, 4, 3, 4, 5, + ]) +}) + +test("combineUnique", () => { + expect(combineUnique([1, 2, 3], [2, 3, 4])).toStrictEqual([1, 2, 3, 4]) + expect(combineUnique([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([ + 1, 2, 3, 4, 5, + ]) +}) + +test("combineWithout", () => { + expect( + combineWithout( + { id: 1, name: "A" }, + { id: 2, name: "B" }, + { id: 3, name: "C" }, + "id" + ) + ).toStrictEqual([1, 2, 3]) + expect( + combineWithout( + { id: 1, name: "A" }, + { id: 2, name: "B" }, + { id: 3, name: "C" }, + "name" + ) + ).toStrictEqual(["A", "B", "C"]) +}) + +test("reverse", () => { + expect(reverse([1, 2, 3])).toStrictEqual([3, 2, 1]) +}) + +test("sortBy", () => { + const items = [ + { name: "John", age: 25 }, + { name: "Jane", age: 30 }, + { name: "Jake", age: 20 }, + ] + + expect(sortBy(items, "age")).toStrictEqual([ + { name: "Jake", age: 20 }, + { name: "John", age: 25 }, + { name: "Jane", age: 30 }, + ]) + + expect(sortBy(items, "name")).toStrictEqual([ + { name: "Jake", age: 20 }, + { name: "Jane", age: 30 }, + { name: "John", age: 25 }, + ]) +}) + +test("difference", () => { + expect(difference([1, 2, 3], [2, 3, 4])).toStrictEqual([1]) + expect(difference([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([1]) +}) diff --git a/package/test/numbers.test.ts b/package/test/numbers.test.ts new file mode 100644 index 00000000..a596231a --- /dev/null +++ b/package/test/numbers.test.ts @@ -0,0 +1,32 @@ +import { expect, test } from "bun:test" +import { clamp, average, median, random, sum } from "../src/numbers" + +test("random", () => { + expect(random(1, 100)).toBeGreaterThanOrEqual(1) + expect(random(1, 100)).toBeLessThanOrEqual(100) +}) + +test("sum", () => { + expect(sum([1, 2, 3])).toBe(6) +}) + +test("average", () => { + expect(average([1, 2, 3])).toBe(2) + expect(average([1, 2, 3, 4])).toBe(2.5) + expect(average([-5, -3, -1, 0, 2])).toBe(-1.4) + expect(average([42])).toBe(42) + expect(average([])).toBeNaN() +}) + +test("median", () => { + expect(median([1, 2, 3])).toBe(2) + expect(median([1, 2, 3, 4])).toBe(2.5) + expect(median([-5, -3, -1, 0, 2])).toBe(-1) + expect(median([42])).toBe(42) + expect(median([])).toBeNaN() +}) + +test("clamp", () => { + expect(clamp(1, 10, 20)).toBe(10) + expect(clamp(15, 10, 20)).toBe(15) +}) diff --git a/package/test/validators.test.ts b/package/test/validators.test.ts new file mode 100644 index 00000000..4e453899 --- /dev/null +++ b/package/test/validators.test.ts @@ -0,0 +1,234 @@ +import { expect, test } from "bun:test" +import { + isEmail, + isNumber, + isURL, + isUUID, + isJSON, + isHex, + isEmpty, + isAlpha, + isAlphanumeric, + isArray, + isObject, + isBoolean, + isDate, + isFunction, + isUndefined, + isNull, + isNaN, + isError, + isTime, + isLeapYear, + isMap, + isEven, + isOdd, + isPositive, + isNegative, + isPrime, + isOptimusPrime, + isPalindrome, + isInteger, + isFloat, + isBetween, + isDivisibleBy, + isCreditCardNumber, + isIPAddress, + isMACAddress, + isLatLong, + isLatitude, + isLongitude, +} from "../src/validators" + +test("isEmail", () => { + expect(isEmail("hello@email.com")).toBe(true) + expect(isEmail("helloemail.com")).toBe(false) +}) + +test("isNumber", () => { + expect(isNumber("123")).toBe(true) + expect(isNumber("abc")).toBe(false) +}) + +test("isURL", () => { + expect(isURL("https://www.usemods.com")).toBe(true) + expect(isURL("usemods.com")).toBe(false) +}) + +test("isUUID", () => { + expect(isUUID("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11")).toBe(true) + expect(isUUID("hello")).toBe(false) +}) + +test("isJSON", () => { + expect(isJSON('{"hello": "world"}')).toBe(true) + expect(isJSON("hello")).toBe(false) +}) + +test("isHex", () => { + expect(isHex("#ffffff")).toBe(true) + expect(isHex("#gggggg")).toBe(false) +}) + +test("isEmpty", () => { + expect(isEmpty("")).toBe(true) + expect(isEmpty("hello")).toBe(false) +}) + +test("isAlpha", () => { + expect(isAlpha("hello")).toBe(true) + expect(isAlpha("hello123")).toBe(false) +}) + +test("isAlphanumeric", () => { + expect(isAlphanumeric("hello123")).toBe(true) + expect(isAlphanumeric("hello!")).toBe(false) +}) + +test("isArray", () => { + expect(isArray(["hello"])).toBe(true) + expect(isArray("hello")).toBe(false) +}) + +test("isObject", () => { + expect(isObject({ hello: "world" })).toBe(true) + expect(isObject("hello")).toBe(false) +}) + +test("isBoolean", () => { + expect(isBoolean(true)).toBe(true) + expect(isBoolean("hello")).toBe(false) +}) + +test("isDate", () => { + expect(isDate(new Date())).toBe(true) + expect(isDate("hello")).toBe(false) +}) + +test("isFunction", () => { + expect(isFunction(() => {})).toBe(true) + expect(isFunction("hello")).toBe(false) +}) + +test("isUndefined", () => { + expect(isUndefined(undefined)).toBe(true) + expect(isUndefined("hello")).toBe(false) +}) + +test("isNull", () => { + expect(isNull(null)).toBe(true) + expect(isNull("hello")).toBe(false) +}) + +test("isNaN", () => { + expect(isNaN(NaN)).toBe(true) + expect(isNaN("hello")).toBe(false) +}) + +test("isError", () => { + expect(isError(new Error("hello"))).toBe(true) + expect(isError("hello")).toBe(false) +}) + +test("isTime", () => { + expect(isTime("12:00")).toBe(true) + expect(isTime("hello")).toBe(false) +}) + +test("isLeapYear", () => { + expect(isLeapYear(2020)).toBe(true) + expect(isLeapYear(2021)).toBe(false) +}) + +test("isMap", () => { + expect(isMap(new Map())).toBe(true) + expect(isMap("hello")).toBe(false) +}) + +test("isEven", () => { + expect(isEven(2)).toBe(true) + expect(isEven(3)).toBe(false) +}) + +test("isOdd", () => { + expect(isOdd(2)).toBe(false) + expect(isOdd(3)).toBe(true) +}) + +test("isPositive", () => { + expect(isPositive(2)).toBe(true) + expect(isPositive(-2)).toBe(false) +}) + +test("isNegative", () => { + expect(isNegative(2)).toBe(false) + expect(isNegative(-2)).toBe(true) +}) + +test("isPrime", () => { + expect(isPrime(2)).toBe(true) + expect(isPrime(4)).toBe(false) +}) + +test("isOptimusPrime", () => { + expect(isOptimusPrime("Optimus Prime")).toBe(true) + expect(isOptimusPrime("Bubblebee")).toBe(false) +}) + +test("isPalindrome", () => { + expect(isPalindrome("racecar")).toBe(true) + expect(isPalindrome("hello")).toBe(false) +}) + +test("isInteger", () => { + expect(isInteger(2)).toBe(true) + expect(isInteger(2.5)).toBe(false) +}) + +test("isFloat", () => { + expect(isFloat(2.5)).toBe(true) + expect(isFloat(2)).toBe(false) +}) + +test("isBetween", () => { + expect(isBetween(4, 2, 6)).toBe(true) + expect(isBetween(4, 6, 8)).toBe(false) +}) + +test("isDivisibleBy", () => { + expect(isDivisibleBy(4, 2)).toBe(true) + expect(isDivisibleBy(4, 3)).toBe(false) +}) + +test("isCreditCardNumber", () => { + expect(isCreditCardNumber("4111111111111111")).toBe(true) + expect(isCreditCardNumber("hello")).toBe(false) +}) + +test("isIPAddress", () => { + expect(isIPAddress("192.168.0.1")).toBe(true) + expect(isIPAddress("192.168.0.1:3000")).toBe(true) + expect(isIPAddress("hello")).toBe(false) +}) + +test("isMACAddress", () => { + expect(isMACAddress("00:00:00:00:00:00")).toBe(true) + expect(isMACAddress("hello")).toBe(false) +}) + +test("isLatLong", () => { + expect(isLatLong("12.345678,-98.765432")).toBe(true) + expect(isLatLong("12.345678, -98.765432")).toBe(true) + expect(isLatLong("98.765432,12.345678")).toBe(false) + expect(isLatLong("hello")).toBe(false) +}) + +test("isLatitude", () => { + expect(isLatitude("12.345678")).toBe(true) + expect(isLatitude("hello")).toBe(false) +}) + +test("isLongitude", () => { + expect(isLongitude("-98.765432")).toBe(true) + expect(isLongitude("hello")).toBe(false) +}) diff --git a/package/tsconfig.json b/package/tsconfig.json new file mode 100644 index 00000000..6b3abc18 --- /dev/null +++ b/package/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "forceConsistentCasingInFileNames": true, + "target": "ESNext", + "module": "esnext", + "strict": true, + "esModuleInterop": true, + "moduleResolution": "Node", + "skipLibCheck": true, + "noUnusedLocals": true, + "useDefineForClassFields": true, + "noImplicitAny": true, + "allowJs": true, + "noEmit": true, + "outDir": "dist", + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "types": ["bun-types", "web"] + } +} diff --git a/tests/formatters.nuxt.test.ts b/tests/formatters.nuxt.test.ts deleted file mode 100644 index c76d172f..00000000 --- a/tests/formatters.nuxt.test.ts +++ /dev/null @@ -1,28 +0,0 @@ -// @vitest-environment nuxt -import { expect, test } from 'vitest' -// import * as mod from '@/utils/formatters' - -test('formatCurrency', () => { - expect(formatCurrency(1000.95)).toBe('$1,000.95') - expect(formatCurrency(1000.95, 'EUR')).toBe('€1,000.95') - expect(formatCurrency(1000, 'JPY')).toBe('¥1,000') - expect(formatCurrency(1000.95, 'GBP')).toBe('£1,000.95') - expect(formatCurrency(1000.95, 'CAD')).toBe('CA$1,000.95') - expect(formatCurrency(1000.95, 'AUD')).toBe('A$1,000.95') -}) - -test('formatTimeUnits', () => { - expect(formatTime(3600)).toBe('1hr') - expect(formatTime(3600 * 2 + 60)).toBe('2hr 1min') - expect(formatTime(3600 * 2 + 60 + 1)).toBe('2hr 1min 1s') -}) - -// TODO: Make more robust -// test('formatPhoneNumber', () => { -// expect(formatPhoneNumber('1234567890', 'US')).toBe('123-456-7890') -// expect(formatPhoneNumber('+447911123456', 'UK')).toBe('+44-7911-123456') -// expect(formatPhoneNumber('1234567890', 'CA')).toBe('123-456-7890') -// expect(formatPhoneNumber('1234567890', 'US')).toBe('123-456-7890') -// expect(formatPhoneNumber('+447911123456', 'UK')).toBe('+44-7911-123456') -// expect(formatPhoneNumber('1234567890', 'CA')).toBe('123-456-7890') -// }) diff --git a/tests/modifiers.nuxt.test.ts b/tests/modifiers.nuxt.test.ts deleted file mode 100644 index 18a84388..00000000 --- a/tests/modifiers.nuxt.test.ts +++ /dev/null @@ -1,255 +0,0 @@ -// @vitest-environment nuxt -import { expect, test } from 'vitest' - -test('widont', () => { - expect(widont('Hello world')).toBe('Hello world') -}) - -test('stripHtml', () => { - expect(stripHtml('

    Hello world

    ')).toBe('Hello world') -}) - -test('escapeHtml', () => { - expect(escapeHtml('

    Hello world

    ')).toBe('<p>Hello world</p>') -}) - -test('showHtml', () => { - expect(showHtml('<p>Hello World</p>')).toBe('

    Hello World

    ') -}) - -test('stripTags', () => { - expect(stripTags('

    Hello

    ')).toBe('Hello') -}) - -test('stripEmojis', () => { - expect(stripEmojis('Hello 😃')).toBe('Hello ') -}) - -test('stripWhitespace', () => { - expect(stripWhitespace('Hello world')).toBe('Helloworld') -}) - -test('stripNumbers', () => { - expect(stripNumbers('Hello world 123')).toBe('Hello world ') -}) - -test('stripSymbols', () => { - expect(stripSymbols('Hello world!')).toBe('Hello world') - expect(stripSymbols('Hello world!@£$%^&*()')).toBe('Hello world') -}) - -test('stripPunctuation', () => { - expect(stripPunctuation('Hello world!')).toBe('Hello world') -}) - -test('humanize', () => { - expect(humanize('hello_world')).toBe('Hello world') -}) - -test('slugify', () => { - expect(slugify('Hello world')).toBe('hello-world') -}) - -test('deslugify', () => { - expect(deslugify('hello-world')).toBe('hello world') -}) - -test('ordinalize', () => { - expect(ordinalize(1)).toBe('1st') - expect(ordinalize(2)).toBe('2nd') - expect(ordinalize(3)).toBe('3rd') - expect(ordinalize(4)).toBe('4th') - expect(ordinalize(11)).toBe('11th') - expect(ordinalize(12)).toBe('12th') - expect(ordinalize(13)).toBe('13th') - expect(ordinalize(14)).toBe('14th') - expect(ordinalize(21)).toBe('21st') - expect(ordinalize(22)).toBe('22nd') - expect(ordinalize(23)).toBe('23rd') - expect(ordinalize(24)).toBe('24th') - expect(ordinalize(101)).toBe('101st') - expect(ordinalize(102)).toBe('102nd') - expect(ordinalize(103)).toBe('103rd') - expect(ordinalize(104)).toBe('104th') -}) - -test('splitByWords', () => { - expect(splitByWords('Hello world. How are you?')).toBe( - `Hello world. How are you?` - ) -}) - -test('title', () => { - expect(title('A new welcome for my brand new test for titles in javascript!')).toBe('A New Welcome for My Brand New Test for Titles in Javascript!') -}) - -test('truncate', () => { - expect(truncate('Hello world this is me', 4)).toBe('Hell...') -}) - -test('truncateWords', () => { - expect(truncateWords('Hello world and moon', 2)).toBe('Hello world...') -}) - -test('countWords', () => { - expect(countWords('Hello world and moon')).toBe(4) -}) - -test('countCharacters', () => { - expect(countCharacters('Hello world and moon')).toBe(20) -}) - -test('countLines', () => { - expect(countLines('Hello world and moon')).toBe(1) - expect(countLines('Hello world and moon\nHello world and moon')).toBe(2) -}) - -test('list', () => { - expect(list(['Hello', 'World'], 'ol')).toStrictEqual(['
    1. Hello
    2. World
    ']) -}) - -test('commaList', () => { - expect(commaList(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk'])).toBe('Apple, Oranges, Grapes, Bread and Milk') - expect(commaList(['Apple', 'Oranges', 'Grapes', 'Bread'], 'or')).toBe('Apple, Oranges, Grapes or Bread') -}) - -test('truncateList', () => { - expect(truncateList(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk'], 3)).toBe('Apple, Oranges, Grapes and 2 more') - expect(truncateList(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk'], 3, 'or')).toBe('Apple, Oranges, Grapes or 2 more') -}) - -test('shuffle', () => { - expect(shuffle(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk'])).not.toBe(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk']) -}) - -test('unique', () => { - expect(unique(['a', 'b', 'a', 'c', 'c'])).toStrictEqual(['a', 'b', 'c']) - expect(unique([{ id: 1 }, { id: 2 }, { id: 1 }], 'id')).toStrictEqual([{ id: 1 }, { id: 2 }]) - expect(unique([], 'id')).toStrictEqual([]) -}) - -test('first', () => { - expect(first(['a', 'b', 'c'])).toBe('a') - expect(first([])).toBe(undefined) -}) - -test('last', () => { - expect(last(['a', 'b', 'c'])).toBe('c') - expect(last([])).toBe(undefined) -}) - -test('nth', () => { - expect(nth(['a', 'b', 'c'], 1)).toBe('b') - expect(nth(['a', 'b', 'c'], 2)).toBe('c') - expect(nth(['a', 'b', 'c'], 3)).toBe(undefined) -}) - -test('startsWith', () => { - expect(startsWith('helloworld.com', 'www.')).toBe('www.helloworld.com') - expect(startsWith('www.helloworld.com', 'www.')).toBe('www.helloworld.com') -}) - -test('endsWith', () => { - expect(endsWith('www.helloworld', '.com')).toBe('www.helloworld.com') - expect(endsWith('www.helloworld.com', '.com')).toBe('www.helloworld.com') -}) - -test('surround', () => { - expect(surround('helloworld', 'www.', '.com')).toBe('www.helloworld.com') - expect(surround('helloworld.com', 'www.', '.com')).toBe('www.helloworld.com') - expect(surround('www.helloworld', 'www.', '.com')).toBe('www.helloworld.com') - expect(surround('www.helloworld.com', 'www.', '.com')).toBe('www.helloworld.com') -}) - -test('group', () => { - const items = [ - { name: 'John', age: 25 }, - { name: 'Jane', age: 30 }, - { name: 'Jake', age: 25 } - ] - - expect(group(items, 'age')).toStrictEqual({ - 25: [ - { name: 'John', age: 25 }, - { name: 'Jake', age: 25 } - ], - 30: [{ name: 'Jane', age: 30 }] - }) - - expect(group(items, 'name')).toStrictEqual({ - John: [{ name: 'John', age: 25 }], - Jane: [{ name: 'Jane', age: 30 }], - Jake: [{ name: 'Jake', age: 25 }] - }) -}) - -test('groupBy', () => { - const chunk = ['a', 'b', 'c', 'd', 'e', 'f'] - expect(groupBy(chunk, 2)).toStrictEqual([ - ['a', 'b'], - ['c', 'd'], - ['e', 'f'] - ]) - expect(groupBy(chunk, 3)).toStrictEqual([ - ['a', 'b', 'c'], - ['d', 'e', 'f'] - ]) - expect(groupBy(chunk, 4)).toStrictEqual([ - ['a', 'b', 'c', 'd'], - ['e', 'f'] - ]) - expect(groupBy(chunk, 5)).toStrictEqual([['a', 'b', 'c', 'd', 'e'], ['f']]) - expect(groupBy(chunk, 6)).toStrictEqual([chunk]) -}) - -test('flatten', () => { - expect(flatten([1, [2, [3, [4]], 5]])).toStrictEqual([1, 2, 3, 4, 5]) -}) - -test('without', () => { - expect(without([1, 2, 3, 4, 5], [2, 4])).toStrictEqual([1, 3, 5]) -}) - -test('combine', () => { - expect(combine([1, 2, 3], [2, 3, 4])).toStrictEqual([1, 2, 3, 2, 3, 4]) - expect(combine([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([1, 2, 3, 2, 3, 4, 3, 4, 5]) -}) - -test('combineUnique', () => { - expect(combineUnique([1, 2, 3], [2, 3, 4])).toStrictEqual([1, 2, 3, 4]) - expect(combineUnique([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([1, 2, 3, 4, 5]) -}) - -test('combineWithout', () => { - expect(combineWithout({ id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' }, 'id')).toStrictEqual([1, 2, 3]) - expect(combineWithout({ id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' }, 'name')).toStrictEqual(['A', 'B', 'C']) -}) - -test('reverse', () => { - expect(reverse([1, 2, 3])).toStrictEqual([3, 2, 1]) -}) - -test('sortBy', () => { - const items = [ - { name: 'John', age: 25 }, - { name: 'Jane', age: 30 }, - { name: 'Jake', age: 20 } - ] - - expect(sortBy(items, 'age')).toStrictEqual([ - { name: 'Jake', age: 20 }, - { name: 'John', age: 25 }, - { name: 'Jane', age: 30 } - ]) - - expect(sortBy(items, 'name')).toStrictEqual([ - { name: 'Jake', age: 20 }, - { name: 'Jane', age: 30 }, - { name: 'John', age: 25 } - ]) -}) - -test('difference', () => { - expect(difference([1, 2, 3], [2, 3, 4])).toStrictEqual([1]) - expect(difference([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([1]) -}) diff --git a/tests/numbers.nuxt.test.ts b/tests/numbers.nuxt.test.ts deleted file mode 100644 index e1ae9778..00000000 --- a/tests/numbers.nuxt.test.ts +++ /dev/null @@ -1,54 +0,0 @@ -// @vitest-environment nuxt -import { addSyntheticLeadingComment } from '@ts-morph/common/lib/typescript' -import { expect, test } from 'vitest' - -// import * as mod from '../utils/numbers' - -test('random', () => { - expect(random(1, 100)).toBeGreaterThanOrEqual(1) - expect(random(1, 100)).toBeLessThanOrEqual(100) -}) - -test('sum', () => { - expect(sum([1, 2, 3])).toBe(6) -}) - -test('average', () => { - expect(average([1, 2, 3])).toBe(2) - expect(average([1, 2, 3, 4])).toBe(2.5) - expect(average([-5, -3, -1, 0, 2])).toBe(-1.4) - expect(average([42])).toBe(42) - expect(average([])).toBeNaN() -}) - -test('median', () => { - expect(median([1, 2, 3])).toBe(2) - expect(median([1, 2, 3, 4])).toBe(2.5) - expect(median([-5, -3, -1, 0, 2])).toBe(-1) - expect(median([42])).toBe(42) - expect(median([])).toBeNaN() -}) - -test('mode', () => { - expect(mode([1, 2, 3])).toBeNull() - expect(mode([1, 2, 2, 3, 4])).toBe(2) - expect(mode([-5, -3, -1, -1, 0, 2])).toBe(-1) - expect(mode([42])).toBe(42) - expect(mode([])).toBeNull() -}) - -test('clamp', () => { - expect(clamp(1, 10, 20)).toBe(10) - expect(clamp(15, 10, 20)).toBe(15) -}) - -test('differenceAsPercentage', () => { - expect(differenceAsPercentage(1, 1)).toBe(0) - expect(differenceAsPercentage(2, 1)).toBe(-50) - expect(differenceAsPercentage(1, 2)).toBe(100) - expect(differenceAsPercentage(3, 1, 0)).toBe(-67) - expect(differenceAsPercentage(3, 1, 1)).toBe(-66.7) - expect(differenceAsPercentage(3, 1, 2)).toBe(-66.67) - expect(differenceAsPercentage(1.123456789, 2.123456789)).toBe(89.0109891) - expect(differenceAsPercentage(1.123456789, 2.123456789, 2)).toBe(89.01) -}) diff --git a/tests/validators.nuxt.test.ts b/tests/validators.nuxt.test.ts deleted file mode 100644 index 5e8f240a..00000000 --- a/tests/validators.nuxt.test.ts +++ /dev/null @@ -1,190 +0,0 @@ -// @vitest-environment nuxt -import { expect, test } from 'vitest' - -test('isEmail', () => { - expect(isEmail('hello@email.com')).toBe(true) - expect(isEmail('helloemail.com')).toBe(false) -}) - -test('isNumber', () => { - expect(isNumber('123')).toBe(true) - expect(isNumber('abc')).toBe(false) -}) - -test('isURL', () => { - expect(isURL('https://www.usemods.com')).toBe(true) - expect(isURL('usemods.com')).toBe(false) -}) - -test('isUUID', () => { - expect(isUUID('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11')).toBe(true) - expect(isUUID('hello')).toBe(false) -}) - -test('isJSON', () => { - expect(isJSON('{"hello": "world"}')).toBe(true) - expect(isJSON('hello')).toBe(false) -}) - -test('isHex', () => { - expect(isHex('#ffffff')).toBe(true) - expect(isHex('#gggggg')).toBe(false) -}) - -test('isEmpty', () => { - expect(isEmpty('')).toBe(true) - expect(isEmpty('hello')).toBe(false) -}) - -test('isAlpha', () => { - expect(isAlpha('hello')).toBe(true) - expect(isAlpha('hello123')).toBe(false) -}) - -test('isAlphanumeric', () => { - expect(isAlphanumeric('hello123')).toBe(true) - expect(isAlphanumeric('hello!')).toBe(false) -}) - -test('isArray', () => { - expect(isArray(['hello'])).toBe(true) - expect(isArray('hello')).toBe(false) -}) - -test('isObject', () => { - expect(isObject({ hello: 'world' })).toBe(true) - expect(isObject('hello')).toBe(false) -}) - -test('isBoolean', () => { - expect(isBoolean(true)).toBe(true) - expect(isBoolean('hello')).toBe(false) -}) - -test('isDate', () => { - expect(isDate(new Date())).toBe(true) - expect(isDate('hello')).toBe(false) -}) - -test('isFunction', () => { - expect(isFunction(() => {})).toBe(true) - expect(isFunction('hello')).toBe(false) -}) - -test('isUndefined', () => { - expect(isUndefined(undefined)).toBe(true) - expect(isUndefined('hello')).toBe(false) -}) - -test('isNull', () => { - expect(isNull(null)).toBe(true) - expect(isNull('hello')).toBe(false) -}) - -test('isError', () => { - expect(isError(new Error('hello'))).toBe(true) - expect(isError('hello')).toBe(false) -}) - -test('isTime', () => { - expect(isTime('12:00')).toBe(true) - expect(isTime('hello')).toBe(false) -}) - -test('isLeapYear', () => { - expect(isLeapYear(2020)).toBe(true) - expect(isLeapYear(2021)).toBe(false) -}) - -test('isMap', () => { - expect(isMap(new Map())).toBe(true) - expect(isMap('hello')).toBe(false) -}) - -test('isEven', () => { - expect(isEven(2)).toBe(true) - expect(isEven(3)).toBe(false) -}) - -test('isOdd', () => { - expect(isOdd(2)).toBe(false) - expect(isOdd(3)).toBe(true) -}) - -test('isPositive', () => { - expect(isPositive(2)).toBe(true) - expect(isPositive(-2)).toBe(false) -}) - -test('isNegative', () => { - expect(isNegative(2)).toBe(false) - expect(isNegative(-2)).toBe(true) -}) - -test('isPrime', () => { - expect(isPrime(2)).toBe(true) - expect(isPrime(4)).toBe(false) -}) - -test('isOptimusPrime', () => { - expect(isOptimusPrime('Optimus Prime')).toBe(true) - expect(isOptimusPrime('Bubblebee')).toBe(false) -}) - -test('isPalindrome', () => { - expect(isPalindrome('racecar')).toBe(true) - expect(isPalindrome('hello')).toBe(false) -}) - -test('isInteger', () => { - expect(isInteger(2)).toBe(true) - expect(isInteger(2.5)).toBe(false) -}) - -test('isFloat', () => { - expect(isFloat(2.5)).toBe(true) - expect(isFloat(2)).toBe(false) -}) - -test('isBetween', () => { - expect(isBetween(4, 2, 6)).toBe(true) - expect(isBetween(4, 6, 8)).toBe(false) -}) - -test('isDivisibleBy', () => { - expect(isDivisibleBy(4, 2)).toBe(true) - expect(isDivisibleBy(4, 3)).toBe(false) -}) - -test('isCreditCardNumber', () => { - expect(isCreditCardNumber('4111111111111111')).toBe(true) - expect(isCreditCardNumber('hello')).toBe(false) -}) - -test('isIPAddress', () => { - expect(isIPAddress('192.168.0.1')).toBe(true) - expect(isIPAddress('192.168.0.1:3000')).toBe(true) - expect(isIPAddress('hello')).toBe(false) -}) - -test('isMACAddress', () => { - expect(isMACAddress('00:00:00:00:00:00')).toBe(true) - expect(isMACAddress('hello')).toBe(false) -}) - -test('isLatLong', () => { - expect(isLatLong('12.345678,-98.765432')).toBe(true) - expect(isLatLong('12.345678, -98.765432')).toBe(true) - expect(isLatLong('98.765432,12.345678')).toBe(false) - expect(isLatLong('hello')).toBe(false) -}) - -test('isLatitude', () => { - expect(isLatitude('12.345678')).toBe(true) - expect(isLatitude('hello')).toBe(false) -}) - -test('isLongitude', () => { - expect(isLongitude('-98.765432')).toBe(true) - expect(isLongitude('hello')).toBe(false) -}) diff --git a/utils/generators.ts b/utils/generators.ts deleted file mode 100644 index c785a8e5..00000000 --- a/utils/generators.ts +++ /dev/null @@ -1,24 +0,0 @@ -// title: Generators -// description: A collection of generators - -/** - * Generate a unique short ID based on the current timestamp - * @example generateShortId(36) - * @returns 1HR2MIN3S - */ -export function generateShortId(length: number = 36): string { - return Math.floor(Date.now()).toString(length).toUpperCase() -} - -/** - * Generate initials from any string - * @example generateInitials('John Doe') - * @returns JD - */ -export function generateInitials(text: string, count: number = 2): string { - return text - .split(' ') - .map((word) => word.charAt(0).toUpperCase()) - .join('') - .substr(0, count) -} diff --git a/utils/numbers.ts b/utils/numbers.ts deleted file mode 100644 index 10285aa1..00000000 --- a/utils/numbers.ts +++ /dev/null @@ -1,194 +0,0 @@ -// titile: Numbers -// description: This file contains functions that are related to numbers. - -/** - * Generates a random integer between the specified minimum and maximum values. - * @example random(1, 10) - * @returns 5 - */ -export function random(min: number, max: number): number { - return Math.floor(Math.random() * (max - min + 1)) + min -} - -/** - * Calculates the sum of an array of numbers. - * @example sum([1, 2, 3]) - * @returns 6 - */ -export function sum(numbers: number[]): number { - return numbers.reduce((a, b) => a + b, 0) -} - -/** - * Calculates the mean of an array of numbers. - * @example average([1, 2, 3]) - * @returns 2 - */ -export function mean(numbers: number[]): number { - return sum(numbers) / numbers.length -} - -/** - * Calculates the mean of an array of numbers. - * @example average([1, 2, 3]) - * @returns 2 - */ -export function average(numbers: number[]): number { - return mean(numbers) -} - -/** - * Calculates the median of an array of numbers. - * @example median([1, 2, 3]) - * @returns 2 - */ -export function median(numbers: number[]): number { - const sorted = numbers.sort((a, b) => a - b) // Fixed sorting for numbers - const middle = Math.floor(sorted.length / 2) - - if (sorted.length % 2 === 0) { - return (sorted[middle - 1] + sorted[middle]) / 2 - } - - return sorted[middle] -} - -/** - * Calculates the mode of an array of numbers. - * @example mode([1, 2, 2, 3]) - * @returns 2 - */ -export function mode(numbers: number[]): number | null { - if (numbers.length === 0) return null - if (numbers.length === 1) return numbers[0] - - const frequencyMap = new Map() - numbers.forEach((num) => frequencyMap.set(num, (frequencyMap.get(num) || 0) + 1)) - - const maxEntry = [...frequencyMap.entries()].reduce((a, b) => (a[1] > b[1] ? a : b)) - - // Check if the highest frequency is greater than 1 - if (maxEntry[1] > 1) { - return maxEntry[0] - } - return null -} - -/** - * Finds the minimum value in an array of numbers. - * @example min([1, 2, 3]) - * @returns 1 - */ -export function min(numbers: number[]): number { - return Math.min(...numbers) -} - -/** - * Finds the maximum value in an array of numbers. - * @example max([1, 2, 3]) - * @returns 3 - */ -export function max(numbers: number[]): number { - return Math.max(...numbers) -} - -/** - * Clamps a number between the specified minimum and maximum values. - * @example clamp(1, 10, 20) - * @returns 10 - */ -export function clamp(number: number, min: number, max: number): number { - return Math.min(Math.max(number, min), max) -} - -/** - * Returns the range of an array of numbers. - * @example range([1, 2, 3]) - * @returns 2 - */ -export function range(numbers: number[]): number { - return max(numbers) - min(numbers) -} - -/** - * Returns the minimum and maximum values in an array of numbers. - * @example minMax([1, 2, 3, 4, 5]) - * @returns [1, 5] - */ -export function minMax(numbers: number[]): [number, number] { - return [min(numbers), max(numbers)] -} - -/** - * Returns the difference between two values, expressed as a positive number. - * @example range(-10, -20) - * @returns 10 - */ -export function range(a: number, b: number): number { - return Math.abs(a - b) -} - -/** - * Returns the difference between two values, as a percentage. - * @example differenceAsPercentage(10, 20) - * @returns 100 - */ -export function rangeAsPercentage(a: number, b: number, decimals: number | null = null): number { - const percentage = ((b - a) / a) * 100 - return decimals != null ? parseFloat(percentage.toFixed(decimals)) : percentage -} - -/** - * Returns the percentage of a value, relative to another value. - * @example percentage(10, 100) - * @returns 10 - */ -export function percentage(value: number, total: number): number { - return (value / total) * 100 -} - -/** - * Returns the standard deviation of an array of numbers. - * @example standardDeviation([1, 2, 3, 20, 120, 2000]) - * @returns 0.5 - */ -export function standardDeviation(numbers: number[]): number { - const meanValue = mean(numbers) - const variance = mean(numbers.map((num) => Math.pow(num - meanValue, 2))) - return Math.sqrt(variance) -} - -/** - * Returns the measure of asymmetry of the probability distribution of an array of numbers. - * The skewness value can be positive, zero, negative, or undefined. - * @example skewness([1, 2, 3, 20, 120, 2000]) - * @returns 2.5 - */ -export function skewness(numbers: number[]): number { - const meanValue = mean(numbers) - const medianValue = median(numbers) - const standardDeviationValue = standardDeviation(numbers) - - return (meanValue - medianValue) / standardDeviationValue -} - -/** - * Return the frequency of all values (numbers, string or boolean) in an array as an object - * @example frequency([1, 3, 2, 3, 3, 3, 'a', 'b', 'c', 'c']) - * @returns { '1': 1, '2': 1, '3': 4, a: 1, b: 1, c: 2 } - */ -export function frequency(array: (number | string)[]): Record { - return array.reduce((acc, curr) => { - acc[curr] = (acc[curr] || 0) + 1 - return acc - }, {} as Record) -} - -/** - * Returns the fequency of a property value in an array - * @example frequencyOfPropert([1, 3, 2, 3, 3, 3, 'a', 'b', 'c', 'c'], 3) - * @returns 4 - */ -export function frequencyOfProperty(array: (number | string)[], property: number | string): number { - return array.filter((item) => item === property).length -} From 7e4a1252e3090b70f70488e48c83ef0b6f8d9fae Mon Sep 17 00:00:00 2001 From: Phillip Hartin Date: Mon, 15 Jan 2024 12:02:42 +1100 Subject: [PATCH 2/8] Update package name for publishing --- nuxt-module/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nuxt-module/package.json b/nuxt-module/package.json index 88a5ce64..78155244 100644 --- a/nuxt-module/package.json +++ b/nuxt-module/package.json @@ -1,7 +1,7 @@ { - "name": "mods-module", + "name": "nuxt-mods-module", "version": "1.0.0", - "description": "My new Nuxt module", + "description": "Mods for Nuxt.js", "repository": "your-org/mods-module", "license": "MIT", "type": "module", From 6475f154ef6e6fab682ca87a6e89cd32ee93f41c Mon Sep 17 00:00:00 2001 From: Phillip Hartin Date: Mon, 15 Jan 2024 13:45:32 +1100 Subject: [PATCH 3/8] Use latest utility code Imported from main --- docs/components/Example.vue | 26 + docs/content/2.functions/actions.md | 81 +- docs/content/2.functions/detections.md | 144 +- docs/content/2.functions/formatters.md | 52 +- docs/content/2.functions/generators.md | 24 + docs/content/2.functions/index.md | 0 docs/content/2.functions/modifiers.md | 617 +- docs/content/2.functions/numbers.md | 129 +- docs/content/2.functions/validators.md | 574 +- docs/docs.ts | 95 + docs/mods.ts | 108 - docs/package-lock.json | 19517 +++++++++++------------ docs/package.json | 1 + package/src/actions.ts | 81 +- package/src/detections.ts | 309 +- package/src/formatters.ts | 78 +- package/src/generators.ts | 24 + package/src/index.ts | 13 +- package/src/modifiers.ts | 262 +- package/src/numbers.ts | 117 +- package/src/validators.ts | 163 +- 21 files changed, 10140 insertions(+), 12275 deletions(-) create mode 100644 docs/components/Example.vue create mode 100644 docs/content/2.functions/generators.md create mode 100644 docs/content/2.functions/index.md create mode 100644 docs/docs.ts delete mode 100644 docs/mods.ts create mode 100644 package/src/generators.ts diff --git a/docs/components/Example.vue b/docs/components/Example.vue new file mode 100644 index 00000000..f94ac08f --- /dev/null +++ b/docs/components/Example.vue @@ -0,0 +1,26 @@ + + + diff --git a/docs/content/2.functions/actions.md b/docs/content/2.functions/actions.md index 1ff57f10..2ea1e770 100644 --- a/docs/content/2.functions/actions.md +++ b/docs/content/2.functions/actions.md @@ -1,83 +1,4 @@ # Actions -#### A collection of useful actionss +#### A collection of useful actions -## scrollToAnchor - -Smoothly scroll to an wanker on the page - -```js [js] -scrollToAnchor("#my-anchor") -``` - -## toggleDarkMode - -Toggles the dark mode - -```js [js] -toggleDarkMode() -``` - -## redirect - -Redirects to a new URL - -```js [js] -redirect("https://example.com") -``` - -## resetForm - -Resets a form - -```js [js] -resetForm(document.querySelector("form")) -``` - -## toggleBodyScroll - -Toggles the body scroll - -```js [js] -toggleBodyScroll() -``` - -## toggleElementScroll - -Toggles the element scroll - -```js [js] -toggleElementScroll(document.querySelector("#my-element")) -``` - -## focusOn - -Focuses on an element - -```js [js] -focusOn(document.querySelector("#my-element")) -``` - -## focusOnFirst - -Focuses on the first element - -```js [js] -focusOnFirst(document.querySelector("#my-element")) -``` - -## focusOnLast - -Focuses on the last element - -```js [js] -focusOnLast(document.querySelector("#my-element")) -``` - -## focusTrap - -sets up a keyboard trap within an HTML element, allowing the focus to cycle between the first and last focusable elements when the Tab key is pressed. - -```js [js] -focusTrap(document.querySelector("#my-element")) -``` diff --git a/docs/content/2.functions/detections.md b/docs/content/2.functions/detections.md index aa3a3442..751ea381 100644 --- a/docs/content/2.functions/detections.md +++ b/docs/content/2.functions/detections.md @@ -2,143 +2,113 @@ #### A collection of detections for common data types -## getDeviceType -Detect if the current device is a mobile device +### detectDevice +Detect the current device type (Mobile or Desktop) ```js [js] -getDeviceType() +detectDevice() ``` -## getRelativeMousePosition -Detect the current mouse position within a container via ID +::example{:code=detectDevice()} +:: -```js [js] -getRelativeMousePosition('container', event) -``` - -## getNetworkStatus -Detect the current network status of the user (Online or Offline) +### detectOS +Detect the current operating system ```js [js] -getNetworkStatus() +detectOS() ``` -## getLocalStorage -Returns a local storage value by name and parses it into JSON - -```js [js] -getLocalStorage('name') -``` +::example{:code=detectOS()} +:: -## getSessionStorage -Returns a session storage value by name and parses it into JSON +### detectBrowser +Detects the user's browser based on the user agent string. ```js [js] -getSessionStorage('name') +detectBrowser() ``` -## getURLParameters -Returns a value from the URL by name +::example{:code=detectBrowser()} +:: -```js [js] -getURLParameters('http://url.com/page?name=Adam&surname=Smith') -``` - -## getURLHashParameters -Returns a value from the URL hash by name +### detectActiveBrowser +Detect if the browser window is currently active or hidden. ```js [js] -getURLHashParameters() +detectActiveBrowser() ``` -## getURLSearchParameters -Retrieves and returns the parameters from the URL search query string - -```js [js] -getURLSearchParameters() -``` +::example{:code=detectActiveBrowser()} +:: -## getURL -Returns the current URL +### detectColorScheme +Detect the current color scheme (Light or Dark) ```js [js] -getURL() +detectColorScheme() ``` -## getDomain -Returns the current domain - -```js [js] -getDomain() -``` +::example{:code=detectColorScheme()} +:: -## getIP -Returns the current IP address +### detectBrowserLanguage +Detect the current browser language ```js [js] -getIP() +detectBrowserLanguage() ``` -## getPort -Returns the current port +::example{:code=detectBrowserLanguage()} +:: -```js [js] -getPort() -``` - -## getProtocol -Returns the current protocol (HTTP or HTTPS) +### detectGeolocation +Detect the current user's location ```js [js] -getProtocol() +detectUserLocation() ``` -## getReferrer -Returns the URL of the referring page (the page that linked to the current page) +::example{:code=detectUserLocation()} +:: -```js [js] -getReferrer() -``` - -## getCachedData -Retrieves cached entries and optionally filters the entries based on a provided key +### detectDeviceOrientation +Detect the currect device orientation ```js [js] -getCachedData('abc') +detectDeviceOrientation() ``` -## isInContainer -Detects if the element is currently in the container via ID - -```js [js] -isInContainer(element, 'container') -``` +::example{:code=detectDeviceOrientation()} +:: -## isOverflowingY -Detects if the element is overflowing vertically +### detectDeviceMotion +Detect the current device motion ```js [js] -isOverflowingY(element) +detectDeviceMotion() ``` -## isOverflowingX -Detects if the element is overflowing horizontally +::example{:code=detectDeviceMotion()} +:: -```js [js] -isOverflowingX(element) -``` - -## isScrollable -Detects if the element is scrollable (overflowing vertically or horizontally) +### detectTailwindContainerBreakpoint +Detect the current container breakpoint based on Tailwind CSS breakpoints ```js [js] -isScrollable(element) +detectTailwindContainerBreakpoint('container') ``` -## isElement -Detects if the elements is an HTML element +::example{:code=detectTailwindContainerBreakpoint('container')} +:: + +### detectScrollPosition +Detect the current scroll position of the window ```js [js] -isElement(element) +detectScrollPosition() ``` +::example{:code=detectScrollPosition()} +:: + diff --git a/docs/content/2.functions/formatters.md b/docs/content/2.functions/formatters.md index 59e614f0..bd0fbf82 100644 --- a/docs/content/2.functions/formatters.md +++ b/docs/content/2.functions/formatters.md @@ -2,33 +2,63 @@ #### A collection of formatters for common data types -## formatCurrency +### formatCurrency Format numbers into local currency ```js [js] formatCurrency(1234.56) ``` -```html [template] -{{ formatCurrency(1234.56) }} -``` +::example{:code=formatCurrency(1234.56)} +:: + +### formatValuation +Format numbers into valuations displayed in thounsands, millions or billions -```html [returns] -$1,234.56 +```js [js] +formatValuation(1234567890) ``` -## formatTime +::example{:code=formatValuation(1234567890)} +:: + +### formatTime Format time into hours, minutes, and seconds ```js [js] formatTime(3723) ``` -```html [template] -{{ formatTime(3723) }} +::example{:code=formatTime(3723)} +:: + +### formatDatetime +Format Unix timestamp into a datetime string + +```js [js] +formatDatetime(1619097600) +``` + +::example{:code=formatDatetime(1619097600)} +:: + +### formatPercentage +Format a number into a percentage + +```js [js] +formatPercentage(0.1234) ``` -```html [returns] -1hr 2min 3s +::example{:code=formatPercentage(0.1234)} +:: + +### formatList +Create a string of comma-separated values from an array of strings with an optional conjunction. + +```js [js] +commaList(['one', 'two', 'three']) ``` +::example{:code=commaList(['one', 'two', 'three'])} +:: + diff --git a/docs/content/2.functions/generators.md b/docs/content/2.functions/generators.md new file mode 100644 index 00000000..c0e29c93 --- /dev/null +++ b/docs/content/2.functions/generators.md @@ -0,0 +1,24 @@ +# Generators + +#### A collection of generators + +### generateShortId +Generate a unique short ID based on the current timestamp + +```js [js] +generateShortId(36) +``` + +::example{:code=generateShortId(36)} +:: + +### generateInitials +Generate initials from any string + +```js [js] +generateInitials('John Doe') +``` + +::example{:code=generateInitials('John Doe')} +:: + diff --git a/docs/content/2.functions/index.md b/docs/content/2.functions/index.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/content/2.functions/modifiers.md b/docs/content/2.functions/modifiers.md index 3dc2c827..58574288 100644 --- a/docs/content/2.functions/modifiers.md +++ b/docs/content/2.functions/modifiers.md @@ -2,768 +2,393 @@ #### Modifiers are a key feature of Mods that allow you to easily modify and enhance your content. They are small pieces of code that can be applied to your JS to add functionality, validation or style. -## widont +### widont Adds a space between the last two words in a string. ```js [js] widont('Cool cool cool') ``` -```html [template] -{{ widont('Cool cool cool') }} -``` - -```html [returns] -cool cool cool -``` +::example{:code=widont('Cool cool cool')} +:: -## stripHtml +### stripHtml Strip HTML tags from a string. ```js [js] stripHtml('

    Hello World

    ') ``` -```html [template] -{{ stripHtml('

    Hello World

    ') }} -``` +::example{:code=stripHtml('

    Hello World

    ')} +:: -```html [returns] -Hello World -``` - -## escapeHtml +### escapeHtml Escape HTML entities in a string. ```js [js] escapeHtml('

    Hello World

    ') ``` -```html [template] -{{ escapeHtml('

    Hello World

    ') }} -``` - -```html [returns] -<p>Hello World</p> -``` +::example{:code=escapeHtml('

    Hello World

    ')} +:: -## showHtml +### unescapeHtml Unescape HTML entities in a string. ```js [js] unescapeHtml('<p>Hello World</p>') ``` -```html [template] -{{ unescapeHtml('<p>Hello World</p>') }} -``` +::example{:code=unescapeHtml('<p>Hello World</p>')} +:: -```html [returns] -

    Hello World

    -``` - -## stripTags +### stripTags Strip HTML tags from a string. ```js [js] stripTags('

    Hello World

    ') ``` -```html [template] -{{ stripTags('

    Hello World

    ') }} -``` +::example{:code=stripTags('

    Hello World

    ')} +:: -```html [returns] -Hello World -``` - -## slugify +### slugify Converts a string to-a-slug. ```js [js] slugify('Hello World') ``` -```html [template] -{{ slugify('Hello World') }} -``` - -```html [returns] -hello-world -``` +::example{:code=slugify('Hello World')} +:: -## deslugify +### deslugify Converts a slug to a string. ```js [js] deslugify('hello-world') ``` -```html [template] -{{ deslugify('hello-world') }} -``` - -```html [returns] -hello world -``` +::example{:code=deslugify('hello-world')} +:: -## truncate +### truncate Truncates a string to a specified length of characters. ```js [js] truncate('Hello World', 5) ``` -```html [template] -{{ truncate('Hello World', 5) }} -``` - -```html [returns] -Hello... -``` +::example{:code=truncate('Hello World', 5)} +:: -## truncateWords +### truncateWords Truncates a string by a number of words ```js [js] truncateWords('Hello World', 1) ``` -```html [template] -{{ truncateWords('Hello World', 1) }} -``` - -```html [returns] -Hello... -``` +::example{:code=truncateWords('Hello World', 1)} +:: -## countWords +### countWords Counts the number of words in a string. ```js [js] countWords('Hello World') ``` -```html [template] -{{ countWords('Hello World') }} -``` - -```html [returns] -2 -``` +::example{:code=countWords('Hello World')} +:: -## countCharacters +### countCharacters Counts the number of characters in a string. ```js [js] countCharacters('Hello World') ``` -```html [template] -{{ countCharacters('Hello World') }} -``` +::example{:code=countCharacters('Hello World')} +:: -```html [returns] -11 -``` - -## countLines +### countLines Counts the number of lines in a string. ```js [js] countLines('Hello World') ``` -```html [template] -{{ countLines('Hello World') }} -``` - -```html [returns] -1 -``` +::example{:code=countLines('Hello World')} +:: -## stripWhitespace +### stripWhitespace Strips whitespace from a string. ```js [js] stripWhitespace('Hello World') ``` -```html [template] -{{ stripWhitespace('Hello World') }} -``` +::example{:code=stripWhitespace('Hello World')} +:: -```html [returns] -HelloWorld -``` - -## stripNumbers +### stripNumbers Strips numbers from a string. ```js [js] stripNumbers('Hello World 123') ``` -```html [template] -{{ stripNumbers('Hello World 123') }} -``` +::example{:code=stripNumbers('Hello World 123')} +:: -```html [returns] -Hello World -``` - -## stripPunctuation +### stripPunctuation Strips punctuation from a string. ```js [js] stripPunctuation('Hello World!') ``` -```html [template] -{{ stripPunctuation('Hello World!') }} -``` - -```html [returns] -Hello World -``` +::example{:code=stripPunctuation('Hello World!')} +:: -## stripSymbols +### stripSymbols Strips symbols from a string. ```js [js] stripSymbols('Hello World!') ``` -```html [template] -{{ stripSymbols('Hello World!') }} -``` - -```html [returns] -Hello World -``` +::example{:code=stripSymbols('Hello World!')} +:: -## stripEmojis +### stripEmojis Strips emojis from a string (requires ES6 Unicode support) 🦊. ```js [js] stripEmojis('Hello World! 🦊') ``` -```html [template] -{{ stripEmojis('Hello World! 🦊') }} -``` - -```html [returns] -Hello World! -``` +::example{:code=stripEmojis('Hello World! 🦊')} +:: -## readingTime +### readingTime Returns the reading time of a string in Hours, Minutes, and Seconds. ```js [js] readingTime('Once, in a vibrant online forum, lived Mod Max, guardian of digital harmony. Max cherished his old scooter, Swift, a symbol of freedom. Navigating both virtual and real worlds, they became legends. Trolls quivered, posts flourished, and lanes whizzed by. Swift’s wheels spun tales, and Max’s keys kept peace. Together, they discovered uncharted threads and hidden lanes. Their journey, an endless adventure, painted pixels and pavements with stories of unity and exhilaration, leaving a trail for all in the intertwined realms of screens and streets.') ``` -```html [template] -{{ readingTime('Once, in a vibrant online forum, lived Mod Max, guardian of digital harmony. Max cherished his old scooter, Swift, a symbol of freedom. Navigating both virtual and real worlds, they became legends. Trolls quivered, posts flourished, and lanes whizzed by. Swift’s wheels spun tales, and Max’s keys kept peace. Together, they discovered uncharted threads and hidden lanes. Their journey, an endless adventure, painted pixels and pavements with stories of unity and exhilaration, leaving a trail for all in the intertwined realms of screens and streets.') }} -``` - -```html [returns] -1 minute -``` +::example{:code=readingTime('Once, in a vibrant online forum, lived Mod Max, guardian of digital harmony. Max cherished his old scooter, Swift, a symbol of freedom. Navigating both virtual and real worlds, they became legends. Trolls quivered, posts flourished, and lanes whizzed by. Swift’s wheels spun tales, and Max’s keys kept peace. Together, they discovered uncharted threads and hidden lanes. Their journey, an endless adventure, painted pixels and pavements with stories of unity and exhilaration, leaving a trail for all in the intertwined realms of screens and streets.')} +:: -## pluralize +### pluralize Adds plurals to a string. ```js [js] pluralize('scooter', 10) ``` -```html [template] -{{ pluralize('scooter', 10) }} -``` - -```html [returns] -scooters -``` +::example{:code=pluralize('scooter', 10)} +:: -## singularize +### singularize Removes plurals from a string. ```js [js] singularize('scooters') ``` -```html [template] -{{ singularize('scooters') }} -``` +::example{:code=singularize('scooters')} +:: -```html [returns] -scooter -``` - -## ordinalize +### ordinalize Converts a number to a string with ordinal suffix. ```js [js] ordinalize(1) ``` -```html [template] -{{ ordinalize(1) }} -``` - -```html [returns] -1st -``` +::example{:code=ordinalize(1)} +:: -## humanize +### humanize Replaces underscores with spaces and capitalizes the first letter of each word. ```js [js] humanize('hello_world') ``` -```html [template] -{{ humanize('hello_world') }} -``` +::example{:code=humanize('hello_world')} +:: -```html [returns] -Hello World -``` - -## camelCase +### camelCase Removes spaces and capitalizes the first letter of each word except for the first word. ```js [js] camelCase('hello world') ``` -```html [template] -{{ camelCase('hello world') }} -``` +::example{:code=camelCase('hello world')} +:: -```html [returns] -helloWorld -``` - -## pascalCase +### pascalCase Removes spaces and capitalizes the first letter of each word. ```js [js] pascalCase('hello world') ``` -```html [template] -{{ pascalCase('hello world') }} -``` - -```html [returns] -HelloWorld -``` +::example{:code=pascalCase('hello world')} +:: -## snakeCase +### snakeCase Replaces spaces with underscores and converts to lowercase. ```js [js] snakeCase('hello world') ``` -```html [template] -{{ snakeCase('hello world') }} -``` - -```html [returns] -hello_world -``` +::example{:code=snakeCase('hello world')} +:: -## kebabCase +### kebabCase Replaces spaces with hyphens and converts to lowercase. ```js [js] titleize('Hello World') ``` -```html [template] -{{ titleize('Hello World') }} -``` - -```html [returns] -hello-world -``` +::example{:code=titleize('Hello World')} +:: -## titleCase +### titleCase Converts to title case by capitalizing the first letter of each word. ```js [js] titleCase('hello world') ``` -```html [template] -{{ titleCase('hello world') }} -``` - -```html [returns] -Hello World -``` +::example{:code=titleCase('hello world')} +:: -## sentenceCase +### sentenceCase Converts to sentence case by capitalizing the first letter of the first word. ```js [js] sentenceCase('hello world') ``` -```html [template] -{{ sentenceCase('hello world') }} -``` - -```html [returns] -Hello world -``` +::example{:code=sentenceCase('hello world')} +:: -## startsWith +### startWith Adds a prefix to a string if it doesn't already start with the prefix. ```js [js] -startsWith('usemods.com', 'https://') +startWith('usemods.com', 'https://') ``` -```html [template] -{{ startsWith('usemods.com', 'https://') }} -``` +::example{:code=startWith('usemods.com', 'https://')} +:: -```html [returns] -https://usemods.com -``` - -## startsWithout +### startWithout Removes a prefix from a string if it starts with the prefix. ```js [js] -startsWithout('https://usemods.com', 'https://') +startWithout('https://usemods.com', 'https://') ``` -```html [template] -{{ startsWithout('https://usemods.com', 'https://') }} -``` +::example{:code=startWithout('https://usemods.com', 'https://')} +:: -```html [returns] -usemods.com -``` - -## endsWith +### endWith Adds a suffix to a string if it doesn't already end with the suffix. ```js [js] -endsWith('https://usemods', '.com') -``` - -```html [template] -{{ endsWith('https://usemods', '.com') }} +endWith('https://usemods', '.com') ``` -```html [returns] -https://usemods.com -``` +::example{:code=endWith('https://usemods', '.com')} +:: -## endsWithout +### endWithout Removes a suffix from a string if it ends with the suffix. ```js [js] -endsWithout('https://usemods.com.au', '.au') -``` - -```html [template] -{{ endsWithout('https://usemods.com.au', '.au') }} +endWithout('https://usemods.com.au', '.au') ``` -```html [returns] -https://usemods.com -``` +::example{:code=endWithout('https://usemods.com.au', '.au')} +:: -## surround +### surround Adds a prefix and suffix to a string if it doesn't already start and end with them. ```js [js] surround('https://', 'usemods', '.com') ``` -```html [template] -{{ surround('https://', 'usemods', '.com') }} -``` +::example{:code=surround('https://', 'usemods', '.com')} +:: -```html [returns] -https://usemods.com -``` - -## title +### title Converts a string to title case following the Chicago Manual of Style rules. ```js [js] title('the quick brown fox jumps over the lazy dog') ``` -```html [template] -{{ title('the quick brown fox jumps over the lazy dog') }} -``` +::example{:code=title('the quick brown fox jumps over the lazy dog')} +:: -```html [returns] -The Quick Brown Fox Jumps over the Lazy Dog -``` - -## splitByWords +### splitByWords Wraps each word in a string with a span tag. ```js [js] splitByWords('Hello World. How are you?') ``` -```html [template] -{{ splitByWords('Hello World. How are you?') }} -``` - -```html [returns] -Hello world. How are you? -``` +::example{:code=splitByWords('Hello World. How are you?')} +:: -## list +### list Creates an array of list items (`
  • `) from an array of strings. ```js [js] list(['one', 'two', 'three']) ``` -```html [template] -{{ list(['one', 'two', 'three']) }} -``` +::example{:code=list(['one', 'two', 'three'])} +:: -```html [returns] -
    • one
    • two
    • three
    -``` - -## commaList -Create a string of comma-separated values from an array of strings with an optional conjunction. - -```js [js] -commaList(['one', 'two', 'three']) -``` - -```html [template] -{{ commaList(['one', 'two', 'three']) }} -``` - -```html [returns] -one, two and three -``` - -## truncateList -Create a string of comma-separated values with a limit and an optional conjunction. - -```js [js] -truncateList(['one', 'two', 'three', 'four', 'five'], 3) -``` - -```html [template] -{{ truncateList(['one', 'two', 'three', 'four', 'five'], 3) }} -``` - -```html [returns] -one, two, three and 2 more -``` - -## shuffle +### shuffle Shuffles an array. ```js [js] shuffle(['one', 'two', 'three']) ``` -```html [template] -{{ shuffle(['one', 'two', 'three']) }} -``` - -```html [returns] -['three', 'one', 'two'] -``` - -## difference -Returns the difference between two arrays. +::example{:code=shuffle(['one', 'two', 'three'])} +:: -```js [js] -difference(['one', 'two', 'three'], ['one', 'two']) -``` - -```html [template] -{{ difference(['one', 'two', 'three'], ['one', 'two']) }} -``` - -```html [returns] -['three'] -``` - -## first -Returns the first item in an array. - -```js [js] -first(['one', 'two', 'three']) -``` - -```html [template] -{{ first(['one', 'two', 'three']) }} -``` - -```html [returns] -one -``` - -## last +### last Returns the last item in an array. ```js [js] last(['one', 'two', 'three']) ``` -```html [template] -{{ last(['one', 'two', 'three']) }} -``` - -```html [returns] -three -``` +::example{:code=last(['one', 'two', 'three'])} +:: -## nth +### nth Returns the nth item in an array. ```js [js] nth(['one', 'two', 'three'], 1) ``` -```html [template] -{{ nth(['one', 'two', 'three'], 1) }} -``` - -```html [returns] -two -``` - -## offset -Offset the first item in an array. - -```js [js] -offset(['one', 'two', 'three'], 1) -``` - -```html [template] -{{ offset(['one', 'two', 'three'], 1) }} -``` - -```html [returns] -['two', 'three'] -``` - -## group -Groups an array of objects by a property. - -```js [js] -group([{ name: 'one' }, { name: 'two' }, { name: 'one' }], 'name') -``` - -```html [template] -{{ group([{ name: 'one' }, { name: 'two' }, { name: 'one' }], 'name') }} -``` - -```html [returns] -{ one: [{ name: 'one' }, { name: 'one' }], two: [{ name: 'two' }] } -``` - -## groupBy -Chunks an array into sections of a specified size. - -```js [js] -chunk(['one', 'two', 'three', 'four', 'five'], 2) -``` - -```html [template] -{{ chunk(['one', 'two', 'three', 'four', 'five'], 2) }} -``` - -```html [returns] -[['one', 'two'], ['three', 'four'], ['five']] -``` - -## flatten -Flatten an array of arrays. - -```js [js] -flatten([['one', 'two'], ['three', 'four'], ['five']]) -``` - -```html [template] -{{ flatten([['one', 'two'], ['three', 'four'], ['five']]) }} -``` - -```html [returns] -['one', 'two', 'three', 'four', 'five'] -``` - -## without -Returns an array with a filtered out property. - -```js [js] -without([{ name: 'one', food: 'apple' }, { name: 'two', food: 'grape' }, { name: 'one', food: 'pear' }], 'name') -``` - -```html [template] -{{ without([{ name: 'one', food: 'apple' }, { name: 'two', food: 'grape' }, { name: 'one', food: 'pear' }], 'name') }} -``` - -```html [returns] -[{ food: 'apple' }, { food: 'grape' }, { food: 'pear' }] -``` - -## combine -Combine two or more arrays - -```js [js] -combine(['one', 'two'], ['three', 'four'], ['five']) -``` - -```html [template] -{{ combine(['one', 'two'], ['three', 'four'], ['five']) }} -``` - -```html [returns] -['one', 'two', 'three', 'four', 'five'] -``` - -## reverse -Reverse an array. - -```js [js] -reverse(['one', 'two', 'three']) -``` - -```html [template] -{{ reverse(['one', 'two', 'three']) }} -``` - -```html [returns] -['three', 'two', 'one'] -``` - -## sortBy -Sort an array by a property. - -```js [js] -sortBy([{ name: 'John', age: 25 },{ name: 'Jane', age: 30 },{ name: 'Jill', age: 20 }], 'age') -``` - -```html [template] -{{ sortBy([{ name: 'John', age: 25 },{ name: 'Jane', age: 30 },{ name: 'Jill', age: 20 }], 'age') }} -``` - -```html [returns] -[{ name: 'Jill', age: 20 },{ name: 'John', age: 25 },{ name: 'Jane', age: 30 }] -``` +::example{:code=nth(['one', 'two', 'three'], 1)} +:: diff --git a/docs/content/2.functions/numbers.md b/docs/content/2.functions/numbers.md index 4ba7da02..8dbb75a0 100644 --- a/docs/content/2.functions/numbers.md +++ b/docs/content/2.functions/numbers.md @@ -1,107 +1,132 @@ #### This file contains functions that are related to numbers. -## random +### random Generates a random integer between the specified minimum and maximum values. ```js [js] random(1, 10) ``` -```html [template] -{{ random(1, 10) }} -``` - -```html [returns] -5 -``` +::example{:code=random(1, 10)} +:: -## sum +### sum Calculates the sum of an array of numbers. ```js [js] sum([1, 2, 3]) ``` -```html [template] -{{ sum([1, 2, 3]) }} -``` - -```html [returns] -6 -``` +::example{:code=sum([1, 2, 3])} +:: -## average -Calculates the average of an array of numbers. +### mean +Calculates the mean of an array of numbers. ```js [js] average([1, 2, 3]) ``` -```html [template] -{{ average([1, 2, 3]) }} -``` +::example{:code=average([1, 2, 3])} +:: + +### average +Calculates the mean of an array of numbers. -```html [returns] -2 +```js [js] +average([1, 2, 3]) ``` -## median +::example{:code=average([1, 2, 3])} +:: + +### median Calculates the median of an array of numbers. ```js [js] median([1, 2, 3]) ``` -```html [template] -{{ median([1, 2, 3]) }} -``` +::example{:code=median([1, 2, 3])} +:: + +### mode +Calculates the mode of an array of numbers. -```html [returns] -2 +```js [js] +mode([1, 2, 2, 3]) ``` -## min -Finds the minimum value in an array of numbers. +::example{:code=mode([1, 2, 2, 3])} +:: + +### max +Finds the maximum value in an array of numbers. ```js [js] -min([1, 2, 3]) +max([1, 2, 3]) ``` -```html [template] -{{ min([1, 2, 3]) }} -``` +::example{:code=max([1, 2, 3])} +:: + +### clamp +Clamps a number between the specified minimum and maximum values. -```html [returns] -1 +```js [js] +clamp(1, 10, 20) ``` -## max -Finds the maximum value in an array of numbers. +::example{:code=clamp(1, 10, 20)} +:: + +### minMax +Returns the minimum and maximum values in an array of numbers. ```js [js] -max([1, 2, 3]) +minMax([1, 2, 3, 4, 5]) ``` -```html [template] -{{ max([1, 2, 3]) }} -``` +::example{:code=minMax([1, 2, 3, 4, 5])} +:: + +### rangeAsPercentage +Returns the difference between two values, as a percentage. -```html [returns] -3 +```js [js] +differenceAsPercentage(10, 20) ``` -## clamp -Clamps a number between the specified minimum and maximum values. +::example{:code=differenceAsPercentage(10, 20)} +:: + +### percentage +Returns the percentage of a value, relative to another value. ```js [js] -clamp(1, 10, 20) +percentage(10, 100) ``` -```html [template] -{{ clamp(1, 10, 20) }} +::example{:code=percentage(10, 100)} +:: + +### standardDeviation +Returns the standard deviation of an array of numbers. + +```js [js] +standardDeviation([1, 2, 3, 20, 120, 2000]) ``` -```html [returns] -10 +::example{:code=standardDeviation([1, 2, 3, 20, 120, 2000])} +:: + +### skewness +Returns the measure of asymmetry of the probability distribution of an array of numbers. The skewness value can be positive, zero, negative, or undefined. + +```js [js] +skewness([1, 2, 3, 20, 120, 2000]) ``` +::example{:code=skewness([1, 2, 3, 20, 120, 2000])} +:: + diff --git a/docs/content/2.functions/validators.md b/docs/content/2.functions/validators.md index 5cbffb7a..967344a6 100644 --- a/docs/content/2.functions/validators.md +++ b/docs/content/2.functions/validators.md @@ -2,723 +2,443 @@ #### A collection of validators for common data types -## isEmail +### isEmail Check if the input is a valid email address. ```js [js] isEmail('hello@usemods.com') ``` -```html [template] -{{ isEmail('hello@usemods.com') }} -``` - -```html [returns] -true -``` +::example{:code=isEmail('hello@usemods.com')} +:: -## isNumber +### isNumber Check if the input is a valid number. ```js [js] isNumber('123') ``` -```html [template] -{{ isNumber('123') }} -``` - -```html [returns] -true -``` - -## isPhoneNumber -Check if the input is a valid phone number. - -```js [js] -isPhoneNumber('123-456-7890') -``` - -```html [template] -{{ isPhoneNumber('123-456-7890') }} -``` - -```html [returns] -true -``` +::example{:code=isNumber('123')} +:: -## isURL +### isURL Check if the input is a valid URL. ```js [js] isURL('https://usemods.com') ``` -```html [template] -{{ isURL('https://usemods.com') }} -``` - -```html [returns] -true -``` +::example{:code=isURL('https://usemods.com')} +:: -## isUUID +### isUUID Check if the input is a valid UUID. ```js [js] isUUID('c9bf9e57-1685-4c89-bafb-ff5af830be8a') ``` -```html [template] -{{ isUUID('c9bf9e57-1685-4c89-bafb-ff5af830be8a') }} -``` - -```html [returns] -true -``` +::example{:code=isUUID('c9bf9e57-1685-4c89-bafb-ff5af830be8a')} +:: -## isJSON +### isJSON Check if the input is a valid JSON string. ```js [js] isJSON('{"hello": "world"}') ``` -```html [template] -{{ isJSON('{"hello": "world"}') }} -``` - -```html [returns] -true -``` +::example{:code=isJSON('{"hello": "world"}')} +:: -## isHex +### isHex Check if the input is a valid hexadecimal color code. ```js [js] isHex('#fff') ``` -```html [template] -{{ isHex('#fff') }} -``` - -```html [returns] -true -``` +::example{:code=isHex('#fff')} +:: -## isEmpty +### isEmpty Check if the input is an empty string. ```js [js] isEmpty('') ``` -```html [template] -{{ isEmpty('') }} -``` +::example{:code=isEmpty('')} +:: -```html [returns] -true -``` - -## isAlpha +### isAlpha Check if the input contains only alphabetic characters. ```js [js] isAlpha('hello') ``` -```html [template] -{{ isAlpha('hello') }} -``` +::example{:code=isAlpha('hello')} +:: -```html [returns] -true -``` - -## isAlphanumeric +### isAlphanumeric Check if the input contains only alphanumeric characters. ```js [js] isAlphanumeric('hello123') ``` -```html [template] -{{ isAlphanumeric('hello123') }} -``` - -```html [returns] -true -``` +::example{:code=isAlphanumeric('hello123')} +:: -## isArray +### isArray Check if the input is an array. ```js [js] isArray([1, 2, 3]) ``` -```html [template] -{{ isArray([1, 2, 3]) }} -``` - -```html [returns] -true -``` +::example{:code=isArray([1, 2, 3])} +:: -## isObject +### isObject Check if the input is an object. ```js [js] isObject({ hello: 'world' }) ``` -```html [template] -{{ isObject({ hello: 'world' }) }} -``` +::example{:code=isObject({ hello: 'world' })} +:: -```html [returns] -true -``` - -## isBoolean +### isBoolean Check if the input is a boolean value. ```js [js] isBoolean(true) ``` -```html [template] -{{ isBoolean(true) }} -``` - -```html [returns] -true -``` +::example{:code=isBoolean(true)} +:: -## isFunction +### isFunction Check if the input is a function. ```js [js] isFunction(() => {}) ``` -```html [template] -{{ isFunction(() => {}) }} -``` - -```html [returns] -true -``` +::example{:code=isFunction(() => {})} +:: -## isUndefined +### isUndefined Check if the input is undefined. ```js [js] isUndefined(undefined) ``` -```html [template] -{{ isUndefined(undefined) }} -``` - -```html [returns] -true -``` +::example{:code=isUndefined(undefined)} +:: -## isNull +### isNull Check if the input is null. ```js [js] isNull(null) ``` -```html [template] -{{ isNull(null) }} -``` - -```html [returns] -true -``` - -## isNaN -Check if the input is NaN (Not a Number). - -```js [js] -isNaN(NaN) -``` - -```html [template] -{{ isNaN(NaN) }} -``` - -```html [returns] -true -``` +::example{:code=isNull(null)} +:: -## isDate +### isDate Check if the input is a valid Date object. ```js [js] isDate(new Date()) ``` -```html [template] -{{ isDate(new Date()) }} -``` - -```html [returns] -true -``` +::example{:code=isDate(new Date())} +:: -## isError +### isError Check if the input is an Error object with a defined message. ```js [js] isError(new Error('hello')) ``` -```html [template] -{{ isError(new Error('hello')) }} -``` - -```html [returns] -true -``` +::example{:code=isError(new Error('hello'))} +:: -## isTime +### isTime Check if the input is a valid time in HH:mm format. ```js [js] isTime('12:00') ``` -```html [template] -{{ isTime('12:00') }} -``` - -```html [returns] -true -``` +::example{:code=isTime('12:00')} +:: -## isLeapYear +### isLeapYear Check if the input year is a leap year. ```js [js] isLeapYear(2020) ``` -```html [template] -{{ isLeapYear(2020) }} -``` - -```html [returns] -true -``` - -## isSymbol -Check if the input is a symbol. - -```js [js] -isSymbol(Symbol('hello')) -``` - -```html [template] -{{ isSymbol(Symbol('hello')) }} -``` - -```html [returns] -true -``` +::example{:code=isLeapYear(2020)} +:: -## isPromise +### isPromise Check if the input is a Promise object. ```js [js] isPromise(new Promise(() => {})) ``` -```html [template] -{{ isPromise(new Promise(() => {})) }} -``` +::example{:code=isPromise(new Promise(() => {}))} +:: -```html [returns] -true -``` - -## isSet +### isSet Check if the input is a Set object. ```js [js] isSet(new Set()) ``` -```html [template] -{{ isSet(new Set()) }} -``` +::example{:code=isSet(new Set())} +:: -```html [returns] -true -``` - -## isMap +### isMap Check if the input is a Map object. ```js [js] isMap(new Map()) ``` -```html [template] -{{ isMap(new Map()) }} -``` - -```html [returns] -true -``` - -## isWeakSet -Check if the input is a WeakSet object. - -```js [js] -isWeakSet(new WeakSet()) -``` +::example{:code=isMap(new Map())} +:: -```html [template] -{{ isWeakSet(new WeakSet()) }} -``` - -```html [returns] -true -``` - -## isEven +### isEven Check if the number is even. ```js [js] isEven(2) ``` -```html [template] -{{ isEven(2) }} -``` - -```html [returns] -true -``` +::example{:code=isEven(2)} +:: -## isOdd +### isOdd Check if the number is odd. ```js [js] isOdd(3) ``` -```html [template] -{{ isOdd(3) }} -``` - -```html [returns] -true -``` +::example{:code=isOdd(3)} +:: -## isPositive +### isPositive Check if the number is positive. ```js [js] isPositive(1) ``` -```html [template] -{{ isPositive(1) }} -``` +::example{:code=isPositive(1)} +:: -```html [returns] -true -``` - -## isNegative +### isNegative Check if the number is negative. ```js [js] isNegative(-1) ``` -```html [template] -{{ isNegative(-1) }} -``` +::example{:code=isNegative(-1)} +:: -```html [returns] -true +### isZero +Check if the number is zero. + +```js [js] +isZero(0) ``` -## isPrime +::example{:code=isZero(0)} +:: + +### isPrime Check if the number is a prime number. ```js [js] isPrime(7) ``` -```html [template] -{{ isPrime(7) }} -``` - -```html [returns] -true -``` +::example{:code=isPrime(7)} +:: -## isOptimusPrime +### isOptimusPrime Check if the string is equal to "Optimus Prime". ```js [js] isOptimusPrime('Optimus Prime') ``` -```html [template] -{{ isOptimusPrime('Optimus Prime') }} -``` +::example{:code=isOptimusPrime('Optimus Prime')} +:: -```html [returns] -true -``` - -## isPalindrome +### isPalindrome Check if the string is a palindrome. ```js [js] isPalindrome('racecar') ``` -```html [template] -{{ isPalindrome('racecar') }} -``` +::example{:code=isPalindrome('racecar')} +:: -```html [returns] -true -``` - -## isInteger +### isInteger Check if the number is an integer. ```js [js] isInteger(1) ``` -```html [template] -{{ isInteger(1) }} -``` - -```html [returns] -true -``` +::example{:code=isInteger(1)} +:: -## isFloat +### isFloat Check if the number is a float. ```js [js] isFloat(1.5) ``` -```html [template] -{{ isFloat(1.5) }} -``` - -```html [returns] -true -``` +::example{:code=isFloat(1.5)} +:: -## isBetween +### isBetween Check if the number is between the specified range. ```js [js] isBetween(5, 1, 10) ``` -```html [template] -{{ isBetween(5, 1, 10) }} -``` +::example{:code=isBetween(5, 1, 10)} +:: -```html [returns] -true -``` - -## isDivisibleBy +### isDivisibleBy Check if the number is divisible by the specified number. ```js [js] isDivisibleBy(10, 2) ``` -```html [template] -{{ isDivisibleBy(10, 2) }} -``` - -```html [returns] -true -``` +::example{:code=isDivisibleBy(10, 2)} +:: -## isCreditCardNumber +### isCreditCardNumber Check if the input is a valid credit card number. ```js [js] isCreditCardNumber('4242424242424242') ``` -```html [template] -{{ isCreditCardNumber('4242424242424242') }} -``` - -```html [returns] -true -``` +::example{:code=isCreditCardNumber('4242424242424242')} +:: -## isIPAddress +### isIPAddress Check if the input is a valid IP address. ```js [js] isIPAddress('127.0.0.0') ``` -```html [template] -{{ isIPAddress('127.0.0.0') }} -``` - -```html [returns] -true -``` +::example{:code=isIPAddress('127.0.0.0')} +:: -## isMACAddress +### isMACAddress Check if the input is a valid MAC address. ```js [js] isMACAddress('00:00:00:00:00:00') ``` -```html [template] -{{ isMACAddress('00:00:00:00:00:00') }} -``` - -```html [returns] -true -``` +::example{:code=isMACAddress('00:00:00:00:00:00')} +:: -## isLatLong -Check if the input is a valid latitude-longitude coordinate in the format lat,long or lat, long. +### isLatLng +Check if the input is a valid latitude-longitude coordinate in the format lat,lng or lat,lng. ```js [js] -isLatLong('40.741895,-73.989308') -``` - -```html [template] -{{ isLatLong('40.741895,-73.989308') }} +isLatLng('40.741895,-73.989308') ``` -```html [returns] -true -``` +::example{:code=isLatLng('40.741895,-73.989308')} +:: -## isLatitude +### isLatitude Check if the input is a valid latitude coordinate. ```js [js] isLatitude('40.741895') ``` -```html [template] -{{ isLatitude('40.741895') }} -``` - -```html [returns] -true -``` +::example{:code=isLatitude('40.741895')} +:: -## isLongitude +### isLongitude Check if the input is a valid longitude coordinate. ```js [js] isLongitude('-73.989308') ``` -```html [template] -{{ isLongitude('-73.989308') }} -``` - -```html [returns] -true -``` - -## isPresent -Checks if a property and value pair exists in an object. - -```js [js] -isPresent({ hello: 'world' }, 'hello', 'world') -``` - -```html [template] -{{ isPresent({ hello: 'world' }, 'hello', 'world') }} -``` - -```html [returns] -true -``` +::example{:code=isLongitude('-73.989308')} +:: -## isIBAN -Check if the input is a valid IBAN. +### isPort +Check if the input is a valid port number. ```js [js] -isIBAN('NL39RABO0300065264') +isPort(3000) ``` -```html [template] -{{ isIBAN('NL39RABO0300065264') }} -``` +::example{:code=isPort(3000)} +:: -```html [returns] -true -``` - -## isBIC -Check if the input is a valid BIC. +### isPresent +Checks if a property and value pair exists in an object. ```js [js] -isBIC('RABONL2U') +hasPropertyValue({ hello: 'world' }, 'hello', 'world') ``` -```html [template] -{{ isBIC('RABONL2U') }} -``` - -```html [returns] -true -``` +::example{:code=hasPropertyValue({ hello: 'world' }, 'hello', 'world')} +:: -## isPort -Check if the input is a valid port number. +### hasProperties +Check if a property exists in an object without checking its value. ```js [js] -isPort(3000) +hasProperties({ hello: 'world' }, ['hello', 'world']) ``` -```html [template] -{{ isPort(3000) }} -``` +::example{:code=hasProperties({ hello: 'world' }, ['hello', 'world'])} +:: -```html [returns] -true -``` - -## isISBN -Check if the input is a valid IBAN. +### hasKeys +Check if an array of key exists in an object ```js [js] -isIBAN('NL39RABO0300065264') +hasKeys({ hello: 'world' }, ['hello', 'world',]) ``` -```html [template] -{{ isIBAN('NL39RABO0300065264') }} -``` - -```html [returns] -true -``` +::example{:code=hasKeys({ hello: 'world' }, ['hello', 'world',])} +:: diff --git a/docs/docs.ts b/docs/docs.ts new file mode 100644 index 00000000..d0fdbaef --- /dev/null +++ b/docs/docs.ts @@ -0,0 +1,95 @@ +import * as fs from 'fs' +import * as path from 'path' + +// Define the directory path +const directoryPath = path.resolve('../package/src/') + +// Get a list of all files in the directory +const files = fs.readdirSync(directoryPath) + +// Filter the list to only include .ts files +const tsFiles = files.filter((file) => path.extname(file) === '.ts') + +// Combine tsFiles into a single .ts file in /dist +let combinedTsFile = '' +tsFiles.forEach((tsFile) => { + const tsFilePath = path.resolve(directoryPath, tsFile) + const tsContent = fs.readFileSync(tsFilePath, 'utf-8') + combinedTsFile += tsContent + '\n' +}) + +const outputFilePath = path.resolve('./dist/mods.ts') + +// If the file doesn't exist, create the directory and the file +if (!fs.existsSync(outputFilePath)) { + const outputDirectory = path.dirname(outputFilePath) + fs.mkdirSync(outputDirectory, { recursive: true }) + fs.writeFileSync(outputFilePath, combinedTsFile) +} else { + // Write to the file if it already exists + fs.writeFileSync(outputFilePath, combinedTsFile) +} + +// Generate markdown documentation for each function +tsFiles.forEach((tsFile) => { + const tsFilePath = path.resolve(directoryPath, tsFile) + const tsContent = fs.readFileSync(tsFilePath, 'utf-8') + + // Improved pattern to match function declarations with JSDoc comments + const functionPattern = /\/\*\*[\s\S]*?\*\/\s*(export\s+function\s+[a-zA-Z0-9_]+\([^)]*\)\s*:\s*[a-zA-Z]+\s*{[\s\S]*?})/gm + const subtitlePattern = /\/\/ [\s\S]*?\/\/ <\/subtitle>/gm + + const functions = (tsContent.match(functionPattern) || []).map((match) => ({ match, type: 'function' })) + const subtitles = (tsContent.match(subtitlePattern) || []).map((match) => ({ match, type: 'subtitle' })) + const allMatches = [...functions, ...subtitles] + + let markdownContent = '' + + const pageTitleMatch = tsContent.match(/\/\/\s+title:\s+([^\r\n]*)/) + const pageDescriptionMatch = tsContent.match(/\/\/\s+description:\s+([^\r\n]*)/) + + if (pageTitleMatch) markdownContent += `# ${pageTitleMatch[1]}\n\n` + if (pageDescriptionMatch) markdownContent += `#### ${pageDescriptionMatch[1]}\n\n` + + allMatches.forEach((item) => { + if (item.type === 'subtitle') { + const subtitleMatch = /\/\/ (.+?)\/\/ <\/subtitle>/s.exec(item.match) + if (subtitleMatch) markdownContent += `## ${subtitleMatch[1].trim()}\n\n` + } else { + const functionNameMatch = /export function\s+([a-zA-Z0-9_]+)/.exec(item.match) + const functionName = functionNameMatch ? functionNameMatch[1] : '' + + const jsDocCommentMatch = /\/\*\*([\s\S]*?)\*\//.exec(item.match) + const jsDocComment = jsDocCommentMatch ? jsDocCommentMatch[1] : '' + + const description = jsDocComment + .split('\n') + .map((line) => + line + .trim() + .replace(/\/?\*+/g, '') + .trim() + ) + .filter((line) => !line.startsWith('@')) + .join(' ') + .replace(/\/$/, '') + .trim() + + const example = (jsDocComment.match(/@example\s+([^\r\n]*)/) || [])[1] || '' + const returns = (jsDocComment.match(/@returns\s+([^\r\n]*)/) || [])[1] || '' + + markdownContent += `### ${functionName}\n` + markdownContent += `${description}\n\n` + if (example) markdownContent += '```js [js]\n' + example + '\n```\n\n' + if (example) markdownContent += '::example{:code=' + example + '}\n::\n\n' + // if (returns) markdownContent += '```html [example]\n' + returns + '\n```\n\n' + } + }) + + markdownContent = markdownContent.replace(/\n\n\n/g, '\n\n') + + const outputFilePath = path.resolve('./content/2.functions', `${path.basename(tsFile, '.ts')}.md`) + fs.writeFileSync(outputFilePath, markdownContent) + + console.log('Markdown documentation generated for:', tsFile, 'at:', outputFilePath) +}) diff --git a/docs/mods.ts b/docs/mods.ts deleted file mode 100644 index 2ee1c677..00000000 --- a/docs/mods.ts +++ /dev/null @@ -1,108 +0,0 @@ -import * as fs from "fs" -import * as path from "path" - -// Define the directory path -const directoryPath = path.resolve("../package/src/") - -// Get a list of all files in the directory -const files = fs.readdirSync(directoryPath) - -// Filter the list to only include .ts files -const tsFiles = files.filter((file) => path.extname(file) === ".ts") - -// Loop through each .ts file -tsFiles.forEach((tsFile) => { - // Define the path of the TypeScript file - const tsFilePath = path.resolve(directoryPath, tsFile) - - // Read the content of the TypeScript file - const tsContent = fs.readFileSync(tsFilePath, "utf-8") - - // Define a regex pattern to match JSDoc comments and function declarations - const functionPattern = - /\/\*\*[\s\S]*?\*\/\s*export function [a-zA-Z0-9_]+\s*\([^)]*\)\s*{[\s\S]*?}/gm - - // Find all functions with their JSDoc comments in the TypeScript file - const functions = tsContent.match(functionPattern) - - // Initialize the Markdown content for this file - let markdownContent = "" - - // Extract the page title and description from the top page comments - const pageTitleMatch = tsContent.match(/\/\/\s+title:\s+([^\r\n]*)/) - const pageDescriptionMatch = tsContent.match( - /\/\/\s+description:\s+([^\r\n]*)/ - ) - - if (pageTitleMatch) { - markdownContent += `# ${pageTitleMatch[1]}\n\n` - } - - if (pageDescriptionMatch) { - markdownContent += `#### ${pageDescriptionMatch[1]}\n\n` - } - - // Check if any functions were found - if (functions) { - // Loop through each function and extract information - functions.forEach((func) => { - // Extract the function name - const functionNameMatch = func.match(/function\s+([a-zA-Z0_9_]+)/) - const functionName = functionNameMatch ? functionNameMatch[1] : "" - - // Extract the JSDoc comment - const jsDocCommentMatch = func.match(/\/\*\*[\s\S]*?\*\//) - const jsDocComment = jsDocCommentMatch ? jsDocCommentMatch[0] : "" - - // Extract the description from the JSDoc comment - const description = jsDocComment - .split("\n") - .map((line) => - line - .trim() - .replace(/\/?\*+/g, "") - .trim() - ) - .filter((line) => !line.startsWith("@")) - .join(" ") - .replace(/\/$/, "") - .trim() - - // Extract the example usage from the JSDoc comment - const example = - (jsDocComment.match(/@example\s+([^\r\n]*)/) || [])[1] || "" - const returns = - (jsDocComment.match(/@returns\s+([^\r\n]*)/) || [])[1] || "" - - // Add the extracted information to the Markdown content - markdownContent += `## ${functionName}\n` - markdownContent += `${description}\n\n` - if (example) { - markdownContent += "```js [js]\n" + example + "\n" + "```\n\n" - } - if (returns) { - markdownContent += "```html [returns]\n" + returns + "\n" + "```\n\n" - } - - // Add any additional content or formatting as needed - }) - - markdownContent = markdownContent.replace(/\n\n\n/g, "\n\n") - - // Define the output path for the Markdown file for this TypeScript file - const outputFilePath = path.resolve( - "./content/2.functions", - `${path.basename(tsFile, ".ts")}.md` - ) - - // Write the Markdown content to a file - fs.writeFileSync(outputFilePath, markdownContent) - - console.log( - "Markdown documentation generated for:", - tsFile, - "at:", - outputFilePath - ) - } -}) diff --git a/docs/package-lock.json b/docs/package-lock.json index 61c0b6f7..e683f309 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -18,17 +18,17 @@ "typescript": "^5.2.2" }, "devDependencies": { - "@nuxt-themes/docus": "^1.13.1", - "@nuxt/content": "^2.8.2", - "@nuxt/devtools": "^0.6.7", + "@nuxt-themes/docus": "^1.15.0", + "@nuxt/content": "^2.10.0", "@nuxt/eslint-config": "^0.1.1", "@nuxthq/studio": "^0.14.0", "@nuxtjs/plausible": "^0.2.1", + "@nuxtjs/tailwindcss": "^6.10.3", "@types/node": "^20.7.0", "@vitest/ui": "^0.34.3", "eslint": "^8.44.0", "happy-dom": "^10.11.2", - "nuxt": "^3.7.1", + "nuxt": "^3.9.0", "nuxt-vitest": "^0.10.5", "typedoc": "^0.25.1", "vitest": "^0.33.0" @@ -42,6 +42,18 @@ "node": ">=0.10.0" } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "dev": true, @@ -55,19 +67,21 @@ } }, "node_modules/@antfu/utils": { - "version": "0.7.6", + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.7.tgz", + "integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/highlight": "^7.22.13", + "@babel/highlight": "^7.23.4", "chalk": "^2.4.2" }, "engines": { @@ -139,29 +153,31 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.9", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.17", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.22.17", - "@babel/helpers": "^7.22.15", - "@babel/parser": "^7.22.16", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.17", - "@babel/types": "^7.22.17", - "convert-source-map": "^1.7.0", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", @@ -184,11 +200,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.15", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -199,8 +216,9 @@ }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -209,13 +227,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -225,36 +244,40 @@ }, "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^3.0.2" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache/node_modules/yallist": { - "version": "3.1.1", - "dev": true, - "license": "ISC" - }, "node_modules/@babel/helper-compilation-targets/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz", + "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -268,27 +291,30 @@ }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -306,11 +332,12 @@ } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.15", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.15" + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -328,15 +355,16 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.17", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.15" + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -347,8 +375,9 @@ }, "node_modules/@babel/helper-optimise-call-expression": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -365,12 +394,13 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { @@ -382,8 +412,9 @@ }, "node_modules/@babel/helper-simple-access": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -393,8 +424,9 @@ }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.22.5" }, @@ -414,48 +446,53 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.15", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.15", + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", + "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.13", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, @@ -463,74 +500,82 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "color-convert": "^1.9.0" }, "engines": { "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles": { - "version": "3.2.1", + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-convert": "^1.9.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert": { + "node_modules/@babel/highlight/node_modules/color-convert": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "1.1.3" } }, - "node_modules/@babel/highlight/node_modules/chalk/node_modules/ansi-styles/node_modules/color-convert/node_modules/color-name": { + "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true }, - "node_modules/@babel/highlight/node_modules/chalk/node_modules/escape-string-regexp": { + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, - "node_modules/@babel/highlight/node_modules/chalk/node_modules/supports-color": { - "version": "5.5.0", + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, "engines": { "node": ">=4" } }, - "node_modules/@babel/highlight/node_modules/chalk/node_modules/supports-color/node_modules/has-flag": { - "version": "3.0.0", + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, "engines": { "node": ">=4" } }, "node_modules/@babel/parser": { - "version": "7.22.16", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -539,15 +584,14 @@ } }, "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.22.15", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.7.tgz", + "integrity": "sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-create-class-features-plugin": "^7.23.7", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/plugin-syntax-decorators": "^7.22.10" + "@babel/plugin-syntax-decorators": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -557,9 +601,10 @@ } }, "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.22.10", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", + "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -571,9 +616,10 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -586,8 +632,9 @@ }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -610,9 +657,10 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -624,14 +672,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.15", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-create-class-features-plugin": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/plugin-syntax-typescript": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -662,19 +711,20 @@ } }, "node_modules/@babel/traverse": { - "version": "7.22.17", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.16", - "@babel/types": "^7.22.17", - "debug": "^4.1.0", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -690,12 +740,13 @@ } }, "node_modules/@babel/types": { - "version": "7.22.17", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.15", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -704,14 +755,17 @@ }, "node_modules/@cloudflare/kv-asset-handler": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.3.0.tgz", + "integrity": "sha512-9CB/MKf/wdvbfkUdfrj+OkEwZ5b7rws0eogJ4293h+7b6KX5toPwym+VQKmILafNB9YiehqY0DlNrDcDhdWHSQ==", "dev": true, - "license": "MIT OR Apache-2.0", "dependencies": { "mime": "^3.0.0" } }, "node_modules/@csstools/cascade-layer-name-parser": { - "version": "1.0.4", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@csstools/cascade-layer-name-parser/-/cascade-layer-name-parser-1.0.7.tgz", + "integrity": "sha512-9J4aMRJ7A2WRjaRLvsMeWrL69FmEuijtiW1XlK/sG+V0UJiHVYUyvj9mY4WAXfU/hGIiGOgL8e0jJcRyaZTjDQ==", "dev": true, "funding": [ { @@ -723,17 +777,18 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.1", - "@csstools/css-tokenizer": "^2.2.0" + "@csstools/css-parser-algorithms": "^2.5.0", + "@csstools/css-tokenizer": "^2.2.3" } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.3.1", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.5.0.tgz", + "integrity": "sha512-abypo6m9re3clXA00eu5syw+oaPHbJTPapu9C4pzNsJ4hdZDzushT50Zhu+iIYXgEe1CxnRMn7ngsbV+MLrlpQ==", "dev": true, "funding": [ { @@ -745,16 +800,17 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.0" + "@csstools/css-tokenizer": "^2.2.3" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.0", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.3.tgz", + "integrity": "sha512-pp//EvZ9dUmGuGtG1p+n17gTHEOqu9jO+FiCUjNN3BDmyhdA2Jq9QsVeR7K8/2QCK17HSsioPlTW9ZkzoWb3Lg==", "dev": true, "funding": [ { @@ -766,96 +822,104 @@ "url": "https://opencollective.com/csstools" } ], - "license": "MIT", "engines": { "node": "^14 || ^16 || >=18" } }, - "node_modules/@esbuild-kit/cjs-loader": { - "version": "2.4.2", + "node_modules/@csstools/selector-specificity": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.1.tgz", + "integrity": "sha512-NPljRHkq4a14YzZ3YD406uaxh7s0g6eAq3L9aLOWywoqe8PkYamAvtsh7KNX6c++ihDrJ0RiU+/z7rGnhlZ5ww==", "dev": true, - "license": "MIT", - "dependencies": { - "@esbuild-kit/core-utils": "^3.0.0", - "get-tsconfig": "^4.4.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^6.0.13" } }, - "node_modules/@esbuild-kit/core-utils": { - "version": "3.2.2", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "~0.18.20", - "source-map-support": "^0.5.21" + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" } }, - "node_modules/@esbuild-kit/core-utils/node_modules/esbuild": { - "version": "0.18.20", + "node_modules/@esbuild/android-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "cpu": [ + "arm" + ], "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, + "optional": true, + "os": [ + "android" + ], "engines": { "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" } }, - "node_modules/@esbuild-kit/core-utils/node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", + "node_modules/@esbuild/android-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ - "darwin" + "android" ], "engines": { "node": ">=12" } }, - "node_modules/@esbuild-kit/esm-loader": { - "version": "2.5.5", + "node_modules/@esbuild/android-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@esbuild-kit/core-utils": "^3.0.0", - "get-tsconfig": "^4.4.0" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.2", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -864,69 +928,353 @@ "node": ">=12" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=12" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.8.0", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=12" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=12" } }, - "node_modules/@eslint/js": { - "version": "8.49.0", + "node_modules/@esbuild/linux-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", "dev": true, "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@hapi/hoek": { - "version": "9.3.0", + "node_modules/@eslint-community/regexpp": { + "version": "4.8.0", "dev": true, - "license": "BSD-3-Clause" + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } }, - "node_modules/@hapi/topo": { - "version": "5.1.0", + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", "dependencies": { - "@hapi/hoek": "^9.0.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.49.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", + "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", + "dev": true, + "engines": { + "node": ">=14" } }, "node_modules/@humanwhocodes/config-array": { @@ -991,13 +1339,15 @@ }, "node_modules/@ioredis/commands": { "version": "1.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", + "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", + "dev": true }, "node_modules/@isaacs/cliui": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -1010,40 +1360,23 @@ "node": ">=12" } }, - "node_modules/@isaacs/cliui/node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@isaacs/cliui/node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width-cjs/node_modules/strip-ansi": { + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -1054,84 +1387,15 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", + "node_modules/@jest/schemas": { + "version": "29.6.3", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=8" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi-cjs/node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jridgewell/gen-mapping": { @@ -1186,10 +1450,42 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@koa/router": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.1.tgz", + "integrity": "sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "http-errors": "^2.0.0", + "koa-compose": "^4.1.0", + "methods": "^1.1.2", + "path-to-regexp": "^6.2.1" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "dev": true + }, "node_modules/@mapbox/node-pre-gyp": { "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "detect-libc": "^2.0.0", "https-proxy-agent": "^5.0.0", @@ -1207,80 +1503,18 @@ }, "node_modules/@mapbox/node-pre-gyp/node_modules/detect-libc": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": { - "version": "2.7.0", - "dev": true, - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } } }, "node_modules/@mapbox/node-pre-gyp/node_modules/nopt": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "dev": true, - "license": "ISC", "dependencies": { "abbrev": "1" }, @@ -1291,72 +1525,13 @@ "node": ">=6" } }, - "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog": { - "version": "5.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog/node_modules/are-we-there-yet": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog/node_modules/gauge": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/@netlify/functions": { - "version": "2.0.2", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-2.4.1.tgz", + "integrity": "sha512-sRFYBaz6dJP1MdUtk/5QNmshhg5UDmB+DUssmH6v9WUG85MrwyExEfGfJA5eClXATjXm0coTvO5nLAlyCpK7QQ==", "dev": true, - "license": "MIT", "dependencies": { - "@netlify/serverless-functions-api": "1.7.3", + "@netlify/serverless-functions-api": "1.12.3", "is-promise": "^4.0.0" }, "engines": { @@ -1365,16 +1540,18 @@ }, "node_modules/@netlify/node-cookies": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@netlify/node-cookies/-/node-cookies-0.1.0.tgz", + "integrity": "sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==", "dev": true, - "license": "MIT", "engines": { "node": "^14.16.0 || >=16.0.0" } }, "node_modules/@netlify/serverless-functions-api": { - "version": "1.7.3", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.12.3.tgz", + "integrity": "sha512-g1AZ78pCvMnalZtbnViVLGfG5ufjKyKoi3plLSUtZqh0wVuMR7ZGegeZHhOoY4wRfkkETVvWfhgfcpLMbGM5Lg==", "dev": true, - "license": "MIT", "dependencies": { "@netlify/node-cookies": "^0.1.0", "urlpattern-polyfill": "8.0.2" @@ -1412,10 +1589,52 @@ "node": ">= 8" } }, + "node_modules/@npmcli/agent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.0.tgz", + "integrity": "sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@npmcli/agent/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/@npmcli/fs": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dev": true, - "license": "ISC", "dependencies": { "semver": "^7.3.5" }, @@ -1424,35 +1643,53 @@ } }, "node_modules/@npmcli/git": { - "version": "4.1.0", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", + "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", "dev": true, - "license": "ISC", "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^3.0.0" + "which": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "7.18.3", + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "license": "ISC", "engines": { - "node": ">=12" + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/installed-package-contents": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", "dev": true, - "license": "ISC", "dependencies": { "npm-bundled": "^3.0.0", "npm-normalize-package-bin": "^3.0.0" @@ -1466,69 +1703,153 @@ }, "node_modules/@npmcli/node-gyp": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", "dev": true, - "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", + "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==", "dev": true, - "license": "ISC", "dependencies": { - "which": "^3.0.0" + "which": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@npmcli/run-script": { - "version": "6.0.2", + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "license": "ISC", - "dependencies": { + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.3.tgz", + "integrity": "sha512-ZMWGLHpzMq3rBGIwPyeaoaleaLMvrBrH8nugHxTi5ACkJZXTxXPtVuEH91ifgtss5hUwJQ2VDnzDBWPmz78rvg==", + "dev": true, + "dependencies": { "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" + "which": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/@nuxt-themes/docus": { - "version": "1.14.6", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@nuxt-themes/docus/-/docus-1.15.0.tgz", + "integrity": "sha512-V2kJ5ecGUxXcEovXeQkJBPYfQwjmjaxB5fnl2XaQV+S2Epcn+vhPWShSlL6/WXzLPiAkQFdwbBj9xedTvXgjkw==", "dev": true, - "license": "MIT", "dependencies": { - "@nuxt-themes/elements": "^0.9.4", + "@nuxt-themes/elements": "^0.9.5", "@nuxt-themes/tokens": "^1.9.1", "@nuxt-themes/typography": "^0.11.0", - "@nuxt/content": "^2.7.2", - "@nuxthq/studio": "^0.13.4", - "@vueuse/integrations": "^10.2.1", - "@vueuse/nuxt": "^10.2.1", - "focus-trap": "^7.5.2", + "@nuxt/content": "^2.8.5", + "@nuxthq/studio": "^1.0.0", + "@vueuse/integrations": "^10.4.1", + "@vueuse/nuxt": "^10.4.1", + "focus-trap": "^7.5.3", "fuse.js": "^6.6.2" } }, "node_modules/@nuxt-themes/docus/node_modules/@nuxthq/studio": { - "version": "0.13.4", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@nuxthq/studio/-/studio-1.0.6.tgz", + "integrity": "sha512-XGLAu6w6k9YJ5Vkvm5yojCfDIInzRmhAY8Lf5AAXj26tI7sx4Tg6JpkK0syPX/u1ajX6cPfMQp8ZDGOraQht0w==", "dev": true, - "license": "UNLICENSED", "dependencies": { - "@nuxt/kit": "^3.4.3", - "defu": "^6.1.2", - "nuxt-component-meta": "^0.5.1", + "@nuxt/kit": "^3.8.0", + "defu": "^6.1.3", + "nuxt-component-meta": "^0.6.0", "nuxt-config-schema": "^0.4.6", - "socket.io-client": "^4.6.1", - "ufo": "^1.1.2" + "socket.io-client": "^4.7.2", + "ufo": "^1.3.1" + } + }, + "node_modules/@nuxt-themes/docus/node_modules/nuxt-component-meta": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/nuxt-component-meta/-/nuxt-component-meta-0.6.1.tgz", + "integrity": "sha512-jCLPl2WMA47ITjMmarZeaRa/W0JeHLxoHX2nWZekYX8NngnZQPOopuciN1/QWT67P7ulF4w/gTOSCnm8bv0fLA==", + "dev": true, + "dependencies": { + "@nuxt/kit": "^3.9.0", + "citty": "^0.1.5", + "scule": "^1.1.1", + "typescript": "^5.3.3", + "vue-component-meta": "^1.8.27" + }, + "bin": { + "nuxt-component-meta": "bin/nuxt-component-meta.mjs" + } + }, + "node_modules/@nuxt-themes/docus/node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" } }, "node_modules/@nuxt-themes/elements": { - "version": "0.9.4", + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@nuxt-themes/elements/-/elements-0.9.5.tgz", + "integrity": "sha512-uAA5AiIaT1SxCBjNIURJyCDPNR27+8J+t3AWuzWyhbNPr3L1inEcETZ3RVNzFdQE6mx7MGAMwFBqxPkOUhZQuA==", "dev": true, "dependencies": { "@nuxt-themes/tokens": "^1.9.1", @@ -1537,8 +1858,9 @@ }, "node_modules/@nuxt-themes/tokens": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@nuxt-themes/tokens/-/tokens-1.9.1.tgz", + "integrity": "sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==", "dev": true, - "license": "MIT", "dependencies": { "@nuxtjs/color-mode": "^3.2.0", "@vueuse/core": "^9.13.0", @@ -1557,31 +1879,80 @@ } }, "node_modules/@nuxt/content": { - "version": "2.8.2", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@nuxt/content/-/content-2.10.0.tgz", + "integrity": "sha512-HZ+1RJJc2SZc/FPYvbsME7b8++a2uf6g9JlMm+qUMDjnCWJaF38pbrsmYq2b9whXx/3WjpBmCRkWCJy6bjSP+g==", "dev": true, - "license": "MIT", "dependencies": { - "@nuxt/kit": "^3.7.0", - "@nuxtjs/mdc": "^0.1.6", - "@vueuse/head": "^1.3.1", + "@nuxt/kit": "^3.8.2", + "@nuxtjs/mdc": "^0.3.0", + "@vueuse/core": "^10.7.0", + "@vueuse/head": "^2.0.0", + "@vueuse/nuxt": "^10.7.0", "consola": "^3.2.3", - "defu": "^6.1.2", - "destr": "^2.0.1", + "defu": "^6.1.3", + "destr": "^2.0.2", "json5": "^2.2.3", "knitwork": "^1.0.0", - "listhen": "^1.4.4", - "mdurl": "^1.0.1", + "listhen": "^1.5.5", + "mdast-util-to-string": "^4.0.0", + "mdurl": "^2.0.0", "micromark": "^4.0.0", "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-types": "^2.0.0", + "minisearch": "^6.3.0", "ohash": "^1.1.3", "pathe": "^1.1.1", - "scule": "^1.0.0", + "scule": "^1.1.1", "shiki-es": "^0.14.0", "slugify": "^1.6.6", "socket.io-client": "^4.7.2", - "ufo": "^1.3.0", - "unstorage": "^1.9.0", - "ws": "^8.13.0" + "ufo": "^1.3.2", + "unist-util-stringify-position": "^4.0.0", + "unstorage": "^1.10.1", + "ws": "^8.15.1" + } + }, + "node_modules/@nuxt/content/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true + }, + "node_modules/@nuxt/content/node_modules/@vueuse/core": { + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.7.2.tgz", + "integrity": "sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==", + "dev": true, + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.7.2", + "@vueuse/shared": "10.7.2", + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nuxt/content/node_modules/@vueuse/metadata": { + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.2.tgz", + "integrity": "sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nuxt/content/node_modules/@vueuse/shared": { + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.2.tgz", + "integrity": "sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, "node_modules/@nuxt/devalue": { @@ -1590,87 +1961,256 @@ "license": "MIT" }, "node_modules/@nuxt/devtools": { - "version": "0.6.7", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@nuxt/devtools/-/devtools-1.0.8.tgz", + "integrity": "sha512-o6aBFEBxc8OgVHV4OPe2g0q9tFIe9HiTxRiJnlTJ+jHvOQsBLS651ArdVtwLChf9UdMouFlpLLJ1HteZqTbtsQ==", "dev": true, - "license": "MIT", "dependencies": { - "@nuxt/devtools-kit": "0.6.7", - "@nuxt/devtools-wizard": "0.6.7", - "@nuxt/kit": "^3.6.1", - "birpc": "^0.2.12", - "boxen": "^7.1.0", - "consola": "^3.2.2", - "execa": "^7.1.1", - "fast-folder-size": "^2.1.0", - "fast-glob": "^3.3.0", - "get-port-please": "^3.0.1", - "global-dirs": "^3.0.1", - "h3": "^1.7.1", + "@antfu/utils": "^0.7.7", + "@nuxt/devtools-kit": "1.0.8", + "@nuxt/devtools-wizard": "1.0.8", + "@nuxt/kit": "^3.9.1", + "birpc": "^0.2.14", + "consola": "^3.2.3", + "destr": "^2.0.2", + "error-stack-parser-es": "^0.1.1", + "execa": "^7.2.0", + "fast-glob": "^3.3.2", + "flatted": "^3.2.9", + "get-port-please": "^3.1.2", "hookable": "^5.5.3", - "image-meta": "^0.1.1", - "is-installed-globally": "^0.4.0", - "launch-editor": "^2.6.0", - "local-pkg": "^0.4.3", - "magicast": "^0.2.9", - "nypm": "^0.2.2", - "pacote": "^15.2.0", - "pathe": "^1.1.1", + "image-meta": "^0.2.0", + "is-installed-globally": "^1.0.0", + "launch-editor": "^2.6.1", + "local-pkg": "^0.5.0", + "magicast": "^0.3.2", + "nypm": "^0.3.4", + "ohash": "^1.1.3", + "pacote": "^17.0.5", + "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", - "picocolors": "^1.0.0", "pkg-types": "^1.0.3", "rc9": "^2.1.1", - "semver": "^7.5.3", - "sirv": "^2.0.3", - "unimport": "^3.0.12", - "vite-plugin-inspect": "^0.7.32", - "vite-plugin-vue-inspector": "^3.4.2", - "wait-on": "^7.0.1", + "scule": "^1.2.0", + "semver": "^7.5.4", + "simple-git": "^3.22.0", + "sirv": "^2.0.4", + "unimport": "^3.7.1", + "vite-plugin-inspect": "^0.8.1", + "vite-plugin-vue-inspector": "^4.0.2", "which": "^3.0.1", - "ws": "^8.13.0" + "ws": "^8.16.0" }, "bin": { "devtools": "cli.mjs" }, "peerDependencies": { - "nuxt": "^3.6.1", + "nuxt": "^3.9.0", "vite": "*" } }, "node_modules/@nuxt/devtools-kit": { - "version": "0.6.7", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@nuxt/devtools-kit/-/devtools-kit-1.0.8.tgz", + "integrity": "sha512-j7bNZmoAXQ1a8qv6j6zk4c/aekrxYqYVQM21o/Hy4XHCUq4fajSgpoc8mjyWJSTfpkOmuLyEzMexpDWiIVSr6A==", "dev": true, - "license": "MIT", "dependencies": { - "@nuxt/kit": "^3.6.1", - "@nuxt/schema": "^3.6.1", - "execa": "^7.1.1" + "@nuxt/kit": "^3.9.1", + "@nuxt/schema": "^3.9.1", + "execa": "^7.2.0" }, "peerDependencies": { - "nuxt": "^3.6.1", + "nuxt": "^3.9.0", "vite": "*" } }, + "node_modules/@nuxt/devtools-kit/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@nuxt/devtools-kit/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/devtools-kit/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@nuxt/devtools-kit/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/@nuxt/devtools-wizard": { - "version": "0.6.7", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@nuxt/devtools-wizard/-/devtools-wizard-1.0.8.tgz", + "integrity": "sha512-RxyOlM7Isk5npwXwDJ/rjm9ekX5sTNG0LS0VOBMdSx+D5nlRPMRr/r9yO+9WQDyzPLClLzHaXRHBWLPlRX3IMw==", "dev": true, - "license": "MIT", "dependencies": { - "consola": "^3.2.2", + "consola": "^3.2.3", "diff": "^5.1.0", - "execa": "^7.1.1", - "global-dirs": "^3.0.1", - "magicast": "^0.2.9", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", + "execa": "^7.2.0", + "global-directory": "^4.0.1", + "magicast": "^0.3.2", + "pathe": "^1.1.2", "pkg-types": "^1.0.3", "prompts": "^2.4.2", "rc9": "^2.1.1", - "semver": "^7.5.3" + "semver": "^7.5.4" }, "bin": { "devtools-wizard": "cli.mjs" } }, + "node_modules/@nuxt/devtools-wizard/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@nuxt/devtools-wizard/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/devtools-wizard/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@nuxt/devtools-wizard/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/@nuxt/devtools/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@nuxt/devtools/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/devtools/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/@nuxt/devtools/node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nuxt/devtools/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/@nuxt/eslint-config": { "version": "0.1.1", "dev": true, @@ -1700,140 +2240,170 @@ } }, "node_modules/@nuxt/kit": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.7.3.tgz", - "integrity": "sha512-bhP02i6CNti15Z4ix3LpR3fd1ANtTcpfS3CDSaCja24hDt3UxIasyp52mqD9LRC+OxrUVHJziB18EwUtS6RLDQ==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.9.1.tgz", + "integrity": "sha512-QvwZ4QmxmKEnGXXwhLapfogW8enIX30GD7nbmasAkcDIf4GdP2IWUwhd068mrXMbzdZupRLV1J5E74Dr516o5g==", "dev": true, "dependencies": { - "@nuxt/schema": "3.7.3", - "c12": "^1.4.2", + "@nuxt/schema": "3.9.1", + "c12": "^1.6.1", "consola": "^3.2.3", - "defu": "^6.1.2", - "globby": "^13.2.2", + "defu": "^6.1.4", + "globby": "^14.0.0", "hash-sum": "^2.0.0", - "ignore": "^5.2.4", - "jiti": "^1.20.0", + "ignore": "^5.3.0", + "jiti": "^1.21.0", "knitwork": "^1.0.0", "mlly": "^1.4.2", "pathe": "^1.1.1", "pkg-types": "^1.0.3", - "scule": "^1.0.0", + "scule": "^1.1.1", "semver": "^7.5.4", - "ufo": "^1.3.0", + "ufo": "^1.3.2", "unctx": "^2.3.1", - "unimport": "^3.3.0", + "unimport": "^3.7.1", "untyped": "^1.4.0" }, "engines": { "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/@nuxt/schema": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.7.3.tgz", - "integrity": "sha512-Uqe3Z9RnAROzv5owQo//PztD9d4csKK6ulwQO1hIAinCh34X7z2zrv9lhm14hlRYU1n7ISEi4S7UeHgL/r8d8A==", + "node_modules/@nuxt/kit/node_modules/globby": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz", + "integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==", "dev": true, "dependencies": { - "@nuxt/ui-templates": "^1.3.1", - "defu": "^6.1.2", - "hookable": "^5.5.3", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "postcss-import-resolver": "^2.0.0", - "std-env": "^3.4.3", - "ufo": "^1.3.0", - "unimport": "^3.3.0", - "untyped": "^1.4.0" + "@sindresorhus/merge-streams": "^1.0.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": "^14.18.0 || >=16.10.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nuxt/telemetry": { - "version": "2.4.1", + "node_modules/@nuxt/kit/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/kit/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@nuxt/schema": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.9.1.tgz", + "integrity": "sha512-GmALRLYo2vPMS1lMpUkUrUuEgTMCL1ZWyqA+zPKJ9/Rh2rrQgIvFyClqUl4txQoCZl038njP5cW0nOe2Oe0HKg==", "dev": true, - "license": "MIT", "dependencies": { - "@nuxt/kit": "^3.6.5", - "chalk": "^5.3.0", - "ci-info": "^3.8.0", + "@nuxt/ui-templates": "^1.3.1", + "consola": "^3.2.3", + "defu": "^6.1.4", + "hookable": "^5.5.3", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.1.1", + "std-env": "^3.7.0", + "ufo": "^1.3.2", + "unimport": "^3.7.1", + "untyped": "^1.4.0" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/@nuxt/telemetry": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.5.3.tgz", + "integrity": "sha512-Ghv2MgWbJcUM9G5Dy3oQP0cJkUwEgaiuQxEF61FXJdn0a69Q4StZEP/hLF0MWPM9m6EvAwI7orxkJHM7MrmtVg==", + "dev": true, + "dependencies": { + "@nuxt/kit": "^3.8.2", + "ci-info": "^4.0.0", "consola": "^3.2.3", "create-require": "^1.1.1", - "defu": "^6.1.2", - "destr": "^2.0.0", + "defu": "^6.1.3", + "destr": "^2.0.2", "dotenv": "^16.3.1", - "fs-extra": "^11.1.1", - "git-url-parse": "^13.1.0", + "git-url-parse": "^13.1.1", "is-docker": "^3.0.0", - "jiti": "^1.19.1", + "jiti": "^1.21.0", "mri": "^1.2.0", "nanoid": "^4.0.2", - "node-fetch": "^3.3.1", - "ofetch": "^1.1.1", + "ofetch": "^1.3.3", "parse-git-config": "^3.0.0", "pathe": "^1.1.1", "rc9": "^2.1.1", - "std-env": "^3.3.3" + "std-env": "^3.5.0" }, "bin": { "nuxt-telemetry": "bin/nuxt-telemetry.mjs" } }, - "node_modules/@nuxt/telemetry/node_modules/chalk": { - "version": "5.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/@nuxt/ui-templates": { "version": "1.3.1", "dev": true, "license": "CC-BY-ND-4.0" }, "node_modules/@nuxt/vite-builder": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-3.7.3.tgz", - "integrity": "sha512-WbPYku1YKtdqLo5t3Vcs/2xOP8Es9K0OR0uGirdVMp74l4ZOMWBGSW9s4psiihjnNdHURdodD0cuE3tse9t7PA==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-3.9.1.tgz", + "integrity": "sha512-V0GxTYuajNlf+kX3ak7klaFnkQ43MkXY2mAYqdAuUytvjx/S0O4hESy6gU1r/3no7IZAdoaEN27KLB4OOJ7vag==", "dev": true, "dependencies": { - "@nuxt/kit": "3.7.3", - "@rollup/plugin-replace": "^5.0.2", - "@vitejs/plugin-vue": "^4.3.4", - "@vitejs/plugin-vue-jsx": "^3.0.2", - "autoprefixer": "^10.4.15", + "@nuxt/kit": "3.9.1", + "@rollup/plugin-replace": "^5.0.5", + "@vitejs/plugin-vue": "^5.0.2", + "@vitejs/plugin-vue-jsx": "^3.1.0", + "autoprefixer": "^10.4.16", "clear": "^0.1.0", "consola": "^3.2.3", - "cssnano": "^6.0.1", - "defu": "^6.1.2", - "esbuild": "^0.19.2", + "cssnano": "^6.0.3", + "defu": "^6.1.4", + "esbuild": "^0.19.11", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "externality": "^1.0.2", - "fs-extra": "^11.1.1", + "fs-extra": "^11.2.0", "get-port-please": "^3.1.1", - "h3": "^1.8.1", + "h3": "^1.10.0", "knitwork": "^1.0.0", - "magic-string": "^0.30.3", + "magic-string": "^0.30.5", "mlly": "^1.4.2", "ohash": "^1.1.3", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "postcss": "^8.4.29", - "postcss-import": "^15.1.0", - "postcss-url": "^10.1.3", - "rollup-plugin-visualizer": "^5.9.2", - "std-env": "^3.4.3", - "strip-literal": "^1.3.0", - "ufo": "^1.3.0", - "unplugin": "^1.4.0", - "vite": "^4.4.9", - "vite-node": "^0.33.0", + "postcss": "^8.4.33", + "rollup-plugin-visualizer": "^5.12.0", + "std-env": "^3.7.0", + "strip-literal": "^2.0.0", + "ufo": "^1.3.2", + "unplugin": "^1.6.0", + "vite": "5.0.11", + "vite-node": "^1.1.1", "vite-plugin-checker": "^0.6.2", "vue-bundle-renderer": "^2.0.0" }, @@ -1844,6 +2414,19 @@ "vue": "^3.3.4" } }, + "node_modules/@nuxt/vite-builder/node_modules/@vitejs/plugin-vue": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.0.3.tgz", + "integrity": "sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0", + "vue": "^3.2.25" + } + }, "node_modules/@nuxt/vite-builder/node_modules/escape-string-regexp": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", @@ -1856,6 +2439,147 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@nuxt/vite-builder/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nuxt/vite-builder/node_modules/js-tokens": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.2.tgz", + "integrity": "sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==", + "dev": true + }, + "node_modules/@nuxt/vite-builder/node_modules/rollup": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.5.tgz", + "integrity": "sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.5", + "@rollup/rollup-android-arm64": "4.9.5", + "@rollup/rollup-darwin-arm64": "4.9.5", + "@rollup/rollup-darwin-x64": "4.9.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.5", + "@rollup/rollup-linux-arm64-gnu": "4.9.5", + "@rollup/rollup-linux-arm64-musl": "4.9.5", + "@rollup/rollup-linux-riscv64-gnu": "4.9.5", + "@rollup/rollup-linux-x64-gnu": "4.9.5", + "@rollup/rollup-linux-x64-musl": "4.9.5", + "@rollup/rollup-win32-arm64-msvc": "4.9.5", + "@rollup/rollup-win32-ia32-msvc": "4.9.5", + "@rollup/rollup-win32-x64-msvc": "4.9.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/@nuxt/vite-builder/node_modules/strip-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", + "dev": true, + "dependencies": { + "js-tokens": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@nuxt/vite-builder/node_modules/vite": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.11.tgz", + "integrity": "sha512-XBMnDjZcNAw/G1gEiskiM1v6yzM4GE5aMGvhWTlHAYYhxb7S3/V1s3m2LDHa8Vh6yIWYYB0iJwsEaS523c4oYA==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/@nuxt/vite-builder/node_modules/vite-node": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.0.tgz", + "integrity": "sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, "node_modules/@nuxthq/studio": { "version": "0.14.1", "dev": true, @@ -1880,42 +2604,69 @@ } }, "node_modules/@nuxtjs/mdc": { - "version": "0.1.6", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@nuxtjs/mdc/-/mdc-0.3.0.tgz", + "integrity": "sha512-WN/5OuudZwsBPBRJNHIfkJF/sPtww5ThDva7Fcs2PMl+TdDA+M38L+AeONIn7Sl2CHU7O9rf1kMHl8p7MrUZeA==", "dev": true, - "license": "MIT", "dependencies": { - "@nuxt/kit": "latest", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@vue/compiler-core": "^3.3.4", + "@nuxt/kit": "^3.8.2", + "@types/hast": "^3.0.3", + "@types/mdast": "^4.0.3", + "@vue/compiler-core": "^3.3.13", "consola": "^3.2.3", - "defu": "^6.1.2", - "destr": "^2.0.1", + "defu": "^6.1.3", + "destr": "^2.0.2", "detab": "^3.0.2", "github-slugger": "^2.0.0", "hast-util-to-string": "^3.0.0", "mdast-util-to-hast": "^13.0.2", "micromark-util-sanitize-uri": "^2.0.0", "ohash": "^1.1.3", - "property-information": "^6.2.0", - "rehype-external-links": "^2.1.0", - "rehype-raw": "^6.1.1", - "rehype-slug": "^5.1.0", + "property-information": "^6.4.0", + "rehype-external-links": "^3.0.0", + "rehype-raw": "^7.0.0", + "rehype-slug": "^6.0.0", "rehype-sort-attribute-values": "^5.0.0", "rehype-sort-attributes": "^5.0.0", - "remark-emoji": "^4.0.0", - "remark-gfm": "^3.0.1", - "remark-mdc": "^2.0.0", - "remark-parse": "^10.0.2", - "remark-rehype": "^10.1.0", - "scule": "^1.0.0", - "shiki-es": "^0.14.0", - "ufo": "^1.3.0", - "unified": "^11.0.2", + "remark-emoji": "^4.0.1", + "remark-gfm": "^4.0.0", + "remark-mdc": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "scule": "^1.1.1", + "shikiji": "^0.9.10", + "shikiji-transformers": "^0.9.10", + "ufo": "^1.3.2", + "unified": "^11.0.4", "unist-builder": "^4.0.0", "unist-util-visit": "^5.0.0" } }, + "node_modules/@nuxtjs/mdc/node_modules/@vue/compiler-core": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.13.tgz", + "integrity": "sha512-zGUdmB3j3Irn9z51GXLJ5s0EAHxmsm5/eXl0y6MBaajMeOAaiT4+zaDoxui4Ets98dwIRr8BBaqXXHtHSfm+KA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/shared": "3.4.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@nuxtjs/mdc/node_modules/@vue/shared": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.13.tgz", + "integrity": "sha512-56crFKLPpzk85WXX1L1c0QzPOuoapWlPVys8eMG8kkRmqdMjWUqK8KpFdE2d7BQA4CEbXwyyHPq6MpFr8H9rcg==", + "dev": true + }, + "node_modules/@nuxtjs/mdc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, "node_modules/@nuxtjs/plausible": { "version": "0.2.3", "dev": true, @@ -1927,6 +2678,58 @@ "plausible-tracker": "^0.3.8" } }, + "node_modules/@nuxtjs/tailwindcss": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/@nuxtjs/tailwindcss/-/tailwindcss-6.10.4.tgz", + "integrity": "sha512-MG2HYTOH4iJjdfxpfgQ5dDQD/FV+MzqhKk6pYDKkZnTtb7HiKz7B4Yujnqvj5tSwV+kanbU9n++BFuAOJZop4w==", + "dev": true, + "dependencies": { + "@nuxt/kit": "^3.9.1", + "autoprefixer": "^10.4.16", + "chokidar": "^3.5.3", + "clear-module": "^4.1.2", + "colorette": "^2.0.20", + "consola": "^3.2.3", + "defu": "^6.1.4", + "h3": "^1.10.0", + "micromatch": "^4.0.5", + "pathe": "^1.1.1", + "postcss": "^8.4.33", + "postcss-custom-properties": "^13.3.4", + "postcss-nesting": "^12.0.2", + "tailwind-config-viewer": "^1.7.3", + "tailwindcss": "~3.4.1", + "ufo": "^1.3.2" + } + }, + "node_modules/@nuxtjs/tailwindcss/node_modules/postcss-custom-properties": { + "version": "13.3.4", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-13.3.4.tgz", + "integrity": "sha512-9YN0gg9sG3OH+Z9xBrp2PWRb+O4msw+5Sbp3ZgqrblrwKspXVQe5zr5sVqi43gJGwW/Rv1A483PRQUzQOEewvA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "dependencies": { + "@csstools/cascade-layer-name-parser": "^1.0.7", + "@csstools/css-parser-algorithms": "^2.5.0", + "@csstools/css-tokenizer": "^2.2.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@one-ini/wasm": { "version": "0.1.1", "dev": true, @@ -1945,8 +2748,10 @@ }, "node_modules/@parcel/watcher": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.3.0.tgz", + "integrity": "sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ==", "dev": true, - "license": "MIT", + "hasInstallScript": true, "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -1975,16 +2780,17 @@ "@parcel/watcher-win32-x64": "2.3.0" } }, - "node_modules/@parcel/watcher-darwin-arm64": { + "node_modules/@parcel/watcher-android-arm64": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz", + "integrity": "sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ - "darwin" + "android" ], "engines": { "node": ">= 10.0.0" @@ -1994,18 +2800,18 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-wasm": { + "node_modules/@parcel/watcher-darwin-arm64": { "version": "2.3.0", - "bundleDependencies": [ - "napi-wasm" + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz", + "integrity": "sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw==", + "cpu": [ + "arm64" ], "dev": true, - "license": "MIT", - "dependencies": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "napi-wasm": "^1.1.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { "node": ">= 10.0.0" }, @@ -2014,30 +2820,254 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "MIT" - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz", + "integrity": "sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=14" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.23", + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz", + "integrity": "sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz", + "integrity": "sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz", + "integrity": "sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz", + "integrity": "sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz", + "integrity": "sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz", + "integrity": "sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-wasm": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz", + "integrity": "sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==", + "bundleDependencies": [ + "napi-wasm" + ], + "dev": true, + "dependencies": { + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "napi-wasm": "^1.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { + "version": "1.1.0", "dev": true, + "inBundle": true, "license": "MIT" }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz", + "integrity": "sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz", + "integrity": "sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz", + "integrity": "sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", + "dev": true + }, "node_modules/@rollup/plugin-alias": { - "version": "5.0.0", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-5.1.0.tgz", + "integrity": "sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==", "dev": true, - "license": "MIT", "dependencies": { "slash": "^4.0.0" }, @@ -2045,7 +3075,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2054,22 +3084,23 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "25.0.4", + "version": "25.0.7", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz", + "integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==", "dev": true, - "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", "glob": "^8.0.3", "is-reference": "1.2.1", - "magic-string": "^0.27.0" + "magic-string": "^0.30.3" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^2.68.0||^3.0.0" + "rollup": "^2.68.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2077,15 +3108,26 @@ } } }, + "node_modules/@rollup/plugin-commonjs/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true }, "node_modules/@rollup/plugin-commonjs/node_modules/glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2100,10 +3142,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@rollup/plugin-commonjs/node_modules/glob/node_modules/minimatch": { + "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2111,39 +3154,21 @@ "node": ">=10" } }, - "node_modules/@rollup/plugin-commonjs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { - "version": "0.27.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/@rollup/plugin-inject": { - "version": "5.0.3", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", + "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", "dev": true, - "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", - "magic-string": "^0.27.0" + "magic-string": "^0.30.3" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2153,32 +3178,23 @@ }, "node_modules/@rollup/plugin-inject/node_modules/estree-walker": { "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/plugin-inject/node_modules/magic-string": { - "version": "0.27.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true }, "node_modules/@rollup/plugin-json": { - "version": "6.0.0", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", + "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", "dev": true, - "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.0.1" + "@rollup/pluginutils": "^5.1.0" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2187,9 +3203,10 @@ } }, "node_modules/@rollup/plugin-node-resolve": { - "version": "15.2.1", + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", "dev": true, - "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", @@ -2202,7 +3219,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^2.78.0||^3.0.0" + "rollup": "^2.78.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2211,18 +3228,19 @@ } }, "node_modules/@rollup/plugin-replace": { - "version": "5.0.2", + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.5.tgz", + "integrity": "sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==", "dev": true, - "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", - "magic-string": "^0.27.0" + "magic-string": "^0.30.3" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2230,31 +3248,21 @@ } } }, - "node_modules/@rollup/plugin-replace/node_modules/magic-string": { - "version": "0.27.0", + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.3", - "dev": true, - "license": "MIT", - "dependencies": { - "serialize-javascript": "^6.0.1", - "smob": "^1.0.0", - "terser": "^5.17.4" + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^2.x || ^3.x" + "rollup": "^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2263,14 +3271,18 @@ } }, "node_modules/@rollup/plugin-wasm": { - "version": "6.1.3", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-wasm/-/plugin-wasm-6.2.2.tgz", + "integrity": "sha512-gpC4R1G9Ni92ZIRTexqbhX7U+9estZrbhP+9SRb0DW9xpB9g7j34r+J2hqrcW/lRI7dJaU84MxZM0Rt82tqYPQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.2" + }, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2279,9 +3291,10 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.0.4", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -2291,7 +3304,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2304,71 +3317,250 @@ "dev": true, "license": "MIT" }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.3.3", + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.5.tgz", + "integrity": "sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@sideway/address": { - "version": "4.1.4", + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.5.tgz", + "integrity": "sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@sideway/formula": { - "version": "3.0.1", + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz", + "integrity": "sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "BSD-3-Clause" + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.5.tgz", + "integrity": "sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-3-Clause" + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.5.tgz", + "integrity": "sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.5.tgz", + "integrity": "sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.5.tgz", + "integrity": "sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.5.tgz", + "integrity": "sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz", + "integrity": "sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.5.tgz", + "integrity": "sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.5.tgz", + "integrity": "sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.5.tgz", + "integrity": "sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.5.tgz", + "integrity": "sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.3.3", + "dev": true, + "license": "MIT" }, "node_modules/@sigstore/bundle": { - "version": "1.1.0", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.1.tgz", + "integrity": "sha512-v3/iS+1nufZdKQ5iAlQKcCsoh0jffQyABvYIxKsZQFWc4ubuGjwZklFHpDgV6O6T7vvV78SW5NHI91HFKEcxKg==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.2.0" + "@sigstore/protobuf-specs": "^0.2.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-0.2.0.tgz", + "integrity": "sha512-THobAPPZR9pDH2CAvDLpkrYedt7BlZnsyxDe+Isq4ZmGfPy5juOFZq487vCU2EgKD7aHSiTfE/i7sN7aEdzQnA==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@sigstore/protobuf-specs": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@sigstore/sign": { - "version": "1.0.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.1.tgz", + "integrity": "sha512-U5sKQEj+faE1MsnLou1f4DQQHeFZay+V9s9768lw48J4pKykPj34rWyI1lsMOGJ3Mae47Ye6q3HAJvgXO21rkQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^1.1.0", - "@sigstore/protobuf-specs": "^0.2.0", - "make-fetch-happen": "^11.0.1" + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", + "@sigstore/protobuf-specs": "^0.2.1", + "make-fetch-happen": "^13.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@sigstore/tuf": { - "version": "1.0.3", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.0.tgz", + "integrity": "sha512-S98jo9cpJwO1mtQ+2zY7bOdcYyfVYCUaofCG6wWRzk3pxKHVAkSfshkfecto2+LKsx7Ovtqbgb2LS8zTRhxJ9Q==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.2.0", - "tuf-js": "^1.1.7" + "@sigstore/protobuf-specs": "^0.2.1", + "tuf-js": "^2.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-0.1.0.tgz", + "integrity": "sha512-2UzMNYAa/uaz11NhvgRnIQf4gpLTJ59bhb8ESXaoSS5sxedfS+eLak8bsdMc+qpNQfITUTFoSKFx5h8umlRRiA==", + "dev": true, + "dependencies": { + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", + "@sigstore/protobuf-specs": "^0.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@sinclair/typebox": { @@ -2377,9 +3569,10 @@ "license": "MIT" }, "node_modules/@sindresorhus/is": { - "version": "3.1.2", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", + "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -2387,19 +3580,23 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, + "node_modules/@sindresorhus/merge-streams": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz", + "integrity": "sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.0", "dev": true, "license": "MIT" }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", @@ -2440,29 +3637,41 @@ } }, "node_modules/@tufjs/canonical-json": { - "version": "1.0.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", "dev": true, - "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@tufjs/models": { - "version": "1.0.4", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.0.tgz", + "integrity": "sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==", "dev": true, - "license": "MIT", "dependencies": { - "@tufjs/canonical-json": "1.0.0", - "minimatch": "^9.0.0" + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/@tufjs/models/node_modules/minimatch": { "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -2473,14 +3682,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@tufjs/models/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/@types/chai": { "version": "4.3.6", "dev": true, @@ -2495,30 +3696,34 @@ } }, "node_modules/@types/debug": { - "version": "4.1.8", + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/ms": "*" } }, "node_modules/@types/estree": { - "version": "1.0.1", - "dev": true, - "license": "MIT" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/hast": { - "version": "3.0.0", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz", + "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/unist": "*" } }, "node_modules/@types/http-proxy": { - "version": "1.17.11", + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -2529,17 +3734,19 @@ "license": "MIT" }, "node_modules/@types/mdast": { - "version": "4.0.0", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", "dev": true, - "license": "MIT", "dependencies": { "@types/unist": "*" } }, "node_modules/@types/ms": { - "version": "0.7.31", - "dev": true, - "license": "MIT" + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "dev": true }, "node_modules/@types/node": { "version": "20.7.0", @@ -2547,11 +3754,6 @@ "integrity": "sha512-zI22/pJW2wUZOVyguFaUL1HABdmSVxpXrzIqkjsHmyUjNhPoWM1CKfvVuXfetHhIok4RY573cqS0mZ1SJEnoTg==", "dev": true }, - "node_modules/@types/parse5": { - "version": "6.0.3", - "dev": true, - "license": "MIT" - }, "node_modules/@types/resolve": { "version": "1.20.2", "dev": true, @@ -2563,9 +3765,10 @@ "license": "MIT" }, "node_modules/@types/unist": { - "version": "3.0.0", - "dev": true, - "license": "MIT" + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true }, "node_modules/@types/web": { "version": "0.0.119", @@ -2574,8 +3777,9 @@ }, "node_modules/@types/web-bluetooth": { "version": "0.0.16", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", + "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==", + "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.62.0", @@ -2806,108 +4010,71 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true }, "node_modules/@unhead/dom": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.7.4.tgz", - "integrity": "sha512-xanQMtGmgikqTvDtuyJy6GXgqvUXOdrdnIyqAabpeS8goD8udxo0stzjtbT8ERbMQibzPGSGcN+Ux+MKoWzrjQ==", + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.8.9.tgz", + "integrity": "sha512-qY4CUVNKEM7lEAcTz5t71QYca+NXgUY5RwhSzB6sBBzZxQTiFOeTVKC6uWXU0N+3jBUdP/zdD3iN1JIjziDlng==", "dev": true, "dependencies": { - "@unhead/schema": "1.7.4", - "@unhead/shared": "1.7.4" + "@unhead/schema": "1.8.9", + "@unhead/shared": "1.8.9" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" } }, - "node_modules/@unhead/dom/node_modules/@unhead/schema": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.7.4.tgz", - "integrity": "sha512-wUL4CK0NSEm3KH4kYsiqVYQw5xBk1hpBi5tiNj0BTZgpQVrRufICdK5EHA9Fh7OIAR6tOTWwTvsf5+nK0BgQDA==", + "node_modules/@unhead/schema": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.8.9.tgz", + "integrity": "sha512-Cumjt2uLfBMEXflvq7Nk8KNqa/JS4MlRGWkjXx/uUXJ1vUeQqeMV8o3hrnRvDDoTXr9LwPapTMUbtClN3TSBgw==", "dev": true, "dependencies": { "hookable": "^5.5.3", - "zhead": "^2.1.1" + "zhead": "^2.2.4" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" } }, - "node_modules/@unhead/schema": { - "version": "1.5.4", + "node_modules/@unhead/shared": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.8.9.tgz", + "integrity": "sha512-0o4+CBCi9EnTKPF6cEuLacnUHUkF0u/FfiKrWnKWUiB8wTD1v3UCf5ZCrNCjuJmKHTqj6ZtZ2hIfXsqWfc+3tA==", "dev": true, - "license": "MIT", "dependencies": { - "hookable": "^5.5.3", - "zhead": "^2.0.10" + "@unhead/schema": "1.8.9" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" } }, - "node_modules/@unhead/shared": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.7.4.tgz", - "integrity": "sha512-YUNA2UxAuDPnDps41BQ8aEIY5hdyvruSB1Vs3AALhRo07MxMivSq5DjNKfYr/JvRN6593RtfI1NHnP9x5M57xA==", + "node_modules/@unhead/ssr": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.8.9.tgz", + "integrity": "sha512-sQaA4FDFD1tRD2JiiHfdEY5rF1i54qFxCRqdX0pB+15JJCYBfIPJMr5T1SLJBgc9pqX4rS3MPg2Fc9DW+0p9yw==", "dev": true, "dependencies": { - "@unhead/schema": "1.7.4" + "@unhead/schema": "1.8.9", + "@unhead/shared": "1.8.9" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" } }, - "node_modules/@unhead/shared/node_modules/@unhead/schema": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.7.4.tgz", - "integrity": "sha512-wUL4CK0NSEm3KH4kYsiqVYQw5xBk1hpBi5tiNj0BTZgpQVrRufICdK5EHA9Fh7OIAR6tOTWwTvsf5+nK0BgQDA==", + "node_modules/@unhead/vue": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.8.9.tgz", + "integrity": "sha512-sL1d2IRBZd5rjzhgTYni2DiociSpt+Cfz3iVWKb0EZwQHgg0GzV8Hkoj5TjZYZow6EjDSPRfVPXDwOwxkVOgug==", "dev": true, "dependencies": { + "@unhead/schema": "1.8.9", + "@unhead/shared": "1.8.9", "hookable": "^5.5.3", - "zhead": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/@unhead/ssr": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.7.4.tgz", - "integrity": "sha512-2QqaHdC48XJGP9Pd0F2fblPv9/6G4IU04iZ5qLRAs6MFFmFEzrdvoooFlcwdcoH/WDGRnpYBmo+Us2nzQz1MMQ==", - "dev": true, - "dependencies": { - "@unhead/schema": "1.7.4", - "@unhead/shared": "1.7.4" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/@unhead/ssr/node_modules/@unhead/schema": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.7.4.tgz", - "integrity": "sha512-wUL4CK0NSEm3KH4kYsiqVYQw5xBk1hpBi5tiNj0BTZgpQVrRufICdK5EHA9Fh7OIAR6tOTWwTvsf5+nK0BgQDA==", - "dev": true, - "dependencies": { - "hookable": "^5.5.3", - "zhead": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/@unhead/vue": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.7.4.tgz", - "integrity": "sha512-ZfgzOhg1Bxo9xwp3upawqerw4134hc9Lhz6t005ixcBwPX+39Wpgc9dC3lf+owFQEVuWkf8F+eAwK2sghVBK4A==", - "dev": true, - "dependencies": { - "@unhead/schema": "1.7.4", - "@unhead/shared": "1.7.4", - "hookable": "^5.5.3", - "unhead": "1.7.4" + "unhead": "1.8.9" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" @@ -2916,19 +4083,6 @@ "vue": ">=2.7 || >=3" } }, - "node_modules/@unhead/vue/node_modules/@unhead/schema": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.7.4.tgz", - "integrity": "sha512-wUL4CK0NSEm3KH4kYsiqVYQw5xBk1hpBi5tiNj0BTZgpQVrRufICdK5EHA9Fh7OIAR6tOTWwTvsf5+nK0BgQDA==", - "dev": true, - "dependencies": { - "hookable": "^5.5.3", - "zhead": "^2.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, "node_modules/@unocss/reset": { "version": "0.50.8", "dev": true, @@ -2938,9 +4092,10 @@ } }, "node_modules/@vercel/nft": { - "version": "0.23.1", + "version": "0.24.4", + "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.24.4.tgz", + "integrity": "sha512-KjYAZty7boH5fi5udp6p+lNu6nawgs++pHW+3koErMgbRkkHuToGX/FwjN5clV1FcaM3udfd4zW/sUapkMgpZw==", "dev": true, - "license": "MIT", "dependencies": { "@mapbox/node-pre-gyp": "^1.0.5", "@rollup/pluginutils": "^4.0.0", @@ -2958,13 +4113,14 @@ "nft": "out/cli.js" }, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/@vercel/nft/node_modules/@rollup/pluginutils": { "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", "dev": true, - "license": "MIT", "dependencies": { "estree-walker": "^2.0.1", "picomatch": "^2.2.2" @@ -2975,13 +4131,15 @@ }, "node_modules/@vercel/nft/node_modules/estree-walker": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true }, "node_modules/@vercel/nft/node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2999,8 +4157,9 @@ }, "node_modules/@vercel/nft/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -3009,6 +4168,7 @@ "version": "4.3.4", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": "^14.18.0 || >=16.0.0" }, @@ -3018,19 +4178,20 @@ } }, "node_modules/@vitejs/plugin-vue-jsx": { - "version": "3.0.2", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz", + "integrity": "sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/core": "^7.22.10", - "@babel/plugin-transform-typescript": "^7.22.10", + "@babel/core": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3", "@vue/babel-plugin-jsx": "^1.1.5" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "vite": "^4.0.0", + "vite": "^4.0.0 || ^5.0.0", "vue": "^3.0.0" } }, @@ -3160,33 +4321,38 @@ } }, "node_modules/@volar/typescript": { - "version": "1.10.1", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", "dev": true, - "license": "MIT", "dependencies": { - "@volar/language-core": "1.10.1" + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" } }, "node_modules/@volar/typescript/node_modules/@volar/language-core": { - "version": "1.10.1", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", "dev": true, - "license": "MIT", "dependencies": { - "@volar/source-map": "1.10.1" + "@volar/source-map": "1.11.1" } }, - "node_modules/@volar/typescript/node_modules/@volar/language-core/node_modules/@volar/source-map": { - "version": "1.10.1", + "node_modules/@volar/typescript/node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", "dev": true, - "license": "MIT", "dependencies": { "muggle-string": "^0.3.1" } }, - "node_modules/@volar/typescript/node_modules/@volar/language-core/node_modules/@volar/source-map/node_modules/muggle-string": { + "node_modules/@volar/typescript/node_modules/muggle-string": { "version": "0.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true }, "node_modules/@volar/vue-language-core": { "version": "1.6.5", @@ -3227,15 +4393,16 @@ } }, "node_modules/@vue-macros/common": { - "version": "1.7.2", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-1.10.0.tgz", + "integrity": "sha512-4DZsPeQA/nBQDw2RkYAmH7KrFjJVrMdAhJhO1JCl1bbbFXCGeoGjXfkg9wHPppj47s2HpAB3GrqNwqVGbi12NQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.22.10", - "@rollup/pluginutils": "^5.0.3", - "@vue/compiler-sfc": "^3.3.4", - "ast-kit": "^0.10.0", - "local-pkg": "^0.4.3", + "@babel/types": "^7.23.5", + "@rollup/pluginutils": "^5.1.0", + "@vue/compiler-sfc": "^3.3.10", + "ast-kit": "^0.11.3", + "local-pkg": "^0.5.0", "magic-string-ast": "^0.3.0" }, "engines": { @@ -3250,6 +4417,84 @@ } } }, + "node_modules/@vue-macros/common/node_modules/@vue/compiler-core": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.13.tgz", + "integrity": "sha512-zGUdmB3j3Irn9z51GXLJ5s0EAHxmsm5/eXl0y6MBaajMeOAaiT4+zaDoxui4Ets98dwIRr8BBaqXXHtHSfm+KA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/shared": "3.4.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/compiler-dom": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.13.tgz", + "integrity": "sha512-XSNbpr5Rs3kCfVAmBqMu/HDwOS+RL6y28ZZjDlnDUuf146pRWt2sQkwhsOYc9uu2lxjjJy2NcyOkK7MBLVEc7w==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.4.13", + "@vue/shared": "3.4.13" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/compiler-sfc": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.13.tgz", + "integrity": "sha512-SkpmQN8xIFBd5onT413DFSDdjxULJf6jmJg/t3w/DZ9I8ZzyNlLIBLO0qFLewVHyHCiAgpPZlWqSRZXYrawk3Q==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/compiler-core": "3.4.13", + "@vue/compiler-dom": "3.4.13", + "@vue/compiler-ssr": "3.4.13", + "@vue/shared": "3.4.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.32", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/compiler-ssr": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.13.tgz", + "integrity": "sha512-rwnw9SVBgD6eGKh8UucnwztieQo/R3RQrEGpE0b0cxb2xxvJeLs/fe7DoYlhEfaSyzM/qD5odkK87hl3G3oW+A==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.4.13", + "@vue/shared": "3.4.13" + } + }, + "node_modules/@vue-macros/common/node_modules/@vue/shared": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.13.tgz", + "integrity": "sha512-56crFKLPpzk85WXX1L1c0QzPOuoapWlPVys8eMG8kkRmqdMjWUqK8KpFdE2d7BQA4CEbXwyyHPq6MpFr8H9rcg==", + "dev": true + }, + "node_modules/@vue-macros/common/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@vue-macros/common/node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, "node_modules/@vue/babel-helper-vue-transform-on": { "version": "1.1.5", "dev": true, @@ -3347,17 +4592,19 @@ "license": "MIT" }, "node_modules/@vue/language-core": { - "version": "1.8.10", + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", + "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", "dev": true, - "license": "MIT", "dependencies": { - "@volar/language-core": "~1.10.0", - "@volar/source-map": "~1.10.0", + "@volar/language-core": "~1.11.1", + "@volar/source-map": "~1.11.1", "@vue/compiler-dom": "^3.3.0", - "@vue/reactivity": "^3.3.0", "@vue/shared": "^3.3.0", - "minimatch": "^9.0.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", "muggle-string": "^0.3.1", + "path-browserify": "^1.0.1", "vue-template-compiler": "^2.7.14" }, "peerDependencies": { @@ -3370,25 +4617,37 @@ } }, "node_modules/@vue/language-core/node_modules/@volar/language-core": { - "version": "1.10.1", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", "dev": true, - "license": "MIT", "dependencies": { - "@volar/source-map": "1.10.1" + "@volar/source-map": "1.11.1" } }, "node_modules/@vue/language-core/node_modules/@volar/source-map": { - "version": "1.10.1", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", "dev": true, - "license": "MIT", "dependencies": { "muggle-string": "^0.3.1" } }, + "node_modules/@vue/language-core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/@vue/language-core/node_modules/minimatch": { "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3399,18 +4658,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@vue/language-core/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/@vue/language-core/node_modules/muggle-string": { "version": "0.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true }, "node_modules/@vue/reactivity": { "version": "3.3.4", @@ -3441,6 +4693,7 @@ "version": "3.3.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vue/reactivity": "3.3.4", "@vue/shared": "3.3.4" @@ -3450,6 +4703,7 @@ "version": "3.3.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vue/runtime-core": "3.3.4", "@vue/shared": "3.3.4", @@ -3460,6 +4714,7 @@ "version": "3.3.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-ssr": "3.3.4", "@vue/shared": "3.3.4" @@ -3498,8 +4753,9 @@ }, "node_modules/@vueuse/core": { "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", + "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", "dev": true, - "license": "MIT", "dependencies": { "@types/web-bluetooth": "^0.0.16", "@vueuse/metadata": "9.13.0", @@ -3512,16 +4768,18 @@ }, "node_modules/@vueuse/core/node_modules/@vueuse/metadata": { "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", + "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/core/node_modules/@vueuse/shared": { "version": "9.13.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", + "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", "dev": true, - "license": "MIT", "dependencies": { "vue-demi": "*" }, @@ -3530,42 +4788,20 @@ } }, "node_modules/@vueuse/head": { - "version": "1.3.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@vueuse/head/-/head-2.0.0.tgz", + "integrity": "sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==", "dev": true, - "license": "MIT", "dependencies": { - "@unhead/dom": "^1.3.1", - "@unhead/schema": "^1.3.1", - "@unhead/ssr": "^1.3.1", - "@unhead/vue": "^1.3.1" + "@unhead/dom": "^1.7.0", + "@unhead/schema": "^1.7.0", + "@unhead/ssr": "^1.7.0", + "@unhead/vue": "^1.7.0" }, "peerDependencies": { "vue": ">=2.7 || >=3" } }, - "node_modules/@vueuse/head/node_modules/@unhead/dom": { - "version": "1.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@unhead/schema": "1.5.4", - "@unhead/shared": "1.5.4" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/@vueuse/head/node_modules/@unhead/dom/node_modules/@unhead/shared": { - "version": "1.5.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@unhead/schema": "1.5.4" - }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, "node_modules/@vueuse/integrations": { "version": "10.4.1", "dev": true, @@ -3659,16 +4895,16 @@ } }, "node_modules/@vueuse/nuxt": { - "version": "10.4.1", + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/nuxt/-/nuxt-10.7.2.tgz", + "integrity": "sha512-yv2hY4AiRoSqg9ELNpN6gOkDWxGuLiKE/bEbuTAAuUBhS5OeEDf5aB/kY0e/V6ZXj5XiU4LX3nE8YV8c+UKfmQ==", "dev": true, - "license": "MIT", "dependencies": { - "@nuxt/kit": "^3.6.5", - "@vueuse/core": "10.4.1", - "@vueuse/metadata": "10.4.1", - "local-pkg": "^0.4.3", - "nuxt": "^3.6.5", - "vue-demi": ">=0.14.5" + "@nuxt/kit": "^3.9.1", + "@vueuse/core": "10.7.2", + "@vueuse/metadata": "10.7.2", + "local-pkg": "^0.5.0", + "vue-demi": ">=0.14.6" }, "funding": { "url": "https://github.com/sponsors/antfu" @@ -3677,24 +4913,63 @@ "nuxt": "^3.0.0" } }, + "node_modules/@vueuse/nuxt/node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "dev": true + }, "node_modules/@vueuse/nuxt/node_modules/@vueuse/core": { - "version": "10.4.1", + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.7.2.tgz", + "integrity": "sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/web-bluetooth": "^0.0.17", - "@vueuse/metadata": "10.4.1", - "@vueuse/shared": "10.4.1", - "vue-demi": ">=0.14.5" + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "10.7.2", + "@vueuse/shared": "10.7.2", + "vue-demi": ">=0.14.6" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, - "node_modules/@vueuse/nuxt/node_modules/@vueuse/core/node_modules/@types/web-bluetooth": { - "version": "0.0.17", + "node_modules/@vueuse/nuxt/node_modules/@vueuse/metadata": { + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.2.tgz", + "integrity": "sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==", "dev": true, - "license": "MIT" + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/nuxt/node_modules/@vueuse/shared": { + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.2.tgz", + "integrity": "sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==", + "dev": true, + "dependencies": { + "vue-demi": ">=0.14.6" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/nuxt/node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } }, "node_modules/@vueuse/shared": { "version": "10.4.1", @@ -3712,10 +4987,24 @@ "dev": true, "license": "ISC" }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/acorn": { - "version": "8.10.0", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3740,31 +5029,22 @@ } }, "node_modules/agent-base": { - "version": "7.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/agentkeepalive": { - "version": "4.5.0", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, - "license": "MIT", "dependencies": { - "humanize-ms": "^1.2.1" + "debug": "4" }, "engines": { - "node": ">= 8.0.0" + "node": ">= 6.0.0" } }, "node_modules/aggregate-error": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, - "license": "MIT", "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -3788,36 +5068,11 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ansi-align": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.1.0" - } - }, - "node_modules/ansi-align/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-align/node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/ansi-colors": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -3874,6 +5129,12 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, "node_modules/anymatch": { "version": "3.1.3", "dev": true, @@ -3888,32 +5149,15 @@ }, "node_modules/aproba": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true }, - "node_modules/arch": { - "version": "2.2.0", + "node_modules/archiver": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-6.0.1.tgz", + "integrity": "sha512-CXGy4poOLBKptiZH//VlWdFuUC1RESbdZjGjILwBuZ73P7WkAUN0htfSfBq/7k6FRFlpu7bg4JOkj1vU9G6jcQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/archiver": { - "version": "6.0.1", - "dev": true, - "license": "MIT", "dependencies": { "archiver-utils": "^4.0.1", "async": "^3.2.4", @@ -3929,8 +5173,9 @@ }, "node_modules/archiver-utils": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-4.0.1.tgz", + "integrity": "sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==", "dev": true, - "license": "MIT", "dependencies": { "glob": "^8.0.0", "graceful-fs": "^4.2.0", @@ -3943,10 +5188,20 @@ "node": ">= 12.0.0" } }, + "node_modules/archiver-utils/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/archiver-utils/node_modules/glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3961,10 +5216,11 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/archiver-utils/node_modules/glob/node_modules/minimatch": { + "node_modules/archiver-utils/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3972,26 +5228,25 @@ "node": ">=10" } }, - "node_modules/archiver-utils/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, "node_modules/are-we-there-yet": { - "version": "3.0.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", "dev": true, - "license": "ISC", "dependencies": { "delegates": "^1.0.0", "readable-stream": "^3.6.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "dev": true, @@ -4026,55 +5281,73 @@ } }, "node_modules/ast-kit": { - "version": "0.10.0", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-0.11.3.tgz", + "integrity": "sha512-qdwwKEhckRk0XE22/xDdmU3v/60E8Edu4qFhgTLIhGGDs/PAJwLw9pQn8Rj99PitlbBZbYpx0k/lbir4kg0SuA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/parser": "^7.22.10", - "@rollup/pluginutils": "^5.0.3", + "@babel/parser": "^7.23.5", + "@rollup/pluginutils": "^5.1.0", "pathe": "^1.1.1" }, "engines": { "node": ">=16.14.0" } }, - "node_modules/ast-types": { - "version": "0.16.1", + "node_modules/ast-walker-scope": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.5.0.tgz", + "integrity": "sha512-NsyHMxBh4dmdEHjBo1/TBZvCKxffmZxRYhmclfu0PP6Aftre47jOHYaYaNqJcV0bxihxFXhDkzLHUwHc0ocd0Q==", "dev": true, - "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "@babel/parser": "^7.22.7", + "ast-kit": "^0.9.4" }, "engines": { - "node": ">=4" + "node": ">=16.14.0" } }, - "node_modules/ast-walker-scope": { - "version": "0.4.2", + "node_modules/ast-walker-scope/node_modules/ast-kit": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-0.9.5.tgz", + "integrity": "sha512-kbL7ERlqjXubdDd+szuwdlQ1xUxEz9mCz1+m07ftNVStgwRb2RWw+U6oKo08PAvOishMxiqz1mlJyLl8yQx2Qg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/parser": "^7.22.4", - "@babel/types": "^7.22.4" + "@babel/parser": "^7.22.7", + "@rollup/pluginutils": "^5.0.2", + "pathe": "^1.1.1" }, "engines": { "node": ">=16.14.0" } }, "node_modules/async": { - "version": "3.2.4", - "dev": true, - "license": "MIT" + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true }, "node_modules/async-sema": { "version": "3.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz", + "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==", + "dev": true }, "node_modules/asynckit": { "version": "0.4.0", "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } }, "node_modules/autoprefixer": { "version": "10.4.16", @@ -4128,6 +5401,8 @@ "version": "0.27.2", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "follow-redirects": "^1.14.9", "form-data": "^4.0.0" @@ -4135,13 +5410,15 @@ }, "node_modules/b4a": { "version": "1.6.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==", + "dev": true }, "node_modules/bail": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4151,29 +5428,11 @@ "version": "1.0.2", "license": "MIT" }, - "node_modules/base64-js": { - "version": "1.5.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/big-integer": { - "version": "1.6.51", + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", "dev": true, - "license": "Unlicense", "engines": { "node": ">=0.6" } @@ -4188,97 +5447,32 @@ }, "node_modules/bindings": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dev": true, - "license": "MIT", "dependencies": { "file-uri-to-path": "1.0.0" } }, "node_modules/birpc": { "version": "0.2.14", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-0.2.14.tgz", + "integrity": "sha512-37FHE8rqsYM5JEKCnXFyHpBCzvgHEExwVVTq+nUmloInU7l8ezD1TpOhKpS8oe1DTYFqEK27rFZVKG43oTqXRA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, - "node_modules/bl": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/bl/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/bl/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, "node_modules/boolbase": { "version": "1.0.0", "dev": true, "license": "ISC" }, - "node_modules/boxen": { - "version": "7.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^7.0.1", - "chalk": "^5.2.0", - "cli-boxes": "^3.0.0", - "string-width": "^5.1.2", - "type-fest": "^2.13.0", - "widest-line": "^4.0.1", - "wrap-ansi": "^8.1.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/boxen/node_modules/chalk": { - "version": "5.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, "node_modules/bplist-parser": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", "dev": true, - "license": "MIT", "dependencies": { "big-integer": "^1.6.44" }, @@ -4306,7 +5500,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.10", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "dev": true, "funding": [ { @@ -4322,12 +5518,11 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -4336,56 +5531,15 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/buffer": { - "version": "5.7.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/buffer-crc32": { "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/buffer-from": { "version": "1.1.2", "dev": true, @@ -4404,8 +5558,9 @@ }, "node_modules/builtins": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^7.0.0" } @@ -4451,8 +5606,9 @@ }, "node_modules/bundle-name": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", "dev": true, - "license": "MIT", "dependencies": { "run-applescript": "^5.0.0" }, @@ -4463,28 +5619,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/busboy": { - "version": "1.6.0", - "dev": true, - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, "node_modules/c12": { - "version": "1.4.2", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/c12/-/c12-1.6.1.tgz", + "integrity": "sha512-fAZOi3INDvIbmjuwAVVggusyRTxwNdTAnwLay8IsXwhFzDwPPGzFxzrx6L55CPFGPulUSZI0eyFUvRDXveoE3g==", "dev": true, - "license": "MIT", "dependencies": { "chokidar": "^3.5.3", - "defu": "^6.1.2", + "defu": "^6.1.3", "dotenv": "^16.3.1", - "giget": "^1.1.2", - "jiti": "^1.18.2", - "mlly": "^1.4.0", - "ohash": "^1.1.2", + "giget": "^1.2.1", + "jiti": "^1.21.0", + "mlly": "^1.4.2", + "ohash": "^1.1.3", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", @@ -4500,16 +5647,17 @@ } }, "node_modules/cacache": { - "version": "17.1.4", + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", "dev": true, - "license": "ISC", "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", - "lru-cache": "^7.7.1", + "lru-cache": "^10.0.1", "minipass": "^7.0.3", - "minipass-collect": "^1.0.2", + "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", @@ -4518,23 +5666,20 @@ "unique-filename": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "7.18.3", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/cacache/node_modules/minipass": { - "version": "7.0.3", + "node_modules/cache-content-type": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", + "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", "dev": true, - "license": "ISC", + "dependencies": { + "mime-types": "^2.1.18", + "ylru": "^1.2.0" + }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 6.0.0" } }, "node_modules/call-bind": { @@ -4566,15 +5711,13 @@ "tslib": "^2.0.3" } }, - "node_modules/camelcase": { - "version": "7.0.1", + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 6" } }, "node_modules/caniuse-api": { @@ -4590,9 +5733,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001538", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz", - "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==", + "version": "1.0.30001576", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", + "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", "dev": true, "funding": [ { @@ -4621,8 +5764,9 @@ }, "node_modules/ccount": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4681,16 +5825,18 @@ }, "node_modules/char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/character-entities": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4698,8 +5844,9 @@ }, "node_modules/character-entities-html4": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4707,8 +5854,9 @@ }, "node_modules/character-entities-legacy": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4716,8 +5864,9 @@ }, "node_modules/character-reference-invalid": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -4770,8 +5919,9 @@ }, "node_modules/chownr": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } @@ -4782,7 +5932,9 @@ "license": "(BSD-3-Clause AND Apache-2.0)" }, "node_modules/ci-info": { - "version": "3.8.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz", + "integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==", "dev": true, "funding": [ { @@ -4790,23 +5942,24 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/citty": { - "version": "0.1.3", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.5.tgz", + "integrity": "sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==", "dev": true, - "license": "MIT", "dependencies": { "consola": "^3.2.3" } }, "node_modules/clean-stack": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -4820,115 +5973,60 @@ "node": "*" } }, - "node_modules/cli-boxes": { - "version": "3.0.0", + "node_modules/clear-module": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.1.2.tgz", + "integrity": "sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==", "dev": true, - "license": "MIT", + "dependencies": { + "parent-module": "^2.0.0", + "resolve-from": "^5.0.0" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/clear-module/node_modules/parent-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz", + "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==", + "dev": true, + "dependencies": { + "callsites": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clear-module/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/clipboardy": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", + "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", "dev": true, - "license": "MIT", "dependencies": { - "arch": "^2.2.0", - "execa": "^5.1.1", - "is-wsl": "^2.2.0" + "execa": "^8.0.1", + "is-wsl": "^3.1.0", + "is64bit": "^2.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/clipboardy/node_modules/execa": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/clipboardy/node_modules/execa/node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/clipboardy/node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/execa/node_modules/npm-run-path": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/clipboardy/node_modules/execa/node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/execa/node_modules/onetime/node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/clipboardy/node_modules/execa/node_modules/strip-final-newline": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/cliui": { "version": "8.0.1", "license": "ISC", @@ -4974,12 +6072,23 @@ }, "node_modules/cluster-key-slot": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=0.10.0" } }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, "node_modules/code-block-writer": { "version": "12.0.0", "license": "MIT" @@ -5000,8 +6109,9 @@ }, "node_modules/color-support": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true, - "license": "ISC", "bin": { "color-support": "bin.js" } @@ -5021,6 +6131,8 @@ "version": "1.0.8", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -5030,8 +6142,9 @@ }, "node_modules/comma-separated-tokens": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5053,8 +6166,9 @@ }, "node_modules/compress-commons": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-5.0.1.tgz", + "integrity": "sha512-MPh//1cERdLtqwO3pOFLeXtpuai0Y2WCd5AhtKxznqM7WtaMYaOEMSgn45d9D10sIHSfIKE603HlOp8OPGrvag==", "dev": true, - "license": "MIT", "dependencies": { "crc-32": "^1.2.0", "crc32-stream": "^5.0.0", @@ -5065,6 +6179,12 @@ "node": ">= 12.0.0" } }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true + }, "node_modules/concat-map": { "version": "0.0.1", "dev": true, @@ -5094,8 +6214,9 @@ }, "node_modules/console-control-strings": { "version": "1.1.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true }, "node_modules/constant-case": { "version": "3.0.4", @@ -5107,25 +6228,62 @@ "upper-case": "^2.0.2" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "license": "MIT" + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/cookie-es": { "version": "1.0.0", "dev": true, "license": "MIT" }, + "node_modules/cookies": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.9.1.tgz", + "integrity": "sha512-TG2hpqe4ELx54QER/S3HQ9SRVnQnGBtKUz5bLQWtYAQ+o6GpgMs6sYUvaiJjVxb+UXwhRhAEP3m7LbsIZ77Hmw==", + "dev": true, + "dependencies": { + "depd": "~2.0.0", + "keygrip": "~1.1.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/core-util-is": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "node_modules/crc-32": { "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", "dev": true, - "license": "Apache-2.0", "bin": { "crc32": "bin/crc32.njs" }, @@ -5135,8 +6293,9 @@ }, "node_modules/crc32-stream": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-5.0.0.tgz", + "integrity": "sha512-B0EPa1UK+qnpBZpG+7FgPCu0J2ETLpXq09o9BkLkEAhdB6Z61Qo4pJ3JYu0c+Qi+/SAL7QThqnzS06pmSSyZaw==", "dev": true, - "license": "MIT", "dependencies": { "crc-32": "^1.2.0", "readable-stream": "^3.4.0" @@ -5147,8 +6306,9 @@ }, "node_modules/create-require": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true }, "node_modules/cross-spawn": { "version": "7.0.3", @@ -5178,12 +6338,12 @@ } }, "node_modules/css-declaration-sorter": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.1.1.tgz", + "integrity": "sha512-dZ3bVTEEc1vxr3Bek9vGwfB5Z6ESPULhcRvO472mfjVnj8jRcTnKO8/JTczlvxM10Myb+wBM++1MtdO76eWcaQ==", "dev": true, "engines": { - "node": "^10 || ^12 || >=14" + "node": "^14 || ^16 || >=18" }, "peerDependencies": { "postcss": "^8.0.9" @@ -5247,13 +6407,13 @@ } }, "node_modules/cssnano": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.1.tgz", - "integrity": "sha512-fVO1JdJ0LSdIGJq68eIxOqFpIJrZqXUsBt8fkrBcztCQqAjQD51OhZp7tc0ImcbwXD4k7ny84QTV90nZhmqbkg==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.3.tgz", + "integrity": "sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw==", "dev": true, "dependencies": { - "cssnano-preset-default": "^6.0.1", - "lilconfig": "^2.1.0" + "cssnano-preset-default": "^6.0.3", + "lilconfig": "^3.0.0" }, "engines": { "node": "^14 || ^16 || >=18.0" @@ -5263,62 +6423,62 @@ "url": "https://opencollective.com/cssnano" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/cssnano-preset-default": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.1.tgz", - "integrity": "sha512-7VzyFZ5zEB1+l1nToKyrRkuaJIx0zi/1npjvZfbBwbtNTzhLtlvYraK/7/uqmX2Wb2aQtd983uuGw79jAjLSuQ==", - "dev": true, - "dependencies": { - "css-declaration-sorter": "^6.3.1", - "cssnano-utils": "^4.0.0", - "postcss-calc": "^9.0.0", - "postcss-colormin": "^6.0.0", - "postcss-convert-values": "^6.0.0", - "postcss-discard-comments": "^6.0.0", - "postcss-discard-duplicates": "^6.0.0", - "postcss-discard-empty": "^6.0.0", - "postcss-discard-overridden": "^6.0.0", - "postcss-merge-longhand": "^6.0.0", - "postcss-merge-rules": "^6.0.1", - "postcss-minify-font-values": "^6.0.0", - "postcss-minify-gradients": "^6.0.0", - "postcss-minify-params": "^6.0.0", - "postcss-minify-selectors": "^6.0.0", - "postcss-normalize-charset": "^6.0.0", - "postcss-normalize-display-values": "^6.0.0", - "postcss-normalize-positions": "^6.0.0", - "postcss-normalize-repeat-style": "^6.0.0", - "postcss-normalize-string": "^6.0.0", - "postcss-normalize-timing-functions": "^6.0.0", - "postcss-normalize-unicode": "^6.0.0", - "postcss-normalize-url": "^6.0.0", - "postcss-normalize-whitespace": "^6.0.0", - "postcss-ordered-values": "^6.0.0", - "postcss-reduce-initial": "^6.0.0", - "postcss-reduce-transforms": "^6.0.0", - "postcss-svgo": "^6.0.0", - "postcss-unique-selectors": "^6.0.0" + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.3.tgz", + "integrity": "sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^7.1.1", + "cssnano-utils": "^4.0.1", + "postcss-calc": "^9.0.1", + "postcss-colormin": "^6.0.2", + "postcss-convert-values": "^6.0.2", + "postcss-discard-comments": "^6.0.1", + "postcss-discard-duplicates": "^6.0.1", + "postcss-discard-empty": "^6.0.1", + "postcss-discard-overridden": "^6.0.1", + "postcss-merge-longhand": "^6.0.2", + "postcss-merge-rules": "^6.0.3", + "postcss-minify-font-values": "^6.0.1", + "postcss-minify-gradients": "^6.0.1", + "postcss-minify-params": "^6.0.2", + "postcss-minify-selectors": "^6.0.2", + "postcss-normalize-charset": "^6.0.1", + "postcss-normalize-display-values": "^6.0.1", + "postcss-normalize-positions": "^6.0.1", + "postcss-normalize-repeat-style": "^6.0.1", + "postcss-normalize-string": "^6.0.1", + "postcss-normalize-timing-functions": "^6.0.1", + "postcss-normalize-unicode": "^6.0.2", + "postcss-normalize-url": "^6.0.1", + "postcss-normalize-whitespace": "^6.0.1", + "postcss-ordered-values": "^6.0.1", + "postcss-reduce-initial": "^6.0.2", + "postcss-reduce-transforms": "^6.0.1", + "postcss-svgo": "^6.0.2", + "postcss-unique-selectors": "^6.0.2" }, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/cssnano-utils": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.0.tgz", - "integrity": "sha512-Z39TLP+1E0KUcd7LGyF4qMfu8ZufI0rDzhdyAMsa/8UyNUU8wpS0fhdBxbQbv32r64ea00h4878gommRVg2BHw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-4.0.1.tgz", + "integrity": "sha512-6qQuYDqsGoiXssZ3zct6dcMxiqfT6epy7x4R0TQJadd4LWO3sPR6JH6ZByOvVLoZ6EdwPGgd7+DR1EmX3tiXQQ==", "dev": true, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, "node_modules/csso": { @@ -5355,24 +6515,11 @@ "dev": true }, "node_modules/csstype": { - "version": "3.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/cuint": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true }, - "node_modules/data-uri-to-buffer": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, "node_modules/de-indent": { "version": "1.0.2", "dev": true, @@ -5396,8 +6543,9 @@ }, "node_modules/decode-named-character-reference": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", "dev": true, - "license": "MIT", "dependencies": { "character-entities": "^2.0.0" }, @@ -5406,249 +6554,136 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/decompress": { - "version": "4.2.1", + "node_modules/deep-eql": { + "version": "4.1.3", "dev": true, "license": "MIT", "dependencies": { - "decompress-tar": "^4.0.0", - "decompress-tarbz2": "^4.0.0", - "decompress-targz": "^4.0.0", - "decompress-unzip": "^4.0.1", - "graceful-fs": "^4.1.10", - "make-dir": "^1.0.0", - "pify": "^2.3.0", - "strip-dirs": "^2.0.0" + "type-detect": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/decompress-tar": { - "version": "4.1.1", + "node_modules/deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==", + "dev": true + }, + "node_modules/deep-is": { + "version": "0.1.4", "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^5.2.0", - "is-stream": "^1.1.0", - "tar-stream": "^1.5.2" - }, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/decompress-tar/node_modules/is-stream": { - "version": "1.1.0", + "node_modules/deepmerge": { + "version": "4.3.1", "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/decompress-tar/node_modules/tar-stream": { - "version": "1.6.2", + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", "dev": true, - "license": "MIT", "dependencies": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-tar/node_modules/tar-stream/node_modules/readable-stream": { - "version": "2.3.8", + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", "dev": true, - "license": "MIT", "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-tar/node_modules/tar-stream/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/decompress-tar/node_modules/tar-stream/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/decompress-tarbz2": { - "version": "4.1.1", + "node_modules/default-browser/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "license": "MIT", - "dependencies": { - "decompress-tar": "^4.1.0", - "file-type": "^6.1.0", - "is-stream": "^1.1.0", - "seek-bzip": "^1.0.5", - "unbzip2-stream": "^1.0.9" - }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/decompress-tarbz2/node_modules/file-type": { - "version": "6.2.0", + "node_modules/default-browser/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=4" + "node": ">=14.18.0" } }, - "node_modules/decompress-tarbz2/node_modules/is-stream": { - "version": "1.1.0", + "node_modules/default-browser/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/decompress-targz": { - "version": "4.1.1", + "node_modules/define-properties": { + "version": "1.2.0", "dev": true, "license": "MIT", "dependencies": { - "decompress-tar": "^4.1.1", - "file-type": "^5.2.0", - "is-stream": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-targz/node_modules/is-stream": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^3.8.0", - "get-stream": "^2.2.0", - "pify": "^2.3.0", - "yauzl": "^2.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/decompress-unzip/node_modules/file-type": { - "version": "3.9.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-unzip/node_modules/get-stream": { - "version": "2.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "object-assign": "^4.0.1", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-browser": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -5658,56 +6693,65 @@ } }, "node_modules/defu": { - "version": "6.1.2", - "dev": true, - "license": "MIT" + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "dev": true }, "node_modules/delayed-stream": { "version": "1.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=0.4.0" } }, "node_modules/delegates": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true }, "node_modules/denque": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=0.10" } }, "node_modules/depd": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/dequal": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/destr": { - "version": "2.0.1", - "dev": true, - "license": "MIT" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz", + "integrity": "sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==", + "dev": true }, "node_modules/destroy": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -5715,8 +6759,9 @@ }, "node_modules/detab": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/detab/-/detab-3.0.2.tgz", + "integrity": "sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5724,8 +6769,9 @@ }, "node_modules/detect-libc": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "dev": true, - "license": "Apache-2.0", "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -5740,8 +6786,9 @@ }, "node_modules/devlop": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", "dev": true, - "license": "MIT", "dependencies": { "dequal": "^2.0.0" }, @@ -5750,10 +6797,17 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, "node_modules/diff": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -5777,6 +6831,12 @@ "node": ">=8" } }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, "node_modules/doctrine": { "version": "3.0.0", "dev": true, @@ -5854,8 +6914,9 @@ }, "node_modules/dot-prop": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-8.0.2.tgz", + "integrity": "sha512-xaBe6ZT4DHPkg0k4Ytbvn5xoxgpG0jOS1dYxSOwAHPuNLjP3/OzN0gH55SrLqpx8cBfSaVt91lXYkApjb+nYdQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^3.8.0" }, @@ -5866,21 +6927,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/dot-prop/node_modules/type-fest": { - "version": "3.13.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/dotenv": { "version": "16.3.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", + "integrity": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=12" }, @@ -5905,13 +6956,15 @@ }, "node_modules/duplexer": { "version": "0.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true }, "node_modules/eastasianwidth": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true }, "node_modules/editorconfig": { "version": "1.0.4", @@ -5962,28 +7015,33 @@ }, "node_modules/ee-first": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.513", - "dev": true, - "license": "ISC" + "version": "1.4.630", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz", + "integrity": "sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==", + "dev": true }, "node_modules/emoji-regex": { "version": "9.2.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true }, "node_modules/emojilib": { "version": "2.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", + "dev": true }, "node_modules/emoticon": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", + "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -5991,29 +7049,23 @@ }, "node_modules/encodeurl": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/encoding": { "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, - "license": "MIT", "optional": true, "dependencies": { "iconv-lite": "^0.6.2" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/engine.io-client": { "version": "6.5.2", "dev": true, @@ -6080,41 +7132,34 @@ }, "node_modules/env-paths": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/err-code": { "version": "2.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/errno": { - "version": "0.1.8", - "dev": true, - "license": "MIT", - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true }, "node_modules/error-stack-parser-es": { "version": "0.1.1", + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-0.1.1.tgz", + "integrity": "sha512-g/9rfnvnagiNf+DRMHEVGuGuIBlCIMDFoTA616HaP2l9PlCjGjVhD98PNbVSJvmK4TttqT5mV5tInMhoFgi+aA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/esbuild": { - "version": "0.19.2", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -6122,28 +7167,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.19.2", - "@esbuild/android-arm64": "0.19.2", - "@esbuild/android-x64": "0.19.2", - "@esbuild/darwin-arm64": "0.19.2", - "@esbuild/darwin-x64": "0.19.2", - "@esbuild/freebsd-arm64": "0.19.2", - "@esbuild/freebsd-x64": "0.19.2", - "@esbuild/linux-arm": "0.19.2", - "@esbuild/linux-arm64": "0.19.2", - "@esbuild/linux-ia32": "0.19.2", - "@esbuild/linux-loong64": "0.19.2", - "@esbuild/linux-mips64el": "0.19.2", - "@esbuild/linux-ppc64": "0.19.2", - "@esbuild/linux-riscv64": "0.19.2", - "@esbuild/linux-s390x": "0.19.2", - "@esbuild/linux-x64": "0.19.2", - "@esbuild/netbsd-x64": "0.19.2", - "@esbuild/openbsd-x64": "0.19.2", - "@esbuild/sunos-x64": "0.19.2", - "@esbuild/win32-arm64": "0.19.2", - "@esbuild/win32-ia32": "0.19.2", - "@esbuild/win32-x64": "0.19.2" + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" } }, "node_modules/escalade": { @@ -6155,8 +7201,9 @@ }, "node_modules/escape-html": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true }, "node_modules/escape-string-regexp": { "version": "4.0.0", @@ -6268,17 +7315,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/esno": { - "version": "0.16.3", - "dev": true, - "license": "MIT", - "dependencies": { - "tsx": "^3.2.1" - }, - "bin": { - "esno": "esno.js" - } - }, "node_modules/espree": { "version": "9.6.1", "dev": true, @@ -6355,29 +7391,31 @@ }, "node_modules/etag": { "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/execa": { - "version": "7.2.0", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", "is-stream": "^3.0.0", "merge-stream": "^2.0.0", "npm-run-path": "^5.1.0", "onetime": "^6.0.0", - "signal-exit": "^3.0.7", + "signal-exit": "^4.1.0", "strip-final-newline": "^3.0.0" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" @@ -6385,13 +7423,15 @@ }, "node_modules/exponential-backoff": { "version": "3.1.1", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", + "dev": true }, "node_modules/extend": { "version": "3.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true }, "node_modules/externality": { "version": "1.0.2", @@ -6412,25 +7452,14 @@ }, "node_modules/fast-fifo": { "version": "1.3.2", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-folder-size": { - "version": "2.2.0", - "dev": true, - "hasInstallScript": true, - "license": "AWISC", - "dependencies": { - "decompress": "^4.2.1", - "https-proxy-agent": "^7.0.0" - }, - "bin": { - "fast-folder-size": "cli.js" - } + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "dev": true }, "node_modules/fast-glob": { - "version": "3.3.1", - "license": "MIT", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6469,36 +7498,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pend": "~1.2.0" - } - }, - "node_modules/fetch-blob": { - "version": "3.2.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "paypal", - "url": "https://paypal.me/jimmywarting" - } - ], - "license": "MIT", - "dependencies": { - "node-domexception": "^1.0.0", - "web-streams-polyfill": "^3.0.3" - }, - "engines": { - "node": "^12.20 || >= 14.13" - } - }, "node_modules/fflate": { "version": "0.8.0", "dev": true, @@ -6515,18 +7514,11 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-type": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/file-uri-to-path": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "dev": true }, "node_modules/fill-range": { "version": "7.0.1", @@ -6555,8 +7547,9 @@ }, "node_modules/flat": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } @@ -6575,14 +7568,16 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true }, "node_modules/focus-trap": { - "version": "7.5.2", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.5.4.tgz", + "integrity": "sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==", "dev": true, - "license": "MIT", "dependencies": { "tabbable": "^6.2.0" } @@ -6597,6 +7592,8 @@ } ], "license": "MIT", + "optional": true, + "peer": true, "engines": { "node": ">=4.0" }, @@ -6629,21 +7626,12 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/form-data": { "version": "4.0.0", "dev": true, "license": "MIT", + "optional": true, + "peer": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -6653,17 +7641,6 @@ "node": ">= 6" } }, - "node_modules/formdata-polyfill": { - "version": "4.0.10", - "dev": true, - "license": "MIT", - "dependencies": { - "fetch-blob": "^3.1.2" - }, - "engines": { - "node": ">=12.20.0" - } - }, "node_modules/fraction.js": { "version": "4.3.6", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.6.tgz", @@ -6679,17 +7656,13 @@ }, "node_modules/fresh": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/fs-extra": { "version": "11.1.1", "dev": true, @@ -6705,8 +7678,9 @@ }, "node_modules/fs-minipass": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dev": true, - "license": "ISC", "dependencies": { "minipass": "^7.0.3" }, @@ -6714,14 +7688,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "7.0.3", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, @@ -6753,27 +7719,42 @@ } }, "node_modules/gauge": { - "version": "4.0.4", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", "dev": true, - "license": "ISC", "dependencies": { "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", "string-width": "^4.2.3", "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "wide-align": "^1.1.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, + "node_modules/gauge/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/gauge/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/gauge/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -6783,11 +7764,6 @@ "node": ">=8" } }, - "node_modules/gauge/node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/gensync": { "version": "1.0.0-beta.2", "dev": true, @@ -6826,16 +7802,18 @@ } }, "node_modules/get-port-please": { - "version": "3.1.1", - "dev": true, - "license": "MIT" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", + "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", + "dev": true }, "node_modules/get-stream": { - "version": "6.0.1", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6852,88 +7830,72 @@ } }, "node_modules/giget": { - "version": "1.1.2", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.1.tgz", + "integrity": "sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==", "dev": true, - "license": "MIT", "dependencies": { - "colorette": "^2.0.19", - "defu": "^6.1.2", - "https-proxy-agent": "^5.0.1", - "mri": "^1.2.0", - "node-fetch-native": "^1.0.2", - "pathe": "^1.1.0", - "tar": "^6.1.13" + "citty": "^0.1.5", + "consola": "^3.2.3", + "defu": "^6.1.3", + "node-fetch-native": "^1.6.1", + "nypm": "^0.3.3", + "ohash": "^1.1.3", + "pathe": "^1.1.1", + "tar": "^6.2.0" }, "bin": { "giget": "dist/cli.mjs" } }, - "node_modules/giget/node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/giget/node_modules/https-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/git-config-path": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz", + "integrity": "sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/git-up": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz", + "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==", "dev": true, - "license": "MIT", "dependencies": { "is-ssh": "^1.4.0", "parse-url": "^8.1.0" } }, "node_modules/git-url-parse": { - "version": "13.1.0", + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.1.tgz", + "integrity": "sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==", "dev": true, - "license": "MIT", "dependencies": { "git-up": "^7.0.0" } }, "node_modules/github-slugger": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "dev": true }, "node_modules/glob": { - "version": "10.3.4", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, - "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -6975,23 +7937,16 @@ "balanced-match": "^1.0.0" } }, - "node_modules/glob/node_modules/minipass": { - "version": "7.0.3", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/global-dirs": { - "version": "3.0.1", + "node_modules/global-directory": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz", + "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==", "dev": true, - "license": "MIT", "dependencies": { - "ini": "2.0.0" + "ini": "4.1.1" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7063,8 +8018,9 @@ }, "node_modules/gzip-size": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz", + "integrity": "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==", "dev": true, - "license": "MIT", "dependencies": { "duplexer": "^0.1.2" }, @@ -7076,18 +8032,19 @@ } }, "node_modules/h3": { - "version": "1.8.1", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.10.0.tgz", + "integrity": "sha512-Tw1kcIC+AeimwRmviiObaD5EB430Yt+lTgOxLJxNr96Vd/fGRu04EF7aKfOAcpwKCI+U2JlbxOLhycD86p3Ciw==", "dev": true, - "license": "MIT", "dependencies": { "cookie-es": "^1.0.0", - "defu": "^6.1.2", - "destr": "^2.0.1", - "iron-webcrypto": "^0.8.0", + "defu": "^6.1.3", + "destr": "^2.0.2", + "iron-webcrypto": "^1.0.0", "radix3": "^1.1.0", - "ufo": "^1.3.0", + "ufo": "^1.3.2", "uncrypto": "^0.1.3", - "unenv": "^1.7.4" + "unenv": "^1.8.0" } }, "node_modules/handlebars": { @@ -7191,8 +8148,9 @@ }, "node_modules/has-unicode": { "version": "2.0.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true }, "node_modules/hash-sum": { "version": "2.0.0", @@ -7200,16 +8158,18 @@ "license": "MIT" }, "node_modules/hast-util-from-parse5": { - "version": "7.1.2", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "hastscript": "^7.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", "property-information": "^6.0.0", - "vfile": "^5.0.0", - "vfile-location": "^4.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" }, "funding": { @@ -7217,680 +8177,769 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-parse5/node_modules/@types/hast": { - "version": "2.3.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/hast-util-from-parse5/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/hast-util-from-parse5/node_modules/vfile": { - "version": "5.3.7", + "node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-parse5/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-from-parse5/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "@types/hast": "^3.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-has-property": { - "version": "2.0.1", + "node_modules/hast-util-raw": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.1.tgz", + "integrity": "sha512-5m1gmba658Q+lO5uqL5YNGQWeh1MYWZbZmWrM5lncdcuiXuo5E2HT/CIOp0rLF8ksfSwiCVJ3twlgVRyTGThGA==", "dev": true, - "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-heading-rank": { - "version": "2.1.1", + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0" + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-heading-rank/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-heading-rank/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/hast-util-is-element": { - "version": "2.1.3", + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0" + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/hast-util-is-element/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/he": { + "version": "1.2.0", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/header-case": { + "version": "2.0.4", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2" + "capital-case": "^1.0.4", + "tslib": "^2.0.3" } }, - "node_modules/hast-util-is-element/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/hookable": { + "version": "5.5.3", "dev": true, "license": "MIT" }, - "node_modules/hast-util-parse-selector": { - "version": "3.1.1", + "node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0" + "lru-cache": "^10.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/hast-util-parse-selector/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/html-tags": { + "version": "3.3.1", "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hast-util-parse-selector/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", "dev": true, - "license": "MIT" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/hast-util-raw": { - "version": "7.2.3", + "node_modules/http-assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz", + "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0", - "@types/parse5": "^6.0.0", - "hast-util-from-parse5": "^7.0.0", - "hast-util-to-parse5": "^7.0.0", - "html-void-elements": "^2.0.0", - "parse5": "^6.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" + "deep-equal": "~1.0.1", + "http-errors": "~1.8.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.8" } }, - "node_modules/hast-util-raw/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/http-assert/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" + "engines": { + "node": ">= 0.6" } }, - "node_modules/hast-util-raw/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/hast-util-raw/node_modules/unist-util-position": { - "version": "4.0.4", + "node_modules/http-assert/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.6" } }, - "node_modules/hast-util-raw/node_modules/unist-util-position/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/http-assert/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 0.6" + } }, - "node_modules/hast-util-raw/node_modules/unist-util-visit": { - "version": "4.1.2", + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.8" } }, - "node_modules/hast-util-raw/node_modules/unist-util-visit/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/hast-util-raw/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 14" } }, - "node_modules/hast-util-raw/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", + "node_modules/http-proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "debug": "^4.3.4" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 14" } }, - "node_modules/hast-util-raw/node_modules/vfile": { - "version": "5.3.7", + "node_modules/http-shutdown": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", + "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "agent-base": "6", + "debug": "4" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 6" } }, - "node_modules/hast-util-raw/node_modules/vfile/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/httpxy": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/httpxy/-/httpxy-0.1.5.tgz", + "integrity": "sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==", + "dev": true + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=16.17.0" + } }, - "node_modules/hast-util-raw/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/iconv-lite": { + "version": "0.6.3", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/hast-util-raw/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 4" } }, - "node_modules/hast-util-to-parse5": { - "version": "7.1.0", + "node_modules/ignore-walk": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", + "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "web-namespaces": "^2.0.0", - "zwitch": "^2.0.0" + "minimatch": "^9.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/hast-util-to-parse5/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "balanced-match": "^1.0.0" } }, - "node_modules/hast-util-to-parse5/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/hast-util-to-string": { - "version": "3.0.0", + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0" + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/hastscript": { - "version": "7.2.0", + "node_modules/image-meta": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.2.0.tgz", + "integrity": "sha512-ZBGjl0ZMEMeOC3Ns0wUF/5UdUmr3qQhBSCniT0LxOgGGIRHiNFOkMtIHB7EOznRU47V2AxPgiVP+s+0/UCU0Hg==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", "dev": true, "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^3.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hastscript/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/imurmurhash": { + "version": "0.1.4", "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2" + "engines": { + "node": ">=0.8.19" } }, - "node_modules/hastscript/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=8" + } }, - "node_modules/he": { - "version": "1.2.0", + "node_modules/inflight": { + "version": "1.0.6", "dev": true, - "license": "MIT", - "bin": { - "he": "bin/he" + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/header-case": { + "node_modules/inherits": { "version": "2.0.4", "dev": true, - "license": "MIT", - "dependencies": { - "capital-case": "^1.0.4", - "tslib": "^2.0.3" - } + "license": "ISC" }, - "node_modules/hookable": { - "version": "5.5.3", + "node_modules/ini": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", + "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", "dev": true, - "license": "MIT" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "node_modules/hosted-git-info": { - "version": "6.1.1", + "node_modules/ioredis": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.3.2.tgz", + "integrity": "sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==", "dev": true, - "license": "ISC", "dependencies": { - "lru-cache": "^7.5.1" + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" } }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.18.3", + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/iron-webcrypto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz", + "integrity": "sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==", "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" + "funding": { + "url": "https://github.com/sponsors/brc-dd" } }, - "node_modules/html-tags": { - "version": "3.3.1", + "node_modules/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-void-elements": { + "node_modules/is-alphabetical": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/http-errors": { - "version": "2.0.0", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", "dev": true, "license": "MIT", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", + "node_modules/is-binary-path": { + "version": "2.1.0", "dev": true, "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/http-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", + "node_modules/is-builtin-module": { + "version": "3.2.1", "dev": true, "license": "MIT", "dependencies": { - "debug": "4" + "builtin-modules": "^3.3.0" }, "engines": { - "node": ">= 6.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/http-shutdown": { - "version": "1.2.2", + "node_modules/is-callable": { + "version": "1.2.7", "dev": true, "license": "MIT", "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/https-proxy-agent": { - "version": "7.0.2", + "node_modules/is-core-module": { + "version": "2.13.0", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" + "has": "^1.0.3" }, - "engines": { - "node": ">= 14" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/httpxy": { - "version": "0.1.5", + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", "dev": true, - "license": "MIT" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } }, - "node_modules/human-signals": { - "version": "4.3.1", + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, - "license": "Apache-2.0", + "bin": { + "is-docker": "cli.js" + }, "engines": { - "node": ">=14.18.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "dev": true, + "node_modules/is-extglob": { + "version": "2.1.1", "license": "MIT", - "dependencies": { - "ms": "^2.0.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/humanize-ms/node_modules/ms": { - "version": "2.1.3", - "dev": true, - "license": "MIT" + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/iconv-lite": { - "version": "0.6.3", + "node_modules/is-generator-function": { + "version": "1.0.10", "dev": true, "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.2.4", - "dev": true, + "node_modules/is-glob": { + "version": "4.0.3", "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, "engines": { - "node": ">= 4" + "node": ">=0.10.0" } }, - "node_modules/ignore-walk": { - "version": "6.0.3", + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", "dev": true, - "license": "ISC", - "dependencies": { - "minimatch": "^9.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.3", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ignore-walk/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/is-installed-globally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz", + "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==", "dev": true, - "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "global-directory": "^4.0.1", + "is-path-inside": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/image-meta": { - "version": "0.1.1", + "node_modules/is-installed-globally/node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=10.18.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-fresh": { - "version": "3.3.0", + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-module": { + "version": "1.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/is-nan": { + "version": "1.3.2", "dev": true, "license": "MIT", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, + "node_modules/is-number": { + "version": "7.0.0", "license": "MIT", "engines": { - "node": ">=0.8.19" + "node": ">=0.12.0" } }, - "node_modules/indent-string": { - "version": "4.0.0", + "node_modules/is-path-inside": { + "version": "3.0.3", "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/inflight": { - "version": "1.0.6", + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/inherits": { - "version": "2.0.4", - "dev": true, - "license": "ISC" - }, - "node_modules/ini": { - "version": "2.0.0", + "node_modules/is-primitive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", + "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==", "dev": true, - "license": "ISC", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/ioredis": { - "version": "5.3.2", + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true + }, + "node_modules/is-reference": { + "version": "1.2.1", "dev": true, "license": "MIT", "dependencies": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" + "@types/estree": "*" } }, - "node_modules/ip": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/iron-webcrypto": { - "version": "0.8.2", + "node_modules/is-ssh": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz", + "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/brc-dd" + "dependencies": { + "protocols": "^2.0.1" } }, - "node_modules/is-absolute-url": { - "version": "4.0.1", + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -7898,35 +8947,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", + "node_modules/is-typed-array": { + "version": "1.1.12", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -7935,546 +8961,438 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", "dev": true, - "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=4" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-builtin-module": { - "version": "3.2.1", + "node_modules/is64bit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", + "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", "dev": true, - "license": "MIT", "dependencies": { - "builtin-modules": "^3.3.0" + "system-architecture": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-callable": { - "version": "1.2.7", + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "ISC" }, - "node_modules/is-core-module": { - "version": "2.13.0", + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", "dev": true, - "license": "MIT", "dependencies": { - "has": "^1.0.3" + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/is-decimal": { - "version": "2.0.1", + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "bin": { + "jiti": "bin/jiti.js" } }, - "node_modules/is-docker": { - "version": "3.0.0", + "node_modules/js-beautify": { + "version": "1.14.9", "dev": true, "license": "MIT", - "bin": { - "is-docker": "cli.js" + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.3", + "glob": "^8.1.0", + "nopt": "^6.0.0" }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", + "node_modules/js-beautify/node_modules/glob": { + "version": "8.1.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "has-tostringtag": "^1.0.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "license": "MIT", + "node_modules/js-beautify/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", "dependencies": { - "is-extglob": "^2.1.1" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/is-hexadecimal": { + "node_modules/js-beautify/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { "version": "2.0.1", "dev": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^3.0.0" + "argparse": "^2.0.1" }, "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/is-installed-globally": { - "version": "0.4.0", + "node_modules/jsesc": { + "version": "2.5.2", "dev": true, "license": "MIT", - "dependencies": { - "global-dirs": "^3.0.0", - "is-path-inside": "^3.0.2" + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=4" } }, - "node_modules/is-lambda": { - "version": "1.0.1", + "node_modules/json-buffer": { + "version": "3.0.1", "dev": true, "license": "MIT" }, - "node_modules/is-module": { - "version": "1.0.0", + "node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", "dev": true, "license": "MIT" }, - "node_modules/is-nan": { - "version": "1.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-natural-number": { - "version": "4.0.1", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", "dev": true, "license": "MIT" }, - "node_modules/is-number": { - "version": "7.0.0", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", + "node_modules/json5": { + "version": "2.2.3", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" + "bin": { + "json5": "lib/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-primitive": { - "version": "3.0.1", - "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/is-promise": { - "version": "4.0.0", - "dev": true, + "node_modules/jsonc-parser": { + "version": "3.2.0", "license": "MIT" }, - "node_modules/is-reference": { - "version": "1.2.1", + "node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "*" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/is-ssh": { - "version": "1.4.0", + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, - "license": "MIT", - "dependencies": { - "protocols": "^2.0.1" - } + "engines": [ + "node >= 0.2.0" + ] }, - "node_modules/is-stream": { - "version": "3.0.0", + "node_modules/keygrip": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", + "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "dependencies": { + "tsscmp": "1.0.6" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.6" } }, - "node_modules/is-typed-array": { - "version": "1.1.12", + "node_modules/keyv": { + "version": "4.5.3", "dev": true, "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "json-buffer": "3.0.1" } }, - "node_modules/is-wsl": { - "version": "2.2.0", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/is-wsl/node_modules/is-docker": { - "version": "2.2.1", + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 8" } }, - "node_modules/isarray": { + "node_modules/knitwork": { "version": "1.0.0", "dev": true, "license": "MIT" }, - "node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/jackspeak": { - "version": "2.3.3", + "node_modules/koa": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/koa/-/koa-2.15.0.tgz", + "integrity": "sha512-KEL/vU1knsoUvfP4MC4/GthpQrY/p6dzwaaGI6Rt4NQuFqkw3qrvsdYF5pz3wOfi7IGTvMPHC9aZIcUKYFNxsw==", "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "accepts": "^1.3.5", + "cache-content-type": "^1.0.0", + "content-disposition": "~0.5.2", + "content-type": "^1.0.4", + "cookies": "~0.9.0", + "debug": "^4.3.2", + "delegates": "^1.0.0", + "depd": "^2.0.0", + "destroy": "^1.0.4", + "encodeurl": "^1.0.2", + "escape-html": "^1.0.3", + "fresh": "~0.5.2", + "http-assert": "^1.3.0", + "http-errors": "^1.6.3", + "is-generator-function": "^1.0.7", + "koa-compose": "^4.1.0", + "koa-convert": "^2.0.0", + "on-finished": "^2.3.0", + "only": "~0.0.2", + "parseurl": "^1.3.2", + "statuses": "^1.5.0", + "type-is": "^1.6.16", + "vary": "^1.1.2" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" + "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4" } }, - "node_modules/jiti": { - "version": "1.20.0", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } + "node_modules/koa-compose": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", + "dev": true }, - "node_modules/joi": { - "version": "17.10.1", + "node_modules/koa-convert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz", + "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.1", - "@sideway/pinpoint": "^2.0.0" + "co": "^4.6.0", + "koa-compose": "^4.1.0" + }, + "engines": { + "node": ">= 10" } }, - "node_modules/js-beautify": { - "version": "1.14.9", + "node_modules/koa-send": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz", + "integrity": "sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==", "dev": true, - "license": "MIT", "dependencies": { - "config-chain": "^1.1.13", - "editorconfig": "^1.0.3", - "glob": "^8.1.0", - "nopt": "^6.0.0" - }, - "bin": { - "css-beautify": "js/bin/css-beautify.js", - "html-beautify": "js/bin/html-beautify.js", - "js-beautify": "js/bin/js-beautify.js" + "debug": "^4.1.1", + "http-errors": "^1.7.3", + "resolve-path": "^1.4.0" }, "engines": { - "node": ">=12" + "node": ">= 8" } }, - "node_modules/js-beautify/node_modules/glob": { - "version": "8.1.0", + "node_modules/koa-send/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">= 0.6" } }, - "node_modules/js-beautify/node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", + "node_modules/koa-send/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/js-beautify/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/koa-send/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/js-tokens": { - "version": "4.0.0", + "node_modules/koa-static": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz", + "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==", "dev": true, - "license": "MIT" + "dependencies": { + "debug": "^3.1.0", + "koa-send": "^5.0.0" + }, + "engines": { + "node": ">= 7.6.0" + } }, - "node_modules/js-yaml": { - "version": "4.1.0", + "node_modules/koa-static/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "license": "MIT", "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "ms": "^2.1.1" } }, - "node_modules/jsesc": { - "version": "2.5.2", + "node_modules/koa/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/json-buffer": { - "version": "3.0.1", + "node_modules/koa/node_modules/http-errors/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 0.6" + } }, - "node_modules/json-parse-even-better-errors": { - "version": "3.0.0", + "node_modules/koa/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 0.6" } }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", + "node_modules/kolorist": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", + "dev": true + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", "dev": true, - "license": "MIT" + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } }, - "node_modules/json-stable-stringify-without-jsonify": { + "node_modules/lazystream": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "license": "MIT" - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/knitwork": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/kolorist": { - "version": "1.8.0", - "dev": true, - "license": "MIT" - }, - "node_modules/launch-editor": { - "version": "2.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "^2.0.5" }, @@ -8484,8 +9402,9 @@ }, "node_modules/lazystream/node_modules/readable-stream": { "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8496,15 +9415,17 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/lazystream/node_modules/readable-stream/node_modules/safe-buffer": { + "node_modules/lazystream/node_modules/safe-buffer": { "version": "5.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, - "node_modules/lazystream/node_modules/readable-stream/node_modules/string_decoder": { + "node_modules/lazystream/node_modules/string_decoder": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" } @@ -8522,34 +9443,42 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, "node_modules/listhen": { - "version": "1.5.0", + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.5.6.tgz", + "integrity": "sha512-gTpEJhT5L85L0bFgmu+Boqu5rP4DwDtEb4Exq5gdQUxWRwx4jbzdInZkmyLONo5EwIcQB0k7ZpWlpCDPdL77EQ==", "dev": true, - "license": "MIT", "dependencies": { "@parcel/watcher": "^2.3.0", "@parcel/watcher-wasm": "2.3.0", - "citty": "^0.1.3", - "clipboardy": "^3.0.0", + "citty": "^0.1.5", + "clipboardy": "^4.0.0", "consola": "^3.2.3", - "defu": "^6.1.2", - "get-port-please": "^3.1.1", - "h3": "^1.8.1", + "defu": "^6.1.4", + "get-port-please": "^3.1.2", + "h3": "^1.10.0", "http-shutdown": "^1.2.2", - "jiti": "^1.20.0", + "jiti": "^1.21.0", "mlly": "^1.4.2", "node-forge": "^1.3.1", "pathe": "^1.1.1", - "ufo": "^1.3.0", - "untun": "^0.1.2", + "std-env": "^3.7.0", + "ufo": "^1.3.2", + "untun": "^0.1.3", "uqr": "^0.1.2" }, "bin": { @@ -8600,13 +9529,15 @@ }, "node_modules/lodash.defaults": { "version": "4.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "dev": true }, "node_modules/lodash.isarguments": { "version": "3.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "dev": true }, "node_modules/lodash.memoize": { "version": "4.1.2", @@ -8650,8 +9581,9 @@ }, "node_modules/longest-streak": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -8674,9 +9606,10 @@ } }, "node_modules/lru-cache": { - "version": "10.0.1", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", "dev": true, - "license": "ISC", "engines": { "node": "14 || >=16.14" } @@ -8687,9 +9620,10 @@ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" }, "node_modules/magic-string": { - "version": "0.30.3", + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -8699,8 +9633,9 @@ }, "node_modules/magic-string-ast": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-0.3.0.tgz", + "integrity": "sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==", "dev": true, - "license": "MIT", "dependencies": { "magic-string": "^0.30.2" }, @@ -8709,94 +9644,67 @@ } }, "node_modules/magicast": { - "version": "0.2.10", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", + "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "recast": "^0.23.3" + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "source-map-js": "^1.0.2" } }, "node_modules/make-dir": { - "version": "1.3.0", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "license": "MIT", "dependencies": { - "pify": "^3.0.0" + "semver": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/pify": { - "version": "3.0.0", + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "bin": { + "semver": "bin/semver.js" } }, "node_modules/make-fetch-happen": { - "version": "11.1.1", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", "dev": true, - "license": "ISC", "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", + "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", "ssri": "^10.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/make-fetch-happen/node_modules/https-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.18.3", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/markdown-table": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -8813,76 +9721,11 @@ "node": ">= 12" } }, - "node_modules/mdast-util-definitions": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions/node_modules/@types/mdast": { - "version": "3.0.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/mdast-util-definitions/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-definitions/node_modules/unist-util-visit": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdast-util-find-and-replace": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", "dev": true, - "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", @@ -8896,8 +9739,9 @@ }, "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -8907,8 +9751,9 @@ }, "node_modules/mdast-util-from-markdown": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", "dev": true, - "license": "MIT", "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", @@ -8929,17 +9774,18 @@ } }, "node_modules/mdast-util-gfm": { - "version": "2.0.2", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", "dev": true, - "license": "MIT", "dependencies": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", @@ -8947,115 +9793,202 @@ } }, "node_modules/mdast-util-gfm-autolink-literal": { - "version": "1.0.3", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", + "@types/mdast": "^4.0.0", "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/@types/mdast": { - "version": "3.0.12", + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/@types/mdast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/mdast-util-find-and-replace": { - "version": "2.2.2", + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dev": true, + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/mdast-util-find-and-replace/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/mdast-util-find-and-replace/node_modules/unist-util-is/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/mdast-util-phrasing": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.0.0.tgz", + "integrity": "sha512-xadSsJayQIucJ9n053dfQwVu1kuXg7jCTdYsMK8rqzKZh52nLfSH/k0sAxE0u+pj/zKZX+o5wB+ML5mRayOxFA==", "dev": true, - "license": "MIT" + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/mdast-util-find-and-replace/node_modules/unist-util-visit-parents": { - "version": "5.1.3", + "node_modules/mdast-util-to-hast": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", + "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/mdast-util-find-and-replace/node_modules/unist-util-visit-parents/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", "dev": true, - "license": "MIT" + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", "dev": true, "funding": [ { @@ -9067,10 +10000,30 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", "dev": true, "funding": [ { @@ -9082,98 +10035,150 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } }, - "node_modules/mdast-util-gfm-footnote": { - "version": "1.0.2", + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/@types/mdast": { - "version": "3.0.12", + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/@types/mdast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown": { - "version": "1.5.0", + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", "dev": true, - "license": "MIT" + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing": { - "version": "3.0.1", + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { - "version": "3.2.0", + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0" + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string": { - "version": "1.1.0", + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", "dev": true, "funding": [ { @@ -9185,16 +10190,16 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", "dev": true, "funding": [ { @@ -9206,14 +10211,17 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", "dev": true, "funding": [ { @@ -9225,11 +10233,16 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "dev": true, + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "dev": true, "funding": [ { "type": "GitHub Sponsors", @@ -9240,13 +10253,17 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", "dev": true, "funding": [ { @@ -9258,49 +10275,17 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", - "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", + "node_modules/micromark-util-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz", + "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==", "dev": true, "funding": [ { @@ -9312,13 +10297,15 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-footnote/node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", "dev": true, "funding": [ { @@ -9330,97 +10317,14 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/@types/mdast": { - "version": "3.0.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/@types/mdast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing/node_modules/unist-util-is": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { - "version": "3.2.0", - "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string": { - "version": "1.1.0", + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", "dev": true, "funding": [ { @@ -9432,16 +10336,16 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", "dev": true, "funding": [ { @@ -9453,14 +10357,15 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", "dev": true, "funding": [ { @@ -9472,10 +10377,14 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT" + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", "dev": true, "funding": [ { @@ -9487,13 +10396,17 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", "dev": true, "funding": [ { @@ -9504,118 +10417,12 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table/node_modules/@types/mdast": { - "version": "3.0.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/mdast-util-gfm-table/node_modules/@types/mdast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown": { - "version": "1.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + ] }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark": { - "version": "3.2.0", + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", "dev": true, "funding": [ { @@ -9626,30 +10433,12 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", "dev": true, "funding": [ { @@ -9661,13 +10450,14 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-string": { - "version": "1.1.0", + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", "dev": true, "funding": [ { @@ -9679,16 +10469,14 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", "dev": true, "funding": [ { @@ -9700,14 +10488,16 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", + "node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", "dev": true, "funding": [ { @@ -9719,13 +10509,17 @@ "url": "https://opencollective.com/unified" } ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", "dev": true, "funding": [ { @@ -9736,11 +10530,12 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ], - "license": "MIT" + ] }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", "dev": true, "funding": [ { @@ -9751,3288 +10546,833 @@ "type": "OpenCollective", "url": "https://opencollective.com/unified" } - ], - "license": "MIT" + ] }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], + "node_modules/micromatch": { + "version": "4.0.5", "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-destination": { - "version": "1.1.0", + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-label": { - "version": "1.1.0", + "node_modules/mime-db": { + "version": "1.52.0", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-title": { - "version": "1.1.0", + "node_modules/mime-types": { + "version": "2.1.35", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], "license": "MIT", "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-whitespace": { - "version": "1.1.0", + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-util-classify-character": { - "version": "1.1.0", + "node_modules/minimatch": { + "version": "3.1.2", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", + "license": "ISC", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "engines": { + "node": ">=16 || 14 >=14.17" + } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-factory-space": { - "version": "1.1.0", + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-chunked": { - "version": "1.1.0", + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-encode": { - "version": "1.1.0", + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-resolve-all": { - "version": "1.1.0", + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-types": "^1.0.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-subtokenize": { - "version": "1.1.0", + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "minipass": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown": { - "version": "1.5.0", + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" + "yallist": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" + "node_modules/minisearch": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-6.3.0.tgz", + "integrity": "sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==", + "dev": true }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing": { - "version": "3.0.1", + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "yallist": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { - "version": "3.2.0", - "dev": true, + "node_modules/mkdirp": { + "version": "2.1.6", "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0" + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string": { - "version": "1.1.0", + "node_modules/mkdist": { + "version": "1.3.0", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], "license": "MIT", "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "citty": "^0.1.2", + "defu": "^6.1.2", + "esbuild": "^0.18.14", + "fs-extra": "^11.1.1", + "globby": "^13.2.2", + "jiti": "^1.19.1", + "mlly": "^1.4.0", + "mri": "^1.2.0", + "pathe": "^1.1.1" + }, + "bin": { + "mkdist": "dist/cli.cjs" + }, + "peerDependencies": { + "sass": "^1.63.6", + "typescript": ">=5.1.6" + }, + "peerDependenciesMeta": { + "sass": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/mkdist/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "android" ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/mkdist/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "android" ], - "license": "MIT" + "engines": { + "node": ">=12" + } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", + "node_modules/mkdist/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "android" ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/mkdist/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "darwin" ], - "license": "MIT" + "engines": { + "node": ">=12" + } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { - "version": "4.1.2", + "node_modules/mkdist/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/mkdist/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-table/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", + "node_modules/mkdist/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "1.0.2", + "node_modules/mkdist/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/@types/mdast": { - "version": "3.0.12", + "node_modules/mkdist/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/@types/mdast/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/mkdist/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown": { - "version": "1.5.0", + "node_modules/mkdist/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/mkdist/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing": { - "version": "3.0.1", + "node_modules/mkdist/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/mkdist/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { - "version": "3.2.0", + "node_modules/mkdist/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string": { - "version": "1.1.0", + "node_modules/mkdist/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "netbsd" ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/mkdist/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "openbsd" ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/mkdist/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "sunos" ], - "license": "MIT" + "engines": { + "node": ">=12" + } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", + "node_modules/mkdist/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "win32" ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/mkdist/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } + "optional": true, + "os": [ + "win32" ], - "license": "MIT" + "engines": { + "node": ">=12" + } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { - "version": "4.1.2", + "node_modules/mkdist/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/mkdist/node_modules/esbuild": { + "version": "0.18.20", "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" + "bin": { + "esbuild": "bin/esbuild" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" } }, - "node_modules/mdast-util-gfm-task-list-item/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", + "node_modules/mkdist/node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown": { - "version": "1.3.1", + "node_modules/mlly": { + "version": "1.4.2", "dev": true, "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "acorn": "^8.10.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.3.0" } }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/@types/mdast": { - "version": "3.0.12", + "node_modules/mri": { + "version": "1.2.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2" + "engines": { + "node": ">=4" } }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": { - "version": "3.2.0", + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=10" } }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark": { - "version": "3.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", + "node_modules/ms": { + "version": "2.1.2", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } + "license": "MIT" }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-string": { - "version": "1.1.0", + "node_modules/muggle-string": { + "version": "0.2.2", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } + "license": "MIT" }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", + "node_modules/nanoid": { + "version": "4.0.2", "dev": true, "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^14 || ^16 || >=18" } }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/natural-compare": { + "version": "1.4.0", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], "license": "MIT" }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/natural-compare-lite": { + "version": "1.4.0", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], "license": "MIT" }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-destination": { - "version": "1.1.0", + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "engines": { + "node": ">= 0.6" } }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-label": { - "version": "1.1.0", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/nitropack": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/nitropack/-/nitropack-2.8.1.tgz", + "integrity": "sha512-pODv2kEEzZSDQR+1UMXbGyNgMedUDq/qUomtiAnQKQvLy52VGlecXO1xDfH3i0kP1yKEcKTnWsx1TAF5gHM7xQ==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-title": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-factory-space": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-character": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-chunked": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-encode": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown": { - "version": "1.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/@types/mdast": { - "version": "3.0.12", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/mdast-util-phrasing/node_modules/unist-util-is": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm/node_modules/mdast-util-to-markdown/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "dev": true - }, - "node_modules/mdurl": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/memory-fs": { - "version": "0.5.0", - "dev": true, - "license": "MIT", - "dependencies": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - }, - "engines": { - "node": ">=4.3.0 <5.0.0 || >=5.10" - } - }, - "node_modules/memory-fs/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/memory-fs/node_modules/readable-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/memory-fs/node_modules/readable-stream/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromark": { - "version": "4.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^1.0.0", - "micromark-extension-gfm-footnote": "^1.0.0", - "micromark-extension-gfm-strikethrough": "^1.0.0", - "micromark-extension-gfm-table": "^1.0.0", - "micromark-extension-gfm-tagfilter": "^1.0.0", - "micromark-extension-gfm-task-list-item": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-encode": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-types": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "1.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-core-commonmark": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-factory-destination": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-factory-label": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-factory-title": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-util-chunked": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-core-commonmark/node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-encode": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-types": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "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.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-chunked": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-types": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-table": { - "version": "1.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-types": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter/node_modules/micromark-util-types": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { - "version": "1.2.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-types": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm/node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm/node_modules/micromark-util-combine-extensions/node_modules/micromark-util-chunked": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-extension-gfm/node_modules/micromark-util-combine-extensions/node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-extension-gfm/node_modules/micromark-util-types": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.0.1", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.5", - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "5.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-fetch": { - "version": "3.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.0.3", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "2.1.6", - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/mkdist": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "citty": "^0.1.2", - "defu": "^6.1.2", - "esbuild": "^0.18.14", - "fs-extra": "^11.1.1", - "globby": "^13.2.2", - "jiti": "^1.19.1", - "mlly": "^1.4.0", - "mri": "^1.2.0", - "pathe": "^1.1.1" - }, - "bin": { - "mkdist": "dist/cli.cjs" - }, - "peerDependencies": { - "sass": "^1.63.6", - "typescript": ">=5.1.6" - }, - "peerDependenciesMeta": { - "sass": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/mkdist/node_modules/esbuild": { - "version": "0.18.20", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "node_modules/mkdist/node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/mlly": { - "version": "1.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.10.0", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "ufo": "^1.3.0" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mrmime": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/muggle-string": { - "version": "0.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "4.0.2", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.js" - }, - "engines": { - "node": "^14 || ^16 || >=18" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" - }, - "node_modules/nitropack": { - "version": "2.6.3", - "dev": true, - "license": "MIT", "dependencies": { "@cloudflare/kv-asset-handler": "^0.3.0", - "@netlify/functions": "^2.0.2", - "@rollup/plugin-alias": "^5.0.0", - "@rollup/plugin-commonjs": "^25.0.4", - "@rollup/plugin-inject": "^5.0.3", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.2.1", - "@rollup/plugin-replace": "^5.0.2", - "@rollup/plugin-terser": "^0.4.3", - "@rollup/plugin-wasm": "^6.1.3", - "@rollup/pluginutils": "^5.0.4", - "@types/http-proxy": "^1.17.11", - "@vercel/nft": "^0.23.1", + "@netlify/functions": "^2.4.0", + "@rollup/plugin-alias": "^5.1.0", + "@rollup/plugin-commonjs": "^25.0.7", + "@rollup/plugin-inject": "^5.0.5", + "@rollup/plugin-json": "^6.0.1", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^5.0.5", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-wasm": "^6.2.2", + "@rollup/pluginutils": "^5.0.5", + "@types/http-proxy": "^1.17.14", + "@vercel/nft": "^0.24.3", "archiver": "^6.0.1", - "c12": "^1.4.2", + "c12": "^1.5.1", "chalk": "^5.3.0", "chokidar": "^3.5.3", - "citty": "^0.1.3", + "citty": "^0.1.5", "consola": "^3.2.3", "cookie-es": "^1.0.0", - "defu": "^6.1.2", - "destr": "^2.0.1", + "defu": "^6.1.3", + "destr": "^2.0.2", "dot-prop": "^8.0.2", - "esbuild": "^0.19.2", + "esbuild": "^0.19.8", "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", "etag": "^1.8.1", - "fs-extra": "^11.1.1", - "globby": "^13.2.2", + "fs-extra": "^11.2.0", + "globby": "^14.0.0", "gzip-size": "^7.0.0", - "h3": "^1.8.1", + "h3": "^1.9.0", "hookable": "^5.5.3", - "httpxy": "^0.1.4", + "httpxy": "^0.1.5", "is-primitive": "^3.0.1", - "jiti": "^1.20.0", + "jiti": "^1.21.0", "klona": "^2.0.6", "knitwork": "^1.0.0", - "listhen": "^1.4.8", - "magic-string": "^0.30.3", + "listhen": "^1.5.5", + "magic-string": "^0.30.5", "mime": "^3.0.0", "mlly": "^1.4.2", "mri": "^1.2.0", - "node-fetch-native": "^1.4.0", + "node-fetch-native": "^1.4.1", "ofetch": "^1.3.3", "ohash": "^1.1.3", - "openapi-typescript": "^6.5.4", + "openapi-typescript": "^6.7.1", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", "pretty-bytes": "^6.1.1", "radix3": "^1.1.0", - "rollup": "^3.29.0", - "rollup-plugin-visualizer": "^5.9.2", - "scule": "^1.0.0", + "rollup": "^4.6.0", + "rollup-plugin-visualizer": "^5.9.3", + "scule": "^1.1.0", "semver": "^7.5.4", "serve-placeholder": "^2.0.1", "serve-static": "^1.15.0", - "std-env": "^3.4.3", - "ufo": "^1.3.0", + "std-env": "^3.5.0", + "ufo": "^1.3.2", "uncrypto": "^0.1.3", "unctx": "^2.3.1", - "unenv": "^1.7.4", - "unimport": "^3.3.0", - "unstorage": "^1.9.0" + "unenv": "^1.8.0", + "unimport": "^3.6.0", + "unstorage": "^1.10.1" }, "bin": { "nitro": "dist/cli/index.mjs", @@ -13052,8 +11392,9 @@ }, "node_modules/nitropack/node_modules/chalk": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -13063,8 +11404,55 @@ }, "node_modules/nitropack/node_modules/escape-string-regexp": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nitropack/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/nitropack/node_modules/globby": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz", + "integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==", + "dev": true, + "dependencies": { + "@sindresorhus/merge-streams": "^1.0.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nitropack/node_modules/path-type": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -13072,6 +11460,50 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/nitropack/node_modules/rollup": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.5.tgz", + "integrity": "sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.5", + "@rollup/rollup-android-arm64": "4.9.5", + "@rollup/rollup-darwin-arm64": "4.9.5", + "@rollup/rollup-darwin-x64": "4.9.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.5", + "@rollup/rollup-linux-arm64-gnu": "4.9.5", + "@rollup/rollup-linux-arm64-musl": "4.9.5", + "@rollup/rollup-linux-riscv64-gnu": "4.9.5", + "@rollup/rollup-linux-x64-gnu": "4.9.5", + "@rollup/rollup-linux-x64-musl": "4.9.5", + "@rollup/rollup-win32-arm64-msvc": "4.9.5", + "@rollup/rollup-win32-ia32-msvc": "4.9.5", + "@rollup/rollup-win32-x64-msvc": "4.9.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/nitropack/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "dev": true, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/no-case": { "version": "3.0.4", "dev": true, @@ -13083,139 +11515,148 @@ }, "node_modules/node-addon-api": { "version": "7.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/node-domexception": { - "version": "1.0.0", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], - "license": "MIT", - "engines": { - "node": ">=10.5.0" - } + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz", + "integrity": "sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==", + "dev": true }, "node_modules/node-emoji": { - "version": "2.1.0", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", + "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", "dev": true, - "license": "MIT", "dependencies": { - "@sindresorhus/is": "^3.1.2", + "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", "emojilib": "^2.4.0", "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" } }, "node_modules/node-fetch": { - "version": "3.3.2", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, - "license": "MIT", "dependencies": { - "data-uri-to-buffer": "^4.0.0", - "fetch-blob": "^3.1.4", - "formdata-polyfill": "^4.0.10" + "whatwg-url": "^5.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": "4.x || >=6.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-fetch" + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, "node_modules/node-fetch-native": { - "version": "1.4.0", - "dev": true, - "license": "MIT" + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.1.tgz", + "integrity": "sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==", + "dev": true }, "node_modules/node-forge": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } }, "node_modules/node-gyp": { - "version": "9.4.0", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", + "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", "dev": true, - "license": "MIT", "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", - "glob": "^7.1.4", + "glob": "^10.3.10", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^11.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", "semver": "^7.3.5", "tar": "^6.1.2", - "which": "^2.0.2" + "which": "^4.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^12.13 || ^14.13 || >=16" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/node-gyp-build": { - "version": "4.6.1", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", + "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", "dev": true, - "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, - "node_modules/node-gyp/node_modules/glob": { - "version": "7.2.3", + "node_modules/node-gyp/node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", "dev": true, - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "abbrev": "^2.0.0" }, - "engines": { - "node": "*" + "bin": { + "nopt": "bin/nopt.js" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/node-gyp/node_modules/which": { - "version": "2.0.2", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", "dev": true, - "license": "ISC", "dependencies": { - "isexe": "^2.0.0" + "isexe": "^3.1.1" }, "bin": { - "node-which": "bin/node-which" + "node-which": "bin/which.js" }, "engines": { - "node": ">= 8" + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/node-releases": { - "version": "2.0.13", - "dev": true, - "license": "MIT" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true }, "node_modules/nopt": { "version": "6.0.0", @@ -13232,17 +11673,18 @@ } }, "node_modules/normalize-package-data": { - "version": "5.0.0", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^6.0.0", + "hosted-git-info": "^7.0.0", "is-core-module": "^2.8.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/normalize-path": { @@ -13264,8 +11706,9 @@ }, "node_modules/npm-bundled": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, - "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^3.0.0" }, @@ -13274,9 +11717,10 @@ } }, "node_modules/npm-install-checks": { - "version": "6.2.0", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "semver": "^7.1.1" }, @@ -13286,72 +11730,78 @@ }, "node_modules/npm-normalize-package-bin": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", "dev": true, - "license": "ISC", "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-package-arg": { - "version": "10.1.0", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", "dev": true, - "license": "ISC", "dependencies": { - "hosted-git-info": "^6.0.0", + "hosted-git-info": "^7.0.0", "proc-log": "^3.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm-packlist": { - "version": "7.0.4", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", + "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", "dev": true, - "license": "ISC", "dependencies": { - "ignore-walk": "^6.0.0" + "ignore-walk": "^6.0.4" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-pick-manifest": { - "version": "8.0.2", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", + "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", "dev": true, - "license": "ISC", "dependencies": { "npm-install-checks": "^6.0.0", "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", + "npm-package-arg": "^11.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm-registry-fetch": { - "version": "14.0.5", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", "dev": true, - "license": "ISC", "dependencies": { - "make-fetch-happen": "^11.0.0", - "minipass": "^5.0.0", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", + "npm-package-arg": "^11.0.0", "proc-log": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm-run-path": { - "version": "5.1.0", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -13364,8 +11814,9 @@ }, "node_modules/npm-run-path/node_modules/path-key": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -13374,17 +11825,15 @@ } }, "node_modules/npmlog": { - "version": "6.0.2", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", "dev": true, - "license": "ISC", "dependencies": { - "are-we-there-yet": "^3.0.0", + "are-we-there-yet": "^2.0.0", "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", + "gauge": "^3.0.0", "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/nth-check": { @@ -13399,9 +11848,10 @@ } }, "node_modules/nuxi": { - "version": "3.8.3", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/nuxi/-/nuxi-3.10.0.tgz", + "integrity": "sha512-veZXw2NuaQ1PrpvHrnQ1dPgkAjv0WqPlvFReg5Iubum0QVGWdJJvGuNsltDQyPcZ7X7mhMXq9SLIpokK4kpvKA==", "dev": true, - "license": "MIT", "bin": { "nuxi": "bin/nuxi.mjs", "nuxi-ng": "bin/nuxi.mjs", @@ -13416,65 +11866,66 @@ } }, "node_modules/nuxt": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-3.7.3.tgz", - "integrity": "sha512-fh3l3PhL79pHJckHVGebTFYlqXDq1jHAXUcNmS3RTfmJRb1s4qi5kSRgmYUWEI5I4Iu+S0u8wWh2ChvnZMQRog==", + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-3.9.1.tgz", + "integrity": "sha512-jyD9E74bx8cdDc3nmYMNsJR0dIOrpcDH/mBlo1FmpB2zeXXMwupOD2tm033MJpHIEBbhQGHYFQlRyd7wHg2DyA==", "dev": true, "dependencies": { "@nuxt/devalue": "^2.0.2", - "@nuxt/kit": "3.7.3", - "@nuxt/schema": "3.7.3", - "@nuxt/telemetry": "^2.4.1", + "@nuxt/devtools": "^1.0.6", + "@nuxt/kit": "3.9.1", + "@nuxt/schema": "3.9.1", + "@nuxt/telemetry": "^2.5.3", "@nuxt/ui-templates": "^1.3.1", - "@nuxt/vite-builder": "3.7.3", - "@unhead/dom": "^1.7.2", - "@unhead/ssr": "^1.7.2", - "@unhead/vue": "^1.7.2", - "@vue/shared": "^3.3.4", - "acorn": "8.10.0", - "c12": "^1.4.2", + "@nuxt/vite-builder": "3.9.1", + "@unhead/dom": "^1.8.9", + "@unhead/ssr": "^1.8.9", + "@unhead/vue": "^1.8.9", + "@vue/shared": "^3.4.5", + "acorn": "8.11.3", + "c12": "^1.6.1", "chokidar": "^3.5.3", "cookie-es": "^1.0.0", - "defu": "^6.1.2", - "destr": "^2.0.1", + "defu": "^6.1.4", + "destr": "^2.0.2", "devalue": "^4.3.2", - "esbuild": "^0.19.2", + "esbuild": "^0.19.11", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", - "fs-extra": "^11.1.1", - "globby": "^13.2.2", - "h3": "^1.8.1", + "fs-extra": "^11.2.0", + "globby": "^14.0.0", + "h3": "^1.10.0", "hookable": "^5.5.3", - "jiti": "^1.20.0", + "jiti": "^1.21.0", "klona": "^2.0.6", "knitwork": "^1.0.0", - "magic-string": "^0.30.3", + "magic-string": "^0.30.5", "mlly": "^1.4.2", - "nitropack": "^2.6.3", - "nuxi": "^3.8.3", - "nypm": "^0.3.3", + "nitropack": "^2.8.1", + "nuxi": "^3.10.0", + "nypm": "^0.3.4", "ofetch": "^1.3.3", "ohash": "^1.1.3", "pathe": "^1.1.1", "perfect-debounce": "^1.0.0", "pkg-types": "^1.0.3", - "prompts": "^2.4.2", - "scule": "^1.0.0", - "std-env": "^3.4.3", - "strip-literal": "^1.3.0", - "ufo": "^1.3.0", + "radix3": "^1.1.0", + "scule": "^1.1.1", + "std-env": "^3.7.0", + "strip-literal": "^2.0.0", + "ufo": "^1.3.2", "ultrahtml": "^1.5.2", "uncrypto": "^0.1.3", "unctx": "^2.3.1", - "unenv": "^1.7.4", - "unimport": "^3.3.0", - "unplugin": "^1.4.0", - "unplugin-vue-router": "^0.6.4", + "unenv": "^1.9.0", + "unimport": "^3.7.1", + "unplugin": "^1.6.0", + "unplugin-vue-router": "^0.7.0", "untyped": "^1.4.0", - "vue": "^3.3.4", + "vue": "^3.4.5", "vue-bundle-renderer": "^2.0.0", "vue-devtools-stub": "^0.1.0", - "vue-router": "^4.2.4" + "vue-router": "^4.2.5" }, "bin": { "nuxi": "bin/nuxt.mjs", @@ -13515,712 +11966,624 @@ "@nuxt/kit": "^3.4.2", "defu": "^6.1.2", "jiti": "^1.18.2", - "pathe": "^1.0.0", - "untyped": "^1.3.2" - } - }, - "node_modules/nuxt-icon": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@iconify/vue": "^4.1.0", - "@nuxt/kit": "^3.3.1", - "nuxt-config-schema": "^0.4.5" - } - }, - "node_modules/nuxt-vitest": { - "version": "0.10.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@nuxt/kit": "^3.7.0", - "@vitest/ui": "^0.33.0", - "defu": "^6.1.2", - "get-port-please": "^3.0.2", - "perfect-debounce": "^1.0.0", - "std-env": "^3.4.3", - "vitest-environment-nuxt": "0.10.5" - }, - "peerDependencies": { - "@vitejs/plugin-vue": "*", - "@vitejs/plugin-vue-jsx": "*", - "vite": "*", - "vitest": "^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0" - } - }, - "node_modules/nuxt-vitest/node_modules/@vitest/ui": { - "version": "0.33.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "0.33.0", - "fast-glob": "^3.3.0", - "fflate": "^0.8.0", - "flatted": "^3.2.7", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "sirv": "^2.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "vitest": ">=0.30.1 <1" - } - }, - "node_modules/nuxt-vitest/node_modules/@vitest/ui/node_modules/@vitest/utils": { - "version": "0.33.0", - "dev": true, - "license": "MIT", - "dependencies": { - "diff-sequences": "^29.4.3", - "loupe": "^2.3.6", - "pretty-format": "^29.5.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/nuxt/node_modules/escape-string-regexp": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nuxt/node_modules/nypm": { - "version": "0.3.3", - "dev": true, - "license": "MIT", - "dependencies": { - "citty": "^0.1.4", - "execa": "^8.0.1", - "pathe": "^1.1.1", - "ufo": "^1.3.0" - }, - "bin": { - "nypm": "dist/cli.mjs" - }, - "engines": { - "node": "^14.16.0 || >=16.10.0" - } - }, - "node_modules/nuxt/node_modules/nypm/node_modules/citty": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "consola": "^3.2.3" - } - }, - "node_modules/nuxt/node_modules/nypm/node_modules/execa": { - "version": "8.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/nuxt/node_modules/nypm/node_modules/execa/node_modules/get-stream": { - "version": "8.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nuxt/node_modules/nypm/node_modules/execa/node_modules/human-signals": { - "version": "5.0.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/nuxt/node_modules/nypm/node_modules/execa/node_modules/signal-exit": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "pathe": "^1.0.0", + "untyped": "^1.3.2" } }, - "node_modules/nypm": { - "version": "0.2.2", + "node_modules/nuxt-icon": { + "version": "0.3.3", "dev": true, "license": "MIT", "dependencies": { - "execa": "^7.1.1" - }, - "engines": { - "node": "^14.16.0 || >=16.10.0" + "@iconify/vue": "^4.1.0", + "@nuxt/kit": "^3.3.1", + "nuxt-config-schema": "^0.4.5" } }, - "node_modules/object-assign": { - "version": "4.1.1", + "node_modules/nuxt-vitest": { + "version": "0.10.5", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@nuxt/kit": "^3.7.0", + "@vitest/ui": "^0.33.0", + "defu": "^6.1.2", + "get-port-please": "^3.0.2", + "perfect-debounce": "^1.0.0", + "std-env": "^3.4.3", + "vitest-environment-nuxt": "0.10.5" + }, + "peerDependencies": { + "@vitejs/plugin-vue": "*", + "@vitejs/plugin-vue-jsx": "*", + "vite": "*", + "vitest": "^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 || ^0.29.0 || ^0.30.0 || ^0.33.0" } }, - "node_modules/object-is": { - "version": "1.1.5", + "node_modules/nuxt-vitest/node_modules/@vitest/ui": { + "version": "0.33.0", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" + "@vitest/utils": "0.33.0", + "fast-glob": "^3.3.0", + "fflate": "^0.8.0", + "flatted": "^3.2.7", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "sirv": "^2.0.3" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": ">=0.30.1 <1" } }, - "node_modules/object-keys": { - "version": "1.1.1", + "node_modules/nuxt-vitest/node_modules/@vitest/ui/node_modules/@vitest/utils": { + "version": "0.33.0", "dev": true, "license": "MIT", - "engines": { - "node": ">= 0.4" + "dependencies": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/object.assign": { - "version": "4.1.4", + "node_modules/nuxt/node_modules/@vue/compiler-core": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.13.tgz", + "integrity": "sha512-zGUdmB3j3Irn9z51GXLJ5s0EAHxmsm5/eXl0y6MBaajMeOAaiT4+zaDoxui4Ets98dwIRr8BBaqXXHtHSfm+KA==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@babel/parser": "^7.23.6", + "@vue/shared": "3.4.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" } }, - "node_modules/ofetch": { - "version": "1.3.3", + "node_modules/nuxt/node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/nuxt/node_modules/@vue/compiler-dom": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.13.tgz", + "integrity": "sha512-XSNbpr5Rs3kCfVAmBqMu/HDwOS+RL6y28ZZjDlnDUuf146pRWt2sQkwhsOYc9uu2lxjjJy2NcyOkK7MBLVEc7w==", "dev": true, - "license": "MIT", "dependencies": { - "destr": "^2.0.1", - "node-fetch-native": "^1.4.0", - "ufo": "^1.3.0" + "@vue/compiler-core": "3.4.13", + "@vue/shared": "3.4.13" } }, - "node_modules/ohash": { - "version": "1.1.3", + "node_modules/nuxt/node_modules/@vue/compiler-sfc": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.13.tgz", + "integrity": "sha512-SkpmQN8xIFBd5onT413DFSDdjxULJf6jmJg/t3w/DZ9I8ZzyNlLIBLO0qFLewVHyHCiAgpPZlWqSRZXYrawk3Q==", "dev": true, - "license": "MIT" + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/compiler-core": "3.4.13", + "@vue/compiler-dom": "3.4.13", + "@vue/compiler-ssr": "3.4.13", + "@vue/shared": "3.4.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.32", + "source-map-js": "^1.0.2" + } }, - "node_modules/on-finished": { - "version": "2.4.1", + "node_modules/nuxt/node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/nuxt/node_modules/@vue/compiler-ssr": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.13.tgz", + "integrity": "sha512-rwnw9SVBgD6eGKh8UucnwztieQo/R3RQrEGpE0b0cxb2xxvJeLs/fe7DoYlhEfaSyzM/qD5odkK87hl3G3oW+A==", "dev": true, - "license": "MIT", "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" + "@vue/compiler-dom": "3.4.13", + "@vue/shared": "3.4.13" } }, - "node_modules/once": { - "version": "1.4.0", + "node_modules/nuxt/node_modules/@vue/reactivity": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.13.tgz", + "integrity": "sha512-/ZdUOrGKkGVONzVJkfDqNcn2fLMvaa5VlYx2KwTbnRbX06YZ4GJE0PVTmWzIxtBYdpSTLLXgw3pDggO+96KXzg==", "dev": true, - "license": "ISC", "dependencies": { - "wrappy": "1" + "@vue/shared": "3.4.13" } }, - "node_modules/onetime": { - "version": "6.0.0", + "node_modules/nuxt/node_modules/@vue/runtime-core": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.13.tgz", + "integrity": "sha512-Ov4d4At7z3goxqzSqQxdfVYEcN5HY4dM1uDYL6Hu/Es9Za9BEN602zyjWhhi2+BEki5F9NizRSvn02k/tqNWlg==", "dev": true, - "license": "MIT", "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@vue/reactivity": "3.4.13", + "@vue/shared": "3.4.13" } }, - "node_modules/open": { - "version": "9.1.0", + "node_modules/nuxt/node_modules/@vue/runtime-dom": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.13.tgz", + "integrity": "sha512-ynde9p16eEV3u1VCxUre2e0nKzD0l3NzH0r599+bXeLT1Yhac8Atcot3iL9XNqwolxYCI89KBII+2MSVzfrz6w==", "dev": true, - "license": "MIT", "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@vue/runtime-core": "3.4.13", + "@vue/shared": "3.4.13", + "csstype": "^3.1.3" } }, - "node_modules/openapi-typescript": { - "version": "6.5.5", + "node_modules/nuxt/node_modules/@vue/server-renderer": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.13.tgz", + "integrity": "sha512-hkw+UQyDZZtSn1q30nObMfc8beVEQv2pG08nghigxGw+iOWodR+tWSuJak0mzWAHlP/xt/qLc//dG6igfgvGEA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.3", - "fast-glob": "^3.3.1", - "js-yaml": "^4.1.0", - "supports-color": "^9.4.0", - "undici": "^5.23.0", - "yargs-parser": "^21.1.1" + "@vue/compiler-ssr": "3.4.13", + "@vue/shared": "3.4.13" }, - "bin": { - "openapi-typescript": "bin/cli.js" + "peerDependencies": { + "vue": "3.4.13" } }, - "node_modules/openapi-typescript/node_modules/supports-color": { - "version": "9.4.0", + "node_modules/nuxt/node_modules/@vue/shared": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.13.tgz", + "integrity": "sha512-56crFKLPpzk85WXX1L1c0QzPOuoapWlPVys8eMG8kkRmqdMjWUqK8KpFdE2d7BQA4CEbXwyyHPq6MpFr8H9rcg==", + "dev": true + }, + "node_modules/nuxt/node_modules/escape-string-regexp": { + "version": "5.0.0", "dev": true, "license": "MIT", "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/optionator": { - "version": "0.9.3", + "node_modules/nuxt/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, - "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=14.14" } }, - "node_modules/p-limit": { - "version": "4.0.0", + "node_modules/nuxt/node_modules/globby": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz", + "integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==", "dev": true, - "license": "MIT", "dependencies": { - "yocto-queue": "^1.0.0" + "@sindresorhus/merge-streams": "^1.0.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate": { + "node_modules/nuxt/node_modules/js-tokens": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.2.tgz", + "integrity": "sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==", + "dev": true + }, + "node_modules/nuxt/node_modules/path-type": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate/node_modules/p-limit": { - "version": "3.1.0", + "node_modules/nuxt/node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-locate/node_modules/p-limit/node_modules/yocto-queue": { - "version": "0.1.0", + "node_modules/nuxt/node_modules/strip-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" + "dependencies": { + "js-tokens": "^8.0.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/p-map": { - "version": "4.0.0", + "node_modules/nuxt/node_modules/vue": { + "version": "3.4.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.13.tgz", + "integrity": "sha512-FE3UZ0p+oUZTwz+SzlH/hDFg+XsVRFvwmx0LXjdD1pRK/cO4fu5v6ltAZji4za4IBih3dV78elUK3di8v3pWIg==", "dev": true, - "license": "MIT", "dependencies": { - "aggregate-error": "^3.0.0" + "@vue/compiler-dom": "3.4.13", + "@vue/compiler-sfc": "3.4.13", + "@vue/runtime-dom": "3.4.13", + "@vue/server-renderer": "3.4.13", + "@vue/shared": "3.4.13" }, - "engines": { - "node": ">=10" + "peerDependencies": { + "typescript": "*" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/pacote": { - "version": "15.2.0", + "node_modules/nypm": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.4.tgz", + "integrity": "sha512-1JLkp/zHBrkS3pZ692IqOaIKSYHmQXgqfELk6YTOfVBnwealAmPA1q2kKK7PHJAHSMBozerThEFZXP3G6o7Ukg==", "dev": true, - "license": "ISC", "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^5.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.3.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" + "citty": "^0.1.5", + "execa": "^8.0.1", + "pathe": "^1.1.1", + "ufo": "^1.3.2" }, "bin": { - "pacote": "lib/bin.js" + "nypm": "dist/cli.mjs" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14.16.0 || >=16.10.0" } }, - "node_modules/paneer": { - "version": "0.1.0", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.15", - "@types/estree": "^1.0.0", - "recast": "^0.22.0" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/paneer/node_modules/recast": { - "version": "0.22.0", + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, - "license": "MIT", - "dependencies": { - "assert": "^2.0.0", - "ast-types": "0.15.2", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" - }, "engines": { - "node": ">= 4" + "node": ">= 6" } }, - "node_modules/paneer/node_modules/recast/node_modules/ast-types": { - "version": "0.15.2", + "node_modules/object-is": { + "version": "1.1.5", "dev": true, "license": "MIT", "dependencies": { - "tslib": "^2.0.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/param-case": { - "version": "3.0.4", + "node_modules/object-keys": { + "version": "1.1.1", "dev": true, "license": "MIT", - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "engines": { + "node": ">= 0.4" } }, - "node_modules/parent-module": { - "version": "1.0.1", + "node_modules/object.assign": { + "version": "4.1.4", "dev": true, "license": "MIT", "dependencies": { - "callsites": "^3.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/parse-entities": { - "version": "4.0.1", + "node_modules/ofetch": { + "version": "1.3.3", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "destr": "^2.0.1", + "node-fetch-native": "^1.4.0", + "ufo": "^1.3.0" } }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/ohash": { + "version": "1.1.3", "dev": true, "license": "MIT" }, - "node_modules/parse-git-config": { - "version": "3.0.0", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "license": "MIT", "dependencies": { - "git-config-path": "^2.0.0", - "ini": "^1.3.5" + "ee-first": "1.1.1" }, "engines": { - "node": ">=8" + "node": ">= 0.8" } }, - "node_modules/parse-git-config/node_modules/ini": { - "version": "1.3.8", - "dev": true, - "license": "ISC" - }, - "node_modules/parse-path": { - "version": "7.0.0", + "node_modules/once": { + "version": "1.4.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "protocols": "^2.0.0" + "wrappy": "1" } }, - "node_modules/parse-url": { - "version": "8.1.0", + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "license": "MIT", "dependencies": { - "parse-path": "^7.0.0" + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/parse5": { - "version": "6.0.1", - "dev": true, - "license": "MIT" + "node_modules/only": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", + "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==", + "dev": true }, - "node_modules/parseurl": { - "version": "1.3.3", + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, - "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pascal-case": { - "version": "3.1.2", + "node_modules/open/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-browserify": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/path-case": { - "version": "3.0.4", + "node_modules/open/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "license": "MIT", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/path-exists": { - "version": "4.0.0", + "node_modules/openapi-typescript": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-6.7.3.tgz", + "integrity": "sha512-es3mGcDXV6TKPo6n3aohzHm0qxhLyR39MhF6mkD1FwFGjhxnqMqfSIgM0eCpInZvqatve4CxmXcMZw3jnnsaXw==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" + "dependencies": { + "ansi-colors": "^4.1.3", + "fast-glob": "^3.3.2", + "js-yaml": "^4.1.0", + "supports-color": "^9.4.0", + "undici": "^5.28.2", + "yargs-parser": "^21.1.1" + }, + "bin": { + "openapi-typescript": "bin/cli.js" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", + "node_modules/openapi-typescript/node_modules/supports-color": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.4.0.tgz", + "integrity": "sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/path-key": { - "version": "3.1.1", + "node_modules/optionator": { + "version": "0.9.3", "dev": true, "license": "MIT", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "dev": true, - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.10.1", + "node_modules/p-limit": { + "version": "4.0.0", "dev": true, - "license": "BlueOak-1.0.0", + "license": "MIT", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "yocto-queue": "^1.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-scurry/node_modules/minipass": { - "version": "7.0.3", + "node_modules/p-locate": { + "version": "5.0.0", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-type": { - "version": "4.0.0", + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", "dev": true, "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pathe": { - "version": "1.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/pathval": { - "version": "1.1.1", + "node_modules/p-locate/node_modules/p-limit/node_modules/yocto-queue": { + "version": "0.1.0", "dev": true, "license": "MIT", "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pend": { - "version": "1.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/perfect-debounce": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "license": "MIT", + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, "engines": { - "node": ">=8.6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pify": { - "version": "2.3.0", + "node_modules/pacote": { + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.5.tgz", + "integrity": "sha512-TAE0m20zSDMnchPja9vtQjri19X3pZIyRpm2TJVeI+yU42leJBBDTRYhOcWFsPhaMxf+3iwQkFiKz16G9AEeeA==", "dev": true, - "license": "MIT", + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^7.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^2.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, "engines": { - "node": ">=0.10.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/pinceau": { - "version": "0.18.9", + "node_modules/paneer": { + "version": "0.1.0", "dev": true, "license": "MIT", - "workspaces": [ - "docs", - "playground" - ], "dependencies": { - "@unocss/reset": "^0.50.3", - "@volar/vue-language-core": "^1.2.0", - "acorn": "^8.8.2", - "chroma-js": "^2.4.2", - "consola": "^3.0.1", - "csstype": "^3.1.1", - "defu": "^6.1.2", - "magic-string": "^0.30.0", - "nanoid": "^4.0.1", - "ohash": "^1.0.0", - "paneer": "^0.1.0", - "pathe": "^1.1.0", - "postcss-custom-properties": "13.1.4", - "postcss-dark-theme-class": "0.7.3", - "postcss-nested": "^6.0.1", - "recast": "^0.22.0", - "scule": "^1.0.0", - "style-dictionary-esm": "^1.3.7", - "unbuild": "^1.1.2", - "unplugin": "^1.1.0" + "@babel/parser": "^7.20.15", + "@types/estree": "^1.0.0", + "recast": "^0.22.0" } }, - "node_modules/pinceau/node_modules/recast": { + "node_modules/paneer/node_modules/recast": { "version": "0.22.0", "dev": true, "license": "MIT", @@ -14235,7 +12598,7 @@ "node": ">= 4" } }, - "node_modules/pinceau/node_modules/recast/node_modules/ast-types": { + "node_modules/paneer/node_modules/recast/node_modules/ast-types": { "version": "0.15.2", "dev": true, "license": "MIT", @@ -14246,1357 +12609,1321 @@ "node": ">=4" } }, - "node_modules/pinkie": { - "version": "2.0.4", + "node_modules/param-case": { + "version": "3.0.4", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/pinkie-promise": { - "version": "2.0.1", + "node_modules/parent-module": { + "version": "1.0.1", "dev": true, "license": "MIT", "dependencies": { - "pinkie": "^2.0.0" + "callsites": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/pkg-types": { - "version": "1.0.3", + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", "dev": true, - "license": "MIT", "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/plausible-tracker": { - "version": "0.3.8", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "dev": true }, - "node_modules/postcss": { - "version": "8.4.29", + "node_modules/parse-git-config": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-3.0.0.tgz", + "integrity": "sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "git-config-path": "^2.0.0", + "ini": "^1.3.5" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=8" } }, - "node_modules/postcss-calc": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", - "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", + "node_modules/parse-git-config/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "node_modules/parse-path": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz", + "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.11", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.2" + "protocols": "^2.0.0" } }, - "node_modules/postcss-colormin": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.0.tgz", - "integrity": "sha512-EuO+bAUmutWoZYgHn2T1dG1pPqHU6L4TjzPlu4t1wZGXQ/fxV16xg2EJmYi0z+6r+MGV1yvpx1BHkUaRrPa2bw==", + "node_modules/parse-url": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz", + "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==", "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "parse-path": "^7.0.0" } }, - "node_modules/postcss-convert-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.0.tgz", - "integrity": "sha512-U5D8QhVwqT++ecmy8rnTb+RL9n/B806UVaS3m60lqle4YDFcpbS3ae5bTQIh3wOGUSDHSEtMYLs/38dNG7EYFw==", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "entities": "^4.4.0" }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.8" } }, - "node_modules/postcss-custom-properties": { - "version": "13.1.4", + "node_modules/pascal-case": { + "version": "3.1.2", "dev": true, "license": "MIT", "dependencies": { - "@csstools/cascade-layer-name-parser": "^1.0.0", - "@csstools/css-parser-algorithms": "^2.0.0", - "@csstools/css-tokenizer": "^2.0.0", - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/postcss-dark-theme-class": { - "version": "0.7.3", + "node_modules/path-browserify": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/path-case": { + "version": "3.0.4", "dev": true, "license": "MIT", - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/postcss-discard-comments": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.0.tgz", - "integrity": "sha512-p2skSGqzPMZkEQvJsgnkBhCn8gI7NzRH2683EEjrIkoMiwRELx68yoUJ3q3DGSGuQ8Ug9Gsn+OuDr46yfO+eFw==", + "node_modules/path-exists": { + "version": "4.0.0", "dev": true, + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-discard-duplicates": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.0.tgz", - "integrity": "sha512-bU1SXIizMLtDW4oSsi5C/xHKbhLlhek/0/yCnoMQany9k3nPBq+Ctsv/9oMmyqbR96HYHxZcHyK2HR5P/mqoGA==", + "node_modules/path-is-absolute": { + "version": "1.0.1", "dev": true, + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-discard-empty": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.0.tgz", - "integrity": "sha512-b+h1S1VT6dNhpcg+LpyiUrdnEZfICF0my7HAKgJixJLW7BnNmpRH34+uw/etf5AhOlIhIAuXApSzzDzMI9K/gQ==", + "node_modules/path-key": { + "version": "3.1.1", "dev": true, + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-discard-overridden": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.0.tgz", - "integrity": "sha512-4VELwssYXDFigPYAZ8vL4yX4mUepF/oCBeeIT4OXsJPYOtvJumyz9WflmJWTfDwCUcpDR+z0zvCWBXgTx35SVw==", + "node_modules/path-parse": { + "version": "1.0.7", "dev": true, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" - } + "license": "MIT" }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "node_modules/path-scurry": { + "version": "1.10.1", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=16 || 14 >=14.17" }, - "peerDependencies": { - "postcss": "^8.0.0" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/postcss-import-resolver": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "enhanced-resolve": "^4.1.1" - } + "node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "dev": true }, - "node_modules/postcss-import-resolver/node_modules/enhanced-resolve": { - "version": "4.5.0", + "node_modules/path-type": { + "version": "4.0.0", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=8" } }, - "node_modules/postcss-import-resolver/node_modules/enhanced-resolve/node_modules/tapable": { - "version": "1.1.3", + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": "*" } }, - "node_modules/postcss-merge-longhand": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.0.tgz", - "integrity": "sha512-4VSfd1lvGkLTLYcxFuISDtWUfFS4zXe0FpF149AyziftPFQIWxjvFSKhA4MIxMe4XM3yTDgQMbSNgzIVxChbIg==", + "node_modules/perfect-debounce": { + "version": "1.0.0", "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^6.0.0" - }, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=8.6" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/postcss-merge-rules": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.1.tgz", - "integrity": "sha512-a4tlmJIQo9SCjcfiCcCMg/ZCEe0XTkl/xK0XHBs955GWg9xDX3NwP9pwZ78QUOWB8/0XCjZeJn98Dae0zg6AAw==", + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^4.0.0", - "postcss-selector-parser": "^6.0.5" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=0.10.0" } }, - "node_modules/postcss-minify-font-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.0.tgz", - "integrity": "sha512-zNRAVtyh5E8ndZEYXA4WS8ZYsAp798HiIQ1V2UF/C/munLp2r1UGHwf1+6JFu7hdEhJFN+W1WJQKBrtjhFgEnA==", + "node_modules/pinceau": { + "version": "0.18.9", "dev": true, + "license": "MIT", + "workspaces": [ + "docs", + "playground" + ], "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "@unocss/reset": "^0.50.3", + "@volar/vue-language-core": "^1.2.0", + "acorn": "^8.8.2", + "chroma-js": "^2.4.2", + "consola": "^3.0.1", + "csstype": "^3.1.1", + "defu": "^6.1.2", + "magic-string": "^0.30.0", + "nanoid": "^4.0.1", + "ohash": "^1.0.0", + "paneer": "^0.1.0", + "pathe": "^1.1.0", + "postcss-custom-properties": "13.1.4", + "postcss-dark-theme-class": "0.7.3", + "postcss-nested": "^6.0.1", + "recast": "^0.22.0", + "scule": "^1.0.0", + "style-dictionary-esm": "^1.3.7", + "unbuild": "^1.1.2", + "unplugin": "^1.1.0" } }, - "node_modules/postcss-minify-gradients": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.0.tgz", - "integrity": "sha512-wO0F6YfVAR+K1xVxF53ueZJza3L+R3E6cp0VwuXJQejnNUH0DjcAFe3JEBeTY1dLwGa0NlDWueCA1VlEfiKgAA==", + "node_modules/pinceau/node_modules/recast": { + "version": "0.22.0", "dev": true, + "license": "MIT", "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" + "assert": "^2.0.0", + "ast-types": "0.15.2", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tslib": "^2.0.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 4" } }, - "node_modules/postcss-minify-params": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.0.tgz", - "integrity": "sha512-Fz/wMQDveiS0n5JPcvsMeyNXOIMrwF88n7196puSuQSWSa+/Ofc1gDOSY2xi8+A4PqB5dlYCKk/WfqKqsI+ReQ==", + "node_modules/pinceau/node_modules/recast/node_modules/ast-types": { + "version": "0.15.2", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.21.4", - "cssnano-utils": "^4.0.0", - "postcss-value-parser": "^4.2.0" + "tslib": "^2.0.1" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=4" } }, - "node_modules/postcss-minify-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.0.tgz", - "integrity": "sha512-ec/q9JNCOC2CRDNnypipGfOhbYPuUkewGwLnbv6omue/PSASbHSU7s6uSQ0tcFRVv731oMIx8k0SP4ZX6be/0g==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 6" } }, - "node_modules/postcss-nested": { - "version": "6.0.1", + "node_modules/pkg-types": { + "version": "1.0.3", "dev": true, "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" } }, - "node_modules/postcss-normalize-charset": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.0.tgz", - "integrity": "sha512-cqundwChbu8yO/gSWkuFDmKrCZ2vJzDAocheT2JTd0sFNA4HMGoKMfbk2B+J0OmO0t5GUkiAkSM5yF2rSLUjgQ==", + "node_modules/plausible-tracker": { + "version": "0.3.8", "dev": true, + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=10" } }, - "node_modules/postcss-normalize-display-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.0.tgz", - "integrity": "sha512-Qyt5kMrvy7dJRO3OjF7zkotGfuYALETZE+4lk66sziWSPzlBEt7FrUshV6VLECkI4EN8Z863O6Nci4NXQGNzYw==", + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">= 0.12.0" } }, - "node_modules/postcss-normalize-positions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.0.tgz", - "integrity": "sha512-mPCzhSV8+30FZyWhxi6UoVRYd3ZBJgTRly4hOkaSifo0H+pjDYcii/aVT4YE6QpOil15a5uiv6ftnY3rm0igPg==", + "node_modules/portfinder/node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "lodash": "^4.17.14" } }, - "node_modules/postcss-normalize-repeat-style": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.0.tgz", - "integrity": "sha512-50W5JWEBiOOAez2AKBh4kRFm2uhrT3O1Uwdxz7k24aKtbD83vqmcVG7zoIwo6xI2FZ/HDlbrCopXhLeTpQib1A==", + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "ms": "^2.1.1" } }, - "node_modules/postcss-normalize-string": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.0.tgz", - "integrity": "sha512-KWkIB7TrPOiqb8ZZz6homet2KWKJwIlysF5ICPZrXAylGe2hzX/HSf4NTX2rRPJMAtlRsj/yfkrWGavFuB+c0w==", + "node_modules/portfinder/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "dependencies": { - "postcss-value-parser": "^4.2.0" + "minimist": "^1.2.6" }, - "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "bin": { + "mkdirp": "bin/cmd.js" } }, - "node_modules/postcss-normalize-timing-functions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.0.tgz", - "integrity": "sha512-tpIXWciXBp5CiFs8sem90IWlw76FV4oi6QEWfQwyeREVwUy39VSeSqjAT7X0Qw650yAimYW5gkl2Gd871N5SQg==", + "node_modules/postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "postcss-value-parser": "^4.2.0" + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" }, "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-normalize-unicode": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.0.tgz", - "integrity": "sha512-ui5crYkb5ubEUDugDc786L/Me+DXp2dLg3fVJbqyAl0VPkAeALyAijF2zOsnZyaS1HyfPuMH0DwyY18VMFVNkg==", + "node_modules/postcss-calc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-9.0.1.tgz", + "integrity": "sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==", "dev": true, "dependencies": { - "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.2.2" } }, - "node_modules/postcss-normalize-url": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.0.tgz", - "integrity": "sha512-98mvh2QzIPbb02YDIrYvAg4OUzGH7s1ZgHlD3fIdTHLgPLRpv1ZTKJDnSAKr4Rt21ZQFzwhGMXxpXlfrUBKFHw==", + "node_modules/postcss-colormin": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.2.tgz", + "integrity": "sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==", "dev": true, "dependencies": { + "browserslist": "^4.22.2", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, - "node_modules/postcss-normalize-whitespace": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.0.tgz", - "integrity": "sha512-7cfE1AyLiK0+ZBG6FmLziJzqQCpTQY+8XjMhMAz8WSBSCsCNNUKujgIgjCAmDT3cJ+3zjTXFkoD15ZPsckArVw==", + "node_modules/postcss-convert-values": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.2.tgz", + "integrity": "sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw==", "dev": true, "dependencies": { + "browserslist": "^4.22.2", "postcss-value-parser": "^4.2.0" }, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, - "node_modules/postcss-ordered-values": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.0.tgz", - "integrity": "sha512-K36XzUDpvfG/nWkjs6d1hRBydeIxGpKS2+n+ywlKPzx1nMYDYpoGbcjhj5AwVYJK1qV2/SDoDEnHzlPD6s3nMg==", + "node_modules/postcss-custom-properties": { + "version": "13.1.4", "dev": true, + "license": "MIT", "dependencies": { - "cssnano-utils": "^4.0.0", + "@csstools/cascade-layer-name-parser": "^1.0.0", + "@csstools/css-parser-algorithms": "^2.0.0", + "@csstools/css-tokenizer": "^2.0.0", "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14 || ^16 || >=18.0" + "node": "^14 || ^16 || >=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4" } }, - "node_modules/postcss-reduce-initial": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.0.tgz", - "integrity": "sha512-s2UOnidpVuXu6JiiI5U+fV2jamAw5YNA9Fdi/GRK0zLDLCfXmSGqQtzpUPtfN66RtCbb9fFHoyZdQaxOB3WxVA==", + "node_modules/postcss-dark-theme-class": { + "version": "0.7.3", "dev": true, - "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": "^14 || ^16 || >=18.0" + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.2.14" } }, - "node_modules/postcss-reduce-transforms": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.0.tgz", - "integrity": "sha512-FQ9f6xM1homnuy1wLe9lP1wujzxnwt1EwiigtWwuyf8FsqqXUDUp2Ulxf9A5yjlUOTdCJO6lonYjg1mgqIIi2w==", + "node_modules/postcss-discard-comments": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-6.0.1.tgz", + "integrity": "sha512-f1KYNPtqYLUeZGCHQPKzzFtsHaRuECe6jLakf/RjSRqvF5XHLZnM2+fXLhb8Qh/HBFHs3M4cSLb1k3B899RYIg==", "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", + "node_modules/postcss-discard-duplicates": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-6.0.1.tgz", + "integrity": "sha512-1hvUs76HLYR8zkScbwyJ8oJEugfPV+WchpnA+26fpJ7Smzs51CzGBHC32RS03psuX/2l0l0UKh2StzNxOrKCYg==", "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, "engines": { - "node": ">=4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/postcss-svgo": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.0.tgz", - "integrity": "sha512-r9zvj/wGAoAIodn84dR/kFqwhINp5YsJkLoujybWG59grR/IHx+uQ2Zo+IcOwM0jskfYX3R0mo+1Kip1VSNcvw==", + "node_modules/postcss-discard-empty": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-6.0.1.tgz", + "integrity": "sha512-yitcmKwmVWtNsrrRqGJ7/C0YRy53i0mjexBDQ9zYxDwTWVBgbU4+C9jIZLmQlTDT9zhml+u0OMFJh8+31krmOg==", "dev": true, - "dependencies": { - "postcss-value-parser": "^4.2.0", - "svgo": "^3.0.2" - }, "engines": { - "node": "^14 || ^16 || >= 18" + "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, - "node_modules/postcss-unique-selectors": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.0.tgz", - "integrity": "sha512-EPQzpZNxOxP7777t73RQpZE5e9TrnCrkvp7AH7a0l89JmZiPnS82y216JowHXwpBCQitfyxrof9TK3rYbi7/Yw==", + "node_modules/postcss-discard-overridden": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-6.0.1.tgz", + "integrity": "sha512-qs0ehZMMZpSESbRkw1+inkf51kak6OOzNRaoLd/U7Fatp0aN2HQ1rxGOrJvYcRAN9VpX8kUF13R2ofn8OlvFVA==", "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.5" - }, "engines": { "node": "^14 || ^16 || >=18.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "postcss": "^8.4.31" } }, - "node_modules/postcss-url": { - "version": "10.1.3", - "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz", - "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==", + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "dependencies": { - "make-dir": "~3.1.0", - "mime": "~2.5.2", - "minimatch": "~3.0.4", - "xxhashjs": "~0.2.2" + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" }, "engines": { - "node": ">=10" + "node": ">=14.0.0" }, "peerDependencies": { "postcss": "^8.0.0" } }, - "node_modules/postcss-url/node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dev": true, "dependencies": { - "semver": "^6.0.0" + "camelcase-css": "^2.0.1" }, "engines": { - "node": ">=8" + "node": "^12 || ^14 || >= 16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/postcss-url/node_modules/mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-url/node_modules/minimatch": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", - "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, - "engines": { - "node": "*" - } - }, - "node_modules/postcss-url/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "peerDependencies": { + "postcss": "^8.4.21" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss/node_modules/nanoid": { - "version": "3.3.6", + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "dev": true, "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/prelude-ls": { - "version": "1.2.1", + "node_modules/postcss-merge-longhand": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.2.tgz", + "integrity": "sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==", "dev": true, - "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^6.0.2" + }, "engines": { - "node": ">= 0.8.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pretty-bytes": { - "version": "6.1.1", + "node_modules/postcss-merge-rules": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.3.tgz", + "integrity": "sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==", "dev": true, - "license": "MIT", + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^4.0.1", + "postcss-selector-parser": "^6.0.15" + }, "engines": { - "node": "^14.13.1 || >=16.0.0" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pretty-format": { - "version": "29.6.3", + "node_modules/postcss-minify-font-values": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-6.0.1.tgz", + "integrity": "sha512-tIwmF1zUPoN6xOtA/2FgVk1ZKrLcCvE0dpZLtzyyte0j9zUeB8RTbCqrHZGjJlxOvNWKMYtunLrrl7HPOiR46w==", "dev": true, - "license": "MIT", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", + "node_modules/postcss-minify-gradients": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-6.0.1.tgz", + "integrity": "sha512-M1RJWVjd6IOLPl1hYiOd5HQHgpp6cvJVLrieQYS9y07Yo8itAr6jaekzJphaJFR0tcg4kRewCk3kna9uHBxn/w==", "dev": true, - "license": "MIT", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^4.0.1", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=10" + "node": "^14 || ^16 || >=18.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/proc-log": { - "version": "3.0.0", + "node_modules/postcss-minify-params": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.2.tgz", + "integrity": "sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==", "dev": true, - "license": "ISC", + "dependencies": { + "browserslist": "^4.22.2", + "cssnano-utils": "^4.0.1", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/promise-retry": { - "version": "2.0.1", + "node_modules/postcss-minify-selectors": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.2.tgz", + "integrity": "sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==", "dev": true, - "license": "MIT", "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "postcss-selector-parser": "^6.0.15" }, "engines": { - "node": ">=10" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/prompts": { - "version": "2.4.2", + "node_modules/postcss-nested": { + "version": "6.0.1", "dev": true, "license": "MIT", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "postcss-selector-parser": "^6.0.11" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/property-information": { - "version": "6.3.0", - "dev": true, - "license": "MIT", + "node": ">=12.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" } }, - "node_modules/proto-list": { - "version": "1.2.4", - "dev": true, - "license": "ISC" - }, - "node_modules/protocols": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/prr": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.0", + "node_modules/postcss-nesting": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-12.0.2.tgz", + "integrity": "sha512-63PpJHSeNs93S3ZUIyi+7kKx4JqOIEJ6QYtG3x+0qA4J03+4n0iwsyA1GAHyWxsHYljQS4/4ZK1o2sMi70b5wQ==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" + "type": "github", + "url": "https://github.com/sponsors/csstools" }, { - "type": "consulting", - "url": "https://feross.org/support" + "type": "opencollective", + "url": "https://opencollective.com/csstools" } ], - "license": "MIT" - }, - "node_modules/queue-tick": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/radix3": { - "version": "1.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "^5.1.0" + "@csstools/selector-specificity": "^3.0.1", + "postcss-selector-parser": "^6.0.13" + }, + "engines": { + "node": "^14 || ^16 || >=18" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/range-parser": { - "version": "1.2.1", + "node_modules/postcss-normalize-charset": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-6.0.1.tgz", + "integrity": "sha512-aW5LbMNRZ+oDV57PF9K+WI1Z8MPnF+A8qbajg/T8PP126YrGX1f9IQx21GI2OlGz7XFJi/fNi0GTbY948XJtXg==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 0.6" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/rc9": { - "version": "2.1.1", + "node_modules/postcss-normalize-display-values": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-6.0.1.tgz", + "integrity": "sha512-mc3vxp2bEuCb4LgCcmG1y6lKJu1Co8T+rKHrcbShJwUmKJiEl761qb/QQCfFwlrvSeET3jksolCR/RZuMURudw==", "dev": true, - "license": "MIT", "dependencies": { - "defu": "^6.1.2", - "destr": "^2.0.0", - "flat": "^5.0.2" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/react-is": { - "version": "18.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "node_modules/postcss-normalize-positions": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-6.0.1.tgz", + "integrity": "sha512-HRsq8u/0unKNvm0cvwxcOUEcakFXqZ41fv3FOdPn916XFUrympjr+03oaLkuZENz3HE9RrQE9yU0Xv43ThWjQg==", "dev": true, "dependencies": { - "pify": "^2.3.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/read-package-json": { - "version": "6.0.4", + "node_modules/postcss-normalize-repeat-style": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-6.0.1.tgz", + "integrity": "sha512-Gbb2nmCy6tTiA7Sh2MBs3fj9W8swonk6lw+dFFeQT68B0Pzwp1kvisJQkdV6rbbMSd9brMlS8I8ts52tAGWmGQ==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", + "node_modules/postcss-normalize-string": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-6.0.1.tgz", + "integrity": "sha512-5Fhx/+xzALJD9EI26Aq23hXwmv97Zfy2VFrt5PLT8lAhnBIZvmaT5pQk+NuJ/GWj/QWaKSKbnoKDGLbV6qnhXg==", "dev": true, - "license": "ISC", "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/readable-stream": { - "version": "3.6.2", + "node_modules/postcss-normalize-timing-functions": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-6.0.1.tgz", + "integrity": "sha512-4zcczzHqmCU7L5dqTB9rzeqPWRMc0K2HoR+Bfl+FSMbqGBUcP5LRfgcH4BdRtLuzVQK1/FHdFoGT3F7rkEnY+g==", "dev": true, - "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">= 6" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/readdir-glob": { - "version": "1.1.3", + "node_modules/postcss-normalize-unicode": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.2.tgz", + "integrity": "sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "minimatch": "^5.1.0" + "browserslist": "^4.22.2", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/readdir-glob/node_modules/minimatch": { - "version": "5.1.6", + "node_modules/postcss-normalize-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-6.0.1.tgz", + "integrity": "sha512-jEXL15tXSvbjm0yzUV7FBiEXwhIa9H88JOXDGQzmcWoB4mSjZIsmtto066s2iW9FYuIrIF4k04HA2BKAOpbsaQ==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=10" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/readdir-glob/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/postcss-normalize-whitespace": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-6.0.1.tgz", + "integrity": "sha512-76i3NpWf6bB8UHlVuLRxG4zW2YykF9CTEcq/9LGAiz2qBuX5cBStadkk0jSkg9a9TCIXbMQz7yzrygKoCW9JuA==", "dev": true, - "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/readdirp": { - "version": "3.6.0", + "node_modules/postcss-ordered-values": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-6.0.1.tgz", + "integrity": "sha512-XXbb1O/MW9HdEhnBxitZpPFbIvDgbo9NK4c/5bOfiKpnIGZDoL2xd7/e6jW5DYLsWxBbs+1nZEnVgnjnlFViaA==", "dev": true, - "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "cssnano-utils": "^4.0.1", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=8.10.0" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/recast": { - "version": "0.23.4", + "node_modules/postcss-reduce-initial": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.2.tgz", + "integrity": "sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==", "dev": true, - "license": "MIT", "dependencies": { - "assert": "^2.0.0", - "ast-types": "^0.16.1", - "esprima": "~4.0.0", - "source-map": "~0.6.1", - "tslib": "^2.0.1" + "browserslist": "^4.22.2", + "caniuse-api": "^3.0.0" }, "engines": { - "node": ">= 4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/redis-errors": { - "version": "1.2.0", + "node_modules/postcss-reduce-transforms": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-6.0.1.tgz", + "integrity": "sha512-fUbV81OkUe75JM+VYO1gr/IoA2b/dRiH6HvMwhrIBSUrxq3jNZQZitSnugcTLDi1KkQh1eR/zi+iyxviUNBkcQ==", "dev": true, - "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=4" + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/redis-parser": { - "version": "3.0.0", + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", "dev": true, - "license": "MIT", "dependencies": { - "redis-errors": "^1.0.0" + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" }, "engines": { "node": ">=4" } }, - "node_modules/rehype-external-links": { - "version": "2.1.0", + "node_modules/postcss-svgo": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.2.tgz", + "integrity": "sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0", - "extend": "^3.0.0", - "hast-util-is-element": "^2.0.0", - "is-absolute-url": "^4.0.0", - "space-separated-tokens": "^2.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" + "postcss-value-parser": "^4.2.0", + "svgo": "^3.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^14 || ^16 || >= 18" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/rehype-external-links/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/postcss-unique-selectors": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.2.tgz", + "integrity": "sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "postcss-selector-parser": "^6.0.15" + }, + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/rehype-external-links/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/postcss-value-parser": { + "version": "4.2.0", "dev": true, "license": "MIT" }, - "node_modules/rehype-external-links/node_modules/unified": { - "version": "10.1.2", + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/rehype-external-links/node_modules/unified/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/rehype-external-links/node_modules/unified/node_modules/vfile": { - "version": "5.3.7", + "node_modules/prelude-ls": { + "version": "1.2.1", "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/rehype-external-links/node_modules/unified/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/pretty-bytes": { + "version": "6.1.1", "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" + "engines": { + "node": "^14.13.1 || >=16.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rehype-external-links/node_modules/unified/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/pretty-format": { + "version": "29.6.3", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/rehype-external-links/node_modules/unist-util-visit": { - "version": "4.1.2", + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" + "engines": { + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/rehype-external-links/node_modules/unist-util-visit/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "dev": true, - "license": "MIT" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "node_modules/rehype-external-links/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=10" } }, - "node_modules/rehype-external-links/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 6" } }, - "node_modules/rehype-raw": { - "version": "6.1.1", + "node_modules/property-information": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.0.tgz", + "integrity": "sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "hast-util-raw": "^7.2.0", - "unified": "^10.0.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/rehype-raw/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/proto-list": { + "version": "1.2.4", "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2" - } + "license": "ISC" }, - "node_modules/rehype-raw/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" + "node_modules/protocols": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz", + "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", + "dev": true }, - "node_modules/rehype-raw/node_modules/unified": { - "version": "10.1.2", + "node_modules/punycode": { + "version": "2.3.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=6" } }, - "node_modules/rehype-raw/node_modules/unified/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/queue-microtask": { + "version": "1.2.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==", + "dev": true + }, + "node_modules/radix3": { + "version": "1.1.0", "dev": true, "license": "MIT" }, - "node_modules/rehype-raw/node_modules/unified/node_modules/vfile": { - "version": "5.3.7", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "safe-buffer": "^5.1.0" } }, - "node_modules/rehype-raw/node_modules/unified/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.6" } }, - "node_modules/rehype-raw/node_modules/unified/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/rc9": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.1.tgz", + "integrity": "sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "defu": "^6.1.2", + "destr": "^2.0.0", + "flat": "^5.0.2" } }, - "node_modules/rehype-slug": { - "version": "5.1.0", + "node_modules/react-is": { + "version": "18.2.0", "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "github-slugger": "^2.0.0", - "hast-util-has-property": "^2.0.0", - "hast-util-heading-rank": "^2.0.0", - "hast-util-to-string": "^2.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "license": "MIT" }, - "node_modules/rehype-slug/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "pify": "^2.3.0" } }, - "node_modules/rehype-slug/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/read-package-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.0.tgz", + "integrity": "sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==", "dev": true, - "license": "MIT" + "dependencies": { + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } }, - "node_modules/rehype-slug/node_modules/hast-util-to-string": { - "version": "2.0.0", + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^2.0.0" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/rehype-slug/node_modules/unified": { - "version": "10.1.2", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 6" } }, - "node_modules/rehype-slug/node_modules/unified/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/readdir-glob": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz", + "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==", "dev": true, - "license": "MIT" + "dependencies": { + "minimatch": "^5.1.0" + } }, - "node_modules/rehype-slug/node_modules/unified/node_modules/vfile": { - "version": "5.3.7", + "node_modules/readdir-glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "balanced-match": "^1.0.0" } }, - "node_modules/rehype-slug/node_modules/unified/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/readdir-glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "brace-expansion": "^2.0.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=10" } }, - "node_modules/rehype-slug/node_modules/unified/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/readdirp": { + "version": "3.6.0", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "picomatch": "^2.2.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8.10.0" } }, - "node_modules/rehype-slug/node_modules/unist-util-visit": { - "version": "4.1.2", + "node_modules/redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=4" } }, - "node_modules/rehype-slug/node_modules/unist-util-visit/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", "dev": true, - "license": "MIT" + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } }, - "node_modules/rehype-slug/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/rehype-external-links": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", + "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-is-element": "^3.0.0", + "is-absolute-url": "^4.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-slug/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-sort-attribute-values": { - "version": "5.0.0", + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", "dev": true, - "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", - "hast-util-is-element": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", "unist-util-visit": "^5.0.0" }, "funding": { @@ -15604,12 +13931,15 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/rehype-sort-attribute-values/node_modules/hast-util-is-element": { - "version": "3.0.0", + "node_modules/rehype-sort-attribute-values": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/rehype-sort-attribute-values/-/rehype-sort-attribute-values-5.0.0.tgz", + "integrity": "sha512-dQdHdCIRnpiU+BkrLSqH+aM4lWJyLqGzv49KvH4gHj+JxYwNqvGhoTXckS3AJu4V9ZutwsTcawP0pC7PhwX0tQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/hast": "^3.0.0" + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-visit": "^5.0.0" }, "funding": { "type": "opencollective", @@ -15618,8 +13948,9 @@ }, "node_modules/rehype-sort-attributes": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/rehype-sort-attributes/-/rehype-sort-attributes-5.0.0.tgz", + "integrity": "sha512-6tJUH4xHFcdO85CZRwAcEtHNCzjZ9V9S0VZLgo1pzbN04qy8jiVCZ3oAxDmBVG3Rth5b1xFTDet5WG/UYZeJLQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/hast": "^3.0.0", "unist-util-visit": "^5.0.0" @@ -15630,1140 +13961,1084 @@ } }, "node_modules/remark-emoji": { - "version": "4.0.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", "dev": true, - "license": "MIT", "dependencies": { + "@types/mdast": "^4.0.2", "emoticon": "^4.0.1", - "mdast-util-find-and-replace": "^3.0.0", - "node-emoji": "^2.1.0" + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" }, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, "node_modules/remark-gfm": { - "version": "3.0.1", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-gfm": "^2.0.0", - "micromark-extension-gfm": "^2.0.0", - "unified": "^10.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-gfm/node_modules/@types/mdast": { - "version": "3.0.12", + "node_modules/remark-mdc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-mdc/-/remark-mdc-3.0.0.tgz", + "integrity": "sha512-VbCe8w416KRFDJy9Nz7r+tRm2O2o8dIHBwnzrSSU2ZSqwMf9EAh/TMU79piTEdajOMElHYtpM3n2EkccCuceeg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "@types/mdast": "^4.0.3", + "@types/unist": "^3.0.2", + "flat": "^6.0.1", + "js-yaml": "^4.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "micromark": "^4.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.1", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.1", + "scule": "^1.1.1", + "stringify-entities": "^4.0.3", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" } }, - "node_modules/remark-gfm/node_modules/@types/mdast/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/remark-mdc/node_modules/flat": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-6.0.1.tgz", + "integrity": "sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==", "dev": true, - "license": "MIT" + "bin": { + "flat": "cli.js" + }, + "engines": { + "node": ">=18" + } }, - "node_modules/remark-gfm/node_modules/unified": { - "version": "10.1.2", + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-gfm/node_modules/unified/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/remark-gfm/node_modules/unified/node_modules/vfile": { - "version": "5.3.7", + "node_modules/remark-rehype": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-gfm/node_modules/unified/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-gfm/node_modules/unified/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/replace-in-file": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.3.5.tgz", + "integrity": "sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "chalk": "^4.1.2", + "glob": "^7.2.0", + "yargs": "^17.2.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "replace-in-file": "bin/cli.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/remark-mdc": { - "version": "2.0.0", + "node_modules/replace-in-file/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "MIT", "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "flat": "^5.0.2", - "js-yaml": "^4.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.1.0", - "micromark": "^4.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.1", - "micromark-util-types": "^2.0.0", - "parse-entities": "^4.0.1", - "scule": "^1.0.0", - "stringify-entities": "^4.0.3", - "unified": "^11.0.2", - "unist-util-visit": "^5.0.0", - "unist-util-visit-parents": "^6.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/remark-parse": { - "version": "10.0.2", + "node_modules/require-directory": { + "version": "2.1.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.4", "dev": true, "license": "MIT", "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/remark-parse/node_modules/@types/mdast": { - "version": "3.0.12", + "node_modules/resolve-from": { + "version": "4.0.0", "dev": true, "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-path": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", + "integrity": "sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==", + "dev": true, + "dependencies": { + "http-errors": "~1.6.2", + "path-is-absolute": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/resolve-path/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/resolve-path/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, "dependencies": { - "@types/unist": "^2" + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/remark-parse/node_modules/@types/mdast/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/resolve-path/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/resolve-path/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/resolve-path/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">= 0.6" + } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown": { - "version": "1.3.1", + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", "dev": true, - "license": "MIT" + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": { - "version": "3.2.0", + "node_modules/rollup": { + "version": "3.29.0", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-dts": { + "version": "5.3.1", "dev": true, - "license": "MIT", + "license": "LGPL-3.0", "dependencies": { - "@types/mdast": "^3.0.0" + "magic-string": "^0.30.2" + }, + "engines": { + "node": ">=v14.21.3" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/Swatinem" + }, + "optionalDependencies": { + "@babel/code-frame": "^7.22.5" + }, + "peerDependencies": { + "rollup": "^3.0", + "typescript": "^4.1 || ^5.0" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark": { - "version": "3.2.0", + "node_modules/rollup-plugin-visualizer": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", + "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-string": { - "version": "1.1.0", + "node_modules/rollup-plugin-visualizer/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "engines": { + "node": ">= 8" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", + "node_modules/run-applescript/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/run-applescript/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/run-applescript/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "engines": { + "node": ">=10.17.0" + } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-destination": { - "version": "1.1.0", + "node_modules/run-applescript/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-label": { - "version": "1.1.0", + "node_modules/run-applescript/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "engines": { + "node": ">=6" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-title": { - "version": "1.1.0", + "node_modules/run-applescript/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-factory-whitespace": { - "version": "1.1.0", + "node_modules/run-applescript/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-util-classify-character": { - "version": "1.1.0", + "node_modules/run-applescript/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/run-applescript/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], "license": "MIT", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "queue-microtask": "^1.2.2" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-core-commonmark/node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } - ], + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, "license": "MIT" }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-factory-space": { - "version": "1.1.0", + "node_modules/scule": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.2.0.tgz", + "integrity": "sha512-CRCmi5zHQnSoeCik9565PONMg0kfkvYmcSqrbOJY4txFfy1wvVULV4FDaiXhUblUgahdqz3F2NwHZ8i4eBTwUw==", + "dev": true + }, + "node_modules/semver": { + "version": "7.5.4", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", + "license": "ISC", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", + "license": "ISC", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-chunked": { - "version": "1.1.0", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0" + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" + "ms": "2.0.0" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-encode": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-resolve-all": { - "version": "1.1.0", + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/sentence-case": { + "version": "3.0.4", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], "license": "MIT", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "no-case": "^3.0.4", + "tslib": "^2.0.3", + "upper-case-first": "^2.0.2" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/micromark/node_modules/micromark-util-subtokenize": { - "version": "1.1.0", + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" + "randombytes": "^2.1.0" } }, - "node_modules/remark-parse/node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/serve-placeholder": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/serve-placeholder/-/serve-placeholder-2.0.1.tgz", + "integrity": "sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "defu": "^6.0.0" } }, - "node_modules/remark-parse/node_modules/unified": { - "version": "10.1.2", + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/remark-parse/node_modules/unified/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true }, - "node_modules/remark-parse/node_modules/unified/node_modules/vfile": { - "version": "5.3.7", + "node_modules/shebang-command": { + "version": "2.0.0", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "shebang-regex": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=8" } }, - "node_modules/remark-parse/node_modules/unified/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/remark-parse/node_modules/unified/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/remark-rehype": { - "version": "10.1.0", - "dev": true, - "license": "MIT", + "node_modules/shiki": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.4.tgz", + "integrity": "sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==", "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" } }, - "node_modules/remark-rehype/node_modules/@types/hast": { - "version": "2.3.5", + "node_modules/shiki-es": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/shiki-es/-/shiki-es-0.14.0.tgz", + "integrity": "sha512-e+/aueHx0YeIEut6RXC6K8gSf0PykwZiHD7q7AHtpTW8Kd8TpFUIWqTwhAnrGjOyOMyrwv+syr5WPagMpDpVYQ==", + "deprecated": "Please migrate to https://github.com/antfu/shikiji", + "dev": true + }, + "node_modules/shikiji": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/shikiji/-/shikiji-0.9.19.tgz", + "integrity": "sha512-Kw2NHWktdcdypCj1GkKpXH4o6Vxz8B8TykPlPuLHOGSV8VkhoCLcFOH4k19K4LXAQYRQmxg+0X/eM+m2sLhAkg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "shikiji-core": "0.9.19" } }, - "node_modules/remark-rehype/node_modules/@types/hast/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" + "node_modules/shikiji-core": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/shikiji-core/-/shikiji-core-0.9.19.tgz", + "integrity": "sha512-AFJu/vcNT21t0e6YrfadZ+9q86gvPum6iywRyt1OtIPjPFe25RQnYJyxHQPMLKCCWA992TPxmEmbNcOZCAJclw==", + "dev": true }, - "node_modules/remark-rehype/node_modules/@types/mdast": { - "version": "3.0.12", + "node_modules/shikiji-transformers": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/shikiji-transformers/-/shikiji-transformers-0.9.19.tgz", + "integrity": "sha512-lGLI7Z8frQrIBbhZ74/eiJtxMoCQRbpaHEB+gcfvdIy+ZFaAtXncJGnc52932/UET+Y4GyKtwwC/vjWUCp+c/Q==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2" + "shikiji": "0.9.19" } }, - "node_modules/remark-rehype/node_modules/@types/mdast/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/siginfo": { + "version": "2.0.0", "dev": true, - "license": "MIT" + "license": "ISC" }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast": { - "version": "12.3.0", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-definitions": "^5.0.0", - "micromark-util-sanitize-uri": "^1.1.0", - "trim-lines": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" + "engines": { + "node": ">=14" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", + "node_modules/sigstore": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.0.tgz", + "integrity": "sha512-fcU9clHwEss2/M/11FFM8Jwc4PjBgbhXoNskoK5guoK0qGQBSeUbQZRJ+B2fDFIvhyf0gqCaPrel9mszbhAxug==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" + "@sigstore/bundle": "^2.1.1", + "@sigstore/core": "^0.2.0", + "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/sign": "^2.2.1", + "@sigstore/tuf": "^2.3.0", + "@sigstore/verify": "^0.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { - "version": "1.2.0", + "node_modules/simple-git": { + "version": "3.22.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.22.0.tgz", + "integrity": "sha512-6JujwSs0ac82jkGjMHiCnTifvf1crOiY/+tfs/Pqih6iow7VrpNKRRNdWm6RtaXpvvv/JGNYhlUtLhGFqHF+Yw==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character/node_modules/micromark-util-types": { - "version": "1.1.0", + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-encode": { - "version": "1.1.0", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { - "version": "1.1.0", + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/unist-util-position": { - "version": "4.0.4", + "node_modules/slash": { + "version": "4.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" + "engines": { + "node": ">=12" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/unist-util-position/node_modules/@types/unist": { - "version": "2.0.8", + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=8.0.0" + } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/unist-util-visit": { - "version": "4.1.2", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.1.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/unist-util-visit/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" + "node_modules/smob": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.1.tgz", + "integrity": "sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==", + "dev": true }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/unist-util-visit/node_modules/unist-util-is": { - "version": "5.2.1", + "node_modules/snake-case": { + "version": "3.0.4", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast/node_modules/unist-util-visit/node_modules/unist-util-visit-parents": { - "version": "5.1.3", + "node_modules/socket.io-client": { + "version": "4.7.2", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.5.2", + "socket.io-parser": "~4.2.4" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/remark-rehype/node_modules/unified": { - "version": "10.1.2", + "node_modules/socket.io-parser": { + "version": "4.2.4", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">=10.0.0" } }, - "node_modules/remark-rehype/node_modules/unified/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/remark-rehype/node_modules/unified/node_modules/vfile": { - "version": "5.3.7", + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "node_modules/remark-rehype/node_modules/unified/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0" + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 14" } }, - "node_modules/remark-rehype/node_modules/unified/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" + "debug": "^4.3.4" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": ">= 14" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "license": "MIT", + "node_modules/source-map": { + "version": "0.6.1", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/resolve": { - "version": "1.22.4", + "node_modules/source-map-support": { + "version": "0.5.21", "dev": true, "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/resolve-from": { - "version": "4.0.0", + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "license": "MIT", "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/retry": { - "version": "0.12.0", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/reusify": { - "version": "1.0.4", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, - "node_modules/rimraf": { - "version": "3.0.2", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "ISC", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", "dev": true, - "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/rollup": { - "version": "3.29.0", + "node_modules/stackback": { + "version": "0.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/standard-as-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", + "dev": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": ">= 0.8" } }, - "node_modules/rollup-plugin-dts": { - "version": "5.3.1", + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "node_modules/streamx": { + "version": "2.15.6", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.6.tgz", + "integrity": "sha512-q+vQL4AAz+FdfT137VF69Cc/APqUbxy+MDOImRrMvchJpigHj9GksgDU2LYbO9rx7RX6osWgxJB2WxhYv4SZAw==", "dev": true, - "license": "LGPL-3.0", "dependencies": { - "magic-string": "^0.30.2" - }, - "engines": { - "node": ">=v14.21.3" - }, - "funding": { - "url": "https://github.com/sponsors/Swatinem" - }, - "optionalDependencies": { - "@babel/code-frame": "^7.22.5" - }, - "peerDependencies": { - "rollup": "^3.0", - "typescript": "^4.1 || ^5.0" + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" } }, - "node_modules/rollup-plugin-visualizer": { - "version": "5.9.2", + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", "dependencies": { - "open": "^8.4.0", - "picomatch": "^2.3.1", - "source-map": "^0.7.4", - "yargs": "^17.5.1" - }, - "bin": { - "rollup-plugin-visualizer": "dist/bin/cli.js" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "2.x || 3.x" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "safe-buffer": "~5.2.0" } }, - "node_modules/rollup-plugin-visualizer/node_modules/open": { - "version": "8.4.2", + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { "node": ">=12" @@ -16772,2266 +15047,2530 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rollup-plugin-visualizer/node_modules/open/node_modules/define-lazy-prop": { - "version": "2.0.0", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { "node": ">=8" } }, - "node_modules/rollup-plugin-visualizer/node_modules/open/node_modules/is-docker": { - "version": "2.2.1", + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/rollup-plugin-visualizer/node_modules/source-map": { - "version": "0.7.4", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/run-applescript": { - "version": "5.0.0", + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { - "execa": "^5.0.0" + "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/run-applescript/node_modules/execa": { - "version": "5.1.1", + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", "dev": true, - "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/run-applescript/node_modules/execa/node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/run-applescript/node_modules/execa/node_modules/is-stream": { - "version": "2.0.1", - "dev": true, + "node_modules/strip-ansi": { + "version": "6.0.1", "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/run-applescript/node_modules/execa/node_modules/npm-run-path": { - "version": "4.0.1", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" } }, - "node_modules/run-applescript/node_modules/execa/node_modules/onetime": { - "version": "5.1.2", + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, "engines": { - "node": ">=6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/run-applescript/node_modules/execa/node_modules/onetime/node_modules/mimic-fn": { - "version": "2.1.0", + "node_modules/strip-json-comments": { + "version": "3.1.1", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/run-applescript/node_modules/execa/node_modules/strip-final-newline": { - "version": "2.0.0", + "node_modules/strip-literal": { + "version": "1.3.0", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" + "acorn": "^8.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/rxjs": { - "version": "7.8.1", + "node_modules/style-dictionary-esm": { + "version": "1.6.2", "dev": true, "license": "Apache-2.0", "dependencies": { - "tslib": "^2.1.0" + "chalk": "^5.3.0", + "change-case": "^4.1.2", + "commander": "^11.0.0", + "consola": "^3.2.3", + "fast-glob": "^3.3.1", + "glob": "^10.3.3", + "jiti": "^1.19.3", + "json5": "^2.2.3", + "jsonc-parser": "^3.2.0", + "lodash.template": "^4.5.0", + "tinycolor2": "^1.6.0" + }, + "bin": { + "style-dictionary": "bin/style-dictionary.js" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/sade": { - "version": "1.8.1", + "node_modules/style-dictionary-esm/node_modules/chalk": { + "version": "5.3.0", "dev": true, "license": "MIT", - "dependencies": { - "mri": "^1.1.0" - }, "engines": { - "node": ">=6" + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/scule": { - "version": "1.0.0", + "node_modules/style-dictionary-esm/node_modules/commander": { + "version": "11.0.0", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=16" + } }, - "node_modules/seek-bzip": { - "version": "1.0.6", + "node_modules/stylehacks": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.2.tgz", + "integrity": "sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==", "dev": true, - "license": "MIT", "dependencies": { - "commander": "^2.8.1" + "browserslist": "^4.22.2", + "postcss-selector-parser": "^6.0.15" }, - "bin": { - "seek-bunzip": "bin/seek-bunzip", - "seek-table": "bin/seek-bzip-table" + "engines": { + "node": "^14 || ^16 || >=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" } }, - "node_modules/seek-bzip/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, - "node_modules/semver": { - "version": "7.5.4", + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, - "license": "ISC", "dependencies": { - "lru-cache": "^6.0.0" + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" }, "bin": { - "semver": "bin/semver.js" + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/send": { - "version": "0.18.0", + "node_modules/supports-color": { + "version": "7.2.0", "dev": true, "license": "MIT", "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", "dev": true, "license": "MIT", - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "dev": true, - "license": "MIT" + "node_modules/svg-tags": { + "version": "1.0.0", + "dev": true }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", + "node_modules/svgo": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz", + "integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==", "dev": true, - "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, "bin": { - "mime": "cli.js" + "svgo": "bin/svgo" }, "engines": { - "node": ">=4" + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" } }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", + "node_modules/system-architecture": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", + "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/sentence-case": { - "version": "3.0.4", + "node_modules/tabbable": { + "version": "6.2.0", "dev": true, - "license": "MIT", - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3", - "upper-case-first": "^2.0.2" - } + "license": "MIT" }, - "node_modules/serialize-javascript": { - "version": "6.0.1", + "node_modules/tailwind-config-viewer": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/tailwind-config-viewer/-/tailwind-config-viewer-1.7.3.tgz", + "integrity": "sha512-rgeFXe9vL4njtaSI1y2uUAD1aRx05RYHbReN72ARAVEVSlNmS0Zf46pj3/ORc3xQwLK/AzbaIs6UFcK7hJSIlA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { - "randombytes": "^2.1.0" + "@koa/router": "^12.0.1", + "commander": "^6.0.0", + "fs-extra": "^9.0.1", + "koa": "^2.14.2", + "koa-static": "^5.0.0", + "open": "^7.0.4", + "portfinder": "^1.0.26", + "replace-in-file": "^6.1.0" + }, + "bin": { + "tailwind-config-viewer": "cli/index.js", + "tailwindcss-config-viewer": "cli/index.js" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "tailwindcss": "1 || 2 || 2.0.1-compat || 3" } }, - "node_modules/serve-placeholder": { - "version": "2.0.1", + "node_modules/tailwind-config-viewer/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, - "license": "MIT", - "dependencies": { - "defu": "^6.0.0" + "engines": { + "node": ">= 6" } }, - "node_modules/serve-static": { - "version": "1.15.0", + "node_modules/tailwind-config-viewer/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, - "license": "MIT", "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=10" } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "dev": true, - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "2.0.0", + }, + "node_modules/tailwind-config-viewer/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" + "bin": { + "is-docker": "cli.js" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/shebang-regex": { - "version": "3.0.0", + "node_modules/tailwind-config-viewer/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, "engines": { "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.8.1", + "node_modules/tailwind-config-viewer/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", "dev": true, - "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/shiki": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.4.tgz", - "integrity": "sha512-IXCRip2IQzKwxArNNq1S+On4KPML3Yyn8Zzs/xRgcgOWIr8ntIK3IKzjFPfjy/7kt9ZMjc+FItfqHRBg8b6tNQ==", + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dev": true, "dependencies": { - "ansi-sequence-parser": "^1.1.0", - "jsonc-parser": "^3.2.0", - "vscode-oniguruma": "^1.7.0", - "vscode-textmate": "^8.0.0" + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" } }, - "node_modules/shiki-es": { - "version": "0.14.0", - "dev": true, - "license": "MIT" - }, - "node_modules/siginfo": { - "version": "2.0.0", + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=10" + } }, - "node_modules/signal-exit": { - "version": "3.0.7", + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=6" + } }, - "node_modules/sigstore": { - "version": "1.9.0", + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^1.1.0", - "@sigstore/protobuf-specs": "^0.2.0", - "@sigstore/sign": "^1.0.0", - "@sigstore/tuf": "^1.0.3", - "make-fetch-happen": "^11.0.1" - }, - "bin": { - "sigstore": "bin/sigstore.js" + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/sirv": { - "version": "2.0.3", + "node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", "dev": true, - "license": "MIT", "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">= 10" + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, - "node_modules/sisteransi": { - "version": "1.0.5", + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, - "license": "MIT" + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/skin-tone": { - "version": "2.0.0", + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "license": "MIT", "dependencies": { - "unicode-emoji-modifier-base": "^1.0.0" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/slash": { - "version": "4.0.0", + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/slugify": { - "version": "1.6.6", + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", + "node_modules/terser": { + "version": "5.19.4", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=10" } }, - "node_modules/smob": { - "version": "1.4.0", + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", "dev": true, "license": "MIT" }, - "node_modules/snake-case": { - "version": "3.0.4", + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, - "license": "MIT", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "any-promise": "^1.0.0" } }, - "node_modules/socket.io-client": { - "version": "4.7.2", + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, - "license": "MIT", "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.2", - "engine.io-client": "~6.5.2", - "socket.io-parser": "~4.2.4" + "thenify": ">= 3.1.0 < 4" }, "engines": { - "node": ">=10.0.0" + "node": ">=0.8" } }, - "node_modules/socket.io-parser": { - "version": "4.2.4", + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", + "dev": true + }, + "node_modules/tinybench": { + "version": "2.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/tinycolor2": { + "version": "1.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "0.6.0", "dev": true, "license": "MIT", - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, "engines": { - "node": ">=10.0.0" + "node": ">=14.0.0" } }, - "node_modules/socks": { - "version": "2.7.1", + "node_modules/tinyspy": { + "version": "2.1.1", "dev": true, "license": "MIT", - "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - }, "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "node": ">=14.0.0" } }, - "node_modules/socks-proxy-agent": { - "version": "7.0.0", + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, "engines": { - "node": ">= 10" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/socks-proxy-agent/node_modules/agent-base": { - "version": "6.0.2", + "node_modules/to-fast-properties": { + "version": "2.0.0", "dev": true, "license": "MIT", - "dependencies": { - "debug": "4" - }, "engines": { - "node": ">= 6.0.0" + "node": ">=4" } }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", + "node_modules/to-regex-range": { + "version": "5.0.1", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0" } }, - "node_modules/source-map-js": { - "version": "1.0.2", + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "license": "BSD-3-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=0.6" } }, - "node_modules/source-map-support": { - "version": "0.5.21", + "node_modules/totalist": { + "version": "3.0.1", "dev": true, "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "engines": { + "node": ">=6" } }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/spdx-correct": { - "version": "3.2.0", + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "dev": true, + "node_modules/ts-morph": { + "version": "19.0.0", "license": "MIT", "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "@ts-morph/common": "~0.20.0", + "code-block-writer": "^12.0.0" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.13", + "node_modules/tslib": { + "version": "2.6.2", "dev": true, - "license": "CC0-1.0" + "license": "0BSD" }, - "node_modules/ssri": { - "version": "10.0.5", + "node_modules/tsscmp": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", + "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=0.6.x" } }, - "node_modules/ssri/node_modules/minipass": { - "version": "7.0.3", + "node_modules/tsutils": { + "version": "3.21.0", "dev": true, - "license": "ISC", + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, "engines": { - "node": ">=16 || 14 >=14.17" + "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" } }, - "node_modules/stackback": { - "version": "0.0.2", + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", "dev": true, - "license": "MIT" + "license": "0BSD" }, - "node_modules/standard-as-callback": { - "version": "2.1.0", + "node_modules/tuf-js": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.0.tgz", + "integrity": "sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==", "dev": true, - "license": "MIT" + "dependencies": { + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } }, - "node_modules/statuses": { - "version": "2.0.1", + "node_modules/type-check": { + "version": "0.4.0", "dev": true, "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8.0" } }, - "node_modules/std-env": { - "version": "3.4.3", - "dev": true, - "license": "MIT" - }, - "node_modules/streamsearch": { - "version": "1.1.0", + "node_modules/type-detect": { + "version": "4.0.8", "dev": true, + "license": "MIT", "engines": { - "node": ">=10.0.0" + "node": ">=4" } }, - "node_modules/streamx": { - "version": "2.15.1", + "node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", "dev": true, - "license": "MIT", - "dependencies": { - "fast-fifo": "^1.1.0", - "queue-tick": "^1.0.1" + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string_decoder": { - "version": "1.3.0", + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/string-width": { - "version": "5.1.2", - "dev": true, - "license": "MIT", + "node_modules/typedoc": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.1.tgz", + "integrity": "sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA==", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "lunr": "^2.3.9", + "marked": "^4.3.0", + "minimatch": "^9.0.3", + "shiki": "^0.14.1" + }, + "bin": { + "typedoc": "bin/typedoc" }, "engines": { - "node": ">=12" + "node": ">= 16" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x" } }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "dev": true, - "license": "MIT", + "node_modules/typedoc-plugin-markdown": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.16.0.tgz", + "integrity": "sha512-eeiC78fDNGFwemPIHiwRC+mEC7W5jwt3fceUev2gJ2nFnXpVHo8eRrpC9BLWZDee6ehnz/sPmNjizbXwpfaTBw==", "dependencies": { - "ansi-regex": "^6.0.1" + "handlebars": "^4.7.7" + }, + "peerDependencies": { + "typedoc": ">=0.24.0" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=12" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/string-width/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=14.17" } }, - "node_modules/stringify-entities": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" + "node_modules/ufo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", + "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "engines": { + "node": ">=0.8.0" } }, - "node_modules/strip-ansi": { - "version": "6.0.1", + "node_modules/ultrahtml": { + "version": "1.5.2", + "dev": true, + "license": "MIT" + }, + "node_modules/unbuild": { + "version": "1.2.1", + "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "@rollup/plugin-alias": "^5.0.0", + "@rollup/plugin-commonjs": "^24.1.0", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.2", + "@rollup/plugin-replace": "^5.0.2", + "@rollup/pluginutils": "^5.0.2", + "chalk": "^5.2.0", + "consola": "^3.0.2", + "defu": "^6.1.2", + "esbuild": "^0.17.16", + "globby": "^13.1.4", + "hookable": "^5.5.3", + "jiti": "^1.18.2", + "magic-string": "^0.30.0", + "mkdist": "^1.2.0", + "mlly": "^1.2.0", + "mri": "^1.2.0", + "pathe": "^1.1.0", + "pkg-types": "^1.0.2", + "pretty-bytes": "^6.1.0", + "rollup": "^3.20.2", + "rollup-plugin-dts": "^5.3.0", + "scule": "^1.0.0", + "typescript": "^5.0.4", + "untyped": "^1.3.2" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-dirs": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-natural-number": "^4.0.1" + "bin": { + "unbuild": "dist/cli.mjs" } }, - "node_modules/strip-final-newline": { - "version": "3.0.0", + "node_modules/unbuild/node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-json-comments": { - "version": "3.1.1", + "node_modules/unbuild/node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/strip-literal": { - "version": "1.3.0", + "node_modules/unbuild/node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/style-dictionary-esm": { - "version": "1.6.2", + "node_modules/unbuild/node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "chalk": "^5.3.0", - "change-case": "^4.1.2", - "commander": "^11.0.0", - "consola": "^3.2.3", - "fast-glob": "^3.3.1", - "glob": "^10.3.3", - "jiti": "^1.19.3", - "json5": "^2.2.3", - "jsonc-parser": "^3.2.0", - "lodash.template": "^4.5.0", - "tinycolor2": "^1.6.0" - }, - "bin": { - "style-dictionary": "bin/style-dictionary.js" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=12.0.0" + "node": ">=12" } }, - "node_modules/style-dictionary-esm/node_modules/chalk": { - "version": "5.3.0", + "node_modules/unbuild/node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=12" } }, - "node_modules/style-dictionary-esm/node_modules/commander": { - "version": "11.0.0", + "node_modules/unbuild/node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=16" + "node": ">=12" } }, - "node_modules/stylehacks": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.0.tgz", - "integrity": "sha512-+UT589qhHPwz6mTlCLSt/vMNTJx8dopeJlZAlBMJPWA3ORqu6wmQY7FBXf+qD+FsqoBJODyqNxOUP3jdntFRdw==", + "node_modules/unbuild/node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14 || ^16 || >=18.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=12" } }, - "node_modules/supports-color": { - "version": "7.2.0", + "node_modules/unbuild/node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", + "node_modules/unbuild/node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=12" } }, - "node_modules/svg-tags": { - "version": "1.0.0", - "dev": true - }, - "node_modules/svgo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", - "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "node_modules/unbuild/node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], "dev": true, - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.2.1", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" + "node": ">=12" } }, - "node_modules/tabbable": { - "version": "6.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/unbuild/node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], "dev": true, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/tar": { - "version": "6.2.0", + "node_modules/unbuild/node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/tar-stream": { - "version": "3.1.6", + "node_modules/unbuild/node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "b4a": "^1.6.4", - "fast-fifo": "^1.2.0", - "streamx": "^2.15.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", + "node_modules/unbuild/node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 8" + "node": ">=12" } }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", + "node_modules/unbuild/node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", + "node_modules/unbuild/node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/terser": { - "version": "5.19.4", + "node_modules/unbuild/node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "dev": true, - "license": "MIT" - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/through": { - "version": "2.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==", - "dev": true - }, - "node_modules/tinybench": { - "version": "2.5.0", + "node_modules/unbuild/node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/tinycolor2": { - "version": "1.6.0", + "node_modules/unbuild/node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/tinypool": { - "version": "0.6.0", + "node_modules/unbuild/node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "node_modules/tinyspy": { - "version": "2.1.1", + "node_modules/unbuild/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "node_modules/titleize": { - "version": "3.0.0", + "node_modules/unbuild/node_modules/@rollup/plugin-commonjs": { + "version": "24.1.0", "dev": true, "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "commondir": "^1.0.1", + "estree-walker": "^2.0.2", + "glob": "^8.0.3", + "is-reference": "1.2.1", + "magic-string": "^0.27.0" + }, "engines": { - "node": ">=12" + "node": ">=14.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "rollup": "^2.68.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/to-buffer": { - "version": "1.1.1", + "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { + "version": "2.0.2", "dev": true, "license": "MIT" }, - "node_modules/to-fast-properties": { - "version": "2.0.0", + "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/glob": { + "version": "8.1.0", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "license": "MIT", + "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", "dependencies": { - "is-number": "^7.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=8.0" + "node": ">=10" } }, - "node_modules/toidentifier": { - "version": "1.0.1", + "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { + "version": "2.0.1", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.6" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "node_modules/totalist": { - "version": "3.0.1", + "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { + "version": "0.27.0", "dev": true, "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/tr46": { - "version": "0.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/trim-lines": { - "version": "3.0.1", + "node_modules/unbuild/node_modules/chalk": { + "version": "5.3.0", "dev": true, "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/trough": { - "version": "2.1.0", + "node_modules/unbuild/node_modules/esbuild": { + "version": "0.17.19", "dev": true, + "hasInstallScript": true, "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-morph": { - "version": "19.0.0", - "license": "MIT", - "dependencies": { - "@ts-morph/common": "~0.20.0", - "code-block-writer": "^12.0.0" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "dev": true, - "license": "0BSD" + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } }, - "node_modules/tsutils": { - "version": "3.21.0", + "node_modules/unbuild/node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, + "optional": true, + "os": [ + "darwin" + ], "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" + "node": ">=12" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", + "node_modules/uncrypto": { + "version": "0.1.3", "dev": true, - "license": "0BSD" + "license": "MIT" }, - "node_modules/tsx": { - "version": "3.12.8", + "node_modules/unctx": { + "version": "2.3.1", "dev": true, "license": "MIT", "dependencies": { - "@esbuild-kit/cjs-loader": "^2.4.2", - "@esbuild-kit/core-utils": "^3.2.2", - "@esbuild-kit/esm-loader": "^2.5.5" - }, - "bin": { - "tsx": "dist/cli.js" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "acorn": "^8.8.2", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.0", + "unplugin": "^1.3.1" } }, - "node_modules/tuf-js": { - "version": "1.1.7", + "node_modules/undici": { + "version": "5.28.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", + "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", "dev": true, - "license": "MIT", "dependencies": { - "@tufjs/models": "1.0.4", - "debug": "^4.3.4", - "make-fetch-happen": "^11.1.1" + "@fastify/busboy": "^2.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=14.0" } }, - "node_modules/type-check": { - "version": "0.4.0", + "node_modules/unenv": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.9.0.tgz", + "integrity": "sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==", "dev": true, - "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1" + "consola": "^3.2.3", + "defu": "^6.1.3", + "mime": "^3.0.0", + "node-fetch-native": "^1.6.1", + "pathe": "^1.1.1" + } + }, + "node_modules/unhead": { + "version": "1.8.9", + "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.8.9.tgz", + "integrity": "sha512-qqCNmA4KOEDjcl+OtRZTllGehXewcQ31zbHjvhl/jqCs2MfRcZoxFW1y7A4Y4BgR/O7PI89K+GoWGcxK3gn64Q==", + "dev": true, + "dependencies": { + "@unhead/dom": "1.8.9", + "@unhead/schema": "1.8.9", + "@unhead/shared": "1.8.9", + "hookable": "^5.5.3" }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "url": "https://github.com/sponsors/harlan-zw" } }, - "node_modules/type-detect": { - "version": "4.0.8", + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/type-fest": { - "version": "2.19.0", + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=12.20" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typedoc": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.1.tgz", - "integrity": "sha512-c2ye3YUtGIadxN2O6YwPEXgrZcvhlZ6HlhWZ8jQRNzwLPn2ylhdGqdR8HbyDRyALP8J6lmSANILCkkIdNPFxqA==", - "dependencies": { - "lunr": "^2.3.9", - "marked": "^4.3.0", - "minimatch": "^9.0.3", - "shiki": "^0.14.1" - }, - "bin": { - "typedoc": "bin/typedoc" - }, - "engines": { - "node": ">= 16" - }, - "peerDependencies": { - "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x" - } - }, - "node_modules/typedoc-plugin-markdown": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.16.0.tgz", - "integrity": "sha512-eeiC78fDNGFwemPIHiwRC+mEC7W5jwt3fceUev2gJ2nFnXpVHo8eRrpC9BLWZDee6ehnz/sPmNjizbXwpfaTBw==", + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dev": true, "dependencies": { - "handlebars": "^4.7.7" + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" }, - "peerDependencies": { - "typedoc": ">=0.24.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/typedoc/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/unimport": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.7.1.tgz", + "integrity": "sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==", + "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "@rollup/pluginutils": "^5.1.0", + "acorn": "^8.11.2", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fast-glob": "^3.3.2", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "scule": "^1.1.1", + "strip-literal": "^1.3.0", + "unplugin": "^1.5.1" } }, - "node_modules/typedoc/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "node_modules/unimport/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typesafe-path": { - "version": "0.2.2", + "node_modules/unimport/node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, - "license": "MIT" - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" }, "engines": { - "node": ">=14.17" - } - }, - "node_modules/ufo": { - "version": "1.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" + "node": ">=14" }, - "engines": { - "node": ">=0.8.0" + "funding": { + "url": "https://github.com/sponsors/antfu" } }, - "node_modules/ultrahtml": { - "version": "1.5.2", - "dev": true, - "license": "MIT" - }, - "node_modules/unbuild": { - "version": "1.2.1", + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dev": true, - "license": "MIT", "dependencies": { - "@rollup/plugin-alias": "^5.0.0", - "@rollup/plugin-commonjs": "^24.1.0", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.0.2", - "@rollup/plugin-replace": "^5.0.2", - "@rollup/pluginutils": "^5.0.2", - "chalk": "^5.2.0", - "consola": "^3.0.2", - "defu": "^6.1.2", - "esbuild": "^0.17.16", - "globby": "^13.1.4", - "hookable": "^5.5.3", - "jiti": "^1.18.2", - "magic-string": "^0.30.0", - "mkdist": "^1.2.0", - "mlly": "^1.2.0", - "mri": "^1.2.0", - "pathe": "^1.1.0", - "pkg-types": "^1.0.2", - "pretty-bytes": "^6.1.0", - "rollup": "^3.20.2", - "rollup-plugin-dts": "^5.3.0", - "scule": "^1.0.0", - "typescript": "^5.0.4", - "untyped": "^1.3.2" + "unique-slug": "^4.0.0" }, - "bin": { - "unbuild": "dist/cli.mjs" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/unbuild/node_modules/@rollup/plugin-commonjs": { - "version": "24.1.0", + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dev": true, - "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "commondir": "^1.0.1", - "estree-walker": "^2.0.2", - "glob": "^8.0.3", - "is-reference": "1.2.1", - "magic-string": "^0.27.0" + "imurmurhash": "^0.1.4" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.68.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/glob": { - "version": "8.1.0", + "node_modules/unist-builder": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-4.0.0.tgz", + "integrity": "sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==", "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" + "dependencies": { + "@types/unist": "^3.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "@types/unist": "^3.0.0" }, - "engines": { - "node": ">=10" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion": { - "version": "2.0.1", + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", "dev": true, - "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unbuild/node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { - "version": "0.27.0", + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" + "@types/unist": "^3.0.0" }, - "engines": { - "node": ">=12" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unbuild/node_modules/chalk": { - "version": "5.3.0", + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unbuild/node_modules/esbuild": { - "version": "0.17.19", + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/unbuild/node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "cpu": [ - "arm64" - ], + "node_modules/universalify": { + "version": "2.0.0", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], "engines": { - "node": ">=12" + "node": ">= 10.0.0" } }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", + "node_modules/unplugin": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.6.0.tgz", + "integrity": "sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==", "dev": true, - "license": "MIT", "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" + "acorn": "^8.11.2", + "chokidar": "^3.5.3", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.6.1" } }, - "node_modules/uncrypto": { - "version": "0.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/unctx": { - "version": "2.3.1", + "node_modules/unplugin-vue-router": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/unplugin-vue-router/-/unplugin-vue-router-0.7.0.tgz", + "integrity": "sha512-ddRreGq0t5vlSB7OMy4e4cfU1w2AwBQCwmvW3oP/0IHQiokzbx4hd3TpwBu3eIAFVuhX2cwNQwp1U32UybTVCw==", "dev": true, - "license": "MIT", "dependencies": { - "acorn": "^8.8.2", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.0", - "unplugin": "^1.3.1" + "@babel/types": "^7.22.19", + "@rollup/pluginutils": "^5.0.4", + "@vue-macros/common": "^1.8.0", + "ast-walker-scope": "^0.5.0", + "chokidar": "^3.5.3", + "fast-glob": "^3.3.1", + "json5": "^2.2.3", + "local-pkg": "^0.4.3", + "mlly": "^1.4.2", + "pathe": "^1.1.1", + "scule": "^1.0.0", + "unplugin": "^1.5.0", + "yaml": "^2.3.2" + }, + "peerDependencies": { + "vue-router": "^4.1.0" + }, + "peerDependenciesMeta": { + "vue-router": { + "optional": true + } } }, - "node_modules/undici": { - "version": "5.24.0", + "node_modules/unstorage": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.10.1.tgz", + "integrity": "sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==", "dev": true, - "license": "MIT", "dependencies": { - "busboy": "^1.6.0" + "anymatch": "^3.1.3", + "chokidar": "^3.5.3", + "destr": "^2.0.2", + "h3": "^1.8.2", + "ioredis": "^5.3.2", + "listhen": "^1.5.5", + "lru-cache": "^10.0.2", + "mri": "^1.2.0", + "node-fetch-native": "^1.4.1", + "ofetch": "^1.3.3", + "ufo": "^1.3.1" }, - "engines": { - "node": ">=14.0" + "peerDependencies": { + "@azure/app-configuration": "^1.4.1", + "@azure/cosmos": "^4.0.0", + "@azure/data-tables": "^13.2.2", + "@azure/identity": "^3.3.2", + "@azure/keyvault-secrets": "^4.7.0", + "@azure/storage-blob": "^12.16.0", + "@capacitor/preferences": "^5.0.6", + "@netlify/blobs": "^6.2.0", + "@planetscale/database": "^1.11.0", + "@upstash/redis": "^1.23.4", + "@vercel/kv": "^0.2.3", + "idb-keyval": "^6.2.1" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "idb-keyval": { + "optional": true + } } }, - "node_modules/unenv": { - "version": "1.7.4", + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", "dev": true, - "license": "MIT", - "dependencies": { - "consola": "^3.2.3", - "defu": "^6.1.2", - "mime": "^3.0.0", - "node-fetch-native": "^1.4.0", - "pathe": "^1.1.1" + "engines": { + "node": ">=8" } }, - "node_modules/unhead": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.7.4.tgz", - "integrity": "sha512-oOv+9aQS85DQUd0f1uJBtb2uG3SKwCURSTuUWp9WKKzANCb1TjW2dWp5TFmJH5ILF6urXi4uUQfjK+SawzBJAA==", + "node_modules/untun": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", + "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", "dev": true, "dependencies": { - "@unhead/dom": "1.7.4", - "@unhead/schema": "1.7.4", - "@unhead/shared": "1.7.4", - "hookable": "^5.5.3" + "citty": "^0.1.5", + "consola": "^3.2.3", + "pathe": "^1.1.1" }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" + "bin": { + "untun": "bin/untun.mjs" } }, - "node_modules/unhead/node_modules/@unhead/schema": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.7.4.tgz", - "integrity": "sha512-wUL4CK0NSEm3KH4kYsiqVYQw5xBk1hpBi5tiNj0BTZgpQVrRufICdK5EHA9Fh7OIAR6tOTWwTvsf5+nK0BgQDA==", + "node_modules/untyped": { + "version": "1.4.0", "dev": true, + "license": "MIT", "dependencies": { - "hookable": "^5.5.3", - "zhead": "^2.1.1" + "@babel/core": "^7.22.9", + "@babel/standalone": "^7.22.9", + "@babel/types": "^7.22.5", + "defu": "^6.1.2", + "jiti": "^1.19.1", + "mri": "^1.2.0", + "scule": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/harlan-zw" - } - }, - "node_modules/unicode-emoji-modifier-base": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" + "bin": { + "untyped": "dist/cli.mjs" } }, - "node_modules/unified": { - "version": "11.0.3", + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, - "license": "MIT", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" + "escalade": "^3.1.1", + "picocolors": "^1.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/unimport": { - "version": "3.3.0", + "node_modules/upper-case": { + "version": "2.0.2", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.0.4", - "escape-string-regexp": "^5.0.0", - "fast-glob": "^3.3.1", - "local-pkg": "^0.4.3", - "magic-string": "^0.30.3", - "mlly": "^1.4.1", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "scule": "^1.0.0", - "strip-literal": "^1.3.0", - "unplugin": "^1.4.0" + "tslib": "^2.0.3" } }, - "node_modules/unimport/node_modules/escape-string-regexp": { - "version": "5.0.0", + "node_modules/upper-case-first": { + "version": "2.0.2", "dev": true, "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unique-filename": { - "version": "3.0.0", - "dev": true, - "license": "ISC", "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "tslib": "^2.0.3" } }, - "node_modules/unique-slug": { - "version": "4.0.0", + "node_modules/uqr": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz", + "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.4.1", "dev": true, - "license": "ISC", + "license": "BSD-2-Clause", "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "punycode": "^2.1.0" } }, - "node_modules/unist-builder": { - "version": "4.0.0", + "node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==", + "dev": true + }, + "node_modules/util": { + "version": "0.12.5", "dev": true, "license": "MIT", "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" } }, - "node_modules/unist-util-generated": { - "version": "2.0.1", + "node_modules/util-deprecate": { + "version": "1.0.2", "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } + "license": "MIT" }, - "node_modules/unist-util-is": { - "version": "6.0.0", + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/unist-util-position": { + "node_modules/validate-npm-package-name": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^3.0.0" + "builtins": "^5.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", "dev": true, - "license": "MIT", "dependencies": { - "@types/unist": "^3.0.0" + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-visit": { - "version": "5.0.0", + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", "dev": true, - "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" + "vfile": "^6.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", "dev": true, - "license": "MIT", "dependencies": { "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" + "unist-util-stringify-position": "^4.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/universalify": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unplugin": { - "version": "1.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.9.0", - "chokidar": "^3.5.3", - "webpack-sources": "^3.2.3", - "webpack-virtual-modules": "^0.5.0" - } - }, - "node_modules/unplugin-vue-router": { - "version": "0.6.4", + "node_modules/vite": { + "version": "4.4.9", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.21.5", - "@rollup/pluginutils": "^5.0.2", - "@vue-macros/common": "^1.3.1", - "ast-walker-scope": "^0.4.1", - "chokidar": "^3.5.3", - "fast-glob": "^3.2.12", - "json5": "^2.2.3", - "local-pkg": "^0.4.3", - "mlly": "^1.2.0", - "pathe": "^1.1.0", - "scule": "^1.0.0", - "unplugin": "^1.3.1", - "yaml": "^2.2.2" + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" }, "peerDependencies": { - "vue-router": "^4.1.0" + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, "peerDependenciesMeta": { - "vue-router": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { "optional": true } } }, - "node_modules/unstorage": { - "version": "1.9.0", + "node_modules/vite-node": { + "version": "0.33.0", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "^3.1.3", - "chokidar": "^3.5.3", - "destr": "^2.0.1", - "h3": "^1.7.1", - "ioredis": "^5.3.2", - "listhen": "^1.2.2", - "lru-cache": "^10.0.0", - "mri": "^1.2.0", - "node-fetch-native": "^1.2.0", - "ofetch": "^1.1.1", - "ufo": "^1.2.0" + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.4.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": ">=v14.18.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-plugin-checker": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.6.2.tgz", + "integrity": "sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "ansi-escapes": "^4.3.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.1", + "commander": "^8.0.0", + "fast-glob": "^3.2.7", + "fs-extra": "^11.1.0", + "lodash.debounce": "^4.0.8", + "lodash.pick": "^4.4.0", + "npm-run-path": "^4.0.1", + "semver": "^7.5.0", + "strip-ansi": "^6.0.0", + "tiny-invariant": "^1.1.0", + "vscode-languageclient": "^7.0.0", + "vscode-languageserver": "^7.0.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-uri": "^3.0.2" + }, + "engines": { + "node": ">=14.16" }, "peerDependencies": { - "@azure/app-configuration": "^1.4.1", - "@azure/cosmos": "^3.17.3", - "@azure/data-tables": "^13.2.2", - "@azure/identity": "^3.2.3", - "@azure/keyvault-secrets": "^4.7.0", - "@azure/storage-blob": "^12.14.0", - "@capacitor/preferences": "^5.0.0", - "@planetscale/database": "^1.8.0", - "@upstash/redis": "^1.22.0", - "@vercel/kv": "^0.2.2", - "idb-keyval": "^6.2.1" + "eslint": ">=7", + "meow": "^9.0.0", + "optionator": "^0.9.1", + "stylelint": ">=13", + "typescript": "*", + "vite": ">=2.0.0", + "vls": "*", + "vti": "*", + "vue-tsc": ">=1.3.9" }, "peerDependenciesMeta": { - "@azure/app-configuration": { - "optional": true - }, - "@azure/cosmos": { - "optional": true - }, - "@azure/data-tables": { - "optional": true - }, - "@azure/identity": { + "eslint": { "optional": true }, - "@azure/keyvault-secrets": { + "meow": { "optional": true }, - "@azure/storage-blob": { + "optionator": { "optional": true }, - "@capacitor/preferences": { + "stylelint": { "optional": true }, - "@planetscale/database": { + "typescript": { "optional": true }, - "@upstash/redis": { + "vls": { "optional": true }, - "@vercel/kv": { + "vti": { "optional": true }, - "idb-keyval": { + "vue-tsc": { "optional": true } } }, - "node_modules/untildify": { - "version": "4.0.0", + "node_modules/vite-plugin-checker/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">= 12" } }, - "node_modules/untun": { - "version": "0.1.2", + "node_modules/vite-plugin-checker/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "license": "MIT", "dependencies": { - "citty": "^0.1.3", - "consola": "^3.2.3", - "pathe": "^1.1.1" + "path-key": "^3.0.0" }, - "bin": { - "untun": "bin/untun.mjs" + "engines": { + "node": ">=8" } }, - "node_modules/untyped": { - "version": "1.4.0", + "node_modules/vite-plugin-inspect": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-0.8.1.tgz", + "integrity": "sha512-oPBPVGp6tBd5KdY/qY6lrbLXqrbHRG0hZLvEaJfiZ/GQfDB+szRuLHblQh1oi1Hhh8GeLit/50l4xfs2SA+TCA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/core": "^7.22.9", - "@babel/standalone": "^7.22.9", - "@babel/types": "^7.22.5", - "defu": "^6.1.2", - "jiti": "^1.19.1", - "mri": "^1.2.0", - "scule": "^1.0.0" + "@antfu/utils": "^0.7.6", + "@rollup/pluginutils": "^5.0.5", + "debug": "^4.3.4", + "error-stack-parser-es": "^0.1.1", + "fs-extra": "^11.1.1", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "sirv": "^2.0.3" }, - "bin": { - "untyped": "dist/cli.mjs" + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + } } }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", + "node_modules/vite-plugin-inspect/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vite-plugin-inspect/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, "bin": { - "update-browserslist-db": "cli.js" + "is-docker": "cli.js" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/upper-case": { - "version": "2.0.2", + "node_modules/vite-plugin-inspect/node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", "dev": true, - "license": "MIT", "dependencies": { - "tslib": "^2.0.3" + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/upper-case-first": { - "version": "2.0.2", + "node_modules/vite-plugin-inspect/node_modules/open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", "dev": true, - "license": "MIT", "dependencies": { - "tslib": "^2.0.3" + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/uqr": { - "version": "0.1.2", + "node_modules/vite-plugin-vue-inspector": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-4.0.2.tgz", + "integrity": "sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==", "dev": true, - "license": "MIT" + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/plugin-proposal-decorators": "^7.23.0", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-transform-typescript": "^7.22.15", + "@vue/babel-plugin-jsx": "^1.1.5", + "@vue/compiler-dom": "^3.3.4", + "kolorist": "^1.8.0", + "magic-string": "^0.30.4" + }, + "peerDependencies": { + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0" + } }, - "node_modules/uri-js": { - "version": "4.4.1", + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/urlpattern-polyfill": { - "version": "8.0.2", + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/util": { - "version": "0.12.5", + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "is-arguments": "^1.0.4", - "is-generator-function": "^1.0.7", - "is-typed-array": "^1.1.3", - "which-typed-array": "^1.1.2" + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/uvu": { - "version": "0.5.6", + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/uvu/node_modules/kleur": { - "version": "4.1.5", + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/validate-npm-package-name": { - "version": "5.0.0", + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "ISC", - "dependencies": { - "builtins": "^5.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/vfile": { - "version": "6.0.1", + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vfile-location": { - "version": "4.1.0", + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vfile-location/node_modules/@types/unist": { - "version": "2.0.8", - "dev": true, - "license": "MIT" - }, - "node_modules/vfile-location/node_modules/vfile": { - "version": "5.3.7", + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vfile-location/node_modules/vfile/node_modules/unist-util-stringify-position": { - "version": "3.0.3", + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vfile-location/node_modules/vfile/node_modules/vfile-message": { - "version": "3.1.4", + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vfile-message": { - "version": "4.0.2", + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/vite": { - "version": "4.4.9", + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "node": ">=12" } }, - "node_modules/vite-node": { - "version": "0.33.0", + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "mlly": "^1.4.0", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^3.0.0 || ^4.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=v14.18.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "node": ">=12" } }, - "node_modules/vite-plugin-checker": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.6.2.tgz", - "integrity": "sha512-YvvvQ+IjY09BX7Ab+1pjxkELQsBd4rPhWNw8WLBeFVxu/E7O+n6VYAqNsKdK/a2luFlX/sMpoWdGFfg4HvwdJQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "ansi-escapes": "^4.3.0", - "chalk": "^4.1.1", - "chokidar": "^3.5.1", - "commander": "^8.0.0", - "fast-glob": "^3.2.7", - "fs-extra": "^11.1.0", - "lodash.debounce": "^4.0.8", - "lodash.pick": "^4.4.0", - "npm-run-path": "^4.0.1", - "semver": "^7.5.0", - "strip-ansi": "^6.0.0", - "tiny-invariant": "^1.1.0", - "vscode-languageclient": "^7.0.0", - "vscode-languageserver": "^7.0.0", - "vscode-languageserver-textdocument": "^1.0.1", - "vscode-uri": "^3.0.2" - }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=14.16" - }, - "peerDependencies": { - "eslint": ">=7", - "meow": "^9.0.0", - "optionator": "^0.9.1", - "stylelint": ">=13", - "typescript": "*", - "vite": ">=2.0.0", - "vls": "*", - "vti": "*", - "vue-tsc": ">=1.3.9" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "meow": { - "optional": true - }, - "optionator": { - "optional": true - }, - "stylelint": { - "optional": true - }, - "typescript": { - "optional": true - }, - "vls": { - "optional": true - }, - "vti": { - "optional": true - }, - "vue-tsc": { - "optional": true - } + "node": ">=12" } }, - "node_modules/vite-plugin-checker/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], "dev": true, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">= 12" + "node": ">=12" } }, - "node_modules/vite-plugin-checker/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/vite-plugin-inspect": { - "version": "0.7.38", + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@antfu/utils": "^0.7.5", - "@rollup/pluginutils": "^5.0.2", - "debug": "^4.3.4", - "error-stack-parser-es": "^0.1.1", - "fs-extra": "^11.1.1", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "sirv": "^2.0.3" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vite": "^3.1.0 || ^4.0.0" - }, - "peerDependenciesMeta": { - "@nuxt/kit": { - "optional": true - } + "node": ">=12" } }, - "node_modules/vite-plugin-vue-inspector": { - "version": "3.7.0", + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.22.17", - "@babel/plugin-proposal-decorators": "^7.22.15", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.22.15", - "@vue/babel-plugin-jsx": "^1.1.1", - "@vue/compiler-dom": "^3.2.47", - "esno": "^0.16.3", - "kolorist": "^1.7.0", - "magic-string": "^0.30.0", - "shell-quote": "^1.8.0" - }, - "peerDependencies": { - "vite": "^3.0.0-0 || ^4.0.0-0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, "node_modules/vite/node_modules/esbuild": { @@ -19256,9 +17795,9 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", - "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==", "dev": true }, "node_modules/vscode-languageserver-types": { @@ -19278,15 +17817,16 @@ "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==" }, "node_modules/vscode-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", - "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", "dev": true }, "node_modules/vue": { "version": "3.3.4", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.3.4", "@vue/compiler-sfc": "3.3.4", @@ -19297,21 +17837,23 @@ }, "node_modules/vue-bundle-renderer": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vue-bundle-renderer/-/vue-bundle-renderer-2.0.0.tgz", + "integrity": "sha512-oYATTQyh8XVkUWe2kaKxhxKVuuzK2Qcehe+yr3bGiaQAhK3ry2kYE4FWOfL+KO3hVFwCdLmzDQTzYhTi9C+R2A==", "dev": true, - "license": "MIT", "dependencies": { "ufo": "^1.2.0" } }, "node_modules/vue-component-meta": { - "version": "1.8.10", + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-1.8.27.tgz", + "integrity": "sha512-j3WJsyQHP4TDlvnjHc/eseo0/eVkf0FaCpkqGwez5zD+Tj31onBzWZEXTnWKs8xRj0n3dMNYdy3SpiS6NubSvg==", "dev": true, - "license": "MIT", "dependencies": { - "@volar/typescript": "~1.10.0", - "@vue/language-core": "1.8.10", - "typesafe-path": "^0.2.2", - "vue-component-type-helpers": "1.8.10" + "@volar/typescript": "~1.11.1", + "@vue/language-core": "1.8.27", + "path-browserify": "^1.0.1", + "vue-component-type-helpers": "1.8.27" }, "peerDependencies": { "typescript": "*" @@ -19323,9 +17865,10 @@ } }, "node_modules/vue-component-type-helpers": { - "version": "1.8.10", - "dev": true, - "license": "MIT" + "version": "1.8.27", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.8.27.tgz", + "integrity": "sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==", + "dev": true }, "node_modules/vue-demi": { "version": "0.14.6", @@ -19381,9 +17924,10 @@ } }, "node_modules/vue-router": { - "version": "4.2.4", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", "dev": true, - "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.5.0" }, @@ -19403,41 +17947,16 @@ "he": "^1.2.0" } }, - "node_modules/wait-on": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "axios": "^0.27.2", - "joi": "^17.7.0", - "lodash": "^4.17.21", - "minimist": "^1.2.7", - "rxjs": "^7.8.0" - }, - "bin": { - "wait-on": "bin/wait-on" - }, - "engines": { - "node": ">=12.0.0" - } - }, "node_modules/web-namespaces": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/web-streams-polyfill": { - "version": "3.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, "node_modules/webidl-conversions": { "version": "7.0.0", "dev": true, @@ -19455,9 +17974,10 @@ } }, "node_modules/webpack-virtual-modules": { - "version": "0.5.0", - "dev": true, - "license": "MIT" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==", + "dev": true }, "node_modules/whatwg-encoding": { "version": "2.0.0", @@ -19480,8 +18000,9 @@ }, "node_modules/whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -19489,13 +18010,15 @@ }, "node_modules/whatwg-url/node_modules/webidl-conversions": { "version": "3.0.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/which": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -19541,16 +18064,24 @@ }, "node_modules/wide-align": { "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } }, + "node_modules/wide-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "node_modules/wide-align/node_modules/string-width": { "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -19560,25 +18091,6 @@ "node": ">=8" } }, - "node_modules/wide-align/node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/widest-line": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "string-width": "^5.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", @@ -19586,8 +18098,9 @@ }, "node_modules/wrap-ansi": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -19600,10 +18113,61 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -19613,8 +18177,9 @@ }, "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -19625,26 +18190,16 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, "node_modules/wrappy": { "version": "1.0.2", "dev": true, "license": "ISC" }, "node_modules/ws": { - "version": "8.14.1", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -19676,23 +18231,6 @@ "node": ">=0.4.0" } }, - "node_modules/xtend": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/xxhashjs": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", - "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", - "dev": true, - "dependencies": { - "cuint": "^0.2.2" - } - }, "node_modules/y18n": { "version": "5.0.8", "license": "ISC", @@ -19706,9 +18244,10 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.3.2", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "dev": true, - "license": "ISC", "engines": { "node": ">= 14" } @@ -19752,13 +18291,13 @@ "version": "8.0.0", "license": "MIT" }, - "node_modules/yauzl": { - "version": "2.10.0", + "node_modules/ylru": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz", + "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==", "dev": true, - "license": "MIT", - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "engines": { + "node": ">= 4.0.0" } }, "node_modules/yocto-queue": { @@ -19773,9 +18312,9 @@ } }, "node_modules/zhead": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.1.1.tgz", - "integrity": "sha512-FRmjAFioi07R+bmL+fqbkXF/pCbC9PwcKQ8RDluC5xTaVbNBgYRQ4eKuS1C8c7Sil//UIxet/AGp7D6royoHhA==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz", + "integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==", "dev": true, "funding": { "url": "https://github.com/sponsors/harlan-zw" @@ -19783,8 +18322,9 @@ }, "node_modules/zip-stream": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-5.0.1.tgz", + "integrity": "sha512-UfZ0oa0C8LI58wJ+moL46BDIMgCQbnsb+2PoiJYtonhBsMh2bq1eRBVkvjfVsqbEHd9/EgKPUuL9saSSsec8OA==", "dev": true, - "license": "MIT", "dependencies": { "archiver-utils": "^4.0.1", "compress-commons": "^5.0.1", @@ -19796,8 +18336,9 @@ }, "node_modules/zwitch": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", "dev": true, - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" diff --git a/docs/package.json b/docs/package.json index 03e34ecc..be5b94ab 100755 --- a/docs/package.json +++ b/docs/package.json @@ -7,6 +7,7 @@ "type": "module", "scripts": { "dev": "nuxi dev", + "docs": "bun run --watch docs.ts", "build": "nuxi build", "generate": "nuxi generate", "preview": "nuxi preview", diff --git a/package/src/actions.ts b/package/src/actions.ts index 8db29f99..a3c77001 100644 --- a/package/src/actions.ts +++ b/package/src/actions.ts @@ -1,8 +1,8 @@ // title: Actions -// description: A collection of useful actionss +// description: A collection of useful actions /** - * Smoothly scroll to an anchor on the page + * Scrolls to the element with the specified ID. * @example scrollToAnchor('#my-anchor') */ export function scrollToAnchor(id: string, callback?: () => void) { @@ -10,7 +10,7 @@ export function scrollToAnchor(id: string, callback?: () => void) { const element = document.querySelector(id) if (!element) return element.scrollIntoView({ - behavior: "smooth", + behavior: 'smooth' }) }, 180) @@ -27,7 +27,7 @@ export function scrollToTop(callback?: () => void) { setTimeout(() => { window.scrollTo({ top: 0, - behavior: "smooth", + behavior: 'smooth' }) }, 180) @@ -44,7 +44,7 @@ export function scrollToBottom(callback?: () => void) { setTimeout(() => { window.scrollTo({ top: document.body.scrollHeight, - behavior: "smooth", + behavior: 'smooth' }) }, 180) @@ -53,6 +53,22 @@ export function scrollToBottom(callback?: () => void) { } } +/** + * Toggles the body scroll with the specified class name + * @example toggleBodyScroll('overflow-hidden') + */ +export function toggleBodyScroll(className: string) { + document.body.classList.toggle(className) +} + +/** + * Toggles the element scroll + * @example toggleElementScroll(document.querySelector('#my-element')) + */ +export function toggleElementScroll(element: HTMLElement, className: string) { + element.classList.toggle(className) +} + /** * Copies a text to the clipboard * @example copyToClipboard() @@ -61,14 +77,10 @@ export function copyToClipboard(text: string, callback?: () => void) { navigator.clipboard .writeText(text) .then(() => { - if (callback) { - callback() - } + if (callback) callback() }) .catch((error) => { - if (callback) { - callback() - } + if (callback) callback() }) } @@ -77,11 +89,8 @@ export function copyToClipboard(text: string, callback?: () => void) { * @example toggleFullScreen() */ export function toggleFullScreen() { - if (document.fullscreenElement) { - document.exitFullscreen() - } else { - document.documentElement.requestFullscreen() - } + if (document.fullscreenElement) document.exitFullscreen() + else document.documentElement.requestFullscreen() } /** @@ -89,10 +98,8 @@ export function toggleFullScreen() { * @example toggleDarkMode() */ export function toggleDarkMode() { - const prefersDarkMode = window.matchMedia( - "(prefers-color-scheme: dark)" - ).matches - document.documentElement.classList.toggle("dark", !prefersDarkMode) + const prefersDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches + document.documentElement.classList.toggle('dark', !prefersDarkMode) } /** @@ -111,22 +118,6 @@ export function resetForm(form: HTMLFormElement) { form.reset() } -/** - * Toggles the body scroll - * @example toggleBodyScroll() - */ -export function toggleBodyScroll() { - document.body.classList.toggle("overflow-hidden") -} - -/** - * Toggles the element scroll - * @example toggleElementScroll(document.querySelector('#my-element')) - */ -export function toggleElementScroll(element: HTMLElement) { - element.classList.toggle("overflow-hidden") -} - /** * Focuses on an element * @example focusOn(document.querySelector('#my-element')) @@ -140,7 +131,7 @@ export function focusOn(element: HTMLElement) { * @example focusOnFirst(document.querySelector('#my-element')) */ export function focusOnFirst(element: HTMLElement) { - const input = element.querySelector("input") + const input = element.querySelector('input') if (input) { input.focus() } @@ -151,7 +142,7 @@ export function focusOnFirst(element: HTMLElement) { * @example focusOnLast(document.querySelector('#my-element')) */ export function focusOnLast(element: HTMLElement) { - const inputs = element.querySelectorAll("input") + const inputs = element.querySelectorAll('input') const input = inputs[inputs.length - 1] if (input) { input.focus() @@ -159,23 +150,19 @@ export function focusOnLast(element: HTMLElement) { } /** - * sets up a keyboard trap within an HTML element, allowing the focus to cycle between the first and last focusable elements when the Tab key is pressed. + * Sets up a keyboard trap within an HTML element, allowing the focus to cycle between the first and last focusable elements when the Tab key is pressed. * @example focusTrap(document.querySelector('#my-element')) */ export function focusTrap(element: HTMLElement) { - const focusableElements = element.querySelectorAll( - 'a[href], button, textarea, input[type="text"], input[type="radio"], input[type="checkbox"], select' - ) + const focusableElements = element.querySelectorAll('a[href], button, textarea, input[type="text"], input[type="radio"], input[type="checkbox"], select') const firstFocusableElement = focusableElements[0] as HTMLElement - const lastFocusableElement = focusableElements[ - focusableElements.length - 1 - ] as HTMLElement + const lastFocusableElement = focusableElements[focusableElements.length - 1] as HTMLElement const KEYCODE_TAB = 9 - element.addEventListener("keydown", (event) => { - const isTabPressed = event.key === "Tab" || event.keyCode === KEYCODE_TAB + element.addEventListener('keydown', (event) => { + const isTabPressed = event.key === 'Tab' || event.keyCode === KEYCODE_TAB if (!isTabPressed) { return diff --git a/package/src/detections.ts b/package/src/detections.ts index 07562f8a..a7ccc3de 100644 --- a/package/src/detections.ts +++ b/package/src/detections.ts @@ -2,76 +2,68 @@ // description: A collection of detections for common data types /** - * Detect if the current device is a mobile device - * @example getDeviceType() + * Detect the current device type (Mobile or Desktop) + * @example detectDevice() + * @returns `Mobile` or `Desktop` */ -export function getDeviceType(): string { - return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( - navigator.userAgent - ) - ? "Mobile" - : "Desktop" +export function detectDevice(): string { + return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? 'Mobile' : 'Desktop' } /** - * Detect if the browser window is currently active or hidden. - * @example getActiveBrowser() + * Detect the current operating system + * @example detectOS() + * @returns `Windows`, `Mac`, `Linux`, `UNIX`, or `Unknown` */ -export function getActiveBrowser(): boolean { - return !document.hidden +export function detectOS(): string { + const userAgent = navigator.userAgent.toLowerCase() + if (userAgent.includes('win')) return 'Windows' + if (userAgent.includes('mac')) return 'Mac' + if (userAgent.includes('linux')) return 'Linux' + if (userAgent.includes('x11')) return 'UNIX' + return 'Unknown' } /** - * Detect the current color scheme - * @example getColorScheme() + * Detects the user's browser based on the user agent string. + * @example detectBrowser() + * @returns `Chrome`, `Firefox`, `Safari`, `Opera`, `Edge`, `IE`, or `Unknown` */ -export function getColorScheme(): string { - return window.matchMedia("(prefers-color-scheme: dark)").matches - ? "dark" - : "light" +export function detectBrowser(): string { + return navigator.userAgent.toLowerCase() } /** - * Detect the current browser - * @example getBrowser() + * Detect if the browser window is currently active or hidden. + * @example detectActiveBrowser() */ -export function getBrowser(): string { - return navigator.userAgent.toLowerCase() +export function detectActiveBrowser(): boolean { + return !document.hidden } /** - * Detect the current operating system - * @example `getOS()` + * Detect the current color scheme (Light or Dark) + * @example detectColorScheme() + * @returns `Light` or `Dark` */ -export function getOS(): string { - const userAgent = navigator.userAgent.toLowerCase() - switch (true) { - case userAgent.indexOf("win") !== -1: - return "Windows" - case userAgent.indexOf("mac") !== -1: - return "Mac" - case userAgent.indexOf("linux") !== -1: - return "Linux" - case userAgent.indexOf("x11") !== -1: - return "UNIX" - default: - return "Unknown" - } +export function detectColorScheme(): string { + return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light' } /** * Detect the current browser language - * @example getBrowserLanguage() + * @example detectBrowserLanguage() */ -export function getBrowserLanguage(): string { +export function detectBrowserLanguage(): string { return navigator.language } /** * Detect the current user's location - * @example getUserLocation() + * @example detectUserLocation() + * @returns `US`, `UK`, `CA`, `AU`, `NZ`, `EU`, `Unknown` */ -export function getGeolocation(): Promise { +export function detectGeolocation(): Promise { return new Promise((resolve, reject) => { navigator.geolocation.getCurrentPosition(resolve, reject) }) @@ -79,252 +71,236 @@ export function getGeolocation(): Promise { /** * Detect the current user's Timezone - * @example getUserTimezone() + * @example detectUserTimezone() */ -export function getUserTimezone(): string { +export function detectUserTimezone(): string { return Intl.DateTimeFormat().resolvedOptions().timeZone } /** * Detect the currect device orientation - * @example getDeviceOrientation() + * @example detectDeviceOrientation() */ -export function getDeviceOrientation(): string { +export function detectDeviceOrientation(): string { return window.screen.orientation.type } /** * Detect the current device motion - * @example getDeviceMotion() + * @example detectDeviceMotion() */ -export function getDeviceMotion(): Promise { +export function detectDeviceMotion(): Promise { return new Promise((resolve, reject) => { - window.addEventListener("devicemotion", resolve, { once: true }) + window.addEventListener('devicemotion', resolve, { once: true }) setTimeout(reject, 5000) }) } /** * Detect the browser's window size - * @example getWindowSize() + * @example detectWindowSize() */ -export function getWindowSize(): { width: number; height: number } { +export function detectWindowSize(): { width: number; height: number } { return { width: window.innerWidth, - height: window.innerHeight, + height: window.innerHeight } } /** * Detect the screen or monitor size - * @example getScreenSize() + * @example detectScreenSize() */ -export function getScreenSize(): { width: number; height: number } { +export function detectScreenSize(): { width: number; height: number } { return { width: window.screen.width, - height: window.screen.height, + height: window.screen.height } } /** * Detect the container size via ID - * @example getContainerSize('container') + * @example detectContainerSize('container') */ -export function getContainerSize(id: string): { - width: number - height: number -} { +export function detectContainerSize(id: string): { width: number; height: number } { const element = document.getElementById(id) if (!element) return { width: 0, height: 0 } return { width: element.offsetWidth, - height: element.offsetHeight, + height: element.offsetHeight } } /** * Detect the current breakpoint based on Tailwind CSS breakpoints - * @example getTailwindBreakpoint() + * @example detectTailwindBreakpoint() */ -export function getTailwindBreakpoint(): string { +export function detectTailwindBreakpoint(): string { const width = window.innerWidth switch (true) { case width < 640: - return "xs" + return 'xs' case width < 768: - return "sm" + return 'sm' case width < 1024: - return "md" + return 'md' case width < 1280: - return "lg" + return 'lg' case width < 1536: - return "xl" + return 'xl' default: - return "2xl" + return '2xl' } } /** * Detect the current container breakpoint based on Tailwind CSS breakpoints - * @example getTailwindContainerBreakpoint('container') + * @example detectTailwindContainerBreakpoint('container') */ -export function getTailwindContainerBreakpoint(id: string): string { - const width = getContainerSize(id).width +export function detectTailwindContainerBreakpoint(id: string): string { + const width = detectContainerSize(id).width switch (true) { case width < 320: - return "@xs" + return '@xs' case width < 384: - return "@sm" + return '@sm' case width < 448: - return "@md" + return '@md' case width < 512: - return "@lg" + return '@lg' case width < 576: - return "@xl" + return '@xl' case width < 672: - return "@2xl" + return '@2xl' case width < 768: - return "@3xl" + return '@3xl' case width < 896: - return "@4xl" + return '@4xl' case width < 1024: - return "@5xl" + return '@5xl' case width < 1152: - return "@6xl" + return '@6xl' case width < 1280: - return "@7xl" + return '@7xl' default: - return "@7xl" + return '@7xl' } } /** * Detect the current scroll position of the window - * @example getScrollPosition() + * @example detectScrollPosition() */ -export function getScrollPosition(): { x: number; y: number } { +export function detectScrollPosition(): { x: number; y: number } { return { x: window.scrollX, - y: window.scrollY, + y: window.scrollY } } /** * Detect the current mouse position within the window - * @example getMousePosition(event) + * @example detectMousePosition(event) */ -export function getMousePosition(event: MouseEvent) { +export function detectMousePosition(event: MouseEvent) { return { x: event.pageX, - y: event.pageY, + y: event.pageY } } /** * Detect the current mouse position within a container via ID - * @example getRelativeMousePosition('container', event) + * @example detectRelativeMousePosition('container', event) */ -export function getRelativeMousePosition(id: string, e: MouseEvent) { +export function detectRelativeMousePosition(id: string, e: MouseEvent) { const element = document.getElementById(id) if (!element) return { x: 0, y: 0 } const rect = element.getBoundingClientRect() return { x: e.clientX - rect.left, - y: e.clientY - rect.top, + y: e.clientY - rect.top } } /** * Detect the current network status of the user (Online or Offline) - * @example getNetworkStatus() + * @example detectNetworkStatus() */ -export function getNetworkStatus(): string { - return navigator.onLine ? "Online" : "Offline" +export function detectNetworkStatus(): string { + return navigator.onLine ? 'Online' : 'Offline' } /** * Detect the current memory status of the user (RAM) - * @example getMemoryStatus() + * @example detectMemoryStatus() */ -export function getMemoryStatus(): { - totalJSHeapSize: number - usedJSHeapSize: number - jsHeapSizeLimit: number -} { +export function detectMemoryStatus(): { totalJSHeapSize: number; usedJSHeapSize: number; jsHeapSizeLimit: number } { return { totalJSHeapSize: (performance as any).memory.totalJSHeapSize, usedJSHeapSize: (performance as any).memory.usedJSHeapSize, - jsHeapSizeLimit: (performance as any).memory.jsHeapSizeLimit, + jsHeapSizeLimit: (performance as any).memory.jsHeapSizeLimit } } /** * Detect the current performance status of the user (CPU, RAM, etc.) - * @example getPerformance() - */ -// export function getPerformance(): Promise { -// return new Promise((resolve, reject) => { -// window.addEventListener("load", () => { -// resolve( -// performance.getEntriesByType( -// "navigation" -// )[0] as PerformanceNavigationTiming -// ) -// }) -// setTimeout(reject, 5000) -// }) -// } + * @example detectPerformance() + */ +export function detectPerformance(): Promise { + return new Promise((resolve, reject) => { + window.addEventListener('load', () => { + resolve(performance.getEntriesByType('navigation')[0] as PerformanceNavigationTiming) + }) + setTimeout(reject, 5000) + }) +} /** * Detect the current storage status of the user (Local Storage, Session Storage) - * @example getStorage() + * @example detectStorage() */ -export function getStorage(): { localStorage: number; sessionStorage: number } { +export function detectStorage(): { localStorage: number; sessionStorage: number } { return { localStorage: JSON.stringify(localStorage).length, - sessionStorage: JSON.stringify(sessionStorage).length, + sessionStorage: JSON.stringify(sessionStorage).length } } /** * Returns a cookie value by name - * @example getCookie('name') + * @example detectCookie('name') */ -export function getCookie(name: string) { - const value = "; " + document.cookie - const parts = value.split("; " + name + "=") - if (parts.length === 2) return parts.pop()?.split(";").shift() +export function detectCookie(name: string) { + const value = '; ' + document.cookie + const parts = value.split('; ' + name + '=') + if (parts.length === 2) return parts.pop()?.split(';').shift() } /** * Returns a local storage value by name and parses it into JSON - * @example getLocalStorage('name') + * @example detectLocalStorage('name') */ -export function getLocalStorage(name: string) { +export function detectLocalStorage(name: string) { const item = localStorage.getItem(name) if (item) return JSON.parse(item) } /** * Returns a session storage value by name and parses it into JSON - * @example getSessionStorage('name') + * @example detectSessionStorage('name') */ -export function getSessionStorage(name: string) { +export function detectSessionStorage(name: string) { const item = sessionStorage.getItem(name) if (item) return JSON.parse(item) } /** * Returns a value from the URL by name - * @example getURLParameters('http://url.com/page?name=Adam&surname=Smith') - */ -export function getURLParameters(url: string, param?: string) { - const params = (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce( - (a: any, v: any) => ( - (a[v.slice(0, v.indexOf("="))] = v.slice(v.indexOf("=") + 1)), a - ), - {} - ) + * @example detectURLParameters('http://url.com/page?name=Adam&surname=Smith') + */ +export function detectURLParameters(url: string, param?: string) { + const params = (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce((a: any, v: any) => ((a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a), {}) if (param) { return params[param] || null @@ -335,74 +311,74 @@ export function getURLParameters(url: string, param?: string) { /** * Returns a value from the URL hash by name - * @example getURLHashParameters() + * @example detectURLHashParameters() */ -export function getURLHashParameters() { - return getURLParameters(window.location.hash) +export function detectURLHashParameters() { + return detectURLParameters(window.location.hash) } /** * Retrieves and returns the parameters from the URL search query string - * @example getURLSearchParameters() + * @example detectURLSearchParameters() */ -export function getURLSearchParameters() { - return getURLParameters(window.location.search) +export function detectURLSearchParameters() { + return detectURLParameters(window.location.search) } /** * Returns the current URL - * @example getURL() + * @example detectURL() */ -export function getURL() { +export function detectURL() { return window.location.href } /** * Returns the current domain - * @example getDomain() + * @example detectDomain() */ -export function getDomain() { +export function detectDomain() { return window.location.hostname } /** * Returns the current IP address - * @example getIP() + * @example detectIP() */ -export function getIP() { +export function detectIP() { return window.location.host } /** * Returns the current port - * @example getPort() + * @example detectPort() */ -export function getPort() { +export function detectPort() { return window.location.port } /** * Returns the current protocol (HTTP or HTTPS) - * @example getProtocol() + * @example detectProtocol() */ -export function getProtocol() { +export function detectProtocol() { return window.location.protocol } /** * Returns the URL of the referring page (the page that linked to the current page) - * @example getReferrer() + * @example detectReferrer() */ -export function getReferrer() { +export function detectReferrer() { return document.referrer } /** * Retrieves cached entries and optionally filters the entries based on a provided key - * @example getCachedData('abc') + * @example detectCachedData('abc') */ -export function getCachedData(key?: string): PerformanceEntry[] { - const cachedData = window.performance.getEntriesByType("resource") +export function detectCachedData(key?: string): PerformanceEntry[] { + const cachedData = window.performance.getEntriesByType('resource') if (key) { return cachedData.filter((data) => data.name.includes(key)) @@ -422,8 +398,7 @@ export function isInViewport(element: HTMLElement) { return ( rect.top >= 0 && rect.left >= 0 && - rect.bottom <= - (window.innerHeight || document.documentElement.clientHeight) && + rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth) ) } @@ -437,12 +412,7 @@ export function isInContainer(element: HTMLElement, id: string) { const container = document.getElementById(id) if (!container) return false const containerRect = container.getBoundingClientRect() - return ( - rect.top >= containerRect.top && - rect.left >= containerRect.left && - rect.bottom <= containerRect.bottom && - rect.right <= containerRect.right - ) + return rect.top >= containerRect.top && rect.left >= containerRect.left && rect.bottom <= containerRect.bottom && rect.right <= containerRect.right } /** @@ -450,10 +420,7 @@ export function isInContainer(element: HTMLElement, id: string) { * @example isOverflowingY(element) */ export function isOverflowingY(element: HTMLElement) { - return ( - element.scrollWidth > element.clientWidth || - element.scrollHeight > element.clientHeight - ) + return element.scrollWidth > element.clientWidth || element.scrollHeight > element.clientHeight } /** diff --git a/package/src/formatters.ts b/package/src/formatters.ts index 58289eca..8882923e 100644 --- a/package/src/formatters.ts +++ b/package/src/formatters.ts @@ -6,16 +6,38 @@ * @example formatCurrency(1234.56) * @returns $1,234.56 */ -export function formatCurrency(number: number, currency = "USD"): string { - const formatter = new Intl.NumberFormat("en-US", { - style: "currency", - currency, +export function formatCurrency(number: number, currency = 'USD'): string { + const formatter = new Intl.NumberFormat('en-US', { + style: 'currency', + currency }) try { return formatter.format(number) } catch (error) { console.error(error) - return "" + return '' + } +} + +/** + * Format numbers into valuations displayed in thounsands, millions or billions + * @example formatValuation(1234567890) + * @returns $1.23B + */ +export function formatValuation(value: number, currency = 'USD', decimals = 1): string { + const formatter = new Intl.NumberFormat('en-US', { + notation: 'compact', + compactDisplay: 'short', + minimumFractionDigits: 0, + maximumFractionDigits: decimals, + style: 'currency', + currency + }) + + try { + return formatter.format(value) + } catch (error) { + return '' } } @@ -28,7 +50,7 @@ export function formatTime(seconds: number): string { const hrs = Math.floor(seconds / 3600) const mins = Math.floor((seconds % 3600) / 60) const s = Math.floor(seconds % 60) - let formattedTime = "" + let formattedTime = '' if (hrs > 0) { formattedTime += `${hrs}hr ` } @@ -41,6 +63,15 @@ export function formatTime(seconds: number): string { return formattedTime.trim() } +/** + * Format Unix timestamp into a datetime string + * @example formatDatetime(1619097600) + * @returns 2021-04-22 00:00:00 + */ +export function formatDatetime(timestamp: number): string { + return new Date(timestamp * 1000).toISOString().replace('T', ' ').replace('Z', '') +} + /** * Format a number into a percentage * @example formatPercentage(0.1234) @@ -58,43 +89,18 @@ export function formatPercentage(number: number): string { * @example commaList(['one', 'two', 'three']) * @returns one, two and three */ -export function formatList( - items: any[], - limit: number, - conjunction: string = "and" -): string { +export function formatList(items: any[], limit: number, conjunction: string = 'and'): string { if (items.length === 1) { return items[0] } if (items.length === 2) { - return items.join(" " + conjunction + " ") + return items.join(' ' + conjunction + ' ') } if (items.length === 3) { - return ( - items.slice(0, -1).join(", ") + " " + conjunction + " " + items.slice(-1) - ) + return items.slice(0, -1).join(', ') + ' ' + conjunction + ' ' + items.slice(-1) } if (items.length > 3) { - return ( - items.slice(0, limit).join(", ") + - " " + - conjunction + - " " + - (items.length - limit) + - " more" - ) + return items.slice(0, limit).join(', ') + ' ' + conjunction + ' ' + (items.length - limit) + ' more' } - return "" -} - -/** - * Format Unix timestamp into a datetime string - * @example formatDatetime(1619097600) - * @returns 2021-04-22 00:00:00 - */ -export function formatDatetime(timestamp: number): string { - return new Date(timestamp * 1000) - .toISOString() - .replace("T", " ") - .replace("Z", "") + return '' } diff --git a/package/src/generators.ts b/package/src/generators.ts new file mode 100644 index 00000000..c785a8e5 --- /dev/null +++ b/package/src/generators.ts @@ -0,0 +1,24 @@ +// title: Generators +// description: A collection of generators + +/** + * Generate a unique short ID based on the current timestamp + * @example generateShortId(36) + * @returns 1HR2MIN3S + */ +export function generateShortId(length: number = 36): string { + return Math.floor(Date.now()).toString(length).toUpperCase() +} + +/** + * Generate initials from any string + * @example generateInitials('John Doe') + * @returns JD + */ +export function generateInitials(text: string, count: number = 2): string { + return text + .split(' ') + .map((word) => word.charAt(0).toUpperCase()) + .join('') + .substr(0, count) +} diff --git a/package/src/index.ts b/package/src/index.ts index f1baca32..3940ae97 100644 --- a/package/src/index.ts +++ b/package/src/index.ts @@ -1,6 +1,7 @@ -export * from "./actions" -export * from "./detections" -export * from "./formatters" -export * from "./modifiers" -export * from "./numbers" -export * from "./validators" +export * from './actions' +export * from './detections' +export * from './formatters' +export * from './generators' +export * from './modifiers' +export * from './numbers' +export * from './validators' diff --git a/package/src/modifiers.ts b/package/src/modifiers.ts index dd71d842..b5c1ce3c 100644 --- a/package/src/modifiers.ts +++ b/package/src/modifiers.ts @@ -1,5 +1,3 @@ -import { formatTime } from "./formatters" - // title: Modifiers // description: Modifiers are a key feature of Mods that allow you to easily modify and enhance your content. They are small pieces of code that can be applied to your JS to add functionality, validation or style. @@ -9,9 +7,9 @@ import { formatTime } from "./formatters" * @returns cool cool cool */ export function widont(text: string): string { - const space = text.lastIndexOf(" ") + const space = text.lastIndexOf(' ') - return text.substring(0, space) + " " + text.substring(space + 1) + return text.substring(0, space) + ' ' + text.substring(space + 1) } /** @@ -20,7 +18,7 @@ export function widont(text: string): string { * @returns Hello World */ export function stripHtml(text: string): string { - return text.replace(/<[^>]*>?/gm, "") + return text.replace(/<[^>]*>?/gm, '') } /** @@ -29,7 +27,7 @@ export function stripHtml(text: string): string { * @returns <p>Hello World</p> */ export function escapeHtml(text: string): string { - return text.replace(/&/g, "&").replace(//g, ">") + return text.replace(/&/g, '&').replace(//g, '>') } /** @@ -37,8 +35,8 @@ export function escapeHtml(text: string): string { * @example unescapeHtml('<p>Hello World</p>') * @returns

    Hello World

    */ -export function showHtml(text: string): string { - return text.replace(/</g, "<").replace(/>/g, ">") +export function unescapeHtml(text: string): string { + return text.replace(/</g, '<').replace(/>/g, '>') } /** @@ -47,7 +45,7 @@ export function showHtml(text: string): string { * @returns Hello World */ export function stripTags(text: string): string { - return text.replace(/<\/?[^>]+(>|$)/g, "") + return text.replace(/<\/?[^>]+(>|$)/g, '') } /** @@ -58,8 +56,8 @@ export function stripTags(text: string): string { export function slugify(text: string): string { return text .toLowerCase() - .replace(/[^\w ]+/g, "") - .replace(/ +/g, "-") + .replace(/[^\w ]+/g, '') + .replace(/ +/g, '-') } /** @@ -68,7 +66,7 @@ export function slugify(text: string): string { * @returns hello world */ export function deslugify(text: string): string { - return text.toLowerCase().replace(/-/g, " ") + return text.toLowerCase().replace(/-/g, ' ') } /** @@ -80,7 +78,7 @@ export function truncate(text: string, length: number): string { if (text.length <= length) { return text } - return text.substring(0, length) + "..." + return text.substring(0, length) + '...' } /** @@ -89,13 +87,13 @@ export function truncate(text: string, length: number): string { * @returns Hello... */ export function truncateWords(text: string, length: number): string { - const words = text.split(" ") + const words = text.split(' ') if (words.length <= length) { return text } const truncatedWords = words.slice(0, length) - return truncatedWords.join(" ") + "..." + return truncatedWords.join(' ') + '...' } /** @@ -104,7 +102,7 @@ export function truncateWords(text: string, length: number): string { * @returns 2 */ export function countWords(text: string): number { - return text.split(" ").length + return text.split(' ').length } /** @@ -122,7 +120,7 @@ export function countCharacters(text: string): number { * @returns 1 */ export function countLines(text: string): number { - return text.split("\n").length + return text.split('\n').length } /** @@ -131,7 +129,7 @@ export function countLines(text: string): number { * @returns HelloWorld */ export function stripWhitespace(text: string): string { - return text.replace(/\s+/g, "") + return text.replace(/\s+/g, '') } /** @@ -140,7 +138,7 @@ export function stripWhitespace(text: string): string { * @returns Hello World */ export function stripNumbers(text: string): string { - return text.replace(/[0-9]/g, "") + return text.replace(/[0-9]/g, '') } /** @@ -149,7 +147,7 @@ export function stripNumbers(text: string): string { * @returns Hello World */ export function stripPunctuation(text: string): string { - return text.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, "") + return text.replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, '') } /** @@ -158,7 +156,7 @@ export function stripPunctuation(text: string): string { * @returns Hello World */ export function stripSymbols(text: string): string { - return text.replace(/[^\w\s]|_/g, "") + return text.replace(/[^\w\s]|_/g, '') } /** @@ -167,7 +165,7 @@ export function stripSymbols(text: string): string { * @returns Hello World! */ export function stripEmojis(text: string): string { - return text.replace(/[\u{1F600}-\u{1F6FF}]/gu, "") + return text.replace(/[\u{1F600}-\u{1F6FF}]/gu, '') } /** @@ -176,7 +174,7 @@ export function stripEmojis(text: string): string { * @returns 1 minute */ export function readingTime(text: string, wordsPerMinute = 200): string { - const words = text.split(" ").length + const words = text.split(' ').length const minutes = words / wordsPerMinute const readTime = Math.ceil(minutes) @@ -193,7 +191,7 @@ export function pluralize(text: string, count: number): string { return text } - return text + "s" + return text + 's' } /** @@ -202,7 +200,7 @@ export function pluralize(text: string, count: number): string { * @returns scooter */ export function singularize(text: string): string { - if (text.endsWith("s")) { + if (text.endsWith('s')) { return text.substring(0, text.length - 1) } @@ -215,13 +213,10 @@ export function singularize(text: string): string { * @returns 1st */ export function ordinalize(number: number): string { - const suffixes = ["th", "st", "nd", "rd"] + const suffixes = ['th', 'st', 'nd', 'rd'] const remainder = number % 100 - return ( - number + - (suffixes[(remainder - 20) % 10] || suffixes[remainder] || suffixes[0]) - ) + return number + (suffixes[(remainder - 20) % 10] || suffixes[remainder] || suffixes[0]) } /** @@ -231,8 +226,8 @@ export function ordinalize(number: number): string { */ export function humanize(text: string): string { return text - .replace(/_/g, " ") - .replace(/([A-Z])/g, " $1") + .replace(/_/g, ' ') + .replace(/([A-Z])/g, ' $1') .replace(/^./, (str) => str.toUpperCase()) } @@ -246,7 +241,7 @@ export function camelCase(text: string): string { .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { return index === 0 ? word.toLowerCase() : word.toUpperCase() }) - .replace(/\s+/g, "") + .replace(/\s+/g, '') } /** @@ -259,7 +254,7 @@ export function pascalCase(text: string): string { .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { return word.toUpperCase() }) - .replace(/\s+/g, "") + .replace(/\s+/g, '') } /** @@ -270,9 +265,9 @@ export function pascalCase(text: string): string { export function snakeCase(text: string): string { return text .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { - return index === 0 ? word.toLowerCase() : "_" + word.toLowerCase() + return index === 0 ? word.toLowerCase() : '_' + word.toLowerCase() }) - .replace(/\s+/g, "") + .replace(/\s+/g, '') } /** @@ -283,9 +278,9 @@ export function snakeCase(text: string): string { export function kebabCase(text: string): string { return text .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { - return index === 0 ? word.toLowerCase() : "-" + word.toLowerCase() + return index === 0 ? word.toLowerCase() : '-' + word.toLowerCase() }) - .replace(/\s+/g, "") + .replace(/\s+/g, '') } /** @@ -298,7 +293,7 @@ export function titleCase(text: string): string { .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { return word.toUpperCase() }) - .replace(/\s+/g, " ") + .replace(/\s+/g, ' ') } /** @@ -311,31 +306,31 @@ export function sentenceCase(text: string): string { .replace(/(?:^\w|[A-Z]|\b\w)/g, (word, index) => { return index === 0 ? word.toUpperCase() : word.toLowerCase() }) - .replace(/\s+/g, " ") + .replace(/\s+/g, ' ') } /** * Adds a prefix to a string if it doesn't already start with the prefix. - * @example startsWith('usemods.com', 'https://') + * @example startWith('usemods.com', 'https://') * @returns https://usemods.com */ -export function startsWith(text: string, startsWith: string): string { - if (text.startsWith(startsWith)) { +export function startWith(text: string, start: string): string { + if (text.startsWith(start)) { return text } else { - return startsWith + text + return start + text } } /** * Removes a prefix from a string if it starts with the prefix. - * @example startsWithout('https://usemods.com', 'https://') + * @example startWithout('https://usemods.com', 'https://') * @returns usemods.com */ -export function startsWithout(text: string, prefix: string): string { - if (text.startsWith(prefix)) { - return text.substring(prefix.length) +export function startWithout(start: string, text: string): string { + if (text.startsWith(start)) { + return text.substring(start.length) } else { return text } @@ -343,25 +338,25 @@ export function startsWithout(text: string, prefix: string): string { /** * Adds a suffix to a string if it doesn't already end with the suffix. - * @example endsWith('https://usemods', '.com') + * @example endWith('https://usemods', '.com') * @returns https://usemods.com */ -export function endsWith(text: string, endsWith: string): string { - if (text.endsWith(endsWith)) { +export function endWith(text: string, end: string): string { + if (text.endsWith(end)) { return text } else { - return text + endsWith + return text + end } } /** * Removes a suffix from a string if it ends with the suffix. - * @example endsWithout('https://usemods.com.au', '.au') + * @example endWithout('https://usemods.com.au', '.au') * @returns https://usemods.com */ -export function endsWithout(text: string, suffix: string): string { - if (text.endsWith(suffix)) { - return text.substring(0, text.length - suffix.length) +export function endWithout(text: string, end: string): string { + if (text.endsWith(end)) { + return text.substring(0, text.length - end.length) } else { return text } @@ -375,21 +370,17 @@ export function endsWithout(text: string, suffix: string): string { * @example surround('https://', 'usemods', '.com') * @returns https://usemods.com */ -export function surround( - startsWith: string, - text: string, - endsWith: string -): string { - if (text.startsWith(startsWith) && text.endsWith(endsWith)) { +export function surround(start: string, text: string, end: string): string { + if (text.startsWith(start) && text.endsWith(end)) { return text } - if (text.startsWith(startsWith)) { - return text + endsWith + if (text.startsWith(start)) { + return text + end } - if (text.endsWith(endsWith)) { - return startsWith + text + if (text.endsWith(end)) { + return start + text } return startsWith + text + endsWith @@ -403,60 +394,49 @@ export function surround( */ export function title(text: string): string { const exceptions = [ - "a", - "an", - "the", - "for", - "and", - "nor", - "but", - "or", - "yet", - "so", - "in", - "on", - "at", - "with", - "under", - "above", - "from", - "of", - "although", - "because", - "since", - "unless", + 'a', + 'an', + 'the', + 'for', + 'and', + 'nor', + 'but', + 'or', + 'yet', + 'so', + 'in', + 'on', + 'at', + 'with', + 'under', + 'above', + 'from', + 'of', + 'although', + 'because', + 'since', + 'unless' ] - const capitalize = (word: string) => - word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() + const capitalize = (word: string) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase() return text - .split(" ") + .split(' ') .map((word, index, wordsArray) => { const lowercaseWord = word.toLowerCase() - if (index > 0 && word.includes("-")) { - const [firstPart, secondPart] = word.split("-") - return capitalize(firstPart) + "-" + secondPart.toLowerCase() + if (index > 0 && word.includes('-')) { + const [firstPart, secondPart] = word.split('-') + return capitalize(firstPart) + '-' + secondPart.toLowerCase() } - if ( - index === 0 || - index === wordsArray.length - 1 || - !exceptions.includes(lowercaseWord) - ) { + if (index === 0 || index === wordsArray.length - 1 || !exceptions.includes(lowercaseWord)) { return capitalize(lowercaseWord) } - if ( - lowercaseWord === "to" && - index > 0 && - wordsArray[index - 1].toLowerCase() !== "to" - ) { + if (lowercaseWord === 'to' && index > 0 && wordsArray[index - 1].toLowerCase() !== 'to') { return lowercaseWord } - return exceptions.includes(lowercaseWord) - ? lowercaseWord - : capitalize(lowercaseWord) + return exceptions.includes(lowercaseWord) ? lowercaseWord : capitalize(lowercaseWord) }) - .join(" ") + .join(' ') } /** @@ -471,28 +451,24 @@ export function splitByWords(text: string): string { let combinedSentences = [] for (let i = 0; i < sentences.length; i += 2) { - const sentence = sentences[i] + (sentences[i + 1] || "") + const sentence = sentences[i] + (sentences[i + 1] || '') - if (sentence.trim() === "") { + if (sentence.trim() === '') { continue } const words = sentence - .split(" ") + .split(' ') .map((word) => { wordIndex++ return `${word}` }) - .join(" ") + .join(' ') - combinedSentences.push( - `${words}` - ) + combinedSentences.push(`${words}`) } - return combinedSentences.join(" ") + return combinedSentences.join(' ') } /** @@ -500,16 +476,16 @@ export function splitByWords(text: string): string { * @example list(['one', 'two', 'three']) * @returns
    • one
    • two
    • three
    */ -export function list(items: any[], listType: string = "ul"): string { +export function list(items: any[], listType: string = 'ul'): string { const listItem = (item: any) => { return `
  • ${item}
  • ` } - const listItems = items.map(listItem).join("") + const listItems = items.map(listItem).join('') - if (listType === "ol") { + if (listType === 'ol') { return `
      ${listItems}
    ` - } else if (listType === "ul") { + } else if (listType === 'ul') { return `
      ${listItems}
    ` } else { return listItems @@ -532,10 +508,7 @@ export function shuffle(items: any[]): any[] { * @example unique(['one', 'two', 'three', 'one']) * @returns ['one', 'two', 'three'] */ -export function unique( - property: string | null = null, - ...arrays: (string | { [key: string]: any })[][] -): any[] { +export function unique(property: string | null = null, ...arrays: (string | { [key: string]: any })[][]): any[] { const combinedItems = arrays.flat() if (!property) { @@ -546,11 +519,7 @@ export function unique( const result = [] for (const item of combinedItems) { - if ( - typeof item === "object" && - item[property] && - !seenValues.has(item[property]) - ) { + if (typeof item === 'object' && item[property] && !seenValues.has(item[property])) { seenValues.add(item[property]) result.push(item) } @@ -566,9 +535,7 @@ export function unique( */ export function difference(...arrays: any[][]): any[] { const mergedArray = arrays.flat() - return mergedArray.filter( - (item, index) => mergedArray.indexOf(item) === index - ) + return mergedArray.filter((item, index) => mergedArray.indexOf(item) === index) } /** @@ -612,10 +579,7 @@ export function offset(items: any[], offset: number): any[] { * @example group([{ name: 'one' }, { name: 'two' }, { name: 'one' }], 'name') * @returns { one: [{ name: 'one' }, { name: 'one' }], two: [{ name: 'two' }] } */ -export function group( - items: { [key: string]: any }[], - property: string -): { [key: string]: any } { +export function group(items: { [key: string]: any }[], property: string): { [key: string]: any } { return items.reduce((accumulator, item) => { const key = item[property] if (!accumulator[key]) { @@ -655,11 +619,11 @@ export function flatten(items: any[]): any[] { } /** - * Returns an array with a filtered out property. - * @example without([{ name: 'one', food: 'apple' }, { name: 'two', food: 'grape' }, { name: 'one', food: 'pear' }], 'name') - * @returns [{ food: 'apple' }, { food: 'grape' }, { food: 'pear' }] - - */ + * Returns an array with a filtered out property. + * @example without([{ name: 'one', food: 'apple' }, { name: 'two', food: 'grape' }, { name: 'one', food: 'pear' }], 'name') + * @returns [{ food: 'apple' }, { food: 'grape' }, { food: 'pear' }] + + */ export function without(items: any[], properties: any | any[]): any[] { if (!Array.isArray(items)) { return items @@ -669,7 +633,7 @@ export function without(items: any[], properties: any | any[]): any[] { return items.filter((item) => !properties.includes(item)) } else { return items.map((item) => { - if (typeof item === "object" && item !== null) { + if (typeof item === 'object' && item !== null) { item = { ...item } delete item[properties] } @@ -713,10 +677,7 @@ export function combineUnique(...items: (any | any[])[]): any[] { */ export function combineWithout( property: string | number, - ...items: ( - | ({ [key: string]: any } | { [key: number]: any }) - | ({ [key: string]: any } | { [key: number]: any })[] - )[] + ...items: (({ [key: string]: any } | { [key: number]: any }) | ({ [key: string]: any } | { [key: number]: any })[])[] ): any[] { let combined: any[] = [] @@ -746,10 +707,7 @@ export function reverse(items: any[]): any[] { * @example sortBy([{ name: 'John', age: 25 },{ name: 'Jane', age: 30 },{ name: 'Jill', age: 20 }], 'age') * @returns [{ name: 'Jill', age: 20 },{ name: 'John', age: 25 },{ name: 'Jane', age: 30 }] */ -export function sortBy( - items: { [key: string]: any }[], - property: string -): { [key: string]: any }[] { +export function sortBy(items: { [key: string]: any }[], property: string): { [key: string]: any }[] { return items.sort((a, b) => { return a[property] > b[property] ? 1 : -1 }) diff --git a/package/src/numbers.ts b/package/src/numbers.ts index dc29fad1..66eb3c57 100644 --- a/package/src/numbers.ts +++ b/package/src/numbers.ts @@ -20,14 +20,23 @@ export function sum(numbers: number[]): number { } /** - * Calculates the average of an array of numbers. + * Calculates the mean of an array of numbers. * @example average([1, 2, 3]) * @returns 2 */ -export function average(numbers: number[]): number { +export function mean(numbers: number[]): number { return sum(numbers) / numbers.length } +/** + * Calculates the mean of an array of numbers. + * @example average([1, 2, 3]) + * @returns 2 + */ +export function average(numbers: number[]): number { + return mean(numbers) +} + /** * Calculates the median of an array of numbers. * @example median([1, 2, 3]) @@ -44,6 +53,27 @@ export function median(numbers: number[]): number { return sorted[middle] } +/** + * Calculates the mode of an array of numbers. + * @example mode([1, 2, 2, 3]) + * @returns 2 + */ +export function mode(numbers: number[]): number | null { + if (numbers.length === 0) return null + if (numbers.length === 1) return numbers[0] + + const frequencyMap = new Map() + numbers.forEach((num) => frequencyMap.set(num, (frequencyMap.get(num) || 0) + 1)) + + const maxEntry = [...frequencyMap.entries()].reduce((a, b) => (a[1] > b[1] ? a : b)) + + // Check if the highest frequency is greater than 1 + if (maxEntry[1] > 1) { + return maxEntry[0] + } + return null +} + /** * Finds the minimum value in an array of numbers. * @example min([1, 2, 3]) @@ -70,3 +100,86 @@ export function max(numbers: number[]): number { export function clamp(number: number, min: number, max: number): number { return Math.min(Math.max(number, min), max) } + +/** + * Returns the minimum and maximum values in an array of numbers. + * @example minMax([1, 2, 3, 4, 5]) + * @returns [1, 5] + */ +export function minMax(numbers: number[]): [number, number] { + return [min(numbers), max(numbers)] +} + +/** + * Returns the difference between two values, expressed as a positive number. + * @example range(-10, -20) + * @returns 10 + */ +export function range(a: number, b: number): number { + return Math.abs(a - b) +} + +/** + * Returns the difference between two values, as a percentage. + * @example differenceAsPercentage(10, 20) + * @returns 100 + */ +export function rangeAsPercentage(a: number, b: number, decimals: number | null = null): number { + const percentage = ((b - a) / a) * 100 + return decimals != null ? parseFloat(percentage.toFixed(decimals)) : percentage +} + +/** + * Returns the percentage of a value, relative to another value. + * @example percentage(10, 100) + * @returns 10 + */ +export function percentage(value: number, total: number): number { + return (value / total) * 100 +} + +/** + * Returns the standard deviation of an array of numbers. + * @example standardDeviation([1, 2, 3, 20, 120, 2000]) + * @returns 0.5 + */ +export function standardDeviation(numbers: number[]): number { + const meanValue = mean(numbers) + const variance = mean(numbers.map((num) => Math.pow(num - meanValue, 2))) + return Math.sqrt(variance) +} + +/** + * Returns the measure of asymmetry of the probability distribution of an array of numbers. + * The skewness value can be positive, zero, negative, or undefined. + * @example skewness([1, 2, 3, 20, 120, 2000]) + * @returns 2.5 + */ +export function skewness(numbers: number[]): number { + const meanValue = mean(numbers) + const medianValue = median(numbers) + const standardDeviationValue = standardDeviation(numbers) + + return (meanValue - medianValue) / standardDeviationValue +} + +/** + * Return the frequency of all values (numbers, string or boolean) in an array as an object + * @example frequency([1, 3, 2, 3, 3, 3, 'a', 'b', 'c', 'c']) + * @returns { '1': 1, '2': 1, '3': 4, a: 1, b: 1, c: 2 } + */ +export function frequency(array: (number | string)[]): Record { + return array.reduce((acc, curr) => { + acc[curr] = (acc[curr] || 0) + 1 + return acc + }, {} as Record) +} + +/** + * Returns the fequency of a property value in an array + * @example frequencyOfPropert([1, 3, 2, 3, 3, 3, 'a', 'b', 'c', 'c'], 3) + * @returns 4 + */ +export function frequencyOfProperty(array: (number | string)[], property: number | string): number { + return array.filter((item) => item === property).length +} diff --git a/package/src/validators.ts b/package/src/validators.ts index c430e494..c840a829 100644 --- a/package/src/validators.ts +++ b/package/src/validators.ts @@ -21,44 +21,6 @@ export function isNumber(value: string | number): boolean { return regex.test(value.toString()) } -/** - * Check if the input is a valid phone number. - * @example isPhoneNumber('123-456-7890') - * @returns true - */ -// function isPhoneNumber(phoneNumber: string, country: string = "US"): boolean { -// const patterns: { [key: string]: RegExp } = { -// US: /^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/, -// UK: /^(\(?(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?)?\(?0?(?:\)[\s-]?)?([1-9]\d{1,4}\)?[\d\s-]+)((?:x|ext\.?\s?|\#)\d{3,4})?$/, -// CA: /^(\+?1[-.\s]?)?\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/, -// BR: /^(\+?55[-.\s]?)?\(?([0-9]{2})\)?[-. ]?([0-9]{4,5})[-. ]?([0-9]{4})$/, -// AU: /^(\+?61[-.\s]?)?\(?(0?[2-57-8])\)?[-. ]?([0-9]{4})[-. ]?([0-9]{4})$/, -// DE: /^(\+?49[-.\s]?)?\(?([0-9]{2,3})\)?[-. ]?([0-9]{3,4})[-. ]?([0-9]{4})$/, -// FR: /^(\+?33[-.\s]?)?\(?([0-9]{1,5})\)?[-. ]?([0-9]{2})[-. ]?([0-9]{2})[-. ]?([0-9]{2})$/, -// IN: /^(\+?91|0)?[6789]\d{9}$/, -// NZ: /^(\+?64|0)[28]\d{7,9}$/, -// ZA: /^(\+?27|0)\d{9}$/, -// ZM: /^(\+?26)?09[567]\d{7}$/, -// ES: /^(\+?34)?(6\d{1}|7[1234])\d{7}$/, -// SE: /^(\+?46|0)[\s-]?7[\s-]?[02369]([\s-]?\d){7}$/, -// CH: /^(\+?41|0)(\d{2})?[\s-]?(\d{3})[\s-]?(\d{2})[\s-]?(\d{2})$/, -// TW: /^(\+?886-?|0)?9\d{8}$/, -// CZ: /^(\+?420)? ?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{3}$/, -// BE: /^(\+?32|0)4?\d{8}$/, -// PT: /^(\+351)?9[1236]\d{7}$/, -// GR: /^(\+?30)?(69\d{8})$/, -// HU: /^(\+?36)(20|30|70)\d{7}$/, -// IL: /^(\+972|0)([23489]|5[0248]|77)[1-9]\d{6}$/, -// IT: /^(\+?39)?\s?3\d{2} ?\d{6,7}$/, -// AR: /^(\+?549|0)(11|[2368]\d)\d{8}$/, -// MX: /^(\+?52)?(1|01)?\d{10,11}$/, -// PK: /^(\+?92|0)?[3456789]?\d{9}$/, -// JP: /^(\+?81|0)\d{1,4}[ -]?\d{1,4}[ -]?\d{4}$/, -// } - -// return patterns[country].test(phoneNumber) -// } - /** * Check if the input is a valid URL. * @example isURL('https://usemods.com') @@ -109,7 +71,7 @@ export function isHex(hex: string): boolean { * @returns true */ export function isEmpty(text: string): boolean { - return text === "" + return text === '' } /** @@ -147,7 +109,7 @@ export function isArray(array: any): boolean { * @returns true */ export function isObject(value: any): boolean { - return value && typeof value === "object" && value.constructor === Object + return value && typeof value === 'object' && value.constructor === Object } /** @@ -156,7 +118,7 @@ export function isObject(value: any): boolean { * @returns true */ export function isBoolean(boolean: any): boolean { - return typeof boolean === "boolean" + return typeof boolean === 'boolean' } /** @@ -165,9 +127,7 @@ export function isBoolean(boolean: any): boolean { * @returns true */ export function isFunction(functionToCheck: any): boolean { - return ( - functionToCheck && {}.toString.call(functionToCheck) === "[object Function]" - ) + return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]' } /** @@ -188,15 +148,6 @@ export function isNull(value: any): boolean { return value === null } -/** - * Check if the input is NaN (Not a Number). - * @example isNaN(NaN) - * @returns true - */ -export function isNaN(value: any): boolean { - return value !== value -} - /** * Check if the input is a valid Date object. * @example isDate(new Date()) @@ -212,7 +163,7 @@ export function isDate(date: any): boolean { * @returns true */ export function isError(error: any): boolean { - return error instanceof Error && typeof error.message !== "undefined" + return error instanceof Error } /** @@ -234,15 +185,6 @@ export function isLeapYear(year: number): boolean { return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0 } -/** - * Check if the input is a symbol. - * @example isSymbol(Symbol('hello')) - * @returns true - */ -export function isSymbol(symbol: any): boolean { - return typeof symbol === "symbol" -} - /** * Check if the input is a Promise object. * @example isPromise(new Promise(() => {})) @@ -270,15 +212,6 @@ export function isMap(map: any): boolean { return map instanceof Map } -/** - * Check if the input is a WeakSet object. - * @example isWeakSet(new WeakSet()) - * @returns true - */ -export function isWeakSet(weakSet: any): boolean { - return weakSet instanceof WeakSet -} - /** * Check if the number is even. * @example isEven(2) @@ -315,6 +248,15 @@ export function isNegative(number: any): boolean { return Math.sign(number) === -1 } +/** + * Check if the number is zero. + * @example isZero(0) + * @returns true + */ +export function isZero(number: any): boolean { + return number === 0 +} + /** * Check if the number is a prime number. * @example isPrime(7) @@ -334,7 +276,7 @@ export function isPrime(number: any): boolean { * @returns true */ export function isOptimusPrime(text: string): boolean { - return text === "Optimus Prime" + return text === 'Optimus Prime' || text === '🚒' } /** @@ -344,8 +286,8 @@ export function isOptimusPrime(text: string): boolean { */ export function isPalindrome(text: any): boolean { const regex = /[\W_]/g - const lowerText = text.toLowerCase().replace(regex, "") - const reverseText = lowerText.split("").reverse().join("") + const lowerText = text.toLowerCase().replace(regex, '') + const reverseText = lowerText.split('').reverse().join('') return reverseText === lowerText } @@ -394,8 +336,7 @@ export function isDivisibleBy(number: number, divisor: number): boolean { * @returns true */ export function isCreditCardNumber(number: string): boolean { - const regex = - /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/ + const regex = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/ return regex.test(number) } @@ -405,8 +346,7 @@ export function isCreditCardNumber(number: string): boolean { * @returns true */ export function isIPAddress(ip: string): boolean { - const regex = - /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((?::\d+)?|)$/ + const regex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)((?::\d+)?|)$/ return regex.test(ip) } @@ -421,14 +361,13 @@ export function isMACAddress(mac: string): boolean { } /** - * Check if the input is a valid latitude-longitude coordinate in the format lat,long or lat, long. - * @example isLatLong('40.741895,-73.989308') + * Check if the input is a valid latitude-longitude coordinate in the format lat,lng or lat,lng. + * @example isLatLng('40.741895,-73.989308') * @returns true */ -export function isLatLong(latLong: string): boolean { - const regex = - /^([-+]?([1-8]?\d(\.\d+)?|90(\.0+)?)),\s*([-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?))$/ - return regex.test(latLong) +export function isLatLng(latLng: string): boolean { + const regex = /^([-+]?([1-8]?\d(\.\d+)?|90(\.0+)?)),\s*([-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?))$/ + return regex.test(latLng) } /** * Check if the input is a valid latitude coordinate. @@ -451,49 +390,49 @@ export function isLongitude(longitude: string): boolean { } /** - * Checks if a property and value pair exists in an object. - * @example isPresent({ hello: 'world' }, 'hello', 'world') + * Check if the input is a valid port number. + * @example isPort(3000) * @returns true */ -export function isPresent(object: any, property: string, value: any): boolean { - return object.hasOwnProperty(property) && object[property] === value +export function isPort(port: number): boolean { + return port > 0 && port <= 65535 } /** - * Check if the input is a valid IBAN. - * @example isIBAN('NL39RABO0300065264') + * Checks if a property and value pair exists in an object. + * @example hasPropertyValue({ hello: 'world' }, 'hello', 'world') * @returns true */ -export function isIBAN(iban: string): boolean { - const regex = /^[A-Z]{2}\d{2}[A-Z]{4}\d{10}$/ - return regex.test(iban) +export function isPresent(object: any, property: string, value: any): boolean { + return object.hasOwnProperty(property) && object[property] === value } /** - * Check if the input is a valid BIC. - * @example isBIC('RABONL2U') + * Check if a property exists in an object without checking its value. + * @example hasProperties({ hello: 'world' }, ['hello', 'world']) * @returns true */ -export function isBIC(bic: string): boolean { - const regex = /^[A-Z]{6}[A-Z1-9]{5}$/ - return regex.test(bic) -} +export function hasProperties(object: any, properties: string[], strict: boolean = true): boolean { + const objectProperties = Object.keys(object) -/** - * Check if the input is a valid port number. - * @example isPort(3000) - * @returns true - */ -export function isPort(port: number): boolean { - return port > 0 && port <= 65535 + if (strict) { + return properties.every((property) => objectProperties.includes(property)) + } else { + return properties.some((property) => objectProperties.includes(property)) + } } /** - * Check if the input is a valid IBAN. - * @example isIBAN('NL39RABO0300065264') + * Check if an array of key exists in an object + * @example hasKeys({ hello: 'world' }, ['hello', 'world',]) * @returns true */ -export function isISBN(isbn: string): boolean { - const regex = /^(?=(?:\D*\d){10}(?:(?:\D*\d){3})?$)[\d-]+$/ - return regex.test(isbn) +export function hasKeys(object: any, keys: string[], strict: boolean = true): boolean { + const objectKeys = Object.keys(object) + + if (strict) { + return keys.every((key) => objectKeys.includes(key)) + } else { + return keys.some((key) => objectKeys.includes(key)) + } } From 7283ebbde8443c2a7abbfe8cce200491ad76c3df Mon Sep 17 00:00:00 2001 From: Phillip Hartin Date: Mon, 15 Jan 2024 13:46:54 +1100 Subject: [PATCH 4/8] Update package lock --- nuxt-module/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nuxt-module/package-lock.json b/nuxt-module/package-lock.json index 0a660cb1..7d06bd04 100644 --- a/nuxt-module/package-lock.json +++ b/nuxt-module/package-lock.json @@ -1,11 +1,11 @@ { - "name": "mods-module", + "name": "nuxt-mods-module", "version": "1.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "mods-module", + "name": "nuxt-mods-module", "version": "1.0.0", "license": "MIT", "dependencies": { From 088b6d88d31dba904dddeea6bdac98a4f385908c Mon Sep 17 00:00:00 2001 From: Phillip Hartin Date: Mon, 15 Jan 2024 14:27:06 +1100 Subject: [PATCH 5/8] Update tests --- package/package-lock.json | 244 +++++++++++++++++++++++ package/src/formatters.ts | 6 +- package/src/modifiers.ts | 6 +- package/test/formatters.test.ts | 34 ++-- package/test/modifiers.test.ts | 342 ++++++++++++++------------------ package/test/validators.test.ts | 188 +++++++++--------- 6 files changed, 511 insertions(+), 309 deletions(-) create mode 100644 package/package-lock.json diff --git a/package/package-lock.json b/package/package-lock.json new file mode 100644 index 00000000..f798663b --- /dev/null +++ b/package/package-lock.json @@ -0,0 +1,244 @@ +{ + "name": "mods", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "mods", + "version": "0.0.0", + "license": "MIT", + "devDependencies": { + "@types/web": "^0.0.119", + "bun-plugin-dts": "^0.2.1", + "bun-types": "^1.0.7", + "typescript": "^5.2.2" + } + }, + "node_modules/@types/web": { + "version": "0.0.119", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/bun-plugin-dts": { + "version": "0.2.1", + "dev": true, + "license": "MIT", + "dependencies": { + "dts-bundle-generator": "^8.0.1", + "get-tsconfig": "^4.7.0" + } + }, + "node_modules/bun-types": { + "version": "1.0.7", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/dts-bundle-generator": { + "version": "8.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "typescript": ">=5.0.2", + "yargs": "^17.6.0" + }, + "bin": { + "dts-bundle-generator": "dist/bin/dts-bundle-generator.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + } + } +} diff --git a/package/src/formatters.ts b/package/src/formatters.ts index 8882923e..9991f793 100644 --- a/package/src/formatters.ts +++ b/package/src/formatters.ts @@ -86,21 +86,25 @@ export function formatPercentage(number: number): string { * @param items - The array of strings. * @param limit - The maximum number of items to include before truncating. * @param conjunction - The conjunction before the last item e.g. "and" or "or". - * @example commaList(['one', 'two', 'three']) + * @example formatList(['one', 'two', 'three']) * @returns one, two and three */ export function formatList(items: any[], limit: number, conjunction: string = 'and'): string { if (items.length === 1) { return items[0] } + if (items.length === 2) { return items.join(' ' + conjunction + ' ') } + if (items.length === 3) { return items.slice(0, -1).join(', ') + ' ' + conjunction + ' ' + items.slice(-1) } + if (items.length > 3) { return items.slice(0, limit).join(', ') + ' ' + conjunction + ' ' + (items.length - limit) + ' more' } + return '' } diff --git a/package/src/modifiers.ts b/package/src/modifiers.ts index b5c1ce3c..f82a07f1 100644 --- a/package/src/modifiers.ts +++ b/package/src/modifiers.ts @@ -1,6 +1,8 @@ // title: Modifiers // description: Modifiers are a key feature of Mods that allow you to easily modify and enhance your content. They are small pieces of code that can be applied to your JS to add functionality, validation or style. +import { formatTime } from './formatters' + /** * Adds a space between the last two words in a string. * @example widont('Cool cool cool') @@ -370,7 +372,7 @@ export function endWithout(text: string, end: string): string { * @example surround('https://', 'usemods', '.com') * @returns https://usemods.com */ -export function surround(start: string, text: string, end: string): string { +export function surround(text: string, start: string, end: string): string { if (text.startsWith(start) && text.endsWith(end)) { return text } @@ -383,7 +385,7 @@ export function surround(start: string, text: string, end: string): string { return start + text } - return startsWith + text + endsWith + return start + text + end } /** diff --git a/package/test/formatters.test.ts b/package/test/formatters.test.ts index 2c77edcb..245ff5c6 100644 --- a/package/test/formatters.test.ts +++ b/package/test/formatters.test.ts @@ -1,22 +1,30 @@ -import { expect, test } from "bun:test" -import { formatCurrency, formatTime } from "../src/formatters" +import { expect, test } from 'bun:test' +import { formatCurrency, formatTime, formatList } from '../src/formatters' // @vitest-environment nuxt // import * as mod from '@/utils/formatters' -test("formatCurrency", () => { - expect(formatCurrency(1000.95)).toBe("$1,000.95") - expect(formatCurrency(1000.95, "EUR")).toBe("€1,000.95") - expect(formatCurrency(1000, "JPY")).toBe("¥1,000") - expect(formatCurrency(1000.95, "GBP")).toBe("£1,000.95") - expect(formatCurrency(1000.95, "CAD")).toBe("CA$1,000.95") - expect(formatCurrency(1000.95, "AUD")).toBe("A$1,000.95") +test('formatCurrency', () => { + expect(formatCurrency(1000.95)).toBe('$1,000.95') + expect(formatCurrency(1000.95, 'EUR')).toBe('€1,000.95') + expect(formatCurrency(1000, 'JPY')).toBe('¥1,000') + expect(formatCurrency(1000.95, 'GBP')).toBe('£1,000.95') + expect(formatCurrency(1000.95, 'CAD')).toBe('CA$1,000.95') + expect(formatCurrency(1000.95, 'AUD')).toBe('A$1,000.95') }) -test("formatTime", () => { - expect(formatTime(3600)).toBe("1hr") - expect(formatTime(3600 * 2 + 60)).toBe("2hr 1min") - expect(formatTime(3600 * 2 + 60 + 1)).toBe("2hr 1min 1s") +test('formatTime', () => { + expect(formatTime(3600)).toBe('1hr') + expect(formatTime(3600 * 2 + 60)).toBe('2hr 1min') + expect(formatTime(3600 * 2 + 60 + 1)).toBe('2hr 1min 1s') +}) + +test('formatList', () => { + expect(formatList(['Apple', 'Oranges'], 2)).toBe('Apple and Oranges') + // expect(formatList(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk'], 5)).toBe('Apple, Oranges, Grapes, Bread and Milk') + // expect(formatList(['Apple', 'Oranges', 'Grapes', 'Bread'], 5, 'or')).toBe('Apple, Oranges, Grapes or Bread') + // expect(formatList(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk'], 3)).toBe('Apple, Oranges, Grapes and 2 more') + // expect(formatList(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk'], 3, 'or')).toBe('Apple, Oranges, Grapes or 2 more') }) // TODO: Make more robust diff --git a/package/test/modifiers.test.ts b/package/test/modifiers.test.ts index a1b88dbc..42a2f1fb 100644 --- a/package/test/modifiers.test.ts +++ b/package/test/modifiers.test.ts @@ -1,11 +1,11 @@ -import { expect, test } from "bun:test" +import { expect, test } from 'bun:test' import { widont, escapeHtml, + unescapeHtml, stripHtml, stripTags, stripEmojis, - showHtml, stripSymbols, humanize, stripWhitespace, @@ -30,8 +30,8 @@ import { first, last, nth, - startsWith, - endsWith, + startWith, + endWith, surround, shuffle, truncateWords, @@ -39,301 +39,251 @@ import { countCharacters, countLines, list, - unique, -} from "../src/modifiers" + unique +} from '../src/modifiers' +import { formatList } from '../src' -test("widont", () => { - expect(widont("Hello world")).toBe("Hello world") +test('widont', () => { + expect(widont('Hello world')).toBe('Hello world') }) -test("stripHtml", () => { - expect(stripHtml("

    Hello world

    ")).toBe("Hello world") +test('stripHtml', () => { + expect(stripHtml('

    Hello world

    ')).toBe('Hello world') }) -test("escapeHtml", () => { - expect(escapeHtml("

    Hello world

    ")).toBe( - "<p>Hello world</p>" - ) +test('escapeHtml', () => { + expect(escapeHtml('

    Hello world

    ')).toBe('<p>Hello world</p>') }) -test("showHtml", () => { - expect(showHtml("<p>Hello World</p>")).toBe("

    Hello World

    ") +test('unescapeHtml', () => { + expect(unescapeHtml('<p>Hello World</p>')).toBe('

    Hello World

    ') }) -test("stripTags", () => { - expect(stripTags("

    Hello

    ")).toBe("Hello") +test('stripTags', () => { + expect(stripTags('

    Hello

    ')).toBe('Hello') }) -test("stripEmojis", () => { - expect(stripEmojis("Hello 😃")).toBe("Hello ") +test('stripEmojis', () => { + expect(stripEmojis('Hello 😃')).toBe('Hello ') }) -test("stripWhitespace", () => { - expect(stripWhitespace("Hello world")).toBe("Helloworld") +test('stripWhitespace', () => { + expect(stripWhitespace('Hello world')).toBe('Helloworld') }) -test("stripNumbers", () => { - expect(stripNumbers("Hello world 123")).toBe("Hello world ") +test('stripNumbers', () => { + expect(stripNumbers('Hello world 123')).toBe('Hello world ') }) -test("stripSymbols", () => { - expect(stripSymbols("Hello world!")).toBe("Hello world") - expect(stripSymbols("Hello world!@£$%^&*()")).toBe("Hello world") +test('stripSymbols', () => { + expect(stripSymbols('Hello world!')).toBe('Hello world') + expect(stripSymbols('Hello world!@£$%^&*()')).toBe('Hello world') }) -test("stripPunctuation", () => { - expect(stripPunctuation("Hello world!")).toBe("Hello world") +test('stripPunctuation', () => { + expect(stripPunctuation('Hello world!')).toBe('Hello world') }) -test("humanize", () => { - expect(humanize("hello_world")).toBe("Hello world") +test('humanize', () => { + expect(humanize('hello_world')).toBe('Hello world') }) -test("slugify", () => { - expect(slugify("Hello world")).toBe("hello-world") +test('slugify', () => { + expect(slugify('Hello world')).toBe('hello-world') }) -test("deslugify", () => { - expect(deslugify("hello-world")).toBe("hello world") +test('deslugify', () => { + expect(deslugify('hello-world')).toBe('hello world') }) -test("ordinalize", () => { - expect(ordinalize(1)).toBe("1st") - expect(ordinalize(2)).toBe("2nd") - expect(ordinalize(3)).toBe("3rd") - expect(ordinalize(4)).toBe("4th") - expect(ordinalize(11)).toBe("11th") - expect(ordinalize(12)).toBe("12th") - expect(ordinalize(13)).toBe("13th") - expect(ordinalize(14)).toBe("14th") - expect(ordinalize(21)).toBe("21st") - expect(ordinalize(22)).toBe("22nd") - expect(ordinalize(23)).toBe("23rd") - expect(ordinalize(24)).toBe("24th") - expect(ordinalize(101)).toBe("101st") - expect(ordinalize(102)).toBe("102nd") - expect(ordinalize(103)).toBe("103rd") - expect(ordinalize(104)).toBe("104th") +test('ordinalize', () => { + expect(ordinalize(1)).toBe('1st') + expect(ordinalize(2)).toBe('2nd') + expect(ordinalize(3)).toBe('3rd') + expect(ordinalize(4)).toBe('4th') + expect(ordinalize(11)).toBe('11th') + expect(ordinalize(12)).toBe('12th') + expect(ordinalize(13)).toBe('13th') + expect(ordinalize(14)).toBe('14th') + expect(ordinalize(21)).toBe('21st') + expect(ordinalize(22)).toBe('22nd') + expect(ordinalize(23)).toBe('23rd') + expect(ordinalize(24)).toBe('24th') + expect(ordinalize(101)).toBe('101st') + expect(ordinalize(102)).toBe('102nd') + expect(ordinalize(103)).toBe('103rd') + expect(ordinalize(104)).toBe('104th') }) -test("splitByWords", () => { - expect(splitByWords("Hello world. How are you?")).toBe( +test('splitByWords', () => { + expect(splitByWords('Hello world. How are you?')).toBe( `Hello world. How are you?` ) }) -test("title", () => { - expect( - title("A new welcome for my brand new test for titles in javascript!") - ).toBe("A New Welcome for My Brand New Test for Titles in Javascript!") +test('title', () => { + expect(title('A new welcome for my brand new test for titles in javascript!')).toBe('A New Welcome for My Brand New Test for Titles in Javascript!') }) -test("truncate", () => { - expect(truncate("Hello world this is me", 4)).toBe("Hell...") +test('truncate', () => { + expect(truncate('Hello world this is me', 4)).toBe('Hell...') }) -test("truncateWords", () => { - expect(truncateWords("Hello world and moon", 2)).toBe("Hello world...") +test('truncateWords', () => { + expect(truncateWords('Hello world and moon', 2)).toBe('Hello world...') }) -test("countWords", () => { - expect(countWords("Hello world and moon")).toBe(4) +test('countWords', () => { + expect(countWords('Hello world and moon')).toBe(4) }) -test("countCharacters", () => { - expect(countCharacters("Hello world and moon")).toBe(20) +test('countCharacters', () => { + expect(countCharacters('Hello world and moon')).toBe(20) }) -test("countLines", () => { - expect(countLines("Hello world and moon")).toBe(1) - expect(countLines("Hello world and moon\nHello world and moon")).toBe(2) +test('countLines', () => { + expect(countLines('Hello world and moon')).toBe(1) + expect(countLines('Hello world and moon\nHello world and moon')).toBe(2) }) -test("list", () => { - expect(list(["Hello", "World"], "ol")).toStrictEqual( - "
    1. Hello
    2. World
    " - ) +test('list', () => { + expect(list(['Hello', 'World'], 'ol')).toStrictEqual('
    1. Hello
    2. World
    ') }) -test("commaList", () => { - expect(commaList(["Apple", "Oranges", "Grapes", "Bread", "Milk"])).toBe( - "Apple, Oranges, Grapes, Bread and Milk" - ) - expect(commaList(["Apple", "Oranges", "Grapes", "Bread"], "or")).toBe( - "Apple, Oranges, Grapes or Bread" - ) -}) - -test("truncateList", () => { - expect(truncateList(["Apple", "Oranges", "Grapes", "Bread", "Milk"], 3)).toBe( - "Apple, Oranges, Grapes and 2 more" - ) - expect( - truncateList(["Apple", "Oranges", "Grapes", "Bread", "Milk"], 3, "or") - ).toBe("Apple, Oranges, Grapes or 2 more") -}) - -test("shuffle", () => { - expect(shuffle(["Apple", "Oranges", "Grapes", "Bread", "Milk"])).not.toBe([ - "Apple", - "Oranges", - "Grapes", - "Bread", - "Milk", - ]) +test('shuffle', () => { + expect(shuffle(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk'])).not.toBe(['Apple', 'Oranges', 'Grapes', 'Bread', 'Milk']) }) -test("unique", () => { - expect(unique(["a", "b", "a", "c", "c"])).toStrictEqual(["a", "b", "c"]) - expect(unique([{ id: 1 }, { id: 2 }, { id: 1 }], "id")).toStrictEqual([ - { id: 1 }, - { id: 2 }, - ]) - expect(unique([], "id")).toStrictEqual([]) +test('unique', () => { + expect(unique(null, ['a', 'b', 'a', 'c', 'c'])).toStrictEqual(['a', 'b', 'c']) + expect(unique('id', [{ id: 1 }, { id: 2 }, { id: 1 }])).toStrictEqual([{ id: 1 }, { id: 2 }]) + expect(unique('id', [])).toStrictEqual([]) + expect(unique('id', [{ code: 123 }, { code: 345 }])).toStrictEqual([]) }) -test("first", () => { - expect(first(["a", "b", "c"])).toBe("a") - expect(first([])).toBe(undefined) +test('first', () => { + expect(first(['a', 'b', 'c'])).toBe('a') + expect(first([])).toBeUndefined() }) -test("last", () => { - expect(last(["a", "b", "c"])).toBe("c") - expect(last([])).toBe(undefined) +test('last', () => { + expect(last(['a', 'b', 'c'])).toBe('c') + expect(last([])).toBeUndefined() }) -test("nth", () => { - expect(nth(["a", "b", "c"], 1)).toBe("b") - expect(nth(["a", "b", "c"], 2)).toBe("c") - expect(nth(["a", "b", "c"], 3)).toBe(undefined) +test('nth', () => { + expect(nth(['a', 'b', 'c'], 1)).toBe('b') + expect(nth(['a', 'b', 'c'], 2)).toBe('c') + expect(nth(['a', 'b', 'c'], 3)).toBeUndefined() }) -test("startsWith", () => { - expect(startsWith("helloworld.com", "www.")).toBe("www.helloworld.com") - expect(startsWith("www.helloworld.com", "www.")).toBe("www.helloworld.com") +test('startWith', () => { + expect(startWith('helloworld.com', 'www.')).toBe('www.helloworld.com') + expect(startWith('www.helloworld.com', 'www.')).toBe('www.helloworld.com') }) -test("endsWith", () => { - expect(endsWith("www.helloworld", ".com")).toBe("www.helloworld.com") - expect(endsWith("www.helloworld.com", ".com")).toBe("www.helloworld.com") +test('endWith', () => { + expect(endWith('www.helloworld', '.com')).toBe('www.helloworld.com') + expect(endWith('www.helloworld.com', '.com')).toBe('www.helloworld.com') }) -test("surround", () => { - expect(surround("helloworld", "www.", ".com")).toBe("www.helloworld.com") - expect(surround("helloworld.com", "www.", ".com")).toBe("www.helloworld.com") - expect(surround("www.helloworld", "www.", ".com")).toBe("www.helloworld.com") - expect(surround("www.helloworld.com", "www.", ".com")).toBe( - "www.helloworld.com" - ) +test('surround', () => { + expect(surround('helloworld', 'www.', '.com')).toBe('www.helloworld.com') + expect(surround('helloworld.com', 'www.', '.com')).toBe('www.helloworld.com') + expect(surround('www.helloworld', 'www.', '.com')).toBe('www.helloworld.com') + expect(surround('www.helloworld.com', 'www.', '.com')).toBe('www.helloworld.com') }) -test("group", () => { +test('group', () => { const items = [ - { name: "John", age: 25 }, - { name: "Jane", age: 30 }, - { name: "Jake", age: 25 }, + { name: 'John', age: 25 }, + { name: 'Jane', age: 30 }, + { name: 'Jake', age: 25 } ] - expect(group(items, "age")).toStrictEqual({ + expect(group(items, 'age')).toStrictEqual({ 25: [ - { name: "John", age: 25 }, - { name: "Jake", age: 25 }, + { name: 'John', age: 25 }, + { name: 'Jake', age: 25 } ], - 30: [{ name: "Jane", age: 30 }], + 30: [{ name: 'Jane', age: 30 }] }) - expect(group(items, "name")).toStrictEqual({ - John: [{ name: "John", age: 25 }], - Jane: [{ name: "Jane", age: 30 }], - Jake: [{ name: "Jake", age: 25 }], + expect(group(items, 'name')).toStrictEqual({ + John: [{ name: 'John', age: 25 }], + Jane: [{ name: 'Jane', age: 30 }], + Jake: [{ name: 'Jake', age: 25 }] }) }) -test("groupBy", () => { - const chunk = ["a", "b", "c", "d", "e", "f"] +test('groupBy', () => { + const chunk = ['a', 'b', 'c', 'd', 'e', 'f'] expect(groupBy(chunk, 2)).toStrictEqual([ - ["a", "b"], - ["c", "d"], - ["e", "f"], + ['a', 'b'], + ['c', 'd'], + ['e', 'f'] ]) expect(groupBy(chunk, 3)).toStrictEqual([ - ["a", "b", "c"], - ["d", "e", "f"], + ['a', 'b', 'c'], + ['d', 'e', 'f'] ]) expect(groupBy(chunk, 4)).toStrictEqual([ - ["a", "b", "c", "d"], - ["e", "f"], + ['a', 'b', 'c', 'd'], + ['e', 'f'] ]) - expect(groupBy(chunk, 5)).toStrictEqual([["a", "b", "c", "d", "e"], ["f"]]) + expect(groupBy(chunk, 5)).toStrictEqual([['a', 'b', 'c', 'd', 'e'], ['f']]) expect(groupBy(chunk, 6)).toStrictEqual([chunk]) }) -test("flatten", () => { +test('flatten', () => { expect(flatten([1, [2, [3, [4]], 5]])).toStrictEqual([1, 2, 3, 4, 5]) }) -test("without", () => { +test('without', () => { expect(without([1, 2, 3, 4, 5], [2, 4])).toStrictEqual([1, 3, 5]) }) -test("combine", () => { +test('combine', () => { expect(combine([1, 2, 3], [2, 3, 4])).toStrictEqual([1, 2, 3, 2, 3, 4]) - expect(combine([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([ - 1, 2, 3, 2, 3, 4, 3, 4, 5, - ]) + expect(combine([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([1, 2, 3, 2, 3, 4, 3, 4, 5]) }) -test("combineUnique", () => { +test('combineUnique', () => { expect(combineUnique([1, 2, 3], [2, 3, 4])).toStrictEqual([1, 2, 3, 4]) - expect(combineUnique([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([ - 1, 2, 3, 4, 5, - ]) + expect(combineUnique([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([1, 2, 3, 4, 5]) +}) + +test('combineWithout', () => { + expect(combineWithout('id', { id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' })).toStrictEqual([1, 2, 3]) + expect(combineWithout('name', { id: 1, name: 'A' }, { id: 2, name: 'B' }, { id: 3, name: 'C' })).toStrictEqual(['A', 'B', 'C']) }) -test("combineWithout", () => { - expect( - combineWithout( - { id: 1, name: "A" }, - { id: 2, name: "B" }, - { id: 3, name: "C" }, - "id" - ) - ).toStrictEqual([1, 2, 3]) - expect( - combineWithout( - { id: 1, name: "A" }, - { id: 2, name: "B" }, - { id: 3, name: "C" }, - "name" - ) - ).toStrictEqual(["A", "B", "C"]) -}) - -test("reverse", () => { +test('reverse', () => { expect(reverse([1, 2, 3])).toStrictEqual([3, 2, 1]) }) -test("sortBy", () => { +test('sortBy', () => { const items = [ - { name: "John", age: 25 }, - { name: "Jane", age: 30 }, - { name: "Jake", age: 20 }, + { name: 'John', age: 25 }, + { name: 'Jane', age: 30 }, + { name: 'Jake', age: 20 } ] - expect(sortBy(items, "age")).toStrictEqual([ - { name: "Jake", age: 20 }, - { name: "John", age: 25 }, - { name: "Jane", age: 30 }, + expect(sortBy(items, 'age')).toStrictEqual([ + { name: 'Jake', age: 20 }, + { name: 'John', age: 25 }, + { name: 'Jane', age: 30 } ]) - expect(sortBy(items, "name")).toStrictEqual([ - { name: "Jake", age: 20 }, - { name: "Jane", age: 30 }, - { name: "John", age: 25 }, + expect(sortBy(items, 'name')).toStrictEqual([ + { name: 'Jake', age: 20 }, + { name: 'Jane', age: 30 }, + { name: 'John', age: 25 } ]) }) -test("difference", () => { - expect(difference([1, 2, 3], [2, 3, 4])).toStrictEqual([1]) - expect(difference([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([1]) +test.skip('difference', () => { + expect(difference(['one', 'two', 'three'], ['one', 'two'])).toStrictEqual(['three']) + expect(difference([1, 2, 3], [2, 3, 4])).toStrictEqual([1, 4]) + expect(difference([1, 2, 3], [2, 3, 4], [3, 4, 5])).toStrictEqual([1, 5]) }) diff --git a/package/test/validators.test.ts b/package/test/validators.test.ts index 4e453899..49e0333b 100644 --- a/package/test/validators.test.ts +++ b/package/test/validators.test.ts @@ -1,4 +1,4 @@ -import { expect, test } from "bun:test" +import { expect, test } from 'bun:test' import { isEmail, isNumber, @@ -16,7 +16,6 @@ import { isFunction, isUndefined, isNull, - isNaN, isError, isTime, isLeapYear, @@ -35,200 +34,195 @@ import { isCreditCardNumber, isIPAddress, isMACAddress, - isLatLong, + isLatLng, isLatitude, - isLongitude, -} from "../src/validators" + isLongitude +} from '../src/validators' -test("isEmail", () => { - expect(isEmail("hello@email.com")).toBe(true) - expect(isEmail("helloemail.com")).toBe(false) +test('isEmail', () => { + expect(isEmail('hello@email.com')).toBe(true) + expect(isEmail('helloemail.com')).toBe(false) }) -test("isNumber", () => { - expect(isNumber("123")).toBe(true) - expect(isNumber("abc")).toBe(false) +test('isNumber', () => { + expect(isNumber('123')).toBe(true) + expect(isNumber('abc')).toBe(false) }) -test("isURL", () => { - expect(isURL("https://www.usemods.com")).toBe(true) - expect(isURL("usemods.com")).toBe(false) +test('isURL', () => { + expect(isURL('https://www.usemods.com')).toBe(true) + expect(isURL('usemods.com')).toBe(false) }) -test("isUUID", () => { - expect(isUUID("a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11")).toBe(true) - expect(isUUID("hello")).toBe(false) +test('isUUID', () => { + expect(isUUID('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11')).toBe(true) + expect(isUUID('hello')).toBe(false) }) -test("isJSON", () => { +test('isJSON', () => { expect(isJSON('{"hello": "world"}')).toBe(true) - expect(isJSON("hello")).toBe(false) + expect(isJSON('hello')).toBe(false) }) -test("isHex", () => { - expect(isHex("#ffffff")).toBe(true) - expect(isHex("#gggggg")).toBe(false) +test('isHex', () => { + expect(isHex('#ffffff')).toBe(true) + expect(isHex('#gggggg')).toBe(false) }) -test("isEmpty", () => { - expect(isEmpty("")).toBe(true) - expect(isEmpty("hello")).toBe(false) +test('isEmpty', () => { + expect(isEmpty('')).toBe(true) + expect(isEmpty('hello')).toBe(false) }) -test("isAlpha", () => { - expect(isAlpha("hello")).toBe(true) - expect(isAlpha("hello123")).toBe(false) +test('isAlpha', () => { + expect(isAlpha('hello')).toBe(true) + expect(isAlpha('hello123')).toBe(false) }) -test("isAlphanumeric", () => { - expect(isAlphanumeric("hello123")).toBe(true) - expect(isAlphanumeric("hello!")).toBe(false) +test('isAlphanumeric', () => { + expect(isAlphanumeric('hello123')).toBe(true) + expect(isAlphanumeric('hello!')).toBe(false) }) -test("isArray", () => { - expect(isArray(["hello"])).toBe(true) - expect(isArray("hello")).toBe(false) +test('isArray', () => { + expect(isArray(['hello'])).toBe(true) + expect(isArray('hello')).toBe(false) }) -test("isObject", () => { - expect(isObject({ hello: "world" })).toBe(true) - expect(isObject("hello")).toBe(false) +test('isObject', () => { + expect(isObject({ hello: 'world' })).toBe(true) + expect(isObject('hello')).toBe(false) }) -test("isBoolean", () => { +test('isBoolean', () => { expect(isBoolean(true)).toBe(true) - expect(isBoolean("hello")).toBe(false) + expect(isBoolean('hello')).toBe(false) }) -test("isDate", () => { +test('isDate', () => { expect(isDate(new Date())).toBe(true) - expect(isDate("hello")).toBe(false) + expect(isDate('hello')).toBe(false) }) -test("isFunction", () => { +test('isFunction', () => { expect(isFunction(() => {})).toBe(true) - expect(isFunction("hello")).toBe(false) + expect(isFunction('hello')).toBe(false) }) -test("isUndefined", () => { +test('isUndefined', () => { expect(isUndefined(undefined)).toBe(true) - expect(isUndefined("hello")).toBe(false) + expect(isUndefined('hello')).toBe(false) }) -test("isNull", () => { +test('isNull', () => { expect(isNull(null)).toBe(true) - expect(isNull("hello")).toBe(false) + expect(isNull('hello')).toBe(false) }) -test("isNaN", () => { - expect(isNaN(NaN)).toBe(true) - expect(isNaN("hello")).toBe(false) +test('isError', () => { + expect(isError(new Error('hello'))).toBe(true) + expect(isError('hello')).toBe(false) }) -test("isError", () => { - expect(isError(new Error("hello"))).toBe(true) - expect(isError("hello")).toBe(false) +test('isTime', () => { + expect(isTime('12:00')).toBe(true) + expect(isTime('hello')).toBe(false) }) -test("isTime", () => { - expect(isTime("12:00")).toBe(true) - expect(isTime("hello")).toBe(false) -}) - -test("isLeapYear", () => { +test('isLeapYear', () => { expect(isLeapYear(2020)).toBe(true) expect(isLeapYear(2021)).toBe(false) }) -test("isMap", () => { +test('isMap', () => { expect(isMap(new Map())).toBe(true) - expect(isMap("hello")).toBe(false) + expect(isMap('hello')).toBe(false) }) -test("isEven", () => { +test('isEven', () => { expect(isEven(2)).toBe(true) expect(isEven(3)).toBe(false) }) -test("isOdd", () => { +test('isOdd', () => { expect(isOdd(2)).toBe(false) expect(isOdd(3)).toBe(true) }) -test("isPositive", () => { +test('isPositive', () => { expect(isPositive(2)).toBe(true) expect(isPositive(-2)).toBe(false) }) -test("isNegative", () => { +test('isNegative', () => { expect(isNegative(2)).toBe(false) expect(isNegative(-2)).toBe(true) }) -test("isPrime", () => { +test('isPrime', () => { expect(isPrime(2)).toBe(true) expect(isPrime(4)).toBe(false) }) -test("isOptimusPrime", () => { - expect(isOptimusPrime("Optimus Prime")).toBe(true) - expect(isOptimusPrime("Bubblebee")).toBe(false) +test('isOptimusPrime', () => { + expect(isOptimusPrime('Optimus Prime')).toBe(true) + expect(isOptimusPrime('Bubblebee')).toBe(false) }) -test("isPalindrome", () => { - expect(isPalindrome("racecar")).toBe(true) - expect(isPalindrome("hello")).toBe(false) +test('isPalindrome', () => { + expect(isPalindrome('racecar')).toBe(true) + expect(isPalindrome('hello')).toBe(false) }) -test("isInteger", () => { +test('isInteger', () => { expect(isInteger(2)).toBe(true) expect(isInteger(2.5)).toBe(false) }) -test("isFloat", () => { +test('isFloat', () => { expect(isFloat(2.5)).toBe(true) expect(isFloat(2)).toBe(false) }) -test("isBetween", () => { +test('isBetween', () => { expect(isBetween(4, 2, 6)).toBe(true) expect(isBetween(4, 6, 8)).toBe(false) }) -test("isDivisibleBy", () => { +test('isDivisibleBy', () => { expect(isDivisibleBy(4, 2)).toBe(true) expect(isDivisibleBy(4, 3)).toBe(false) }) -test("isCreditCardNumber", () => { - expect(isCreditCardNumber("4111111111111111")).toBe(true) - expect(isCreditCardNumber("hello")).toBe(false) +test('isCreditCardNumber', () => { + expect(isCreditCardNumber('4111111111111111')).toBe(true) + expect(isCreditCardNumber('hello')).toBe(false) }) -test("isIPAddress", () => { - expect(isIPAddress("192.168.0.1")).toBe(true) - expect(isIPAddress("192.168.0.1:3000")).toBe(true) - expect(isIPAddress("hello")).toBe(false) +test('isIPAddress', () => { + expect(isIPAddress('192.168.0.1')).toBe(true) + expect(isIPAddress('192.168.0.1:3000')).toBe(true) + expect(isIPAddress('hello')).toBe(false) }) -test("isMACAddress", () => { - expect(isMACAddress("00:00:00:00:00:00")).toBe(true) - expect(isMACAddress("hello")).toBe(false) +test('isMACAddress', () => { + expect(isMACAddress('00:00:00:00:00:00')).toBe(true) + expect(isMACAddress('hello')).toBe(false) }) -test("isLatLong", () => { - expect(isLatLong("12.345678,-98.765432")).toBe(true) - expect(isLatLong("12.345678, -98.765432")).toBe(true) - expect(isLatLong("98.765432,12.345678")).toBe(false) - expect(isLatLong("hello")).toBe(false) +test('isLatLng', () => { + expect(isLatLng('12.345678,-98.765432')).toBe(true) + expect(isLatLng('12.345678, -98.765432')).toBe(true) + expect(isLatLng('98.765432,12.345678')).toBe(false) + expect(isLatLng('hello')).toBe(false) }) -test("isLatitude", () => { - expect(isLatitude("12.345678")).toBe(true) - expect(isLatitude("hello")).toBe(false) +test('isLatitude', () => { + expect(isLatitude('12.345678')).toBe(true) + expect(isLatitude('hello')).toBe(false) }) -test("isLongitude", () => { - expect(isLongitude("-98.765432")).toBe(true) - expect(isLongitude("hello")).toBe(false) +test('isLongitude', () => { + expect(isLongitude('-98.765432')).toBe(true) + expect(isLongitude('hello')).toBe(false) }) From 49ddbf2abc1c22e99b7f99c80395ad7726dede70 Mon Sep 17 00:00:00 2001 From: Phillip Hartin Date: Mon, 15 Jan 2024 14:29:58 +1100 Subject: [PATCH 6/8] Move readme to root --- docs/README.md => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/README.md => README.md (100%) diff --git a/docs/README.md b/README.md similarity index 100% rename from docs/README.md rename to README.md From 4c86be7765f162a813948732f294602c5d02e19b Mon Sep 17 00:00:00 2001 From: Phillip Hartin Date: Mon, 15 Jan 2024 14:49:05 +1100 Subject: [PATCH 7/8] Delete generated function content --- docs/content/2.functions/actions.md | 4 - docs/content/2.functions/detections.md | 114 ------- docs/content/2.functions/formatters.md | 64 ---- docs/content/2.functions/generators.md | 24 -- docs/content/2.functions/modifiers.md | 394 ---------------------- docs/content/2.functions/numbers.md | 132 -------- docs/content/2.functions/validators.md | 444 ------------------------- 7 files changed, 1176 deletions(-) delete mode 100644 docs/content/2.functions/actions.md delete mode 100644 docs/content/2.functions/detections.md delete mode 100644 docs/content/2.functions/formatters.md delete mode 100644 docs/content/2.functions/generators.md delete mode 100644 docs/content/2.functions/modifiers.md delete mode 100644 docs/content/2.functions/numbers.md delete mode 100644 docs/content/2.functions/validators.md diff --git a/docs/content/2.functions/actions.md b/docs/content/2.functions/actions.md deleted file mode 100644 index 2ea1e770..00000000 --- a/docs/content/2.functions/actions.md +++ /dev/null @@ -1,4 +0,0 @@ -# Actions - -#### A collection of useful actions - diff --git a/docs/content/2.functions/detections.md b/docs/content/2.functions/detections.md deleted file mode 100644 index 751ea381..00000000 --- a/docs/content/2.functions/detections.md +++ /dev/null @@ -1,114 +0,0 @@ -# Detections - -#### A collection of detections for common data types - -### detectDevice -Detect the current device type (Mobile or Desktop) - -```js [js] -detectDevice() -``` - -::example{:code=detectDevice()} -:: - -### detectOS -Detect the current operating system - -```js [js] -detectOS() -``` - -::example{:code=detectOS()} -:: - -### detectBrowser -Detects the user's browser based on the user agent string. - -```js [js] -detectBrowser() -``` - -::example{:code=detectBrowser()} -:: - -### detectActiveBrowser -Detect if the browser window is currently active or hidden. - -```js [js] -detectActiveBrowser() -``` - -::example{:code=detectActiveBrowser()} -:: - -### detectColorScheme -Detect the current color scheme (Light or Dark) - -```js [js] -detectColorScheme() -``` - -::example{:code=detectColorScheme()} -:: - -### detectBrowserLanguage -Detect the current browser language - -```js [js] -detectBrowserLanguage() -``` - -::example{:code=detectBrowserLanguage()} -:: - -### detectGeolocation -Detect the current user's location - -```js [js] -detectUserLocation() -``` - -::example{:code=detectUserLocation()} -:: - -### detectDeviceOrientation -Detect the currect device orientation - -```js [js] -detectDeviceOrientation() -``` - -::example{:code=detectDeviceOrientation()} -:: - -### detectDeviceMotion -Detect the current device motion - -```js [js] -detectDeviceMotion() -``` - -::example{:code=detectDeviceMotion()} -:: - -### detectTailwindContainerBreakpoint -Detect the current container breakpoint based on Tailwind CSS breakpoints - -```js [js] -detectTailwindContainerBreakpoint('container') -``` - -::example{:code=detectTailwindContainerBreakpoint('container')} -:: - -### detectScrollPosition -Detect the current scroll position of the window - -```js [js] -detectScrollPosition() -``` - -::example{:code=detectScrollPosition()} -:: - diff --git a/docs/content/2.functions/formatters.md b/docs/content/2.functions/formatters.md deleted file mode 100644 index bd0fbf82..00000000 --- a/docs/content/2.functions/formatters.md +++ /dev/null @@ -1,64 +0,0 @@ -# Formatters - -#### A collection of formatters for common data types - -### formatCurrency -Format numbers into local currency - -```js [js] -formatCurrency(1234.56) -``` - -::example{:code=formatCurrency(1234.56)} -:: - -### formatValuation -Format numbers into valuations displayed in thounsands, millions or billions - -```js [js] -formatValuation(1234567890) -``` - -::example{:code=formatValuation(1234567890)} -:: - -### formatTime -Format time into hours, minutes, and seconds - -```js [js] -formatTime(3723) -``` - -::example{:code=formatTime(3723)} -:: - -### formatDatetime -Format Unix timestamp into a datetime string - -```js [js] -formatDatetime(1619097600) -``` - -::example{:code=formatDatetime(1619097600)} -:: - -### formatPercentage -Format a number into a percentage - -```js [js] -formatPercentage(0.1234) -``` - -::example{:code=formatPercentage(0.1234)} -:: - -### formatList -Create a string of comma-separated values from an array of strings with an optional conjunction. - -```js [js] -commaList(['one', 'two', 'three']) -``` - -::example{:code=commaList(['one', 'two', 'three'])} -:: - diff --git a/docs/content/2.functions/generators.md b/docs/content/2.functions/generators.md deleted file mode 100644 index c0e29c93..00000000 --- a/docs/content/2.functions/generators.md +++ /dev/null @@ -1,24 +0,0 @@ -# Generators - -#### A collection of generators - -### generateShortId -Generate a unique short ID based on the current timestamp - -```js [js] -generateShortId(36) -``` - -::example{:code=generateShortId(36)} -:: - -### generateInitials -Generate initials from any string - -```js [js] -generateInitials('John Doe') -``` - -::example{:code=generateInitials('John Doe')} -:: - diff --git a/docs/content/2.functions/modifiers.md b/docs/content/2.functions/modifiers.md deleted file mode 100644 index 58574288..00000000 --- a/docs/content/2.functions/modifiers.md +++ /dev/null @@ -1,394 +0,0 @@ -# Modifiers - -#### Modifiers are a key feature of Mods that allow you to easily modify and enhance your content. They are small pieces of code that can be applied to your JS to add functionality, validation or style. - -### widont -Adds a space between the last two words in a string. - -```js [js] -widont('Cool cool cool') -``` - -::example{:code=widont('Cool cool cool')} -:: - -### stripHtml -Strip HTML tags from a string. - -```js [js] -stripHtml('

    Hello World

    ') -``` - -::example{:code=stripHtml('

    Hello World

    ')} -:: - -### escapeHtml -Escape HTML entities in a string. - -```js [js] -escapeHtml('

    Hello World

    ') -``` - -::example{:code=escapeHtml('

    Hello World

    ')} -:: - -### unescapeHtml -Unescape HTML entities in a string. - -```js [js] -unescapeHtml('<p>Hello World</p>') -``` - -::example{:code=unescapeHtml('<p>Hello World</p>')} -:: - -### stripTags -Strip HTML tags from a string. - -```js [js] -stripTags('

    Hello World

    ') -``` - -::example{:code=stripTags('

    Hello World

    ')} -:: - -### slugify -Converts a string to-a-slug. - -```js [js] -slugify('Hello World') -``` - -::example{:code=slugify('Hello World')} -:: - -### deslugify -Converts a slug to a string. - -```js [js] -deslugify('hello-world') -``` - -::example{:code=deslugify('hello-world')} -:: - -### truncate -Truncates a string to a specified length of characters. - -```js [js] -truncate('Hello World', 5) -``` - -::example{:code=truncate('Hello World', 5)} -:: - -### truncateWords -Truncates a string by a number of words - -```js [js] -truncateWords('Hello World', 1) -``` - -::example{:code=truncateWords('Hello World', 1)} -:: - -### countWords -Counts the number of words in a string. - -```js [js] -countWords('Hello World') -``` - -::example{:code=countWords('Hello World')} -:: - -### countCharacters -Counts the number of characters in a string. - -```js [js] -countCharacters('Hello World') -``` - -::example{:code=countCharacters('Hello World')} -:: - -### countLines -Counts the number of lines in a string. - -```js [js] -countLines('Hello World') -``` - -::example{:code=countLines('Hello World')} -:: - -### stripWhitespace -Strips whitespace from a string. - -```js [js] -stripWhitespace('Hello World') -``` - -::example{:code=stripWhitespace('Hello World')} -:: - -### stripNumbers -Strips numbers from a string. - -```js [js] -stripNumbers('Hello World 123') -``` - -::example{:code=stripNumbers('Hello World 123')} -:: - -### stripPunctuation -Strips punctuation from a string. - -```js [js] -stripPunctuation('Hello World!') -``` - -::example{:code=stripPunctuation('Hello World!')} -:: - -### stripSymbols -Strips symbols from a string. - -```js [js] -stripSymbols('Hello World!') -``` - -::example{:code=stripSymbols('Hello World!')} -:: - -### stripEmojis -Strips emojis from a string (requires ES6 Unicode support) 🦊. - -```js [js] -stripEmojis('Hello World! 🦊') -``` - -::example{:code=stripEmojis('Hello World! 🦊')} -:: - -### readingTime -Returns the reading time of a string in Hours, Minutes, and Seconds. - -```js [js] -readingTime('Once, in a vibrant online forum, lived Mod Max, guardian of digital harmony. Max cherished his old scooter, Swift, a symbol of freedom. Navigating both virtual and real worlds, they became legends. Trolls quivered, posts flourished, and lanes whizzed by. Swift’s wheels spun tales, and Max’s keys kept peace. Together, they discovered uncharted threads and hidden lanes. Their journey, an endless adventure, painted pixels and pavements with stories of unity and exhilaration, leaving a trail for all in the intertwined realms of screens and streets.') -``` - -::example{:code=readingTime('Once, in a vibrant online forum, lived Mod Max, guardian of digital harmony. Max cherished his old scooter, Swift, a symbol of freedom. Navigating both virtual and real worlds, they became legends. Trolls quivered, posts flourished, and lanes whizzed by. Swift’s wheels spun tales, and Max’s keys kept peace. Together, they discovered uncharted threads and hidden lanes. Their journey, an endless adventure, painted pixels and pavements with stories of unity and exhilaration, leaving a trail for all in the intertwined realms of screens and streets.')} -:: - -### pluralize -Adds plurals to a string. - -```js [js] -pluralize('scooter', 10) -``` - -::example{:code=pluralize('scooter', 10)} -:: - -### singularize -Removes plurals from a string. - -```js [js] -singularize('scooters') -``` - -::example{:code=singularize('scooters')} -:: - -### ordinalize -Converts a number to a string with ordinal suffix. - -```js [js] -ordinalize(1) -``` - -::example{:code=ordinalize(1)} -:: - -### humanize -Replaces underscores with spaces and capitalizes the first letter of each word. - -```js [js] -humanize('hello_world') -``` - -::example{:code=humanize('hello_world')} -:: - -### camelCase -Removes spaces and capitalizes the first letter of each word except for the first word. - -```js [js] -camelCase('hello world') -``` - -::example{:code=camelCase('hello world')} -:: - -### pascalCase -Removes spaces and capitalizes the first letter of each word. - -```js [js] -pascalCase('hello world') -``` - -::example{:code=pascalCase('hello world')} -:: - -### snakeCase -Replaces spaces with underscores and converts to lowercase. - -```js [js] -snakeCase('hello world') -``` - -::example{:code=snakeCase('hello world')} -:: - -### kebabCase -Replaces spaces with hyphens and converts to lowercase. - -```js [js] -titleize('Hello World') -``` - -::example{:code=titleize('Hello World')} -:: - -### titleCase -Converts to title case by capitalizing the first letter of each word. - -```js [js] -titleCase('hello world') -``` - -::example{:code=titleCase('hello world')} -:: - -### sentenceCase -Converts to sentence case by capitalizing the first letter of the first word. - -```js [js] -sentenceCase('hello world') -``` - -::example{:code=sentenceCase('hello world')} -:: - -### startWith -Adds a prefix to a string if it doesn't already start with the prefix. - -```js [js] -startWith('usemods.com', 'https://') -``` - -::example{:code=startWith('usemods.com', 'https://')} -:: - -### startWithout -Removes a prefix from a string if it starts with the prefix. - -```js [js] -startWithout('https://usemods.com', 'https://') -``` - -::example{:code=startWithout('https://usemods.com', 'https://')} -:: - -### endWith -Adds a suffix to a string if it doesn't already end with the suffix. - -```js [js] -endWith('https://usemods', '.com') -``` - -::example{:code=endWith('https://usemods', '.com')} -:: - -### endWithout -Removes a suffix from a string if it ends with the suffix. - -```js [js] -endWithout('https://usemods.com.au', '.au') -``` - -::example{:code=endWithout('https://usemods.com.au', '.au')} -:: - -### surround -Adds a prefix and suffix to a string if it doesn't already start and end with them. - -```js [js] -surround('https://', 'usemods', '.com') -``` - -::example{:code=surround('https://', 'usemods', '.com')} -:: - -### title -Converts a string to title case following the Chicago Manual of Style rules. - -```js [js] -title('the quick brown fox jumps over the lazy dog') -``` - -::example{:code=title('the quick brown fox jumps over the lazy dog')} -:: - -### splitByWords -Wraps each word in a string with a span tag. - -```js [js] -splitByWords('Hello World. How are you?') -``` - -::example{:code=splitByWords('Hello World. How are you?')} -:: - -### list -Creates an array of list items (`
  • `) from an array of strings. - -```js [js] -list(['one', 'two', 'three']) -``` - -::example{:code=list(['one', 'two', 'three'])} -:: - -### shuffle -Shuffles an array. - -```js [js] -shuffle(['one', 'two', 'three']) -``` - -::example{:code=shuffle(['one', 'two', 'three'])} -:: - -### last -Returns the last item in an array. - -```js [js] -last(['one', 'two', 'three']) -``` - -::example{:code=last(['one', 'two', 'three'])} -:: - -### nth -Returns the nth item in an array. - -```js [js] -nth(['one', 'two', 'three'], 1) -``` - -::example{:code=nth(['one', 'two', 'three'], 1)} -:: - diff --git a/docs/content/2.functions/numbers.md b/docs/content/2.functions/numbers.md deleted file mode 100644 index 8dbb75a0..00000000 --- a/docs/content/2.functions/numbers.md +++ /dev/null @@ -1,132 +0,0 @@ -#### This file contains functions that are related to numbers. - -### random -Generates a random integer between the specified minimum and maximum values. - -```js [js] -random(1, 10) -``` - -::example{:code=random(1, 10)} -:: - -### sum -Calculates the sum of an array of numbers. - -```js [js] -sum([1, 2, 3]) -``` - -::example{:code=sum([1, 2, 3])} -:: - -### mean -Calculates the mean of an array of numbers. - -```js [js] -average([1, 2, 3]) -``` - -::example{:code=average([1, 2, 3])} -:: - -### average -Calculates the mean of an array of numbers. - -```js [js] -average([1, 2, 3]) -``` - -::example{:code=average([1, 2, 3])} -:: - -### median -Calculates the median of an array of numbers. - -```js [js] -median([1, 2, 3]) -``` - -::example{:code=median([1, 2, 3])} -:: - -### mode -Calculates the mode of an array of numbers. - -```js [js] -mode([1, 2, 2, 3]) -``` - -::example{:code=mode([1, 2, 2, 3])} -:: - -### max -Finds the maximum value in an array of numbers. - -```js [js] -max([1, 2, 3]) -``` - -::example{:code=max([1, 2, 3])} -:: - -### clamp -Clamps a number between the specified minimum and maximum values. - -```js [js] -clamp(1, 10, 20) -``` - -::example{:code=clamp(1, 10, 20)} -:: - -### minMax -Returns the minimum and maximum values in an array of numbers. - -```js [js] -minMax([1, 2, 3, 4, 5]) -``` - -::example{:code=minMax([1, 2, 3, 4, 5])} -:: - -### rangeAsPercentage -Returns the difference between two values, as a percentage. - -```js [js] -differenceAsPercentage(10, 20) -``` - -::example{:code=differenceAsPercentage(10, 20)} -:: - -### percentage -Returns the percentage of a value, relative to another value. - -```js [js] -percentage(10, 100) -``` - -::example{:code=percentage(10, 100)} -:: - -### standardDeviation -Returns the standard deviation of an array of numbers. - -```js [js] -standardDeviation([1, 2, 3, 20, 120, 2000]) -``` - -::example{:code=standardDeviation([1, 2, 3, 20, 120, 2000])} -:: - -### skewness -Returns the measure of asymmetry of the probability distribution of an array of numbers. The skewness value can be positive, zero, negative, or undefined. - -```js [js] -skewness([1, 2, 3, 20, 120, 2000]) -``` - -::example{:code=skewness([1, 2, 3, 20, 120, 2000])} -:: - diff --git a/docs/content/2.functions/validators.md b/docs/content/2.functions/validators.md deleted file mode 100644 index 967344a6..00000000 --- a/docs/content/2.functions/validators.md +++ /dev/null @@ -1,444 +0,0 @@ -# Validators - -#### A collection of validators for common data types - -### isEmail -Check if the input is a valid email address. - -```js [js] -isEmail('hello@usemods.com') -``` - -::example{:code=isEmail('hello@usemods.com')} -:: - -### isNumber -Check if the input is a valid number. - -```js [js] -isNumber('123') -``` - -::example{:code=isNumber('123')} -:: - -### isURL -Check if the input is a valid URL. - -```js [js] -isURL('https://usemods.com') -``` - -::example{:code=isURL('https://usemods.com')} -:: - -### isUUID -Check if the input is a valid UUID. - -```js [js] -isUUID('c9bf9e57-1685-4c89-bafb-ff5af830be8a') -``` - -::example{:code=isUUID('c9bf9e57-1685-4c89-bafb-ff5af830be8a')} -:: - -### isJSON -Check if the input is a valid JSON string. - -```js [js] -isJSON('{"hello": "world"}') -``` - -::example{:code=isJSON('{"hello": "world"}')} -:: - -### isHex -Check if the input is a valid hexadecimal color code. - -```js [js] -isHex('#fff') -``` - -::example{:code=isHex('#fff')} -:: - -### isEmpty -Check if the input is an empty string. - -```js [js] -isEmpty('') -``` - -::example{:code=isEmpty('')} -:: - -### isAlpha -Check if the input contains only alphabetic characters. - -```js [js] -isAlpha('hello') -``` - -::example{:code=isAlpha('hello')} -:: - -### isAlphanumeric -Check if the input contains only alphanumeric characters. - -```js [js] -isAlphanumeric('hello123') -``` - -::example{:code=isAlphanumeric('hello123')} -:: - -### isArray -Check if the input is an array. - -```js [js] -isArray([1, 2, 3]) -``` - -::example{:code=isArray([1, 2, 3])} -:: - -### isObject -Check if the input is an object. - -```js [js] -isObject({ hello: 'world' }) -``` - -::example{:code=isObject({ hello: 'world' })} -:: - -### isBoolean -Check if the input is a boolean value. - -```js [js] -isBoolean(true) -``` - -::example{:code=isBoolean(true)} -:: - -### isFunction -Check if the input is a function. - -```js [js] -isFunction(() => {}) -``` - -::example{:code=isFunction(() => {})} -:: - -### isUndefined -Check if the input is undefined. - -```js [js] -isUndefined(undefined) -``` - -::example{:code=isUndefined(undefined)} -:: - -### isNull -Check if the input is null. - -```js [js] -isNull(null) -``` - -::example{:code=isNull(null)} -:: - -### isDate -Check if the input is a valid Date object. - -```js [js] -isDate(new Date()) -``` - -::example{:code=isDate(new Date())} -:: - -### isError -Check if the input is an Error object with a defined message. - -```js [js] -isError(new Error('hello')) -``` - -::example{:code=isError(new Error('hello'))} -:: - -### isTime -Check if the input is a valid time in HH:mm format. - -```js [js] -isTime('12:00') -``` - -::example{:code=isTime('12:00')} -:: - -### isLeapYear -Check if the input year is a leap year. - -```js [js] -isLeapYear(2020) -``` - -::example{:code=isLeapYear(2020)} -:: - -### isPromise -Check if the input is a Promise object. - -```js [js] -isPromise(new Promise(() => {})) -``` - -::example{:code=isPromise(new Promise(() => {}))} -:: - -### isSet -Check if the input is a Set object. - -```js [js] -isSet(new Set()) -``` - -::example{:code=isSet(new Set())} -:: - -### isMap -Check if the input is a Map object. - -```js [js] -isMap(new Map()) -``` - -::example{:code=isMap(new Map())} -:: - -### isEven -Check if the number is even. - -```js [js] -isEven(2) -``` - -::example{:code=isEven(2)} -:: - -### isOdd -Check if the number is odd. - -```js [js] -isOdd(3) -``` - -::example{:code=isOdd(3)} -:: - -### isPositive -Check if the number is positive. - -```js [js] -isPositive(1) -``` - -::example{:code=isPositive(1)} -:: - -### isNegative -Check if the number is negative. - -```js [js] -isNegative(-1) -``` - -::example{:code=isNegative(-1)} -:: - -### isZero -Check if the number is zero. - -```js [js] -isZero(0) -``` - -::example{:code=isZero(0)} -:: - -### isPrime -Check if the number is a prime number. - -```js [js] -isPrime(7) -``` - -::example{:code=isPrime(7)} -:: - -### isOptimusPrime -Check if the string is equal to "Optimus Prime". - -```js [js] -isOptimusPrime('Optimus Prime') -``` - -::example{:code=isOptimusPrime('Optimus Prime')} -:: - -### isPalindrome -Check if the string is a palindrome. - -```js [js] -isPalindrome('racecar') -``` - -::example{:code=isPalindrome('racecar')} -:: - -### isInteger -Check if the number is an integer. - -```js [js] -isInteger(1) -``` - -::example{:code=isInteger(1)} -:: - -### isFloat -Check if the number is a float. - -```js [js] -isFloat(1.5) -``` - -::example{:code=isFloat(1.5)} -:: - -### isBetween -Check if the number is between the specified range. - -```js [js] -isBetween(5, 1, 10) -``` - -::example{:code=isBetween(5, 1, 10)} -:: - -### isDivisibleBy -Check if the number is divisible by the specified number. - -```js [js] -isDivisibleBy(10, 2) -``` - -::example{:code=isDivisibleBy(10, 2)} -:: - -### isCreditCardNumber -Check if the input is a valid credit card number. - -```js [js] -isCreditCardNumber('4242424242424242') -``` - -::example{:code=isCreditCardNumber('4242424242424242')} -:: - -### isIPAddress -Check if the input is a valid IP address. - -```js [js] -isIPAddress('127.0.0.0') -``` - -::example{:code=isIPAddress('127.0.0.0')} -:: - -### isMACAddress -Check if the input is a valid MAC address. - -```js [js] -isMACAddress('00:00:00:00:00:00') -``` - -::example{:code=isMACAddress('00:00:00:00:00:00')} -:: - -### isLatLng -Check if the input is a valid latitude-longitude coordinate in the format lat,lng or lat,lng. - -```js [js] -isLatLng('40.741895,-73.989308') -``` - -::example{:code=isLatLng('40.741895,-73.989308')} -:: - -### isLatitude -Check if the input is a valid latitude coordinate. - -```js [js] -isLatitude('40.741895') -``` - -::example{:code=isLatitude('40.741895')} -:: - -### isLongitude -Check if the input is a valid longitude coordinate. - -```js [js] -isLongitude('-73.989308') -``` - -::example{:code=isLongitude('-73.989308')} -:: - -### isPort -Check if the input is a valid port number. - -```js [js] -isPort(3000) -``` - -::example{:code=isPort(3000)} -:: - -### isPresent -Checks if a property and value pair exists in an object. - -```js [js] -hasPropertyValue({ hello: 'world' }, 'hello', 'world') -``` - -::example{:code=hasPropertyValue({ hello: 'world' }, 'hello', 'world')} -:: - -### hasProperties -Check if a property exists in an object without checking its value. - -```js [js] -hasProperties({ hello: 'world' }, ['hello', 'world']) -``` - -::example{:code=hasProperties({ hello: 'world' }, ['hello', 'world'])} -:: - -### hasKeys -Check if an array of key exists in an object - -```js [js] -hasKeys({ hello: 'world' }, ['hello', 'world',]) -``` - -::example{:code=hasKeys({ hello: 'world' }, ['hello', 'world',])} -:: - From 6b87509177a25d19fbe8b294d96189decc4aa05c Mon Sep 17 00:00:00 2001 From: Phillip Hartin Date: Mon, 15 Jan 2024 14:49:39 +1100 Subject: [PATCH 8/8] Update ignore path for generated content --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b377c352..d78656b6 100755 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,4 @@ dist sw.* .env .output -content/2.functions/ +docs/content/2.functions