From e25c3174e1ea8e626cb5695a0db0819d82d791f1 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 13:35:56 +0100 Subject: [PATCH 01/15] feat: docs site --- .github/workflows/docs.yml | 50 + site/.gitignore | 27 + site/.vscode/extensions.json | 4 + site/.vscode/launch.json | 11 + site/AGENTS.md | 27 + site/CLAUDE.md | 1 + site/README.md | 49 + site/astro.config.mjs | 68 + site/package-lock.json | 6781 +++++++++++++++++ site/package.json | 20 + site/public/favicon.svg | 89 + site/scripts/sync-docs.mjs | 100 + site/src/assets/kaisel-mark.svg | 89 + site/src/content.config.ts | 7 + site/src/content/docs/getting-started.md | 78 + site/src/content/docs/index.mdx | 38 + .../content/docs/migration/from-navigator.md | 345 + site/src/styles/custom.css | 20 + site/tsconfig.json | 5 + 19 files changed, 7809 insertions(+) create mode 100644 .github/workflows/docs.yml create mode 100644 site/.gitignore create mode 100644 site/.vscode/extensions.json create mode 100644 site/.vscode/launch.json create mode 100644 site/AGENTS.md create mode 120000 site/CLAUDE.md create mode 100644 site/README.md create mode 100644 site/astro.config.mjs create mode 100644 site/package-lock.json create mode 100644 site/package.json create mode 100644 site/public/favicon.svg create mode 100644 site/scripts/sync-docs.mjs create mode 100644 site/src/assets/kaisel-mark.svg create mode 100644 site/src/content.config.ts create mode 100644 site/src/content/docs/getting-started.md create mode 100644 site/src/content/docs/index.mdx create mode 100644 site/src/content/docs/migration/from-navigator.md create mode 100644 site/src/styles/custom.css create mode 100644 site/tsconfig.json diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..09138fc --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,50 @@ +name: docs + +on: + push: + branches: [dev] + paths: + - 'site/**' + - 'skills/kaisel/**' + - 'packages/kaisel/doc/migration/**' + - 'ROADMAP.md' + - '.github/workflows/docs.yml' + pull_request: + paths: + - 'site/**' + - 'skills/kaisel/**' + - 'packages/kaisel/doc/migration/**' + - 'ROADMAP.md' + - '.github/workflows/docs.yml' + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +# Per-ref: PR builds run in parallel; deploys from dev serialize. Never +# cancel in-progress — a killed Pages deployment can strand a half-rollout. +concurrency: + group: docs-${{ github.ref }} + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: withastro/action@v3 + with: + path: ./site + + deploy: + if: github.event_name != 'pull_request' + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - id: deployment + uses: actions/deploy-pages@v4 diff --git a/site/.gitignore b/site/.gitignore new file mode 100644 index 0000000..9d949c9 --- /dev/null +++ b/site/.gitignore @@ -0,0 +1,27 @@ +# build output +dist/ +# generated types +.astro/ + +# dependencies +node_modules/ + +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + + +# environment variables +.env +.env.production + +# macOS-specific files +.DS_Store + +# generated by scripts/sync-docs.mjs — canonical sources live in +# skills/kaisel/, packages/kaisel/doc/migration/, and ROADMAP.md +src/content/docs/guides/ +src/content/docs/migration/ +src/content/docs/roadmap.md diff --git a/site/.vscode/extensions.json b/site/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/site/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/site/.vscode/launch.json b/site/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/site/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/site/AGENTS.md b/site/AGENTS.md new file mode 100644 index 0000000..24ca275 --- /dev/null +++ b/site/AGENTS.md @@ -0,0 +1,27 @@ +# kaisel docs site + +## Development + +Always use the npm scripts, never `astro` directly — the `predev`/`prebuild` +hooks run `scripts/sync-docs.mjs`, which pulls the canonical docs +(`skills/kaisel/`, `packages/kaisel/doc/migration/`, `ROADMAP.md`) into +`src/content/docs/`. Running Astro directly serves stale or missing content. + +```sh +npm run dev # sync + dev server at localhost:4321 +npm run build # sync + production build + Pagefind search index +npm run preview # serve dist/ (search only works here, not in dev) +npm run sync # re-sync after editing canonical docs while dev is running +``` + +Never edit `src/content/docs/guides/`, `src/content/docs/migration/`, or +`src/content/docs/roadmap.md` — they are gitignored, generated copies. Edit +the canonical files instead. + +`npx astro check` / `npx astro add` are fine to call directly — they don't +serve or build content. + +## Documentation + +Astro/Starlight docs: https://docs.astro.build and +https://starlight.astro.build diff --git a/site/CLAUDE.md b/site/CLAUDE.md new file mode 120000 index 0000000..47dc3e3 --- /dev/null +++ b/site/CLAUDE.md @@ -0,0 +1 @@ +AGENTS.md \ No newline at end of file diff --git a/site/README.md b/site/README.md new file mode 100644 index 0000000..1b7f5c3 --- /dev/null +++ b/site/README.md @@ -0,0 +1,49 @@ +# Starlight Starter Kit: Basics + +[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build) + +``` +npm create astro@latest -- --template starlight +``` + +> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! + +## 🚀 Project Structure + +Inside of your Astro + Starlight project, you'll see the following folders and files: + +``` +. +├── public/ +├── src/ +│ ├── assets/ +│ ├── content/ +│ │ └── docs/ +│ └── content.config.ts +├── astro.config.mjs +├── package.json +└── tsconfig.json +``` + +Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name. + +Images can be added to `src/assets/` and embedded in Markdown with a relative link. + +Static assets, like favicons, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :------------------------ | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:4321` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro -- --help` | Get help using the Astro CLI | + +## 👀 Want to learn more? + +Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat). diff --git a/site/astro.config.mjs b/site/astro.config.mjs new file mode 100644 index 0000000..1649b88 --- /dev/null +++ b/site/astro.config.mjs @@ -0,0 +1,68 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import starlight from '@astrojs/starlight'; + +export default defineConfig({ + site: 'https://kaisel.dev', + integrations: [ + starlight({ + title: 'kaisel', + description: + 'A Dart 3-native router for Flutter — sealed routes, pattern matching, and a stack-as-value model. No string paths, no codegen.', + logo: { src: './src/assets/kaisel-mark.svg', alt: 'kaisel' }, + social: [ + { + icon: 'github', + label: 'GitHub', + href: 'https://github.com/Mastersam07/kaisel', + }, + { + icon: 'seti:dart', + label: 'pub.dev', + href: 'https://pub.dev/packages/kaisel', + }, + ], + customCss: ['./src/styles/custom.css'], + sidebar: [ + { label: 'Start here', items: ['getting-started'] }, + { + label: 'Guides', + items: [ + { label: 'Navigation', slug: 'guides/navigation' }, + { label: 'Shells & tabs', slug: 'guides/shells' }, + { label: 'Modal flows', slug: 'guides/modal-flows' }, + { label: 'Adaptive layouts', slug: 'guides/adaptive-layouts' }, + { label: 'Guards', slug: 'guides/guards' }, + { label: 'URLs & deep linking', slug: 'guides/urls-and-deep-linking' }, + { label: 'Modules', slug: 'guides/modules' }, + { label: 'Transitions', slug: 'guides/transitions' }, + ], + }, + { + label: 'Migration', + items: [ + { label: 'From go_router', slug: 'migration/from-go-router' }, + { label: 'From auto_route', slug: 'migration/from-auto-route' }, + { label: 'From Navigator', slug: 'migration/from-navigator' }, + ], + }, + { + label: 'Project', + items: [ + { label: 'Roadmap', slug: 'roadmap' }, + { + label: 'API reference', + link: 'https://pub.dev/documentation/kaisel/latest/', + attrs: { target: '_blank' }, + }, + { + label: 'Examples', + link: 'https://github.com/Mastersam07/kaisel/tree/dev/packages/kaisel/example', + attrs: { target: '_blank' }, + }, + ], + }, + ], + }), + ], +}); diff --git a/site/package-lock.json b/site/package-lock.json new file mode 100644 index 0000000..8fdc3bb --- /dev/null +++ b/site/package-lock.json @@ -0,0 +1,6781 @@ +{ + "name": "site", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "site", + "version": "0.0.1", + "dependencies": { + "@astrojs/starlight": "^0.41.3", + "astro": "^7.0.2", + "sharp": "^0.34.5" + } + }, + "node_modules/@astrojs/compiler-binding": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding/-/compiler-binding-0.3.1.tgz", + "integrity": "sha512-DaAUj29AIBU2XdJ8uwcab8lW5O2pk9pY8AXkcMw0sw77nVa3oeTYRcO+Dvbbpoexf6ThMc0FMWYCQ/wN1/T7oQ==", + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@astrojs/compiler-binding-darwin-arm64": "0.3.1", + "@astrojs/compiler-binding-darwin-x64": "0.3.1", + "@astrojs/compiler-binding-linux-arm64-gnu": "0.3.1", + "@astrojs/compiler-binding-linux-arm64-musl": "0.3.1", + "@astrojs/compiler-binding-linux-x64-gnu": "0.3.1", + "@astrojs/compiler-binding-linux-x64-musl": "0.3.1", + "@astrojs/compiler-binding-wasm32-wasi": "0.3.1", + "@astrojs/compiler-binding-win32-arm64-msvc": "0.3.1", + "@astrojs/compiler-binding-win32-x64-msvc": "0.3.1" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-arm64": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-arm64/-/compiler-binding-darwin-arm64-0.3.1.tgz", + "integrity": "sha512-IEmEF2fUIlTHtpeE/isyEGVOB14cEyh/LZOFYt6wn3jNyVpdC8aR5OZ+RzFUR/f+8ZDM1LaMwZKvoA7eMyJeFw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-darwin-x64": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-darwin-x64/-/compiler-binding-darwin-x64-0.3.1.tgz", + "integrity": "sha512-GF2kIxjpPDLsn94zbZNMsxEmkU828QqnmM7kiQJnaooS3jmI+I7kk6+oI6EpwOsK3femCMdcm+wmOsEqtGrmjQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-gnu": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-gnu/-/compiler-binding-linux-arm64-gnu-0.3.1.tgz", + "integrity": "sha512-XJL3SDmOtVrqFhCirNcHwE91+IesJqlgNo23I4qW9QUYfwzm/TBZuH61fgqsb1ttgR1mMYz6ooPWs0JDhwMqpQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-arm64-musl": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-arm64-musl/-/compiler-binding-linux-arm64-musl-0.3.1.tgz", + "integrity": "sha512-xqE8BVbDoBueK/B47w30PtkVofUWJKGkwoMVE+EOMLf11rnoANxIAdA9FPqY+rng4oNI5ndHGsri1yPj2k8vZQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-gnu": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-gnu/-/compiler-binding-linux-x64-gnu-0.3.1.tgz", + "integrity": "sha512-1y0StU1qiCuDFH3rmbRJXcxdfHxFPrES1Rd+RLffosvUR7I2cH5SF5SFnBN9vXpzpkmyElZm3Yr47iJBPN7vVA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-linux-x64-musl": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-linux-x64-musl/-/compiler-binding-linux-x64-musl-0.3.1.tgz", + "integrity": "sha512-16q0fYf7kpbmdObZEeZJEup8hQv/whgNwVjrSvT8umrKwLDSnNIWiQpm09lQQu6bweZB0XyIvHwlPitvJhC+hg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-wasm32-wasi": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-wasm32-wasi/-/compiler-binding-wasm32-wasi-0.3.1.tgz", + "integrity": "sha512-cB456shIwDv/PrVT+2QG7LFndpHkVge5HjqADKZgGaAc9JHVktCtjSrcdkRQ+3tbkPazNKaTLRjXLIiz2NIx9g==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-arm64-msvc": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-arm64-msvc/-/compiler-binding-win32-arm64-msvc-0.3.1.tgz", + "integrity": "sha512-ur/9+If/yTE69mmeX5MqSZndL0HOyx67GeNZUy3N7wVdWpLz9UTJXwyWS4UR2PUQHitghjsM5xoX0Ge56WRVQQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-binding-win32-x64-msvc": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-binding-win32-x64-msvc/-/compiler-binding-win32-x64-msvc-0.3.1.tgz", + "integrity": "sha512-k0W+kDBzDkNZOqu4kElDvCOIbKw5Ut9S1WZ1Krj3KTgNuBERNKXsMMsRLLcbgfdMdbe7bTekQLshZrrvmYpmwA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@astrojs/compiler-rs": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler-rs/-/compiler-rs-0.3.1.tgz", + "integrity": "sha512-aT7xkgsbNoS6nriY5qKpbihK43slFHO41iqgHCTdOvn1ifaQxLCc5yXy+6GzAtiafoaC1zA7OwVXCXMsvUZOkg==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-binding": "0.3.1" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.10.1.tgz", + "integrity": "sha512-5phcroT/vmOOrYuuAxtkbPixy5hePtlz9i8K4OeDv3dNK6/UQRuXPOSRTxIOBbUY5Sonw2UaxjbuVc43Mcir6Q==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "js-yaml": "^4.1.1", + "picomatch": "^4.0.4", + "retext-smartypants": "^6.2.0", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "unified": "^11.0.5" + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-7.2.1.tgz", + "integrity": "sha512-jPVNIqTvk+yKviikszv/Y1U4jGUSKpp/Nw48QZV4qjWgp70j4Lkq3lhSDRbWwCfgKvEyO9GHuVbV1dM2WYXy1w==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.1", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.1.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/markdown-satteri": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-satteri/-/markdown-satteri-0.3.4.tgz", + "integrity": "sha512-6Lvt/bQZEBW+zzdhPblvfZEy5PGEYJaUsUqaCgwHeRPxZJL1gc9I+DRLKWJjjYTWDzVUTzXlMq4WwSK+X34CVw==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.1", + "@astrojs/prism": "4.0.2", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "satteri": "^0.9.1" + } + }, + "node_modules/@astrojs/mdx": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-7.0.3.tgz", + "integrity": "sha512-RxyIwU0uFam5ftwqKOjpIdhnFxZ/kEikeimLyQy3eGXbHT8WgRGzzesOIHVU8+m9TY8ag5WVOyvV24/GyqPdPQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.10.1", + "@astrojs/markdown-remark": "7.2.1", + "@mdx-js/mdx": "^3.1.1", + "acorn": "^8.16.0", + "es-module-lexer": "^2.0.0", + "estree-util-visit": "^2.0.0", + "hast-util-to-html": "^9.0.5", + "piccolore": "^0.1.3", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.1", + "remark-smartypants": "^3.0.2", + "source-map": "^0.7.6", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.3" + }, + "engines": { + "node": ">=22.12.0" + }, + "peerDependencies": { + "@astrojs/markdown-satteri": "^0.3.1", + "astro": "^7.0.0" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-satteri": { + "optional": true + } + } + }, + "node_modules/@astrojs/prism": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-4.0.2.tgz", + "integrity": "sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": ">=22.12.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.3.tgz", + "integrity": "sha512-f8euLVsyeAmAkSm/1M2Kb8sL8byQmfgbvBNaHFItCheTj/IpiJYSEWVcqDHZ/yEHxiS7+w87mQkzwZaPHmk5GA==", + "license": "MIT", + "dependencies": { + "sitemap": "^9.0.0", + "stream-replace-string": "^2.0.0", + "zod": "^4.3.6" + } + }, + "node_modules/@astrojs/starlight": { + "version": "0.41.3", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.41.3.tgz", + "integrity": "sha512-8xsG6UpK581TJmtOc7/pnxHKEbP16rV06VLWaVa7FOyE/VEwnaHOsLtL+miifCEfuiuv0Wn+j8u3JSluRQesMQ==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-satteri": "^0.3.2", + "@astrojs/mdx": "^7.0.0", + "@astrojs/sitemap": "^3.7.2", + "@pagefind/default-ui": "^1.3.0", + "@types/hast": "^3.0.4", + "@types/js-yaml": "^4.0.9", + "@types/mdast": "^4.0.4", + "astro-expressive-code": "^0.44.0", + "bcp-47": "^2.1.0", + "hast-util-from-html": "^2.0.3", + "hast-util-select": "^6.0.4", + "hast-util-to-string": "^3.0.1", + "hastscript": "^9.0.1", + "i18next": "^26.0.7", + "js-yaml": "^4.1.1", + "klona": "^2.0.6", + "magic-string": "^0.30.21", + "mdast-util-directive": "^3.1.0", + "mdast-util-to-markdown": "^2.1.2", + "mdast-util-to-string": "^4.0.0", + "pagefind": "^1.5.2", + "rehype": "^13.0.2", + "rehype-format": "^5.0.1", + "remark-directive": "^4.0.0", + "satteri": "^0.9.1", + "ultrahtml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.3" + }, + "peerDependencies": { + "@astrojs/markdown-remark": "^7.2.0", + "astro": "^7.0.2" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-remark": { + "optional": true + } + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.3.tgz", + "integrity": "sha512-C1TLn5sPJr0x4vk56piHWKbnqlEB8BKyte5Y45V02U+D7BGO5eMqZDH5aPjnkXQWJggvmsTXxH03QMZ9NgWLzQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.4.0", + "dset": "^3.1.4", + "is-docker": "^4.0.0", + "package-manager-detector": "^1.6.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bruits/satteri-darwin-arm64": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-arm64/-/satteri-darwin-arm64-0.9.5.tgz", + "integrity": "sha512-iw4nZgx9v30lWo/MTngQqi1pI78KI0DnkSm+lVJGYdmPLgAyDNJigVhpG42/Iq55A6c1Ll8q66ljyyRiQUxwow==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-darwin-x64": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-darwin-x64/-/satteri-darwin-x64-0.9.5.tgz", + "integrity": "sha512-6T26Z5Kf3cFW2PSlk9p7zT7yVxvuBSiJvYyz9u8KjYwMTqZyIDOj2wDyNpxKV4+6yUVG7rddq2QwvG/8LJA2+Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-gnu": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-gnu/-/satteri-linux-arm64-gnu-0.9.5.tgz", + "integrity": "sha512-u51id17uJwNEMK9nBlICsq6U31c+XVqQueVBkwRIzZG+gMpS8TOJctt5h5Wz33Z8xnMdTd+adtACVz0yHgGuOA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-arm64-musl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-arm64-musl/-/satteri-linux-arm64-musl-0.9.5.tgz", + "integrity": "sha512-v39HxiwGC5Rqm01HksP6+5Y+xKLPlsuVFgIgpEAo+SiQ22c+mJVhS3u7Z6ePAKdhL5NJoK1xq70kLz3L13AhpQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-gnu": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-gnu/-/satteri-linux-x64-gnu-0.9.5.tgz", + "integrity": "sha512-F3uO8uFp3pAP5ZGXttwvh57GS7s0lL953tnNdyI2gRyP4kOOkp6pyGojNJzCjkDvWI2Cvb9iNrKok3aqQPauAw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-linux-x64-musl": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-linux-x64-musl/-/satteri-linux-x64-musl-0.9.5.tgz", + "integrity": "sha512-bicEqglLlz++mWyADaZoP0JY20s4vDfLjaPYgQqC+NI4zZLTOOg1T4GB8aqtc822Pqji8SQBmSrTb7CrP8i08Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@bruits/satteri-wasm32-wasi": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-wasm32-wasi/-/satteri-wasm32-wasi-0.9.5.tgz", + "integrity": "sha512-zauAuMwfPnKPUkd4AFixRFpXdgKwP2mKgxrIIo2gJzW0/ZneF9dbHnLkojSpaBnCCp7VUL1hIi5WWZvB1CqmAQ==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@bruits/satteri-win32-arm64-msvc": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-arm64-msvc/-/satteri-win32-arm64-msvc-0.9.5.tgz", + "integrity": "sha512-SrfE7NEsgZjBvU3c+RR6oQRu0ToXY5uVJEbieXEF0YTctIV2zAVlbaMjWLts074QCgh3a+XHWkR/lWh2VH2LUg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@bruits/satteri-win32-x64-msvc": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@bruits/satteri-win32-x64-msvc/-/satteri-win32-x64-msvc-0.9.5.tgz", + "integrity": "sha512-5Kw9ZAtTGS8WHizyn+CJhjjfIQrw+7jcZodpmpXJjefnO15M8UexIi6JR2E5thyvsmHyhL6ZDDMUNR4bKJPd4g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.1.tgz", + "integrity": "sha512-CuNiSqg7+e1cO/GjffyMOm5Tt2jUF9CWHHnvQ/UkqvtkGfHdgwEC0wpmq7fkN3gxwpRnrAN0WzO3vREKmNolMQ==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@clack/core": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.4.3.tgz", + "integrity": "sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==", + "license": "MIT", + "dependencies": { + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@clack/prompts": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.7.0.tgz", + "integrity": "sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==", + "license": "MIT", + "dependencies": { + "@clack/core": "1.4.3", + "fast-string-width": "^3.0.2", + "fast-wrap-ansi": "^0.2.0", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@emnapi/core": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.2.tgz", + "integrity": "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.2.tgz", + "integrity": "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz", + "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@expressive-code/core": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.44.0.tgz", + "integrity": "sha512-xgiF2P6tYUbrhi3+x0S8xHZWT1t3Bvb3U91tAtRbLb9HLejLvYc5GZUqKICKLaUN4iSGhhNJu2fM/aH8e5yCMg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.0.4", + "hast-util-select": "^6.0.2", + "hast-util-to-html": "^9.0.1", + "hast-util-to-text": "^4.0.1", + "hastscript": "^9.0.0", + "postcss": "^8.4.38", + "postcss-nested": "^6.0.1", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/@expressive-code/plugin-frames": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.44.0.tgz", + "integrity": "sha512-V6M6+zVc1GzqCvXkQHc2m5rcFOIVzJgMq5gnfrMnVf2gwtj/sg4H93c1f/mGeqHycubwkHFUDyParAOiGeDZeA==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.0" + } + }, + "node_modules/@expressive-code/plugin-shiki": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.44.0.tgz", + "integrity": "sha512-RZsdaqlbGqyAQKuoX4myQXxjmiE2l5KBpJ/gKPh62tCdIdpWyjbzVqSo8+5XsezZxkfi8AJ/J6EUaBTPROFX/Q==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.0", + "shiki": "^4.0.2" + } + }, + "node_modules/@expressive-code/plugin-text-markers": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.44.0.tgz", + "integrity": "sha512-0/m3A5b+lz2upyNq+wzZ1S69HRoJmyFs5LsR42lVZ9pmGRlBiSBYQpvqlji4DBj1+Riamxc0AvcCr5kuzOQeWA==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.0" + } + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz", + "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==", + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@oxc-project/types": { + "version": "0.139.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.139.0.tgz", + "integrity": "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.5.2.tgz", + "integrity": "sha512-MXpI+7HsAdPkvJ0gk9xj9g541BCqBZOBbdwj9g6lB5LCj6kSV6nqDSjzcAJwvOsfu0fjwvC8hQU+ecfhp+MpiQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.5.2.tgz", + "integrity": "sha512-IojxFWMEJe0RQ7PQ3KXQsPIImNsbpPYpoZ+QUDrL8fAl/O27IX+LVLs74/UzEZy5uA2LD8Nz1AiwKr72vrkZQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/default-ui": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.5.2.tgz", + "integrity": "sha512-pm1LMnQg8N2B3n2TnjKlhaFihpz6zTiA4HiGQ6/slKO/+8K9CAU5kcjdSSPgpuk1PMuuN4hxLipUIifnrkl3Sg==", + "license": "MIT" + }, + "node_modules/@pagefind/freebsd-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.5.2.tgz", + "integrity": "sha512-7EVzo9+0w+2cbe671BtMj10UlNo83I+HrLVLfRxO731svHRJKUfJ/mo05gU14pe9PCfpKNQT8FS3Xc/oDN6pOA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.5.2.tgz", + "integrity": "sha512-Ovt9+K35sqzn8H3ZMXGwls4TD/wMJuvRtShHIsmUQREmaxjrDEX7gHckRCrwYJ4XE1H1p6HkLz3wukrAnsfXQw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.5.2.tgz", + "integrity": "sha512-V+tFqHKXhQKq/WqPBD67AFy7scn1/aZID00ws4fSDd+1daSi5UHR9VVlRrOUYKxn3VuFQYRD7lYXdZK1WED1YA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/windows-arm64/-/windows-arm64-1.5.2.tgz", + "integrity": "sha512-hN9Nh90fNW61nNRCW9ZyQrAj/mD0eRvmJ8NlTUzkbuW8kIzGJUi3cxjFkEcMZ5h/8FsKWD/VcouZl4yo1F7B6g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.5.2.tgz", + "integrity": "sha512-Fa2Iyw7kaDRzGMfNYNUXNW2zbL5FQVDgSOcbDHdzBrDEdpqOqg8TcZ68F22ol6NJ9IGzvUdmeyZypLW5dyhqsg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.5.tgz", + "integrity": "sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.5.tgz", + "integrity": "sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.5.tgz", + "integrity": "sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.5.tgz", + "integrity": "sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.5.tgz", + "integrity": "sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.5.tgz", + "integrity": "sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.5.tgz", + "integrity": "sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.5.tgz", + "integrity": "sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.5.tgz", + "integrity": "sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.5.tgz", + "integrity": "sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.5.tgz", + "integrity": "sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.5.tgz", + "integrity": "sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.5.tgz", + "integrity": "sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==", + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "1.11.1", + "@emnapi/runtime": "1.11.1", + "@napi-rs/wasm-runtime": "^1.1.6" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz", + "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz", + "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.5.tgz", + "integrity": "sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.5.tgz", + "integrity": "sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", + "license": "MIT" + }, + "node_modules/@rollup/pluginutils": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.4.0.tgz", + "integrity": "sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.3.1.tgz", + "integrity": "sha512-ANMDxuaPsNMdDC1m4vfvhlDmJweMwkE5XitTwrq2rWHx5jM+dlm4MmHt2PP6t0uejfR77SuhrhJ0zEijIF/uhA==", + "license": "MIT", + "dependencies": { + "@shikijs/primitive": "4.3.1", + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.3.1.tgz", + "integrity": "sha512-JBItcnPuYq7jVJdZo/vMj94r+szT7XEjHFX+mvFDGSEIbVAXAGyHAHzhbWzpGOwYidCZrErJLLgn2PVeiokHnQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.6" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.3.1.tgz", + "integrity": "sha512-OXyNMzg0pews+msMj4cHeqT4xiYKKvbnn6VbdAXxfoFl3SSx4fJTc8FadECuc5/H9p3BzhNAoAUXKwAu9rWYhg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/langs": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.3.1.tgz", + "integrity": "sha512-m0l9nsDqgBHvbZbk7A0/kXz/impK3uB/c6rAn6Gpg/uPtdZRQ+alsN/17MU5thb68XTj/4DxkZAotrM0GGSpDQ==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/primitive": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/primitive/-/primitive-4.3.1.tgz", + "integrity": "sha512-CXQRQOYy1leqQ8ceTeJdmXv/bsUY++6QyLpXJ94LZAAYj5X2SKRdc5ipguv4NPyGVKItB2PPwUpRNe0Sjh5S1A==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/themes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.3.1.tgz", + "integrity": "sha512-dgpoJ4WqNi2yTmizQHBJ5zcX6j2lE6icN/0yt4l1kkf16jrY/pwPLoTb1ETsWMz0OBLf9ZNvwmxft+cH+N9qSA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "4.3.1" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/types": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.3.1.tgz", + "integrity": "sha512-CHFxE0jztBIZRHH6gxXE7DXUCFXjReEGxZ/j0rfSLGKZuwp2xBYycEP14875DSa9KLL/6700oxIq6oO6ef9K2g==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz", + "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", + "integrity": "sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.5.tgz", + "integrity": "sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.14.tgz", + "integrity": "sha512-T48PeuJtvLosNTPVhfnIp3i/n3a4g4Bad7YCq5k64D4u7NwDrAotikQ+5+sjtUvBmxCMlbo3dVL+C2dP0rWHzg==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "24.13.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", + "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.3.tgz", + "integrity": "sha512-60YRaenCQcVjYEKOcG824+DRGGIQ3VKErcBoAEDJZz5bKIs2ZG+X/H9Nk+Q6EVkwJk5QNApxbrc5QtBSwtrXAg==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/am-i-vibing": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/am-i-vibing/-/am-i-vibing-0.4.0.tgz", + "integrity": "sha512-MxT4XZL7pzLHpuvhDKdMaQHMGGkJDLluKBLsbstn+8wv9sWcFT6h+0ve9qkml95amVTZtZV83gQe2hY+ojgHLg==", + "license": "MIT", + "dependencies": { + "process-ancestry": "^0.1.0" + }, + "bin": { + "am-i-vibing": "dist/cli.mjs" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/astro/-/astro-7.1.0.tgz", + "integrity": "sha512-jXHNZXpO0HOuANLwv5uLg5WFXFmIMyDTMlokIb8sv10y8QItOFaikwrqvp6+Pe0MSqvp+aO7V1SfVriFcCEKgA==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler-rs": "^0.3.1", + "@astrojs/internal-helpers": "0.10.1", + "@astrojs/markdown-satteri": "0.3.4", + "@astrojs/telemetry": "3.3.3", + "@capsizecss/unpack": "^4.0.0", + "@clack/prompts": "^1.1.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "am-i-vibing": "^0.4.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "ci-info": "^4.4.0", + "clsx": "^2.1.1", + "common-ancestor-path": "^2.0.0", + "cookie": "^1.1.1", + "devalue": "^5.8.1", + "diff": "^8.0.3", + "dset": "^3.1.4", + "es-module-lexer": "^2.0.0", + "esbuild": "^0.28.0", + "flattie": "^1.1.1", + "fontace": "~0.4.1", + "get-tsconfig": "5.0.0-beta.4", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "js-yaml": "^4.1.1", + "jsonc-parser": "^3.3.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.2", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "obug": "^2.1.1", + "p-limit": "^7.3.0", + "p-queue": "^9.1.0", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.4", + "semver": "^7.7.4", + "shiki": "^4.0.2", + "smol-toml": "^1.6.0", + "svgo": "^4.0.1", + "tinyclip": "^0.1.12", + "tinyexec": "^1.0.4", + "tinyglobby": "^0.2.15", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.4", + "unstorage": "^1.17.5", + "vite": "^8.0.13", + "vitefu": "^1.1.2", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^22.0.0", + "zod": "^4.3.6" + }, + "bin": { + "astro": "bin/astro.mjs" + }, + "engines": { + "node": ">=22.12.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0 || ^0.35.0" + }, + "peerDependencies": { + "@astrojs/markdown-remark": "7.2.1" + }, + "peerDependenciesMeta": { + "@astrojs/markdown-remark": { + "optional": true + } + } + }, + "node_modules/astro-expressive-code": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.44.0.tgz", + "integrity": "sha512-b1wN/ZvbJprzxlGKIpIes2kQrCY5KRLwys2tWbZAZyjGZcW5ZtgneZnBwzNRiBna9/48d4mQl19KLjcRuhO1hw==", + "license": "MIT", + "dependencies": { + "rehype-expressive-code": "^0.44.0", + "url-extras": "^0.1.0" + }, + "peerDependencies": { + "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta || ^7.0.0" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.1.tgz", + "integrity": "sha512-KLw+H/gd2p4zly1X7Yh/qziuyae5/w/QFnvTng9eZL5fvszL7Whl3MBoWF8yxL7ksUjBfOD+OxkytiqbBpG+Fw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.4.0.tgz", + "integrity": "sha512-77PSwercCZU2Fc4sX94eF8k8Pxte6JAwL4/ICZLFjJLqegs7kCuAsqqj/70NQF6TvDpgFjkubQB2FW2ZZddvQg==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-2.0.0.tgz", + "integrity": "sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">= 18" + } + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.3.tgz", + "integrity": "sha512-lXVyvUvrNXblMqzIRrxHb57UUVmqsSWlxqt3XIjCkUP0wDAf6uicO6KMbEgYrMNtEvWgWHwe42CKxPu9MYAnWw==", + "license": "MIT" + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.3.0.tgz", + "integrity": "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", + "integrity": "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.27.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.7", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.7.tgz", + "integrity": "sha512-7z22QmUWiQ/2d0KkdYmANbRUVABpZ9SNYyH5vx6PZ+nE5bcC0l7uFvEfHlyld/HcGBFTL536ClDt3DEcSlEJAQ==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.8.1.tgz", + "integrity": "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "license": "MIT", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", + "integrity": "sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==", + "license": "MIT" + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz", + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==", + "license": "MIT" + }, + "node_modules/expressive-code": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.44.0.tgz", + "integrity": "sha512-JXVWVNCKlLuZLMQH8cOiDUSosT0Bb+elwE/dbAkpwFwDFmyFyWlECoWZIohh2FkIF1iI67TQJ+Ts9k7oNDh2qA==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.44.0", + "@expressive-code/plugin-frames": "^0.44.0", + "@expressive-code/plugin-shiki": "^0.44.0", + "@expressive-code/plugin-text-markers": "^0.44.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.2" + } + }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.3.tgz", + "integrity": "sha512-Wp1zXWPVUPBmfoa3Cqc9ctaKuzKAV6uLstRqlR56kSjplf5uAce+qeyYym7F+PHbGTk+tCEdkCW6RD7DX/gBZw==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/get-tsconfig": { + "version": "5.0.0-beta.4", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.4.tgz", + "integrity": "sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==", + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "engines": { + "node": ">=20.20.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/h3": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz", + "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.3", + "crossws": "^0.3.5", + "defu": "^6.1.6", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.4.tgz", + "integrity": "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "nth-check": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.1.tgz", + "integrity": "sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/i18next": { + "version": "26.3.6", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.3.6.tgz", + "integrity": "sha512-Bu5Z2nAXgfVyM8xvW3jk9EKRIuX37PudsrBViThNFx7CR7aaYTpP01cxNB/E4c4UUzTDiAZRstEhsRfPOL/8xA==", + "funding": [ + { + "type": "individual", + "url": "https://www.locize.com/i18next" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + }, + { + "type": "individual", + "url": "https://www.locize.com" + } + ], + "license": "MIT", + "peerDependencies": { + "typescript": "^5 || ^6 || ^7" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-4.0.0.tgz", + "integrity": "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/js-yaml": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "license": "MIT" + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "11.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.2.tgz", + "integrity": "sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.3.tgz", + "integrity": "sha512-pVKE4UdSQ7DvHzivsCIFx2BJn1mHG6KsyrFcaxFx6tONdneEuThrDx0Cj3AMg58KyN4pzYT+LHOotxDQDjNvkw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@babel/types": "^7.29.0", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.1.0.tgz", + "integrity": "sha512-I3fNFt+DHmpWCYAT7quoM6lHf9wuqtI+oCOfvILnoicNIqjh5E3dEJWiXuYME2gNe8vl1iMQwyUHa7bgFmak6Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.27.1.tgz", + "integrity": "sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz", + "integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.16", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.16.tgz", + "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/obug": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.4.tgz", + "integrity": "sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==", + "funding": [ + "https://github.com/sponsors/sxzz", + "https://opencollective.com/debug" + ], + "license": "MIT", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/p-limit": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.0.tgz", + "integrity": "sha512-7cIXg/Z0M5WZRblrsOla88S4wAK+zOQQWeBYfV3qJuJXMr+LnbYjaadrFaS0JILfEDPVqHyKnZ1Z/1d6J9VVUw==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.2.1" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-9.3.1.tgz", + "integrity": "sha512-POWdiIPmsUPGwb4FeQ4OBg46aqmcInSWe45CKDsGHiOBiVQM9chqfQTuqhuTzcg2Vz9faTI65at0KkVyVEiCHw==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.4", + "p-timeout": "^7.0.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-7.0.1.tgz", + "integrity": "sha512-AxTM2wDGORHGEkPCt8yqxOTMgpfbEHqF51f/5fJCmwFC3C/zNcGT63SymH2ttOAaiIws2zVg4+izQCjrakcwHg==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-manager-detector": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.7.0.tgz", + "integrity": "sha512-xg1eHpwYL/D/HEdWw2goFZP6vV0FH7W+PZ5rFkGjdIDLtxq7EkzBUeT3m+lndYCt8wKbmofUu1MUdMCXkCk9ZQ==", + "license": "MIT" + }, + "node_modules/pagefind": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.5.2.tgz", + "integrity": "sha512-XTUaK0hXMCu2jszWE584JGQT7y284TmMV9l/HX3rnG5uo3rHI/uHU56XTyyyPFjeWEBxECbAi0CaFDJOONtG0Q==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.5.2", + "@pagefind/darwin-x64": "1.5.2", + "@pagefind/freebsd-x64": "1.5.2", + "@pagefind/linux-arm64": "1.5.2", + "@pagefind/linux-x64": "1.5.2", + "@pagefind/windows-arm64": "1.5.2", + "@pagefind/windows-x64": "1.5.2" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.19", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.19.tgz", + "integrity": "sha512-Mz8SaolMd8nB+G13WkORcxQKHZ/NE4xXevtkJHVuG+guo9/wYKlIMTKAqGdEmYOXR2ijPjTYNHssizdaVSUNdQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz", + "integrity": "sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-ancestry": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/process-ancestry/-/process-ancestry-0.1.0.tgz", + "integrity": "sha512-tGqJW/UnclpYASFcM6Xh8D8l/BMtaQ9+CSG0vlJSJTcdMM4lDRv4c6H0Pdcsfted+bVczdYSfk2fdukg2gQkZg==", + "license": "MIT", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/property-information": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.2.0.tgz", + "integrity": "sha512-IAtzIB6sUiWaJYrX9smp3V46pBGbBeLFRGdh25kg1334VcBlD8HzhPeNIWQH9zhGmo2itIe25EHt9dQP7G5hmg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-expressive-code": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.44.0.tgz", + "integrity": "sha512-5r74C5F2sMR3X+QJH8OKWgZBO/cqRw5W1fLT6GVlSfLqepk+4j8tGFkyPqZYWjwntsBHzKPDH2zI68sZ7ScLfA==", + "license": "MIT", + "dependencies": { + "expressive-code": "^0.44.0" + } + }, + "node_modules/rehype-format": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", + "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-format": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-4.0.0.tgz", + "integrity": "sha512-7sxn4RfF1o3izevPV1DheyGDD6X4c9hrGpfdUpm7uC++dqrnJxIZVkk7CoKqcLm0VUMAuOol7Mno3m6g8cfMuA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rolldown": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.5.tgz", + "integrity": "sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==", + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.139.0", + "@rolldown/pluginutils": "^1.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.1.5", + "@rolldown/binding-darwin-arm64": "1.1.5", + "@rolldown/binding-darwin-x64": "1.1.5", + "@rolldown/binding-freebsd-x64": "1.1.5", + "@rolldown/binding-linux-arm-gnueabihf": "1.1.5", + "@rolldown/binding-linux-arm64-gnu": "1.1.5", + "@rolldown/binding-linux-arm64-musl": "1.1.5", + "@rolldown/binding-linux-ppc64-gnu": "1.1.5", + "@rolldown/binding-linux-s390x-gnu": "1.1.5", + "@rolldown/binding-linux-x64-gnu": "1.1.5", + "@rolldown/binding-linux-x64-musl": "1.1.5", + "@rolldown/binding-openharmony-arm64": "1.1.5", + "@rolldown/binding-wasm32-wasi": "1.1.5", + "@rolldown/binding-win32-arm64-msvc": "1.1.5", + "@rolldown/binding-win32-x64-msvc": "1.1.5" + } + }, + "node_modules/satteri": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/satteri/-/satteri-0.9.5.tgz", + "integrity": "sha512-ZuWVl+vnM64y+/TtX8Kosv2c00W+hLQiiwnEL6H0UKVVrxFqMw4D2CJHHQaouVd89OAhtBBfjWLqhKi3TVUV4w==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.5", + "@types/hast": "^3.0.4", + "@types/mdast": "^4.0.4", + "@types/unist": "^3.0.3" + }, + "optionalDependencies": { + "@bruits/satteri-darwin-arm64": "0.9.5", + "@bruits/satteri-darwin-x64": "0.9.5", + "@bruits/satteri-linux-arm64-gnu": "0.9.5", + "@bruits/satteri-linux-arm64-musl": "0.9.5", + "@bruits/satteri-linux-x64-gnu": "0.9.5", + "@bruits/satteri-linux-x64-musl": "0.9.5", + "@bruits/satteri-wasm32-wasi": "0.9.5", + "@bruits/satteri-win32-arm64-msvc": "0.9.5", + "@bruits/satteri-win32-x64-msvc": "0.9.5" + } + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/shiki": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.3.1.tgz", + "integrity": "sha512-oR+qDVi2OjX1tmDpyv+3KviX01KzO6Af+0NNnKnsp9491UEGz2YpxTuJboS/6VhYpTdqzmuJBuiTlrAWWJAssw==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "4.3.1", + "@shikijs/engine-javascript": "4.3.1", + "@shikijs/engine-oniguruma": "4.3.1", + "@shikijs/langs": "4.3.1", + "@shikijs/themes": "4.3.1", + "@shikijs/types": "4.3.1", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-9.0.1.tgz", + "integrity": "sha512-S6hzjGJSG3d6if0YoF5kTyeRJvia6FSTBroE5fQ0bu1QNxyJqhhinfUsXi9fH3MgtXODWvwo2BDyQSnhPQ88uQ==", + "license": "MIT", + "dependencies": { + "@types/node": "^24.9.2", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/esm/cli.js" + }, + "engines": { + "node": ">=20.19.5", + "npm": ">=10.8.2" + } + }, + "node_modules/smol-toml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.7.0.tgz", + "integrity": "sha512-aqVvWoyO21L23mb+drl4RmMXbf6N7FdHjAhTRA9ZBL7apWBgfWC16KjrASI+1p9GAroljyMHj6fK67i0UiTNvQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.2.tgz", + "integrity": "sha512-ekx94z1rRc5LDi6oSUaeRnYhd0UOJxdtQCL2rF8xpWxD3TPAsISWOrxezqGovqS38GRZOdpDfvQe3ts6F7nsng==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyclip": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/tinyclip/-/tinyclip-0.1.15.tgz", + "integrity": "sha512-uo33abH+Ays0xYaDysoBt494Hb3hsEczMpcC0MwFl773pazORx4fmvKhclhR1wonUbB6vvpRsvVMwnhfqeMc+A==", + "license": "MIT", + "engines": { + "node": "^16.14.0 || >= 17.3.0" + } + }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true + }, + "node_modules/ufo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.4.tgz", + "integrity": "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.7.0.tgz", + "integrity": "sha512-2xRd0VHoAQE4M+vF/DvFFB7pUV0ZxTW1TLi7lHQWnF/Sb5TPeEUV/l+hxcNnGO00ZXGnR0voCMmYRKQf+rvJ2g==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz", + "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.10", + "lru-cache": "^11.2.7", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/url-extras": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/url-extras/-/url-extras-0.1.0.tgz", + "integrity": "sha512-8tzwTeXFPuX/5PHuCDQE5Dd9Ts4rwoq2t9aIT+HS4iAVpmj5l4Ao7Q+BuuFjvWRqrLswBhQDk8O96ZicgCqQqw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.5.tgz", + "integrity": "sha512-7ULLwsCdYx/nRyrpiEwvqb5TFHrMVZyBt+rg/OAXT7rgj/z+DtTDyKFeLAdDkubDVDKD8jOsndmy7m55XcfUsw==", + "license": "MIT", + "dependencies": { + "lightningcss": "^1.32.0", + "picomatch": "^4.0.5", + "postcss": "^8.5.17", + "rolldown": "~1.1.5", + "tinyglobby": "^0.2.17" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.3.0", + "esbuild": "^0.27.0 || ^0.28.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.3.tgz", + "integrity": "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yocto-queue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", + "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/site/package.json b/site/package.json new file mode 100644 index 0000000..fae1811 --- /dev/null +++ b/site/package.json @@ -0,0 +1,20 @@ +{ + "name": "site", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro", + "sync": "node scripts/sync-docs.mjs", + "predev": "npm run sync", + "prebuild": "npm run sync" + }, + "dependencies": { + "@astrojs/starlight": "^0.41.3", + "astro": "^7.0.2", + "sharp": "^0.34.5" + } +} \ No newline at end of file diff --git a/site/public/favicon.svg b/site/public/favicon.svg new file mode 100644 index 0000000..4e2e060 --- /dev/null +++ b/site/public/favicon.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/scripts/sync-docs.mjs b/site/scripts/sync-docs.mjs new file mode 100644 index 0000000..c6927c4 --- /dev/null +++ b/site/scripts/sync-docs.mjs @@ -0,0 +1,100 @@ +// Syncs the canonical docs into the site's content directory. +// +// The guides in skills/kaisel/ and the migration guides in +// packages/kaisel/doc/migration/ are the single source of truth — they are +// also consumed as editor/AI skills from those paths, so they cannot move. +// This script copies them here at build time, injecting the frontmatter +// Starlight needs. The copies are gitignored; never edit them. +// +// Run: node scripts/sync-docs.mjs (wired as predev/prebuild) + +import { mkdirSync, readFileSync, rmSync, writeFileSync } from 'node:fs'; +import { dirname, join } from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const repo = join(dirname(fileURLToPath(import.meta.url)), '..', '..'); +const out = join(repo, 'site', 'src', 'content', 'docs'); +const github = 'https://github.com/Mastersam07/kaisel/blob/dev'; + +const pages = [ + // [source (repo-relative), destination (docs-relative), sidebar slug prefix] + ...[ + ['NAVIGATION.md', 'navigation'], + ['SHELLS.md', 'shells'], + ['MODAL_FLOWS.md', 'modal-flows'], + ['ADAPTIVE.md', 'adaptive-layouts'], + ['GUARDS.md', 'guards'], + ['CODEC.md', 'urls-and-deep-linking'], + ['MODULES.md', 'modules'], + ['TRANSITIONS.md', 'transitions'], + ].map(([file, slug]) => [`skills/kaisel/${file}`, `guides/${slug}.md`]), + ...[ + ['from-go-router.md', 'from-go-router'], + ['from-auto-route.md', 'from-auto-route'], + ['from-navigator.md', 'from-navigator'], + ].map(([file, slug]) => [ + `packages/kaisel/doc/migration/${file}`, + `migration/${slug}.md`, + ]), + ['ROADMAP.md', 'roadmap.md'], +]; + +// Relative links between synced files become site links; anything else +// repo-relative becomes a GitHub link so it never 404s. +const siteLinks = new Map([ + ['from-go-router.md', '/migration/from-go-router/'], + ['from-auto-route.md', '/migration/from-auto-route/'], + ['from-navigator.md', '/migration/from-navigator/'], +]); + +rmSync(join(out, 'guides'), { recursive: true, force: true }); +rmSync(join(out, 'migration'), { recursive: true, force: true }); +rmSync(join(out, 'roadmap.md'), { force: true }); + +const unresolved = []; +for (const [source, destination] of pages) { + let text = readFileSync(join(repo, source), 'utf8'); + + const heading = text.match(/^# (.+)$/m); + if (!heading) throw new Error(`${source}: no H1 to use as the page title`); + const title = heading[1].trim(); + text = text.replace(/^# .+\n+/m, ''); + + text = text.replace(/\]\(([^)\s]+)\)/g, (match, target) => { + if (/^(https?:|#|mailto:)/.test(target)) return match; + const [path, anchor = ''] = target.split('#'); + const file = path.split('/').pop(); + if (siteLinks.has(file)) { + return `](${siteLinks.get(file)}${anchor ? `#${anchor}` : ''})`; + } + const sourceDir = source.split('/').slice(0, -1).join('/'); + const resolved = join('/', sourceDir, path).slice(1); + if (resolved.startsWith('..')) { + unresolved.push(`${source}: ${target}`); + return match; + } + return `](${github}/${resolved}${anchor ? `#${anchor}` : ''})`; + }); + + const body = [ + '---', + `title: "${title.replaceAll('"', '\\"')}"`, + `editUrl: ${github}/${source}`, + '---', + '', + ``, + '', + text, + ].join('\n'); + + const destinationPath = join(out, destination); + mkdirSync(dirname(destinationPath), { recursive: true }); + writeFileSync(destinationPath, body); + console.log(`synced ${source} -> ${destination}`); +} + +if (unresolved.length > 0) { + console.error('\nLinks escaping the repo root (fix at the source):'); + for (const link of unresolved) console.error(` ${link}`); + process.exit(1); +} diff --git a/site/src/assets/kaisel-mark.svg b/site/src/assets/kaisel-mark.svg new file mode 100644 index 0000000..4e2e060 --- /dev/null +++ b/site/src/assets/kaisel-mark.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/src/content.config.ts b/site/src/content.config.ts new file mode 100644 index 0000000..d9ee8c9 --- /dev/null +++ b/site/src/content.config.ts @@ -0,0 +1,7 @@ +import { defineCollection } from 'astro:content'; +import { docsLoader } from '@astrojs/starlight/loaders'; +import { docsSchema } from '@astrojs/starlight/schema'; + +export const collections = { + docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }), +}; diff --git a/site/src/content/docs/getting-started.md b/site/src/content/docs/getting-started.md new file mode 100644 index 0000000..1ad1ce2 --- /dev/null +++ b/site/src/content/docs/getting-started.md @@ -0,0 +1,78 @@ +--- +title: Getting started +description: Install kaisel, declare a sealed route type, and wire it into MaterialApp.router — three steps, no codegen. +--- + +kaisel is a Dart 3-native router: your routes are a sealed class hierarchy, +your screens are an exhaustive `switch`, and the navigation stack is a plain +`List` of route values. + +## Install + +```sh +flutter pub add kaisel +``` + +kaisel supports Flutter 3.24+ and requires Dart 3. + +## 1. Declare your route type + +```dart +sealed class AppRoute extends KaiselRoute { + const AppRoute(); +} + +final class Home extends AppRoute { const Home(); } + +final class ProductDetail extends AppRoute { + const ProductDetail(this.id); + final String id; + + @override + List get props => [id]; +} +``` + +No-field variants get equality automatically (`Home() == Home()`). Variants +with fields override `props`. + +## 2. Wire it up + +Bundle the router into a `KaiselRouterConfig` and hand it to +`MaterialApp.router` — no `StatefulWidget`, no manual delegate or parser: + +```dart +final _config = KaiselRouterConfig( + initial: const Home(), + builder: (context, route) => switch (route) { + Home() => const HomeScreen(), + ProductDetail(:final id) => ProductDetailScreen(id: id), + }, +); + +void main() => runApp(MaterialApp.router(routerConfig: _config)); +``` + +Add a variant and the `switch` fails to compile until you handle it. That's +the entire point. + +## 3. Navigate + +```dart +context.router().push(const ProductDetail('42')); +context.pop(); + +// Typed results: +final picked = await context.pushForResult(const ColorPicker()); +``` + +## Where next + +- [Navigation](/guides/navigation/) — the full core guide: stacks, typed + results, and imperative navigation outside the tree. +- [Shells & tabs](/guides/shells/) — bottom-nav with per-tab state. +- [Guards](/guides/guards/) — auth redirects as pure functions. +- [URLs & deep linking](/guides/urls-and-deep-linking/) — make the app + URL-addressable when you need it. +- Coming from another router? Start at + [Migration from go_router](/migration/from-go-router/). diff --git a/site/src/content/docs/index.mdx b/site/src/content/docs/index.mdx new file mode 100644 index 0000000..ebf8962 --- /dev/null +++ b/site/src/content/docs/index.mdx @@ -0,0 +1,38 @@ +--- +title: kaisel +description: A Dart 3-native router for Flutter — routes as values. No string paths, no codegen. +template: splash +hero: + tagline: Routes as values. A Dart 3-native router for Flutter — no string paths, no codegen. + image: + file: ../../assets/kaisel-mark.svg + actions: + - text: Get started + link: /getting-started/ + icon: right-arrow + - text: Migrate from go_router + link: /migration/from-go-router/ + variant: minimal +--- + +import { Card, CardGrid } from '@astrojs/starlight/components'; + + + + Navigation is a `switch` over a sealed type. Add a route and the compiler + finds every place that must handle it — no runtime "unknown route" left. + + + Your history is a `List` of route objects. Push, pop, and set are list + operations — testable without a widget tree, restorable across process + death. + + + Register a standard `NavigatorObserver` once — it sees tab switches and + adaptive in-place changes that produce no route event in other routers. + + + No `build_runner`, no generated files, no magic strings. Routes are plain + Dart classes you already know how to write. + + diff --git a/site/src/content/docs/migration/from-navigator.md b/site/src/content/docs/migration/from-navigator.md new file mode 100644 index 0000000..84717ab --- /dev/null +++ b/site/src/content/docs/migration/from-navigator.md @@ -0,0 +1,345 @@ +--- +title: "Migrating from Navigator to kaisel" +editUrl: https://github.com/Mastersam07/kaisel/blob/dev/packages/kaisel/doc/migration/from-navigator.md +--- + + + +If you're on Flutter's built-in `Navigator` — imperative `Navigator.push` +with `MaterialPageRoute`, named routes via `MaterialApp(routes:)` / +`onGenerateRoute`, or the declarative Router/Pages API (Navigator 2.0) — this +guide is the practical work of moving to kaisel. It isn't a sales pitch +(that's the [Routes as Values][article] article); it's what translates, what +doesn't, and what your diff will look like. + +[article]: https://medium.com/@codefarmer/flutter-routes-as-values-089476ad4d5b + +## The short version + +`Navigator` is **imperative**: you call `push`/`pop` from anywhere and the +stack is implicit, owned by the framework. Arguments ride along in builder +closures or as an untyped `Object?` in `RouteSettings.arguments`. + +kaisel is **value-native**: screens are sealed values, the stack is explicit +state, and a single exhaustive `switch` builds widgets from routes. You stop +constructing `MaterialPageRoute`s and start pushing typed values +(`context.push(Detail(id))`). + +The whole migration is that one shift. Everything else — the call sites, the +arguments, the route table — falls out of it mechanically. + +(If you hand-rolled **Navigator 2.0** — a `RouterDelegate` plus a `Pages` +list — you've *already* made that shift. Your migration is mostly deletion; +jump to +[Coming from Navigator 2.0](#coming-from-navigator-20-the-routerpages-api).) + +## Which Navigator are you using? + +There are three on-ramps, and they're not the same effort: + +- **Named routes** (`MaterialApp(routes: {...})`, `Navigator.pushNamed`, + `onGenerateRoute`). You already have a *centralized route table* — the + thing kaisel wants. Migration is mostly transcribing that table into a + sealed type and deleting `as`-casts. **This is the gentler path.** +- **Imperative** (`Navigator.push(context, MaterialPageRoute(builder: ...))` + scattered through the app). No central table exists, so the first job is + *discovering* every screen and lifting it into the sealed type. A bigger + conceptual leap, more grep-and-replace. +- **Navigator 2.0** (a hand-rolled `RouterDelegate` + `RouteInformationParser` + + `Pages` list). You already think declaratively, so the migration is mostly + *deleting* boilerplate kaisel provides — see + [Coming from Navigator 2.0](#coming-from-navigator-20-the-routerpages-api). + +All three end at the same place — a sealed type, a builder, and a +`KaiselRouterConfig`. The sections below (steps 1–5) are written for the +imperative/named tracks; the Navigator 2.0 section maps the same end state +onto what you'd delete. + +## Concept mapping + +| Navigator (imperative) | Navigator (named) | kaisel | +| ----------------------------------------------------------------- | -------------------------------------------------- | --------------------------------------------------- | +| `MaterialPageRoute(builder: (_) => DetailScreen())` call sites | `MaterialApp(routes: {'/detail': ...})` | a `sealed AppRoute` variant + one `switch` arm | +| `Navigator.push(ctx, MaterialPageRoute(builder: (_) => Detail(id)))` | `Navigator.pushNamed(ctx, '/detail', arguments: id)` | `context.push(Detail(id))` | +| `final args = ModalRoute.of(ctx)!.settings.arguments as DetailArgs` | same | gone — `id` is a typed constructor field | +| `Navigator.pop(ctx)` / `pop(ctx, result)` | same | `context.pop()` / `context.pop(result)` | +| `await Navigator.push(...)` | `await Navigator.pushNamed(...)` | `await context.pushForResult(route)` | +| `Navigator.pushReplacement(...)` | `pushReplacementNamed(...)` | `context.replaceTop(route)` | +| `Navigator.pushAndRemoveUntil(..., (_) => false)` | `pushNamedAndRemoveUntil(..., (_) => false)` | `context.set([route])` | +| `Navigator.popUntil(ctx, predicate)` | same | `context.popUntil(predicate)` or `set([...])` | +| `onGenerateRoute` parsing `/products/42` | same | typed construction `Products(42)` — or codec `decode` if it's a real URL | +| `onUnknownRoute` | same | a `NotFound` route variant + `fallback` | +| `initialRoute: '/'` | same | `initial: const Home()` | +| `showDialog` / `showModalBottomSheet` | same | **unchanged** — stay imperative overlays | +| bottom-nav via `IndexedStack` / per-tab `Navigator` | same | `KaiselBranchedShell` | +| push from a service via a global `navigatorKey` | same | `router.push(route)` on a held router reference | + +The left two columns treat a screen as *something you imperatively show*; +the right column treats it as *a value in a stack you mutate*. Everything +cascades from that. + +## The migration in five steps + +### 1. Define the sealed route type + +Enumerate every screen. Each becomes a variant; each push-argument becomes a +typed constructor field. + +```dart +sealed class AppRoute extends KaiselRoute { + const AppRoute(); +} + +final class Home extends AppRoute { + const Home(); +} + +final class ProductDetail extends AppRoute { + const ProductDetail(this.id); + final String id; + @override + List get props => [id]; // value equality, for free +} +``` + +- **Named-route track:** your `routes:` map keys and `onGenerateRoute` cases + *are* this list — transcribe them one-to-one. +- **Imperative track:** grep for `MaterialPageRoute(` and + `Navigator.push(` to discover the full set. The screens that take + constructor arguments today keep them; the ones that read + `settings.arguments` get those arguments promoted to typed fields. + +### 2. Write the builder + +One exhaustive `switch` from route to widget. This replaces the `routes:` +map, every `onGenerateRoute` case, and every scattered +`MaterialPageRoute(builder:)`. + +```dart +Widget buildScreen(BuildContext context, AppRoute route) => switch (route) { + Home() => const HomeScreen(), + ProductDetail(:final id) => ProductDetailScreen(id: id), +}; +``` + +The compiler now enforces that every route has a screen — a forgotten one is +a **compile error**, not a runtime "route not found". + +### 3. Swap the app root + +Replace `MaterialApp(home:/routes:/onGenerateRoute:)` with +`MaterialApp.router` driven by a `KaiselRouterConfig`. Hold the config as a +top-level `final`. + +```dart +final _config = KaiselRouterConfig( + initial: const Home(), + builder: buildScreen, +); + +class App extends StatelessWidget { + const App({super.key}); + @override + Widget build(BuildContext context) => + MaterialApp.router(routerConfig: _config); +} +``` + +`initialRoute` becomes `initial:`. `onUnknownRoute` becomes a `NotFound` +variant your builder handles (and, with a codec, the `fallback`). + +### 4. Replace the call sites + +Mechanical, and grep-able. Push typed values instead of routes/names: + +```dart +// before (imperative) +Navigator.push(context, MaterialPageRoute(builder: (_) => ProductDetail(id))); +// before (named) +Navigator.pushNamed(context, '/product', arguments: id); + +// after +context.push(ProductDetail(id)); +``` + +Then `pop` → `context.pop()`, `pushReplacement(Named)` → +`context.replaceTop(...)`, `pushAndRemoveUntil(..., (_) => false)` → +`context.set([...])`. + +**Delete the argument casts.** Every +`ModalRoute.of(context)!.settings.arguments as DetailArgs` goes away — the +screen receives `id` as a typed constructor parameter from the builder. + +**Push from outside the widget tree** (a service, a bloc) by holding the +router: `_config.router.push(ProductDetail(id))` — no `navigatorKey` and no +`BuildContext` required. + +### 5. Return values, dialogs, tabs + +- **A screen that returns a value** (`await Navigator.push` → `pop(result)`) + becomes `await context.pushForResult(route)`, and the screen returns with + `context.pop(value)`. +- **Dialogs and bottom sheets stay imperative.** `showDialog` / + `showModalBottomSheet` work unchanged; `context.pop()` from inside one + closes it (it's an overlay, not a kaisel route). +- **Bottom-nav / tabs.** An `IndexedStack` or per-tab `Navigator` becomes a + `KaiselBranchedShell` with one branch per tab — and you get per-tab stack + preservation as the default. + +## What you gain + +Coming from `Navigator`, three latent foot-guns disappear at compile time — +this is the reason to migrate, not just the cost: + +1. **Typed arguments.** `pushNamed`/`settings.arguments` pass `Object?`; the + screen casts with `as` (crashes if wrong, silently null if forgotten). + kaisel arguments are **compile-checked constructor fields** — a whole + class of "arguments null/wrong-type" bugs is gone. +2. **Exhaustiveness.** A typo'd route string (`'/detial'`) compiles and + crashes at runtime; a screen you forgot to register is a runtime surprise. + kaisel's sealed `switch` makes both a **compile error**. +3. **No string drift.** `pushNamed('/detail')` is stringly-typed and drifts + from its map key. `push(Detail())` is a symbol — rename and refactor + safely. + +You also lose code: the `routes:` map, `onGenerateRoute`/`onUnknownRoute` +plumbing, and every `arguments as X` cast. + +## Coming from Navigator 2.0 (the Router/Pages API) + +If you hand-rolled a `RouterDelegate` + `RouteInformationParser` + a `Pages` +list, you're already where kaisel wants you: declarative, pages-as-state. +kaisel *is* a typed Navigator 2.0 that owns the machinery you wrote by hand, +so your migration is mostly **deletion**. Steps 1–5 above still land you at +the same place (a sealed type + a builder + a `KaiselRouterConfig`) — but +instead of rewriting call sites, you're throwing boilerplate away. + +| Navigator 2.0 (hand-rolled) | kaisel | +| ---------------------------------------------------------------------- | ----------------------------------------------- | +| Custom `RouterDelegate` + `build()` returning `Navigator(pages:)` | **deleted** — `KaiselRouterDelegate` + your builder `switch` | +| Your nav-state type `T` (the page-list model) | a `sealed AppRoute` + the typed stack | +| `Navigator(pages: [MaterialPage(...), ...])` | the stack drives pages; one builder arm per route | +| `onPopPage` / `onDidRemovePage` + the sync dance | internal to kaisel | +| `ChangeNotifier` + `notifyListeners()` on nav changes | `KaiselRouter` *is* the stack-as-state notifier | +| `RouteInformationParser.parseRouteInformation` (URL → `T`) | `KaiselConfigCodec.decode` | +| `restoreRouteInformation` / `currentConfiguration` (`T` → URL) | `KaiselConfigCodec.encode` | +| `setNewRoutePath` / `setInitialRoutePath` | `initial:` + codec `decode` | +| nested `Navigator`s built in the delegate | `KaiselBranchedShell` / modules | +| custom `Page` subclasses / bespoke transitions | `pageWrapper` | + +The win beyond less code: the `onPopPage`/`onDidRemovePage` sync — the part of +Navigator 2.0 everyone gets wrong — disappears, because the stack is the +single source of truth. Your `T` becomes a sealed, exhaustive type, and you +inherit guards, shells, modal flows, and DevTools instead of hand-building +them on your delegate. + +**Before** — a hand-rolled delegate (abridged): + +```dart +class AppRouterDelegate extends RouterDelegate + with ChangeNotifier, PopNavigatorRouterDelegateMixin { + AppState state = AppState.initial(); + + @override + Widget build(BuildContext context) => Navigator( + key: navigatorKey, + pages: [ + const MaterialPage(child: HomeScreen()), + if (state.productId case final id?) + MaterialPage(child: ProductDetailScreen(id: id)), + ], + onPopPage: (route, result) { + if (!route.didPop(result)) return false; + state = state.copyWith(productId: null); // keep this in sync by hand… + notifyListeners(); + return true; + }, + ); + + @override + Future setNewRoutePath(AppState configuration) async { + state = configuration; + } + // … plus an AppRouteInformationParser turning the URL into AppState. +} +``` + +**After** — the delegate, parser, and pop-sync are gone: + +```dart +sealed class AppRoute extends KaiselRoute { const AppRoute(); } +final class Home extends AppRoute { const Home(); } +final class ProductDetail extends AppRoute { + const ProductDetail(this.id); + final String id; + @override + List get props => [id]; +} + +final _config = KaiselRouterConfig( + initial: const Home(), + builder: (context, route) => switch (route) { + Home() => const HomeScreen(), + ProductDetail(:final id) => ProductDetailScreen(id: id), + }, + // codec: AppCodec(), // only if those routes were URLs +); +``` + +Your `AppState` becomes the sealed stack; your parser becomes the codec's +`decode`; your `build` / `onPopPage` / `notifyListeners` become nothing you +maintain. If you were on a Navigator 2.0 *wrapper* (Beamer, Routemaster, +VRouter), you're deleting *their* delegate abstraction instead of your own — +the location/state model still maps onto the codec + stack the same way. + +## The one decision that sets the effort + +**Did your route names / `onGenerateRoute` strings carry URL or deep-link +meaning, or were they purely internal?** + +- **Purely internal** (mobile app, names are just programmatic labels) → the + strings simply *become types*. No codec needed. The mechanical case. +- **Names were your web URLs / deep links** (or `onGenerateRoute` parsed + `/products/:id` from a link) → that parsing moves into a kaisel **codec's + `decode`** so the same URLs keep working. It's the same logic you already + wrote, relocated and made type-safe. See + [from-go-router.md](/migration/from-go-router/) §6 for the codec shape. + +## What kaisel doesn't yet do at parity + +Be honest about these before you start: + +- **Browser back integration on the web.** Works via the codec, but value- + derived URLs are more manual and less battle-tested than a string-path + router. Test back/forward/refresh on a migration branch if web is the + primary target. +- **Pre-built page transitions.** No library of named transitions; wire your + own via the `pageWrapper` mechanism. + +## Migration strategy: the main stack flips at once + +kaisel owns the app-level `Navigator`, so you can't half-migrate the main +stack — it's a single root swap (step 3). But it isn't all-or-nothing: +`showDialog` / `showModalBottomSheet` and any nested `Navigator` widgets you +embed in your own widgets keep working untouched. Land the sealed type and +builder first (they're additive), then flip the root and replace call sites +in one focused branch. + +## A worked example + +A small app — Home + ProductList + ProductDetail + Login — typically loses +its `routes:` map, its `arguments as X` casts, and any `onGenerateRoute` +string-parsing, in exchange for one sealed type and one `switch`. The +[`example/`](https://github.com/Mastersam07/kaisel/blob/dev/packages/kaisel/example/) folder demonstrates the same patterns +(branched shells, modal flows, adaptive layouts); scan +[`main.dart`](https://github.com/Mastersam07/kaisel/blob/dev/packages/kaisel/example/lib/main.dart) for a working analogue when a +specific `Navigator` construct is unclear. + +## More questions + +File an issue at the [kaisel repo][repo] with the `Navigator` pattern you +can't figure out how to translate. Migration-shaped questions are the +highest-value conversations to have right now — they shape what this guide +covers next. + +[repo]: https://github.com/Mastersam07/kaisel diff --git a/site/src/styles/custom.css b/site/src/styles/custom.css new file mode 100644 index 0000000..ed5163a --- /dev/null +++ b/site/src/styles/custom.css @@ -0,0 +1,20 @@ +/* kaisel brand — see assets/brand/README.md for the palette. */ + +:root { + --sl-color-accent-low: #0b3742; + --sl-color-accent: #0e7490; + --sl-color-accent-high: #a5f3fc; + --sl-color-bg: #060a14; + --sl-color-bg-nav: #080d19; + --sl-color-bg-sidebar: #080d19; +} + +:root[data-theme='light'] { + --sl-color-accent-low: #cffafe; + --sl-color-accent: #0e7490; + --sl-color-accent-high: #155e75; +} + +.hero img { + filter: drop-shadow(0 0 40px rgba(34, 211, 238, 0.35)); +} diff --git a/site/tsconfig.json b/site/tsconfig.json new file mode 100644 index 0000000..8bf91d3 --- /dev/null +++ b/site/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [".astro/types.d.ts", "**/*"], + "exclude": ["dist"] +} From a12ff57cd449d66ed808cdee648cf7b3e2de483a Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 13:38:01 +0100 Subject: [PATCH 02/15] chore: add og image --- site/astro.config.mjs | 14 ++++++++++++++ site/public/og.png | Bin 0 -> 164349 bytes 2 files changed, 14 insertions(+) create mode 100644 site/public/og.png diff --git a/site/astro.config.mjs b/site/astro.config.mjs index 1649b88..e1d011f 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -23,6 +23,20 @@ export default defineConfig({ }, ], customCss: ['./src/styles/custom.css'], + head: [ + { + tag: 'meta', + attrs: { property: 'og:image', content: 'https://kaisel.dev/og.png' }, + }, + { + tag: 'meta', + attrs: { name: 'twitter:card', content: 'summary_large_image' }, + }, + { + tag: 'meta', + attrs: { name: 'twitter:image', content: 'https://kaisel.dev/og.png' }, + }, + ], sidebar: [ { label: 'Start here', items: ['getting-started'] }, { diff --git a/site/public/og.png b/site/public/og.png new file mode 100644 index 0000000000000000000000000000000000000000..337c029bdb6e7969afada77694a0197d6a0487c5 GIT binary patch literal 164349 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�?k>fh;_idPH}~`9 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 Date: Fri, 17 Jul 2026 13:40:50 +0100 Subject: [PATCH 03/15] chore: improve migration guide --- site/astro.config.mjs | 1 + site/scripts/sync-docs.mjs | 1 + site/src/content/docs/getting-started.md | 5 +++-- site/src/content/docs/index.mdx | 4 ++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/site/astro.config.mjs b/site/astro.config.mjs index e1d011f..42dc9b5 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -55,6 +55,7 @@ export default defineConfig({ { label: 'Migration', items: [ + { label: 'Overview', slug: 'migration' }, { label: 'From go_router', slug: 'migration/from-go-router' }, { label: 'From auto_route', slug: 'migration/from-auto-route' }, { label: 'From Navigator', slug: 'migration/from-navigator' }, diff --git a/site/scripts/sync-docs.mjs b/site/scripts/sync-docs.mjs index c6927c4..1c8d265 100644 --- a/site/scripts/sync-docs.mjs +++ b/site/scripts/sync-docs.mjs @@ -29,6 +29,7 @@ const pages = [ ['TRANSITIONS.md', 'transitions'], ].map(([file, slug]) => [`skills/kaisel/${file}`, `guides/${slug}.md`]), ...[ + ['README.md', 'index'], ['from-go-router.md', 'from-go-router'], ['from-auto-route.md', 'from-auto-route'], ['from-navigator.md', 'from-navigator'], diff --git a/site/src/content/docs/getting-started.md b/site/src/content/docs/getting-started.md index 1ad1ce2..2d4ad93 100644 --- a/site/src/content/docs/getting-started.md +++ b/site/src/content/docs/getting-started.md @@ -74,5 +74,6 @@ final picked = await context.pushForResult(const ColorPicker()); - [Guards](/guides/guards/) — auth redirects as pure functions. - [URLs & deep linking](/guides/urls-and-deep-linking/) — make the app URL-addressable when you need it. -- Coming from another router? Start at - [Migration from go_router](/migration/from-go-router/). +- Coming from another router? Start at the + [migration overview](/migration/) — guides for go_router, auto_route, + and Navigator, with effort estimates. diff --git a/site/src/content/docs/index.mdx b/site/src/content/docs/index.mdx index ebf8962..d5a94e1 100644 --- a/site/src/content/docs/index.mdx +++ b/site/src/content/docs/index.mdx @@ -10,8 +10,8 @@ hero: - text: Get started link: /getting-started/ icon: right-arrow - - text: Migrate from go_router - link: /migration/from-go-router/ + - text: Coming from another router? + link: /migration/ variant: minimal --- From 33ec888f46b9062813f5ce9678725bfd59c44099 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 13:44:18 +0100 Subject: [PATCH 04/15] chore: tint each card icon a different hue --- site/src/styles/custom.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/site/src/styles/custom.css b/site/src/styles/custom.css index ed5163a..7b8826b 100644 --- a/site/src/styles/custom.css +++ b/site/src/styles/custom.css @@ -18,3 +18,10 @@ .hero img { filter: drop-shadow(0 0 40px rgba(34, 211, 238, 0.35)); } + +/* Starlight tints each card icon a different hue; keep them all on brand. */ +.card > .title .icon { + color: var(--sl-color-accent-high); + border-color: color-mix(in srgb, var(--sl-color-accent) 50%, transparent); + background: color-mix(in srgb, var(--sl-color-accent) 12%, transparent); +} From 38d6985844e717353a44792356151392da60c21d Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 14:02:42 +0100 Subject: [PATCH 05/15] chore: use node 22 for docs site --- .github/workflows/docs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 09138fc..b4b44be 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -37,6 +37,7 @@ jobs: - uses: withastro/action@v3 with: path: ./site + node-version: 22 deploy: if: github.event_name != 'pull_request' From 0929b872ff596aca3de4e514b4a7ae35da4b562e Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 14:05:18 +0100 Subject: [PATCH 06/15] chore: restrict packages ci --- .github/workflows/ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 619b622..73924d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,8 +3,20 @@ name: Test on: push: branches: [dev, master] + paths-ignore: + - 'site/**' + - 'skills/**' + - 'assets/**' + - '**.md' + - '.github/workflows/docs.yml' pull_request: branches: [dev, master] + paths-ignore: + - 'site/**' + - 'skills/**' + - 'assets/**' + - '**.md' + - '.github/workflows/docs.yml' # Cancel superseded runs on the same ref so pushes don't pile up. concurrency: From 6619d8822bf710876eef868c4f4276d806756d28 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 14:21:43 +0100 Subject: [PATCH 07/15] chore: add doc for tooling(ai skills, lint and devtool) --- site/.gitignore | 2 + site/astro.config.mjs | 8 ++++ site/scripts/sync-docs.mjs | 12 +++-- site/src/content/docs/index.mdx | 49 +++++++++++++++++-- site/src/content/docs/tooling/ai-skills.md | 30 ++++++++++++ site/src/styles/custom.css | 55 ++++++++++++++++++++++ 6 files changed, 148 insertions(+), 8 deletions(-) create mode 100644 site/src/content/docs/tooling/ai-skills.md diff --git a/site/.gitignore b/site/.gitignore index 9d949c9..a0f9168 100644 --- a/site/.gitignore +++ b/site/.gitignore @@ -25,3 +25,5 @@ pnpm-debug.log* src/content/docs/guides/ src/content/docs/migration/ src/content/docs/roadmap.md +src/content/docs/tooling/devtools.md +src/content/docs/tooling/lints.md diff --git a/site/astro.config.mjs b/site/astro.config.mjs index 42dc9b5..ef9f91b 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -61,6 +61,14 @@ export default defineConfig({ { label: 'From Navigator', slug: 'migration/from-navigator' }, ], }, + { + label: 'Tooling', + items: [ + { label: 'DevTools extension', slug: 'tooling/devtools' }, + { label: 'Lints', slug: 'tooling/lints' }, + { label: 'AI & editor skills', slug: 'tooling/ai-skills' }, + ], + }, { label: 'Project', items: [ diff --git a/site/scripts/sync-docs.mjs b/site/scripts/sync-docs.mjs index 1c8d265..1c0905b 100644 --- a/site/scripts/sync-docs.mjs +++ b/site/scripts/sync-docs.mjs @@ -38,6 +38,8 @@ const pages = [ `migration/${slug}.md`, ]), ['ROADMAP.md', 'roadmap.md'], + ['packages/kaisel_devtools/README.md', 'tooling/devtools.md', 'DevTools extension'], + ['packages/kaisel_lint/README.md', 'tooling/lints.md', 'Lints'], ]; // Relative links between synced files become site links; anything else @@ -50,16 +52,20 @@ const siteLinks = new Map([ rmSync(join(out, 'guides'), { recursive: true, force: true }); rmSync(join(out, 'migration'), { recursive: true, force: true }); +rmSync(join(out, 'tooling', 'devtools.md'), { force: true }); +rmSync(join(out, 'tooling', 'lints.md'), { force: true }); rmSync(join(out, 'roadmap.md'), { force: true }); const unresolved = []; -for (const [source, destination] of pages) { +for (const [source, destination, titleOverride] of pages) { let text = readFileSync(join(repo, source), 'utf8'); const heading = text.match(/^# (.+)$/m); if (!heading) throw new Error(`${source}: no H1 to use as the page title`); - const title = heading[1].trim(); - text = text.replace(/^# .+\n+/m, ''); + const title = titleOverride ?? heading[1].trim(); + // Drop everything through the H1 (brand images and badge rows in package + // READMEs shouldn't render inside a docs page). + text = text.slice(text.indexOf(heading[0]) + heading[0].length).trimStart(); text = text.replace(/\]\(([^)\s]+)\)/g, (match, target) => { if (/^(https?:|#|mailto:)/.test(target)) return match; diff --git a/site/src/content/docs/index.mdx b/site/src/content/docs/index.mdx index d5a94e1..880bd7b 100644 --- a/site/src/content/docs/index.mdx +++ b/site/src/content/docs/index.mdx @@ -7,16 +7,32 @@ hero: image: file: ../../assets/kaisel-mark.svg actions: - - text: Get started + - text: Get Started link: /getting-started/ - icon: right-arrow - - text: Coming from another router? - link: /migration/ - variant: minimal + icon: rocket + - text: View on GitHub + link: https://github.com/Mastersam07/kaisel + icon: github + variant: secondary --- import { Card, CardGrid } from '@astrojs/starlight/components'; + +
+ + ```sh + flutter pub add kaisel + ``` + + + The [getting started guide](/getting-started/) takes you from install to + navigating with typed routes in a few minutes — sealed class, exhaustive + `switch`, done. + +
+
+ Navigation is a `switch` over a sealed type. Add a route and the compiler @@ -36,3 +52,26 @@ import { Card, CardGrid } from '@astrojs/starlight/components'; Dart classes you already know how to write. + + + + + + + + + diff --git a/site/src/content/docs/tooling/ai-skills.md b/site/src/content/docs/tooling/ai-skills.md new file mode 100644 index 0000000..86cbab9 --- /dev/null +++ b/site/src/content/docs/tooling/ai-skills.md @@ -0,0 +1,30 @@ +--- +title: AI & editor skills +description: Teach AI coding agents — Claude Code, Cursor, opencode — how kaisel works, so they generate idiomatic kaisel code instead of guessing. +--- + +kaisel ships an [agent skill](https://github.com/Mastersam07/kaisel/tree/dev/skills/kaisel) +— a set of structured guides that teach AI coding agents (Claude Code, Cursor, +opencode, …) how kaisel works, so they generate idiomatic kaisel code instead +of guessing at the API. + +## Install + +```sh +npx skills add Mastersam07/kaisel +``` + +That's it — the [`skills` CLI](https://github.com/vercel-labs/skills) wires +the skill into the agents it detects in your project. + +## What the agent learns + +The skill covers the same ground as this site's guides — navigation verbs, +shells, modal flows, adaptive layouts, guards, codecs, modules, and +transitions — in a form agents consume before writing code. With it +installed, an agent asked to "add a settings screen" will produce a sealed +route variant, extend your exhaustive `switch`, and navigate with a typed +push instead of inventing string paths. + +The skill and this documentation site are generated from the same source +files, so they can't drift apart. diff --git a/site/src/styles/custom.css b/site/src/styles/custom.css index 7b8826b..48b25d7 100644 --- a/site/src/styles/custom.css +++ b/site/src/styles/custom.css @@ -25,3 +25,58 @@ border-color: color-mix(in srgb, var(--sl-color-accent) 50%, transparent); background: color-mix(in srgb, var(--sl-color-accent) 12%, transparent); } + +/* Soft glow behind the hero, bloclibrary.dev-style. */ +[data-has-hero] main { + background: + radial-gradient( + ellipse 55% 35% at 72% 12%, + color-mix(in srgb, var(--sl-color-accent) 22%, transparent), + transparent 70% + ); +} + +/* Install snippet beside its blurb inside the get-started card. */ +.get-started-card { + display: grid; + gap: 1rem; + align-items: center; +} + +@media (min-width: 50rem) { + .get-started-card { + grid-template-columns: minmax(0, 3fr) 4fr; + } +} + +/* Bloc-style link directories inside cards. */ +.link-list { + list-style: none; + padding: 0; + margin: 0; +} + +.link-list li { + border-bottom: 1px solid var(--sl-color-hairline); +} + +.link-list li:last-child { + border-bottom: none; +} + +.link-list a { + display: flex; + justify-content: space-between; + padding: 0.55rem 0.25rem; + text-decoration: none; + color: var(--sl-color-white); +} + +.link-list a::after { + content: '→'; + color: var(--sl-color-accent-high); +} + +.link-list a:hover { + color: var(--sl-color-accent-high); +} From a2cdb81e5f364cd07bf6aef752b3792931867e67 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 14:35:38 +0100 Subject: [PATCH 08/15] chore: fix light mode --- assets/brand/README.md | 3 +- assets/brand/kaisel-mark-light.png | Bin 0 -> 96128 bytes assets/brand/kaisel-mark-light.svg | 89 ++++++++++++++++++++++++++ site/astro.config.mjs | 6 +- site/src/assets/kaisel-mark-light.svg | 89 ++++++++++++++++++++++++++ site/src/content/docs/index.mdx | 3 +- site/src/styles/custom.css | 6 +- 7 files changed, 192 insertions(+), 4 deletions(-) create mode 100644 assets/brand/kaisel-mark-light.png create mode 100644 assets/brand/kaisel-mark-light.svg create mode 100644 site/src/assets/kaisel-mark-light.svg diff --git a/assets/brand/README.md b/assets/brand/README.md index aefd797..8a55081 100644 --- a/assets/brand/README.md +++ b/assets/brand/README.md @@ -10,7 +10,8 @@ of them, then re-render with `rsvg-convert` (see commands below). | `kaisel-icon.svg` | Master mark on the dark tile. Source of truth. | | `kaisel-icon-1024.png` | Hi-res square tile. Downscale for any avatar or icon slot. | | `kaisel-icon-rounded.svg/png` | App-icon tile with rounded corners. Avatars: X, Discord, Medium, pub.dev publisher. | -| `kaisel-mark.svg/png` | Transparent mark. Package READMEs (core, lint, devtools); anywhere the background should show through. | +| `kaisel-mark.svg/png` | Transparent mark for dark backgrounds. Package READMEs (core, lint, devtools); docs-site logo and hero (dark theme). | +| `kaisel-mark-light.svg/png` | Transparent mark with a deepened ramp for white backgrounds. Docs-site logo and hero (light theme). | | `kaisel-logo-dark.svg/png` | Transparent lockup, white wordmark. README headers on dark backgrounds. | | `kaisel-logo-light.svg/png` | Transparent lockup, slate wordmark. README headers on light backgrounds. | | `kaisel-banner.png` | Lockup on the dark tile. dev.to covers, Medium headers, slides — wide slots that want a baked background. | diff --git a/assets/brand/kaisel-mark-light.png b/assets/brand/kaisel-mark-light.png new file mode 100644 index 0000000000000000000000000000000000000000..359dc561ad2725668c50e7abed3c6f77b9d23e2b GIT binary patch literal 96128 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 LFO+K)VPXFd3$q$i literal 0 HcmV?d00001 diff --git a/assets/brand/kaisel-mark-light.svg b/assets/brand/kaisel-mark-light.svg new file mode 100644 index 0000000..4e9624e --- /dev/null +++ b/assets/brand/kaisel-mark-light.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/astro.config.mjs b/site/astro.config.mjs index ef9f91b..3243483 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -9,7 +9,11 @@ export default defineConfig({ title: 'kaisel', description: 'A Dart 3-native router for Flutter — sealed routes, pattern matching, and a stack-as-value model. No string paths, no codegen.', - logo: { src: './src/assets/kaisel-mark.svg', alt: 'kaisel' }, + logo: { + dark: './src/assets/kaisel-mark.svg', + light: './src/assets/kaisel-mark-light.svg', + alt: 'kaisel', + }, social: [ { icon: 'github', diff --git a/site/src/assets/kaisel-mark-light.svg b/site/src/assets/kaisel-mark-light.svg new file mode 100644 index 0000000..4e9624e --- /dev/null +++ b/site/src/assets/kaisel-mark-light.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/site/src/content/docs/index.mdx b/site/src/content/docs/index.mdx index 880bd7b..6d115d9 100644 --- a/site/src/content/docs/index.mdx +++ b/site/src/content/docs/index.mdx @@ -5,7 +5,8 @@ template: splash hero: tagline: Routes as values. A Dart 3-native router for Flutter — no string paths, no codegen. image: - file: ../../assets/kaisel-mark.svg + dark: ../../assets/kaisel-mark.svg + light: ../../assets/kaisel-mark-light.svg actions: - text: Get Started link: /getting-started/ diff --git a/site/src/styles/custom.css b/site/src/styles/custom.css index 48b25d7..f5947a9 100644 --- a/site/src/styles/custom.css +++ b/site/src/styles/custom.css @@ -1,9 +1,13 @@ /* kaisel brand — see assets/brand/README.md for the palette. */ -:root { +:root, +:root[data-theme='dark'] { --sl-color-accent-low: #0b3742; --sl-color-accent: #0e7490; --sl-color-accent-high: #a5f3fc; +} + +:root[data-theme='dark'] { --sl-color-bg: #060a14; --sl-color-bg-nav: #080d19; --sl-color-bg-sidebar: #080d19; From f6df57152ef468a98d48b5d3d80e272a00294a3c Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 14:47:28 +0100 Subject: [PATCH 09/15] chore: add documentation site to pubspec --- packages/kaisel/pubspec.yaml | 1 + packages/kaisel_core/pubspec.yaml | 1 + packages/kaisel_lint/pubspec.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/packages/kaisel/pubspec.yaml b/packages/kaisel/pubspec.yaml index 5af1682..c5d6c3d 100644 --- a/packages/kaisel/pubspec.yaml +++ b/packages/kaisel/pubspec.yaml @@ -4,6 +4,7 @@ version: 1.0.0 repository: https://github.com/Mastersam07/kaisel homepage: https://github.com/Mastersam07/kaisel issue_tracker: https://github.com/Mastersam07/kaisel/issues +documentation: https://kaisel.dev topics: - router - navigation diff --git a/packages/kaisel_core/pubspec.yaml b/packages/kaisel_core/pubspec.yaml index 6be8bb8..1dbe8c4 100644 --- a/packages/kaisel_core/pubspec.yaml +++ b/packages/kaisel_core/pubspec.yaml @@ -4,6 +4,7 @@ version: 1.0.0 repository: https://github.com/Mastersam07/kaisel/tree/dev/packages/kaisel_core homepage: https://github.com/Mastersam07/kaisel/tree/dev/packages/kaisel_core issue_tracker: https://github.com/Mastersam07/kaisel/issues +documentation: https://kaisel.dev resolution: workspace topics: - router diff --git a/packages/kaisel_lint/pubspec.yaml b/packages/kaisel_lint/pubspec.yaml index 1855ee7..1627d59 100644 --- a/packages/kaisel_lint/pubspec.yaml +++ b/packages/kaisel_lint/pubspec.yaml @@ -4,6 +4,7 @@ version: 0.5.1 repository: https://github.com/Mastersam07/kaisel/tree/dev/packages/kaisel_lint homepage: https://github.com/Mastersam07/kaisel/tree/dev/packages/kaisel_lint issue_tracker: https://github.com/Mastersam07/kaisel/issues +documentation: https://kaisel.dev/tooling/lints/ screenshots: - description: The kaisel mark From 30b9351bc2d8e79fb0da2f0e9faf9cf5f3e57b1f Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 14:50:38 +0100 Subject: [PATCH 10/15] chore: improved documentation --- site/astro.config.mjs | 6 ++ site/package-lock.json | 156 ++++++++++++++++++++++++++++++++++++++++ site/package.json | 5 +- site/public/favicon.svg | 134 +++++++++++++++++++++++++++++----- 4 files changed, 282 insertions(+), 19 deletions(-) diff --git a/site/astro.config.mjs b/site/astro.config.mjs index 3243483..907d83f 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -1,11 +1,13 @@ // @ts-check import { defineConfig } from 'astro/config'; import starlight from '@astrojs/starlight'; +import starlightLinksValidator from 'starlight-links-validator'; export default defineConfig({ site: 'https://kaisel.dev', integrations: [ starlight({ + plugins: [starlightLinksValidator()], title: 'kaisel', description: 'A Dart 3-native router for Flutter — sealed routes, pattern matching, and a stack-as-value model. No string paths, no codegen.', @@ -26,6 +28,10 @@ export default defineConfig({ href: 'https://pub.dev/packages/kaisel', }, ], + editLink: { + baseUrl: + 'https://github.com/Mastersam07/kaisel/edit/dev/site/src/content/docs/', + }, customCss: ['./src/styles/custom.css'], head: [ { diff --git a/site/package-lock.json b/site/package-lock.json index 8fdc3bb..1f36b47 100644 --- a/site/package-lock.json +++ b/site/package-lock.json @@ -11,6 +11,9 @@ "@astrojs/starlight": "^0.41.3", "astro": "^7.0.2", "sharp": "^0.34.5" + }, + "devDependencies": { + "starlight-links-validator": "^0.25.2" } }, "node_modules/@astrojs/compiler-binding": { @@ -2215,6 +2218,13 @@ "undici-types": "~7.18.0" } }, + "node_modules/@types/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-iG0T6+nYJ9FAPmx9SsUlnwcq1ZVRuCXcVEvWnntoPlrOpwtSTKNDC9uVAxTsC3PUvJ+99n4RpAcNgBbHX3JSnQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/sax": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", @@ -2269,6 +2279,22 @@ "am-i-vibing": "dist/cli.mjs" } }, + "node_modules/ansi-escapes": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.3.0.tgz", + "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -2927,6 +2953,19 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/es-module-lexer": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.3.1.tgz", @@ -3256,6 +3295,19 @@ "uncrypto": "^0.1.3" } }, + "node_modules/has-flag": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-5.0.1.tgz", + "integrity": "sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/hast-util-embedded": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", @@ -3696,6 +3748,19 @@ "url": "https://github.com/sponsors/brc-dd" } }, + "node_modules/is-absolute-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-5.0.0.tgz", + "integrity": "sha512-sdJyNpBnQHuVnBunfzjAecOhZr2+A30ywfFvu3EnxtKLUWfwGgyWUmqHbGZiU6vTfHpCPm5GvLe4BAvlU9n8VQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-alphabetical": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", @@ -6149,6 +6214,34 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/starlight-links-validator": { + "version": "0.25.2", + "resolved": "https://registry.npmjs.org/starlight-links-validator/-/starlight-links-validator-0.25.2.tgz", + "integrity": "sha512-RQiHkM8FHKermsjMkSb+uS/q50Dv5P0O0ECWKxJyTv4stuO8QTorIEKnITDDLEf9/xyg7M69arxiK2ola3OMqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@astrojs/markdown-satteri": "^0.3.2", + "@types/picomatch": "^4.0.2", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "is-absolute-url": "^5.0.0", + "mdast-util-mdx-jsx": "^3.2.0", + "mdast-util-to-hast": "^13.2.1", + "picomatch": "^4.0.3", + "satteri": "^0.9.3", + "terminal-link": "^5.0.0", + "unist-util-visit": "^5.1.0", + "yaml": "^2.8.3" + }, + "engines": { + "node": ">=22.12.0" + }, + "peerDependencies": { + "@astrojs/starlight": ">=0.41.0", + "astro": ">=7.0.2" + } + }, "node_modules/stream-replace-string": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", @@ -6187,6 +6280,36 @@ "inline-style-parser": "0.2.7" } }, + "node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-hyperlinks": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-4.5.0.tgz", + "integrity": "sha512-ZW2OvfeCXrNTbLakPUzjQG922EeGCOteFSVoek5DKStTh898wf7zgtuFlzQN8HfZCxC3Eh02yJVrRW51hADf+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^5.0.1", + "supports-color": "^10.2.2" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" + } + }, "node_modules/svgo": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.2.tgz", @@ -6212,6 +6335,23 @@ "url": "https://opencollective.com/svgo" } }, + "node_modules/terminal-link": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-5.0.0.tgz", + "integrity": "sha512-qFAy10MTMwjzjU8U16YS4YoZD+NQLHzLssFMNqgravjbvIPNiqkGFR4yjhJfmY9R5OFU7+yHxc6y+uGHkKwLRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "supports-hyperlinks": "^4.1.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/tiny-inflate": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", @@ -6737,6 +6877,22 @@ "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", "license": "MIT" }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "devOptional": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, "node_modules/yargs-parser": { "version": "22.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", diff --git a/site/package.json b/site/package.json index fae1811..a057301 100644 --- a/site/package.json +++ b/site/package.json @@ -16,5 +16,8 @@ "@astrojs/starlight": "^0.41.3", "astro": "^7.0.2", "sharp": "^0.34.5" + }, + "devDependencies": { + "starlight-links-validator": "^0.25.2" } -} \ No newline at end of file +} diff --git a/site/public/favicon.svg b/site/public/favicon.svg index 4e2e060..bad5780 100644 --- a/site/public/favicon.svg +++ b/site/public/favicon.svg @@ -1,29 +1,126 @@ + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - - - - + + - + - + - - - - + - - + + + From 879e2c4b4cb06ea8b2931c0f3d9428cade863060 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 14:58:55 +0100 Subject: [PATCH 11/15] chore: rounded cards --- site/src/styles/custom.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/site/src/styles/custom.css b/site/src/styles/custom.css index f5947a9..827264a 100644 --- a/site/src/styles/custom.css +++ b/site/src/styles/custom.css @@ -84,3 +84,9 @@ .link-list a:hover { color: var(--sl-color-accent-high); } + +/* Starlight cards are square by default; round them to match the pill + buttons and code frames. */ +.card { + border-radius: 0.75rem; +} From b0fc425fd9d5ca9c63619dca0f7ce48d327c9a9d Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 15:15:16 +0100 Subject: [PATCH 12/15] chore: 404 page --- packages/kaisel/doc/migration/README.md | 6 +++--- site/src/content/docs/404.md | 18 ++++++++++++++++++ site/src/styles/custom.css | 4 ++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 site/src/content/docs/404.md diff --git a/packages/kaisel/doc/migration/README.md b/packages/kaisel/doc/migration/README.md index d0d6110..2f44867 100644 --- a/packages/kaisel/doc/migration/README.md +++ b/packages/kaisel/doc/migration/README.md @@ -14,9 +14,9 @@ your migration branch will actually look like. | Guide | Best for | Effort | | ------------------------------------------- | ----------------------------------------------------- | ----------------------- | -| [`from-go-router.md`](from-go-router.md) | Apps using `GoRouter` with string paths | ~3–4 days, 30 screens | -| [`from-auto-route.md`](from-auto-route.md) | Apps using `@AutoRouterConfig` with `build_runner` | ~2 days, 30 screens | -| [`from-navigator.md`](from-navigator.md) | Apps on Flutter's `Navigator` — imperative `push`, named routes, or the Router/Pages API (2.0) | ~2–4 days, 30 screens (less from named/2.0) | +| [From go_router](from-go-router.md) | Apps using `GoRouter` with string paths | ~3–4 days, 30 screens | +| [From auto_route](from-auto-route.md) | Apps using `@AutoRouterConfig` with `build_runner` | ~2 days, 30 screens | +| [From Navigator](from-navigator.md) | Apps on Flutter's `Navigator` — imperative `push`, named routes, or the Router/Pages API (2.0) | ~2–4 days, 30 screens (less from named/2.0) | ## Which guide is for you diff --git a/site/src/content/docs/404.md b/site/src/content/docs/404.md new file mode 100644 index 0000000..dd7249b --- /dev/null +++ b/site/src/content/docs/404.md @@ -0,0 +1,18 @@ +--- +title: '404' +template: splash +editUrl: false +hero: + title: This route isn't in the stack + tagline: The page you pushed doesn't exist — pop back and try a route the compiler knows about. + image: + dark: ../../assets/kaisel-mark.svg + light: ../../assets/kaisel-mark-light.svg + actions: + - text: Back to Home + link: / + icon: left-arrow + - text: Browse the guides + link: /guides/navigation/ + variant: minimal +--- diff --git a/site/src/styles/custom.css b/site/src/styles/custom.css index 827264a..00b23e6 100644 --- a/site/src/styles/custom.css +++ b/site/src/styles/custom.css @@ -90,3 +90,7 @@ .card { border-radius: 0.75rem; } + +::selection { + background: color-mix(in srgb, var(--sl-color-accent) 35%, transparent); +} From 4bf742d13a6476997a783801f9a0b1a789a2c3d8 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 15:26:47 +0100 Subject: [PATCH 13/15] chore: version pill --- site/astro.config.mjs | 10 ++++++++++ site/src/styles/custom.css | 16 ++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/site/astro.config.mjs b/site/astro.config.mjs index 907d83f..06485cb 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -1,8 +1,14 @@ // @ts-check +import { readFileSync } from 'node:fs'; import { defineConfig } from 'astro/config'; import starlight from '@astrojs/starlight'; import starlightLinksValidator from 'starlight-links-validator'; +const kaiselVersion = readFileSync( + new URL('../packages/kaisel/pubspec.yaml', import.meta.url), + 'utf8', +).match(/^version:\s*(\S+)/m)[1]; + export default defineConfig({ site: 'https://kaisel.dev', integrations: [ @@ -34,6 +40,10 @@ export default defineConfig({ }, customCss: ['./src/styles/custom.css'], head: [ + { + tag: 'style', + content: `:root { --kaisel-version: 'v${kaiselVersion}'; }`, + }, { tag: 'meta', attrs: { property: 'og:image', content: 'https://kaisel.dev/og.png' }, diff --git a/site/src/styles/custom.css b/site/src/styles/custom.css index 00b23e6..96655bb 100644 --- a/site/src/styles/custom.css +++ b/site/src/styles/custom.css @@ -94,3 +94,19 @@ ::selection { background: color-mix(in srgb, var(--sl-color-accent) 35%, transparent); } + +/* Version chip beside the hero title, fed from the kaisel pubspec at build + time via --kaisel-version (see astro.config.mjs). */ +[data-has-hero] .hero h1::after { + content: var(--kaisel-version); + font-size: 1rem; + font-weight: 500; + vertical-align: super; + margin-inline-start: 0.75rem; + padding: 0.15em 0.6em; + border-radius: 999px; + color: var(--sl-color-accent-high); + border: 1px solid color-mix(in srgb, var(--sl-color-accent) 50%, transparent); + background: color-mix(in srgb, var(--sl-color-accent) 12%, transparent); + white-space: nowrap; +} From 75c1d7c76189f441f44ebae18834b54e695c8b59 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 15:39:36 +0100 Subject: [PATCH 14/15] chore: pr preview deploys --- site/astro.config.mjs | 15 ++++++++++++- site/package.json | 4 ++-- site/scripts/prefix-preview-links.mjs | 32 +++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 site/scripts/prefix-preview-links.mjs diff --git a/site/astro.config.mjs b/site/astro.config.mjs index 06485cb..2b59207 100644 --- a/site/astro.config.mjs +++ b/site/astro.config.mjs @@ -4,6 +4,10 @@ import { defineConfig } from 'astro/config'; import starlight from '@astrojs/starlight'; import starlightLinksValidator from 'starlight-links-validator'; +// Set by the docs workflow for PR preview deploys (e.g. /pr-42). Previews +// live under a subpath of the production origin and must not be indexed. +const previewBase = process.env.SITE_BASE; + const kaiselVersion = readFileSync( new URL('../packages/kaisel/pubspec.yaml', import.meta.url), 'utf8', @@ -11,9 +15,10 @@ const kaiselVersion = readFileSync( export default defineConfig({ site: 'https://kaisel.dev', + base: previewBase ?? '/', integrations: [ starlight({ - plugins: [starlightLinksValidator()], + plugins: previewBase ? [] : [starlightLinksValidator()], title: 'kaisel', description: 'A Dart 3-native router for Flutter — sealed routes, pattern matching, and a stack-as-value model. No string paths, no codegen.', @@ -40,6 +45,14 @@ export default defineConfig({ }, customCss: ['./src/styles/custom.css'], head: [ + ...(previewBase + ? [ + { + tag: 'meta', + attrs: { name: 'robots', content: 'noindex, nofollow' }, + }, + ] + : []), { tag: 'style', content: `:root { --kaisel-version: 'v${kaiselVersion}'; }`, diff --git a/site/package.json b/site/package.json index a057301..71ba46c 100644 --- a/site/package.json +++ b/site/package.json @@ -5,7 +5,7 @@ "scripts": { "dev": "astro dev", "start": "astro dev", - "build": "astro build", + "build": "astro build && node scripts/prefix-preview-links.mjs", "preview": "astro preview", "astro": "astro", "sync": "node scripts/sync-docs.mjs", @@ -20,4 +20,4 @@ "devDependencies": { "starlight-links-validator": "^0.25.2" } -} +} \ No newline at end of file diff --git a/site/scripts/prefix-preview-links.mjs b/site/scripts/prefix-preview-links.mjs new file mode 100644 index 0000000..ed8093f --- /dev/null +++ b/site/scripts/prefix-preview-links.mjs @@ -0,0 +1,32 @@ +// Prefixes SITE_BASE onto root-absolute internal links in the built HTML. +// Preview deploys live under kaisel.dev/pr-N/; links Astro doesn't +// base-prefix (hero actions, content anchors) would otherwise escape the +// preview into production pages. No-op when SITE_BASE is unset. + +import { readdirSync, readFileSync, writeFileSync } from 'node:fs'; +import { join } from 'node:path'; + +const base = process.env.SITE_BASE; +if (base) { + const htmlFiles = (dir) => + readdirSync(dir, { withFileTypes: true }).flatMap((entry) => { + const path = join(dir, entry.name); + if (entry.isDirectory()) return htmlFiles(path); + return entry.name.endsWith('.html') ? [path] : []; + }); + + let rewritten = 0; + for (const file of htmlFiles('dist')) { + const html = readFileSync(file, 'utf8'); + const fixed = html.replace( + /href="(\/(?!\/)[^"]*)"/g, + (match, href) => { + if (href.startsWith(`${base}/`) || href === base) return match; + rewritten += 1; + return `href="${base}${href}"`; + }, + ); + if (fixed !== html) writeFileSync(file, fixed); + } + console.log(`[preview-links] prefixed ${rewritten} links with ${base}`); +} From d54437e0054f83bc8dc990af53b3e97ec9fd7264 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Fri, 17 Jul 2026 15:56:42 +0100 Subject: [PATCH 15/15] chore: update docs ci --- .github/workflows/docs.yml | 125 ++++++++++++++++++++++++++++++++----- 1 file changed, 109 insertions(+), 16 deletions(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index b4b44be..37a9428 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -7,45 +7,138 @@ on: - 'site/**' - 'skills/kaisel/**' - 'packages/kaisel/doc/migration/**' + - 'packages/kaisel/pubspec.yaml' - 'ROADMAP.md' - '.github/workflows/docs.yml' pull_request: + types: [opened, synchronize, reopened, closed] paths: - 'site/**' - 'skills/kaisel/**' - 'packages/kaisel/doc/migration/**' + - 'packages/kaisel/pubspec.yaml' - 'ROADMAP.md' - '.github/workflows/docs.yml' workflow_dispatch: permissions: - contents: read - pages: write - id-token: write + contents: write + pull-requests: write -# Per-ref: PR builds run in parallel; deploys from dev serialize. Never -# cancel in-progress — a killed Pages deployment can strand a half-rollout. +# Every job writes the gh-pages branch; serialize them and never cancel a +# push mid-flight. concurrency: - group: docs-${{ github.ref }} + group: docs-gh-pages cancel-in-progress: false jobs: - build: + preview: + if: github.event_name == 'pull_request' && github.event.action != 'closed' runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: withastro/action@v3 + - uses: actions/setup-node@v4 with: - path: ./site node-version: 22 + cache: npm + cache-dependency-path: site/package-lock.json + - run: npm ci + working-directory: site + # Production-mode build is the validation gate (link validator runs + # only without SITE_BASE). + - name: Validate + run: npm run build + working-directory: site + - name: Build preview + run: npm run build + working-directory: site + env: + SITE_BASE: /pr-${{ github.event.number }} + # Fork PRs get validation only: GITHUB_TOKEN is read-only for them, + # and they must never write our branch anyway. + - name: Deploy preview + if: github.event.pull_request.head.repo.full_name == github.repository + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: site/dist + destination_dir: pr-${{ github.event.number }} + keep_files: true + commit_message: 'deploy docs preview for #${{ github.event.number }}' + - name: Comment preview link + if: github.event.pull_request.head.repo.full_name == github.repository + uses: actions/github-script@v7 + with: + script: | + const marker = ''; + const body = `${marker}\n📖 Docs preview: https://kaisel.dev/pr-${context.issue.number}/ (updates on every push; removed when this PR closes)`; + const { data: comments } = await github.rest.issues.listComments({ + ...context.repo, + issue_number: context.issue.number, + }); + const existing = comments.find((c) => c.body.includes(marker)); + if (existing) { + await github.rest.issues.updateComment({ + ...context.repo, + comment_id: existing.id, + body, + }); + } else { + await github.rest.issues.createComment({ + ...context.repo, + issue_number: context.issue.number, + body, + }); + } deploy: - if: github.event_name != 'pull_request' - needs: build + if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + cache-dependency-path: site/package-lock.json + - run: npm ci + working-directory: site + - run: npm run build + working-directory: site + # force_orphan gives prod clean-slate deploys (no stale files, single + # commit of history); carrying the pr-* dirs into dist keeps open + # previews alive across prod deploys. + - name: Carry forward open previews + run: | + if git fetch origin gh-pages --depth=1 2>/dev/null; then + git worktree add /tmp/gh-pages FETCH_HEAD + shopt -s nullglob + for dir in /tmp/gh-pages/pr-*/; do + cp -R "$dir" "site/dist/$(basename "$dir")" + done + fi + - name: Deploy + uses: peaceiris/actions-gh-pages@v4 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: site/dist + force_orphan: true + cname: kaisel.dev + commit_message: 'deploy docs ${{ github.sha }}' + + cleanup: + if: github.event_name == 'pull_request' && github.event.action == 'closed' runs-on: ubuntu-latest - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} steps: - - id: deployment - uses: actions/deploy-pages@v4 + - uses: actions/checkout@v4 + - name: Remove preview directory + run: | + git fetch origin gh-pages 2>/dev/null || exit 0 + git checkout gh-pages + if [ -d "pr-${{ github.event.number }}" ]; then + git config user.name 'github-actions[bot]' + git config user.email '41898282+github-actions[bot]@users.noreply.github.com' + git rm -r --quiet "pr-${{ github.event.number }}" + git commit -m 'clean up docs preview for #${{ github.event.number }}' + git push origin gh-pages + fi