diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml
index 0e01357..aae5bda 100644
--- a/.github/workflows/deploy.yml
+++ b/.github/workflows/deploy.yml
@@ -19,10 +19,16 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v7
- - name: Install, build, and upload site
- uses: withastro/action@v6
+ - name: Configure Pages
+ uses: actions/configure-pages@v5
+ - name: Prepare site
+ run: |
+ mkdir _site
+ cp index.html styles.css favicon.svg og.png CNAME _site/
+ - name: Upload site
+ uses: actions/upload-pages-artifact@v4
with:
- node-version: 24
+ path: _site
deploy:
if: github.event_name != 'pull_request'
diff --git a/public/CNAME b/CNAME
similarity index 100%
rename from public/CNAME
rename to CNAME
diff --git a/README.md b/README.md
index 7ed8ff6..72e81ad 100644
--- a/README.md
+++ b/README.md
@@ -1,46 +1,17 @@
# daniissac.com
-The source for [daniissac.com](https://daniissac.com), a technical publication and project hub focused on networks, observability, technical learning, and practical tools.
+The source for [daniissac.com](https://daniissac.com), a concise professional profile focused on network engineering, observability, and technical education.
-## Local development
+## Local preview
-Requires Node.js 22.12 or newer.
+The site uses plain HTML and CSS with no packages or build step.
```bash
-npm install
-npm run dev
+python3 -m http.server 4173
```
-## Content
+Then open `http://127.0.0.1:4173/`.
-- Writing: `src/data/writing/`
-- Project overviews: `src/data/projects/`
-- Shared site copy: `src/config.ts`
-- Public assets: `public/`
+## Deployment
-## Publishing an article
-
-Create a draft with a consistent filename, frontmatter, and network-focused outline:
-
-```bash
-npm run new:article -- "How DNS Resolution Actually Works"
-```
-
-The command prints the generated file and its local preview path. Drafts are available by direct URL during local
-development, but they are excluded from production pages, RSS, the sitemap, and `llms.txt`.
-
-1. Frame one reader question and define the practical outcome.
-2. Develop the explanation around observable evidence, a useful mental model, practical checks, and known limits.
-3. Keep `draft: true` while writing and preview with `npm run dev`.
-4. Replace every placeholder, verify links, commands, code, citations, and image alt text.
-5. Set `publishedDate` to the release date and change `draft` to `false`.
-6. Run `npm test`, open a pull request, and merge after the build passes.
-7. Publish a shorter LinkedIn version that links back to the site as the canonical article.
-
-## Verification
-
-```bash
-npm test
-```
-
-The production build is written to `dist/`. GitHub Actions publishes `main` to GitHub Pages while preserving the custom domain.
+GitHub Actions publishes the files from `main` to GitHub Pages while preserving the custom domain.
diff --git a/astro.config.mjs b/astro.config.mjs
deleted file mode 100644
index 807dcc4..0000000
--- a/astro.config.mjs
+++ /dev/null
@@ -1,13 +0,0 @@
-import { defineConfig } from "astro/config";
-import sitemap from "@astrojs/sitemap";
-import tailwindcss from "@tailwindcss/vite";
-
-export default defineConfig({
- site: "https://daniissac.com",
- output: "static",
- trailingSlash: "always",
- vite: {
- plugins: [tailwindcss()],
- },
- integrations: [sitemap()],
-});
diff --git a/favicon.svg b/favicon.svg
new file mode 100644
index 0000000..100c50c
--- /dev/null
+++ b/favicon.svg
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..f7a7bce
--- /dev/null
+++ b/index.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Dani Issac — Network engineering and technical education
+
+
+
+ Skip to content
+
+
+
+
+
+ Network engineering · Observability · Technical education
+ Dani Issac
+ I believe network behavior is easier to learn when you can see it. At Cisco, I design technical demonstrations and learning experiences that connect protocols and telemetry to what engineers observe in practice.
+
+
+
+ Selected work
+
+ Interactive learning experience
+ Internet in Motion
+ Follow one request from a device to a website through DNS, routing, packets, transport, and web performance. The eight-chapter experience connects each concept to behavior learners can see and change.
+ Explore Internet in Motion ↗
+
+
+
+
+
+
+
+
+
diff --git a/public/og.png b/og.png
similarity index 100%
rename from public/og.png
rename to og.png
diff --git a/package-lock.json b/package-lock.json
deleted file mode 100644
index c8911a8..0000000
--- a/package-lock.json
+++ /dev/null
@@ -1,5850 +0,0 @@
-{
- "name": "daniissac-technical-brand",
- "version": "1.0.0",
- "lockfileVersion": 3,
- "requires": true,
- "packages": {
- "": {
- "name": "daniissac-technical-brand",
- "version": "1.0.0",
- "dependencies": {
- "@astrojs/rss": "^4.0.19",
- "@astrojs/sitemap": "^3.7.3",
- "@fontsource-variable/jetbrains-mono": "^5.2.8",
- "@fontsource-variable/manrope": "^5.2.8",
- "@lucide/astro": "^1.24.0",
- "astro": "^7.0.9",
- "gsap": "^3.15.0",
- "lenis": "^1.3.25"
- },
- "devDependencies": {
- "@astrojs/check": "^0.9.9",
- "@tailwindcss/vite": "^4.3.2",
- "tailwindcss": "^4.3.2",
- "typescript": "^6.0.3"
- },
- "engines": {
- "node": ">=22.12.0",
- "npm": ">=9.6.5"
- }
- },
- "node_modules/@astrojs/check": {
- "version": "0.9.9",
- "resolved": "https://registry.npmjs.org/@astrojs/check/-/check-0.9.9.tgz",
- "integrity": "sha512-A5UW8uIuErLWEoRQvzgXpO1gTjUFtK8r7nU2Z7GewAMxUb7bPvpk11qaKKgxqXlHJWlAvaaxy+Xg28A6bmQ1Tg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@astrojs/language-server": "^2.16.7",
- "chokidar": "^4.0.3",
- "kleur": "^4.1.5",
- "yargs": "^17.7.2"
- },
- "bin": {
- "astro-check": "bin/astro-check.js"
- },
- "peerDependencies": {
- "typescript": "^5.0.0 || ^6.0.0"
- }
- },
- "node_modules/@astrojs/compiler": {
- "version": "2.13.1",
- "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.1.tgz",
- "integrity": "sha512-f3FN83d2G/v32ipNClRKgYv30onQlMZX1vCeZMjPsMMPl1mDpmbl0+N5BYo4S/ofzqJyS5hvwacEo0CCVDn/Qg==",
- "dev": true,
- "license": "MIT"
- },
- "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/language-server": {
- "version": "2.16.12",
- "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-2.16.12.tgz",
- "integrity": "sha512-3LpFphBCzveUgm5ZVDINB/v3YA4TgPa1EMOEFn3Zt/Ww6jojR25iN+kmzeUz7v/b9xkmq+hMACTX4hizN3VCEQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@astrojs/compiler": "^2.13.1",
- "@astrojs/yaml2ts": "^0.2.4",
- "@jridgewell/sourcemap-codec": "^1.5.5",
- "@volar/kit": "~2.4.28",
- "@volar/language-core": "~2.4.28",
- "@volar/language-server": "~2.4.28",
- "@volar/language-service": "~2.4.28",
- "muggle-string": "^0.4.1",
- "tinyglobby": "^0.2.16",
- "volar-service-css": "0.0.71",
- "volar-service-emmet": "0.0.71",
- "volar-service-html": "0.0.71",
- "volar-service-prettier": "0.0.71",
- "volar-service-typescript": "0.0.71",
- "volar-service-typescript-twoslash-queries": "0.0.71",
- "volar-service-yaml": "0.0.71",
- "vscode-html-languageservice": "^5.6.2",
- "vscode-uri": "^3.1.0"
- },
- "bin": {
- "astro-ls": "bin/nodeServer.js"
- },
- "peerDependencies": {
- "prettier": "^3.0.0",
- "prettier-plugin-astro": ">=0.11.0"
- },
- "peerDependenciesMeta": {
- "prettier": {
- "optional": true
- },
- "prettier-plugin-astro": {
- "optional": true
- }
- }
- },
- "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/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/rss": {
- "version": "4.0.19",
- "resolved": "https://registry.npmjs.org/@astrojs/rss/-/rss-4.0.19.tgz",
- "integrity": "sha512-e+z5wYeYtffQdHQO8c2tkSd2JEBdAuRXJV4ZEU5IxkYeE6e39woDd7nw1PH1Kk2tEYNCYuKdylnnbhGmt61awA==",
- "license": "MIT",
- "dependencies": {
- "fast-xml-parser": "^5.5.7",
- "piccolore": "^0.1.3",
- "zod": "^4.3.6"
- }
- },
- "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/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/@astrojs/yaml2ts": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@astrojs/yaml2ts/-/yaml2ts-0.2.4.tgz",
- "integrity": "sha512-8oddpOae35pJsXPQXhTkM0ypfKPskVsh2bCxRtbf7e+/Epw2nReakFYpLKjZMEr75CsoF203PMnCocpfz0s69A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "yaml": "^2.8.3"
- }
- },
- "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/@emmetio/abbreviation": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.3.3.tgz",
- "integrity": "sha512-mgv58UrU3rh4YgbE/TzgLQwJ3pFsHHhCLqY20aJq+9comytTXUDNGG/SMtSeMJdkpxgXSXunBGLD8Boka3JyVA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@emmetio/scanner": "^1.0.4"
- }
- },
- "node_modules/@emmetio/css-abbreviation": {
- "version": "2.1.8",
- "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.8.tgz",
- "integrity": "sha512-s9yjhJ6saOO/uk1V74eifykk2CBYi01STTK3WlXWGOepyKa23ymJ053+DNQjpFcy1ingpaO7AxCcwLvHFY9tuw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@emmetio/scanner": "^1.0.4"
- }
- },
- "node_modules/@emmetio/css-parser": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@emmetio/css-parser/-/css-parser-0.4.1.tgz",
- "integrity": "sha512-2bC6m0MV/voF4CTZiAbG5MWKbq5EBmDPKu9Sb7s7nVcEzNQlrZP6mFFFlIaISM8X6514H9shWMme1fCm8cWAfQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@emmetio/stream-reader": "^2.2.0",
- "@emmetio/stream-reader-utils": "^0.1.0"
- }
- },
- "node_modules/@emmetio/html-matcher": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@emmetio/html-matcher/-/html-matcher-1.3.0.tgz",
- "integrity": "sha512-NTbsvppE5eVyBMuyGfVu2CRrLvo7J4YHb6t9sBFLyY03WYhXET37qA4zOYUjBWFCRHO7pS1B9khERtY0f5JXPQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@emmetio/scanner": "^1.0.0"
- }
- },
- "node_modules/@emmetio/scanner": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.4.tgz",
- "integrity": "sha512-IqRuJtQff7YHHBk4G8YZ45uB9BaAGcwQeVzgj/zj8/UdOhtQpEIupUhSk8dys6spFIWVZVeK20CzGEnqR5SbqA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@emmetio/stream-reader": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@emmetio/stream-reader/-/stream-reader-2.2.0.tgz",
- "integrity": "sha512-fXVXEyFA5Yv3M3n8sUGT7+fvecGrZP4k6FnWWMSZVQf69kAq0LLpaBQLGcPR30m3zMmKYhECP4k/ZkzvhEW5kw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@emmetio/stream-reader-utils": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/@emmetio/stream-reader-utils/-/stream-reader-utils-0.1.0.tgz",
- "integrity": "sha512-ZsZ2I9Vzso3Ho/pjZFsmmZ++FWeEd/txqybHTm4OgaZzdS8V9V/YYWQwg5TC38Z7uLWUV1vavpLLbjJtKubR1A==",
- "dev": true,
- "license": "MIT"
- },
- "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/@fontsource-variable/jetbrains-mono": {
- "version": "5.2.8",
- "resolved": "https://registry.npmjs.org/@fontsource-variable/jetbrains-mono/-/jetbrains-mono-5.2.8.tgz",
- "integrity": "sha512-WBA9elru6Jdp5df2mES55wuOO0WIrn3kpXnI4+W2ek5u3ZgLS9XS4gmIlcQhiZOWEKl95meYdvK7xI+ETLCq/Q==",
- "license": "OFL-1.1",
- "funding": {
- "url": "https://github.com/sponsors/ayuhito"
- }
- },
- "node_modules/@fontsource-variable/manrope": {
- "version": "5.2.8",
- "resolved": "https://registry.npmjs.org/@fontsource-variable/manrope/-/manrope-5.2.8.tgz",
- "integrity": "sha512-nc9lOuCRz73UHnovDE2bwXUdghE2SEOc7Aii0qGe3CLyE03W1a7VnY5Z6euRiapiKbCkGS+eXbY3s/kvWeGeSw==",
- "license": "OFL-1.1",
- "funding": {
- "url": "https://github.com/sponsors/ayuhito"
- }
- },
- "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",
- "optional": true,
- "engines": {
- "node": ">=18"
- }
- },
- "node_modules/@img/sharp-darwin-arm64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.3.tgz",
- "integrity": "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==",
- "cpu": [
- "arm64"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-darwin-arm64": "1.3.2"
- }
- },
- "node_modules/@img/sharp-darwin-x64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.3.tgz",
- "integrity": "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==",
- "cpu": [
- "x64"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-darwin-x64": "1.3.2"
- }
- },
- "node_modules/@img/sharp-freebsd-wasm32": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.3.tgz",
- "integrity": "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==",
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "dependencies": {
- "@img/sharp-wasm32": "0.35.3"
- },
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- }
- },
- "node_modules/@img/sharp-libvips-darwin-arm64": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.2.tgz",
- "integrity": "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.2.tgz",
- "integrity": "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.2.tgz",
- "integrity": "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.2.tgz",
- "integrity": "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.2.tgz",
- "integrity": "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.2.tgz",
- "integrity": "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.2.tgz",
- "integrity": "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz",
- "integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.2.tgz",
- "integrity": "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==",
- "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.3.2",
- "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.2.tgz",
- "integrity": "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==",
- "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.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.3.tgz",
- "integrity": "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==",
- "cpu": [
- "arm"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-linux-arm": "1.3.2"
- }
- },
- "node_modules/@img/sharp-linux-arm64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.3.tgz",
- "integrity": "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==",
- "cpu": [
- "arm64"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-linux-arm64": "1.3.2"
- }
- },
- "node_modules/@img/sharp-linux-ppc64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.3.tgz",
- "integrity": "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==",
- "cpu": [
- "ppc64"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-linux-ppc64": "1.3.2"
- }
- },
- "node_modules/@img/sharp-linux-riscv64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.3.tgz",
- "integrity": "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==",
- "cpu": [
- "riscv64"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-linux-riscv64": "1.3.2"
- }
- },
- "node_modules/@img/sharp-linux-s390x": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.3.tgz",
- "integrity": "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==",
- "cpu": [
- "s390x"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-linux-s390x": "1.3.2"
- }
- },
- "node_modules/@img/sharp-linux-x64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz",
- "integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==",
- "cpu": [
- "x64"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-linux-x64": "1.3.2"
- }
- },
- "node_modules/@img/sharp-linuxmusl-arm64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.3.tgz",
- "integrity": "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==",
- "cpu": [
- "arm64"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-linuxmusl-arm64": "1.3.2"
- }
- },
- "node_modules/@img/sharp-linuxmusl-x64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.3.tgz",
- "integrity": "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==",
- "cpu": [
- "x64"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-libvips-linuxmusl-x64": "1.3.2"
- }
- },
- "node_modules/@img/sharp-wasm32": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz",
- "integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==",
- "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/runtime": "^1.11.1"
- },
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- }
- },
- "node_modules/@img/sharp-webcontainers-wasm32": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.3.tgz",
- "integrity": "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==",
- "cpu": [
- "wasm32"
- ],
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "@img/sharp-wasm32": "0.35.3"
- },
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- }
- },
- "node_modules/@img/sharp-win32-arm64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.3.tgz",
- "integrity": "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==",
- "cpu": [
- "arm64"
- ],
- "license": "Apache-2.0 AND LGPL-3.0-or-later",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- }
- },
- "node_modules/@img/sharp-win32-ia32": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.3.tgz",
- "integrity": "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==",
- "cpu": [
- "ia32"
- ],
- "license": "Apache-2.0 AND LGPL-3.0-or-later",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": "^20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- }
- },
- "node_modules/@img/sharp-win32-x64": {
- "version": "0.35.3",
- "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.3.tgz",
- "integrity": "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==",
- "cpu": [
- "x64"
- ],
- "license": "Apache-2.0 AND LGPL-3.0-or-later",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.13",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
- "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "node_modules/@jridgewell/remapping": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
- "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "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/@jridgewell/trace-mapping": {
- "version": "0.3.31",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
- "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@lucide/astro": {
- "version": "1.24.0",
- "resolved": "https://registry.npmjs.org/@lucide/astro/-/astro-1.24.0.tgz",
- "integrity": "sha512-UmQrHv3/SfulzmALy6M0H4TOAaql/OG68V7yoFDW4g4F49vQ8o32NQHK4xBm+8k8zD/JQNHt00z2YRKXJ6bnCA==",
- "license": "ISC",
- "peerDependencies": {
- "astro": "^4 || ^5 || ^6 || ^7"
- }
- },
- "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/@nodable/entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-9uGyhaQavEUMC8AIddIjau4NsnsXhou+j5sBAGojCM1oxmQpVKTWR/9JxABD6UAv12vpIms55fPZKFQEhG6uBg==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/nodable"
- }
- ],
- "license": "MIT"
- },
- "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/@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/@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/@tailwindcss/node": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.2.tgz",
- "integrity": "sha512-yWP/sqEcBLaD8JuA6zNwxoYKr75qxTioYwlRwekj5Jr/I5GXnoJfjetH/psLUIv74cYTH2lBUEzBkinthoYcBg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/remapping": "^2.3.5",
- "enhanced-resolve": "5.21.6",
- "jiti": "^2.7.0",
- "lightningcss": "1.32.0",
- "magic-string": "^0.30.21",
- "source-map-js": "^1.2.1",
- "tailwindcss": "4.3.2"
- }
- },
- "node_modules/@tailwindcss/oxide": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.2.tgz",
- "integrity": "sha512-z8ZgnzX8gdNoWLBLqBPoh/sjnxkwvf9ZuWjnO0l0yIzbLa5/9S+eC5QxGZKRobVHIC3/1BoMWjHblqWjcgFgag==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 20"
- },
- "optionalDependencies": {
- "@tailwindcss/oxide-android-arm64": "4.3.2",
- "@tailwindcss/oxide-darwin-arm64": "4.3.2",
- "@tailwindcss/oxide-darwin-x64": "4.3.2",
- "@tailwindcss/oxide-freebsd-x64": "4.3.2",
- "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.2",
- "@tailwindcss/oxide-linux-arm64-gnu": "4.3.2",
- "@tailwindcss/oxide-linux-arm64-musl": "4.3.2",
- "@tailwindcss/oxide-linux-x64-gnu": "4.3.2",
- "@tailwindcss/oxide-linux-x64-musl": "4.3.2",
- "@tailwindcss/oxide-wasm32-wasi": "4.3.2",
- "@tailwindcss/oxide-win32-arm64-msvc": "4.3.2",
- "@tailwindcss/oxide-win32-x64-msvc": "4.3.2"
- }
- },
- "node_modules/@tailwindcss/oxide-android-arm64": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.2.tgz",
- "integrity": "sha512-WHxqIuHpvZ5VtdX6GTl1Ik/Vp2YuN42Et+0CdeaVd/frQ9jAvGmvR8vLT+jk3e8/Q3x8kECB9+R17pgpp2BulA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-darwin-arm64": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.2.tgz",
- "integrity": "sha512-GZypeUY/IDJW3877KeM+O67vbXr3MBnbtEL4aYhNErv/JWZhye2vGSWWG9tB6iiqR2MqRNkY8IOUy4NdSZV26w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-darwin-x64": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.2.tgz",
- "integrity": "sha512-UIIzmefR6KO1sDU7MzRqAxC8iBpft/VhkGjTjnhoS6k7Z3rQ9wEgA1ODSiyH/tcSYssulNm4Ci3hOeK1jH7ccQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-freebsd-x64": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.2.tgz",
- "integrity": "sha512-GN+uAmcI6DNspnCDwtOAZrTz6oukJnp337qZvxqCGLd3BHBzJpO0ZbTLRvJNdztOeAmTzewewGIMPb0tk2R4WA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.2.tgz",
- "integrity": "sha512-4ABn7qSbdHRwTiDiuWNegCyb5+2FJ4vKIKc3DmKrvAFw7MU1Lm11dIkTPwUaFdTzc7IsOpDbqBrlh0x6y36U/w==",
- "cpu": [
- "arm"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.2.tgz",
- "integrity": "sha512-wDgEIGwoM8w8pufh9LVt1PahDgNdKXrLC2qfAnV3vAmococ9RWbxeAw4pxPttd/TsJfwjyLf90Dg1y9y8I6Emw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.2.tgz",
- "integrity": "sha512-J5Nuk0uZQIiMTJj3LEx4sAA9tMFUoXQZFv1J6An+QGYe53HKRJuFDi0rpq/tuouCZeAbOBY3kQ6g8qeD4TUjtA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.2.tgz",
- "integrity": "sha512-kqCZpSKOBEJO4mz7OqWoofBZeXTAwaVGPj0ErAj7CojmhKpWVWVOnrt9dE8odoIraZq4oj3ausM37kXi+Tow8w==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-linux-x64-musl": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.2.tgz",
- "integrity": "sha512-cixpqbh2toJDmkuCRI68nXA8ZxNmdK9Y+9v5h3MC3ZQKy/0BO8AWzlkWyRM7JAFSGBlfig4YVTPsK6MVgqz1uw==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-wasm32-wasi": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.2.tgz",
- "integrity": "sha512-4ec2Z/LOmRsAgU23CS4xeJfcJlmRg94A/XrbGRCF1gyU/zdDfRLYDVsS+ynSZCmGNxQ1jQriQOKMQeQxBA3Isw==",
- "bundleDependencies": [
- "@napi-rs/wasm-runtime",
- "@emnapi/core",
- "@emnapi/runtime",
- "@tybys/wasm-util",
- "@emnapi/wasi-threads",
- "tslib"
- ],
- "cpu": [
- "wasm32"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "dependencies": {
- "@emnapi/core": "^1.11.1",
- "@emnapi/runtime": "^1.11.1",
- "@emnapi/wasi-threads": "^1.2.2",
- "@napi-rs/wasm-runtime": "^1.1.4",
- "@tybys/wasm-util": "^0.10.2",
- "tslib": "^2.8.1"
- },
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.2.tgz",
- "integrity": "sha512-Zyr/M0+XcYZu3bZrUytc7TXvrk0ftWfl8gN2MwekNDzhqhKRUucMPSeOzM0o0wH5AWOU49BsKRrfKxI2atCPMQ==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.2.tgz",
- "integrity": "sha512-QI9BO7KlNZsp2GuO0jwAAj5jCDABOKXRkCk2XuKTSaNEFSdfzqswYVTtCHBNKHLsqyjFyFkqlDiwkNbTYSssMQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
- "engines": {
- "node": ">= 20"
- }
- },
- "node_modules/@tailwindcss/vite": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.2.tgz",
- "integrity": "sha512-eHpMeX4JXfVNJDEcsouTeCBubJBTcTLigeaw/NTUW6PB5ATKKXdyonnXgTBX2VuRbjz1hjfz6C5XAhr52ImQXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@tailwindcss/node": "4.3.2",
- "@tailwindcss/oxide": "4.3.2",
- "tailwindcss": "4.3.2"
- },
- "peerDependencies": {
- "vite": "^5.2.0 || ^6 || ^7 || ^8"
- }
- },
- "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/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/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/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/@volar/kit": {
- "version": "2.4.28",
- "resolved": "https://registry.npmjs.org/@volar/kit/-/kit-2.4.28.tgz",
- "integrity": "sha512-cKX4vK9dtZvDRaAzeoUdaAJEew6IdxHNCRrdp5Kvcl6zZOqb6jTOfk3kXkIkG3T7oTFXguEMt5+9ptyqYR84Pg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@volar/language-service": "2.4.28",
- "@volar/typescript": "2.4.28",
- "typesafe-path": "^0.2.2",
- "vscode-languageserver-textdocument": "^1.0.11",
- "vscode-uri": "^3.0.8"
- },
- "peerDependencies": {
- "typescript": "*"
- }
- },
- "node_modules/@volar/language-core": {
- "version": "2.4.28",
- "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz",
- "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@volar/source-map": "2.4.28"
- }
- },
- "node_modules/@volar/language-server": {
- "version": "2.4.28",
- "resolved": "https://registry.npmjs.org/@volar/language-server/-/language-server-2.4.28.tgz",
- "integrity": "sha512-NqcLnE5gERKuS4PUFwlhMxf6vqYo7hXtbMFbViXcbVkbZ905AIVWhnSo0ZNBC2V127H1/2zP7RvVOVnyITFfBw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@volar/language-core": "2.4.28",
- "@volar/language-service": "2.4.28",
- "@volar/typescript": "2.4.28",
- "path-browserify": "^1.0.1",
- "request-light": "^0.7.0",
- "vscode-languageserver": "^9.0.1",
- "vscode-languageserver-protocol": "^3.17.5",
- "vscode-languageserver-textdocument": "^1.0.11",
- "vscode-uri": "^3.0.8"
- }
- },
- "node_modules/@volar/language-service": {
- "version": "2.4.28",
- "resolved": "https://registry.npmjs.org/@volar/language-service/-/language-service-2.4.28.tgz",
- "integrity": "sha512-Rh/wYCZJrI5vCwMk9xyw/Z+MsWxlJY1rmMZPsxUoJKfzIRjS/NF1NmnuEcrMbEVGja00aVpCsInJfixQTMdvLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@volar/language-core": "2.4.28",
- "vscode-languageserver-protocol": "^3.17.5",
- "vscode-languageserver-textdocument": "^1.0.11",
- "vscode-uri": "^3.0.8"
- }
- },
- "node_modules/@volar/source-map": {
- "version": "2.4.28",
- "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz",
- "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@volar/typescript": {
- "version": "2.4.28",
- "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz",
- "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@volar/language-core": "2.4.28",
- "path-browserify": "^1.0.1",
- "vscode-uri": "^3.0.8"
- }
- },
- "node_modules/@vscode/emmet-helper": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.11.0.tgz",
- "integrity": "sha512-QLxjQR3imPZPQltfbWRnHU6JecWTF1QSWhx3GAKQpslx7y3Dp6sIIXhKjiUJ/BR9FX8PVthjr9PD6pNwOJfAzw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emmet": "^2.4.3",
- "jsonc-parser": "^2.3.0",
- "vscode-languageserver-textdocument": "^1.0.1",
- "vscode-languageserver-types": "^3.15.1",
- "vscode-uri": "^3.0.8"
- }
- },
- "node_modules/@vscode/emmet-helper/node_modules/jsonc-parser": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz",
- "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@vscode/l10n": {
- "version": "0.0.18",
- "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.18.tgz",
- "integrity": "sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/ajv": {
- "version": "8.20.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz",
- "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ajv-draft-04": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz",
- "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "ajv": "^8.5.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/ajv-i18n": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/ajv-i18n/-/ajv-i18n-4.2.0.tgz",
- "integrity": "sha512-v/ei2UkCEeuKNXh8RToiFsUclmU+G57LO1Oo22OagNMENIw+Yb8eMwvHu7Vn9fmkjJyv6XclhJ8TbuigSglPkg==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "ajv": "^8.0.0-beta.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/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "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/anynum": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/anynum/-/anynum-1.0.1.tgz",
- "integrity": "sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT"
- },
- "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/astro": {
- "version": "7.0.9",
- "resolved": "https://registry.npmjs.org/astro/-/astro-7.0.9.tgz",
- "integrity": "sha512-WB5pA4LLQnmqjBh6EIu0z8aUV4q2/AoThgSZq57Rsp+oqqvPu7OwZ5eF+W4ku20TUTxIhiJW8dccuGvJPiW2UA==",
- "license": "MIT",
- "peer": true,
- "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/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/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-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/chokidar": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
- "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "readdirp": "^4.0.1"
- },
- "engines": {
- "node": ">= 14.16.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/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "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/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "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-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/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/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/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/emmet": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.4.11.tgz",
- "integrity": "sha512-23QPJB3moh/U9sT4rQzGgeyyGIrcM+GH5uVYg2C6wZIxAIJq7Ng3QLT79tl8FUwDXhyq9SusfknOrofAKqvgyQ==",
- "dev": true,
- "license": "MIT",
- "workspaces": [
- "./packages/scanner",
- "./packages/abbreviation",
- "./packages/css-abbreviation",
- "./"
- ],
- "dependencies": {
- "@emmetio/abbreviation": "^2.3.3",
- "@emmetio/css-abbreviation": "^2.1.8"
- }
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/enhanced-resolve": {
- "version": "5.21.6",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz",
- "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.3.3"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "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/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/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "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/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/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-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
- "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-uri": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.3.tgz",
- "integrity": "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fastify"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/fastify"
- }
- ],
- "license": "BSD-3-Clause"
- },
- "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/fast-xml-builder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.3.0.tgz",
- "integrity": "sha512-F74cZEdCvuw9P41GAC3rod4X04jjWGM1JPEv/GWSqFTWLsdyMSBMBMlm9Hk3GLBgLBbdBNY8yee0pQh2RBVESQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "path-expression-matcher": "^1.6.2",
- "xml-naming": "^0.3.0"
- }
- },
- "node_modules/fast-xml-parser": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.10.0.tgz",
- "integrity": "sha512-SLhnTEqE5QpJHq/6zl9bsmImEP2adv+y6Wy+cJa7nVTRzQh1OZfCe9k29M5xN74LWnu0xa1zrUrq3KnOKl92Fg==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "@nodable/entities": "^2.2.0",
- "fast-xml-builder": "^1.2.0",
- "is-unsafe": "^2.0.0",
- "path-expression-matcher": "^1.6.2",
- "strnum": "^2.4.1",
- "xml-naming": "^0.3.0"
- },
- "bin": {
- "fxparser": "src/cli/cli.js"
- }
- },
- "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-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "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/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/gsap": {
- "version": "3.15.0",
- "resolved": "https://registry.npmjs.org/gsap/-/gsap-3.15.0.tgz",
- "integrity": "sha512-dMW4CWBTUK1AEEDeZc1g4xpPGIrSf9fJF960qbTZmN/QwZIWY5wgliS6JWl9/25fpTGJrMRtSjGtOmPnfjZB+A==",
- "license": "Standard 'no charge' license: https://gsap.com/standard-license."
- },
- "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-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-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-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-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/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/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-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-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "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/is-unsafe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-unsafe/-/is-unsafe-2.0.0.tgz",
- "integrity": "sha512-2LdV822R+wmI86unXA93WCFpL6g+av8ynWk0nrHyJqGop5VoocYsSLFgN8jrfalT6iGeLNM4KXuVSsULP53kEA==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT"
- },
- "node_modules/jiti": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz",
- "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==",
- "devOptional": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "jiti": "lib/jiti-cli.mjs"
- }
- },
- "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/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true,
- "license": "MIT"
- },
- "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/kleur": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
- "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/lenis": {
- "version": "1.3.25",
- "resolved": "https://registry.npmjs.org/lenis/-/lenis-1.3.25.tgz",
- "integrity": "sha512-mOKxayErlaONK8fm4LN3XNd99Qu4plTpn9h9qf8wxzjGrJDzuD84FYzZ81HCd6ZsWp++VWVwOzL286Pf2s2u4A==",
- "license": "MIT",
- "workspaces": [
- "packages/*",
- "playground",
- "playground/*"
- ],
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/darkroomengineering"
- },
- "peerDependencies": {
- "@nuxt/kit": ">=3.0.0",
- "react": ">=17.0.0",
- "vue": ">=3.0.0"
- },
- "peerDependenciesMeta": {
- "@nuxt/kit": {
- "optional": true
- },
- "react": {
- "optional": true
- },
- "vue": {
- "optional": true
- }
- }
- },
- "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/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/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/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-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-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-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-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/muggle-string": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz",
- "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==",
- "dev": true,
- "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.3",
- "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.3.tgz",
- "integrity": "sha512-9miFgM2OFba7hB+pRgvtV84pYTBaoTHohvmIgiRt6dRIzbwEOIaNaP+dIlGs2fNFoB0SeISs0Jz5WFVRid6Xyg==",
- "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/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/path-browserify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
- "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-expression-matcher": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.6.2.tgz",
- "integrity": "sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "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/prettier": {
- "version": "3.9.5",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.5.tgz",
- "integrity": "sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "bin": {
- "prettier": "bin/prettier.cjs"
- },
- "engines": {
- "node": ">=14"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "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": "4.1.2",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
- "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14.18.0"
- },
- "funding": {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- },
- "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/request-light": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.7.0.tgz",
- "integrity": "sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "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-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/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.35.3",
- "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz",
- "integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==",
- "license": "Apache-2.0",
- "optional": true,
- "dependencies": {
- "@img/colour": "^1.1.0",
- "detect-libc": "^2.1.2",
- "semver": "^7.8.5"
- },
- "engines": {
- "node": ">=20.9.0"
- },
- "funding": {
- "url": "https://opencollective.com/libvips"
- },
- "optionalDependencies": {
- "@img/sharp-darwin-arm64": "0.35.3",
- "@img/sharp-darwin-x64": "0.35.3",
- "@img/sharp-freebsd-wasm32": "0.35.3",
- "@img/sharp-libvips-darwin-arm64": "1.3.2",
- "@img/sharp-libvips-darwin-x64": "1.3.2",
- "@img/sharp-libvips-linux-arm": "1.3.2",
- "@img/sharp-libvips-linux-arm64": "1.3.2",
- "@img/sharp-libvips-linux-ppc64": "1.3.2",
- "@img/sharp-libvips-linux-riscv64": "1.3.2",
- "@img/sharp-libvips-linux-s390x": "1.3.2",
- "@img/sharp-libvips-linux-x64": "1.3.2",
- "@img/sharp-libvips-linuxmusl-arm64": "1.3.2",
- "@img/sharp-libvips-linuxmusl-x64": "1.3.2",
- "@img/sharp-linux-arm": "0.35.3",
- "@img/sharp-linux-arm64": "0.35.3",
- "@img/sharp-linux-ppc64": "0.35.3",
- "@img/sharp-linux-riscv64": "0.35.3",
- "@img/sharp-linux-s390x": "0.35.3",
- "@img/sharp-linux-x64": "0.35.3",
- "@img/sharp-linuxmusl-arm64": "0.35.3",
- "@img/sharp-linuxmusl-x64": "0.35.3",
- "@img/sharp-webcontainers-wasm32": "0.35.3",
- "@img/sharp-win32-arm64": "0.35.3",
- "@img/sharp-win32-ia32": "0.35.3",
- "@img/sharp-win32-x64": "0.35.3"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "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-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/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/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/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/strnum": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.4.1.tgz",
- "integrity": "sha512-M9eUSMT2dCB2cTNPG7UYj6KuK7RJR2SN2+yCV/fTW3xzTCS6EaGZ5pSMgDIjB7r8zSfTGk+dvvn9rTjpVS9Mwg==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "anynum": "^1.0.1"
- }
- },
- "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/tailwindcss": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.2.tgz",
- "integrity": "sha512-WtctNNSH8A9jlMIqxzuYumOHU5uGZyRv0Q5svQl+oEPy5w84YpBxdb7MdqyiSPQge5jTJ6zFQLq0PFygdccSBA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/tapable": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz",
- "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "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/typesafe-path": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/typesafe-path/-/typesafe-path-0.2.2.tgz",
- "integrity": "sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/typescript": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
- "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
- "dev": true,
- "license": "Apache-2.0",
- "peer": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=14.17"
- }
- },
- "node_modules/typescript-auto-import-cache": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/typescript-auto-import-cache/-/typescript-auto-import-cache-0.3.6.tgz",
- "integrity": "sha512-RpuHXrknHdVdK7wv/8ug3Fr0WNsNi5l5aB8MYYuXhq2UH5lnEB1htJ1smhtD5VeCsGr2p8mUDtd83LCQDFVgjQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^7.3.8"
- }
- },
- "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-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-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-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-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/unstorage/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/unstorage/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/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.4",
- "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.4.tgz",
- "integrity": "sha512-bTT9PsdWO+MQMNG9ZXIP/qM9wGh37DFxTV/sPq9cFpHr3w4jkgef032PkAL9jAqhk3Nz8NQw3O8n6/xFkqO4QQ==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "lightningcss": "^1.32.0",
- "picomatch": "^4.0.5",
- "postcss": "^8.5.16",
- "rolldown": "~1.1.4",
- "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/volar-service-css": {
- "version": "0.0.71",
- "resolved": "https://registry.npmjs.org/volar-service-css/-/volar-service-css-0.0.71.tgz",
- "integrity": "sha512-wRRFt9BpjMKCazcgOh67MSjUjiWUCAh99DyYSDIOTuxaRjEtDC7PpB0k1Y1wbJIW/pVtMUSVbpPo3UGSm0Byxw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "vscode-css-languageservice": "^6.3.0",
- "vscode-languageserver-textdocument": "^1.0.11",
- "vscode-uri": "^3.0.8"
- },
- "peerDependencies": {
- "@volar/language-service": "~2.4.0"
- },
- "peerDependenciesMeta": {
- "@volar/language-service": {
- "optional": true
- }
- }
- },
- "node_modules/volar-service-emmet": {
- "version": "0.0.71",
- "resolved": "https://registry.npmjs.org/volar-service-emmet/-/volar-service-emmet-0.0.71.tgz",
- "integrity": "sha512-zqjzt6bN95e3CUstBm0PBFAJnrfz0ZAARka87fart46/gNCLLuP3Vujy8V/J8HEziTFLnfkgIASLFYPUhonJcA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@emmetio/css-parser": "^0.4.1",
- "@emmetio/html-matcher": "^1.3.0",
- "@vscode/emmet-helper": "^2.9.3",
- "vscode-uri": "^3.0.8"
- },
- "peerDependencies": {
- "@volar/language-service": "~2.4.0"
- },
- "peerDependenciesMeta": {
- "@volar/language-service": {
- "optional": true
- }
- }
- },
- "node_modules/volar-service-html": {
- "version": "0.0.71",
- "resolved": "https://registry.npmjs.org/volar-service-html/-/volar-service-html-0.0.71.tgz",
- "integrity": "sha512-e8tHPhgQ7ooLfudAEIku+kgd9pWkq3SSz8RbnQDI1+Eb8wbenkLGHqoirLqz5ORLV6wIMr2Iv08RWBG5eOcgpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "vscode-html-languageservice": "^5.3.0",
- "vscode-languageserver-textdocument": "^1.0.11",
- "vscode-uri": "^3.0.8"
- },
- "peerDependencies": {
- "@volar/language-service": "~2.4.0"
- },
- "peerDependenciesMeta": {
- "@volar/language-service": {
- "optional": true
- }
- }
- },
- "node_modules/volar-service-prettier": {
- "version": "0.0.71",
- "resolved": "https://registry.npmjs.org/volar-service-prettier/-/volar-service-prettier-0.0.71.tgz",
- "integrity": "sha512-Rz7JVH3qD108UCdmIEiZvOBNljMt2nLFdbN8AXcDfn7xD9F5I2aCIsDVqBbXw21PsnxG0b7MfwtNF+zPS/NKUg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "vscode-uri": "^3.0.8"
- },
- "peerDependencies": {
- "@volar/language-service": "~2.4.0",
- "prettier": "^2.2 || ^3.0"
- },
- "peerDependenciesMeta": {
- "@volar/language-service": {
- "optional": true
- },
- "prettier": {
- "optional": true
- }
- }
- },
- "node_modules/volar-service-typescript": {
- "version": "0.0.71",
- "resolved": "https://registry.npmjs.org/volar-service-typescript/-/volar-service-typescript-0.0.71.tgz",
- "integrity": "sha512-yTtM/BVT6hoyEYnDtaCyAtNhdNeS/mhTTABlBOdw3NNiRBUin3IznFJpgfjer4c6RYopiPjjQjc9VFhxVl1mLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-browserify": "^1.0.1",
- "semver": "^7.6.2",
- "typescript-auto-import-cache": "^0.3.5",
- "vscode-languageserver-textdocument": "^1.0.11",
- "vscode-nls": "^5.2.0",
- "vscode-uri": "^3.0.8"
- },
- "peerDependencies": {
- "@volar/language-service": "~2.4.0"
- },
- "peerDependenciesMeta": {
- "@volar/language-service": {
- "optional": true
- }
- }
- },
- "node_modules/volar-service-typescript-twoslash-queries": {
- "version": "0.0.71",
- "resolved": "https://registry.npmjs.org/volar-service-typescript-twoslash-queries/-/volar-service-typescript-twoslash-queries-0.0.71.tgz",
- "integrity": "sha512-9K2k72s4n7rV9s4bX0MyjbX9iBribvKZbBJKuEmTCZfeWJXs6Yh7bGpY4eoc7UufAjvpheBqwyZCOIPBvxCv0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "vscode-uri": "^3.0.8"
- },
- "peerDependencies": {
- "@volar/language-service": "~2.4.0"
- },
- "peerDependenciesMeta": {
- "@volar/language-service": {
- "optional": true
- }
- }
- },
- "node_modules/volar-service-yaml": {
- "version": "0.0.71",
- "resolved": "https://registry.npmjs.org/volar-service-yaml/-/volar-service-yaml-0.0.71.tgz",
- "integrity": "sha512-qYGWGuVpUTnZGu5P/CR4KLK4aIR8RrcVnmfZ2eRcj9q/I8VZCoC5yy9FtEvfNvnDp4MU17yhdJcvpQPIqhJS2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "vscode-uri": "^3.0.8",
- "yaml-language-server": "~1.23.0"
- },
- "peerDependencies": {
- "@volar/language-service": "~2.4.0"
- },
- "peerDependenciesMeta": {
- "@volar/language-service": {
- "optional": true
- }
- }
- },
- "node_modules/vscode-css-languageservice": {
- "version": "6.3.10",
- "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.10.tgz",
- "integrity": "sha512-eq5N9Er3fC4vA9zd9EFhyBG90wtCCuXgRSpAndaOgXMh1Wgep5lBgRIeDgjZBW9pa+332yC9+49cZMW8jcL3MA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vscode/l10n": "^0.0.18",
- "vscode-languageserver-textdocument": "^1.0.12",
- "vscode-languageserver-types": "3.17.5",
- "vscode-uri": "^3.1.0"
- }
- },
- "node_modules/vscode-css-languageservice/node_modules/vscode-languageserver-types": {
- "version": "3.17.5",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
- "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vscode-html-languageservice": {
- "version": "5.6.2",
- "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.6.2.tgz",
- "integrity": "sha512-ulCrSnFnfQ16YzvwnYUgEbUEl/ZG7u2eV27YhvLObSHKkb8fw1Z9cgsnUwjTEeDIdJDoTDTDpxuhQwoenoLNMg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vscode/l10n": "^0.0.18",
- "vscode-languageserver-textdocument": "^1.0.12",
- "vscode-languageserver-types": "^3.17.5",
- "vscode-uri": "^3.1.0"
- }
- },
- "node_modules/vscode-json-languageservice": {
- "version": "4.1.8",
- "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.8.tgz",
- "integrity": "sha512-0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jsonc-parser": "^3.0.0",
- "vscode-languageserver-textdocument": "^1.0.1",
- "vscode-languageserver-types": "^3.16.0",
- "vscode-nls": "^5.0.0",
- "vscode-uri": "^3.0.2"
- },
- "engines": {
- "npm": ">=7.0.0"
- }
- },
- "node_modules/vscode-jsonrpc": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.1.tgz",
- "integrity": "sha512-rfuA6T75H6m5EkbhtEPzre9pT0HPcDI2MMy4+nPFIBks5J8JBAUHD4tRYSgaBOijIEC7SRkC1kKyXTLqbmh9jw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/vscode-languageserver": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
- "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "vscode-languageserver-protocol": "3.17.5"
- },
- "bin": {
- "installServerIntoExtension": "bin/installServerIntoExtension"
- }
- },
- "node_modules/vscode-languageserver-protocol": {
- "version": "3.18.2",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.18.2.tgz",
- "integrity": "sha512-XRyDbT0Pp3sSNti3JmxVEUMySWCSi1hhM+/KUlCy1hV1zmrqpM1OwO12EAki8blhmLuIMpaJrYbo0OzGVfK2Qg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "vscode-jsonrpc": "9.0.1",
- "vscode-languageserver-types": "3.18.0"
- }
- },
- "node_modules/vscode-languageserver-textdocument": {
- "version": "1.0.12",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz",
- "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vscode-languageserver-types": {
- "version": "3.18.0",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.18.0.tgz",
- "integrity": "sha512-8TsGPNMIMiiBdkORgRSvLjuiEIiAFtO+KssmYWxQ+uSVvlf7RjK8YKCOjPzZ+YA04jXEV7+7LvkSmHkhpNS99g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vscode-languageserver/node_modules/vscode-jsonrpc": {
- "version": "8.2.0",
- "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
- "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=14.0.0"
- }
- },
- "node_modules/vscode-languageserver/node_modules/vscode-languageserver-protocol": {
- "version": "3.17.5",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
- "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "vscode-jsonrpc": "8.2.0",
- "vscode-languageserver-types": "3.17.5"
- }
- },
- "node_modules/vscode-languageserver/node_modules/vscode-languageserver-types": {
- "version": "3.17.5",
- "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
- "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vscode-nls": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/vscode-nls/-/vscode-nls-5.2.0.tgz",
- "integrity": "sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vscode-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz",
- "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==",
- "dev": true,
- "license": "MIT"
- },
- "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/wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
- }
- },
- "node_modules/xml-naming": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/xml-naming/-/xml-naming-0.3.0.tgz",
- "integrity": "sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/NaturalIntelligence"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=16.0.0"
- }
- },
- "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/y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10"
- }
- },
- "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/yaml-language-server": {
- "version": "1.23.0",
- "resolved": "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.23.0.tgz",
- "integrity": "sha512-3qVyCOexLCWw06PQa5kRPwvMWMZ/eZeCRWUvgD6a0OkqL/4iCnxy2WumbWifa937Uo5xhyWJ0uxlU39ljhNh7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@vscode/l10n": "^0.0.18",
- "ajv": "^8.17.1",
- "ajv-draft-04": "^1.0.0",
- "ajv-i18n": "^4.2.0",
- "prettier": "^3.8.1",
- "request-light": "^0.5.7",
- "vscode-json-languageservice": "4.1.8",
- "vscode-languageserver": "^9.0.0",
- "vscode-languageserver-textdocument": "^1.0.1",
- "vscode-languageserver-types": "^3.16.0",
- "vscode-uri": "^3.0.2",
- "yaml": "2.8.3"
- },
- "bin": {
- "yaml-language-server": "bin/yaml-language-server"
- }
- },
- "node_modules/yaml-language-server/node_modules/request-light": {
- "version": "0.5.8",
- "resolved": "https://registry.npmjs.org/request-light/-/request-light-0.5.8.tgz",
- "integrity": "sha512-3Zjgh+8b5fhRJBQZoy+zbVKpAQGLyka0MPgW3zruTF4dFFJ8Fqcfu9YsAvi/rvdcaTeWG3MkbZv4WKxAn/84Lg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/yaml-language-server/node_modules/yaml": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.3.tgz",
- "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "yaml": "bin.mjs"
- },
- "engines": {
- "node": ">= 14.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/eemeli"
- }
- },
- "node_modules/yargs": {
- "version": "17.7.3",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz",
- "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/yargs-parser": {
- "version": "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/yargs/node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=12"
- }
- },
- "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/package.json b/package.json
deleted file mode 100644
index 174baf5..0000000
--- a/package.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "daniissac-technical-brand",
- "version": "1.0.0",
- "private": true,
- "type": "module",
- "scripts": {
- "dev": "astro dev",
- "start": "astro dev",
- "build": "astro build",
- "check": "astro check",
- "new:article": "node scripts/new-article.mjs",
- "preview": "astro preview",
- "test": "npm run check && npm run build"
- },
- "engines": {
- "node": ">=22.12.0",
- "npm": ">=9.6.5"
- },
- "dependencies": {
- "@astrojs/rss": "^4.0.19",
- "@astrojs/sitemap": "^3.7.3",
- "@fontsource-variable/jetbrains-mono": "^5.2.8",
- "@fontsource-variable/manrope": "^5.2.8",
- "@lucide/astro": "^1.24.0",
- "astro": "^7.0.9",
- "gsap": "^3.15.0",
- "lenis": "^1.3.25"
- },
- "devDependencies": {
- "@astrojs/check": "^0.9.9",
- "@tailwindcss/vite": "^4.3.2",
- "tailwindcss": "^4.3.2",
- "typescript": "^6.0.3"
- }
-}
diff --git a/public/favicon.svg b/public/favicon.svg
deleted file mode 100644
index 06fa2bd..0000000
--- a/public/favicon.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/public/images/internet-in-motion.png b/public/images/internet-in-motion.png
deleted file mode 100644
index 4ae7cd1..0000000
Binary files a/public/images/internet-in-motion.png and /dev/null differ
diff --git a/public/site.webmanifest b/public/site.webmanifest
deleted file mode 100644
index 54bb2e9..0000000
--- a/public/site.webmanifest
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "name": "Dani Issac",
- "short_name": "Dani Issac",
- "description": "Networks, observability, and technical learning.",
- "start_url": "/",
- "display": "standalone",
- "background_color": "#f7f8fa",
- "theme_color": "#17191e",
- "icons": [
- {
- "src": "/favicon.svg",
- "sizes": "any",
- "type": "image/svg+xml"
- }
- ]
-}
diff --git a/scripts/new-article.mjs b/scripts/new-article.mjs
deleted file mode 100644
index 969c913..0000000
--- a/scripts/new-article.mjs
+++ /dev/null
@@ -1,79 +0,0 @@
-import { existsSync, mkdirSync, writeFileSync } from "node:fs";
-import { dirname, join } from "node:path";
-import { fileURLToPath } from "node:url";
-
-const title = process.argv.slice(2).join(" ").trim();
-
-if (!title) {
- console.error('Usage: npm run new:article -- "Article title"');
- process.exit(1);
-}
-
-const slug = title
- .normalize("NFKD")
- .replace(/[\u0300-\u036f]/g, "")
- .toLowerCase()
- .replace(/[^a-z0-9]+/g, "-")
- .replace(/^-+|-+$/g, "");
-
-if (!slug) {
- console.error("The title must contain at least one letter or number.");
- process.exit(1);
-}
-
-const now = new Date();
-const publishedDate = [
- now.getFullYear(),
- String(now.getMonth() + 1).padStart(2, "0"),
- String(now.getDate()).padStart(2, "0"),
-].join("-");
-const repositoryRoot = fileURLToPath(new URL("..", import.meta.url));
-const articlePath = join(repositoryRoot, "src", "data", "writing", `${slug}.md`);
-
-if (existsSync(articlePath)) {
- console.error(`Article already exists: ${articlePath}`);
- process.exit(1);
-}
-
-const article = `---
-title: ${JSON.stringify(title)}
-description: "TODO: Summarize the reader problem and practical outcome."
-publishedDate: ${publishedDate}
-tags:
- - Networking
-draft: true
-featured: false
----
-
-Open with the reader's question, why it matters, and what they will be able to understand or do afterward.
-
-## What is happening
-
-Explain the behavior before naming tools or products.
-
-## What can be observed
-
-Identify the packets, logs, telemetry, commands, or symptoms that provide evidence.
-
-## How to reason about it
-
-Build the mental model step by step and connect each claim to observable behavior.
-
-## Practical checks
-
-Provide reproducible commands, tests, or troubleshooting questions.
-
-## Limits and edge cases
-
-State where the model stops being sufficient and what can make the result misleading.
-
-## Key takeaways
-
-Close with the few ideas the reader should retain.
-`;
-
-mkdirSync(dirname(articlePath), { recursive: true });
-writeFileSync(articlePath, article, "utf8");
-
-console.log(`Created: ${articlePath}`);
-console.log(`Preview: /writing/${slug}/`);
diff --git a/src/components/Footer.astro b/src/components/Footer.astro
deleted file mode 100644
index 9926a0e..0000000
--- a/src/components/Footer.astro
+++ /dev/null
@@ -1,31 +0,0 @@
----
-import { BriefcaseBusiness as Linkedin, GitBranch as Github, Rss } from "@lucide/astro";
-import { SITE, SOCIAL } from "../config";
-
-const year = new Date().getFullYear();
----
-
-
diff --git a/src/components/Header.astro b/src/components/Header.astro
deleted file mode 100644
index 849398c..0000000
--- a/src/components/Header.astro
+++ /dev/null
@@ -1,40 +0,0 @@
----
-import { BriefcaseBusiness as Linkedin, GitBranch as Github } from "@lucide/astro";
-import { SOCIAL } from "../config";
-
-const pathname = Astro.url.pathname;
-const navItems = [
- { href: "/writing/", label: "Writing", match: "/writing" },
- { href: "/projects/", label: "Projects", match: "/projects" },
- { href: "/about/", label: "About", match: "/about" },
-];
----
-
-
diff --git a/src/components/ProjectCard.astro b/src/components/ProjectCard.astro
deleted file mode 100644
index 037acff..0000000
--- a/src/components/ProjectCard.astro
+++ /dev/null
@@ -1,31 +0,0 @@
----
-import { ArrowUpRight, GitBranch as Github } from "@lucide/astro";
-import type { CollectionEntry } from "astro:content";
-
-interface Props {
- project: CollectionEntry<"projects">;
- compact?: boolean;
-}
-
-const { project, compact = false } = Astro.props;
-const { data } = project;
----
-
-
-
-
-
- {data.tags.slice(0, compact ? 3 : 5).map((tag) => {tag} )}
-
-
- View project
-
-
diff --git a/src/config.ts b/src/config.ts
deleted file mode 100644
index cdeb621..0000000
--- a/src/config.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-export const SITE = {
- name: "Dani Issac",
- defaultTitle: "Dani Issac | Networks, Observability, and Technical Learning",
- description:
- "Network Engineer + Technical Educator building visual explainers, practical labs, and open-source tools that make complex network behavior easier to understand.",
- url: "https://daniissac.com",
- image: "/og.png",
- authorRole: "Network Engineer + Technical Educator",
-};
-
-export const SOCIAL = {
- github: "https://github.com/daniissac",
- linkedin: "https://www.linkedin.com/in/daniissac",
- rss: "/rss.xml",
-};
-
-export const EXPERIENCE = [
- {
- role: "Technical Learning Experience Designer",
- company: "Cisco",
- period: "Nov 2024 - Present",
- summary:
- "Builds technical demonstrations, architecture walkthroughs, and implementation guidance for network observability and troubleshooting scenarios.",
- },
- {
- role: "Network Support Engineer",
- company: "Cisco",
- period: "Apr 2022 - Oct 2024",
- summary:
- "Led enterprise diagnostics across LAN and WAN environments, translating telemetry into practical monitoring and troubleshooting decisions.",
- },
- {
- role: "Consulting Engineer",
- company: "Cisco - Business Critical Services",
- period: "Jul 2019 - Apr 2022",
- summary:
- "Delivered network implementation guidance, escalation support, and Python-assisted configuration workflows for enterprise environments.",
- },
-];
-
-export const CERTIFICATIONS = [
- {
- name: "CCNP Enterprise",
- issuer: "Cisco",
- url: "https://www.credly.com/badges/8a0e23ca-ca16-4268-a2f0-812fde6e8399/linked_in_profile",
- },
- {
- name: "CCNA",
- issuer: "Cisco",
- url: "https://www.credly.com/badges/4cac269e-bc7f-4a10-8635-b0796a92c286/linked_in_profile",
- },
- {
- name: "CCNA Automation",
- issuer: "Cisco",
- url: "https://www.credly.com/badges/ecb54727-faa8-4895-8aa9-d77cb51feb70/linked_in_profile",
- },
- {
- name: "AWS Certified Solutions Architect - Associate",
- issuer: "AWS",
- url: "https://www.credly.com/badges/5587d2f8-f5d9-49fa-be50-d0e97076a578/linked_in_profile",
- },
-];
-
-export const PRACTICE_AREAS = [
- {
- label: "Diagnose the behavior",
- summary:
- "Trace failures across DNS, routing, transport, and application paths using packet captures, command-line evidence, and telemetry.",
- },
- {
- label: "Make evidence useful",
- summary:
- "Connect synthetic tests, path analysis, and network signals to the decision a team is actually trying to make.",
- },
- {
- label: "Teach through working examples",
- summary:
- "Build demonstrations, documentation, and Python tools that make complex network behavior observable and repeatable.",
- },
-];
diff --git a/src/content.config.ts b/src/content.config.ts
deleted file mode 100644
index 6dfcb1e..0000000
--- a/src/content.config.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { defineCollection } from "astro:content";
-import { glob } from "astro/loaders";
-import { z } from "astro/zod";
-
-const writing = defineCollection({
- loader: glob({ pattern: "**/*.{md,mdx}", base: "./src/data/writing" }),
- schema: z.object({
- title: z.string(),
- description: z.string(),
- publishedDate: z.coerce.date(),
- updatedDate: z.coerce.date().optional(),
- tags: z.array(z.string()).default([]),
- draft: z.boolean().default(false),
- featured: z.boolean().default(false),
- image: z.string().optional(),
- imageAlt: z.string().optional(),
- }),
-});
-
-const projects = defineCollection({
- loader: glob({ pattern: "**/*.{md,mdx}", base: "./src/data/projects" }),
- schema: z.object({
- title: z.string(),
- description: z.string(),
- status: z.enum(["active", "maintained", "experiment", "archived"]),
- featured: z.boolean().default(false),
- order: z.number().default(99),
- tags: z.array(z.string()).default([]),
- image: z.string().optional(),
- imageAlt: z.string().optional(),
- repositoryUrl: z.url(),
- demoUrl: z.url().optional(),
- projectType: z.enum(["webApplication", "softwareSource"]),
- }),
-});
-
-export const collections = { writing, projects };
diff --git a/src/data/projects/cml2gns.md b/src/data/projects/cml2gns.md
deleted file mode 100644
index 2097e0f..0000000
--- a/src/data/projects/cml2gns.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: "cml2gns"
-description: "A CML and VIRL to GNS3 topology converter with validation, node mapping, and command-line automation."
-status: "experiment"
-featured: true
-order: 4
-tags: ["Python", "Cisco CML", "GNS3", "Topology", "Network Labs"]
-repositoryUrl: "https://github.com/daniissac/cml2gns"
-projectType: "softwareSource"
----
-
-## The problem
-
-Network lab topologies are not portable simply because two platforms describe similar devices and links. Node types, interface naming, appliance templates, and configuration fields need explicit translation.
-
-cml2gns explores a repeatable conversion path from Cisco CML or VIRL topology files into GNS3 project workflows.
-
-## Current capabilities
-
-- Parses CML and VIRL topology descriptions.
-- Converts nodes and links into GNS3 project structures.
-- Preserves available node configurations and connection data.
-- Maps CML device types to GNS3 appliance templates.
-- Supports custom mapping data for local lab environments.
-- Provides command-line validation and logging.
-
-## Why it remains an experiment
-
-Topology conversion depends on the images and templates installed in a user's GNS3 environment. A generated project still needs local appliance mapping and validation before it can be treated as portable or complete.
-
-## Direction
-
-The useful long-term model is not a one-click promise. It is a transparent conversion report that shows which nodes mapped cleanly, which assumptions were made, and which devices need user input.
diff --git a/src/data/projects/configdiff.md b/src/data/projects/configdiff.md
deleted file mode 100644
index 4b280ab..0000000
--- a/src/data/projects/configdiff.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title: "ConfigDiff"
-description: "A semantic configuration comparison CLI that separates structural changes from formatting noise."
-status: "maintained"
-featured: true
-order: 2
-tags: ["Python", "Config Drift", "JSON", "YAML", "CI/CD"]
-repositoryUrl: "https://github.com/daniissac/configdiff"
-demoUrl: "https://pypi.org/project/configdiff/"
-projectType: "softwareSource"
----
-
-## The problem
-
-Line-oriented diff tools treat indentation, ordering, and formatting as changes even when the underlying configuration is equivalent. That noise makes it harder to notice the values that actually changed during a review or deployment window.
-
-ConfigDiff parses supported configuration files into normalized structures before comparing them recursively.
-
-## What it does
-
-- Compares JSON, YAML, TOML, and INI files.
-- Classifies values as added, removed, modified, or type-changed.
-- Reports precise dot-notation paths for nested changes.
-- Supports ordered or order-insensitive list comparison.
-- Produces human-readable terminal output or structured JSON and YAML.
-- Uses exit codes designed for CI and deployment gates.
-
-## Where it fits
-
-The tool is useful when structured network, application, or deployment configuration needs to be reviewed for drift. Machine-readable output can feed review tooling and automation without scraping a textual patch.
-
-## Boundaries
-
-Both inputs must use the same supported structured format. Raw device configuration syntax is not interpreted as a vendor-aware model unless it has first been represented in JSON, YAML, TOML, or INI.
-
-## Distribution
-
-ConfigDiff is available as a Python package and can also run in a container. The repository includes automated tests and CI-oriented examples.
diff --git a/src/data/projects/internet-in-motion.md b/src/data/projects/internet-in-motion.md
deleted file mode 100644
index c03da1e..0000000
--- a/src/data/projects/internet-in-motion.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-title: "Internet in Motion"
-description: "An interactive visual guide to DNS, routing, packets, TCP, UDP, QUIC, and web performance for first-time learners."
-status: "active"
-featured: true
-order: 1
-tags: ["DNS", "Routing", "Transport", "Web Performance", "Interactive Learning"]
-image: "/images/internet-in-motion.png"
-imageAlt: "Internet in Motion request-and-response network learning experience"
-repositoryUrl: "https://github.com/daniissac/internet-in-motion"
-demoUrl: "https://daniissac.com/internet-in-motion/"
-projectType: "webApplication"
----
-
-## The learner problem
-
-Networking fundamentals are often taught as isolated definitions. A learner may know what DNS, routing, TCP, or latency means without seeing how those ideas participate in one recognizable action.
-
-Internet in Motion follows a website request from a device toward a server and back. Each explanation stays beside the behavior it describes so the learner can connect a concept with what it changes.
-
-## What the experience includes
-
-The journey contains eight connected chapters:
-
-1. Networks and connections
-2. The local network and gateway
-3. Packets and recovery
-4. IP addressing and DNS
-5. Routing and alternate paths
-6. TCP, UDP, and QUIC
-7. Opening a website
-8. Latency, bandwidth, and loss
-
-The final Packet Playground recombines those ideas. Learners can change DNS caching, path availability, transport, latency, bandwidth, and packet loss, then inspect the resulting event log.
-
-## Learning-design decisions
-
-- Motion and explanation remain close together.
-- Prediction checks provide immediate explanatory feedback.
-- Every guided sequence can be paused, replayed, or stepped through manually.
-- One journey thread connects the chapters without suggesting that one literal packet persists end to end.
-- Simplifications are stated instead of presenting an illustrative route or timing result as universal.
-
-## Technical boundaries
-
-The values in the experience are teaching examples, not measurements. DNS answers can change, network paths may be asymmetric, and browsers may reuse cached answers, files, or established connections.
-
-## Implementation
-
-The project uses Next.js, React components, and CSS motion with no runtime data service. It exports to static files for GitHub Pages. Native controls, visible focus states, live status updates, reduced-motion support, and a page-wide motion pause are included in the interaction model.
-
-## Current status
-
-The first complete eight-chapter learning journey is live. The project remains active while wording, mobile layout, and learner feedback are refined.
diff --git a/src/data/projects/whoson.md b/src/data/projects/whoson.md
deleted file mode 100644
index 312332a..0000000
--- a/src/data/projects/whoson.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: "whoson"
-description: "An nmap-powered subnet audit CLI with host inventory, change detection, exports, and topology images."
-status: "maintained"
-featured: true
-order: 3
-tags: ["Python", "nmap", "Subnet Audit", "Inventory", "CLI"]
-repositoryUrl: "https://github.com/daniissac/whoson"
-demoUrl: "https://pypi.org/project/whoson/"
-projectType: "softwareSource"
----
-
-## The problem
-
-A quick subnet scan can show what responds now, but operational questions usually continue: What changed since the baseline? Which expected hosts are missing? Can the result be exported for another workflow?
-
-whoson wraps nmap discovery in a focused command-line workflow for repeatable subnet audits.
-
-## What it does
-
-- Scans one or more networks using ping, TCP connect, or SYN modes.
-- Classifies discovered hosts using available operating-system and port evidence.
-- Exports host data to JSON or CSV.
-- Saves a baseline and reports added, removed, or changed hosts later.
-- Supports watch mode for recurring scans.
-- Compares results with a known-host inventory.
-- Generates a simple topology image for reporting.
-
-## Honest topology boundaries
-
-A scan cannot infer switch-port connections, router adjacencies, or the real Layer 2 and Layer 3 topology. The generated image uses a star layout because that is the only relationship the scan can represent honestly without CDP, LLDP, or SNMP evidence.
-
-## Requirements
-
-nmap must be installed on the system. Elevated privileges provide additional MAC address, vendor, SYN scan, and operating-system information where the platform supports it.
-
-## Distribution
-
-whoson is available as a Python package and includes automated tests for its audit and export workflows.
diff --git a/src/data/writing/.gitkeep b/src/data/writing/.gitkeep
deleted file mode 100644
index bae255b..0000000
--- a/src/data/writing/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-Published Markdown and MDX articles live in this directory.
diff --git a/src/data/writing/what-happens-when-you-open-a-website.md b/src/data/writing/what-happens-when-you-open-a-website.md
deleted file mode 100644
index 349ce0b..0000000
--- a/src/data/writing/what-happens-when-you-open-a-website.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: What Happens When You Open a Website?
-description: Follow one request through DNS, the local network, routing, transport, security, and the return path.
-publishedDate: 2026-07-15
-tags:
- - Networking
- - DNS
- - TCP/IP
-draft: true
-featured: true
----
-
-This unpublished draft will become the written companion to Internet in Motion.
-
-## Outline
-
-1. The request starts before a packet leaves the device.
-2. DNS turns a name into a destination.
-3. The local network provides the first path outward.
-4. Routers make independent forwarding decisions.
-5. Transport and TLS establish a reliable, secure conversation.
-6. The response travels back, often by a different route.
-7. Observability tools reveal only part of the journey.
diff --git a/src/layouts/BaseLayout.astro b/src/layouts/BaseLayout.astro
deleted file mode 100644
index 60c6163..0000000
--- a/src/layouts/BaseLayout.astro
+++ /dev/null
@@ -1,79 +0,0 @@
----
-import Header from "../components/Header.astro";
-import Footer from "../components/Footer.astro";
-import { SITE, SOCIAL } from "../config";
-import "@fontsource-variable/manrope/wght.css";
-import "@fontsource-variable/jetbrains-mono/wght.css";
-import "../styles/global.css";
-
-interface Props {
- title?: string;
- description?: string;
- image?: string;
- type?: "website" | "article";
- noindex?: boolean;
- jsonLd?: Record | Record[];
-}
-
-const {
- title = SITE.defaultTitle,
- description = SITE.description,
- image = SITE.image,
- type = "website",
- noindex = false,
- jsonLd,
-} = Astro.props;
-
-const canonical = new URL(Astro.url.pathname, Astro.site);
-const socialImage = new URL(image, Astro.site);
-const schemas = jsonLd ? (Array.isArray(jsonLd) ? jsonLd : [jsonLd]) : [];
----
-
-
-
-
-
-
-
-
-
-
-
- {noindex && }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {title}
- {schemas.map((schema) => (
-
- ))}
-
-
- Skip to content
-
-
-
-
-
-
-
-
diff --git a/src/pages/404.astro b/src/pages/404.astro
deleted file mode 100644
index 43c1b80..0000000
--- a/src/pages/404.astro
+++ /dev/null
@@ -1,13 +0,0 @@
----
-import { ArrowLeft } from "@lucide/astro";
-import BaseLayout from "../layouts/BaseLayout.astro";
----
-
-
-
- 404
- This path does not lead anywhere yet.
- The page may have moved, or the address may be incomplete.
- Back to the homepage
-
-
diff --git a/src/pages/about.astro b/src/pages/about.astro
deleted file mode 100644
index 0c23d3c..0000000
--- a/src/pages/about.astro
+++ /dev/null
@@ -1,149 +0,0 @@
----
-import {
- ArrowUpRight,
- BriefcaseBusiness as Linkedin,
- ExternalLink,
- GitBranch as Github,
-} from "@lucide/astro";
-import BaseLayout from "../layouts/BaseLayout.astro";
-import { CERTIFICATIONS, EXPERIENCE, PRACTICE_AREAS, SITE, SOCIAL } from "../config";
-
-const personSchema = {
- "@context": "https://schema.org",
- "@type": "Person",
- name: SITE.name,
- url: SITE.url,
- jobTitle: SITE.authorRole,
- sameAs: [SOCIAL.github, SOCIAL.linkedin],
- alumniOf: {
- "@type": "CollegeOrUniversity",
- name: "Cochin University of Science and Technology",
- },
-};
----
-
-
-
- About
- Network engineering, practical education, and technical ownership.
-
- My path runs from consulting engineer to network support to technical education and demonstration design. The
- connecting thread is practical: understand how a system behaves, make the evidence legible, and help someone
- act on it.
-
-
-
-
-
-
-
-
The thread
-
From operating networks to teaching their behavior
-
-
-
- Since 2019, I have worked across enterprise consulting, advanced network support, observability, and
- technical learning. That progression moved me closer to the work I care about most: translating telemetry,
- protocols, and implementation details into explanations and demonstrations people can use.
-
-
- Today I combine networking and observability expertise with technical writing, learning design, and small
- open-source projects. The aim is not to make the underlying systems look simple. It is to make their actual
- behavior easier to reason about.
-
-
-
-
-
-
-
-
-
Experience
-
Professional background
-
-
- {EXPERIENCE.map((item) => (
-
-
-
-
-
{item.role} {item.company}
-
{item.period}
-
-
{item.summary}
-
-
- ))}
-
-
-
-
-
-
-
-
Practice
-
How I approach network problems
-
-
- {PRACTICE_AREAS.map((area, index) => (
-
- {String(index + 1).padStart(2, "0")}
- {area.label}
- {area.summary}
-
- ))}
-
-
-
-
-
-
-
-
Credentials
-
Selected certifications
-
-
-
-
-
-
-
-
-
Education
-
Computer science foundation
-
-
-
Bachelor of Technology, Computer Science and Engineering
-
Cochin University of Science and Technology
-
2015 - 2019
-
-
-
-
-
- Connect
- Follow the work as it develops.
- New projects and shorter technical notes appear on GitHub and LinkedIn between longer articles.
-
- Connect on LinkedIn
-
-
-
diff --git a/src/pages/index.astro b/src/pages/index.astro
deleted file mode 100644
index 169cf1e..0000000
--- a/src/pages/index.astro
+++ /dev/null
@@ -1,186 +0,0 @@
----
-import { getCollection } from "astro:content";
-import {
- ArrowRight,
- ArrowUpRight,
- BriefcaseBusiness as Linkedin,
- GitBranch as Github,
-} from "@lucide/astro";
-import BaseLayout from "../layouts/BaseLayout.astro";
-import ProjectCard from "../components/ProjectCard.astro";
-import { SITE, SOCIAL } from "../config";
-
-const projects = (await getCollection("projects")).sort((a, b) => a.data.order - b.data.order);
-const writing = (await getCollection("writing", ({ data }) => !data.draft)).sort(
- (a, b) => b.data.publishedDate.valueOf() - a.data.publishedDate.valueOf(),
-);
-const selectedProjects = projects.filter((project) => project.data.featured).slice(0, 3);
-const latestWriting = writing.slice(0, 3);
-
-const personSchema = {
- "@context": "https://schema.org",
- "@type": "Person",
- name: SITE.name,
- url: SITE.url,
- jobTitle: SITE.authorRole,
- sameAs: [SOCIAL.github, SOCIAL.linkedin],
- knowsAbout: [
- "Computer networking",
- "Internet observability",
- "Network telemetry",
- "Network diagnostics",
- "Technical education",
- "Network automation",
- ],
-};
-
-const formatDate = (date: Date) =>
- new Intl.DateTimeFormat("en", { year: "numeric", month: "short", day: "numeric" }).format(date);
----
-
-
-
-
-
-
Network Engineer + Technical Educator
-
Dani Issac
-
I build, explain, and automate modern networks.
-
- I turn network behavior, telemetry, and troubleshooting workflows into clear explanations, practical
- tools, and useful learning experiences.
-
-
-
-
-
-
-
-
-
01 OBSERVE
-
-
02 DIAGNOSE
-
-
03 EXPLAIN
-
-
-
evidence packets + signals
-
method trace + test
-
output explanation
-
-
Start with observable behavior. End with something people can understand and use.
-
-
-
- 01 / 04
- NETWORKS
- OBSERVABILITY
- TECHNICAL LEARNING
- AUTOMATION
-
-
-
-
-
-
-
-
Writing
-
Network behavior, explained clearly
-
-
View writing
-
-
- {latestWriting.length > 0 ? (
-
- {latestWriting.map((post) => (
-
- {formatDate(post.data.publishedDate)}
-
- {post.data.description}
- Read article
-
- ))}
-
- ) : (
-
-
-
First article in progress
-
What happens when you open a website?
-
-
- The first long-form piece will connect DNS, transport, routing, and browser behavior into one practical
- mental model. Writing is published here first and distributed through LinkedIn.
-
-
- Follow new articles on LinkedIn
-
-
- )}
-
-
-
-
-
-
-
-
Selected projects
-
Build, explain, and automate modern networks
-
-
All projects
-
-
- {selectedProjects.map((project) =>
)}
-
-
-
-
-
-
-
-
Experience
-
Built in the field, explained for people
-
-
-
- Since 2019
- Enterprise consulting, network support, and technical learning.
-
-
- Network Engineer + Technical Educator
- Network diagnostics, observability, technical content, and practical learning workflows.
-
-
- Build + explain
- Interactive lessons, technical demonstrations, Python tools, and practical documentation.
-
-
-
Professional background and credentials
-
-
-
-
- Connect
- Interested in networks, observability, or technical learning?
- Follow the work on LinkedIn, explore the source on GitHub, or browse the project notes.
-
-
-
diff --git a/src/pages/llms.txt.ts b/src/pages/llms.txt.ts
deleted file mode 100644
index bbc72e4..0000000
--- a/src/pages/llms.txt.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { getCollection } from "astro:content";
-import { SITE, SOCIAL } from "../config";
-
-export async function GET() {
- const projects = (await getCollection("projects")).sort((a, b) => a.data.order - b.data.order);
- const writing = (await getCollection("writing", ({ data }) => !data.draft)).sort(
- (a, b) => b.data.publishedDate.valueOf() - a.data.publishedDate.valueOf(),
- );
-
- const projectLinks = projects.map(
- (project) => `- [${project.data.title}](${SITE.url}/projects/${project.id}/): ${project.data.description}`,
- );
- const writingLinks = writing.length
- ? writing.map((post) => `- [${post.data.title}](${SITE.url}/writing/${post.id}/): ${post.data.description}`)
- : [`- [Writing](${SITE.url}/writing/): Upcoming articles about network behavior, diagnostics, and technical tools.`];
-
- const content = [
- `# ${SITE.name}`,
- "",
- `> ${SITE.description}`,
- "",
- `${SITE.name} is a network engineer and technical educator who publishes practical explanations, open-source tools, and project notes about modern networks.`,
- "",
- "## Primary pages",
- `- [Home](${SITE.url}/): Professional identity, current writing, selected projects, and ways to connect.`,
- `- [About](${SITE.url}/about/): Professional background, working approach, credentials, and education.`,
- `- [Projects](${SITE.url}/projects/): Network learning experiences and open-source tools.`,
- `- [Writing](${SITE.url}/writing/): Technical articles about network behavior, observability, troubleshooting, and automation.`,
- "",
- "## Projects",
- ...projectLinks,
- "",
- "## Writing",
- ...writingLinks,
- "",
- "## Elsewhere",
- `- [GitHub](${SOCIAL.github}): Source code and repositories.`,
- `- [LinkedIn](${SOCIAL.linkedin}): Short-form technical posts and professional updates.`,
- `- [RSS feed](${SITE.url}${SOCIAL.rss}): Published articles in RSS format.`,
- ].join("\n");
-
- return new Response(`${content}\n`, {
- headers: { "Content-Type": "text/plain; charset=utf-8" },
- });
-}
diff --git a/src/pages/projects/[id].astro b/src/pages/projects/[id].astro
deleted file mode 100644
index f28cc13..0000000
--- a/src/pages/projects/[id].astro
+++ /dev/null
@@ -1,79 +0,0 @@
----
-import { getCollection, render, type CollectionEntry } from "astro:content";
-import { ArrowLeft, ArrowUpRight, GitBranch as Github } from "@lucide/astro";
-import BaseLayout from "../../layouts/BaseLayout.astro";
-import { SITE } from "../../config";
-
-export async function getStaticPaths() {
- const projects = await getCollection("projects");
- return projects.map((entry) => ({ params: { id: entry.id }, props: { entry } }));
-}
-
-interface Props {
- entry: CollectionEntry<"projects">;
-}
-
-const { entry } = Astro.props;
-const { Content } = await render(entry);
-const { data } = entry;
-const projectUrl = new URL(`/projects/${entry.id}/`, Astro.site).toString();
-const projectSchema = {
- "@context": "https://schema.org",
- "@type": data.projectType === "webApplication" ? "WebApplication" : "SoftwareSourceCode",
- name: data.title,
- description: data.description,
- url: data.demoUrl ?? projectUrl,
- codeRepository: data.repositoryUrl,
- author: { "@type": "Person", name: SITE.name, url: SITE.url },
- keywords: data.tags.join(", "),
-};
----
-
-
-
-
- Projects
-
-
-
- {data.status}
- Project overview
-
-
{data.title}
-
{data.description}
-
- {data.tags.map((tag) => {tag} )}
-
-
-
-
-
Status {data.status}
-
Type {data.projectType === "webApplication" ? "Interactive learning" : "Open-source tool"}
-
Focus {data.tags.slice(0, 3).join(" / ")}
-
-
-
-
- {data.image && (
-
-
-
- )}
-
-
-
-
diff --git a/src/pages/projects/index.astro b/src/pages/projects/index.astro
deleted file mode 100644
index e956da1..0000000
--- a/src/pages/projects/index.astro
+++ /dev/null
@@ -1,34 +0,0 @@
----
-import { getCollection } from "astro:content";
-import BaseLayout from "../../layouts/BaseLayout.astro";
-import ProjectCard from "../../components/ProjectCard.astro";
-
-const projects = (await getCollection("projects")).sort((a, b) => a.data.order - b.data.order);
----
-
-
-
- Projects
- Build the model. Test the behavior. Explain the result.
-
- A curated set of learning experiences and network tools, presented with their current status, boundaries,
- and the decisions behind them.
-
-
-
-
-
-
-
Selected work
-
Projects with a clear job to do
-
Interactive learning, observability, configuration safety, and network lab automation.
-
-
- {projects.map((project) =>
)}
-
-
-
-
diff --git a/src/pages/robots.txt.ts b/src/pages/robots.txt.ts
deleted file mode 100644
index 47a9975..0000000
--- a/src/pages/robots.txt.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { SITE } from "../config";
-
-export function GET() {
- return new Response(
- `User-agent: *\nAllow: /\n\nSitemap: ${SITE.url}/sitemap-index.xml\n`,
- { headers: { "Content-Type": "text/plain; charset=utf-8" } },
- );
-}
diff --git a/src/pages/rss.xml.ts b/src/pages/rss.xml.ts
deleted file mode 100644
index 6e27382..0000000
--- a/src/pages/rss.xml.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import rss from "@astrojs/rss";
-import { getCollection } from "astro:content";
-import { SITE } from "../config";
-
-export async function GET(context: { site: URL }) {
- const writing = (await getCollection("writing", ({ data }) => !data.draft)).sort(
- (a, b) => b.data.publishedDate.valueOf() - a.data.publishedDate.valueOf(),
- );
-
- return rss({
- title: "Dani Issac - Writing",
- description: SITE.description,
- site: context.site,
- items: writing.map((post) => ({
- title: post.data.title,
- description: post.data.description,
- pubDate: post.data.publishedDate,
- link: `/writing/${post.id}/`,
- categories: post.data.tags,
- })),
- customData: "en-us ",
- });
-}
diff --git a/src/pages/writing/[id].astro b/src/pages/writing/[id].astro
deleted file mode 100644
index 865c970..0000000
--- a/src/pages/writing/[id].astro
+++ /dev/null
@@ -1,76 +0,0 @@
----
-import { getCollection, render, type CollectionEntry } from "astro:content";
-import { ArrowLeft } from "@lucide/astro";
-import BaseLayout from "../../layouts/BaseLayout.astro";
-import { SITE } from "../../config";
-
-export async function getStaticPaths() {
- const writing = await getCollection("writing", ({ data }) => import.meta.env.DEV || !data.draft);
- return writing.map((entry) => ({ params: { id: entry.id }, props: { entry } }));
-}
-
-interface Props {
- entry: CollectionEntry<"writing">;
-}
-
-const { entry } = Astro.props;
-const { Content, headings } = await render(entry);
-const wordCount = (entry.body ?? "").trim().split(/\s+/).filter(Boolean).length;
-const readingMinutes = Math.max(1, Math.ceil(wordCount / 220));
-const formatDate = (date: Date) =>
- new Intl.DateTimeFormat("en", { year: "numeric", month: "long", day: "numeric" }).format(date);
-
-const articleSchema = {
- "@context": "https://schema.org",
- "@type": "Article",
- headline: entry.data.title,
- description: entry.data.description,
- datePublished: entry.data.publishedDate.toISOString(),
- dateModified: (entry.data.updatedDate ?? entry.data.publishedDate).toISOString(),
- author: { "@type": "Person", name: SITE.name, url: SITE.url },
- mainEntityOfPage: new URL(`/writing/${entry.id}/`, Astro.site).toString(),
- image: new URL(entry.data.image ?? SITE.image, Astro.site).toString(),
-};
----
-
-
-
- Writing
-
-
- {entry.data.tags.map((tag) => {tag} )}
-
- {entry.data.title}
- {entry.data.description}
-
- By Dani Issac
- {formatDate(entry.data.publishedDate)}
- {readingMinutes} min read
-
-
-
- {entry.data.image && (
-
-
-
- )}
-
- 2 }]}>
- {headings.length > 2 && (
-
- On this page
-
- {headings.filter((heading) => heading.depth === 2).map((heading) => {heading.text} )}
-
-
- )}
-
-
-
-
diff --git a/src/pages/writing/index.astro b/src/pages/writing/index.astro
deleted file mode 100644
index 05f4b50..0000000
--- a/src/pages/writing/index.astro
+++ /dev/null
@@ -1,84 +0,0 @@
----
-import { getCollection } from "astro:content";
-import { ArrowRight, ArrowUpRight, Rss } from "@lucide/astro";
-import BaseLayout from "../../layouts/BaseLayout.astro";
-
-const writing = (await getCollection("writing", ({ data }) => !data.draft)).sort(
- (a, b) => b.data.publishedDate.valueOf() - a.data.publishedDate.valueOf(),
-);
-const formatDate = (date: Date) =>
- new Intl.DateTimeFormat("en", { year: "numeric", month: "short", day: "numeric" }).format(date);
----
-
-
-
- Writing
- Networks, explained from behavior outward.
-
- Practical mental models for network behavior, observability, troubleshooting, and building technical tools.
- Long-form work lives here; shorter versions travel through LinkedIn.
-
- Subscribe with RSS
-
-
-
-
- {writing.length > 0 ? (
-
- {writing.map((post) => (
-
- {formatDate(post.data.publishedDate)}
-
- {post.data.description}
-
- {post.data.tags.map((tag) => {tag} )}
-
- Read article
-
- ))}
-
- ) : (
-
-
-
First article in progress
-
What happens when you open a website?
-
-
- A companion to Internet in Motion is being developed as the first canonical article. Until then, the
- complete interactive journey is ready to explore.
-
-
Explore Internet in Motion
-
- )}
-
-
-
-
-
-
-
Editorial focus
-
Three connected lines of inquiry
-
-
-
- 01
- How networks behave
- DNS, routing, packets, transport, latency, bandwidth, loss, and web performance.
-
-
- 02
- Troubleshooting and observability
- Diagnostic methods, synthetic monitoring, telemetry, and the limits of available evidence.
-
-
- 03
- Building technical tools
- Automation, project decisions, learning design, and what changes after a prototype meets reality.
-
-
-
-
-
diff --git a/src/scripts/motion.ts b/src/scripts/motion.ts
deleted file mode 100644
index 59a0e9f..0000000
--- a/src/scripts/motion.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-import gsap from "gsap";
-import Lenis from "lenis";
-
-const reducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
-
-if (!reducedMotion) {
- const lenis = new Lenis({ lerp: 0.18, smoothWheel: true, wheelMultiplier: 1.08 });
- const raf = (time: number) => {
- lenis.raf(time);
- window.requestAnimationFrame(raf);
- };
-
- window.requestAnimationFrame(raf);
-
- const heroCopy = document.querySelector("[data-reveal='hero-copy']");
- const heroPanel = document.querySelector("[data-reveal='hero-panel']");
- const heroIndex = document.querySelector("[data-reveal='hero-index']");
-
- if (heroCopy && heroPanel && heroIndex) {
- const entrance = gsap.timeline({ defaults: { ease: "power2.out" } });
- entrance
- .from(heroCopy.children, { opacity: 0, y: 18, duration: 0.65, stagger: 0.07 })
- .from(heroPanel, { opacity: 0, x: 24, duration: 0.8 }, "-=0.42")
- .from(heroIndex, { opacity: 0, y: 12, duration: 0.45 }, "-=0.35");
- }
-
- const observer = new IntersectionObserver(
- (entries) => {
- entries.forEach((entry) => {
- if (!entry.isIntersecting) return;
- const section = entry.target as HTMLElement;
- const targets = section.querySelectorAll(".section-heading, .article-card, .project-card, .proof-grid > div, .writing-empty");
- section.dataset.motionReady = "true";
- if (!targets.length) {
- observer.unobserve(section);
- return;
- }
- gsap.from(targets, {
- opacity: 0,
- y: 22,
- duration: 0.55,
- stagger: 0.08,
- ease: "power2.out",
- });
- observer.unobserve(section);
- });
- },
- { threshold: 0.12 },
- );
-
- document.querySelectorAll(".content-section, .closing-section").forEach((section) => observer.observe(section));
-
- document.querySelectorAll(".project-card").forEach((card) => {
- card.addEventListener("pointermove", (event) => {
- if (event.pointerType !== "mouse") return;
- const bounds = card.getBoundingClientRect();
- const x = (event.clientX - bounds.left) / bounds.width - 0.5;
- const y = (event.clientY - bounds.top) / bounds.height - 0.5;
- gsap.to(card, { rotateY: x * 2.4, rotateX: y * -2.4, duration: 0.3, overwrite: true });
- });
- card.addEventListener("pointerleave", () => {
- gsap.to(card, { rotateY: 0, rotateX: 0, duration: 0.45, overwrite: true });
- });
- });
-}
diff --git a/src/styles/global.css b/src/styles/global.css
deleted file mode 100644
index 0305019..0000000
--- a/src/styles/global.css
+++ /dev/null
@@ -1,1855 +0,0 @@
-@import "tailwindcss";
-
-:root {
- color-scheme: light dark;
- --ink: #0e1a2b;
- --ink-soft: #263852;
- --muted: #58677c;
- --paper: #f4f7fb;
- --surface: #ffffff;
- --surface-soft: #e9eff6;
- --line: #d7e0ea;
- --line-strong: #b5c4d4;
- --blue: #2367d1;
- --blue-strong: #124ca8;
- --green: #17866a;
- --coral: #e65f4d;
- --yellow: #b27200;
- --button-text: #ffffff;
- --focus: #0b75c9;
- --shadow: 0 14px 34px rgba(23, 25, 30, 0.08);
- --shell: 1120px;
- --reading: 720px;
- --radius: 8px;
-}
-
-* {
- box-sizing: border-box;
-}
-
-html {
- scroll-behavior: smooth;
-}
-
-body {
- min-width: 320px;
- margin: 0;
- overflow-x: hidden;
- background: var(--paper);
- color: var(--ink);
- font-family: "Manrope Variable", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
- font-size: 16px;
- line-height: 1.65;
- letter-spacing: 0;
- text-rendering: optimizeLegibility;
-}
-
-button,
-input,
-textarea,
-select {
- font: inherit;
-}
-
-button,
-a {
- -webkit-tap-highlight-color: transparent;
-}
-
-a {
- color: inherit;
- text-decoration-thickness: 1px;
- text-underline-offset: 0.18em;
-}
-
-a:hover {
- color: var(--blue);
-}
-
-img {
- display: block;
- max-width: 100%;
- height: auto;
-}
-
-h1,
-h2,
-h3,
-p,
-ul,
-ol,
-dl,
-figure {
- margin-top: 0;
-}
-
-h1,
-h2,
-h3 {
- color: var(--ink);
- line-height: 1.15;
- letter-spacing: 0;
-}
-
-h1 {
- font-size: 56px;
-}
-
-h2 {
- font-size: 34px;
-}
-
-h3 {
- font-size: 20px;
-}
-
-::selection {
- background: rgba(0, 107, 189, 0.18);
-}
-
-:focus-visible {
- outline: 3px solid var(--focus);
- outline-offset: 3px;
-}
-
-.shell {
- width: min(calc(100% - 48px), var(--shell));
- margin-inline: auto;
-}
-
-.reading-shell {
- max-width: var(--reading);
-}
-
-.reading-wide {
- width: min(calc(100% - 48px), 920px);
- margin-inline: auto;
-}
-
-.skip-link {
- position: fixed;
- top: 12px;
- left: 12px;
- z-index: 1000;
- padding: 10px 14px;
- border-radius: 4px;
- background: var(--ink);
- color: var(--surface);
- transform: translateY(-180%);
-}
-
-.skip-link:focus {
- transform: translateY(0);
-}
-
-.site-header {
- position: sticky;
- top: 0;
- z-index: 100;
- border-bottom: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
- background: color-mix(in srgb, var(--paper) 92%, transparent);
- backdrop-filter: blur(14px);
-}
-
-.header-inner {
- display: grid;
- grid-template-columns: auto 1fr auto;
- align-items: center;
- min-height: 72px;
- gap: 28px;
-}
-
-.brand-link,
-.footer-brand {
- display: inline-flex;
- align-items: center;
- gap: 10px;
- color: var(--ink);
- font-weight: 700;
- text-decoration: none;
-}
-
-.brand-link:hover,
-.footer-brand:hover {
- color: var(--ink);
-}
-
-.brand-mark {
- display: block;
- width: 36px;
- height: 36px;
- flex: 0 0 36px;
- border-radius: 7px;
- box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.16);
-}
-
-.brand-name {
- white-space: nowrap;
-}
-
-.primary-nav {
- display: flex;
- justify-content: center;
- align-items: center;
- gap: 8px;
-}
-
-.nav-link {
- min-height: 40px;
- display: inline-flex;
- align-items: center;
- padding: 0 12px;
- border-radius: 6px;
- color: var(--muted);
- font-size: 14px;
- font-weight: 650;
- text-decoration: none;
-}
-
-.nav-link:hover,
-.nav-link.active {
- background: var(--surface-soft);
- color: var(--ink);
-}
-
-.header-social {
- display: flex;
- align-items: center;
- gap: 4px;
-}
-
-.icon-link,
-.card-icon-link {
- display: inline-grid;
- place-items: center;
- width: 40px;
- height: 40px;
- flex: 0 0 40px;
- border-radius: 6px;
- color: var(--muted);
- text-decoration: none;
-}
-
-.icon-link:hover,
-.card-icon-link:hover {
- background: var(--surface-soft);
- color: var(--ink);
-}
-
-main {
- min-height: 68vh;
-}
-
-.hero {
- padding-block: 88px 78px;
-}
-
-.topic-line {
- display: flex;
- flex-wrap: wrap;
- gap: 18px;
- margin: 0 0 36px;
- padding: 0;
- color: var(--muted);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 12px;
- font-weight: 650;
- list-style: none;
- text-transform: uppercase;
-}
-
-.topic-line li {
- display: inline-flex;
- align-items: center;
- gap: 8px;
-}
-
-.topic-dot {
- width: 8px;
- height: 8px;
- border-radius: 50%;
-}
-
-.dot-blue { background: var(--blue); }
-.dot-green { background: var(--green); }
-.dot-coral { background: var(--coral); }
-
-.hero h1 {
- max-width: 780px;
- margin-bottom: 18px;
- font-size: 64px;
-}
-
-.hero-lede {
- max-width: 920px;
- margin-bottom: 22px;
- color: var(--ink);
- font-size: 38px;
- font-weight: 650;
- line-height: 1.22;
-}
-
-.hero-support {
- max-width: 700px;
- margin-bottom: 34px;
- color: var(--muted);
- font-size: 19px;
-}
-
-.hero-actions,
-.action-row {
- display: flex;
- flex-wrap: wrap;
- align-items: center;
- gap: 12px;
-}
-
-.hero-social {
- display: flex;
- gap: 22px;
- margin-top: 30px;
-}
-
-.hero-social a,
-.footer-social a {
- display: inline-flex;
- align-items: center;
- gap: 7px;
- color: var(--muted);
- font-size: 14px;
- font-weight: 650;
- text-decoration: none;
-}
-
-.hero-social a:hover,
-.footer-social a:hover {
- color: var(--ink);
-}
-
-.button {
- min-height: 46px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- gap: 9px;
- padding: 0 17px;
- border: 1px solid transparent;
- border-radius: 6px;
- font-size: 14px;
- font-weight: 700;
- line-height: 1;
- text-decoration: none;
- transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
-}
-
-.button-primary {
- background: var(--blue);
- color: var(--button-text);
-}
-
-.button-primary:hover {
- background: var(--blue-strong);
- color: var(--button-text);
-}
-
-.button-secondary {
- border-color: var(--line-strong);
- background: var(--surface);
- color: var(--ink);
-}
-
-.button-secondary:hover {
- border-color: var(--ink);
- color: var(--ink);
-}
-
-.button-quiet {
- color: var(--ink);
-}
-
-.button-quiet:hover {
- background: var(--surface-soft);
- color: var(--ink);
-}
-
-.text-link,
-.back-link {
- display: inline-flex;
- align-items: center;
- gap: 7px;
- color: var(--blue);
- font-size: 14px;
- font-weight: 700;
- text-decoration: none;
-}
-
-.text-link:hover,
-.back-link:hover {
- color: var(--blue-strong);
-}
-
-.content-section {
- padding-block: 88px;
- border-top: 1px solid var(--line);
-}
-
-.proof-section,
-.focus-section,
-.pillars-section {
- background: var(--surface);
-}
-
-.section-heading {
- margin-bottom: 36px;
-}
-
-.section-heading h2 {
- max-width: 760px;
- margin-bottom: 0;
-}
-
-.split-heading {
- display: flex;
- align-items: end;
- justify-content: space-between;
- gap: 32px;
-}
-
-.eyebrow {
- margin-bottom: 10px;
- color: var(--green);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 12px;
- font-weight: 750;
- text-transform: uppercase;
-}
-
-.writing-empty {
- display: grid;
- grid-template-columns: minmax(220px, 0.8fr) minmax(280px, 1.15fr) auto;
- align-items: center;
- gap: 36px;
- padding-block: 30px;
- border-top: 1px solid var(--line-strong);
- border-bottom: 1px solid var(--line-strong);
-}
-
-.writing-empty h2,
-.writing-empty h3 {
- margin-bottom: 0;
-}
-
-.writing-empty p {
- margin-bottom: 0;
- color: var(--muted);
-}
-
-.writing-empty-page {
- grid-template-columns: minmax(220px, 0.8fr) minmax(280px, 1.1fr);
-}
-
-.writing-empty-page .button {
- grid-column: 2;
- justify-self: start;
-}
-
-.article-grid,
-.project-grid,
-.cert-grid {
- display: grid;
- grid-template-columns: repeat(3, minmax(0, 1fr));
- gap: 18px;
-}
-
-.article-card,
-.project-card,
-.cert-card {
- border: 1px solid var(--line);
- border-radius: var(--radius);
- background: var(--surface);
-}
-
-.article-card,
-.project-card {
- min-height: 310px;
- display: flex;
- flex-direction: column;
- padding: 24px;
-}
-
-.article-card h3,
-.project-card h3 {
- margin-bottom: 12px;
-}
-
-.article-card h3 a,
-.project-card h3 a,
-.writing-list-item h2 a {
- color: var(--ink);
- text-decoration: none;
-}
-
-.article-card h3 a:hover,
-.project-card h3 a:hover,
-.writing-list-item h2 a:hover {
- color: var(--blue);
-}
-
-.article-card > p:not(.article-meta),
-.project-card > div > p {
- color: var(--muted);
-}
-
-.article-card .text-link,
-.project-card .text-link {
- margin-top: auto;
-}
-
-.article-meta {
- color: var(--muted);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 12px;
-}
-
-.project-card-topline {
- display: flex;
- align-items: center;
- justify-content: space-between;
- min-height: 40px;
- margin-bottom: 24px;
-}
-
-.project-card .tag-list {
- margin-block: auto 24px;
- padding-top: 20px;
-}
-
-.status-label {
- display: inline-flex;
- align-items: center;
- min-height: 28px;
- padding: 0 9px;
- border: 1px solid currentColor;
- border-radius: 999px;
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 11px;
- font-weight: 750;
- line-height: 1;
- text-transform: uppercase;
-}
-
-.status-active { color: var(--green); }
-.status-maintained { color: var(--blue); }
-.status-experiment { color: var(--coral); }
-.status-archived { color: var(--muted); }
-
-.tag-list {
- display: flex;
- flex-wrap: wrap;
- gap: 7px;
- margin: 0;
- padding: 0;
- list-style: none;
-}
-
-.tag-list li {
- display: inline-flex;
- align-items: center;
- min-height: 28px;
- padding: 0 9px;
- border-radius: 999px;
- background: var(--surface-soft);
- color: var(--muted);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 11px;
- font-weight: 650;
-}
-
-.proof-grid {
- display: grid;
- grid-template-columns: repeat(3, minmax(0, 1fr));
- border-top: 1px solid var(--line-strong);
- border-bottom: 1px solid var(--line-strong);
-}
-
-.proof-grid > div {
- min-height: 190px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- gap: 12px;
- padding: 28px;
- border-right: 1px solid var(--line);
-}
-
-.proof-grid > div:first-child {
- padding-left: 0;
-}
-
-.proof-grid > div:last-child {
- padding-right: 0;
- border-right: 0;
-}
-
-.proof-grid strong {
- font-size: 22px;
-}
-
-.proof-grid span {
- color: var(--muted);
-}
-
-.proof-link {
- margin-top: 28px;
-}
-
-.closing-section {
- padding-block: 96px;
-}
-
-.closing-section h2 {
- max-width: 700px;
- margin-bottom: 18px;
-}
-
-.closing-section > p:not(.eyebrow) {
- max-width: 620px;
- margin-bottom: 28px;
- color: var(--muted);
- font-size: 18px;
-}
-
-.page-hero {
- padding-block: 92px 76px;
-}
-
-.page-hero h1 {
- max-width: 940px;
- margin-bottom: 24px;
-}
-
-.page-hero > p:not(.eyebrow) {
- max-width: 760px;
- margin-bottom: 28px;
- color: var(--muted);
- font-size: 20px;
-}
-
-.writing-list {
- display: grid;
- gap: 0;
- border-top: 1px solid var(--line-strong);
-}
-
-.writing-list-item {
- padding-block: 34px;
- border-bottom: 1px solid var(--line);
-}
-
-.writing-list-item h2 {
- margin-bottom: 12px;
- font-size: 28px;
-}
-
-.writing-list-item > p:not(.article-meta) {
- color: var(--muted);
-}
-
-.writing-list-item .tag-list {
- margin-bottom: 18px;
-}
-
-.pillar-grid {
- display: grid;
- grid-template-columns: repeat(3, minmax(0, 1fr));
- gap: 0;
- margin: 0;
- padding: 0;
- border-top: 1px solid var(--line-strong);
- list-style: none;
-}
-
-.pillar-grid li {
- min-height: 260px;
- padding: 30px;
- border-right: 1px solid var(--line);
- border-bottom: 1px solid var(--line-strong);
-}
-
-.pillar-grid li:first-child { padding-left: 0; }
-.pillar-grid li:last-child { padding-right: 0; border-right: 0; }
-
-.pillar-grid span {
- display: block;
- margin-bottom: 44px;
- color: var(--coral);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 12px;
- font-weight: 750;
-}
-
-.pillar-grid h3 {
- margin-bottom: 12px;
-}
-
-.pillar-grid p {
- color: var(--muted);
-}
-
-.project-grid-wide {
- grid-template-columns: repeat(2, minmax(0, 1fr));
-}
-
-.project-grid-wide .project-card {
- min-height: 340px;
-}
-
-.project-page {
- padding-bottom: 100px;
-}
-
-.project-hero {
- padding-block: 64px 72px;
-}
-
-.back-link {
- margin-bottom: 52px;
-}
-
-.project-hero-grid {
- display: grid;
- grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr);
- gap: 80px;
- align-items: end;
-}
-
-.project-page-topline {
- justify-content: flex-start;
- gap: 16px;
- margin-bottom: 22px;
-}
-
-.project-page-topline .eyebrow {
- margin: 0;
-}
-
-.project-hero h1 {
- margin-bottom: 20px;
-}
-
-.project-deck {
- max-width: 720px;
- margin-bottom: 24px;
- color: var(--muted);
- font-size: 21px;
-}
-
-.project-hero .tag-list {
- margin-bottom: 30px;
-}
-
-.project-facts {
- margin: 0;
- border-top: 1px solid var(--line-strong);
-}
-
-.project-facts div {
- display: grid;
- grid-template-columns: 90px 1fr;
- gap: 18px;
- padding-block: 15px;
- border-bottom: 1px solid var(--line);
-}
-
-.project-facts dt {
- color: var(--muted);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 11px;
- font-weight: 700;
- text-transform: uppercase;
-}
-
-.project-facts dd {
- margin: 0;
- font-size: 14px;
- font-weight: 650;
- text-transform: capitalize;
-}
-
-.project-image {
- margin-bottom: 84px;
- overflow: hidden;
- border: 1px solid var(--line);
- border-radius: var(--radius);
- background: var(--surface-soft);
- box-shadow: var(--shadow);
-}
-
-.project-image img {
- width: 100%;
- aspect-ratio: 1.9 / 1;
- object-fit: cover;
-}
-
-.article-page {
- padding-block: 64px 100px;
-}
-
-.article-header {
- margin-inline: auto;
- padding-block: 20px 54px;
-}
-
-.article-header .tag-list {
- margin-bottom: 26px;
-}
-
-.article-header h1 {
- margin-bottom: 22px;
- font-size: 52px;
-}
-
-.article-deck {
- margin-bottom: 24px;
- color: var(--muted);
- font-size: 21px;
-}
-
-.article-byline {
- display: flex;
- flex-wrap: wrap;
- gap: 10px 18px;
- color: var(--muted);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 12px;
-}
-
-.article-figure {
- margin-bottom: 62px;
- overflow: hidden;
- border: 1px solid var(--line);
- border-radius: var(--radius);
-}
-
-.article-layout {
- width: min(100%, var(--shell));
- margin-inline: auto;
-}
-
-.article-layout.has-toc {
- display: grid;
- grid-template-columns: 210px minmax(0, var(--reading));
- justify-content: center;
- gap: 50px;
-}
-
-.article-layout .reading-shell {
- width: 100%;
- margin-inline: 0;
-}
-
-.article-toc {
- position: sticky;
- top: 104px;
- align-self: start;
- padding-top: 7px;
-}
-
-.article-toc strong {
- display: block;
- margin-bottom: 14px;
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 11px;
- text-transform: uppercase;
-}
-
-.article-toc ol {
- display: grid;
- gap: 9px;
- margin: 0;
- padding: 0;
- list-style: none;
-}
-
-.article-toc a {
- color: var(--muted);
- font-size: 13px;
- line-height: 1.4;
- text-decoration: none;
-}
-
-.article-toc a:hover {
- color: var(--blue);
-}
-
-.prose {
- color: var(--ink-soft);
-}
-
-.prose h2,
-.prose h3 {
- scroll-margin-top: 100px;
-}
-
-.prose h2 {
- margin: 2.25em 0 0.7em;
- font-size: 30px;
-}
-
-.prose h3 {
- margin: 1.8em 0 0.6em;
- font-size: 21px;
-}
-
-.prose p,
-.prose ul,
-.prose ol,
-.prose blockquote,
-.prose pre,
-.prose table {
- margin-bottom: 1.35em;
-}
-
-.prose ul,
-.prose ol {
- padding-left: 1.35em;
-}
-
-.prose li + li {
- margin-top: 0.42em;
-}
-
-.prose a {
- color: var(--blue);
-}
-
-.prose blockquote {
- margin-inline: 0;
- padding: 12px 0 12px 22px;
- border-left: 3px solid var(--green);
- color: var(--muted);
-}
-
-.prose code {
- padding: 0.15em 0.35em;
- border-radius: 4px;
- background: var(--surface-soft);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 0.9em;
-}
-
-.prose pre {
- max-width: 100%;
- overflow-x: auto;
- padding: 18px;
- border-radius: 6px;
- background: #17191e;
- color: #f4f6f8;
-}
-
-.prose pre code {
- padding: 0;
- background: transparent;
- color: inherit;
-}
-
-.prose table {
- width: 100%;
- border-collapse: collapse;
- font-size: 14px;
-}
-
-.prose th,
-.prose td {
- padding: 10px 12px;
- border: 1px solid var(--line);
- text-align: left;
- vertical-align: top;
-}
-
-.prose th {
- background: var(--surface-soft);
-}
-
-.project-prose {
- padding-top: 12px;
- border-top: 1px solid var(--line-strong);
-}
-
-.about-intro-grid {
- display: grid;
- grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1.25fr);
- gap: 80px;
-}
-
-.about-copy {
- color: var(--ink-soft);
- font-size: 19px;
-}
-
-.timeline {
- border-top: 1px solid var(--line-strong);
-}
-
-.timeline-item {
- position: relative;
- display: grid;
- grid-template-columns: 28px 1fr;
- gap: 22px;
- padding-block: 30px;
- border-bottom: 1px solid var(--line);
-}
-
-.timeline-marker {
- width: 11px;
- height: 11px;
- margin-top: 8px;
- border: 2px solid var(--blue);
- border-radius: 50%;
-}
-
-.timeline-content > p {
- max-width: 780px;
- margin-bottom: 0;
- color: var(--muted);
-}
-
-.timeline-heading {
- display: flex;
- align-items: start;
- justify-content: space-between;
- gap: 32px;
- margin-bottom: 14px;
-}
-
-.timeline-heading h3 {
- margin-bottom: 5px;
-}
-
-.timeline-heading p,
-.timeline-heading span {
- margin: 0;
- color: var(--muted);
- font-size: 14px;
-}
-
-.timeline-heading span {
- white-space: nowrap;
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 12px;
-}
-
-.cert-grid {
- grid-template-columns: repeat(2, minmax(0, 1fr));
-}
-
-.cert-card {
- min-height: 86px;
- display: flex;
- align-items: center;
- justify-content: space-between;
- gap: 22px;
- padding: 18px 20px;
- color: var(--ink);
- text-decoration: none;
-}
-
-.cert-card:hover {
- border-color: var(--blue);
- color: var(--ink);
-}
-
-.cert-card span {
- display: grid;
- gap: 3px;
-}
-
-.cert-card small {
- color: var(--muted);
-}
-
-.education-record {
- padding-top: 4px;
-}
-
-.education-record h3 {
- margin-bottom: 8px;
-}
-
-.education-record p {
- margin-bottom: 4px;
- color: var(--muted);
-}
-
-.education-record span {
- color: var(--muted);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 12px;
-}
-
-.not-found {
- min-height: 65vh;
- display: flex;
- flex-direction: column;
- justify-content: center;
- padding-block: 80px;
-}
-
-.not-found h1 {
- margin-bottom: 18px;
-}
-
-.not-found > p:not(.eyebrow) {
- margin-bottom: 28px;
- color: var(--muted);
- font-size: 19px;
-}
-
-.not-found .button {
- align-self: flex-start;
-}
-
-.site-footer {
- padding-block: 58px 26px;
- border-top: 1px solid var(--line);
- background: var(--surface);
-}
-
-.footer-grid {
- display: grid;
- grid-template-columns: minmax(0, 1fr) auto auto;
- gap: 72px;
- align-items: start;
-}
-
-.footer-statement {
- max-width: 440px;
- margin: 14px 0 0;
- color: var(--muted);
-}
-
-.footer-links,
-.footer-social {
- display: grid;
- gap: 10px;
-}
-
-.footer-links a {
- color: var(--muted);
- font-size: 14px;
- font-weight: 650;
- text-decoration: none;
-}
-
-.footer-links a:hover {
- color: var(--ink);
-}
-
-.footer-meta {
- display: flex;
- justify-content: space-between;
- gap: 20px;
- margin-top: 42px;
- padding-top: 20px;
- border-top: 1px solid var(--line);
- color: var(--muted);
- font-family: "JetBrains Mono Variable", ui-monospace, "SFMono-Regular", Consolas, monospace;
- font-size: 11px;
-}
-
-@media (max-width: 960px) {
- h1 { font-size: 48px; }
- h2 { font-size: 31px; }
-
- .hero h1 { font-size: 54px; }
- .hero-lede { font-size: 34px; }
-
- .project-hero-grid {
- grid-template-columns: 1fr;
- gap: 38px;
- }
-
- .article-grid,
- .project-grid {
- grid-template-columns: repeat(2, minmax(0, 1fr));
- }
-
- .project-grid .project-card:last-child:nth-child(odd) {
- grid-column: 1 / -1;
- }
-
- .writing-empty {
- grid-template-columns: 0.8fr 1.2fr;
- }
-
- .writing-empty .text-link,
- .writing-empty-page .button {
- grid-column: 2;
- justify-self: start;
- }
-
- .about-intro-grid {
- gap: 46px;
- }
-
- .footer-grid {
- gap: 42px;
- }
-}
-
-@media (max-width: 760px) {
- .shell,
- .reading-wide {
- width: min(calc(100% - 32px), var(--shell));
- }
-
- .header-inner {
- grid-template-columns: 1fr auto;
- gap: 8px 16px;
- padding-block: 10px;
- }
-
- .primary-nav {
- grid-column: 1 / -1;
- grid-row: 2;
- justify-content: flex-start;
- border-top: 1px solid var(--line);
- padding-top: 8px;
- }
-
- .header-social {
- grid-column: 2;
- grid-row: 1;
- }
-
- .brand-name {
- font-size: 14px;
- }
-
- .hero {
- padding-block: 62px 58px;
- }
-
- .hero h1 {
- font-size: 46px;
- }
-
- .hero-lede {
- font-size: 30px;
- }
-
- .hero-support,
- .page-hero > p:not(.eyebrow),
- .project-deck,
- .article-deck,
- .about-copy {
- font-size: 18px;
- }
-
- .content-section,
- .closing-section {
- padding-block: 68px;
- }
-
- .page-hero {
- padding-block: 68px 56px;
- }
-
- .split-heading {
- display: grid;
- align-items: start;
- gap: 18px;
- }
-
- .article-grid,
- .project-grid,
- .project-grid-wide,
- .cert-grid,
- .proof-grid,
- .pillar-grid,
- .about-intro-grid {
- grid-template-columns: 1fr;
- }
-
- .project-grid .project-card:last-child:nth-child(odd) {
- grid-column: auto;
- }
-
- .writing-empty,
- .writing-empty-page {
- grid-template-columns: 1fr;
- gap: 18px;
- }
-
- .writing-empty .text-link,
- .writing-empty-page .button {
- grid-column: 1;
- }
-
- .proof-grid > div {
- min-height: 0;
- padding: 24px 0;
- border-right: 0;
- border-bottom: 1px solid var(--line);
- }
-
- .proof-grid > div:last-child {
- border-bottom: 0;
- }
-
- .pillar-grid li,
- .pillar-grid li:first-child,
- .pillar-grid li:last-child {
- min-height: 0;
- padding: 28px 0;
- border-right: 0;
- }
-
- .pillar-grid span {
- margin-bottom: 24px;
- }
-
- .article-layout.has-toc {
- display: block;
- }
-
- .article-toc {
- position: static;
- margin-bottom: 44px;
- padding: 18px;
- border: 1px solid var(--line);
- border-radius: var(--radius);
- }
-
- .article-header h1 {
- font-size: 42px;
- }
-
- .project-hero-grid {
- gap: 48px;
- }
-
- .project-image {
- margin-bottom: 62px;
- }
-
- .timeline-heading {
- display: grid;
- gap: 8px;
- }
-
- .timeline-heading span {
- white-space: normal;
- }
-
- .footer-grid {
- grid-template-columns: 1fr 1fr;
- }
-
- .footer-grid > div:first-child {
- grid-column: 1 / -1;
- }
-}
-
-@media (max-width: 520px) {
- h1 { font-size: 40px; }
- h2 { font-size: 28px; }
-
- .topic-line {
- gap: 10px 16px;
- margin-bottom: 28px;
- font-size: 10px;
- }
-
- .hero h1 {
- font-size: 42px;
- }
-
- .hero-lede {
- font-size: 27px;
- }
-
- .hero-actions,
- .closing-section .action-row {
- align-items: stretch;
- flex-direction: column;
- }
-
- .hero-actions .button,
- .closing-section .button {
- width: 100%;
- }
-
- .hero-social {
- flex-wrap: wrap;
- }
-
- .nav-link {
- padding-inline: 10px;
- }
-
- .header-social .icon-link {
- width: 36px;
- height: 36px;
- flex-basis: 36px;
- }
-
- .article-card,
- .project-card {
- min-height: 0;
- padding: 20px;
- }
-
- .project-facts div {
- grid-template-columns: 76px 1fr;
- }
-
- .article-header h1 {
- font-size: 36px;
- }
-
- .footer-grid {
- grid-template-columns: 1fr;
- gap: 28px;
- }
-
- .footer-grid > div:first-child {
- grid-column: auto;
- }
-
- .footer-meta {
- flex-direction: column;
- gap: 6px;
- }
-}
-
-@media (prefers-color-scheme: dark) {
- :root {
- --ink: #f0f2f4;
- --ink-soft: #d4d8dd;
- --muted: #a9b0b9;
- --paper: #111317;
- --surface: #171a20;
- --surface-soft: #22262d;
- --line: #303640;
- --line-strong: #4a525e;
- --blue: #69b8ff;
- --blue-strong: #91cbff;
- --green: #68d1a8;
- --coral: #ff907d;
- --yellow: #ffc45f;
- --button-text: #101317;
- --focus: #80c5ff;
- --shadow: 0 16px 38px rgba(0, 0, 0, 0.26);
- }
-
- .prose pre {
- border: 1px solid var(--line);
- }
-}
-
-@media (prefers-reduced-motion: reduce) {
- html {
- scroll-behavior: auto;
- }
-
- *,
- *::before,
- *::after {
- scroll-behavior: auto !important;
- transition-duration: 0.01ms !important;
- }
-}
-
-@media print {
- .site-header,
- .site-footer,
- .hero-actions,
- .hero-social,
- .action-row,
- .back-link,
- .article-toc {
- display: none !important;
- }
-
- body {
- background: #ffffff;
- color: #000000;
- }
-
- .content-section,
- .article-page,
- .project-page {
- padding-block: 24px;
- }
-}
-
-/* Technical editorial direction */
-.site-header {
- border-bottom-color: rgba(255, 255, 255, 0.12);
- background: var(--ink);
- color: #f7fbff;
-}
-
-.brand-link,
-.footer-brand {
- color: #f7fbff;
-}
-
-.brand-link:hover,
-.footer-brand:hover {
- color: #ffffff;
-}
-
-.brand-name,
-.nav-link,
-.header-social .icon-link {
- color: inherit;
-}
-
-.nav-link:hover,
-.nav-link.active,
-.icon-link:hover,
-.card-icon-link:hover {
- background: rgba(255, 255, 255, 0.1);
- color: #ffffff;
-}
-
-.hero-home {
- width: 100%;
- max-width: none;
- margin-inline: 0;
- padding: 92px max(24px, calc((100% - var(--shell)) / 2)) 22px;
- background: var(--ink);
- color: #f7fbff;
-}
-
-.hero-grid {
- display: grid;
- grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
- gap: 72px;
- align-items: center;
- max-width: var(--shell);
- margin-inline: auto;
-}
-
-.hero-kicker,
-.network-panel-header,
-.hero-index,
-.network-readout,
-.panel-mode {
- font-family: "JetBrains Mono Variable", ui-monospace, monospace;
- font-size: 11px;
- font-weight: 700;
- letter-spacing: 0.08em;
- text-transform: uppercase;
-}
-
-.hero-kicker {
- display: flex;
- align-items: center;
- gap: 10px;
- margin-bottom: 28px;
- color: #9db5d4;
-}
-
-.signal-pulse {
- display: inline-block;
- width: 7px;
- height: 7px;
- border-radius: 50%;
- background: #55d1a2;
- box-shadow: 0 0 0 4px rgba(85, 209, 162, 0.12);
-}
-
-.hero-home h1 {
- margin-bottom: 16px;
- color: #ffffff;
- font-size: 76px;
- font-weight: 750;
- line-height: 0.98;
-}
-
-.hero-home .hero-lede {
- max-width: 580px;
- margin-bottom: 20px;
- color: #8ec2ff;
- font-size: 34px;
- font-weight: 650;
- line-height: 1.15;
-}
-
-.hero-home .hero-support {
- max-width: 620px;
- margin-bottom: 30px;
- color: #c1cede;
- font-size: 17px;
-}
-
-.hero-home .button-primary {
- background: #2c74df;
- color: #ffffff;
-}
-
-.hero-home .button-primary:hover {
- background: #4389eb;
- color: #ffffff;
-}
-
-.hero-home .button-secondary {
- border-color: rgba(255, 255, 255, 0.24);
- background: transparent;
- color: #ffffff;
-}
-
-.hero-home .button-secondary:hover {
- border-color: rgba(255, 255, 255, 0.5);
- background: rgba(255, 255, 255, 0.08);
- color: #ffffff;
-}
-
-.hero-home .hero-social a {
- color: #b5c7dc;
-}
-
-.hero-home .hero-social a:hover {
- color: #ffffff;
-}
-
-.network-panel {
- min-height: 360px;
- padding: 22px;
- border: 1px solid rgba(156, 188, 224, 0.28);
- border-radius: 8px;
- background: #15243a;
- box-shadow: 0 24px 50px rgba(0, 0, 0, 0.22);
-}
-
-.network-panel-header {
- display: flex;
- justify-content: space-between;
- gap: 16px;
- padding-bottom: 18px;
- border-bottom: 1px solid rgba(156, 188, 224, 0.2);
- color: #9db5d4;
-}
-
-.panel-mode {
- color: #78ddb4;
-}
-
-.network-route {
- display: flex;
- align-items: center;
- gap: 8px;
- min-height: 166px;
-}
-
-.route-node {
- display: grid;
- place-items: center;
- flex: 0 0 76px;
- width: 76px;
- height: 76px;
- border: 1px solid #5d82ad;
- border-radius: 50%;
- background: #1b304d;
- color: #ffffff;
- text-align: center;
-}
-
-.route-node span {
- color: #78ddb4;
- font-family: "JetBrains Mono Variable", ui-monospace, monospace;
- font-size: 12px;
-}
-
-.route-node b {
- margin-top: -18px;
- font-family: "JetBrains Mono Variable", ui-monospace, monospace;
- font-size: 9px;
- letter-spacing: 0.04em;
-}
-
-.node-diagnose {
- border-color: #4f9df5;
-}
-
-.node-explain {
- border-color: #e88370;
-}
-
-.route-line {
- display: flex;
- flex: 1 1 auto;
- justify-content: space-around;
- min-width: 28px;
- height: 1px;
- background: rgba(157, 181, 212, 0.55);
-}
-
-.route-line i {
- display: block;
- width: 5px;
- height: 5px;
- margin-top: -2px;
- border-radius: 50%;
- background: #8ec2ff;
- animation: packetTravel 3.4s ease-in-out infinite;
-}
-
-.line-green {
- background: rgba(120, 221, 180, 0.55);
-}
-
-.line-green i {
- background: #78ddb4;
- animation-delay: 1.2s;
-}
-
-.network-readout {
- display: grid;
- grid-template-columns: repeat(3, 1fr);
- gap: 12px;
- padding: 16px 0;
- border-top: 1px solid rgba(156, 188, 224, 0.2);
- border-bottom: 1px solid rgba(156, 188, 224, 0.2);
-}
-
-.network-readout div {
- display: grid;
- gap: 5px;
-}
-
-.network-readout span {
- color: #8199b5;
- font-size: 9px;
-}
-
-.network-readout strong {
- color: #f7fbff;
- font-size: 12px;
- font-weight: 600;
- text-transform: none;
-}
-
-.network-caption {
- margin: 18px 0 0;
- color: #c1cede;
- font-size: 14px;
-}
-
-.hero-index {
- display: flex;
- flex-wrap: wrap;
- gap: 22px;
- max-width: var(--shell);
- margin: 72px auto 0;
- padding-top: 16px;
- border-top: 1px solid rgba(156, 188, 224, 0.2);
- color: #7e96b3;
-}
-
-.hero-index span:first-child {
- color: #78ddb4;
-}
-
-.project-grid-home {
- grid-template-columns: repeat(3, minmax(0, 1fr));
-}
-
-.project-card {
- transform-style: preserve-3d;
- transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
-}
-
-.project-card:hover {
- border-color: rgba(35, 103, 209, 0.5);
- box-shadow: 0 18px 34px rgba(14, 26, 43, 0.13);
-}
-
-.content-section:nth-of-type(even) {
- background: #eef3f8;
-}
-
-@keyframes packetTravel {
- 0%, 100% { opacity: 0.35; transform: scale(0.75); }
- 45% { opacity: 1; transform: scale(1.2); }
-}
-
-@media (max-width: 960px) {
- .hero-grid {
- grid-template-columns: 1fr;
- gap: 48px;
- }
-
- .network-panel {
- max-width: 680px;
- }
-
- .project-grid-home {
- grid-template-columns: repeat(2, minmax(0, 1fr));
- }
-}
-
-@media (max-width: 760px) {
- .hero-home {
- padding-top: 64px;
- }
-
- .hero-home h1 {
- font-size: 58px;
- }
-
- .hero-home .hero-lede {
- font-size: 29px;
- }
-
- .hero-index {
- gap: 12px 18px;
- margin-top: 48px;
- font-size: 9px;
- }
-}
-
-@media (max-width: 520px) {
- .hero-home {
- padding-inline: 16px;
- }
-
- .hero-home h1 {
- font-size: 50px;
- }
-
- .hero-home .hero-lede {
- font-size: 26px;
- }
-
- .network-panel {
- padding: 16px;
- }
-
- .route-node {
- flex-basis: 58px;
- width: 58px;
- height: 58px;
- }
-
- .route-node b {
- font-size: 7px;
- }
-
- .network-readout {
- gap: 8px;
- }
-
- .project-grid-home {
- grid-template-columns: 1fr;
- }
-}
-
-@media (prefers-reduced-motion: reduce) {
- .route-line i {
- animation: none;
- }
-}
diff --git a/styles.css b/styles.css
new file mode 100644
index 0000000..cb47712
--- /dev/null
+++ b/styles.css
@@ -0,0 +1,40 @@
+:root { color-scheme:light; --ink:#17191c; --muted:#5d636b; --line:#dfe2e5; --link:#075ea8; }
+* { box-sizing:border-box; }
+html { scroll-behavior:smooth; }
+body { margin:0; color:var(--ink); background:#fff; font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
+a { color:var(--link); text-underline-offset:4px; }
+:focus-visible { outline:3px solid var(--link); outline-offset:4px; }
+.shell { width:min(calc(100% - 40px),780px); margin-inline:auto; }
+.skip { position:fixed; top:8px; left:8px; padding:7px 10px; color:#fff; background:var(--link); transform:translateY(-150%); z-index:2; }
+.skip:focus { transform:none; }
+header { display:flex; align-items:center; justify-content:space-between; gap:30px; padding-block:25px; border-bottom:1px solid var(--line); }
+.brand { display:flex; align-items:center; gap:10px; color:var(--ink); font-weight:750; text-decoration:none; }
+.brand img { display:block; }
+nav { display:flex; gap:20px; }
+nav a { color:var(--muted); font-size:14px; text-decoration:none; }
+nav a:hover { color:var(--ink); }
+main>section { padding-block:58px; border-bottom:1px solid var(--line); }
+.intro { padding-block:82px 72px; }
+.kicker,.meta,.credentials { margin:0; color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
+h1,h2,h3 { margin:0; line-height:1.2; letter-spacing:-.025em; }
+h1 { margin-top:13px; font-size:clamp(42px,8vw,66px); font-weight:720; }
+.standfirst { max-width:720px; margin:24px 0 0; color:#373c42; font-size:clamp(20px,3vw,25px); line-height:1.5; }
+h2 { margin-bottom:31px; font-size:15px; font-weight:750; letter-spacing:.03em; text-transform:uppercase; }
+article { padding-left:22px; border-left:3px solid var(--ink); }
+article h3 { margin-top:8px; font-size:30px; }
+article>p:not(.meta) { max-width:690px; margin:18px 0; color:var(--muted); }
+.project-link { font-weight:700; }
+#about>p:not(.credentials) { max-width:690px; margin:0; color:#373c42; font-size:20px; }
+.credentials { margin-top:24px; line-height:1.8; }
+footer { display:flex; justify-content:space-between; gap:20px; padding-block:30px; color:var(--muted); font-size:12px; }
+@media (max-width:620px) {
+ .shell { width:min(calc(100% - 28px),780px); }
+ header { align-items:flex-start; }
+ nav { gap:14px; }
+ nav a[href="#about"],nav a[href="mailto:daniissac654321@gmail.com"] { display:none; }
+ .intro { padding-block:62px; }
+ main>section { padding-block:48px; }
+ article { padding-left:16px; }
+ footer { display:grid; }
+}
+@media print { header,footer,.project-link { display:none; } main>section { padding-block:32px; } }
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 8bf91d3..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "extends": "astro/tsconfigs/strict",
- "include": [".astro/types.d.ts", "**/*"],
- "exclude": ["dist"]
-}