diff --git a/.changeset/README.md b/.changeset/README.md
new file mode 100644
index 0000000..e5b6d8d
--- /dev/null
+++ b/.changeset/README.md
@@ -0,0 +1,8 @@
+# Changesets
+
+Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
+with multi-package repos, or single-package repos to help you version and publish your code. You can
+find the full documentation for it [in our repository](https://github.com/changesets/changesets)
+
+We have a quick list of common questions to get you started engaging with this project in
+[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
diff --git a/.changeset/config.json b/.changeset/config.json
new file mode 100644
index 0000000..c171f55
--- /dev/null
+++ b/.changeset/config.json
@@ -0,0 +1,15 @@
+{
+ "$schema": "https://unpkg.com/@changesets/config@2.3.1/schema.json",
+ "changelog": "@changesets/cli/changelog",
+ "commit": false,
+ "fixed": [],
+ "linked": [],
+ "access": "restricted",
+ "baseBranch": "main",
+ "updateInternalDependencies": "patch",
+ "ignore": [],
+ "privatePackages": {
+ "version": true,
+ "tag": true
+ }
+}
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 0a50c47..5c95226 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -31,6 +31,7 @@ module.exports = {
},
rules: {
'no-undef': ['warn'],
+ 'import/no-mutable-exports': 'off',
},
},
{
@@ -187,7 +188,7 @@ module.exports = {
'@typescript-eslint/semi': ['error', 'always'],
'max-depth': ['error', 3],
'max-nested-callbacks': ['error', 3],
- 'complexity': ['error', 4],
+ 'complexity': ['error', 8],
'no-tabs': ['error', { allowIndentationTabs: true }],
'spellcheck/spell-checker': ['error', {
skipWords: [
@@ -225,6 +226,13 @@ module.exports = {
'duotone',
'tsconfig',
'workspace',
+ 'woff',
+ 'marknow',
+ 'lored',
+ 'guz013',
+ 'xml',
+ 'jsconfig',
+ 'vitest',
],
minLength: 4,
}],
diff --git a/.github/actions/pnpm-setup/action.yml b/.github/actions/pnpm-setup/action.yml
new file mode 100644
index 0000000..9e7998a
--- /dev/null
+++ b/.github/actions/pnpm-setup/action.yml
@@ -0,0 +1,49 @@
+name: PNPM Setup
+
+inputs:
+ node-version:
+ required: false
+ type: number
+ default: 18
+ pnpm-version:
+ required: false
+ type: number
+ default: 8
+ install-deps:
+ required: false
+ type: boolean
+ default: true
+
+runs:
+ using: composite
+ steps:
+ - name: Install Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: ${{ inputs.node-version }}
+
+ - name: Install PNPM
+ uses: pnpm/action-setup@v2
+ id: pnpm-install
+ with:
+ version: ${{ inputs.pnpm-version }}
+ run_install: false
+
+ - name: Get store directory
+ id: pnpm-cache
+ shell: bash
+ run: |
+ echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
+
+ - name: Setup pnpm cache
+ uses: actions/cache@v3
+ with:
+ path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
+ key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys:
+ ${{ runner.os }}-pnpm-store-
+
+ - name: Install dependencies
+ if: inputs.install-deps
+ run: pnpm install
+ shell: bash
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
new file mode 100644
index 0000000..41973b2
--- /dev/null
+++ b/.github/workflows/checks.yml
@@ -0,0 +1,43 @@
+name: 🧪 Code checking
+
+on:
+ push:
+ branches:
+ - dev
+ - main
+ pull_request:
+ types: [opened, synchronize, reopened]
+
+jobs:
+ linting:
+ env:
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 2
+
+ - name: Setup environment
+ uses: ./.github/actions/pnpm-setup
+
+ - name: Run ESLint
+ run: pnpm run lint
+ vitest:
+ env:
+ TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
+ TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 2
+
+ - name: Setup environment
+ uses: ./.github/actions/pnpm-setup
+
+ - name: Run Vitests
+ run: pnpm run test
diff --git a/.lintstagedrc b/.lintstagedrc
new file mode 100644
index 0000000..c4d0a50
--- /dev/null
+++ b/.lintstagedrc
@@ -0,0 +1,4 @@
+{
+ "gitDir": "./.git",
+ "*": "eslint --fix"
+}
diff --git a/.vscode/project.code-workspace b/.vscode/project.code-workspace
index 51af971..e3765c6 100644
--- a/.vscode/project.code-workspace
+++ b/.vscode/project.code-workspace
@@ -4,6 +4,10 @@
"path": "../apps/www",
"name": "apps/www"
},
+ {
+ "path": "../packages/banners",
+ "name": "@marknow/banners"
+ },
{
"path": "../",
"name": "ROOT"
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..285b8db
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,9 @@
+{
+ "prettier.enable": false,
+ "editor.formatOnSave": false,
+ "editor.codeActionsOnSave": {
+ "source.fixAll.eslint": true
+ },
+ "unocss.root": "apps/www",
+ "vitest.enable": true
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..91bdb58
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+
diff --git a/apps/www/.eslintignore b/apps/www/.eslintignore
index 7c1958c..4ea4c0c 100644
--- a/apps/www/.eslintignore
+++ b/apps/www/.eslintignore
@@ -1,3 +1,4 @@
/src/lib/components.d.ts
/src/lib/imports.d.ts
/.eslint-auto-import.json
+/static
diff --git a/apps/www/.eslintrc-auto-import.json b/apps/www/.eslintrc-auto-import.json
new file mode 100644
index 0000000..f97c5a5
--- /dev/null
+++ b/apps/www/.eslintrc-auto-import.json
@@ -0,0 +1,68 @@
+{
+ "globals": {
+ "afterUpdate": true,
+ "backIn": true,
+ "backInOut": true,
+ "backOut": true,
+ "beforeUpdate": true,
+ "blur": true,
+ "bounceIn": true,
+ "bounceInOut": true,
+ "bounceOut": true,
+ "circIn": true,
+ "circInOut": true,
+ "circOut": true,
+ "createEventDispatcher": true,
+ "crossfade": true,
+ "cubicIn": true,
+ "cubicInOut": true,
+ "cubicOut": true,
+ "derived": true,
+ "draw": true,
+ "elasticIn": true,
+ "elasticInOut": true,
+ "elasticOut": true,
+ "expoIn": true,
+ "expoInOut": true,
+ "expoOut": true,
+ "fade": true,
+ "flip": true,
+ "fly": true,
+ "get": true,
+ "getAllContexts": true,
+ "getContext": true,
+ "hasContext": true,
+ "linear": true,
+ "onDestroy": true,
+ "onMount": true,
+ "quadIn": true,
+ "quadInOut": true,
+ "quadOut": true,
+ "quartIn": true,
+ "quartInOut": true,
+ "quartOut": true,
+ "quintIn": true,
+ "quintInOut": true,
+ "quintOut": true,
+ "readable": true,
+ "scale": true,
+ "setContext": true,
+ "sineIn": true,
+ "sineInOut": true,
+ "sineOut": true,
+ "slide": true,
+ "spring": true,
+ "tick": true,
+ "tweened": true,
+ "writable": true,
+ "csr": true,
+ "ssr": true,
+ "render": true,
+ "banner": true,
+ "Banner": true,
+ "load": true,
+ "data": true,
+ "PageData": true,
+ "GET": true
+ }
+}
diff --git a/apps/www/.gitignore b/apps/www/.gitignore
index bd8f920..6635cf5 100644
--- a/apps/www/.gitignore
+++ b/apps/www/.gitignore
@@ -8,6 +8,3 @@ node_modules
!.env.example
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
-/src/lib/imports.d.ts
-/src/lib/components.d.ts
-/.eslintrc-auto-import.json
diff --git a/apps/www/.lintstagedrc b/apps/www/.lintstagedrc
new file mode 100644
index 0000000..c768074
--- /dev/null
+++ b/apps/www/.lintstagedrc
@@ -0,0 +1,4 @@
+{
+ "gitDir": "../../.git",
+ "*": "eslint --fix"
+}
diff --git a/apps/www/package.json b/apps/www/package.json
index 91ee886..7d9e2f6 100644
--- a/apps/www/package.json
+++ b/apps/www/package.json
@@ -18,23 +18,24 @@
},
"devDependencies": {
"@fontsource-variable/fira-code": "^5.0.3",
- "@fontsource-variable/inter": "^5.0.3",
"@iconify-json/solar": "^1.1.1",
"@iconify-json/svg-spinners": "^1.1.1",
"@iconify/types": "^2.0.0",
"@iconify/utils": "^2.1.6",
+ "@marknow/banners": "workspace:*",
"@poppanator/sveltekit-svg": "^3.0.1",
"@sveltejs/adapter-vercel": "^3.0.1",
"@sveltejs/kit": "^1.20.2",
"@typescript-eslint/eslint-plugin": "^5.59.11",
"@typescript-eslint/parser": "^5.59.11",
"@unocss/extractor-svelte": "^0.52.7",
- "cal-sans": "^1.0.1",
"mdsvex": "^0.10.6",
"rehype-external-links": "^2.1.0",
- "sass": "^1.63.4",
+ "sass": "^1.63.6",
+ "satori": "^0.10.1",
"svelte": "^3.59.1",
"svelte-check": "^3.4.3",
+ "svelte-preprocess": "^5.0.4",
"tslib": "^2.5.3",
"typescript": "^5.1.3",
"unocss": "^0.52.7",
diff --git a/apps/www/src/app.css b/apps/www/src/app.css
new file mode 100644
index 0000000..81106f2
--- /dev/null
+++ b/apps/www/src/app.css
@@ -0,0 +1,11 @@
+@font-face {
+ font-family: "Mona Sans";
+ src: url("$lib/assets/Mona-Sans.woff2") format("woff2 supports variations"),
+ url("$lib/assets/Mona-Sans.woff2") format("woff2-variations");
+ font-weight: 200 900;
+ font-stretch: 75% 125%;
+}
+
+html {
+ font-family: "Mona Sans";
+}
diff --git a/apps/www/src/app.html b/apps/www/src/app.html
index effe0d0..979e324 100644
--- a/apps/www/src/app.html
+++ b/apps/www/src/app.html
@@ -6,7 +6,7 @@
%sveltekit.head%
-
+
%sveltekit.body%
diff --git a/apps/www/src/lib/assets/Mona-Sans.woff2 b/apps/www/src/lib/assets/Mona-Sans.woff2
new file mode 100644
index 0000000..8208a50
Binary files /dev/null and b/apps/www/src/lib/assets/Mona-Sans.woff2 differ
diff --git a/apps/www/src/lib/components.d.ts b/apps/www/src/lib/components.d.ts
new file mode 100644
index 0000000..595d04b
--- /dev/null
+++ b/apps/www/src/lib/components.d.ts
@@ -0,0 +1,7 @@
+// generated by unplugin-svelte-components
+// We suggest you to commit this file into source control
+declare global {
+ const Test: typeof import("./Test.svelte")["default"]
+}
+
+export {}
diff --git a/apps/www/src/lib/imports.d.ts b/apps/www/src/lib/imports.d.ts
new file mode 100644
index 0000000..65a62ef
--- /dev/null
+++ b/apps/www/src/lib/imports.d.ts
@@ -0,0 +1,69 @@
+/* eslint-disable */
+/* prettier-ignore */
+// @ts-nocheck
+// Generated by unplugin-auto-import
+export {}
+declare global {
+ const Banner: typeof import('./Banner')['default']
+ const GET: typeof import('../routes/api.svg/+server')['GET']
+ const afterUpdate: typeof import('svelte')['afterUpdate']
+ const backIn: typeof import('svelte/easing')['backIn']
+ const backInOut: typeof import('svelte/easing')['backInOut']
+ const backOut: typeof import('svelte/easing')['backOut']
+ const beforeUpdate: typeof import('svelte')['beforeUpdate']
+ const blur: typeof import('svelte/transition')['blur']
+ const bounceIn: typeof import('svelte/easing')['bounceIn']
+ const bounceInOut: typeof import('svelte/easing')['bounceInOut']
+ const bounceOut: typeof import('svelte/easing')['bounceOut']
+ const circIn: typeof import('svelte/easing')['circIn']
+ const circInOut: typeof import('svelte/easing')['circInOut']
+ const circOut: typeof import('svelte/easing')['circOut']
+ const createEventDispatcher: typeof import('svelte')['createEventDispatcher']
+ const crossfade: typeof import('svelte/transition')['crossfade']
+ const csr: typeof import('../routes/+page')['csr']
+ const cubicIn: typeof import('svelte/easing')['cubicIn']
+ const cubicInOut: typeof import('svelte/easing')['cubicInOut']
+ const cubicOut: typeof import('svelte/easing')['cubicOut']
+ const data: typeof import('../routes/+page.svelte')['data']
+ const derived: typeof import('svelte/store')['derived']
+ const draw: typeof import('svelte/transition')['draw']
+ const elasticIn: typeof import('svelte/easing')['elasticIn']
+ const elasticInOut: typeof import('svelte/easing')['elasticInOut']
+ const elasticOut: typeof import('svelte/easing')['elasticOut']
+ const expoIn: typeof import('svelte/easing')['expoIn']
+ const expoInOut: typeof import('svelte/easing')['expoInOut']
+ const expoOut: typeof import('svelte/easing')['expoOut']
+ const fade: typeof import('svelte/transition')['fade']
+ const flip: typeof import('svelte/animate')['flip']
+ const fly: typeof import('svelte/transition')['fly']
+ const get: typeof import('svelte/store')['get']
+ const getAllContexts: typeof import('svelte')['getAllContexts']
+ const getContext: typeof import('svelte')['getContext']
+ const hasContext: typeof import('svelte')['hasContext']
+ const linear: typeof import('svelte/easing')['linear']
+ const load: typeof import('../routes/+page')['load']
+ const onDestroy: typeof import('svelte')['onDestroy']
+ const onMount: typeof import('svelte')['onMount']
+ const quadIn: typeof import('svelte/easing')['quadIn']
+ const quadInOut: typeof import('svelte/easing')['quadInOut']
+ const quadOut: typeof import('svelte/easing')['quadOut']
+ const quartIn: typeof import('svelte/easing')['quartIn']
+ const quartInOut: typeof import('svelte/easing')['quartInOut']
+ const quartOut: typeof import('svelte/easing')['quartOut']
+ const quintIn: typeof import('svelte/easing')['quintIn']
+ const quintInOut: typeof import('svelte/easing')['quintInOut']
+ const quintOut: typeof import('svelte/easing')['quintOut']
+ const readable: typeof import('svelte/store')['readable']
+ const render: typeof import('./render')['default']
+ const scale: typeof import('svelte/transition')['scale']
+ const setContext: typeof import('svelte')['setContext']
+ const sineIn: typeof import('svelte/easing')['sineIn']
+ const sineInOut: typeof import('svelte/easing')['sineInOut']
+ const sineOut: typeof import('svelte/easing')['sineOut']
+ const slide: typeof import('svelte/transition')['slide']
+ const spring: typeof import('svelte/motion')['spring']
+ const ssr: typeof import('../routes/+page')['ssr']
+ const tick: typeof import('svelte')['tick']
+ const tweened: typeof import('svelte/motion')['tweened']
+ const writable: typeof import('svelte/store')['writable']
+}
diff --git a/apps/www/src/routes/+layout.svelte b/apps/www/src/routes/+layout.svelte
new file mode 100644
index 0000000..2805c76
--- /dev/null
+++ b/apps/www/src/routes/+layout.svelte
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/apps/www/src/routes/+page.svelte b/apps/www/src/routes/+page.svelte
index bcc8a9f..d3cb2d7 100644
--- a/apps/www/src/routes/+page.svelte
+++ b/apps/www/src/routes/+page.svelte
@@ -1,6 +1,22 @@
-
-
-Welcome to SvelteKit
-Visit kit.svelte.dev to read the documentation
+
+
+
+

+
+
+
+

+
+
+
+

+
+
+
+

+
+
+
+

+
+
diff --git a/apps/www/src/routes/api.svg/+server.ts b/apps/www/src/routes/api.svg/+server.ts
new file mode 100644
index 0000000..1884ce0
--- /dev/null
+++ b/apps/www/src/routes/api.svg/+server.ts
@@ -0,0 +1,38 @@
+import type { RequestHandler } from '@sveltejs/kit';
+import newBanner from '@marknow/banners';
+
+export const GET = (async ({ fetch }): Promise => {
+ const banner = await newBanner({
+ title: 'Hello world',
+ subtitle: 'This is a test!',
+ icon: 'solar:hand-shake-bold-duotone',
+ colors: {
+ background: '#000000',
+ foreground: '#ffffff',
+ },
+ fonts: {
+ title: {
+ data: await (await fetch('/Mona-Sans-SemiBold.woff')).arrayBuffer(),
+ name: 'Mona Sans',
+ weight: 600,
+ style: 'normal',
+ },
+ subtitle: {
+ data: await (await fetch('/Mona-Sans-Regular.woff')).arrayBuffer(),
+ name: 'Mona Sans',
+ weight: 400,
+ style: 'normal',
+ },
+ },
+ libConfig: {
+ fetcher: fetch,
+ },
+ });
+
+ return new Response(`${banner.toString()}`, {
+ status: 200,
+ headers: {
+ 'Content-type': 'image/svg+xml',
+ },
+ });
+}) satisfies RequestHandler;
diff --git a/apps/www/static/Mona-Sans-Regular.woff b/apps/www/static/Mona-Sans-Regular.woff
new file mode 100644
index 0000000..d31c6ed
Binary files /dev/null and b/apps/www/static/Mona-Sans-Regular.woff differ
diff --git a/apps/www/static/Mona-Sans-SemiBold.woff b/apps/www/static/Mona-Sans-SemiBold.woff
new file mode 100644
index 0000000..b57fb15
Binary files /dev/null and b/apps/www/static/Mona-Sans-SemiBold.woff differ
diff --git a/apps/www/svelte.config.js b/apps/www/svelte.config.js
index 754bf00..410e9d2 100644
--- a/apps/www/svelte.config.js
+++ b/apps/www/svelte.config.js
@@ -1,19 +1,19 @@
import adapter from '@sveltejs/adapter-vercel';
-import { vitePreprocess } from '@sveltejs/kit/vite';
+import sveltePreprocess from 'svelte-preprocess';
import { mdsvex } from 'mdsvex';
import rhExternalLinks from 'rehype-external-links';
/** @type {import('@sveltejs/kit').Config} */
const config = {
extensions: ['.svelte', '.svx', '.md'],
- preprocess: [vitePreprocess(), mdsvex({
+ preprocess: [sveltePreprocess(), mdsvex({
rehypePlugins: [
[rhExternalLinks, {
target: '_blank',
rel: ['nofollow', 'noopener', 'noreferrer'],
}],
],
- extensions: ['.svelte', '.svx', '.md'],
+ extensions: ['.svx', '.md'],
})],
kit: {
adapter: adapter(),
diff --git a/apps/www/unocss.config.ts b/apps/www/unocss.config.ts
index 1cd7d33..a3b8bc7 100644
--- a/apps/www/unocss.config.ts
+++ b/apps/www/unocss.config.ts
@@ -36,17 +36,13 @@ export default defineConfig({
presetWebFonts({
fonts: {
sans: {
- name: 'Inter',
+ name: 'Mona Sans',
provider: 'none',
},
code: {
name: 'Fira Code',
provider: 'none',
},
- cal: {
- name: 'Cal Sans',
- provider: 'none',
- },
},
}),
// @ts-expect-error It seems that this preset
diff --git a/apps/www/vite.config.ts b/apps/www/vite.config.ts
index 6062f69..ef39c44 100644
--- a/apps/www/vite.config.ts
+++ b/apps/www/vite.config.ts
@@ -14,8 +14,7 @@ export default defineConfig({
plugins: [
SvelteImport({
include: [
- /\.svelte/,
- /\.svelte\?svelte/,
+ /\.svelte$/,
],
external: [
...findPathsByExtension(path.join(__dirname, 'src'), '.svx').map((filePath) => {
@@ -47,21 +46,18 @@ export default defineConfig({
}),
],
dirs: [
- './src/**/*',
+ './src/lib',
],
importPathTransform: (importPath) => {
if (path.extname(importPath) === '.svg')
return `${importPath}?component`;
- if (getFileName(importPath).startsWith('+'))
- return '';
else return importPath;
},
dts: './src/lib/components.d.ts',
}),
AutoImport({
include: [
- /\.svelte/,
- /\.svelte\?svelte/,
+ /\.svelte$/,
/.[tj]sx?$/,
],
imports: [
diff --git a/package.json b/package.json
index 62f4f10..52958a7 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "marknow",
- "version": "1.0.0",
+ "version": "0.0.0",
"packageManager": "pnpm@8.0.0",
"description": "",
"author": "",
@@ -8,6 +8,8 @@
"keywords": [],
"main": "index.js",
"scripts": {
+ "test": "turbo run test",
+ "test:watch": "vitest watch",
"prepare": "husky install",
"lint": "eslint . && turbo run lint",
"lint:fix": "eslint . --fix && turbo run lint -- --fix",
@@ -17,6 +19,7 @@
},
"devDependencies": {
"@antfu/eslint-config": "^0.39.5",
+ "@changesets/cli": "^2.26.2",
"@commitlint/config-conventional": "^17.6.5",
"@commitlint/types": "^17.4.4",
"eslint": "^8.42.0",
@@ -24,9 +27,7 @@
"eslint-plugin-svelte": "^2.30.0",
"husky": "^8.0.3",
"turbo": "^1.10.3",
- "vercel": "^30.2.2"
- },
- "lint-staged": {
- "*": "eslint --fix"
+ "vercel": "^30.2.2",
+ "vitest": "^0.32.2"
}
}
diff --git a/packages/banners/.eslintignore b/packages/banners/.eslintignore
new file mode 100644
index 0000000..090e4b1
--- /dev/null
+++ b/packages/banners/.eslintignore
@@ -0,0 +1,3 @@
+/dist
+*.woff
+*.woff2
diff --git a/packages/banners/.eslintrc.cjs b/packages/banners/.eslintrc.cjs
new file mode 100644
index 0000000..5ca8240
--- /dev/null
+++ b/packages/banners/.eslintrc.cjs
@@ -0,0 +1,5 @@
+process.env.ESLINT_TSCONFIG = 'jsconfig.json';
+
+module.exports = {
+ root: false,
+};
diff --git a/packages/banners/.gitignore b/packages/banners/.gitignore
new file mode 100644
index 0000000..9b1c8b1
--- /dev/null
+++ b/packages/banners/.gitignore
@@ -0,0 +1 @@
+/dist
diff --git a/packages/banners/.lintstagedrc b/packages/banners/.lintstagedrc
new file mode 100644
index 0000000..c768074
--- /dev/null
+++ b/packages/banners/.lintstagedrc
@@ -0,0 +1,4 @@
+{
+ "gitDir": "../../.git",
+ "*": "eslint --fix"
+}
diff --git a/packages/banners/jsconfig.json b/packages/banners/jsconfig.json
new file mode 100644
index 0000000..4bcf596
--- /dev/null
+++ b/packages/banners/jsconfig.json
@@ -0,0 +1,17 @@
+{
+ "compilerOptions": {
+ "checkJs": true,
+ "allowJs": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "moduleResolution": "node",
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "strict": true,
+ "module": "ES2022",
+ "target": "ES2022",
+ "alwaysStrict": true
+ },
+ "include": ["./src/**/*"],
+ "exclude": ["./node_modules/**", "./dist/**"]
+}
diff --git a/packages/banners/package.json b/packages/banners/package.json
new file mode 100644
index 0000000..d542722
--- /dev/null
+++ b/packages/banners/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "@marknow/banners",
+ "type": "module",
+ "version": "1.0.0",
+ "description": "",
+ "source": "./src/index.js",
+ "author": "",
+ "license": "ISC",
+ "keywords": [],
+ "exports": {
+ "types": "./src/index.d.ts",
+ "require": "./dist/index.cjs",
+ "import": "./src/index.js",
+ "default": "./src/index.js"
+ },
+ "main": "./dist/index.cjs",
+ "module": "./src/index.js",
+ "types": "./src/index.d.ts",
+ "scripts": {
+ "test": "vitest run",
+ "test:watch": "vitest watch",
+ "build:cjs": "microbundle --compress false --pkg-main false --strict --tsconfig ./jsconfig.json --generateTypes false -f cjs --target node",
+ "build": "pnpm run build:cjs",
+ "dev": "pnpm run build -w",
+ "lint": "eslint ."
+ },
+ "dependencies": {
+ "satori": "^0.10.1",
+ "satori-html": "^0.3.2"
+ },
+ "devDependencies": {
+ "@types/node": "^20.3.1",
+ "microbundle": "^0.15.1"
+ }
+}
diff --git a/packages/banners/src/assets/Mona-Sans-Regular.woff b/packages/banners/src/assets/Mona-Sans-Regular.woff
new file mode 100644
index 0000000..d31c6ed
Binary files /dev/null and b/packages/banners/src/assets/Mona-Sans-Regular.woff differ
diff --git a/packages/banners/src/assets/Mona-Sans-SemiBold.woff b/packages/banners/src/assets/Mona-Sans-SemiBold.woff
new file mode 100644
index 0000000..b57fb15
Binary files /dev/null and b/packages/banners/src/assets/Mona-Sans-SemiBold.woff differ
diff --git a/packages/banners/src/fonts.js b/packages/banners/src/fonts.js
new file mode 100644
index 0000000..12e14f6
--- /dev/null
+++ b/packages/banners/src/fonts.js
@@ -0,0 +1,47 @@
+/**
+ * @file
+ * Utility functions used to retrieve and manipulate fonts' objects.
+ *
+ * @author
+ * Guz013 (under the Lored organization)
+ *
+ * @copyright
+ * Gustavo "Guz013" L. de Mello
+ *
+ * @module \@marknow/banners
+ */
+
+import { dirname, join } from 'node:path';
+import { fileURLToPath } from 'node:url';
+
+/**
+ * @param {import('./types').Reader | undefined} [reader=import('node:fs').readFile]
+ * The function to be used as reader of the local files.
+ *
+ * @typedef {import('satori').SatoriOptions['fonts'][0]} Font
+ * @returns {Promise<{subtitle: Font, title: Font}>}
+ *
+ * @module \@marknow/banners
+ * @access protected
+ */
+export async function getMonaSansFonts(reader) {
+ reader ||= (await import('node:fs/promises')).readFile;
+
+ const __filename = fileURLToPath(import.meta.url);
+ const __dirname = dirname(__filename);
+
+ return {
+ subtitle: {
+ name: 'Mona Sans',
+ weight: 400,
+ style: 'normal',
+ data: await reader(join(__dirname, './assets/Mona-Sans-Regular.woff')),
+ },
+ title: {
+ name: 'Mona Sans',
+ weight: 600,
+ style: 'normal',
+ data: await reader(join(__dirname, './assets/Mona-Sans-SemiBold.woff')),
+ },
+ };
+}
diff --git a/packages/banners/src/html.js b/packages/banners/src/html.js
new file mode 100644
index 0000000..ff24e5f
--- /dev/null
+++ b/packages/banners/src/html.js
@@ -0,0 +1,117 @@
+/**
+ * @author
+ * Guz013 (under the Lored organization)
+ *
+ * @copyright
+ * Gustavo "Guz013" L. de Mello
+ */
+
+/* eslint-disable complexity */
+/* eslint-disable @typescript-eslint/indent */
+/**
+ * Constructor of the HTML banner converted to VNodes to be used in satori.
+ * Use the properties to customize and complete it.
+ *
+ * @typedef {import('satori').SatoriOptions['fonts'][0]} Font
+ * @typedef {{
+ * dimensions: { width: number, height: number },
+ * fonts: { title: Font, subtitle: Font },
+ * layout: 'vertical' | 'horizontal',
+ * colors: import('./types').Colors,
+ * rtl: boolean,
+ * }} Props
+ * @param {Props} properties
+ * Properties to be applied on the html.
+ *
+ * @returns {string}
+ *
+ * @module \@marknow/banners
+ * @access protected
+ */
+export default function html({
+ dimensions,
+ layout,
+ colors,
+ fonts,
+ rtl,
+}) {
+ const horizontal = layout === 'horizontal';
+
+ return `
+
+
+
+ %%MARKNOW-PLACEHOLDER-ICON%%
+
+
+
+
+ %%MARKNOW-PLACEHOLDER-TITLE%%
+
+
+ %%MARKNOW-PLACEHOLDER-SUBTILE%%
+
+
+
+
+
+ `;
+}
diff --git a/packages/banners/src/icons.js b/packages/banners/src/icons.js
new file mode 100644
index 0000000..8223579
--- /dev/null
+++ b/packages/banners/src/icons.js
@@ -0,0 +1,109 @@
+/**
+ * @file
+ * Utility functions used to retrieve and manipulate icons SVG strings.
+ *
+ * @author
+ * Guz013 (under the Lored organization)
+ *
+ * @copyright
+ * Gustavo "Guz013" L. de Mello
+ *
+ * @module \@marknow/banners
+ */
+
+/**
+ * Utility function used to get a SVG icon from Iconify OR from an url passed as the icon.
+ *
+ * If the `icon` parameter is not a valid icon name or url,
+ * it returns the `icon` itself.
+ *
+ * @param {string} icon
+ * The icon's name or url endpoint.
+ *
+ * @param {import('./types').Fetcher | undefined} [fetcher=globalThis.fetch]
+ * Fetch function to be used.
+ *
+ * @returns {Promise}
+ *
+ * @module \@marknow/banners
+ * @access protected
+ */
+export async function getIcon(icon, fetcher = fetch) {
+ if (!isIconName(icon) && !isValidUrl(icon)) {
+ return icon;
+ }
+ else if (isValidUrl(icon)) {
+ const svg = (await fetcher(icon)).text();
+ return svg;
+ }
+
+ const [collection, iconName] = icon.split(':');
+ const svg = (await fetcher(`https://api.iconify.design/${collection}/${iconName}.svg`)).text();
+
+ return svg;
+}
+
+/**
+ * Utility function used to set the icons SVG width and height to the specified dimensions.
+ *
+ * @param {string} svg
+ * The svg string.
+ *
+ * @param {{width?: string | number, height?: string | number}} dimensions
+ * The dimensions values, if type number it is converted to pixels.
+ *
+ * @returns {string}
+ *
+ * @module \@marknow/banners
+ * @access protected
+ */
+export function setIconDimensions(svg, { width, height }) {
+ width = typeof width === 'number'
+ ? `width="${width}px"`
+ : !width
+ ? ''
+ : `width="${width}"`;
+
+ height = typeof height === 'number'
+ ? `height="${height}px"`
+ : !height
+ ? ''
+ : `height="${height}"`;
+
+ return svg
+ .replace(/width="([^"]*)"/, width)
+ .replace(/height="([^"]*)"/, height);
+}
+
+/**
+ * Checks if a given string is a valid
+ * [Iconify](https://iconify.design/)/[Icônes](https://icones.js.org/)-like icon name.
+ *
+ * @param {string} string The string to be checked.
+ * @returns {boolean}
+ *
+ * @module \@marknow/banners
+ * @access package
+ */
+function isIconName(string) {
+ return /^[a-z0-9-]+:[a-z0-9-]+(\[\])?$/.test(string);
+}
+
+/**
+ * Checks if string is a valid URL.
+ *
+ * @param {string} string The string to be checked.
+ * @returns {boolean}
+ *
+ * @module \@marknow/banners
+ * @access package
+ */
+function isValidUrl(string) {
+ try {
+ const url = new URL(string);
+ return url.protocol === 'https:' || url.protocol === 'http:';
+ }
+ catch (_) {
+ return false;
+ }
+}
diff --git a/packages/banners/src/index.d.ts b/packages/banners/src/index.d.ts
new file mode 100644
index 0000000..de1053e
--- /dev/null
+++ b/packages/banners/src/index.d.ts
@@ -0,0 +1,66 @@
+/**
+ * @file
+ * This file contains all public functions and types declaration of the
+ * `@marknow/banners` package. Anything declared here can be accessed directly
+ * by the library consumers and has an @access public access level.
+ *
+ * The JSDocs of the functions are duplicated from the source files, so that
+ * it is more compatible with Typescript syntax and code documentation.
+ *
+ * @author
+ * Guz013 (under the Lored organization)
+ *
+ * @copyright
+ * Gustavo "Guz013" L. de Mello
+ *
+ * @module \@marknow/banners
+ */
+
+/**
+ * The banner constructor function. Use the options to customize the
+ * appearance of the resulting banner.
+ *
+ * @param {import('./types').BannerOptions} options
+ * Options object for customizing the banner appearance.
+ *
+ * @returns {Promise}
+ *
+ * @example
+ * import newBanner from '@marknow/banners';
+ *
+ * export async function GET({ fetch }) {
+ * const banner = await newBanner({
+ * title: 'Hello world',
+ * subtitle: 'This is a example api endpoint.'
+ * icon: 'material-symbols:api'
+ * fonts: {
+ * title: {
+ * data: await (await fetch('/Mona-Sans-SemiBold.woff')).arrayBuffer(),
+ * name: 'Mona Sans',
+ * weight: 600,
+ * },
+ * subtitle: {
+ * data: await (await fetch('/Mona-Sans-Regular.woff')).arrayBuffer(),
+ * name: 'Mona Sans',
+ * weight: 400,
+ * },
+ * },
+ * libConfig: {
+ * fetcher: fetch,
+ * },
+ * });
+ *
+ * return new Response(banner.toString(), {
+ * status: 200,
+ * headers: {
+ * 'Content-type': 'image/svg+xml',
+ * },
+ * });
+ * }
+ *
+ * @module \@marknow/banners
+ * @access public
+ */
+export default function banner({ title, subtitle, icon, layout, config, }: import('./types').BannerOptions): Promise;
+
+export type { BannerOptions, Banner } from './types'
diff --git a/packages/banners/src/index.js b/packages/banners/src/index.js
new file mode 100644
index 0000000..da73e14
--- /dev/null
+++ b/packages/banners/src/index.js
@@ -0,0 +1,132 @@
+/**
+ * @file
+ * Main entry point of the `@marknow/banners` package. This file contains
+ * all ESModules exports of the public APIs and functions of the library.
+ * Anything exported here should have an @access public access level and
+ * declared on {@link ./index.d.ts types declaration} file.
+ *
+ * @author
+ * Guz013 (under the Lored organization)
+ *
+ * @copyright
+ * Gustavo "Guz013" L. de Mello
+ *
+ * @module \@marknow/banners
+ */
+import { html as htmlToVNodes } from 'satori-html';
+import satori from 'satori';
+import bannerHtml from './html';
+import { getMonaSansFonts } from './fonts';
+import { getIcon, setIconDimensions } from './icons';
+
+/**
+ * The banner constructor function. Use the options to customize the
+ * appearance of the resulting banner.
+ *
+ * @param {import('./types').BannerOptions} options
+ * Options object for customizing the banner appearance.
+ *
+ * @returns {Promise}
+ *
+ * @example
+ * import newBanner from '@marknow/banners';
+ *
+ * export async function GET({ fetch }) {
+ * const banner = await newBanner({
+ * title: 'Hello world',
+ * subtitle: 'This is a example api endpoint.'
+ * icon: 'material-symbols:api'
+ * fonts: {
+ * title: {
+ * data: await (await fetch('/Mona-Sans-SemiBold.woff')).arrayBuffer(),
+ * name: 'Mona Sans',
+ * weight: 600,
+ * },
+ * subtitle: {
+ * data: await (await fetch('/Mona-Sans-Regular.woff')).arrayBuffer(),
+ * name: 'Mona Sans',
+ * weight: 400,
+ * },
+ * },
+ * libConfig: {
+ * fetcher: fetch,
+ * },
+ * });
+ *
+ * return new Response(banner.toString(), {
+ * status: 200,
+ * headers: {
+ * 'Content-type': 'image/svg+xml',
+ * },
+ * });
+ * }
+ *
+ * @module \@marknow/banners
+ * @access public
+ */
+export default async function banner({
+ title,
+ fonts,
+ icon = '',
+ rtl = false,
+ subtitle = '',
+ layout = 'horizontal',
+ libConfig: config = {},
+ colors = {
+ background: '#ffffff',
+ foreground: '#000000',
+ },
+}) {
+ fonts ||= await getMonaSansFonts(config?.reader);
+ config.iconHandler ||= icon => getIcon(icon, config?.fetcher);
+
+ title = truncateText(title, layout === 'horizontal' ? 45 : 90);
+ subtitle = truncateText(subtitle, layout === 'horizontal' ? 100 : 200);
+
+ const dimensions = {
+ width: 1000,
+ height: layout === 'horizontal' ? 180 : 280,
+ };
+
+ const htmlTemplate = bannerHtml({ layout, dimensions, fonts, colors, rtl });
+
+ const iconSvg = setIconDimensions(await config.iconHandler(icon), { width: '3.5em' });
+
+ const html = htmlTemplate
+ .replace('%%MARKNOW-PLACEHOLDER-TITLE%%', title)
+ .replace('%%MARKNOW-PLACEHOLDER-SUBTILE%%', subtitle)
+ .replace('%%MARKNOW-PLACEHOLDER-ICON%%', iconSvg);
+
+ const vNodes = htmlToVNodes(html);
+
+ const svg = await satori(vNodes, {
+ ...dimensions,
+ fonts: [
+ fonts.title,
+ fonts.subtitle,
+ ],
+ });
+
+ return {
+ toString() { return svg; },
+ icon: iconSvg,
+ vNodes,
+ html,
+ svg,
+ };
+}
+
+/**
+ * Small utility function used to truncate long texts on the banner
+ *
+ * @param {string} string - Text string to be truncated.
+ * @param {number} maxChar - Maximum number of characters.
+ *
+ * @returns {string}
+ *
+ * @module \@marknow/banners
+ * @access package
+ */
+function truncateText(string, maxChar) {
+ return string.length > maxChar ? `${string.slice(0, maxChar)}...` : string;
+}
diff --git a/packages/banners/src/types.d.ts b/packages/banners/src/types.d.ts
new file mode 100644
index 0000000..c6e5cda
--- /dev/null
+++ b/packages/banners/src/types.d.ts
@@ -0,0 +1,234 @@
+/**
+ * @file
+ * Definitions of more complex or shared Typescript types used in the package.
+ *
+ * @author
+ * Guz013 (under the Lored organization)
+ *
+ * @copyright
+ * Gustavo "Guz013" L. de Mello
+ *
+ * @module \@marknow/banners
+ */
+
+import type { OpenMode, PathLike } from "node:fs";
+import type { FileHandle } from "node:fs/promises";
+import type { SatoriOptions } from "satori/wasm";
+
+/**
+ * Options object for customizing the banner appearance.
+ *
+ * @module \@marknow/banners
+ * @access public
+ */
+export interface BannerOptions {
+ /**
+ * **(REQUIRED)** Title to be displayed in the banner.
+ */
+ title: string,
+
+ /**
+ * (Optional) Set the text direction right-to-left.
+ */
+ rtl?: boolean = false,
+
+ /**
+ * (Optional) {@link https://iconify.design/ Iconify}/{@link https://icones.js.org/ Icônes}-like
+ * icon name OR url for svg file of the icon to be used in the banner.
+ */
+ icon?: string = '',
+
+ /**
+ * (Optional) Subtitle/legend to be displayed in the banner
+ * bellow the title.
+ */
+ subtitle?: string = '',
+
+ /**
+ * (Optional) Customize the colors of the banner.
+ *
+ * Customize the background color and foreground (title, subtitle
+ * and icon) colors.
+ */
+ colors?: Colors = { background: '#ffffff', foreground: '#000000' },
+
+ /**
+ * (Optional) Customize the layout of the banner and position of elements.
+ */
+ layout?: 'horizontal' | 'vertical' = 'horizontal',
+
+ /**
+ * (Optional) Customize the fonts used on the banner.
+ *
+ * Changes the default font file used for the title and subtitle.
+ * Defaults is {@link https://github.com/github/mona-sans Github's Mona Sans}
+ * semi-bold and regular respectively.
+ *
+ * @see {@link https://github.com/vercel/satori#fonts}
+ */
+ fonts?: {
+ title: Font,
+ subtitle: Font,
+ }
+
+ /**
+ * (Optional) Customize the behavior of the package.
+ *
+ * Provide functions or polyfills to be used by the package
+ * for better compatibility or customization of the banner
+ * creation.
+ */
+ libConfig?: {
+ /**
+ * (Optional) Fetch function used by the package to retrieve
+ * icons from {@link https://iconify.design/ Iconify} and custom
+ * icons provided as url.
+ *
+ * Default function used is the
+ * {@link https://developer.mozilla.org/en-US/docs/Web/API/fetch globalThis.fetch}
+ * function. Compatible with modern browsers, Node.js (version 18 and greater),
+ * Deno and Bun.
+ *
+ * @see {@link BannerOptions.icon}
+ *
+ * @param {RequestInfo} input - The request url/info.
+ * @param {RequestInit} - Request options.
+ * @returns {Promise}
+ */
+ fetcher?: Fetcher = globalThis.fetch,
+
+ /**
+ * (Optional) The function used to read the font files and return a Buffer or
+ * ArrayBuffer from them.
+ *
+ * Default function used is the {@link https://nodejs.org/api/fs.html#fsreadfilepath-options-callback fs.readFile}
+ * from the Node file system promises api ({@link https://nodejs.org/api/fs.html#file-system node:fs/promises}).
+ * Compatible with Node.js (version 10 and greater), Deno and Bun.
+ *
+ * @param {PathLike | FileHandle} path - The path to the font files.
+ * @returns {Promise}
+ */
+ reader?: Reader = import ('node:fs/promises').readFile,
+
+ /**
+ * (Optional) The function used to get the icon svg file from {@link https://iconify.design/ Iconify}
+ * or URL endpoint passed.
+ *
+ * @see {@link BannerOptions.icon}
+ *
+ * @param {string} icon - Icon name or URL.
+ * @returns {string | Promise}
+ */
+ iconHandler?: (icon: string) => string | Promise
+ }
+}
+
+/**
+ * The resulting banner object.
+ *
+ * Has a `toString()` function to be used in string literals
+ * that returns the svg string of the banner.
+ *
+ * @module \@marknow/banners
+ * @access public
+ */
+export interface Banner {
+ /**
+ * The resulting svg of the banner.
+ * @readonly
+ */
+ svg: string,
+ /**
+ * The raw html used to create the banner.
+ * @readonly
+ */
+ html: string,
+ /**
+ * The used icon's svg.
+ * @readonly
+ */
+ icon: string,
+ /**
+ * React-element-like objects / VDOM used to create the banner.
+ * @readonly
+ */
+ vNodes: VNode,
+ /**
+ * Returns the {@link Banner.svg svg string} of the banner.
+ * Useful when using the banner object directly on a string.
+ *
+ * @example
+ * import newBanner from '@marknow/banners';
+ *
+ * const banner = await newBanner({ ... });
+ *
+ * // Prints the resulting svg instead of the banner object itself.
+ * console.log(`Banner svg:\n${banner}`)
+ *
+ * @readonly
+ */
+ toString(): string,
+};
+
+/**
+ * Font object for the banner passed to the `satori` package.
+ *
+ * @see {@link BannerOptions.fonts}
+ * @see {@link https://github.com/vercel/satori#fonts}
+ *
+ * @module \@marknow/banners > satori
+ * @access protected
+ */
+export type Font = SatoriOptions['fonts'][0];
+
+export type Colors = {
+ foreground: string;
+ background: string;
+}
+
+/**
+ * "Global Fetch"-like function used by the package to retrieve
+ * icons from [Iconify](https://iconify.design/) and custom
+ * icons provided as url.
+ *
+ * @param {RequestInfo} input - The request url/info.
+ * @param {RequestInit} - Request options.
+ * @returns {Promise}
+ *
+ * @module \@marknow/banners
+ * @access protected
+ */
+export type Fetcher = (
+ input: RequestInfo | URL,
+ init?: RequestInit
+) => Promise;
+
+/**
+ * "Node.js' `fs.readFile`"-like function used to read the font files
+ * and return a Buffer or ArrayBuffer from them.
+ *
+ * @param {RequestInfo} input - The request url/info.
+ * @param {RequestInit} - Request options.
+ * @returns {Promise}
+ *
+ * @module \@marknow/banners
+ * @access protected
+ */
+export type Reader = (
+ path: PathLike | FileHandle,
+) => Promise
+
+/**
+ * React-element-like objects / VDOM object used in satori.
+ *
+ * @module \@marknow/banners > satori-html
+ * @access protected
+ */
+export interface VNode {
+ type: string;
+ props: {
+ style?: Record;
+ children?: string | VNode | VNode[];
+ [prop: string]: any;
+ };
+}
diff --git a/packages/banners/tests/PREVIEWS.md b/packages/banners/tests/PREVIEWS.md
new file mode 100644
index 0000000..c020b22
--- /dev/null
+++ b/packages/banners/tests/PREVIEWS.md
@@ -0,0 +1,42 @@
+
+### [`banner.test.ts`](./banner.test.ts)
+
+
+
+
+
+
+
+### [`results.test.js`](./results.test.js);
+
+
+
+
+
+
+
+
+### [`vertical-results.test.js`](./vertical-results.test.js);
+
+
+
+
+
+
+
+
+
+### [`rtl-results.test.js`](./rtl-results.test.js);
+
+
+
+
+
+
+
+
+
+### [`icons.test.js`](./icons.test.js)
+
+
+
diff --git a/packages/banners/tests/__snapshots__/banner-horizontal.svg b/packages/banners/tests/__snapshots__/banner-horizontal.svg
new file mode 100644
index 0000000..de164d0
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/banner-horizontal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/banner-rtl.svg b/packages/banners/tests/__snapshots__/banner-rtl.svg
new file mode 100644
index 0000000..a03bc43
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/banner-rtl.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/banner-vertical.svg b/packages/banners/tests/__snapshots__/banner-vertical.svg
new file mode 100644
index 0000000..2d98174
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/banner-vertical.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/icons-withIconifyIcon.svg b/packages/banners/tests/__snapshots__/icons-withIconifyIcon.svg
new file mode 100644
index 0000000..dafc54d
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/icons-withIconifyIcon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/rtl-withComplete.svg b/packages/banners/tests/__snapshots__/rtl-withComplete.svg
new file mode 100644
index 0000000..801a0f9
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/rtl-withComplete.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/rtl-withIcon.svg b/packages/banners/tests/__snapshots__/rtl-withIcon.svg
new file mode 100644
index 0000000..04a6dd2
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/rtl-withIcon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/rtl-withSubtitle.svg b/packages/banners/tests/__snapshots__/rtl-withSubtitle.svg
new file mode 100644
index 0000000..34ec15c
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/rtl-withSubtitle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/rtl-withTitle.svg b/packages/banners/tests/__snapshots__/rtl-withTitle.svg
new file mode 100644
index 0000000..7fdf09b
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/rtl-withTitle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/vertical-withComplete.svg b/packages/banners/tests/__snapshots__/vertical-withComplete.svg
new file mode 100644
index 0000000..d9a8ac4
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/vertical-withComplete.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/vertical-withIcon.svg b/packages/banners/tests/__snapshots__/vertical-withIcon.svg
new file mode 100644
index 0000000..ac34190
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/vertical-withIcon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/vertical-withSubtitle.svg b/packages/banners/tests/__snapshots__/vertical-withSubtitle.svg
new file mode 100644
index 0000000..eef3e42
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/vertical-withSubtitle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/vertical-withTitle.svg b/packages/banners/tests/__snapshots__/vertical-withTitle.svg
new file mode 100644
index 0000000..203ad30
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/vertical-withTitle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/withComplete.svg b/packages/banners/tests/__snapshots__/withComplete.svg
new file mode 100644
index 0000000..621052c
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/withComplete.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/withIcon.svg b/packages/banners/tests/__snapshots__/withIcon.svg
new file mode 100644
index 0000000..ffaad23
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/withIcon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/withSubtitle.svg b/packages/banners/tests/__snapshots__/withSubtitle.svg
new file mode 100644
index 0000000..888aff2
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/withSubtitle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/__snapshots__/withTitle.svg b/packages/banners/tests/__snapshots__/withTitle.svg
new file mode 100644
index 0000000..e945ba8
--- /dev/null
+++ b/packages/banners/tests/__snapshots__/withTitle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/packages/banners/tests/banner.test.ts b/packages/banners/tests/banner.test.ts
new file mode 100644
index 0000000..bb24967
--- /dev/null
+++ b/packages/banners/tests/banner.test.ts
@@ -0,0 +1,57 @@
+import { describe, expect, it } from 'vitest';
+import type { BannerOptions } from '../src/index';
+import banner from '../src/index';
+
+describe('Complex banner', async () => {
+ const options: BannerOptions = {
+ title: '@marknow/banners',
+ subtitle: 'This is a more complex banner that uses most of the package settings',
+ icon: 'solar:inbox-unread-bold-duotone',
+ colors: {
+ foreground: '#feefec',
+ background: '#1d1412',
+ },
+ fonts: {
+ title: {
+ // eslint-disable-next-line spellcheck/spell-checker
+ name: 'Quattrocento',
+ data: await (await fetch('https://fonts.bunny.net/quattrocento/files/quattrocento-latin-700-normal.woff')).arrayBuffer(),
+ weight: 700,
+ style: 'normal',
+ },
+ subtitle: {
+ // eslint-disable-next-line spellcheck/spell-checker
+ name: 'Quattrocento Sans',
+ data: await (await fetch('https://fonts.bunny.net/quattrocento-sans/files/quattrocento-sans-latin-400-normal.woff')).arrayBuffer(),
+ weight: 400,
+ style: 'normal',
+ },
+ },
+ libConfig: {
+ fetcher: globalThis.fetch,
+ },
+ };
+
+ it('Horizontal', async () => {
+ const result = await banner({
+ ...options,
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/banner-horizontal.svg');
+ });
+
+ it('Horizontal RTL', async () => {
+ const result = await banner({
+ ...options,
+ rtl: true,
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/banner-rtl.svg');
+ });
+
+ it('Vertical', async () => {
+ const result = await banner({
+ ...options,
+ layout: 'vertical',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/banner-vertical.svg');
+ });
+});
diff --git a/packages/banners/tests/icons.test.js b/packages/banners/tests/icons.test.js
new file mode 100644
index 0000000..529c9fe
--- /dev/null
+++ b/packages/banners/tests/icons.test.js
@@ -0,0 +1,44 @@
+import { describe, expect, it } from 'vitest';
+import banner from '../src/index';
+
+describe('Iconify icons', async () => {
+ it('API\'s Iconify icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ // eslint-disable-next-line spellcheck/spell-checker
+ icon: 'solar:test-tube-minimalistic-bold-duotone',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/icons-withIconifyIcon.svg');
+ });
+
+ it('Local Iconify icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ icon: `
+
+ `.toString(),
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/icons-withIconifyIcon.svg');
+ });
+
+ it('URL Iconify icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ icon: 'https://api.iconify.design/solar:test-tube-minimalistic-bold-duotone.svg',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/icons-withIconifyIcon.svg');
+ });
+});
diff --git a/packages/banners/tests/results.test.js b/packages/banners/tests/results.test.js
new file mode 100644
index 0000000..2956a99
--- /dev/null
+++ b/packages/banners/tests/results.test.js
@@ -0,0 +1,36 @@
+import { describe, expect, it } from 'vitest';
+import banner from '../src/index';
+
+describe('Horizontal Layout', async () => {
+ it('With Title', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/withTitle.svg');
+ });
+
+ it('With Subtitle', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/withSubtitle.svg');
+ });
+
+ it('With Icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ icon: 'solar:test-tube-bold-duotone',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/withIcon.svg');
+ });
+
+ it('With Subtitle and Icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ icon: 'solar:test-tube-bold-duotone',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/withComplete.svg');
+ });
+});
diff --git a/packages/banners/tests/rtl-results.test.js b/packages/banners/tests/rtl-results.test.js
new file mode 100644
index 0000000..6bb914e
--- /dev/null
+++ b/packages/banners/tests/rtl-results.test.js
@@ -0,0 +1,40 @@
+import { describe, expect, it } from 'vitest';
+import banner from '../src/index';
+
+describe('Horizontal Layout', async () => {
+ it('With Title', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ rtl: true,
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/rtl-withTitle.svg');
+ });
+
+ it('With Subtitle', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ rtl: true,
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/rtl-withSubtitle.svg');
+ });
+
+ it('With Icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ icon: 'solar:test-tube-bold-duotone',
+ rtl: true,
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/rtl-withIcon.svg');
+ });
+
+ it('With Subtitle and Icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ icon: 'solar:test-tube-bold-duotone',
+ rtl: true,
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/rtl-withComplete.svg');
+ });
+});
diff --git a/packages/banners/tests/vertical-result.test.js b/packages/banners/tests/vertical-result.test.js
new file mode 100644
index 0000000..bd804ca
--- /dev/null
+++ b/packages/banners/tests/vertical-result.test.js
@@ -0,0 +1,40 @@
+import { describe, expect, it } from 'vitest';
+import banner from '../src/index';
+
+describe('Vertical Layout', async () => {
+ it('With Title', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ layout: 'vertical',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/vertical-withTitle.svg');
+ });
+
+ it('With Subtitle', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ layout: 'vertical',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/vertical-withSubtitle.svg');
+ });
+
+ it('With Icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ icon: 'solar:test-tube-bold-duotone',
+ layout: 'vertical',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/vertical-withIcon.svg');
+ });
+
+ it('With Subtitle and Icon', async () => {
+ const result = await banner({
+ title: 'Hello World',
+ subtitle: 'This is a test',
+ icon: 'solar:test-tube-bold-duotone',
+ layout: 'vertical',
+ });
+ expect(result.toString()).toMatchFileSnapshot('./__snapshots__/vertical-withComplete.svg');
+ });
+});
diff --git a/packages/banners/vitest.config.js b/packages/banners/vitest.config.js
new file mode 100644
index 0000000..d9b0e85
--- /dev/null
+++ b/packages/banners/vitest.config.js
@@ -0,0 +1,10 @@
+import { defineProject } from 'vitest/config';
+
+export default defineProject({
+ test: {
+ environmentMatchGlobs: [
+ ['**\/*{,.node}.test.{js,ts}', 'node'],
+ ],
+ include: ['./tests/**/*.test.{js,ts}'],
+ },
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 07738fd..dbd52b0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -11,6 +11,9 @@ importers:
'@antfu/eslint-config':
specifier: ^0.39.5
version: 0.39.5(eslint@8.42.0)(typescript@5.1.3)
+ '@changesets/cli':
+ specifier: ^2.26.2
+ version: 2.26.2
'@commitlint/config-conventional':
specifier: ^17.6.5
version: 17.6.5
@@ -35,15 +38,15 @@ importers:
vercel:
specifier: ^30.2.2
version: 30.2.2(@types/node@14.18.33)
+ vitest:
+ specifier: ^0.32.2
+ version: 0.32.2
apps/www:
devDependencies:
'@fontsource-variable/fira-code':
specifier: ^5.0.3
version: 5.0.3
- '@fontsource-variable/inter':
- specifier: ^5.0.3
- version: 5.0.3
'@iconify-json/solar':
specifier: ^1.1.1
version: 1.1.1
@@ -56,6 +59,9 @@ importers:
'@iconify/utils':
specifier: ^2.1.6
version: 2.1.6
+ '@marknow/banners':
+ specifier: workspace:*
+ version: link:../../packages/banners
'@poppanator/sveltekit-svg':
specifier: ^3.0.1
version: 3.0.1(svelte@3.59.1)(vite@4.3.9)
@@ -67,16 +73,13 @@ importers:
version: 1.20.2(svelte@3.59.1)(vite@4.3.9)
'@typescript-eslint/eslint-plugin':
specifier: ^5.59.11
- version: 5.59.11(@typescript-eslint/parser@5.59.11)(eslint@8.42.0)(typescript@5.1.3)
+ version: 5.59.11(@typescript-eslint/parser@5.59.11)(eslint@8.43.0)(typescript@5.1.3)
'@typescript-eslint/parser':
specifier: ^5.59.11
- version: 5.59.11(eslint@8.42.0)(typescript@5.1.3)
+ version: 5.59.11(eslint@8.43.0)(typescript@5.1.3)
'@unocss/extractor-svelte':
specifier: ^0.52.7
version: 0.52.7
- cal-sans:
- specifier: ^1.0.1
- version: 1.0.1
mdsvex:
specifier: ^0.10.6
version: 0.10.6(svelte@3.59.1)
@@ -84,14 +87,20 @@ importers:
specifier: ^2.1.0
version: 2.1.0
sass:
- specifier: ^1.63.4
- version: 1.63.4
+ specifier: ^1.63.6
+ version: 1.63.6
+ satori:
+ specifier: ^0.10.1
+ version: 0.10.1
svelte:
specifier: ^3.59.1
version: 3.59.1
svelte-check:
specifier: ^3.4.3
- version: 3.4.3(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1)
+ version: 3.4.3(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.6)(svelte@3.59.1)
+ svelte-preprocess:
+ specifier: ^5.0.4
+ version: 5.0.4(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.6)(svelte@3.59.1)(typescript@5.1.3)
tslib:
specifier: ^2.5.3
version: 2.5.3
@@ -115,7 +124,23 @@ importers:
version: 0.2.8
vite:
specifier: ^4.3.9
- version: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ version: 4.3.9(@types/node@14.18.33)(sass@1.63.6)
+
+ packages/banners:
+ dependencies:
+ satori:
+ specifier: ^0.10.1
+ version: 0.10.1
+ satori-html:
+ specifier: ^0.3.2
+ version: 0.3.2
+ devDependencies:
+ '@types/node':
+ specifier: ^20.3.1
+ version: 20.3.1
+ microbundle:
+ specifier: ^0.15.1
+ version: 0.15.1
packages:
@@ -548,6 +573,18 @@ packages:
'@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5)
dev: true
+ /@babel/plugin-proposal-class-properties@7.12.1(@babel/core@7.22.5):
+ resolution: {integrity: sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.22.5)
+ '@babel/helper-plugin-utils': 7.22.5
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.22.5):
resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
engines: {node: '>=6.9.0'}
@@ -614,6 +651,16 @@ packages:
'@babel/helper-plugin-utils': 7.22.5
dev: true
+ /@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
/@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.5):
resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==}
engines: {node: '>=6.9.0'}
@@ -938,6 +985,17 @@ packages:
'@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5)
dev: true
+ /@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.22.5)
+ dev: true
+
/@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.5):
resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==}
engines: {node: '>=6.9.0'}
@@ -1198,6 +1256,51 @@ packages:
'@babel/helper-plugin-utils': 7.22.5
dev: true
+ /@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-PVk3WPYudRF5z4GKMEYUrLjPl38fJSKNaEOkFuoprioowGuWN6w2RKznuFNSlJx7pzzXXStPUnNSOEO0jL5EVw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5)
+ dev: true
+
+ /@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5)
+ '@babel/types': 7.22.5
+ dev: true
+
+ /@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ dev: true
+
/@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.22.5):
resolution: {integrity: sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==}
engines: {node: '>=6.9.0'}
@@ -1419,6 +1522,18 @@ packages:
- supports-color
dev: true
+ /@babel/preset-flow@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-ta2qZ+LSiGCrP5pgcGt8xMnnkXQrq8Sa4Ulhy06BOlF5QbLw9q5hIx7bn5MrsvyTGAfh6kTOo07Q+Pfld/8Y5Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.5
+ '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.5)
+ dev: true
+
/@babel/preset-modules@0.1.5(@babel/core@7.22.5):
resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==}
peerDependencies:
@@ -1432,6 +1547,21 @@ packages:
esutils: 2.0.3
dev: true
+ /@babel/preset-react@7.22.5(@babel/core@7.22.5):
+ resolution: {integrity: sha512-M+Is3WikOpEJHgR385HbuCITPTaPRaNkibTEa9oiofmJvIsrceb4yp9RL9Kb+TE8LznmeyZqpP+Lopwcx59xPQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-plugin-utils': 7.22.5
+ '@babel/helper-validator-option': 7.22.5
+ '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-react-pure-annotations': 7.22.5(@babel/core@7.22.5)
+ dev: true
+
/@babel/preset-typescript@7.22.5(@babel/core@7.22.5):
resolution: {integrity: sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==}
engines: {node: '>=6.9.0'}
@@ -1501,6 +1631,190 @@ packages:
to-fast-properties: 2.0.0
dev: true
+ /@changesets/apply-release-plan@6.1.4:
+ resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/config': 2.3.1
+ '@changesets/get-version-range-type': 0.3.2
+ '@changesets/git': 2.0.0
+ '@changesets/types': 5.2.1
+ '@manypkg/get-packages': 1.1.3
+ detect-indent: 6.1.0
+ fs-extra: 7.0.1
+ lodash.startcase: 4.4.0
+ outdent: 0.5.0
+ prettier: 2.8.8
+ resolve-from: 5.0.0
+ semver: 7.5.3
+ dev: true
+
+ /@changesets/assemble-release-plan@5.2.4:
+ resolution: {integrity: sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/errors': 0.1.4
+ '@changesets/get-dependents-graph': 1.3.6
+ '@changesets/types': 5.2.1
+ '@manypkg/get-packages': 1.1.3
+ semver: 7.5.3
+ dev: true
+
+ /@changesets/changelog-git@0.1.14:
+ resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==}
+ dependencies:
+ '@changesets/types': 5.2.1
+ dev: true
+
+ /@changesets/cli@2.26.2:
+ resolution: {integrity: sha512-dnWrJTmRR8bCHikJHl9b9HW3gXACCehz4OasrXpMp7sx97ECuBGGNjJhjPhdZNCvMy9mn4BWdplI323IbqsRig==}
+ hasBin: true
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/apply-release-plan': 6.1.4
+ '@changesets/assemble-release-plan': 5.2.4
+ '@changesets/changelog-git': 0.1.14
+ '@changesets/config': 2.3.1
+ '@changesets/errors': 0.1.4
+ '@changesets/get-dependents-graph': 1.3.6
+ '@changesets/get-release-plan': 3.0.17
+ '@changesets/git': 2.0.0
+ '@changesets/logger': 0.0.5
+ '@changesets/pre': 1.0.14
+ '@changesets/read': 0.5.9
+ '@changesets/types': 5.2.1
+ '@changesets/write': 0.2.3
+ '@manypkg/get-packages': 1.1.3
+ '@types/is-ci': 3.0.0
+ '@types/semver': 7.5.0
+ ansi-colors: 4.1.3
+ chalk: 2.4.2
+ enquirer: 2.3.6
+ external-editor: 3.1.0
+ fs-extra: 7.0.1
+ human-id: 1.0.2
+ is-ci: 3.0.1
+ meow: 6.1.1
+ outdent: 0.5.0
+ p-limit: 2.3.0
+ preferred-pm: 3.0.3
+ resolve-from: 5.0.0
+ semver: 7.5.3
+ spawndamnit: 2.0.0
+ term-size: 2.2.1
+ tty-table: 4.2.1
+ dev: true
+
+ /@changesets/config@2.3.1:
+ resolution: {integrity: sha512-PQXaJl82CfIXddUOppj4zWu+987GCw2M+eQcOepxN5s+kvnsZOwjEJO3DH9eVy+OP6Pg/KFEWdsECFEYTtbg6w==}
+ dependencies:
+ '@changesets/errors': 0.1.4
+ '@changesets/get-dependents-graph': 1.3.6
+ '@changesets/logger': 0.0.5
+ '@changesets/types': 5.2.1
+ '@manypkg/get-packages': 1.1.3
+ fs-extra: 7.0.1
+ micromatch: 4.0.5
+ dev: true
+
+ /@changesets/errors@0.1.4:
+ resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==}
+ dependencies:
+ extendable-error: 0.1.7
+ dev: true
+
+ /@changesets/get-dependents-graph@1.3.6:
+ resolution: {integrity: sha512-Q/sLgBANmkvUm09GgRsAvEtY3p1/5OCzgBE5vX3vgb5CvW0j7CEljocx5oPXeQSNph6FXulJlXV3Re/v3K3P3Q==}
+ dependencies:
+ '@changesets/types': 5.2.1
+ '@manypkg/get-packages': 1.1.3
+ chalk: 2.4.2
+ fs-extra: 7.0.1
+ semver: 7.5.3
+ dev: true
+
+ /@changesets/get-release-plan@3.0.17:
+ resolution: {integrity: sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/assemble-release-plan': 5.2.4
+ '@changesets/config': 2.3.1
+ '@changesets/pre': 1.0.14
+ '@changesets/read': 0.5.9
+ '@changesets/types': 5.2.1
+ '@manypkg/get-packages': 1.1.3
+ dev: true
+
+ /@changesets/get-version-range-type@0.3.2:
+ resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==}
+ dev: true
+
+ /@changesets/git@2.0.0:
+ resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/errors': 0.1.4
+ '@changesets/types': 5.2.1
+ '@manypkg/get-packages': 1.1.3
+ is-subdir: 1.2.0
+ micromatch: 4.0.5
+ spawndamnit: 2.0.0
+ dev: true
+
+ /@changesets/logger@0.0.5:
+ resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==}
+ dependencies:
+ chalk: 2.4.2
+ dev: true
+
+ /@changesets/parse@0.3.16:
+ resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==}
+ dependencies:
+ '@changesets/types': 5.2.1
+ js-yaml: 3.14.1
+ dev: true
+
+ /@changesets/pre@1.0.14:
+ resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/errors': 0.1.4
+ '@changesets/types': 5.2.1
+ '@manypkg/get-packages': 1.1.3
+ fs-extra: 7.0.1
+ dev: true
+
+ /@changesets/read@0.5.9:
+ resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/git': 2.0.0
+ '@changesets/logger': 0.0.5
+ '@changesets/parse': 0.3.16
+ '@changesets/types': 5.2.1
+ chalk: 2.4.2
+ fs-extra: 7.0.1
+ p-filter: 2.1.0
+ dev: true
+
+ /@changesets/types@4.1.0:
+ resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
+ dev: true
+
+ /@changesets/types@5.2.1:
+ resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==}
+ dev: true
+
+ /@changesets/write@0.2.3:
+ resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/types': 5.2.1
+ fs-extra: 7.0.1
+ human-id: 1.0.2
+ prettier: 2.8.8
+ dev: true
+
/@commitlint/config-conventional@17.6.5:
resolution: {integrity: sha512-Xl9H9KLl86NZm5CYNTNF9dcz1xelE/EbvhWIWcYxG/rn3UWYWdWmmnX2q6ZduNdLFSGbOxzUpIx61j5zxbeXxg==}
engines: {node: '>=v14'}
@@ -1964,6 +2278,16 @@ packages:
eslint-visitor-keys: 3.4.1
dev: true
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ dependencies:
+ eslint: 8.43.0
+ eslint-visitor-keys: 3.4.1
+ dev: true
+
/@eslint-community/regexpp@4.5.1:
resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==}
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
@@ -1991,12 +2315,13 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@fontsource-variable/fira-code@5.0.3:
- resolution: {integrity: sha512-OfishGTVN3fUM8M27P0NYV4UvugpLigP8DjMHnG9kars9ZRbRPTnfW4lGJELGCXFf6IQVJ2uRyjUKWNIx/Sd2w==}
+ /@eslint/js@8.43.0:
+ resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /@fontsource-variable/inter@5.0.3:
- resolution: {integrity: sha512-AIE1Lm2/cNkCD4oAJ3JVY54tGhlUS7NnAiqGmE045v+7XHqmUhSYjhQNUgnBGcenth4bN75l+KIeTDbcGc7Emw==}
+ /@fontsource-variable/fira-code@5.0.3:
+ resolution: {integrity: sha512-OfishGTVN3fUM8M27P0NYV4UvugpLigP8DjMHnG9kars9ZRbRPTnfW4lGJELGCXFf6IQVJ2uRyjUKWNIx/Sd2w==}
dev: true
/@gar/promisify@1.1.3:
@@ -2076,6 +2401,13 @@ packages:
engines: {node: '>=6.0.0'}
dev: true
+ /@jridgewell/source-map@0.3.3:
+ resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==}
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.3
+ '@jridgewell/trace-mapping': 0.3.18
+ dev: true
+
/@jridgewell/sourcemap-codec@1.4.14:
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
dev: true
@@ -2102,6 +2434,26 @@ packages:
resolution: {integrity: sha512-Lg3PnLp0QXpxwLIAuuJboLeRaIhrgJjeuh797QADg3xz8wGLugQOS5DpsE8A6i6Adgzf+bacllkKZG3J0tGfDw==}
dev: true
+ /@manypkg/find-root@1.1.0:
+ resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@types/node': 12.20.55
+ find-up: 4.1.0
+ fs-extra: 8.1.0
+ dev: true
+
+ /@manypkg/get-packages@1.1.3:
+ resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ '@changesets/types': 4.1.0
+ '@manypkg/find-root': 1.1.0
+ fs-extra: 8.1.0
+ globby: 11.1.0
+ read-yaml-file: 1.1.0
+ dev: true
+
/@mapbox/node-pre-gyp@1.0.10:
resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==}
hasBin: true
@@ -2113,7 +2465,7 @@ packages:
nopt: 5.0.0
npmlog: 5.0.1
rimraf: 3.0.2
- semver: 7.5.1
+ semver: 7.5.3
tar: 6.1.15
transitivePeerDependencies:
- encoding
@@ -2145,7 +2497,7 @@ packages:
resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==}
dependencies:
'@gar/promisify': 1.1.3
- semver: 7.5.1
+ semver: 7.5.3
dev: true
/@npmcli/move-file@1.1.2:
@@ -2176,7 +2528,7 @@ packages:
dependencies:
svelte: 3.59.1
svgo: 3.0.2
- vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ vite: 4.3.9(@types/node@14.18.33)(sass@1.63.6)
dev: true
/@radix-ui/colors@0.1.8:
@@ -2199,6 +2551,85 @@ packages:
source-map: 0.7.4
dev: true
+ /@rollup/plugin-alias@3.1.9(rollup@2.79.1):
+ resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==}
+ engines: {node: '>=8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ rollup: 2.79.1
+ slash: 3.0.0
+ dev: true
+
+ /@rollup/plugin-babel@5.3.1(@babel/core@7.22.5)(rollup@2.79.1):
+ resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ '@types/babel__core': ^7.1.9
+ rollup: ^1.20.0||^2.0.0
+ peerDependenciesMeta:
+ '@types/babel__core':
+ optional: true
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/helper-module-imports': 7.22.5
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/plugin-commonjs@17.1.0(rollup@2.79.1):
+ resolution: {integrity: sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^2.30.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 7.2.3
+ is-reference: 1.2.1
+ magic-string: 0.25.9
+ resolve: 1.22.2
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/plugin-json@4.1.0(rollup@2.79.1):
+ resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==}
+ peerDependencies:
+ rollup: ^1.20.0 || ^2.0.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1):
+ resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ '@types/resolve': 1.17.1
+ builtin-modules: 3.3.0
+ deepmerge: 4.3.1
+ is-module: 1.0.0
+ resolve: 1.22.2
+ rollup: 2.79.1
+ dev: true
+
+ /@rollup/pluginutils@3.1.0(rollup@2.79.1):
+ resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+ dependencies:
+ '@types/estree': 0.0.39
+ estree-walker: 1.0.1
+ picomatch: 2.3.1
+ rollup: 2.79.1
+ dev: true
+
/@rollup/pluginutils@4.2.1:
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
engines: {node: '>= 8.0.0'}
@@ -2221,6 +2652,14 @@ packages:
picomatch: 2.3.1
dev: true
+ /@shuding/opentype.js@1.4.0-beta.0:
+ resolution: {integrity: sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA==}
+ engines: {node: '>= 8.0.0'}
+ hasBin: true
+ dependencies:
+ fflate: 0.7.4
+ string.prototype.codepointat: 0.2.1
+
/@sinclair/typebox@0.25.24:
resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==}
dev: true
@@ -2230,6 +2669,15 @@ packages:
engines: {node: '>=10'}
dev: true
+ /@surma/rollup-plugin-off-main-thread@2.2.3:
+ resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
+ dependencies:
+ ejs: 3.1.9
+ json5: 2.2.3
+ magic-string: 0.25.9
+ string.prototype.matchall: 4.0.8
+ dev: true
+
/@sveltejs/adapter-vercel@3.0.1(@sveltejs/kit@1.20.2):
resolution: {integrity: sha512-PBY3YRm7Q7Prax07mxD/rvcho2CntGkYncAIkz2DtG5NTcVG5JZ1RM627it5zYYtc2/RB3YjMkZuCMBqDCiPkA==}
peerDependencies:
@@ -2266,7 +2714,7 @@ packages:
svelte: 3.59.1
tiny-glob: 0.2.9
undici: 5.22.1
- vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ vite: 4.3.9(@types/node@14.18.33)(sass@1.63.6)
transitivePeerDependencies:
- supports-color
dev: true
@@ -2282,7 +2730,7 @@ packages:
'@sveltejs/vite-plugin-svelte': 2.4.1(svelte@3.59.1)(vite@4.3.9)
debug: 4.3.4
svelte: 3.59.1
- vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ vite: 4.3.9(@types/node@14.18.33)(sass@1.63.6)
transitivePeerDependencies:
- supports-color
dev: true
@@ -2301,7 +2749,7 @@ packages:
magic-string: 0.30.0
svelte: 3.59.1
svelte-hmr: 0.15.2(svelte@3.59.1)
- vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ vite: 4.3.9(@types/node@14.18.33)(sass@1.63.6)
vitefu: 0.2.4(vite@4.3.9)
transitivePeerDependencies:
- supports-color
@@ -2364,6 +2812,16 @@ packages:
'@types/responselike': 1.0.0
dev: true
+ /@types/chai-subset@1.3.3:
+ resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
+ dependencies:
+ '@types/chai': 4.3.5
+ dev: true
+
+ /@types/chai@4.3.5:
+ resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==}
+ dev: true
+
/@types/cookie@0.5.1:
resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==}
dev: true
@@ -2386,6 +2844,10 @@ packages:
'@types/estree': 1.0.1
dev: true
+ /@types/estree@0.0.39:
+ resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
+ dev: true
+
/@types/estree@1.0.1:
resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
dev: true
@@ -2407,6 +2869,12 @@ packages:
resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==}
dev: true
+ /@types/is-ci@3.0.0:
+ resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==}
+ dependencies:
+ ci-info: 3.8.0
+ dev: true
+
/@types/json-schema@7.0.12:
resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==}
dev: true
@@ -2435,6 +2903,10 @@ packages:
resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
dev: true
+ /@types/minimist@1.2.2:
+ resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==}
+ dev: true
+
/@types/ms@0.7.31:
resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==}
dev: true
@@ -2442,10 +2914,14 @@ packages:
/@types/node-fetch@2.6.3:
resolution: {integrity: sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w==}
dependencies:
- '@types/node': 14.18.33
+ '@types/node': 20.3.1
form-data: 3.0.1
dev: true
+ /@types/node@12.20.55:
+ resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
+ dev: true
+
/@types/node@14.18.33:
resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==}
dev: true
@@ -2458,10 +2934,20 @@ packages:
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
dev: true
+ /@types/parse-json@4.0.0:
+ resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==}
+ dev: true
+
/@types/pug@2.0.6:
resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
dev: true
+ /@types/resolve@1.17.1:
+ resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
+ dependencies:
+ '@types/node': 20.3.1
+ dev: true
+
/@types/responselike@1.0.0:
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
dependencies:
@@ -2497,6 +2983,34 @@ packages:
grapheme-splitter: 1.0.4
ignore: 5.2.4
natural-compare-lite: 1.4.0
+ semver: 7.5.3
+ tsutils: 3.21.0(typescript@5.1.3)
+ typescript: 5.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/eslint-plugin@5.59.11(@typescript-eslint/parser@5.59.11)(eslint@8.43.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^5.0.0
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@eslint-community/regexpp': 4.5.1
+ '@typescript-eslint/parser': 5.59.11(eslint@8.43.0)(typescript@5.1.3)
+ '@typescript-eslint/scope-manager': 5.59.11
+ '@typescript-eslint/type-utils': 5.59.11(eslint@8.43.0)(typescript@5.1.3)
+ '@typescript-eslint/utils': 5.59.11(eslint@8.43.0)(typescript@5.1.3)
+ debug: 4.3.4
+ eslint: 8.43.0
+ grapheme-splitter: 1.0.4
+ ignore: 5.2.4
+ natural-compare-lite: 1.4.0
semver: 7.5.1
tsutils: 3.21.0(typescript@5.1.3)
typescript: 5.1.3
@@ -2524,6 +3038,26 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/parser@5.59.11(eslint@8.43.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/scope-manager': 5.59.11
+ '@typescript-eslint/types': 5.59.11
+ '@typescript-eslint/typescript-estree': 5.59.11(typescript@5.1.3)
+ debug: 4.3.4
+ eslint: 8.43.0
+ typescript: 5.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/scope-manager@5.59.11:
resolution: {integrity: sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -2552,6 +3086,26 @@ packages:
- supports-color
dev: true
+ /@typescript-eslint/type-utils@5.59.11(eslint@8.43.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ '@typescript-eslint/typescript-estree': 5.59.11(typescript@5.1.3)
+ '@typescript-eslint/utils': 5.59.11(eslint@8.43.0)(typescript@5.1.3)
+ debug: 4.3.4
+ eslint: 8.43.0
+ tsutils: 3.21.0(typescript@5.1.3)
+ typescript: 5.1.3
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/@typescript-eslint/types@5.59.11:
resolution: {integrity: sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -2571,7 +3125,7 @@ packages:
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
- semver: 7.5.1
+ semver: 7.5.3
tsutils: 3.21.0(typescript@5.1.3)
typescript: 5.1.3
transitivePeerDependencies:
@@ -2592,7 +3146,27 @@ packages:
'@typescript-eslint/typescript-estree': 5.59.11(typescript@5.1.3)
eslint: 8.42.0
eslint-scope: 5.1.1
- semver: 7.5.1
+ semver: 7.5.3
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/utils@5.59.11(eslint@8.43.0)(typescript@5.1.3):
+ resolution: {integrity: sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
+ '@types/json-schema': 7.0.12
+ '@types/semver': 7.5.0
+ '@typescript-eslint/scope-manager': 5.59.11
+ '@typescript-eslint/types': 5.59.11
+ '@typescript-eslint/typescript-estree': 5.59.11(typescript@5.1.3)
+ eslint: 8.43.0
+ eslint-scope: 5.1.1
+ semver: 7.5.3
transitivePeerDependencies:
- supports-color
- typescript
@@ -2808,7 +3382,7 @@ packages:
chokidar: 3.5.3
fast-glob: 3.2.12
magic-string: 0.30.0
- vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ vite: 4.3.9(@types/node@14.18.33)(sass@1.63.6)
transitivePeerDependencies:
- rollup
dev: true
@@ -2849,9 +3423,9 @@ packages:
find-up: 5.0.0
javascript-stringify: 2.1.0
lodash: 4.17.21
- mlly: 1.3.0
+ mlly: 1.4.0
outdent: 0.8.0
- vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ vite: 4.3.9(@types/node@14.18.33)
vite-node: 0.28.5(@types/node@14.18.33)
transitivePeerDependencies:
- '@types/node'
@@ -2919,7 +3493,7 @@ packages:
dependencies:
'@mapbox/node-pre-gyp': 1.0.10
'@rollup/pluginutils': 4.2.1
- acorn: 8.8.2
+ acorn: 8.9.0
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
@@ -2940,7 +3514,7 @@ packages:
dependencies:
'@mapbox/node-pre-gyp': 1.0.10
'@rollup/pluginutils': 4.2.1
- acorn: 8.8.2
+ acorn: 8.9.0
async-sema: 3.1.1
bindings: 1.5.0
estree-walker: 2.0.2
@@ -3050,7 +3624,7 @@ packages:
cacache: 15.3.0
chalk: 4.1.2
chokidar: 3.5.3
- dotenv: 16.1.4
+ dotenv: 16.3.1
esbuild: 0.17.6
esbuild-plugin-polyfill-node: 0.2.0(esbuild@0.17.6)
execa: 5.1.1
@@ -3081,7 +3655,7 @@ packages:
recast: 0.21.5
remark-frontmatter: 4.0.1
remark-mdx-frontmatter: 1.1.1
- semver: 7.5.1
+ semver: 7.5.3
sort-package-json: 1.57.0
tar-fs: 2.1.1
tsconfig-paths: 4.2.0
@@ -3135,6 +3709,45 @@ packages:
ts-morph: 12.0.0
dev: true
+ /@vitest/expect@0.32.2:
+ resolution: {integrity: sha512-6q5yzweLnyEv5Zz1fqK5u5E83LU+gOMVBDuxBl2d2Jfx1BAp5M+rZgc5mlyqdnxquyoiOXpXmFNkcGcfFnFH3Q==}
+ dependencies:
+ '@vitest/spy': 0.32.2
+ '@vitest/utils': 0.32.2
+ chai: 4.3.7
+ dev: true
+
+ /@vitest/runner@0.32.2:
+ resolution: {integrity: sha512-06vEL0C1pomOEktGoLjzZw+1Fb+7RBRhmw/06WkDrd1akkT9i12su0ku+R/0QM69dfkIL/rAIDTG+CSuQVDcKw==}
+ dependencies:
+ '@vitest/utils': 0.32.2
+ concordance: 5.0.4
+ p-limit: 4.0.0
+ pathe: 1.1.1
+ dev: true
+
+ /@vitest/snapshot@0.32.2:
+ resolution: {integrity: sha512-JwhpeH/PPc7GJX38vEfCy9LtRzf9F4er7i4OsAJyV7sjPwjj+AIR8cUgpMTWK4S3TiamzopcTyLsZDMuldoi5A==}
+ dependencies:
+ magic-string: 0.30.0
+ pathe: 1.1.1
+ pretty-format: 27.5.1
+ dev: true
+
+ /@vitest/spy@0.32.2:
+ resolution: {integrity: sha512-Q/ZNILJ4ca/VzQbRM8ur3Si5Sardsh1HofatG9wsJY1RfEaw0XKP8IVax2lI1qnrk9YPuG9LA2LkZ0EI/3d4ug==}
+ dependencies:
+ tinyspy: 2.1.1
+ dev: true
+
+ /@vitest/utils@0.32.2:
+ resolution: {integrity: sha512-lnJ0T5i03j0IJaeW73hxe2AuVnZ/y1BhhCOuIcl9LIzXnbpXJT9Lrt6brwKHXLOiA7MZ6N5hSJjt0xE1dGNCzQ==}
+ dependencies:
+ diff-sequences: 29.4.3
+ loupe: 2.3.6
+ pretty-format: 27.5.1
+ dev: true
+
/@web3-storage/multipart-parser@1.0.0:
resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==}
dev: true
@@ -3151,12 +3764,12 @@ packages:
negotiator: 0.6.3
dev: true
- /acorn-jsx@5.3.2(acorn@8.8.2):
+ /acorn-jsx@5.3.2(acorn@8.9.0):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- acorn: 8.8.2
+ acorn: 8.9.0
dev: true
/acorn-walk@8.2.0:
@@ -3164,8 +3777,8 @@ packages:
engines: {node: '>=0.4.0'}
dev: true
- /acorn@8.8.2:
- resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
+ /acorn@8.9.0:
+ resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==}
engines: {node: '>=0.4.0'}
hasBin: true
dev: true
@@ -3209,6 +3822,11 @@ packages:
uri-js: 4.4.1
dev: true
+ /ansi-colors@4.1.3:
+ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+ engines: {node: '>=6'}
+ dev: true
+
/ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
@@ -3216,11 +3834,21 @@ packages:
type-fest: 0.21.3
dev: true
+ /ansi-regex@2.1.1:
+ resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
dev: true
+ /ansi-styles@2.2.1:
+ resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/ansi-styles@3.2.1:
resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
engines: {node: '>=4'}
@@ -3235,6 +3863,11 @@ packages:
color-convert: 2.0.1
dev: true
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+ dev: true
+
/anymatch@3.1.3:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
@@ -3263,6 +3896,12 @@ packages:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
dev: true
+ /argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+ dependencies:
+ sprintf-js: 1.0.3
+ dev: true
+
/argparse@2.0.1:
resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
dev: true
@@ -3318,6 +3957,15 @@ packages:
es-shim-unscopables: 1.0.0
dev: true
+ /arrify@1.0.1:
+ resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /assertion-error@1.1.0:
+ resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
+ dev: true
+
/ast-types@0.13.4:
resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
engines: {node: '>=4'}
@@ -3351,15 +3999,48 @@ packages:
resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==}
dev: true
+ /async@3.2.4:
+ resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==}
+ dev: true
+
/asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
dev: true
+ /asyncro@3.0.0:
+ resolution: {integrity: sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==}
+ dev: true
+
+ /autoprefixer@10.4.14(postcss@8.4.24):
+ resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+ dependencies:
+ browserslist: 4.21.9
+ caniuse-lite: 1.0.30001503
+ fraction.js: 4.2.0
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
/available-typed-arrays@1.0.5:
resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
engines: {node: '>= 0.4'}
dev: true
+ /babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+ dependencies:
+ '@babel/runtime': 7.22.5
+ cosmiconfig: 7.1.0
+ resolve: 1.22.2
+ dev: true
+
/babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.22.5):
resolution: {integrity: sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==}
peerDependencies:
@@ -3396,6 +4077,19 @@ packages:
- supports-color
dev: true
+ /babel-plugin-transform-async-to-promises@0.8.18:
+ resolution: {integrity: sha512-WpOrF76nUHijnNn10eBGOHZmXQC8JYRME9rOLxStOga7Av2VO53ehVFvVNImMksVtQuL2/7ZNxEgxnx7oo/3Hw==}
+ dev: true
+
+ /babel-plugin-transform-replace-expressions@0.2.0(@babel/core@7.22.5):
+ resolution: {integrity: sha512-Eh1rRd9hWEYgkgoA3D0kGp7xJ/wgVshgsqmq60iC4HVWD+Lux+fNHSHBa2v1Hsv+dHflShC71qKhiH40OiPtDA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/parser': 7.22.5
+ dev: true
+
/bail@2.0.2:
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
dev: true
@@ -3404,10 +4098,21 @@ packages:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
+ /base64-js@0.0.8:
+ resolution: {integrity: sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==}
+ engines: {node: '>= 0.4'}
+
/base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
dev: true
+ /better-path-resolve@1.0.0:
+ resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
+ engines: {node: '>=4'}
+ dependencies:
+ is-windows: 1.0.2
+ dev: true
+
/big.js@5.2.2:
resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
dev: true
@@ -3431,6 +4136,10 @@ packages:
readable-stream: 3.6.2
dev: true
+ /blueimp-md5@2.19.0:
+ resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==}
+ dev: true
+
/body-parser@1.20.1:
resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@@ -3475,6 +4184,19 @@ packages:
fill-range: 7.0.1
dev: true
+ /breakword@1.0.6:
+ resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==}
+ dependencies:
+ wcwidth: 1.0.1
+ dev: true
+
+ /brotli-size@4.0.0:
+ resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==}
+ engines: {node: '>= 10.16.0'}
+ dependencies:
+ duplexer: 0.1.1
+ dev: true
+
/browserify-zlib@0.1.4:
resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==}
dependencies:
@@ -3515,7 +4237,7 @@ packages:
/builtins@5.0.1:
resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==}
dependencies:
- semver: 7.5.1
+ semver: 7.5.3
dev: true
/busboy@1.6.0:
@@ -3579,10 +4301,6 @@ packages:
responselike: 2.0.1
dev: true
- /cal-sans@1.0.1:
- resolution: {integrity: sha512-XwN3/7jez8WmFVcNnNqO2K9lh133KiIcURCyGFnSM+ZmNZ8zIcOTNfr3SpenLAkRceYsq+fQNX/PL4C1rIkEPQ==}
- dev: true
-
/call-bind@1.0.2:
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
dependencies:
@@ -3595,10 +4313,65 @@ packages:
engines: {node: '>=6'}
dev: true
+ /camelcase-keys@6.2.2:
+ resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==}
+ engines: {node: '>=8'}
+ dependencies:
+ camelcase: 5.3.1
+ map-obj: 4.3.0
+ quick-lru: 4.0.1
+ dev: true
+
+ /camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /camelize@1.0.1:
+ resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
+
+ /caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+ dependencies:
+ browserslist: 4.21.9
+ caniuse-lite: 1.0.30001503
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+ dev: true
+
/caniuse-lite@1.0.30001503:
resolution: {integrity: sha512-Sf9NiF+wZxPfzv8Z3iS0rXM1Do+iOy2Lxvib38glFX+08TCYYYGR5fRJXk4d77C4AYwhUjgYgMsMudbh2TqCKw==}
dev: true
+ /chai@4.3.7:
+ resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==}
+ engines: {node: '>=4'}
+ dependencies:
+ assertion-error: 1.1.0
+ check-error: 1.0.2
+ deep-eql: 4.1.3
+ get-func-name: 2.0.0
+ loupe: 2.3.6
+ pathval: 1.1.1
+ type-detect: 4.0.8
+ dev: true
+
+ /chalk@1.1.3:
+ resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-styles: 2.2.1
+ escape-string-regexp: 1.0.5
+ has-ansi: 2.0.0
+ strip-ansi: 3.0.1
+ supports-color: 2.0.0
+ dev: true
+
/chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -3648,6 +4421,10 @@ packages:
resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
dev: true
+ /check-error@1.0.2:
+ resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
+ dev: true
+
/chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
@@ -3706,6 +4483,23 @@ packages:
engines: {node: '>= 10'}
dev: true
+ /cliui@6.0.0:
+ resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 6.2.0
+ dev: true
+
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
+
/clone-response@1.0.3:
resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==}
dependencies:
@@ -3740,13 +4534,16 @@ packages:
/color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
- dev: true
/color-support@1.1.3:
resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
hasBin: true
dev: true
+ /colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+ dev: true
+
/colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
dev: true
@@ -3762,11 +4559,19 @@ packages:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
dev: true
+ /commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+ dev: true
+
/commander@7.2.0:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
engines: {node: '>= 10'}
dev: true
+ /commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+ dev: true
+
/compare-func@2.0.0:
resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
dependencies:
@@ -3778,6 +4583,26 @@ packages:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
+ /concat-with-sourcemaps@1.1.0:
+ resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==}
+ dependencies:
+ source-map: 0.6.1
+ dev: true
+
+ /concordance@5.0.4:
+ resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==}
+ engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'}
+ dependencies:
+ date-time: 3.1.0
+ esutils: 2.0.3
+ fast-diff: 1.3.0
+ js-string-escape: 1.0.1
+ lodash: 4.17.21
+ md5-hex: 3.0.1
+ semver: 7.5.3
+ well-known-symbols: 2.0.0
+ dev: true
+
/consola@3.1.0:
resolution: {integrity: sha512-rrrJE6rP0qzl/Srg+C9x/AE5Kxfux7reVm1Wh0wCjuXvih6DqZgqDZe8auTD28fzJ9TF0mHlSDrPpWlujQRo1Q==}
dev: true
@@ -3840,10 +4665,29 @@ packages:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: true
+ /cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+ dependencies:
+ '@types/parse-json': 4.0.0
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+ dev: true
+
/create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
dev: true
+ /cross-spawn@5.1.0:
+ resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
+ dependencies:
+ lru-cache: 4.1.5
+ shebang-command: 1.2.0
+ which: 1.3.1
+ dev: true
+
/cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@@ -3853,6 +4697,35 @@ packages:
which: 2.0.2
dev: true
+ /css-background-parser@0.1.0:
+ resolution: {integrity: sha512-2EZLisiZQ+7m4wwur/qiYJRniHX4K5Tc9w93MT3AS0WS1u5kaZ4FKXlOTBhOjc+CgEgPiGY+fX1yWD8UwpEqUA==}
+
+ /css-box-shadow@1.0.0-3:
+ resolution: {integrity: sha512-9jaqR6e7Ohds+aWwmhe6wILJ99xYQbfmK9QQB9CcMjDbTxPZjwEmUQpU91OG05Xgm8BahT5fW+svbsQGjS/zPg==}
+
+ /css-color-keywords@1.0.0:
+ resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==}
+ engines: {node: '>=4'}
+
+ /css-declaration-sorter@6.4.0(postcss@8.4.24):
+ resolution: {integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==}
+ engines: {node: ^10 || ^12 || >=14}
+ peerDependencies:
+ postcss: ^8.0.9
+ dependencies:
+ postcss: 8.4.24
+ dev: true
+
+ /css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+ dev: true
+
/css-select@5.1.0:
resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==}
dependencies:
@@ -3863,6 +4736,21 @@ packages:
nth-check: 2.1.1
dev: true
+ /css-to-react-native@3.2.0:
+ resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==}
+ dependencies:
+ camelize: 1.0.1
+ css-color-keywords: 1.0.0
+ postcss-value-parser: 4.2.0
+
+ /css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+ dev: true
+
/css-tree@2.2.1:
resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
@@ -3890,6 +4778,72 @@ packages:
hasBin: true
dev: true
+ /cssnano-preset-default@5.2.14(postcss@8.4.24):
+ resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ css-declaration-sorter: 6.4.0(postcss@8.4.24)
+ cssnano-utils: 3.1.0(postcss@8.4.24)
+ postcss: 8.4.24
+ postcss-calc: 8.2.4(postcss@8.4.24)
+ postcss-colormin: 5.3.1(postcss@8.4.24)
+ postcss-convert-values: 5.1.3(postcss@8.4.24)
+ postcss-discard-comments: 5.1.2(postcss@8.4.24)
+ postcss-discard-duplicates: 5.1.0(postcss@8.4.24)
+ postcss-discard-empty: 5.1.1(postcss@8.4.24)
+ postcss-discard-overridden: 5.1.0(postcss@8.4.24)
+ postcss-merge-longhand: 5.1.7(postcss@8.4.24)
+ postcss-merge-rules: 5.1.4(postcss@8.4.24)
+ postcss-minify-font-values: 5.1.0(postcss@8.4.24)
+ postcss-minify-gradients: 5.1.1(postcss@8.4.24)
+ postcss-minify-params: 5.1.4(postcss@8.4.24)
+ postcss-minify-selectors: 5.2.1(postcss@8.4.24)
+ postcss-normalize-charset: 5.1.0(postcss@8.4.24)
+ postcss-normalize-display-values: 5.1.0(postcss@8.4.24)
+ postcss-normalize-positions: 5.1.1(postcss@8.4.24)
+ postcss-normalize-repeat-style: 5.1.1(postcss@8.4.24)
+ postcss-normalize-string: 5.1.0(postcss@8.4.24)
+ postcss-normalize-timing-functions: 5.1.0(postcss@8.4.24)
+ postcss-normalize-unicode: 5.1.1(postcss@8.4.24)
+ postcss-normalize-url: 5.1.0(postcss@8.4.24)
+ postcss-normalize-whitespace: 5.1.1(postcss@8.4.24)
+ postcss-ordered-values: 5.1.3(postcss@8.4.24)
+ postcss-reduce-initial: 5.1.2(postcss@8.4.24)
+ postcss-reduce-transforms: 5.1.0(postcss@8.4.24)
+ postcss-svgo: 5.1.0(postcss@8.4.24)
+ postcss-unique-selectors: 5.1.1(postcss@8.4.24)
+ dev: true
+
+ /cssnano-utils@3.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ dev: true
+
+ /cssnano@5.1.15(postcss@8.4.24):
+ resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-preset-default: 5.2.14(postcss@8.4.24)
+ lilconfig: 2.1.0
+ postcss: 8.4.24
+ yaml: 1.10.2
+ dev: true
+
+ /csso@4.2.0:
+ resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+ dependencies:
+ css-tree: 1.1.3
+ dev: true
+
/csso@5.0.5:
resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==}
engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'}
@@ -3901,11 +4855,40 @@ packages:
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
dev: true
+ /csv-generate@3.4.3:
+ resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==}
+ dev: true
+
+ /csv-parse@4.16.3:
+ resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==}
+ dev: true
+
+ /csv-stringify@5.6.5:
+ resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==}
+ dev: true
+
+ /csv@5.5.3:
+ resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==}
+ engines: {node: '>= 0.1.90'}
+ dependencies:
+ csv-generate: 3.4.3
+ csv-parse: 4.16.3
+ csv-stringify: 5.6.5
+ stream-transform: 2.1.3
+ dev: true
+
/data-uri-to-buffer@3.0.1:
resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==}
engines: {node: '>= 6'}
dev: true
+ /date-time@3.1.0:
+ resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==}
+ engines: {node: '>=6'}
+ dependencies:
+ time-zone: 1.0.0
+ dev: true
+
/deasync@0.1.28:
resolution: {integrity: sha512-QqLF6inIDwiATrfROIyQtwOQxjZuek13WRYZ7donU5wJPLoP67MnYxA6QtqdvdBy2mMqv5m3UefBVdJjvevOYg==}
engines: {node: '>=0.11.0'}
@@ -3950,6 +4933,19 @@ packages:
ms: 2.1.2
dev: true
+ /decamelize-keys@1.1.1:
+ resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ decamelize: 1.2.0
+ map-obj: 1.0.1
+ dev: true
+
+ /decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/decode-named-character-reference@1.0.2:
resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
dependencies:
@@ -3963,6 +4959,13 @@ packages:
mimic-response: 3.1.0
dev: true
+ /deep-eql@4.1.3:
+ resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
+ engines: {node: '>=6'}
+ dependencies:
+ type-detect: 4.0.8
+ dev: true
+
/deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
@@ -3987,6 +4990,11 @@ packages:
engines: {node: '>=10'}
dev: true
+ /define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+ dev: true
+
/define-properties@1.2.0:
resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==}
engines: {node: '>= 0.4'}
@@ -4056,6 +5064,11 @@ packages:
resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
dev: true
+ /diff-sequences@29.4.3:
+ resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ dev: true
+
/diff@4.0.2:
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'}
@@ -4087,6 +5100,14 @@ packages:
esutils: 2.0.3
dev: true
+ /dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+ dev: true
+
/dom-serializer@2.0.0:
resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
dependencies:
@@ -4099,6 +5120,13 @@ packages:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
dev: true
+ /domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+ dependencies:
+ domelementtype: 2.3.0
+ dev: true
+
/domhandler@5.0.3:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
@@ -4106,6 +5134,14 @@ packages:
domelementtype: 2.3.0
dev: true
+ /domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ dev: true
+
/domutils@3.1.0:
resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
dependencies:
@@ -4121,11 +5157,15 @@ packages:
is-obj: 2.0.0
dev: true
- /dotenv@16.1.4:
- resolution: {integrity: sha512-m55RtE8AsPeJBpOIFKihEmqUcoVncQIwo7x9U8ZwLEZw9ZpXboz2c+rvog+jUaJvVrZ5kBOeYQBX5+8Aa/OZQw==}
+ /dotenv@16.3.1:
+ resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==}
engines: {node: '>=12'}
dev: true
+ /duplexer@0.1.1:
+ resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==}
+ dev: true
+
/duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
dev: true
@@ -4159,10 +5199,21 @@ packages:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
dev: true
+ /ejs@3.1.9:
+ resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+ dependencies:
+ jake: 10.8.7
+ dev: true
+
/electron-to-chromium@1.4.431:
resolution: {integrity: sha512-m232JTVmCawA2vG+1azVxhKZ9Sv1Q//xxNv5PkP5rWxGgQE8c3CiZFrh8Xnp+d1NmNxlu3QQrGIfdeW5TtXX5w==}
dev: true
+ /emoji-regex@10.2.1:
+ resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==}
+
/emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true
@@ -4183,6 +5234,17 @@ packages:
once: 1.4.0
dev: true
+ /enquirer@2.3.6:
+ resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==}
+ engines: {node: '>=8.6'}
+ dependencies:
+ ansi-colors: 4.1.3
+ dev: true
+
+ /entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ dev: true
+
/entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
@@ -4547,7 +5609,6 @@ packages:
/escape-html@1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
- dev: true
/escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
@@ -4746,7 +5807,7 @@ packages:
is-core-module: 2.12.1
minimatch: 3.1.2
resolve: 1.22.2
- semver: 7.5.1
+ semver: 7.5.3
dev: true
/eslint-plugin-no-only-tests@3.1.0:
@@ -4820,7 +5881,7 @@ packages:
regexp-tree: 0.1.27
regjsparser: 0.10.0
safe-regex: 2.1.1
- semver: 7.5.1
+ semver: 7.5.3
strip-indent: 3.0.0
dev: true
@@ -4850,7 +5911,7 @@ packages:
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.0.13
- semver: 7.5.1
+ semver: 7.5.3
vue-eslint-parser: 9.3.1(eslint@8.42.0)
xml-name-validator: 4.0.0
transitivePeerDependencies:
@@ -4946,6 +6007,54 @@ packages:
- supports-color
dev: true
+ /eslint@8.43.0:
+ resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ hasBin: true
+ dependencies:
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0)
+ '@eslint-community/regexpp': 4.5.1
+ '@eslint/eslintrc': 2.0.3
+ '@eslint/js': 8.43.0
+ '@humanwhocodes/config-array': 0.11.10
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.0
+ eslint-visitor-keys: 3.4.1
+ espree: 9.5.2
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.20.0
+ graphemer: 1.4.0
+ ignore: 5.2.4
+ import-fresh: 3.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-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.1
+ strip-ansi: 6.0.1
+ strip-json-comments: 3.1.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
/esm-env@1.0.0:
resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
dev: true
@@ -4954,8 +6063,8 @@ packages:
resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.8.2
- acorn-jsx: 5.3.2(acorn@8.8.2)
+ acorn: 8.9.0
+ acorn-jsx: 5.3.2(acorn@8.9.0)
eslint-visitor-keys: 3.4.1
dev: true
@@ -5025,6 +6134,14 @@ packages:
'@types/unist': 2.0.6
dev: true
+ /estree-walker@0.6.1:
+ resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+ dev: true
+
+ /estree-walker@1.0.1:
+ resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+ dev: true
+
/estree-walker@2.0.2:
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
dev: true
@@ -5052,6 +6169,10 @@ packages:
require-like: 0.1.2
dev: true
+ /eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+ dev: true
+
/execa@5.1.1:
resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
engines: {node: '>=10'}
@@ -5115,6 +6236,10 @@ packages:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
dev: true
+ /extendable-error@0.1.7:
+ resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
+ dev: true
+
/external-editor@3.1.0:
resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
engines: {node: '>=4'}
@@ -5128,6 +6253,10 @@ packages:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
dev: true
+ /fast-diff@1.3.0:
+ resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
+ dev: true
+
/fast-glob@3.2.11:
resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
engines: {node: '>=8.6.0'}
@@ -5170,6 +6299,17 @@ packages:
format: 0.2.2
dev: true
+ /fflate@0.7.4:
+ resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==}
+
+ /figures@1.7.0:
+ resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ escape-string-regexp: 1.0.5
+ object-assign: 4.1.1
+ dev: true
+
/figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
@@ -5193,6 +6333,17 @@ packages:
engines: {node: '>= 6'}
dev: true
+ /filelist@1.0.4:
+ resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+ dependencies:
+ minimatch: 5.1.6
+ dev: true
+
+ /filesize@6.4.0:
+ resolution: {integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==}
+ engines: {node: '>= 0.4.0'}
+ dev: true
+
/fill-range@7.0.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
engines: {node: '>=8'}
@@ -5215,6 +6366,15 @@ packages:
- supports-color
dev: true
+ /find-cache-dir@3.3.2:
+ resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ engines: {node: '>=8'}
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 3.1.0
+ pkg-dir: 4.2.0
+ dev: true
+
/find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -5231,6 +6391,13 @@ packages:
path-exists: 4.0.0
dev: true
+ /find-yarn-workspace-root2@1.2.16:
+ resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==}
+ dependencies:
+ micromatch: 4.0.5
+ pkg-dir: 4.2.0
+ dev: true
+
/flat-cache@3.0.4:
resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
engines: {node: ^10.12.0 || >=12.0.0}
@@ -5268,6 +6435,10 @@ packages:
engines: {node: '>= 0.6'}
dev: true
+ /fraction.js@4.2.0:
+ resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
+ dev: true
+
/fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
@@ -5295,6 +6466,15 @@ packages:
universalify: 2.0.0
dev: true
+ /fs-extra@7.0.1:
+ resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
+ engines: {node: '>=6 <7 || >=8'}
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
+ dev: true
+
/fs-extra@8.1.0:
resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
engines: {node: '>=6 <7 || >=8'}
@@ -5375,6 +6555,15 @@ packages:
engines: {node: '>=6.9.0'}
dev: true
+ /get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+ dev: true
+
+ /get-func-name@2.0.0:
+ resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
+ dev: true
+
/get-intrinsic@1.2.1:
resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==}
dependencies:
@@ -5552,6 +6741,13 @@ packages:
through2: 2.0.5
dev: true
+ /gzip-size@3.0.0:
+ resolution: {integrity: sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==}
+ engines: {node: '>=0.12.0'}
+ dependencies:
+ duplexer: 0.1.2
+ dev: true
+
/gzip-size@6.0.0:
resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
engines: {node: '>=10'}
@@ -5559,6 +6755,18 @@ packages:
duplexer: 0.1.2
dev: true
+ /hard-rejection@2.1.0:
+ resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /has-ansi@2.0.0:
+ resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+
/has-bigints@1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
dev: true
@@ -5640,6 +6848,10 @@ packages:
resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
dev: true
+ /hex-rgb@4.3.0:
+ resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==}
+ engines: {node: '>=6'}
+
/hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
dev: true
@@ -5697,6 +6909,10 @@ packages:
- supports-color
dev: true
+ /human-id@1.0.2:
+ resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==}
+ dev: true
+
/human-signals@2.1.0:
resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
engines: {node: '>=10.17.0'}
@@ -5720,6 +6936,10 @@ packages:
safer-buffer: 2.1.2
dev: true
+ /icss-replace-symbols@1.1.0:
+ resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==}
+ dev: true
+
/icss-utils@5.1.0(postcss@8.4.24):
resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
engines: {node: ^10 || ^12 || >= 14}
@@ -5742,6 +6962,13 @@ packages:
resolution: {integrity: sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==}
dev: true
+ /import-cwd@3.0.0:
+ resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==}
+ engines: {node: '>=8'}
+ dependencies:
+ import-from: 3.0.0
+ dev: true
+
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@@ -5750,6 +6977,13 @@ packages:
resolve-from: 4.0.0
dev: true
+ /import-from@3.0.0:
+ resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ resolve-from: 5.0.0
+ dev: true
+
/import-meta-resolve@2.2.2:
resolution: {integrity: sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==}
dev: true
@@ -5903,6 +7137,13 @@ packages:
engines: {node: '>= 0.4'}
dev: true
+ /is-ci@3.0.1:
+ resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==}
+ hasBin: true
+ dependencies:
+ ci-info: 3.8.0
+ dev: true
+
/is-core-module@2.12.1:
resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
dependencies:
@@ -5928,6 +7169,12 @@ packages:
resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==}
dev: true
+ /is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dev: true
+
/is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'}
@@ -5963,6 +7210,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+ dev: true
+
/is-negative-zero@2.0.2:
resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
engines: {node: '>= 0.4'}
@@ -5990,6 +7241,11 @@ packages:
engines: {node: '>=8'}
dev: true
+ /is-plain-obj@1.1.0:
+ resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/is-plain-obj@2.1.0:
resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==}
engines: {node: '>=8'}
@@ -6005,6 +7261,12 @@ packages:
engines: {node: '>=12'}
dev: true
+ /is-reference@1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ dependencies:
+ '@types/estree': 1.0.1
+ dev: true
+
/is-reference@3.0.1:
resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==}
dependencies:
@@ -6037,6 +7299,13 @@ packages:
has-tostringtag: 1.0.0
dev: true
+ /is-subdir@1.2.0:
+ resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
+ engines: {node: '>=4'}
+ dependencies:
+ better-path-resolve: 1.0.0
+ dev: true
+
/is-symbol@1.0.4:
resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
engines: {node: '>= 0.4'}
@@ -6066,6 +7335,18 @@ packages:
call-bind: 1.0.2
dev: true
+ /is-windows@1.0.2:
+ resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+ dependencies:
+ is-docker: 2.2.1
+ dev: true
+
/isarray@0.0.1:
resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==}
dev: true
@@ -6078,19 +7359,52 @@ packages:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
dev: true
+ /jake@10.8.7:
+ resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ async: 3.2.4
+ chalk: 4.1.2
+ filelist: 1.0.4
+ minimatch: 3.1.2
+ dev: true
+
/javascript-stringify@2.1.0:
resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==}
dev: true
+ /jest-worker@26.6.2:
+ resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
+ engines: {node: '>= 10.13.0'}
+ dependencies:
+ '@types/node': 20.3.1
+ merge-stream: 2.0.0
+ supports-color: 7.2.0
+ dev: true
+
/jiti@1.18.2:
resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
hasBin: true
dev: true
+ /js-string-escape@1.0.1:
+ resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==}
+ engines: {node: '>= 0.8'}
+ dev: true
+
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
dev: true
+ /js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+ dev: true
+
/js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
@@ -6159,10 +7473,10 @@ packages:
resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- acorn: 8.8.2
+ acorn: 8.9.0
eslint-visitor-keys: 3.4.1
espree: 9.5.2
- semver: 7.5.1
+ semver: 7.5.3
dev: true
/jsonc-parser@3.2.0:
@@ -6189,6 +7503,11 @@ packages:
json-buffer: 3.0.1
dev: true
+ /kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/kleur@4.1.5:
resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
engines: {node: '>=6'}
@@ -6223,10 +7542,26 @@ packages:
engines: {node: '>=10'}
dev: true
+ /linebreak@1.1.0:
+ resolution: {integrity: sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==}
+ dependencies:
+ base64-js: 0.0.8
+ unicode-trie: 2.0.0
+
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
+ /load-yaml-file@0.2.0:
+ resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==}
+ engines: {node: '>=6'}
+ dependencies:
+ graceful-fs: 4.2.11
+ js-yaml: 3.14.1
+ pify: 4.0.1
+ strip-bom: 3.0.0
+ dev: true
+
/loader-utils@2.0.4:
resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
engines: {node: '>=8.9.0'}
@@ -6268,10 +7603,22 @@ packages:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
dev: true
+ /lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+ dev: true
+
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
+ /lodash.startcase@4.4.0:
+ resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
+ dev: true
+
+ /lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+ dev: true
+
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true
@@ -6288,11 +7635,24 @@ packages:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
dev: true
+ /loupe@2.3.6:
+ resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==}
+ dependencies:
+ get-func-name: 2.0.0
+ dev: true
+
/lowercase-keys@2.0.0:
resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==}
engines: {node: '>=8'}
dev: true
+ /lru-cache@4.1.5:
+ resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
+ dependencies:
+ pseudomap: 1.0.2
+ yallist: 2.1.2
+ dev: true
+
/lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
dependencies:
@@ -6311,6 +7671,12 @@ packages:
engines: {node: '>=12'}
dev: true
+ /magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+ dependencies:
+ sourcemap-codec: 1.4.8
+ dev: true
+
/magic-string@0.27.0:
resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
engines: {node: '>=12'}
@@ -6329,18 +7695,45 @@ packages:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'}
dependencies:
- semver: 6.1.1
+ semver: 6.3.0
dev: true
/make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
dev: true
+ /map-obj@1.0.1:
+ resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
+ /map-obj@4.3.0:
+ resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
+ engines: {node: '>=8'}
+ dev: true
+
/markdown-extensions@1.1.1:
resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==}
engines: {node: '>=0.10.0'}
dev: true
+ /maxmin@2.1.0:
+ resolution: {integrity: sha512-NWlApBjW9az9qRPaeg7CX4sQBWwytqz32bIEo1PW9pRW+kBP9KLRfJO3UC+TV31EcQZEUq7eMzikC7zt3zPJcw==}
+ engines: {node: '>=0.12'}
+ dependencies:
+ chalk: 1.1.3
+ figures: 1.7.0
+ gzip-size: 3.0.0
+ pretty-bytes: 3.0.1
+ dev: true
+
+ /md5-hex@3.0.1:
+ resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==}
+ engines: {node: '>=8'}
+ dependencies:
+ blueimp-md5: 2.19.0
+ dev: true
+
/mdast-util-definitions@5.1.2:
resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==}
dependencies:
@@ -6479,6 +7872,10 @@ packages:
'@types/mdast': 3.0.11
dev: true
+ /mdn-data@2.0.14:
+ resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
+ dev: true
+
/mdn-data@2.0.28:
resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==}
dev: true
@@ -6514,6 +7911,23 @@ packages:
engines: {node: '>= 0.6'}
dev: true
+ /meow@6.1.1:
+ resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==}
+ engines: {node: '>=8'}
+ dependencies:
+ '@types/minimist': 1.2.2
+ camelcase-keys: 6.2.2
+ decamelize-keys: 1.1.1
+ hard-rejection: 2.1.0
+ minimist-options: 4.1.0
+ normalize-package-data: 2.5.0
+ read-pkg-up: 7.0.1
+ redent: 3.0.0
+ trim-newlines: 3.0.1
+ type-fest: 0.13.1
+ yargs-parser: 18.1.3
+ dev: true
+
/merge-descriptors@1.0.1:
resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
dev: true
@@ -6532,6 +7946,58 @@ packages:
engines: {node: '>= 0.6'}
dev: true
+ /microbundle@0.15.1:
+ resolution: {integrity: sha512-aAF+nwFbkSIJGfrJk+HyzmJOq3KFaimH6OIFBU6J2DPjQeg1jXIYlIyEv81Gyisb9moUkudn+wj7zLNYMOv75Q==}
+ hasBin: true
+ dependencies:
+ '@babel/core': 7.22.5
+ '@babel/plugin-proposal-class-properties': 7.12.1(@babel/core@7.22.5)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.5)
+ '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-react-jsx': 7.22.5(@babel/core@7.22.5)
+ '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.22.5)
+ '@babel/preset-env': 7.22.5(@babel/core@7.22.5)
+ '@babel/preset-flow': 7.22.5(@babel/core@7.22.5)
+ '@babel/preset-react': 7.22.5(@babel/core@7.22.5)
+ '@rollup/plugin-alias': 3.1.9(rollup@2.79.1)
+ '@rollup/plugin-babel': 5.3.1(@babel/core@7.22.5)(rollup@2.79.1)
+ '@rollup/plugin-commonjs': 17.1.0(rollup@2.79.1)
+ '@rollup/plugin-json': 4.1.0(rollup@2.79.1)
+ '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1)
+ '@surma/rollup-plugin-off-main-thread': 2.2.3
+ asyncro: 3.0.0
+ autoprefixer: 10.4.14(postcss@8.4.24)
+ babel-plugin-macros: 3.1.0
+ babel-plugin-transform-async-to-promises: 0.8.18
+ babel-plugin-transform-replace-expressions: 0.2.0(@babel/core@7.22.5)
+ brotli-size: 4.0.0
+ builtin-modules: 3.3.0
+ camelcase: 6.3.0
+ escape-string-regexp: 4.0.0
+ filesize: 6.4.0
+ gzip-size: 6.0.0
+ kleur: 4.1.5
+ lodash.merge: 4.6.2
+ postcss: 8.4.24
+ pretty-bytes: 5.6.0
+ rollup: 2.79.1
+ rollup-plugin-bundle-size: 1.0.3
+ rollup-plugin-postcss: 4.0.2(postcss@8.4.24)
+ rollup-plugin-terser: 7.0.2(rollup@2.79.1)
+ rollup-plugin-typescript2: 0.32.1(rollup@2.79.1)(typescript@4.9.5)
+ rollup-plugin-visualizer: 5.9.2(rollup@2.79.1)
+ sade: 1.8.1
+ terser: 5.18.1
+ tiny-glob: 0.2.9
+ tslib: 2.5.3
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - '@types/babel__core'
+ - supports-color
+ - ts-node
+ dev: true
+
/micromark-core-commonmark@1.1.0:
resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==}
dependencies:
@@ -6613,8 +8079,8 @@ packages:
/micromark-extension-mdxjs@1.0.1:
resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==}
dependencies:
- acorn: 8.8.2
- acorn-jsx: 5.3.2(acorn@8.8.2)
+ acorn: 8.9.0
+ acorn-jsx: 5.3.2(acorn@8.9.0)
micromark-extension-mdx-expression: 1.0.8
micromark-extension-mdx-jsx: 1.0.5
micromark-extension-mdx-md: 1.0.1
@@ -6870,6 +8336,13 @@ packages:
brace-expansion: 1.1.11
dev: true
+ /minimatch@5.1.6:
+ resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
+ engines: {node: '>=10'}
+ dependencies:
+ brace-expansion: 2.0.1
+ dev: true
+
/minimatch@9.0.1:
resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -6877,6 +8350,15 @@ packages:
brace-expansion: 2.0.1
dev: true
+ /minimist-options@4.1.0:
+ resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
+ engines: {node: '>= 6'}
+ dependencies:
+ arrify: 1.0.1
+ is-plain-obj: 1.1.0
+ kind-of: 6.0.3
+ dev: true
+
/minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
dev: true
@@ -6922,6 +8404,11 @@ packages:
yallist: 4.0.0
dev: true
+ /mixme@0.5.9:
+ resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==}
+ engines: {node: '>= 8.0.0'}
+ dev: true
+
/mkdirp-classic@0.5.3:
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
dev: true
@@ -6939,10 +8426,10 @@ packages:
hasBin: true
dev: true
- /mlly@1.3.0:
- resolution: {integrity: sha512-HT5mcgIQKkOrZecOjOX3DJorTikWXwsBfpcr/MGBkhfWcjiqvnaL/9ppxvIUXfjT6xt4DVIAsN9fMUz1ev4bIw==}
+ /mlly@1.4.0:
+ resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==}
dependencies:
- acorn: 8.8.2
+ acorn: 8.9.0
pathe: 1.1.1
pkg-types: 1.0.3
ufo: 1.1.2
@@ -7062,6 +8549,11 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/normalize-url@6.1.0:
resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
engines: {node: '>=10'}
@@ -7089,6 +8581,11 @@ packages:
boolbase: 1.0.0
dev: true
+ /number-is-nan@1.0.1:
+ resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
@@ -7150,6 +8647,15 @@ packages:
mimic-fn: 2.1.0
dev: true
+ /open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+ dev: true
+
/optionator@0.8.3:
resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==}
engines: {node: '>= 0.8.0'}
@@ -7194,6 +8700,10 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /outdent@0.5.0:
+ resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
+ dev: true
+
/outdent@0.8.0:
resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==}
dev: true
@@ -7203,6 +8713,18 @@ packages:
engines: {node: '>=8'}
dev: true
+ /p-filter@2.1.0:
+ resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-map: 2.1.0
+ dev: true
+
+ /p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+ dev: true
+
/p-limit@2.3.0:
resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
engines: {node: '>=6'}
@@ -7217,6 +8739,13 @@ packages:
yocto-queue: 0.1.0
dev: true
+ /p-limit@4.0.0:
+ resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ yocto-queue: 1.0.0
+ dev: true
+
/p-locate@4.1.0:
resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
engines: {node: '>=8'}
@@ -7231,6 +8760,11 @@ packages:
p-limit: 3.1.0
dev: true
+ /p-map@2.1.0:
+ resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
+ engines: {node: '>=6'}
+ dev: true
+
/p-map@4.0.0:
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
engines: {node: '>=10'}
@@ -7238,6 +8772,21 @@ packages:
aggregate-error: 3.1.0
dev: true
+ /p-queue@6.6.2:
+ resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ eventemitter3: 4.0.7
+ p-timeout: 3.2.0
+ dev: true
+
+ /p-timeout@3.2.0:
+ resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
+ engines: {node: '>=8'}
+ dependencies:
+ p-finally: 1.0.0
+ dev: true
+
/p-try@2.2.0:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
@@ -7271,7 +8820,6 @@ packages:
/pako@0.2.9:
resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==}
- dev: true
/parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
@@ -7280,6 +8828,12 @@ packages:
callsites: 3.1.0
dev: true
+ /parse-css-color@0.2.1:
+ resolution: {integrity: sha512-bwS/GGIFV3b6KS4uwpzCFj4w297Yl3uqnSgIPsoQkx7GMLROXfMnWvxfNkL0oh8HVhZA4hvJoEoEIqonfJ3BWg==}
+ dependencies:
+ color-name: 1.1.4
+ hex-rgb: 4.3.0
+
/parse-entities@2.0.0:
resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
dependencies:
@@ -7368,6 +8922,10 @@ packages:
resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==}
dev: true
+ /pathval@1.1.1:
+ resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
+ dev: true
+
/peek-stream@1.1.3:
resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==}
dependencies:
@@ -7397,11 +8955,28 @@ packages:
engines: {node: '>=8.6'}
dev: true
+ /pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+ dev: true
+
+ /pify@5.0.0:
+ resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+ dependencies:
+ find-up: 4.1.0
+ dev: true
+
/pkg-types@1.0.3:
resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==}
dependencies:
jsonc-parser: 3.2.0
- mlly: 1.3.0
+ mlly: 1.4.0
pathe: 1.1.1
dev: true
@@ -7410,6 +8985,49 @@ packages:
engines: {node: '>=4'}
dev: true
+ /postcss-calc@8.2.4(postcss@8.4.24):
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+ dependencies:
+ postcss: 8.4.24
+ postcss-selector-parser: 6.0.13
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-colormin@5.3.1(postcss@8.4.24):
+ resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.9
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-convert-values@5.1.3(postcss@8.4.24):
+ resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.9
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-discard-comments@5.1.2(postcss@8.4.24):
+ resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ dev: true
+
/postcss-discard-duplicates@5.1.0(postcss@8.4.24):
resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
engines: {node: ^10 || ^12 || >=14.0}
@@ -7419,6 +9037,24 @@ packages:
postcss: 8.4.24
dev: true
+ /postcss-discard-empty@5.1.1(postcss@8.4.24):
+ resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ dev: true
+
+ /postcss-discard-overridden@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ dev: true
+
/postcss-load-config@3.1.4(postcss@8.4.24):
resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
engines: {node: '>= 10'}
@@ -7453,6 +9089,74 @@ packages:
yaml: 2.3.1
dev: true
+ /postcss-merge-longhand@5.1.7(postcss@8.4.24):
+ resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ stylehacks: 5.1.1(postcss@8.4.24)
+ dev: true
+
+ /postcss-merge-rules@5.1.4(postcss@8.4.24):
+ resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.9
+ caniuse-api: 3.0.0
+ cssnano-utils: 3.1.0(postcss@8.4.24)
+ postcss: 8.4.24
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /postcss-minify-font-values@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-gradients@5.1.1(postcss@8.4.24):
+ resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 3.1.0(postcss@8.4.24)
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-params@5.1.4(postcss@8.4.24):
+ resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.9
+ cssnano-utils: 3.1.0(postcss@8.4.24)
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-minify-selectors@5.2.1(postcss@8.4.24):
+ resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-selector-parser: 6.0.13
+ dev: true
+
/postcss-modules-extract-imports@3.0.0(postcss@8.4.24):
resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
engines: {node: ^10 || ^12 || >= 14}
@@ -7494,6 +9198,22 @@ packages:
postcss: 8.4.24
dev: true
+ /postcss-modules@4.3.1(postcss@8.4.24):
+ resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==}
+ peerDependencies:
+ postcss: ^8.0.0
+ dependencies:
+ generic-names: 4.0.0
+ icss-replace-symbols: 1.1.0
+ lodash.camelcase: 4.3.0
+ postcss: 8.4.24
+ postcss-modules-extract-imports: 3.0.0(postcss@8.4.24)
+ postcss-modules-local-by-default: 4.0.3(postcss@8.4.24)
+ postcss-modules-scope: 3.0.0(postcss@8.4.24)
+ postcss-modules-values: 4.0.0(postcss@8.4.24)
+ string-hash: 1.1.3
+ dev: true
+
/postcss-modules@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==}
peerDependencies:
@@ -7510,6 +9230,129 @@ packages:
string-hash: 1.1.3
dev: true
+ /postcss-normalize-charset@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ dev: true
+
+ /postcss-normalize-display-values@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-positions@5.1.1(postcss@8.4.24):
+ resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-repeat-style@5.1.1(postcss@8.4.24):
+ resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-string@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-timing-functions@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-unicode@5.1.1(postcss@8.4.24):
+ resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.9
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-url@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ normalize-url: 6.1.0
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-normalize-whitespace@5.1.1(postcss@8.4.24):
+ resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-ordered-values@5.1.3(postcss@8.4.24):
+ resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.4.24)
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
+ /postcss-reduce-initial@5.1.2(postcss@8.4.24):
+ resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.9
+ caniuse-api: 3.0.0
+ postcss: 8.4.24
+ dev: true
+
+ /postcss-reduce-transforms@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ dev: true
+
/postcss-safe-parser@6.0.0(postcss@8.4.24):
resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==}
engines: {node: '>=12.0'}
@@ -7527,9 +9370,29 @@ packages:
util-deprecate: 1.0.2
dev: true
+ /postcss-svgo@5.1.0(postcss@8.4.24):
+ resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-value-parser: 4.2.0
+ svgo: 2.8.0
+ dev: true
+
+ /postcss-unique-selectors@5.1.1(postcss@8.4.24):
+ resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ postcss: 8.4.24
+ postcss-selector-parser: 6.0.13
+ dev: true
+
/postcss-value-parser@4.2.0:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
- dev: true
/postcss@8.4.24:
resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
@@ -7540,6 +9403,16 @@ packages:
source-map-js: 1.0.2
dev: true
+ /preferred-pm@3.0.3:
+ resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==}
+ engines: {node: '>=10'}
+ dependencies:
+ find-up: 5.0.0
+ find-yarn-workspace-root2: 1.2.16
+ path-exists: 4.0.0
+ which-pm: 2.0.0
+ dev: true
+
/prelude-ls@1.1.2:
resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==}
engines: {node: '>= 0.8.0'}
@@ -7556,11 +9429,27 @@ packages:
hasBin: true
dev: true
+ /pretty-bytes@3.0.1:
+ resolution: {integrity: sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ number-is-nan: 1.0.1
+ dev: true
+
/pretty-bytes@5.6.0:
resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
engines: {node: '>=6'}
dev: true
+ /pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+ dev: true
+
/pretty-ms@7.0.1:
resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==}
engines: {node: '>=10'}
@@ -7590,6 +9479,11 @@ packages:
optional: true
dev: true
+ /promise.series@0.2.0:
+ resolution: {integrity: sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==}
+ engines: {node: '>=0.12'}
+ dev: true
+
/property-information@6.2.0:
resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==}
dev: true
@@ -7622,6 +9516,10 @@ packages:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
dev: true
+ /pseudomap@1.0.2:
+ resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
+ dev: true
+
/pump@2.0.1:
resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==}
dependencies:
@@ -7665,11 +9563,22 @@ packages:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
dev: true
+ /quick-lru@4.0.1:
+ resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==}
+ engines: {node: '>=8'}
+ dev: true
+
/quick-lru@5.1.1:
resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
engines: {node: '>=10'}
dev: true
+ /randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+ dependencies:
+ safe-buffer: 5.2.1
+ dev: true
+
/range-parser@1.2.1:
resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
engines: {node: '>= 0.6'}
@@ -7695,6 +9604,10 @@ packages:
unpipe: 1.0.0
dev: true
+ /react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+ dev: true
+
/react-refresh@0.14.0:
resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
engines: {node: '>=0.10.0'}
@@ -7719,6 +9632,16 @@ packages:
type-fest: 0.6.0
dev: true
+ /read-yaml-file@1.1.0:
+ resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
+ engines: {node: '>=6'}
+ dependencies:
+ graceful-fs: 4.2.11
+ js-yaml: 3.14.1
+ pify: 4.0.1
+ strip-bom: 3.0.0
+ dev: true
+
/readable-stream@1.1.14:
resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
dependencies:
@@ -7766,6 +9689,14 @@ packages:
tslib: 2.5.3
dev: true
+ /redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
+ dependencies:
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
+ dev: true
+
/regenerate-unicode-properties@10.1.0:
resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==}
engines: {node: '>=4'}
@@ -7877,6 +9808,11 @@ packages:
unified: 10.1.2
dev: true
+ /require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/require-from-string@2.0.2:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
@@ -7886,6 +9822,10 @@ packages:
resolution: {integrity: sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==}
dev: true
+ /require-main-filename@2.0.0:
+ resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
+ dev: true
+
/resolve-alpn@1.2.1:
resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==}
dev: true
@@ -7942,6 +9882,96 @@ packages:
glob: 7.2.3
dev: true
+ /rollup-plugin-bundle-size@1.0.3:
+ resolution: {integrity: sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ==}
+ dependencies:
+ chalk: 1.1.3
+ maxmin: 2.1.0
+ dev: true
+
+ /rollup-plugin-postcss@4.0.2(postcss@8.4.24):
+ resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ postcss: 8.x
+ dependencies:
+ chalk: 4.1.2
+ concat-with-sourcemaps: 1.1.0
+ cssnano: 5.1.15(postcss@8.4.24)
+ import-cwd: 3.0.0
+ p-queue: 6.6.2
+ pify: 5.0.0
+ postcss: 8.4.24
+ postcss-load-config: 3.1.4(postcss@8.4.24)
+ postcss-modules: 4.3.1(postcss@8.4.24)
+ promise.series: 0.2.0
+ resolve: 1.22.2
+ rollup-pluginutils: 2.8.2
+ safe-identifier: 0.4.2
+ style-inject: 0.3.0
+ transitivePeerDependencies:
+ - ts-node
+ dev: true
+
+ /rollup-plugin-terser@7.0.2(rollup@2.79.1):
+ resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
+ peerDependencies:
+ rollup: ^2.0.0
+ dependencies:
+ '@babel/code-frame': 7.22.5
+ jest-worker: 26.6.2
+ rollup: 2.79.1
+ serialize-javascript: 4.0.0
+ terser: 5.18.1
+ dev: true
+
+ /rollup-plugin-typescript2@0.32.1(rollup@2.79.1)(typescript@4.9.5):
+ resolution: {integrity: sha512-RanO8bp1WbeMv0bVlgcbsFNCn+Y3rX7wF97SQLDxf0fMLsg0B/QFF005t4AsGUcDgF3aKJHoqt4JF2xVaABeKw==}
+ peerDependencies:
+ rollup: '>=1.26.3'
+ typescript: '>=2.4.0'
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ find-cache-dir: 3.3.2
+ fs-extra: 10.1.0
+ resolve: 1.22.2
+ rollup: 2.79.1
+ tslib: 2.5.3
+ typescript: 4.9.5
+ dev: true
+
+ /rollup-plugin-visualizer@5.9.2(rollup@2.79.1):
+ resolution: {integrity: sha512-waHktD5mlWrYFrhOLbti4YgQCn1uR24nYsNuXxg7LkPH8KdTXVWR9DNY1WU0QqokyMixVXJS4J04HNrVTMP01A==}
+ engines: {node: '>=14'}
+ hasBin: true
+ peerDependencies:
+ rollup: 2.x || 3.x
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ dependencies:
+ open: 8.4.2
+ picomatch: 2.3.1
+ rollup: 2.79.1
+ source-map: 0.7.4
+ yargs: 17.7.2
+ dev: true
+
+ /rollup-pluginutils@2.8.2:
+ resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
+ dependencies:
+ estree-walker: 0.6.1
+ dev: true
+
+ /rollup@2.79.1:
+ resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
/rollup@3.25.1:
resolution: {integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
@@ -7982,6 +10012,10 @@ packages:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
dev: true
+ /safe-identifier@0.4.2:
+ resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==}
+ dev: true
+
/safe-regex-test@1.0.0:
resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
dependencies:
@@ -8009,8 +10043,8 @@ packages:
rimraf: 2.7.1
dev: true
- /sass@1.63.4:
- resolution: {integrity: sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==}
+ /sass@1.63.6:
+ resolution: {integrity: sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
@@ -8019,6 +10053,27 @@ packages:
source-map-js: 1.0.2
dev: true
+ /satori-html@0.3.2:
+ resolution: {integrity: sha512-wjTh14iqADFKDK80e51/98MplTGfxz2RmIzh0GqShlf4a67+BooLywF17TvJPD6phO0Hxm7Mf1N5LtRYvdkYRA==}
+ dependencies:
+ ultrahtml: 1.2.0
+ dev: false
+
+ /satori@0.10.1:
+ resolution: {integrity: sha512-F4bTCkDp931tLb7+UCNPBuSQwXhikrUkI4fBQo6fA8lF0Evqqgg3nDyUpRktQpR5Ry1DIiIVqLyEwkAms87ykg==}
+ engines: {node: '>=16'}
+ dependencies:
+ '@shuding/opentype.js': 1.4.0-beta.0
+ css-background-parser: 0.1.0
+ css-box-shadow: 1.0.0-3
+ css-to-react-native: 3.2.0
+ emoji-regex: 10.2.1
+ escape-html: 1.0.3
+ linebreak: 1.1.0
+ parse-css-color: 0.2.1
+ postcss-value-parser: 4.2.0
+ yoga-wasm-web: 0.3.3
+
/scule@1.0.0:
resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==}
dev: true
@@ -8054,6 +10109,14 @@ packages:
lru-cache: 6.0.0
dev: true
+ /semver@7.5.3:
+ resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
/send@0.18.0:
resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
engines: {node: '>= 0.8.0'}
@@ -8075,6 +10138,12 @@ packages:
- supports-color
dev: true
+ /serialize-javascript@4.0.0:
+ resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
+ dependencies:
+ randombytes: 2.1.0
+ dev: true
+
/serve-static@1.15.0:
resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
engines: {node: '>= 0.8.0'}
@@ -8099,6 +10168,13 @@ packages:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
dev: true
+ /shebang-command@1.2.0:
+ resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ shebang-regex: 1.0.0
+ dev: true
+
/shebang-command@2.0.0:
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
engines: {node: '>=8'}
@@ -8106,6 +10182,11 @@ packages:
shebang-regex: 3.0.0
dev: true
+ /shebang-regex@1.0.0:
+ resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
+ engines: {node: '>=0.10.0'}
+ dev: true
+
/shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
@@ -8119,6 +10200,10 @@ packages:
object-inspect: 1.12.3
dev: true
+ /siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ dev: true
+
/signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
dev: true
@@ -8142,6 +10227,19 @@ packages:
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
dev: true
+ /smartwrap@2.0.2:
+ resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==}
+ engines: {node: '>=6'}
+ hasBin: true
+ dependencies:
+ array.prototype.flat: 1.3.1
+ breakword: 1.0.6
+ grapheme-splitter: 1.0.4
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+ yargs: 15.4.1
+ dev: true
+
/socks-proxy-agent@5.0.1:
resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==}
engines: {node: '>= 6'}
@@ -8209,10 +10307,22 @@ packages:
engines: {node: '>= 8'}
dev: true
+ /sourcemap-codec@1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+ dev: true
+
/space-separated-tokens@2.0.2:
resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
dev: true
+ /spawndamnit@2.0.0:
+ resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==}
+ dependencies:
+ cross-spawn: 5.1.0
+ signal-exit: 3.0.7
+ dev: true
+
/spdx-correct@3.2.0:
resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
dependencies:
@@ -8235,6 +10345,10 @@ packages:
resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==}
dev: true
+ /sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+ dev: true
+
/ssri@8.0.1:
resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==}
engines: {node: '>= 8'}
@@ -8242,15 +10356,34 @@ packages:
minipass: 3.3.6
dev: true
+ /stable@0.1.8:
+ resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+ dev: true
+
+ /stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+ dev: true
+
/statuses@2.0.1:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
dev: true
+ /std-env@3.3.3:
+ resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==}
+ dev: true
+
/stream-shift@1.0.1:
resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==}
dev: true
+ /stream-transform@2.1.3:
+ resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==}
+ dependencies:
+ mixme: 0.5.9
+ dev: true
+
/streamsearch@1.1.0:
resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
engines: {node: '>=10.0.0'}
@@ -8269,6 +10402,22 @@ packages:
strip-ansi: 6.0.1
dev: true
+ /string.prototype.codepointat@0.2.1:
+ resolution: {integrity: sha512-2cBVCj6I4IOvEnjgO/hWqXjqBGsY+zwPmHl12Srk9IXSZ56Jwwmy+66XO5Iut/oQVR7t5ihYdLB0GMa4alEUcg==}
+
+ /string.prototype.matchall@4.0.8:
+ resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==}
+ dependencies:
+ call-bind: 1.0.2
+ define-properties: 1.2.0
+ es-abstract: 1.21.2
+ get-intrinsic: 1.2.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.5
+ regexp.prototype.flags: 1.5.0
+ side-channel: 1.0.4
+ dev: true
+
/string.prototype.trim@1.2.7:
resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==}
engines: {node: '>= 0.4'}
@@ -8317,6 +10466,13 @@ packages:
character-entities-legacy: 3.0.0
dev: true
+ /strip-ansi@3.0.1:
+ resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
+ engines: {node: '>=0.10.0'}
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -8349,7 +10505,11 @@ packages:
/strip-literal@1.0.1:
resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==}
dependencies:
- acorn: 8.8.2
+ acorn: 8.9.0
+ dev: true
+
+ /style-inject@0.3.0:
+ resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==}
dev: true
/style-to-object@0.4.1:
@@ -8358,6 +10518,22 @@ packages:
inline-style-parser: 0.1.1
dev: true
+ /stylehacks@5.1.1(postcss@8.4.24):
+ resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+ dependencies:
+ browserslist: 4.21.9
+ postcss: 8.4.24
+ postcss-selector-parser: 6.0.13
+ dev: true
+
+ /supports-color@2.0.0:
+ resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
+ engines: {node: '>=0.8.0'}
+ dev: true
+
/supports-color@5.5.0:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
@@ -8377,7 +10553,7 @@ packages:
engines: {node: '>= 0.4'}
dev: true
- /svelte-check@3.4.3(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1):
+ /svelte-check@3.4.3(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.6)(svelte@3.59.1):
resolution: {integrity: sha512-O07soQFY3X0VDt+bcGc6D5naz0cLtjwnmNP9JsEBPVyMemFEqUhL2OdLqvkl5H/u8Jwm50EiAU4BPRn5iin/kg==}
hasBin: true
peerDependencies:
@@ -8390,7 +10566,7 @@ packages:
picocolors: 1.0.0
sade: 1.8.1
svelte: 3.59.1
- svelte-preprocess: 5.0.4(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1)(typescript@5.1.3)
+ svelte-preprocess: 5.0.4(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.6)(svelte@3.59.1)(typescript@5.1.3)
typescript: 5.1.3
transitivePeerDependencies:
- '@babel/core'
@@ -8427,7 +10603,7 @@ packages:
svelte: 3.59.1
dev: true
- /svelte-preprocess@5.0.4(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.4)(svelte@3.59.1)(typescript@5.1.3):
+ /svelte-preprocess@5.0.4(@babel/core@7.22.5)(postcss@8.4.24)(sass@1.63.6)(svelte@3.59.1)(typescript@5.1.3):
resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==}
engines: {node: '>= 14.10.0'}
requiresBuild: true
@@ -8470,7 +10646,7 @@ packages:
detect-indent: 6.1.0
magic-string: 0.27.0
postcss: 8.4.24
- sass: 1.63.4
+ sass: 1.63.6
sorcery: 0.11.0
strip-indent: 3.0.0
svelte: 3.59.1
@@ -8482,6 +10658,20 @@ packages:
engines: {node: '>= 8'}
dev: true
+ /svgo@2.8.0:
+ resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.0.0
+ stable: 0.1.8
+ dev: true
+
/svgo@3.0.2:
resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==}
engines: {node: '>=14.0.0'}
@@ -8527,6 +10717,22 @@ packages:
yallist: 4.0.0
dev: true
+ /term-size@2.2.1:
+ resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /terser@5.18.1:
+ resolution: {integrity: sha512-j1n0Ao919h/Ai5r43VAnfV/7azUYW43GPxK7qSATzrsERfW7+y2QW9Cp9ufnRF5CQUWbnLSo7UJokSWCqg4tsQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+ dependencies:
+ '@jridgewell/source-map': 0.3.3
+ acorn: 8.9.0
+ commander: 2.20.3
+ source-map-support: 0.5.21
+ dev: true
+
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
@@ -8549,6 +10755,11 @@ packages:
convert-hrtime: 3.0.0
dev: true
+ /time-zone@1.0.0:
+ resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==}
+ engines: {node: '>=4'}
+ dev: true
+
/tiny-glob@0.2.9:
resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
dependencies:
@@ -8556,6 +10767,23 @@ packages:
globrex: 0.1.2
dev: true
+ /tiny-inflate@1.0.3:
+ resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
+
+ /tinybench@2.5.0:
+ resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==}
+ dev: true
+
+ /tinypool@0.5.0:
+ resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
+ /tinyspy@2.1.1:
+ resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==}
+ engines: {node: '>=14.0.0'}
+ dev: true
+
/tmp@0.0.33:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
engines: {node: '>=0.6.0'}
@@ -8593,6 +10821,11 @@ packages:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
dev: true
+ /trim-newlines@3.0.1:
+ resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==}
+ engines: {node: '>=8'}
+ dev: true
+
/trough@2.1.0:
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
dev: true
@@ -8624,7 +10857,7 @@ packages:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 14.18.33
- acorn: 8.8.2
+ acorn: 8.9.0
acorn-walk: 8.2.0
arg: 4.1.3
create-require: 1.1.1
@@ -8675,6 +10908,20 @@ packages:
typescript: 5.1.3
dev: true
+ /tty-table@4.2.1:
+ resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==}
+ engines: {node: '>=8.0.0'}
+ hasBin: true
+ dependencies:
+ chalk: 4.1.2
+ csv: 5.5.3
+ kleur: 4.1.5
+ smartwrap: 2.0.2
+ strip-ansi: 6.0.1
+ wcwidth: 1.0.1
+ yargs: 17.7.2
+ dev: true
+
/turbo-darwin-64@1.10.3:
resolution: {integrity: sha512-IIB9IomJGyD3EdpSscm7Ip1xVWtYb7D0x7oH3vad3gjFcjHJzDz9xZ/iw/qItFEW+wGFcLSRPd+1BNnuLM8AsA==}
cpu: [x64]
@@ -8750,6 +10997,16 @@ packages:
prelude-ls: 1.2.1
dev: true
+ /type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+ dev: true
+
+ /type-fest@0.13.1:
+ resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==}
+ engines: {node: '>=10'}
+ dev: true
+
/type-fest@0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
@@ -8802,6 +11059,10 @@ packages:
resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==}
dev: true
+ /ultrahtml@1.2.0:
+ resolution: {integrity: sha512-vxZM2yNvajRmCj/SknRYGNXk2tqiy6kRNvZjJLaleG3zJbSh/aNkOqD1/CVzypw8tyHyhpzYuwQgMMhUB4ZVNQ==}
+ dev: false
+
/unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
dependencies:
@@ -8849,6 +11110,12 @@ packages:
engines: {node: '>=4'}
dev: true
+ /unicode-trie@2.0.0:
+ resolution: {integrity: sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==}
+ dependencies:
+ pako: 0.2.9
+ tiny-inflate: 1.0.3
+
/unified@10.1.2:
resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
dependencies:
@@ -8869,7 +11136,7 @@ packages:
fast-glob: 3.2.12
local-pkg: 0.4.3
magic-string: 0.30.0
- mlly: 1.3.0
+ mlly: 1.4.0
pathe: 1.1.1
pkg-types: 1.0.3
scule: 1.0.0
@@ -9063,7 +11330,7 @@ packages:
/unplugin@1.3.1:
resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==}
dependencies:
- acorn: 8.8.2
+ acorn: 8.9.0
chokidar: 3.5.3
webpack-sources: 3.2.3
webpack-virtual-modules: 0.5.0
@@ -9186,12 +11453,12 @@ packages:
dependencies:
cac: 6.7.14
debug: 4.3.4
- mlly: 1.3.0
+ mlly: 1.4.0
pathe: 1.1.1
picocolors: 1.0.0
source-map: 0.6.1
source-map-support: 0.5.21
- vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ vite: 4.3.9(@types/node@14.18.33)
transitivePeerDependencies:
- '@types/node'
- less
@@ -9202,7 +11469,28 @@ packages:
- terser
dev: true
- /vite@4.3.9(@types/node@14.18.33)(sass@1.63.4):
+ /vite-node@0.32.2(@types/node@20.3.1):
+ resolution: {integrity: sha512-dTQ1DCLwl2aEseov7cfQ+kDMNJpM1ebpyMMMwWzBvLbis8Nla/6c9WQcqpPssTwS6Rp/+U6KwlIj8Eapw4bLdA==}
+ engines: {node: '>=v14.18.0'}
+ hasBin: true
+ dependencies:
+ cac: 6.7.14
+ debug: 4.3.4
+ mlly: 1.4.0
+ pathe: 1.1.1
+ picocolors: 1.0.0
+ vite: 4.3.9(@types/node@20.3.1)
+ transitivePeerDependencies:
+ - '@types/node'
+ - less
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ dev: true
+
+ /vite@4.3.9(@types/node@14.18.33):
resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
@@ -9231,7 +11519,73 @@ packages:
esbuild: 0.17.19
postcss: 8.4.24
rollup: 3.25.1
- sass: 1.63.4
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /vite@4.3.9(@types/node@14.18.33)(sass@1.63.6):
+ resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 14.18.33
+ esbuild: 0.17.19
+ postcss: 8.4.24
+ rollup: 3.25.1
+ sass: 1.63.6
+ optionalDependencies:
+ fsevents: 2.3.2
+ dev: true
+
+ /vite@4.3.9(@types/node@20.3.1):
+ resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>= 14'
+ less: '*'
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ dependencies:
+ '@types/node': 20.3.1
+ esbuild: 0.17.19
+ postcss: 8.4.24
+ rollup: 3.25.1
optionalDependencies:
fsevents: 2.3.2
dev: true
@@ -9244,7 +11598,72 @@ packages:
vite:
optional: true
dependencies:
- vite: 4.3.9(@types/node@14.18.33)(sass@1.63.4)
+ vite: 4.3.9(@types/node@14.18.33)(sass@1.63.6)
+ dev: true
+
+ /vitest@0.32.2:
+ resolution: {integrity: sha512-hU8GNNuQfwuQmqTLfiKcqEhZY72Zxb7nnN07koCUNmntNxbKQnVbeIS6sqUgR3eXSlbOpit8+/gr1KpqoMgWCQ==}
+ engines: {node: '>=v14.18.0'}
+ hasBin: true
+ 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
+ dependencies:
+ '@types/chai': 4.3.5
+ '@types/chai-subset': 1.3.3
+ '@types/node': 20.3.1
+ '@vitest/expect': 0.32.2
+ '@vitest/runner': 0.32.2
+ '@vitest/snapshot': 0.32.2
+ '@vitest/spy': 0.32.2
+ '@vitest/utils': 0.32.2
+ acorn: 8.9.0
+ acorn-walk: 8.2.0
+ cac: 6.7.14
+ chai: 4.3.7
+ concordance: 5.0.4
+ debug: 4.3.4
+ local-pkg: 0.4.3
+ magic-string: 0.30.0
+ pathe: 1.1.1
+ picocolors: 1.0.0
+ std-env: 3.3.3
+ strip-literal: 1.0.1
+ tinybench: 2.5.0
+ tinypool: 0.5.0
+ vite: 4.3.9(@types/node@20.3.1)
+ vite-node: 0.32.2(@types/node@20.3.1)
+ why-is-node-running: 2.2.2
+ transitivePeerDependencies:
+ - less
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
dev: true
/vm2@3.9.19:
@@ -9252,7 +11671,7 @@ packages:
engines: {node: '>=6.0'}
hasBin: true
dependencies:
- acorn: 8.8.2
+ acorn: 8.9.0
acorn-walk: 8.2.0
dev: true
@@ -9269,7 +11688,7 @@ packages:
espree: 9.5.2
esquery: 1.5.0
lodash: 4.17.21
- semver: 7.5.1
+ semver: 7.5.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -9297,6 +11716,11 @@ packages:
resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==}
dev: true
+ /well-known-symbols@2.0.0:
+ resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==}
+ engines: {node: '>=6'}
+ dev: true
+
/whatwg-url@5.0.0:
resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
dependencies:
@@ -9314,6 +11738,18 @@ packages:
is-symbol: 1.0.4
dev: true
+ /which-module@2.0.1:
+ resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+ dev: true
+
+ /which-pm@2.0.0:
+ resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==}
+ engines: {node: '>=8.15'}
+ dependencies:
+ load-yaml-file: 0.2.0
+ path-exists: 4.0.0
+ dev: true
+
/which-typed-array@1.1.9:
resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==}
engines: {node: '>= 0.4'}
@@ -9326,6 +11762,13 @@ packages:
is-typed-array: 1.1.10
dev: true
+ /which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
/which@2.0.2:
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
engines: {node: '>= 8'}
@@ -9334,6 +11777,15 @@ packages:
isexe: 2.0.0
dev: true
+ /why-is-node-running@2.2.2:
+ resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
+ engines: {node: '>=8'}
+ hasBin: true
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+ dev: true
+
/wide-align@1.1.5:
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
dependencies:
@@ -9345,6 +11797,15 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
+ /wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
/wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
@@ -9428,6 +11889,19 @@ packages:
engines: {node: '>=0.4'}
dev: true
+ /y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+ dev: true
+
+ /y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /yallist@2.1.2:
+ resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
+ dev: true
+
/yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
dev: true
@@ -9455,6 +11929,49 @@ packages:
engines: {node: '>= 14'}
dev: true
+ /yargs-parser@18.1.3:
+ resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
+ engines: {node: '>=6'}
+ dependencies:
+ camelcase: 5.3.1
+ decamelize: 1.2.0
+ dev: true
+
+ /yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+ dev: true
+
+ /yargs@15.4.1:
+ resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
+ engines: {node: '>=8'}
+ dependencies:
+ cliui: 6.0.0
+ decamelize: 1.2.0
+ find-up: 4.1.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ require-main-filename: 2.0.0
+ set-blocking: 2.0.0
+ string-width: 4.2.3
+ which-module: 2.0.1
+ y18n: 4.0.3
+ yargs-parser: 18.1.3
+ dev: true
+
+ /yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+ 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.8
+ yargs-parser: 21.1.1
+ dev: true
+
/yn@3.1.1:
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
engines: {node: '>=6'}
@@ -9465,6 +11982,14 @@ packages:
engines: {node: '>=10'}
dev: true
+ /yocto-queue@1.0.0:
+ resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
+ engines: {node: '>=12.20'}
+ dev: true
+
+ /yoga-wasm-web@0.3.3:
+ resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==}
+
/zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
dev: true
diff --git a/turbo.json b/turbo.json
index 2074674..0cf6678 100644
--- a/turbo.json
+++ b/turbo.json
@@ -2,16 +2,35 @@
"$schema": "https://turbo.build/schema.json",
"pipeline": {
"build": {
- "outputs": ["dist/**"]
+ "dependsOn": [
+ "^test",
+ "^build"
+ ],
+ "outputs": [
+ "dist/**"
+ ]
},
"lint": {},
+ "test": {
+ "dependsOn": [
+ "build"
+ ]
+ },
+ "test:watch": {
+ "persistent": true
+ },
"dev": {
- "dependsOn": ["^build"],
+ "dependsOn": [
+ "^build"
+ ],
"cache": false,
"persistent": true
},
"preview": {
- "dependsOn": ["^build"],
+ "dependsOn": [
+ "^build",
+ "build"
+ ],
"persistent": true
}
}
diff --git a/vitest.workspace.json b/vitest.workspace.json
new file mode 100644
index 0000000..089b886
--- /dev/null
+++ b/vitest.workspace.json
@@ -0,0 +1,4 @@
+[
+ "packages/*/vitest.config.{js,ts}",
+ "apps/*/vitest.config.{js,ts}"
+]