My personal site hosted @ https://indexx.dev

Compare changes

Choose any two refs to compare.

+1
.nvmrc
···
···
+
20
+37
lexicons/dev/indexx/www/project.json
···
···
+
{
+
"lexicon": 1,
+
"id": "dev.indexx.www.project",
+
"defs": {
+
"main": {
+
"type": "record",
+
"description": "Record containing details about one of my projects.",
+
"key": "tid",
+
"record": {
+
"type": "object",
+
"required": ["name", "description", "url", "dateLabel"],
+
"properties": {
+
"name": {
+
"type": "string",
+
"description": "The name of the project."
+
},
+
"description": {
+
"type": "string",
+
"description": "The description of the project."
+
},
+
"url": {
+
"type": "string",
+
"description": "The URL of the project."
+
},
+
"note": {
+
"type": "string",
+
"description": "OPTIONAL: A note about the project."
+
},
+
"dateLabel": {
+
"type": "string",
+
"description": "The creation date of the project, not in any specific format."
+
}
+
}
+
}
+
}
+
}
+
}
+931 -703
package-lock.json
···
"name": "static",
"version": "0.0.1",
"dependencies": {
-
"@astrojs/react": "^4.3.0",
"@atproto/api": "^0.15.6",
"@types/react": "^19.1.6",
"@types/react-dom": "^19.1.6",
-
"astro": "^5.7.11",
"fs": "^0.0.1-security",
"marked": "^15.0.11",
"node-cache": "^5.1.2",
···
"tsx": "^4.19.4"
}
},
-
"node_modules/@ampproject/remapping": {
-
"version": "2.3.0",
-
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
-
"integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
-
"dependencies": {
-
"@jridgewell/gen-mapping": "^0.3.5",
-
"@jridgewell/trace-mapping": "^0.3.24"
-
},
-
"engines": {
-
"node": ">=6.0.0"
-
}
-
},
-
"node_modules/@ampproject/remapping/node_modules/@jridgewell/trace-mapping": {
-
"version": "0.3.25",
-
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
-
"dependencies": {
-
"@jridgewell/resolve-uri": "^3.1.0",
-
"@jridgewell/sourcemap-codec": "^1.4.14"
-
}
-
},
"node_modules/@astrojs/compiler": {
-
"version": "2.12.0",
-
"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.12.0.tgz",
-
"integrity": "sha512-7bCjW6tVDpUurQLeKBUN9tZ5kSv5qYrGmcn0sG0IwacL7isR2ZbyyA3AdZ4uxsuUFOS2SlgReTH7wkxO6zpqWA=="
},
"node_modules/@astrojs/internal-helpers": {
-
"version": "0.6.1",
-
"resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.6.1.tgz",
-
"integrity": "sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A=="
},
"node_modules/@astrojs/markdown-remark": {
-
"version": "6.3.1",
-
"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.1.tgz",
-
"integrity": "sha512-c5F5gGrkczUaTVgmMW9g1YMJGzOtRvjjhw6IfGuxarM6ct09MpwysP10US729dy07gg8y+ofVifezvP3BNsWZg==",
"dependencies": {
-
"@astrojs/internal-helpers": "0.6.1",
-
"@astrojs/prism": "3.2.0",
"github-slugger": "^2.0.0",
"hast-util-from-html": "^2.0.3",
"hast-util-to-text": "^4.0.2",
-
"import-meta-resolve": "^4.1.0",
"js-yaml": "^4.1.0",
"mdast-util-definitions": "^6.0.0",
"rehype-raw": "^7.0.0",
"rehype-stringify": "^10.0.1",
"remark-gfm": "^4.0.1",
"remark-parse": "^11.0.0",
-
"remark-rehype": "^11.1.1",
"remark-smartypants": "^3.0.2",
-
"shiki": "^3.0.0",
-
"smol-toml": "^1.3.1",
"unified": "^11.0.5",
"unist-util-remove-position": "^5.0.0",
"unist-util-visit": "^5.0.0",
···
}
},
"node_modules/@astrojs/prism": {
-
"version": "3.2.0",
-
"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.2.0.tgz",
-
"integrity": "sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw==",
"dependencies": {
-
"prismjs": "^1.29.0"
},
"engines": {
-
"node": "^18.17.1 || ^20.3.0 || >=22.0.0"
}
},
"node_modules/@astrojs/react": {
-
"version": "4.3.0",
-
"resolved": "https://registry.npmjs.org/@astrojs/react/-/react-4.3.0.tgz",
-
"integrity": "sha512-N02aj52Iezn69qHyx5+XvPqgsPMEnel9mI5JMbGiRMTzzLMuNaxRVoQTaq2024Dpr7BLsxCjqMkNvelqMDhaHA==",
"dependencies": {
-
"@vitejs/plugin-react": "^4.4.1",
"ultrahtml": "^1.6.0",
-
"vite": "^6.3.5"
},
"engines": {
"node": "18.20.8 || ^20.3.0 || >=22.0.0"
···
}
},
"node_modules/@astrojs/telemetry": {
-
"version": "3.2.1",
-
"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.2.1.tgz",
-
"integrity": "sha512-SSVM820Jqc6wjsn7qYfV9qfeQvePtVc1nSofhyap7l0/iakUKywj3hfy3UJAOV4sGV4Q/u450RD4AaCaFvNPlg==",
"dependencies": {
"ci-info": "^4.2.0",
"debug": "^4.4.0",
···
"which-pm-runs": "^1.1.0"
},
"engines": {
-
"node": "^18.17.1 || ^20.3.0 || >=22.0.0"
}
},
"node_modules/@atproto/api": {
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
"dependencies": {
"@babel/helper-validator-identifier": "^7.27.1",
"js-tokens": "^4.0.0",
···
}
},
"node_modules/@babel/compat-data": {
-
"version": "7.27.5",
-
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.5.tgz",
-
"integrity": "sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
-
"version": "7.27.4",
-
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.4.tgz",
-
"integrity": "sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==",
"dependencies": {
-
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.27.1",
-
"@babel/generator": "^7.27.3",
"@babel/helper-compilation-targets": "^7.27.2",
-
"@babel/helper-module-transforms": "^7.27.3",
-
"@babel/helpers": "^7.27.4",
-
"@babel/parser": "^7.27.4",
"@babel/template": "^7.27.2",
-
"@babel/traverse": "^7.27.4",
-
"@babel/types": "^7.27.3",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
···
"url": "https://opencollective.com/babel"
}
},
-
"node_modules/@babel/core/node_modules/semver": {
-
"version": "6.3.1",
-
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
-
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
-
"bin": {
-
"semver": "bin/semver.js"
-
}
-
},
"node_modules/@babel/generator": {
-
"version": "7.27.5",
-
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.5.tgz",
-
"integrity": "sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==",
"dependencies": {
-
"@babel/parser": "^7.27.5",
-
"@babel/types": "^7.27.3",
-
"@jridgewell/gen-mapping": "^0.3.5",
-
"@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^3.0.2"
},
"engines": {
···
}
},
"node_modules/@babel/generator/node_modules/@jridgewell/trace-mapping": {
-
"version": "0.3.25",
-
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
···
"version": "7.27.2",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
"integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
"dependencies": {
"@babel/compat-data": "^7.27.2",
"@babel/helper-validator-option": "^7.27.1",
···
"node": ">=6.9.0"
}
},
-
"node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
-
"version": "5.1.1",
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-
"dependencies": {
-
"yallist": "^3.0.2"
-
}
-
},
-
"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
-
"version": "6.3.1",
-
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
-
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
-
"bin": {
-
"semver": "bin/semver.js"
}
},
"node_modules/@babel/helper-module-imports": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
"integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
"dependencies": {
"@babel/traverse": "^7.27.1",
"@babel/types": "^7.27.1"
···
}
},
"node_modules/@babel/helper-module-transforms": {
-
"version": "7.27.3",
-
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz",
-
"integrity": "sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
"@babel/helper-validator-identifier": "^7.27.1",
-
"@babel/traverse": "^7.27.3"
},
"engines": {
"node": ">=6.9.0"
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
"integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
"engines": {
"node": ">=6.9.0"
}
···
}
},
"node_modules/@babel/helper-validator-identifier": {
-
"version": "7.27.1",
-
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
-
"integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
"engines": {
"node": ">=6.9.0"
}
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
"integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
-
"version": "7.27.4",
-
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.4.tgz",
-
"integrity": "sha512-Y+bO6U+I7ZKaM5G5rDUZiYfUvQPUibYmAFe7EnKdnKBbVXDZxvp+MWOH5gYciY0EPk4EScsuFMQBbEfpdRKSCQ==",
"dependencies": {
"@babel/template": "^7.27.2",
-
"@babel/types": "^7.27.3"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
-
"version": "7.27.5",
-
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.5.tgz",
-
"integrity": "sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==",
"dependencies": {
-
"@babel/types": "^7.27.3"
},
"bin": {
"parser": "bin/babel-parser.js"
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
"integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
},
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
"integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
},
···
"version": "7.27.2",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
"integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
"dependencies": {
"@babel/code-frame": "^7.27.1",
"@babel/parser": "^7.27.2",
···
}
},
"node_modules/@babel/traverse": {
-
"version": "7.27.4",
-
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.4.tgz",
-
"integrity": "sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==",
"dependencies": {
"@babel/code-frame": "^7.27.1",
-
"@babel/generator": "^7.27.3",
-
"@babel/parser": "^7.27.4",
"@babel/template": "^7.27.2",
-
"@babel/types": "^7.27.3",
-
"debug": "^4.3.1",
-
"globals": "^11.1.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/types": {
-
"version": "7.27.3",
-
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.3.tgz",
-
"integrity": "sha512-Y1GkI4ktrtvmawoSq+4FCVHNryea6uR+qUQy0AGxLSsjCX0nVmkYQMBLHDkXZuo5hGx7eYdnIaslsdBFm7zbUw==",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
-
"@babel/helper-validator-identifier": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@capsizecss/unpack": {
-
"version": "2.4.0",
-
"resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-2.4.0.tgz",
-
"integrity": "sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==",
"dependencies": {
-
"blob-to-buffer": "^1.2.8",
-
"cross-fetch": "^3.0.4",
"fontkit": "^2.0.2"
}
},
"node_modules/@cspotcode/source-map-support": {
···
}
},
"node_modules/@emnapi/runtime": {
-
"version": "1.4.3",
-
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
-
"integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
"optional": true,
"dependencies": {
"tslib": "^2.4.0"
···
"node": ">=18"
}
},
"node_modules/@img/sharp-darwin-arm64": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz",
-
"integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"darwin"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-libvips-darwin-arm64": "1.0.4"
}
},
"node_modules/@img/sharp-darwin-x64": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz",
-
"integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"darwin"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-libvips-darwin-x64": "1.0.4"
}
},
"node_modules/@img/sharp-libvips-darwin-arm64": {
-
"version": "1.0.4",
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz",
-
"integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"darwin"
···
}
},
"node_modules/@img/sharp-libvips-darwin-x64": {
-
"version": "1.0.4",
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz",
-
"integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"darwin"
···
}
},
"node_modules/@img/sharp-libvips-linux-arm": {
-
"version": "1.0.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz",
-
"integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linux-arm64": {
-
"version": "1.0.4",
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz",
-
"integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linux-s390x": {
-
"version": "1.0.4",
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz",
-
"integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==",
"cpu": [
"s390x"
],
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linux-x64": {
-
"version": "1.0.4",
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz",
-
"integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
-
"version": "1.0.4",
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz",
-
"integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
-
"version": "1.0.4",
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz",
-
"integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-linux-arm": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz",
-
"integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-libvips-linux-arm": "1.0.5"
}
},
"node_modules/@img/sharp-linux-arm64": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz",
-
"integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-libvips-linux-arm64": "1.0.4"
}
},
"node_modules/@img/sharp-linux-s390x": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz",
-
"integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==",
"cpu": [
"s390x"
],
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-libvips-linux-s390x": "1.0.4"
}
},
"node_modules/@img/sharp-linux-x64": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz",
-
"integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-libvips-linux-x64": "1.0.4"
}
},
"node_modules/@img/sharp-linuxmusl-arm64": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz",
-
"integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4"
}
},
"node_modules/@img/sharp-linuxmusl-x64": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz",
-
"integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-libvips-linuxmusl-x64": "1.0.4"
}
},
"node_modules/@img/sharp-wasm32": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz",
-
"integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==",
"cpu": [
"wasm32"
],
"optional": true,
"dependencies": {
-
"@emnapi/runtime": "^1.2.0"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
···
"url": "https://opencollective.com/libvips"
}
},
"node_modules/@img/sharp-win32-ia32": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz",
-
"integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==",
"cpu": [
"ia32"
],
"optional": true,
"os": [
"win32"
···
}
},
"node_modules/@img/sharp-win32-x64": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz",
-
"integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"win32"
···
}
},
"node_modules/@jridgewell/gen-mapping": {
-
"version": "0.3.8",
-
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
-
"integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
"dependencies": {
-
"@jridgewell/set-array": "^1.2.1",
-
"@jridgewell/sourcemap-codec": "^1.4.10",
"@jridgewell/trace-mapping": "^0.3.24"
-
},
-
"engines": {
-
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": {
-
"version": "0.3.25",
-
"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
···
"node": ">=6.0.0"
}
},
-
"node_modules/@jridgewell/set-array": {
-
"version": "1.2.1",
-
"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
-
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
-
"engines": {
-
"node": ">=6.0.0"
-
}
-
},
"node_modules/@jridgewell/sourcemap-codec": {
-
"version": "1.5.0",
-
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
-
"integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="
},
"node_modules/@jridgewell/trace-mapping": {
"version": "0.3.9",
···
"integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="
},
"node_modules/@rolldown/pluginutils": {
-
"version": "1.0.0-beta.9",
-
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.9.tgz",
-
"integrity": "sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w=="
},
"node_modules/@rollup/pluginutils": {
-
"version": "5.1.4",
-
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz",
-
"integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==",
"dependencies": {
"@types/estree": "^1.0.0",
"estree-walker": "^2.0.2",
···
"node_modules/@rollup/pluginutils/node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
-
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
},
"node_modules/@rollup/rollup-android-arm-eabi": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.2.tgz",
-
"integrity": "sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"android"
]
},
"node_modules/@rollup/rollup-android-arm64": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.2.tgz",
-
"integrity": "sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"android"
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.2.tgz",
-
"integrity": "sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@rollup/rollup-darwin-x64": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.2.tgz",
-
"integrity": "sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.2.tgz",
-
"integrity": "sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"freebsd"
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.2.tgz",
-
"integrity": "sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"freebsd"
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.2.tgz",
-
"integrity": "sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.2.tgz",
-
"integrity": "sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==",
"cpu": [
"arm"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.2.tgz",
-
"integrity": "sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.2.tgz",
-
"integrity": "sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"linux"
]
},
-
"node_modules/@rollup/rollup-linux-loongarch64-gnu": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.2.tgz",
-
"integrity": "sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==",
"cpu": [
"loong64"
],
"optional": true,
"os": [
"linux"
]
},
-
"node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.2.tgz",
-
"integrity": "sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==",
"cpu": [
"ppc64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.2.tgz",
-
"integrity": "sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==",
"cpu": [
"riscv64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.2.tgz",
-
"integrity": "sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==",
"cpu": [
"riscv64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.2.tgz",
-
"integrity": "sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==",
"cpu": [
"s390x"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.2.tgz",
-
"integrity": "sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.2.tgz",
-
"integrity": "sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.2.tgz",
-
"integrity": "sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==",
"cpu": [
"arm64"
],
"optional": true,
"os": [
"win32"
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.2.tgz",
-
"integrity": "sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==",
"cpu": [
"ia32"
],
"optional": true,
"os": [
"win32"
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.2.tgz",
-
"integrity": "sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==",
"cpu": [
"x64"
],
"optional": true,
"os": [
"win32"
]
},
"node_modules/@shikijs/core": {
-
"version": "3.4.0",
-
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.4.0.tgz",
-
"integrity": "sha512-0YOzTSRDn/IAfQWtK791gs1u8v87HNGToU6IwcA3K7nPoVOrS2Dh6X6A6YfXgPTSkTwR5y6myk0MnI0htjnwrA==",
"dependencies": {
-
"@shikijs/types": "3.4.0",
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4",
"hast-util-to-html": "^9.0.5"
}
},
"node_modules/@shikijs/engine-javascript": {
-
"version": "3.4.0",
-
"resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.4.0.tgz",
-
"integrity": "sha512-1ywDoe+z/TPQKj9Jw0eU61B003J9DqUFRfH+DVSzdwPUFhR7yOmfyLzUrFz0yw8JxFg/NgzXoQyyykXgO21n5Q==",
"dependencies": {
-
"@shikijs/types": "3.4.0",
"@shikijs/vscode-textmate": "^10.0.2",
"oniguruma-to-es": "^4.3.3"
}
},
"node_modules/@shikijs/engine-oniguruma": {
-
"version": "3.4.0",
-
"resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.4.0.tgz",
-
"integrity": "sha512-zwcWlZ4OQuJ/+1t32ClTtyTU1AiDkK1lhtviRWoq/hFqPjCNyLj22bIg9rB7BfoZKOEOfrsGz7No33BPCf+WlQ==",
"dependencies": {
-
"@shikijs/types": "3.4.0",
"@shikijs/vscode-textmate": "^10.0.2"
}
},
"node_modules/@shikijs/langs": {
-
"version": "3.4.0",
-
"resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.4.0.tgz",
-
"integrity": "sha512-bQkR+8LllaM2duU9BBRQU0GqFTx7TuF5kKlw/7uiGKoK140n1xlLAwCgXwSxAjJ7Htk9tXTFwnnsJTCU5nDPXQ==",
"dependencies": {
-
"@shikijs/types": "3.4.0"
}
},
"node_modules/@shikijs/themes": {
-
"version": "3.4.0",
-
"resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.4.0.tgz",
-
"integrity": "sha512-YPP4PKNFcFGLxItpbU0ZW1Osyuk8AyZ24YEFaq04CFsuCbcqydMvMUTi40V2dkc0qs1U2uZFrnU6s5zI6IH+uA==",
"dependencies": {
-
"@shikijs/types": "3.4.0"
}
},
"node_modules/@shikijs/types": {
-
"version": "3.4.0",
-
"resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.4.0.tgz",
-
"integrity": "sha512-EUT/0lGiE//7j5N/yTMNMT3eCWNcHJLrRKxT0NDXWIfdfSmFJKfPX7nMmRBrQnWboAzIsUziCThrYMMhjbMS1A==",
"dependencies": {
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4"
···
"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=="
},
"node_modules/@swc/helpers": {
"version": "0.5.17",
···
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
"dependencies": {
"@babel/parser": "^7.20.7",
"@babel/types": "^7.20.7",
···
"version": "7.27.0",
"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
"integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
"dependencies": {
"@babel/types": "^7.0.0"
}
···
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
"dependencies": {
"@babel/parser": "^7.1.0",
"@babel/types": "^7.0.0"
}
},
"node_modules/@types/babel__traverse": {
-
"version": "7.20.7",
-
"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.7.tgz",
-
"integrity": "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==",
"dependencies": {
-
"@babel/types": "^7.20.7"
}
},
"node_modules/@types/debug": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
"dependencies": {
"@types/ms": "*"
}
},
"node_modules/@types/estree": {
-
"version": "1.0.7",
-
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz",
-
"integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="
},
"node_modules/@types/hast": {
"version": "3.0.4",
···
"node_modules/@types/ms": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
-
"integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="
},
"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==",
"dependencies": {
"@types/unist": "*"
}
···
"integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="
},
"node_modules/@vitejs/plugin-react": {
-
"version": "4.5.1",
-
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.5.1.tgz",
-
"integrity": "sha512-uPZBqSI0YD4lpkIru6M35sIfylLGTyhGHvDZbNLuMA73lMlwJKz5xweH7FajfcCAc2HnINciejA9qTz0dr0M7A==",
"dependencies": {
-
"@babel/core": "^7.26.10",
-
"@babel/plugin-transform-react-jsx-self": "^7.25.9",
-
"@babel/plugin-transform-react-jsx-source": "^7.25.9",
-
"@rolldown/pluginutils": "1.0.0-beta.9",
"@types/babel__core": "^7.20.5",
"react-refresh": "^0.17.0"
},
···
"node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
-
"vite": "^4.2.0 || ^5.0.0 || ^6.0.0"
}
},
"node_modules/acorn": {
-
"version": "8.14.1",
-
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz",
-
"integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
"bin": {
"acorn": "bin/acorn"
},
···
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"dependencies": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
···
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"engines": {
"node": ">=8.6"
},
···
"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=="
},
"node_modules/aria-query": {
"version": "5.3.2",
···
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz",
"integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/astro": {
-
"version": "5.7.11",
-
"resolved": "https://registry.npmjs.org/astro/-/astro-5.7.11.tgz",
-
"integrity": "sha512-9qRVwp8pue3isddLBnTexJsmKFpmms9Fo7Ss+3yrC0aINvbHKpD7q6qf52BtfQEk2xJgyx3SQy3dUsuD90sEqQ==",
"dependencies": {
-
"@astrojs/compiler": "^2.11.0",
-
"@astrojs/internal-helpers": "0.6.1",
-
"@astrojs/markdown-remark": "6.3.1",
-
"@astrojs/telemetry": "3.2.1",
-
"@capsizecss/unpack": "^2.4.0",
"@oslojs/encoding": "^1.1.0",
-
"@rollup/pluginutils": "^5.1.4",
-
"acorn": "^8.14.1",
"aria-query": "^5.3.2",
"axobject-query": "^4.1.0",
"boxen": "8.0.1",
-
"ci-info": "^4.2.0",
"clsx": "^2.1.1",
"common-ancestor-path": "^1.0.1",
"cookie": "^1.0.2",
"cssesc": "^3.0.0",
-
"debug": "^4.4.0",
"deterministic-object-hash": "^2.0.2",
-
"devalue": "^5.1.1",
"diff": "^5.2.0",
"dlv": "^1.1.3",
"dset": "^3.1.4",
-
"es-module-lexer": "^1.6.0",
"esbuild": "^0.25.0",
"estree-walker": "^3.0.3",
"flattie": "^1.1.1",
"github-slugger": "^2.0.0",
"html-escaper": "3.0.3",
-
"http-cache-semantics": "^4.1.1",
"js-yaml": "^4.1.0",
-
"kleur": "^4.1.5",
-
"magic-string": "^0.30.17",
"magicast": "^0.3.5",
"mrmime": "^2.0.1",
"neotraverse": "^0.6.18",
"p-limit": "^6.2.0",
"p-queue": "^8.1.0",
-
"package-manager-detector": "^1.1.0",
-
"picomatch": "^4.0.2",
"prompts": "^2.4.2",
"rehype": "^13.0.2",
-
"semver": "^7.7.1",
-
"shiki": "^3.2.1",
-
"tinyexec": "^0.3.2",
-
"tinyglobby": "^0.2.12",
-
"tsconfck": "^3.1.5",
"ultrahtml": "^1.6.0",
-
"unifont": "~0.5.0",
"unist-util-visit": "^5.0.0",
-
"unstorage": "^1.15.0",
"vfile": "^6.0.3",
-
"vite": "^6.3.4",
-
"vitefu": "^1.0.6",
"xxhash-wasm": "^1.1.0",
"yargs-parser": "^21.1.1",
-
"yocto-spinner": "^0.2.1",
-
"zod": "^3.24.2",
-
"zod-to-json-schema": "^3.24.5",
"zod-to-ts": "^1.2.0"
},
"bin": {
"astro": "astro.js"
},
"engines": {
-
"node": "^18.17.1 || ^20.3.0 || >=22.0.0",
"npm": ">=9.6.5",
"pnpm": ">=7.1.0"
},
···
"url": "https://opencollective.com/astrodotbuild"
},
"optionalDependencies": {
-
"sharp": "^0.33.3"
}
},
"node_modules/await-lock": {
···
}
]
},
-
"node_modules/blob-to-buffer": {
-
"version": "1.2.9",
-
"resolved": "https://registry.npmjs.org/blob-to-buffer/-/blob-to-buffer-1.2.9.tgz",
-
"integrity": "sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==",
-
"funding": [
-
{
-
"type": "github",
-
"url": "https://github.com/sponsors/feross"
-
},
-
{
-
"type": "patreon",
-
"url": "https://www.patreon.com/feross"
-
},
-
{
-
"type": "consulting",
-
"url": "https://feross.org/support"
-
}
-
]
},
"node_modules/boxen": {
"version": "8.0.1",
···
}
},
"node_modules/browserslist": {
-
"version": "4.25.0",
-
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz",
-
"integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==",
"funding": [
{
"type": "opencollective",
···
"url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
-
"caniuse-lite": "^1.0.30001718",
-
"electron-to-chromium": "^1.5.160",
-
"node-releases": "^2.0.19",
-
"update-browserslist-db": "^1.1.3"
},
"bin": {
"browserslist": "cli.js"
···
}
},
"node_modules/caniuse-lite": {
-
"version": "1.0.30001721",
-
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001721.tgz",
-
"integrity": "sha512-cOuvmUVtKrtEaoKiO0rSc29jcjwMwX5tOHDy4MgVFEWiUXj4uBMJkwI8MDySkgXidpMiHUcviogAvFi4pA2hDQ==",
"funding": [
{
"type": "opencollective",
···
"type": "github",
"url": "https://github.com/sponsors/ai"
}
-
]
},
"node_modules/ccount": {
"version": "2.0.1",
···
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
"integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
···
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
"dependencies": {
"readdirp": "^4.0.1"
},
···
}
},
"node_modules/ci-info": {
-
"version": "4.2.0",
-
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz",
-
"integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/sibiraj-s"
}
],
"engines": {
"node": ">=8"
}
···
"node": ">=6"
}
},
-
"node_modules/color": {
-
"version": "4.2.3",
-
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
-
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
-
"optional": true,
-
"dependencies": {
-
"color-convert": "^2.0.1",
-
"color-string": "^1.9.0"
-
},
-
"engines": {
-
"node": ">=12.5.0"
-
}
-
},
-
"node_modules/color-convert": {
-
"version": "2.0.1",
-
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-
"optional": true,
-
"dependencies": {
-
"color-name": "~1.1.4"
-
},
-
"engines": {
-
"node": ">=7.0.0"
-
}
-
},
-
"node_modules/color-name": {
-
"version": "1.1.4",
-
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-
"optional": true
-
},
-
"node_modules/color-string": {
-
"version": "1.9.1",
-
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
-
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
-
"optional": true,
-
"dependencies": {
-
"color-name": "^1.0.0",
-
"simple-swizzle": "^0.2.2"
-
}
-
},
"node_modules/comma-separated-tokens": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
···
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
-
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
},
"node_modules/cookie": {
"version": "1.0.2",
···
"node_modules/cookie-es": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz",
-
"integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="
},
"node_modules/create-require": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
},
-
"node_modules/cross-fetch": {
-
"version": "3.2.0",
-
"resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz",
-
"integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==",
-
"dependencies": {
-
"node-fetch": "^2.7.0"
-
}
-
},
"node_modules/crossws": {
-
"version": "0.3.4",
-
"resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.4.tgz",
-
"integrity": "sha512-uj0O1ETYX1Bh6uSgktfPvwDiPYGQ3aI4qVsaC/LWpkIzGj1nUYm5FK3K+t11oOlpN01lGbprFCH4wBlKdJjVgw==",
"dependencies": {
"uncrypto": "^0.1.3"
}
···
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
"integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
"dependencies": {
"mdn-data": "2.12.2",
"source-map-js": "^1.0.1"
···
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
"node_modules/debug": {
-
"version": "4.4.0",
-
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
-
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
"dependencies": {
"ms": "^2.1.3"
},
···
}
},
"node_modules/decode-named-character-reference": {
-
"version": "1.1.0",
-
"resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.1.0.tgz",
-
"integrity": "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==",
"dependencies": {
"character-entities": "^2.0.0"
},
···
"node_modules/defu": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
-
"integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="
},
"node_modules/dequal": {
"version": "2.0.3",
···
"node_modules/destr": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz",
-
"integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA=="
},
"node_modules/detect-libc": {
-
"version": "2.0.4",
-
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
-
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
"optional": true,
"engines": {
"node": ">=8"
···
}
},
"node_modules/devalue": {
-
"version": "5.1.1",
-
"resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz",
-
"integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw=="
},
"node_modules/devlop": {
"version": "1.1.0",
···
}
},
"node_modules/electron-to-chromium": {
-
"version": "1.5.165",
-
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.165.tgz",
-
"integrity": "sha512-naiMx1Z6Nb2TxPU6fiFrUrDTjyPMLdTtaOd2oLmG8zVSg2hCWGkhPyxwk+qRmZ1ytwVqUv0u7ZcDA5+ALhaUtw=="
},
"node_modules/emoji-regex": {
"version": "10.4.0",
···
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"engines": {
"node": ">=6"
}
···
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
"engines": {
"node": ">=12"
},
···
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/fdir": {
-
"version": "6.4.4",
-
"resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz",
-
"integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==",
"peerDependencies": {
"picomatch": "^3 || ^4"
},
···
"node": ">=8"
}
},
"node_modules/fontkit": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz",
···
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
"engines": {
"node": ">=6.9.0"
}
···
"node_modules/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=="
-
},
-
"node_modules/globals": {
-
"version": "11.12.0",
-
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-
"integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-
"engines": {
-
"node": ">=4"
-
}
},
"node_modules/graphemer": {
"version": "1.4.0",
···
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
},
"node_modules/h3": {
-
"version": "1.15.3",
-
"resolved": "https://registry.npmjs.org/h3/-/h3-1.15.3.tgz",
-
"integrity": "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==",
"dependencies": {
"cookie-es": "^1.2.2",
-
"crossws": "^0.3.4",
"defu": "^6.1.4",
"destr": "^2.0.5",
"iron-webcrypto": "^1.2.1",
-
"node-mock-http": "^1.0.0",
"radix3": "^1.1.2",
"ufo": "^1.6.1",
"uncrypto": "^0.1.3"
···
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
"integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
"dependencies": {
"@types/hast": "^3.0.0"
},
···
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz",
"integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/unist": "^3.0.0",
···
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz",
"integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==",
"dependencies": {
"@types/hast": "^3.0.0",
"comma-separated-tokens": "^2.0.0",
···
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
"integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
···
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz",
"integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/unist": "^3.0.0",
···
}
},
"node_modules/http-cache-semantics": {
-
"version": "4.1.1",
-
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
-
"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
},
"node_modules/import-meta-resolve": {
-
"version": "4.1.0",
-
"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz",
-
"integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
···
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz",
"integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==",
"funding": {
"url": "https://github.com/sponsors/brc-dd"
}
-
},
-
"node_modules/is-arrayish": {
-
"version": "0.3.2",
-
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
-
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
-
"optional": true
},
"node_modules/is-docker": {
"version": "3.0.0",
···
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
"dependencies": {
"argparse": "^2.0.1"
},
···
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
"bin": {
"jsesc": "bin/jsesc"
},
···
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"bin": {
"json5": "lib/cli.js"
},
···
"node": ">=6"
}
},
-
"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==",
-
"engines": {
-
"node": ">=6"
-
}
-
},
"node_modules/longest-streak": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
"integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/lru-cache": {
-
"version": "10.4.3",
-
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
-
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="
},
"node_modules/magic-string": {
-
"version": "0.30.17",
-
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz",
-
"integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==",
"dependencies": {
-
"@jridgewell/sourcemap-codec": "^1.5.0"
}
},
"node_modules/magicast": {
···
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
"integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
···
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz",
"integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
···
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
"integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
"dependencies": {
"@types/mdast": "^4.0.0",
"escape-string-regexp": "^5.0.0",
···
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
"integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
···
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz",
"integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==",
"dependencies": {
"mdast-util-from-markdown": "^2.0.0",
"mdast-util-gfm-autolink-literal": "^2.0.0",
···
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
"integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
"dependencies": {
"@types/mdast": "^4.0.0",
"ccount": "^2.0.0",
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz",
"integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==",
"dependencies": {
"@types/mdast": "^4.0.0",
"devlop": "^1.1.0",
···
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
"integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-from-markdown": "^2.0.0",
···
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
"integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
"dependencies": {
"@types/mdast": "^4.0.0",
"devlop": "^1.0.0",
···
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
"integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
"dependencies": {
"@types/mdast": "^4.0.0",
"devlop": "^1.0.0",
···
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
"integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
"dependencies": {
"@types/mdast": "^4.0.0",
"unist-util-is": "^6.0.0"
···
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
"integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
"integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
"dependencies": {
"@types/mdast": "^4.0.0"
},
···
"node_modules/mdn-data": {
"version": "2.12.2",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
-
"integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="
},
"node_modules/micromark": {
"version": "4.0.2",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"@types/debug": "^4.0.0",
"debug": "^4.0.0",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"decode-named-character-reference": "^1.0.0",
"devlop": "^1.0.0",
···
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
"integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
"dependencies": {
"micromark-extension-gfm-autolink-literal": "^2.0.0",
"micromark-extension-gfm-footnote": "^2.0.0",
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
"integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-sanitize-uri": "^2.0.0",
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
"integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
"dependencies": {
"devlop": "^1.0.0",
"micromark-core-commonmark": "^2.0.0",
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
"integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-chunked": "^2.0.0",
···
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
"integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
"dependencies": {
"devlop": "^1.0.0",
"micromark-factory-space": "^2.0.0",
···
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
"integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
"dependencies": {
"micromark-util-types": "^2.0.0"
},
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz",
"integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==",
"dependencies": {
"devlop": "^1.0.0",
"micromark-factory-space": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-character": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-types": "^2.0.0"
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-util-chunked": "^2.0.0",
"micromark-util-types": "^2.0.0"
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"decode-named-character-reference": "^1.0.0",
"micromark-util-character": "^2.0.0",
···
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
-
]
},
"node_modules/micromark-util-normalize-identifier": {
"version": "2.0.1",
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"micromark-util-types": "^2.0.0"
}
···
"url": "https://opencollective.com/unified"
}
],
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-chunked": "^2.0.0",
···
"url": "https://github.com/sponsors/ai"
}
],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz",
"integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==",
"dependencies": {
"@types/nlcst": "^2.0.0"
},
···
"node": ">= 8.0.0"
}
},
-
"node_modules/node-fetch": {
-
"version": "2.7.0",
-
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
-
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
-
"dependencies": {
-
"whatwg-url": "^5.0.0"
-
},
-
"engines": {
-
"node": "4.x || >=6.0.0"
-
},
-
"peerDependencies": {
-
"encoding": "^0.1.0"
-
},
-
"peerDependenciesMeta": {
-
"encoding": {
-
"optional": true
-
}
-
}
-
},
"node_modules/node-fetch-native": {
-
"version": "1.6.6",
-
"resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz",
-
"integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ=="
},
"node_modules/node-mock-http": {
-
"version": "1.0.0",
-
"resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.0.tgz",
-
"integrity": "sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ=="
},
"node_modules/node-releases": {
-
"version": "2.0.19",
-
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
-
"integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="
},
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/ofetch": {
-
"version": "1.4.1",
-
"resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz",
-
"integrity": "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==",
"dependencies": {
-
"destr": "^2.0.3",
-
"node-fetch-native": "^1.6.4",
-
"ufo": "^1.5.4"
}
},
"node_modules/ohash": {
"version": "2.0.11",
"resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
-
"integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ=="
},
"node_modules/oniguruma-parser": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz",
-
"integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w=="
},
"node_modules/oniguruma-to-es": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.3.tgz",
"integrity": "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==",
"dependencies": {
"oniguruma-parser": "^0.12.1",
"regex": "^6.0.1",
···
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz",
"integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==",
"dependencies": {
"@types/nlcst": "^2.0.0",
"@types/unist": "^3.0.0",
···
"node_modules/picocolors": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
-
"integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
},
"node_modules/picomatch": {
-
"version": "4.0.2",
-
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
-
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
"engines": {
"node": ">=12"
},
···
}
},
"node_modules/postcss": {
-
"version": "8.5.3",
-
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz",
-
"integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==",
"funding": [
{
"type": "opencollective",
···
"url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
-
"nanoid": "^3.3.8",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
···
"version": "1.30.0",
"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz",
"integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==",
"engines": {
"node": ">=6"
}
···
"node_modules/radix3": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz",
-
"integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="
},
"node_modules/react": {
"version": "19.1.0",
···
"version": "0.17.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
"integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
"engines": {
"node": ">=0.10.0"
}
···
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
"engines": {
"node": ">= 14.18.0"
},
···
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/regex/-/regex-6.0.1.tgz",
"integrity": "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==",
"dependencies": {
"regex-utilities": "^2.3.0"
}
···
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz",
"integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==",
"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=="
},
"node_modules/rehype": {
"version": "13.0.2",
···
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
"integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==",
"dependencies": {
"@types/hast": "^3.0.0",
"hast-util-raw": "^9.0.0",
···
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz",
"integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-gfm": "^3.0.0",
···
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
"integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-from-markdown": "^2.0.0",
···
"version": "11.1.2",
"resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
"integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/mdast": "^4.0.0",
···
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz",
"integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==",
"dependencies": {
"retext": "^9.0.0",
"retext-smartypants": "^6.0.0",
···
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
"integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-to-markdown": "^2.0.0",
···
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz",
"integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==",
"dependencies": {
"@types/nlcst": "^2.0.0",
"retext-latin": "^4.0.0",
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz",
"integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==",
"dependencies": {
"@types/nlcst": "^2.0.0",
"parse-latin": "^7.0.0",
···
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz",
"integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==",
"dependencies": {
"@types/nlcst": "^2.0.0",
"nlcst-to-string": "^4.0.0",
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz",
"integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==",
"dependencies": {
"@types/nlcst": "^2.0.0",
"nlcst-to-string": "^4.0.0",
···
}
},
"node_modules/rollup": {
-
"version": "4.40.2",
-
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.2.tgz",
-
"integrity": "sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==",
"dependencies": {
-
"@types/estree": "1.0.7"
},
"bin": {
"rollup": "dist/bin/rollup"
···
"npm": ">=8.0.0"
},
"optionalDependencies": {
-
"@rollup/rollup-android-arm-eabi": "4.40.2",
-
"@rollup/rollup-android-arm64": "4.40.2",
-
"@rollup/rollup-darwin-arm64": "4.40.2",
-
"@rollup/rollup-darwin-x64": "4.40.2",
-
"@rollup/rollup-freebsd-arm64": "4.40.2",
-
"@rollup/rollup-freebsd-x64": "4.40.2",
-
"@rollup/rollup-linux-arm-gnueabihf": "4.40.2",
-
"@rollup/rollup-linux-arm-musleabihf": "4.40.2",
-
"@rollup/rollup-linux-arm64-gnu": "4.40.2",
-
"@rollup/rollup-linux-arm64-musl": "4.40.2",
-
"@rollup/rollup-linux-loongarch64-gnu": "4.40.2",
-
"@rollup/rollup-linux-powerpc64le-gnu": "4.40.2",
-
"@rollup/rollup-linux-riscv64-gnu": "4.40.2",
-
"@rollup/rollup-linux-riscv64-musl": "4.40.2",
-
"@rollup/rollup-linux-s390x-gnu": "4.40.2",
-
"@rollup/rollup-linux-x64-gnu": "4.40.2",
-
"@rollup/rollup-linux-x64-musl": "4.40.2",
-
"@rollup/rollup-win32-arm64-msvc": "4.40.2",
-
"@rollup/rollup-win32-ia32-msvc": "4.40.2",
-
"@rollup/rollup-win32-x64-msvc": "4.40.2",
"fsevents": "~2.3.2"
}
},
···
"integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="
},
"node_modules/semver": {
-
"version": "7.7.1",
-
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
-
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
"bin": {
"semver": "bin/semver.js"
-
},
-
"engines": {
-
"node": ">=10"
}
},
"node_modules/sharp": {
-
"version": "0.33.5",
-
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz",
-
"integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==",
"hasInstallScript": true,
"optional": true,
"dependencies": {
-
"color": "^4.2.3",
-
"detect-libc": "^2.0.3",
-
"semver": "^7.6.3"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
-
"@img/sharp-darwin-arm64": "0.33.5",
-
"@img/sharp-darwin-x64": "0.33.5",
-
"@img/sharp-libvips-darwin-arm64": "1.0.4",
-
"@img/sharp-libvips-darwin-x64": "1.0.4",
-
"@img/sharp-libvips-linux-arm": "1.0.5",
-
"@img/sharp-libvips-linux-arm64": "1.0.4",
-
"@img/sharp-libvips-linux-s390x": "1.0.4",
-
"@img/sharp-libvips-linux-x64": "1.0.4",
-
"@img/sharp-libvips-linuxmusl-arm64": "1.0.4",
-
"@img/sharp-libvips-linuxmusl-x64": "1.0.4",
-
"@img/sharp-linux-arm": "0.33.5",
-
"@img/sharp-linux-arm64": "0.33.5",
-
"@img/sharp-linux-s390x": "0.33.5",
-
"@img/sharp-linux-x64": "0.33.5",
-
"@img/sharp-linuxmusl-arm64": "0.33.5",
-
"@img/sharp-linuxmusl-x64": "0.33.5",
-
"@img/sharp-wasm32": "0.33.5",
-
"@img/sharp-win32-ia32": "0.33.5",
-
"@img/sharp-win32-x64": "0.33.5"
}
},
"node_modules/shiki": {
-
"version": "3.4.0",
-
"resolved": "https://registry.npmjs.org/shiki/-/shiki-3.4.0.tgz",
-
"integrity": "sha512-Ni80XHcqhOEXv5mmDAvf5p6PAJqbUc/RzFeaOqk+zP5DLvTPS3j0ckvA+MI87qoxTQ5RGJDVTbdl/ENLSyyAnQ==",
"dependencies": {
-
"@shikijs/core": "3.4.0",
-
"@shikijs/engine-javascript": "3.4.0",
-
"@shikijs/engine-oniguruma": "3.4.0",
-
"@shikijs/langs": "3.4.0",
-
"@shikijs/themes": "3.4.0",
-
"@shikijs/types": "3.4.0",
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4"
-
}
-
},
-
"node_modules/simple-swizzle": {
-
"version": "0.2.2",
-
"resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
-
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
-
"optional": true,
-
"dependencies": {
-
"is-arrayish": "^0.3.1"
}
},
"node_modules/sisteransi": {
···
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
},
"node_modules/smol-toml": {
-
"version": "1.3.4",
-
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.4.tgz",
-
"integrity": "sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==",
"engines": {
"node": ">= 18"
},
···
"integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
},
"node_modules/tinyexec": {
-
"version": "0.3.2",
-
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz",
-
"integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="
},
"node_modules/tinyglobby": {
-
"version": "0.2.13",
-
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz",
-
"integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==",
"dependencies": {
-
"fdir": "^6.4.4",
-
"picomatch": "^4.0.2"
},
"engines": {
"node": ">=12.0.0"
···
"tlds": "bin.js"
}
},
-
"node_modules/tr46": {
-
"version": "0.0.3",
-
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
-
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
-
},
"node_modules/trim-lines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
···
}
},
"node_modules/tsconfck": {
-
"version": "3.1.5",
-
"resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.5.tgz",
-
"integrity": "sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==",
"bin": {
"tsconfck": "bin/tsconfck.js"
},
···
"node_modules/ufo": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz",
-
"integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA=="
},
"node_modules/uint8arrays": {
"version": "3.0.0",
···
"node_modules/uncrypto": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
-
"integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="
},
"node_modules/undici-types": {
"version": "6.21.0",
···
}
},
"node_modules/unifont": {
-
"version": "0.5.0",
-
"resolved": "https://registry.npmjs.org/unifont/-/unifont-0.5.0.tgz",
-
"integrity": "sha512-4DueXMP5Hy4n607sh+vJ+rajoLu778aU3GzqeTCqsD/EaUcvqZT9wPC8kgK6Vjh22ZskrxyRCR71FwNOaYn6jA==",
"dependencies": {
"css-tree": "^3.0.0",
"ohash": "^2.0.0"
}
},
···
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz",
"integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0"
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz",
"integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==",
"dependencies": {
"@types/unist": "^3.0.0",
"array-iterate": "^2.0.0"
···
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz",
"integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-visit": "^5.0.0"
···
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz",
"integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==",
"dependencies": {
"@types/unist": "^3.0.0"
},
···
}
},
"node_modules/unstorage": {
-
"version": "1.16.0",
-
"resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.0.tgz",
-
"integrity": "sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA==",
"dependencies": {
"anymatch": "^3.1.3",
"chokidar": "^4.0.3",
"destr": "^2.0.5",
-
"h3": "^1.15.2",
"lru-cache": "^10.4.3",
-
"node-fetch-native": "^1.6.6",
-
"ofetch": "^1.4.1",
"ufo": "^1.6.1"
},
"peerDependencies": {
···
"@azure/storage-blob": "^12.26.0",
"@capacitor/preferences": "^6.0.3 || ^7.0.0",
"@deno/kv": ">=0.9.0",
-
"@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0",
"@planetscale/database": "^1.19.0",
"@upstash/redis": "^1.34.3",
"@vercel/blob": ">=0.27.1",
"@vercel/kv": "^1.0.1",
"aws4fetch": "^1.0.20",
"db0": ">=0.2.1",
···
"@vercel/blob": {
"optional": true
},
"@vercel/kv": {
"optional": true
},
···
}
}
},
"node_modules/update-browserslist-db": {
-
"version": "1.1.3",
-
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
-
"integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
"funding": [
{
"type": "opencollective",
···
"url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
"escalade": "^3.2.0",
"picocolors": "^1.1.1"
···
}
},
"node_modules/vite": {
-
"version": "6.3.5",
-
"resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
-
"integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==",
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.4.4",
···
}
},
"node_modules/vitefu": {
-
"version": "1.0.6",
-
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz",
-
"integrity": "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==",
"peerDependencies": {
-
"vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
},
"peerDependenciesMeta": {
"vite": {
···
"url": "https://github.com/sponsors/wooorm"
}
},
-
"node_modules/webidl-conversions": {
-
"version": "3.0.1",
-
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
-
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
-
},
-
"node_modules/whatwg-url": {
-
"version": "5.0.0",
-
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
-
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
-
"dependencies": {
-
"tr46": "~0.0.3",
-
"webidl-conversions": "^3.0.0"
-
}
-
},
"node_modules/which-pm-runs": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz",
···
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
},
"node_modules/yargs-parser": {
"version": "21.1.1",
···
}
},
"node_modules/yocto-spinner": {
-
"version": "0.2.2",
-
"resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.2.tgz",
-
"integrity": "sha512-21rPcM3e4vCpOXThiFRByX8amU5By1R0wNS8Oex+DP3YgC8xdU0vEJ/K8cbPLiIJVosSSysgcFof6s6MSD5/Vw==",
"dependencies": {
"yoctocolors": "^2.1.1"
},
···
}
},
"node_modules/yoctocolors": {
-
"version": "2.1.1",
-
"resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz",
-
"integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==",
"engines": {
"node": ">=18"
},
···
}
},
"node_modules/zod": {
-
"version": "3.24.4",
-
"resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz",
-
"integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/zod-to-json-schema": {
-
"version": "3.24.5",
-
"resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz",
-
"integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==",
"peerDependencies": {
"zod": "^3.24.1"
}
···
"name": "static",
"version": "0.0.1",
"dependencies": {
+
"@astrojs/react": "^4.4.1",
"@atproto/api": "^0.15.6",
"@types/react": "^19.1.6",
"@types/react-dom": "^19.1.6",
+
"astro": "^5.15.3",
"fs": "^0.0.1-security",
"marked": "^15.0.11",
"node-cache": "^5.1.2",
···
"tsx": "^4.19.4"
}
},
"node_modules/@astrojs/compiler": {
+
"version": "2.12.2",
+
"resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.12.2.tgz",
+
"integrity": "sha512-w2zfvhjNCkNMmMMOn5b0J8+OmUaBL1o40ipMvqcG6NRpdC+lKxmTi48DT8Xw0SzJ3AfmeFLB45zXZXtmbsjcgw=="
},
"node_modules/@astrojs/internal-helpers": {
+
"version": "0.7.4",
+
"resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.4.tgz",
+
"integrity": "sha512-lDA9MqE8WGi7T/t2BMi+EAXhs4Vcvr94Gqx3q15cFEz8oFZMO4/SFBqYr/UcmNlvW+35alowkVj+w9VhLvs5Cw==",
+
"license": "MIT"
},
"node_modules/@astrojs/markdown-remark": {
+
"version": "6.3.8",
+
"resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.8.tgz",
+
"integrity": "sha512-uFNyFWadnULWK2cOw4n0hLKeu+xaVWeuECdP10cQ3K2fkybtTlhb7J7TcScdjmS8Yps7oje9S/ehYMfZrhrgCg==",
+
"license": "MIT",
"dependencies": {
+
"@astrojs/internal-helpers": "0.7.4",
+
"@astrojs/prism": "3.3.0",
"github-slugger": "^2.0.0",
"hast-util-from-html": "^2.0.3",
"hast-util-to-text": "^4.0.2",
+
"import-meta-resolve": "^4.2.0",
"js-yaml": "^4.1.0",
"mdast-util-definitions": "^6.0.0",
"rehype-raw": "^7.0.0",
"rehype-stringify": "^10.0.1",
"remark-gfm": "^4.0.1",
"remark-parse": "^11.0.0",
+
"remark-rehype": "^11.1.2",
"remark-smartypants": "^3.0.2",
+
"shiki": "^3.13.0",
+
"smol-toml": "^1.4.2",
"unified": "^11.0.5",
"unist-util-remove-position": "^5.0.0",
"unist-util-visit": "^5.0.0",
···
}
},
"node_modules/@astrojs/prism": {
+
"version": "3.3.0",
+
"resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz",
+
"integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==",
+
"license": "MIT",
"dependencies": {
+
"prismjs": "^1.30.0"
},
"engines": {
+
"node": "18.20.8 || ^20.3.0 || >=22.0.0"
}
},
"node_modules/@astrojs/react": {
+
"version": "4.4.1",
+
"resolved": "https://registry.npmjs.org/@astrojs/react/-/react-4.4.1.tgz",
+
"integrity": "sha512-3M3RE+KYlbvov+uvn7SzgcO/zoMiK16Glwo9Ic0ZOJ0B+4PSULMeniwtyQg1m1Eq5k4BbqpIuC18lA2uzQSflQ==",
+
"license": "MIT",
"dependencies": {
+
"@vitejs/plugin-react": "^4.7.0",
"ultrahtml": "^1.6.0",
+
"vite": "^6.4.1"
},
"engines": {
"node": "18.20.8 || ^20.3.0 || >=22.0.0"
···
}
},
"node_modules/@astrojs/telemetry": {
+
"version": "3.3.0",
+
"resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz",
+
"integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==",
"dependencies": {
"ci-info": "^4.2.0",
"debug": "^4.4.0",
···
"which-pm-runs": "^1.1.0"
},
"engines": {
+
"node": "18.20.8 || ^20.3.0 || >=22.0.0"
}
},
"node_modules/@atproto/api": {
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
"integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+
"license": "MIT",
"dependencies": {
"@babel/helper-validator-identifier": "^7.27.1",
"js-tokens": "^4.0.0",
···
}
},
"node_modules/@babel/compat-data": {
+
"version": "7.28.5",
+
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz",
+
"integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==",
+
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
+
"version": "7.28.5",
+
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
+
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
+
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
+
"@babel/generator": "^7.28.5",
"@babel/helper-compilation-targets": "^7.27.2",
+
"@babel/helper-module-transforms": "^7.28.3",
+
"@babel/helpers": "^7.28.4",
+
"@babel/parser": "^7.28.5",
"@babel/template": "^7.27.2",
+
"@babel/traverse": "^7.28.5",
+
"@babel/types": "^7.28.5",
+
"@jridgewell/remapping": "^2.3.5",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
···
"url": "https://opencollective.com/babel"
}
},
"node_modules/@babel/generator": {
+
"version": "7.28.5",
+
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz",
+
"integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==",
+
"license": "MIT",
"dependencies": {
+
"@babel/parser": "^7.28.5",
+
"@babel/types": "^7.28.5",
+
"@jridgewell/gen-mapping": "^0.3.12",
+
"@jridgewell/trace-mapping": "^0.3.28",
"jsesc": "^3.0.2"
},
"engines": {
···
}
},
"node_modules/@babel/generator/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==",
+
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
···
"version": "7.27.2",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
"integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
+
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.27.2",
"@babel/helper-validator-option": "^7.27.1",
···
"node": ">=6.9.0"
}
},
+
"node_modules/@babel/helper-globals": {
+
"version": "7.28.0",
+
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+
"integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+
"license": "MIT",
+
"engines": {
+
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
"integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
+
"license": "MIT",
"dependencies": {
"@babel/traverse": "^7.27.1",
"@babel/types": "^7.27.1"
···
}
},
"node_modules/@babel/helper-module-transforms": {
+
"version": "7.28.3",
+
"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
+
"integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
+
"license": "MIT",
"dependencies": {
"@babel/helper-module-imports": "^7.27.1",
"@babel/helper-validator-identifier": "^7.27.1",
+
"@babel/traverse": "^7.28.3"
},
"engines": {
"node": ">=6.9.0"
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
"integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
+
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
···
}
},
"node_modules/@babel/helper-validator-identifier": {
+
"version": "7.28.5",
+
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+
"integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
"integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
+
"version": "7.28.4",
+
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
+
"integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==",
+
"license": "MIT",
"dependencies": {
"@babel/template": "^7.27.2",
+
"@babel/types": "^7.28.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
+
"version": "7.28.5",
+
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz",
+
"integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==",
+
"license": "MIT",
"dependencies": {
+
"@babel/types": "^7.28.5"
},
"bin": {
"parser": "bin/babel-parser.js"
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
"integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
+
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
},
···
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
"integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
+
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.27.1"
},
···
"version": "7.27.2",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
"integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
"@babel/parser": "^7.27.2",
···
}
},
"node_modules/@babel/traverse": {
+
"version": "7.28.5",
+
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz",
+
"integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==",
+
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.27.1",
+
"@babel/generator": "^7.28.5",
+
"@babel/helper-globals": "^7.28.0",
+
"@babel/parser": "^7.28.5",
"@babel/template": "^7.27.2",
+
"@babel/types": "^7.28.5",
+
"debug": "^4.3.1"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/types": {
+
"version": "7.28.5",
+
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
+
"integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
+
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.27.1",
+
"@babel/helper-validator-identifier": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@capsizecss/unpack": {
+
"version": "3.0.0",
+
"resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-3.0.0.tgz",
+
"integrity": "sha512-+ntATQe1AlL7nTOYjwjj6w3299CgRot48wL761TUGYpYgAou3AaONZazp0PKZyCyWhudWsjhq1nvRHOvbMzhTA==",
+
"license": "MIT",
"dependencies": {
"fontkit": "^2.0.2"
+
},
+
"engines": {
+
"node": ">=18"
}
},
"node_modules/@cspotcode/source-map-support": {
···
}
},
"node_modules/@emnapi/runtime": {
+
"version": "1.6.0",
+
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.6.0.tgz",
+
"integrity": "sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==",
+
"license": "MIT",
"optional": true,
"dependencies": {
"tslib": "^2.4.0"
···
"node": ">=18"
}
},
+
"node_modules/@img/colour": {
+
"version": "1.0.0",
+
"resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz",
+
"integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==",
+
"license": "MIT",
+
"optional": true,
+
"engines": {
+
"node": ">=18"
+
}
+
},
"node_modules/@img/sharp-darwin-arm64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.4.tgz",
+
"integrity": "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==",
"cpu": [
"arm64"
],
+
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-libvips-darwin-arm64": "1.2.3"
}
},
"node_modules/@img/sharp-darwin-x64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.4.tgz",
+
"integrity": "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==",
"cpu": [
"x64"
],
+
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-libvips-darwin-x64": "1.2.3"
}
},
"node_modules/@img/sharp-libvips-darwin-arm64": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.3.tgz",
+
"integrity": "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==",
"cpu": [
"arm64"
],
+
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"darwin"
···
}
},
"node_modules/@img/sharp-libvips-darwin-x64": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.3.tgz",
+
"integrity": "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==",
"cpu": [
"x64"
],
+
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"darwin"
···
}
},
"node_modules/@img/sharp-libvips-linux-arm": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.3.tgz",
+
"integrity": "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==",
"cpu": [
"arm"
],
+
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linux-arm64": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.3.tgz",
+
"integrity": "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==",
"cpu": [
"arm64"
],
+
"license": "LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
+
"node_modules/@img/sharp-libvips-linux-ppc64": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.3.tgz",
+
"integrity": "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==",
+
"cpu": [
+
"ppc64"
+
],
+
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linux-s390x": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.3.tgz",
+
"integrity": "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==",
"cpu": [
"s390x"
],
+
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linux-x64": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.3.tgz",
+
"integrity": "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==",
"cpu": [
"x64"
],
+
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linuxmusl-arm64": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.3.tgz",
+
"integrity": "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==",
"cpu": [
"arm64"
],
+
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-libvips-linuxmusl-x64": {
+
"version": "1.2.3",
+
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.3.tgz",
+
"integrity": "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==",
"cpu": [
"x64"
],
+
"license": "LGPL-3.0-or-later",
"optional": true,
"os": [
"linux"
···
}
},
"node_modules/@img/sharp-linux-arm": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.4.tgz",
+
"integrity": "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==",
"cpu": [
"arm"
],
+
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-libvips-linux-arm": "1.2.3"
}
},
"node_modules/@img/sharp-linux-arm64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.4.tgz",
+
"integrity": "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==",
"cpu": [
"arm64"
],
+
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-libvips-linux-arm64": "1.2.3"
+
}
+
},
+
"node_modules/@img/sharp-linux-ppc64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.4.tgz",
+
"integrity": "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==",
+
"cpu": [
+
"ppc64"
+
],
+
"license": "Apache-2.0",
+
"optional": true,
+
"os": [
+
"linux"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
},
+
"optionalDependencies": {
+
"@img/sharp-libvips-linux-ppc64": "1.2.3"
}
},
"node_modules/@img/sharp-linux-s390x": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.4.tgz",
+
"integrity": "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==",
"cpu": [
"s390x"
],
+
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-libvips-linux-s390x": "1.2.3"
}
},
"node_modules/@img/sharp-linux-x64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.4.tgz",
+
"integrity": "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==",
"cpu": [
"x64"
],
+
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-libvips-linux-x64": "1.2.3"
}
},
"node_modules/@img/sharp-linuxmusl-arm64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.4.tgz",
+
"integrity": "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==",
"cpu": [
"arm64"
],
+
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-libvips-linuxmusl-arm64": "1.2.3"
}
},
"node_modules/@img/sharp-linuxmusl-x64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.4.tgz",
+
"integrity": "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==",
"cpu": [
"x64"
],
+
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-libvips-linuxmusl-x64": "1.2.3"
}
},
"node_modules/@img/sharp-wasm32": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.4.tgz",
+
"integrity": "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==",
"cpu": [
"wasm32"
],
+
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
"optional": true,
"dependencies": {
+
"@emnapi/runtime": "^1.5.0"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
···
"url": "https://opencollective.com/libvips"
}
},
+
"node_modules/@img/sharp-win32-arm64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.4.tgz",
+
"integrity": "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==",
+
"cpu": [
+
"arm64"
+
],
+
"license": "Apache-2.0 AND LGPL-3.0-or-later",
+
"optional": true,
+
"os": [
+
"win32"
+
],
+
"engines": {
+
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
+
},
+
"funding": {
+
"url": "https://opencollective.com/libvips"
+
}
+
},
"node_modules/@img/sharp-win32-ia32": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.4.tgz",
+
"integrity": "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==",
"cpu": [
"ia32"
],
+
"license": "Apache-2.0 AND LGPL-3.0-or-later",
"optional": true,
"os": [
"win32"
···
}
},
"node_modules/@img/sharp-win32-x64": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.4.tgz",
+
"integrity": "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==",
"cpu": [
"x64"
],
+
"license": "Apache-2.0 AND LGPL-3.0-or-later",
"optional": true,
"os": [
"win32"
···
}
},
"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==",
+
"license": "MIT",
"dependencies": {
+
"@jridgewell/sourcemap-codec": "^1.5.0",
"@jridgewell/trace-mapping": "^0.3.24"
}
},
"node_modules/@jridgewell/gen-mapping/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==",
+
"license": "MIT",
+
"dependencies": {
+
"@jridgewell/resolve-uri": "^3.1.0",
+
"@jridgewell/sourcemap-codec": "^1.4.14"
+
}
+
},
+
"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==",
+
"license": "MIT",
+
"dependencies": {
+
"@jridgewell/gen-mapping": "^0.3.5",
+
"@jridgewell/trace-mapping": "^0.3.24"
+
}
+
},
+
"node_modules/@jridgewell/remapping/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==",
+
"license": "MIT",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
···
"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.9",
···
"integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="
},
"node_modules/@rolldown/pluginutils": {
+
"version": "1.0.0-beta.27",
+
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
+
"integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==",
+
"license": "MIT"
},
"node_modules/@rollup/pluginutils": {
+
"version": "5.3.0",
+
"resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz",
+
"integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==",
+
"license": "MIT",
"dependencies": {
"@types/estree": "^1.0.0",
"estree-walker": "^2.0.2",
···
"node_modules/@rollup/pluginutils/node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+
"license": "MIT"
},
"node_modules/@rollup/rollup-android-arm-eabi": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz",
+
"integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==",
"cpu": [
"arm"
],
+
"license": "MIT",
"optional": true,
"os": [
"android"
]
},
"node_modules/@rollup/rollup-android-arm64": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz",
+
"integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==",
"cpu": [
"arm64"
],
+
"license": "MIT",
"optional": true,
"os": [
"android"
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz",
+
"integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==",
"cpu": [
"arm64"
],
+
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@rollup/rollup-darwin-x64": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz",
+
"integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==",
"cpu": [
"x64"
],
+
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@rollup/rollup-freebsd-arm64": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz",
+
"integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==",
"cpu": [
"arm64"
],
+
"license": "MIT",
"optional": true,
"os": [
"freebsd"
]
},
"node_modules/@rollup/rollup-freebsd-x64": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz",
+
"integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==",
"cpu": [
"x64"
],
+
"license": "MIT",
"optional": true,
"os": [
"freebsd"
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz",
+
"integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==",
"cpu": [
"arm"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm-musleabihf": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz",
+
"integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==",
"cpu": [
"arm"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz",
+
"integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==",
"cpu": [
"arm64"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz",
+
"integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==",
"cpu": [
"arm64"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
+
"node_modules/@rollup/rollup-linux-loong64-gnu": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz",
+
"integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==",
"cpu": [
"loong64"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
+
"node_modules/@rollup/rollup-linux-ppc64-gnu": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz",
+
"integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==",
"cpu": [
"ppc64"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz",
+
"integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==",
"cpu": [
"riscv64"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-riscv64-musl": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz",
+
"integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==",
"cpu": [
"riscv64"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-s390x-gnu": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz",
+
"integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==",
"cpu": [
"s390x"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz",
+
"integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==",
"cpu": [
"x64"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz",
+
"integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==",
"cpu": [
"x64"
],
+
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
+
"node_modules/@rollup/rollup-openharmony-arm64": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz",
+
"integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==",
+
"cpu": [
+
"arm64"
+
],
+
"license": "MIT",
+
"optional": true,
+
"os": [
+
"openharmony"
+
]
+
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz",
+
"integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==",
"cpu": [
"arm64"
],
+
"license": "MIT",
"optional": true,
"os": [
"win32"
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz",
+
"integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==",
"cpu": [
"ia32"
],
+
"license": "MIT",
+
"optional": true,
+
"os": [
+
"win32"
+
]
+
},
+
"node_modules/@rollup/rollup-win32-x64-gnu": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz",
+
"integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==",
+
"cpu": [
+
"x64"
+
],
+
"license": "MIT",
"optional": true,
"os": [
"win32"
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz",
+
"integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==",
"cpu": [
"x64"
],
+
"license": "MIT",
"optional": true,
"os": [
"win32"
]
},
"node_modules/@shikijs/core": {
+
"version": "3.14.0",
+
"resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.14.0.tgz",
+
"integrity": "sha512-qRSeuP5vlYHCNUIrpEBQFO7vSkR7jn7Kv+5X3FO/zBKVDGQbcnlScD3XhkrHi/R8Ltz0kEjvFR9Szp/XMRbFMw==",
+
"license": "MIT",
"dependencies": {
+
"@shikijs/types": "3.14.0",
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4",
"hast-util-to-html": "^9.0.5"
}
},
"node_modules/@shikijs/engine-javascript": {
+
"version": "3.14.0",
+
"resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.14.0.tgz",
+
"integrity": "sha512-3v1kAXI2TsWQuwv86cREH/+FK9Pjw3dorVEykzQDhwrZj0lwsHYlfyARaKmn6vr5Gasf8aeVpb8JkzeWspxOLQ==",
+
"license": "MIT",
"dependencies": {
+
"@shikijs/types": "3.14.0",
"@shikijs/vscode-textmate": "^10.0.2",
"oniguruma-to-es": "^4.3.3"
}
},
"node_modules/@shikijs/engine-oniguruma": {
+
"version": "3.14.0",
+
"resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.14.0.tgz",
+
"integrity": "sha512-TNcYTYMbJyy+ZjzWtt0bG5y4YyMIWC2nyePz+CFMWqm+HnZZyy9SWMgo8Z6KBJVIZnx8XUXS8U2afO6Y0g1Oug==",
+
"license": "MIT",
"dependencies": {
+
"@shikijs/types": "3.14.0",
"@shikijs/vscode-textmate": "^10.0.2"
}
},
"node_modules/@shikijs/langs": {
+
"version": "3.14.0",
+
"resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.14.0.tgz",
+
"integrity": "sha512-DIB2EQY7yPX1/ZH7lMcwrK5pl+ZkP/xoSpUzg9YC8R+evRCCiSQ7yyrvEyBsMnfZq4eBzLzBlugMyTAf13+pzg==",
+
"license": "MIT",
"dependencies": {
+
"@shikijs/types": "3.14.0"
}
},
"node_modules/@shikijs/themes": {
+
"version": "3.14.0",
+
"resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.14.0.tgz",
+
"integrity": "sha512-fAo/OnfWckNmv4uBoUu6dSlkcBc+SA1xzj5oUSaz5z3KqHtEbUypg/9xxgJARtM6+7RVm0Q6Xnty41xA1ma1IA==",
+
"license": "MIT",
"dependencies": {
+
"@shikijs/types": "3.14.0"
}
},
"node_modules/@shikijs/types": {
+
"version": "3.14.0",
+
"resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.14.0.tgz",
+
"integrity": "sha512-bQGgC6vrY8U/9ObG1Z/vTro+uclbjjD/uG58RvfxKZVD5p9Yc1ka3tVyEFy7BNJLzxuWyHH5NWynP9zZZS59eQ==",
+
"license": "MIT",
"dependencies": {
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4"
···
"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/@swc/helpers": {
"version": "0.5.17",
···
"version": "7.20.5",
"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.20.7",
"@babel/types": "^7.20.7",
···
"version": "7.27.0",
"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
"integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+
"license": "MIT",
"dependencies": {
"@babel/types": "^7.0.0"
}
···
"version": "7.4.4",
"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.1.0",
"@babel/types": "^7.0.0"
}
},
"node_modules/@types/babel__traverse": {
+
"version": "7.28.0",
+
"resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
+
"integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
+
"license": "MIT",
"dependencies": {
+
"@babel/types": "^7.28.2"
}
},
"node_modules/@types/debug": {
"version": "4.1.12",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
+
"license": "MIT",
"dependencies": {
"@types/ms": "*"
}
},
"node_modules/@types/estree": {
+
"version": "1.0.8",
+
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+
"license": "MIT"
+
},
+
"node_modules/@types/fontkit": {
+
"version": "2.0.8",
+
"resolved": "https://registry.npmjs.org/@types/fontkit/-/fontkit-2.0.8.tgz",
+
"integrity": "sha512-wN+8bYxIpJf+5oZdrdtaX04qUuWHcKxcDEgRS9Qm9ZClSHjzEn13SxUC+5eRM+4yXIeTYk8mTzLAWGF64847ew==",
+
"dependencies": {
+
"@types/node": "*"
+
}
},
"node_modules/@types/hast": {
"version": "3.0.4",
···
"node_modules/@types/ms": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
+
"integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
+
"license": "MIT"
},
"node_modules/@types/nlcst": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz",
"integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==",
+
"license": "MIT",
"dependencies": {
"@types/unist": "*"
}
···
"integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="
},
"node_modules/@vitejs/plugin-react": {
+
"version": "4.7.0",
+
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz",
+
"integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==",
+
"license": "MIT",
"dependencies": {
+
"@babel/core": "^7.28.0",
+
"@babel/plugin-transform-react-jsx-self": "^7.27.1",
+
"@babel/plugin-transform-react-jsx-source": "^7.27.1",
+
"@rolldown/pluginutils": "1.0.0-beta.27",
"@types/babel__core": "^7.20.5",
"react-refresh": "^0.17.0"
},
···
"node": "^14.18.0 || >=16.0.0"
},
"peerDependencies": {
+
"vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
}
},
"node_modules/acorn": {
+
"version": "8.15.0",
+
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
+
"license": "MIT",
"bin": {
"acorn": "bin/acorn"
},
···
"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"
···
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+
"license": "MIT",
"engines": {
"node": ">=8.6"
},
···
"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",
···
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz",
"integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==",
+
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/astro": {
+
"version": "5.15.3",
+
"resolved": "https://registry.npmjs.org/astro/-/astro-5.15.3.tgz",
+
"integrity": "sha512-wUO/isJrcUoduRoKacKB9jpO6TxTlPV1zw8UqQx39jSNY7z9IxusJAiib3AiNvqK+dCWhqXx+OnExCCwELmcUw==",
+
"license": "MIT",
"dependencies": {
+
"@astrojs/compiler": "^2.12.2",
+
"@astrojs/internal-helpers": "0.7.4",
+
"@astrojs/markdown-remark": "6.3.8",
+
"@astrojs/telemetry": "3.3.0",
+
"@capsizecss/unpack": "^3.0.0",
"@oslojs/encoding": "^1.1.0",
+
"@rollup/pluginutils": "^5.2.0",
+
"acorn": "^8.15.0",
"aria-query": "^5.3.2",
"axobject-query": "^4.1.0",
"boxen": "8.0.1",
+
"ci-info": "^4.3.0",
"clsx": "^2.1.1",
"common-ancestor-path": "^1.0.1",
"cookie": "^1.0.2",
"cssesc": "^3.0.0",
+
"debug": "^4.4.1",
"deterministic-object-hash": "^2.0.2",
+
"devalue": "^5.3.2",
"diff": "^5.2.0",
"dlv": "^1.1.3",
"dset": "^3.1.4",
+
"es-module-lexer": "^1.7.0",
"esbuild": "^0.25.0",
"estree-walker": "^3.0.3",
"flattie": "^1.1.1",
+
"fontace": "~0.3.0",
"github-slugger": "^2.0.0",
"html-escaper": "3.0.3",
+
"http-cache-semantics": "^4.2.0",
+
"import-meta-resolve": "^4.2.0",
"js-yaml": "^4.1.0",
+
"magic-string": "^0.30.18",
"magicast": "^0.3.5",
"mrmime": "^2.0.1",
"neotraverse": "^0.6.18",
"p-limit": "^6.2.0",
"p-queue": "^8.1.0",
+
"package-manager-detector": "^1.3.0",
+
"picocolors": "^1.1.1",
+
"picomatch": "^4.0.3",
"prompts": "^2.4.2",
"rehype": "^13.0.2",
+
"semver": "^7.7.2",
+
"shiki": "^3.12.0",
+
"smol-toml": "^1.4.2",
+
"tinyexec": "^1.0.1",
+
"tinyglobby": "^0.2.14",
+
"tsconfck": "^3.1.6",
"ultrahtml": "^1.6.0",
+
"unifont": "~0.6.0",
"unist-util-visit": "^5.0.0",
+
"unstorage": "^1.17.0",
"vfile": "^6.0.3",
+
"vite": "^6.4.1",
+
"vitefu": "^1.1.1",
"xxhash-wasm": "^1.1.0",
"yargs-parser": "^21.1.1",
+
"yocto-spinner": "^0.2.3",
+
"zod": "^3.25.76",
+
"zod-to-json-schema": "^3.24.6",
"zod-to-ts": "^1.2.0"
},
"bin": {
"astro": "astro.js"
},
"engines": {
+
"node": "18.20.8 || ^20.3.0 || >=22.0.0",
"npm": ">=9.6.5",
"pnpm": ">=7.1.0"
},
···
"url": "https://opencollective.com/astrodotbuild"
},
"optionalDependencies": {
+
"sharp": "^0.34.0"
+
}
+
},
+
"node_modules/astro/node_modules/semver": {
+
"version": "7.7.3",
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+
"license": "ISC",
+
"bin": {
+
"semver": "bin/semver.js"
+
},
+
"engines": {
+
"node": ">=10"
}
},
"node_modules/await-lock": {
···
}
]
},
+
"node_modules/baseline-browser-mapping": {
+
"version": "2.8.23",
+
"resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.23.tgz",
+
"integrity": "sha512-616V5YX4bepJFzNyOfce5Fa8fDJMfoxzOIzDCZwaGL8MKVpFrXqfNUoIpRn9YMI5pXf/VKgzjB4htFMsFKKdiQ==",
+
"license": "Apache-2.0",
+
"bin": {
+
"baseline-browser-mapping": "dist/cli.js"
+
}
},
"node_modules/boxen": {
"version": "8.0.1",
···
}
},
"node_modules/browserslist": {
+
"version": "4.27.0",
+
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz",
+
"integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==",
"funding": [
{
"type": "opencollective",
···
"url": "https://github.com/sponsors/ai"
}
],
+
"license": "MIT",
"dependencies": {
+
"baseline-browser-mapping": "^2.8.19",
+
"caniuse-lite": "^1.0.30001751",
+
"electron-to-chromium": "^1.5.238",
+
"node-releases": "^2.0.26",
+
"update-browserslist-db": "^1.1.4"
},
"bin": {
"browserslist": "cli.js"
···
}
},
"node_modules/caniuse-lite": {
+
"version": "1.0.30001753",
+
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001753.tgz",
+
"integrity": "sha512-Bj5H35MD/ebaOV4iDLqPEtiliTN29qkGtEHCwawWn4cYm+bPJM2NsaP30vtZcnERClMzp52J4+aw2UNbK4o+zw==",
"funding": [
{
"type": "opencollective",
···
"type": "github",
"url": "https://github.com/sponsors/ai"
}
+
],
+
"license": "CC-BY-4.0"
},
"node_modules/ccount": {
"version": "2.0.1",
···
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
"integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
···
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
"integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+
"license": "MIT",
"dependencies": {
"readdirp": "^4.0.1"
},
···
}
},
"node_modules/ci-info": {
+
"version": "4.3.1",
+
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz",
+
"integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/sibiraj-s"
}
],
+
"license": "MIT",
"engines": {
"node": ">=8"
}
···
"node": ">=6"
}
},
"node_modules/comma-separated-tokens": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
···
"node_modules/convert-source-map": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+
"license": "MIT"
},
"node_modules/cookie": {
"version": "1.0.2",
···
"node_modules/cookie-es": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz",
+
"integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==",
+
"license": "MIT"
},
"node_modules/create-require": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
"integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
},
"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"
}
···
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
"integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
+
"license": "MIT",
"dependencies": {
"mdn-data": "2.12.2",
"source-map-js": "^1.0.1"
···
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
"node_modules/debug": {
+
"version": "4.4.3",
+
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
+
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
···
}
},
"node_modules/decode-named-character-reference": {
+
"version": "1.2.0",
+
"resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz",
+
"integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==",
+
"license": "MIT",
"dependencies": {
"character-entities": "^2.0.0"
},
···
"node_modules/defu": {
"version": "6.1.4",
"resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
+
"integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
+
"license": "MIT"
},
"node_modules/dequal": {
"version": "2.0.3",
···
"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",
"optional": true,
"engines": {
"node": ">=8"
···
}
},
"node_modules/devalue": {
+
"version": "5.4.2",
+
"resolved": "https://registry.npmjs.org/devalue/-/devalue-5.4.2.tgz",
+
"integrity": "sha512-MwPZTKEPK2k8Qgfmqrd48ZKVvzSQjgW0lXLxiIBA8dQjtf/6mw6pggHNLcyDKyf+fI6eXxlQwPsfaCMTU5U+Bw==",
+
"license": "MIT"
},
"node_modules/devlop": {
"version": "1.1.0",
···
}
},
"node_modules/electron-to-chromium": {
+
"version": "1.5.244",
+
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.244.tgz",
+
"integrity": "sha512-OszpBN7xZX4vWMPJwB9illkN/znA8M36GQqQxi6MNy9axWxhOfJyZZJtSLQCpEFLHP2xK33BiWx9aIuIEXVCcw==",
+
"license": "ISC"
},
"node_modules/emoji-regex": {
"version": "10.4.0",
···
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+
"license": "MIT",
"engines": {
"node": ">=6"
}
···
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
"integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+
"license": "MIT",
"engines": {
"node": ">=12"
},
···
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"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"
},
···
"node": ">=8"
}
},
+
"node_modules/fontace": {
+
"version": "0.3.0",
+
"resolved": "https://registry.npmjs.org/fontace/-/fontace-0.3.0.tgz",
+
"integrity": "sha512-czoqATrcnxgWb/nAkfyIrRp6Q8biYj7nGnL6zfhTcX+JKKpWHFBnb8uNMw/kZr7u++3Y3wYSYoZgHkCcsuBpBg==",
+
"dependencies": {
+
"@types/fontkit": "^2.0.8",
+
"fontkit": "^2.0.4"
+
}
+
},
"node_modules/fontkit": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz",
···
"version": "1.0.0-beta.2",
"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
···
"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/graphemer": {
"version": "1.4.0",
···
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag=="
},
"node_modules/h3": {
+
"version": "1.15.4",
+
"resolved": "https://registry.npmjs.org/h3/-/h3-1.15.4.tgz",
+
"integrity": "sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==",
+
"license": "MIT",
"dependencies": {
"cookie-es": "^1.2.2",
+
"crossws": "^0.3.5",
"defu": "^6.1.4",
"destr": "^2.0.5",
"iron-webcrypto": "^1.2.1",
+
"node-mock-http": "^1.0.2",
"radix3": "^1.1.2",
"ufo": "^1.6.1",
"uncrypto": "^0.1.3"
···
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz",
"integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==",
+
"license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0"
},
···
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz",
"integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==",
+
"license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/unist": "^3.0.0",
···
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz",
"integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==",
+
"license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"comma-separated-tokens": "^2.0.0",
···
"version": "6.5.0",
"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz",
"integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==",
+
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
···
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz",
"integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==",
+
"license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/unist": "^3.0.0",
···
}
},
"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/import-meta-resolve": {
+
"version": "4.2.0",
+
"resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz",
+
"integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==",
+
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
···
"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": "3.0.0",
···
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+
"license": "MIT"
},
"node_modules/js-yaml": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
},
···
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
"integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
+
"license": "MIT",
"bin": {
"jsesc": "bin/jsesc"
},
···
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+
"license": "MIT",
"bin": {
"json5": "lib/cli.js"
},
···
"node": ">=6"
}
},
"node_modules/longest-streak": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz",
"integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==",
+
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/lru-cache": {
+
"version": "5.1.1",
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+
"license": "ISC",
+
"dependencies": {
+
"yallist": "^3.0.2"
+
}
},
"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": "3.0.4",
"resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz",
"integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==",
+
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/wooorm"
···
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz",
"integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
···
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz",
"integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"escape-string-regexp": "^5.0.0",
···
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz",
"integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
···
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz",
"integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==",
+
"license": "MIT",
"dependencies": {
"mdast-util-from-markdown": "^2.0.0",
"mdast-util-gfm-autolink-literal": "^2.0.0",
···
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz",
"integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"ccount": "^2.0.0",
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz",
"integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"devlop": "^1.1.0",
···
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz",
"integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-from-markdown": "^2.0.0",
···
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz",
"integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"devlop": "^1.0.0",
···
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz",
"integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"devlop": "^1.0.0",
···
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz",
"integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"unist-util-is": "^6.0.0"
···
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz",
"integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"@types/unist": "^3.0.0",
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz",
"integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0"
},
···
"node_modules/mdn-data": {
"version": "2.12.2",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
+
"integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
+
"license": "CC0-1.0"
},
"node_modules/micromark": {
"version": "4.0.2",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"@types/debug": "^4.0.0",
"debug": "^4.0.0",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"decode-named-character-reference": "^1.0.0",
"devlop": "^1.0.0",
···
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz",
"integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==",
+
"license": "MIT",
"dependencies": {
"micromark-extension-gfm-autolink-literal": "^2.0.0",
"micromark-extension-gfm-footnote": "^2.0.0",
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz",
"integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==",
+
"license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-sanitize-uri": "^2.0.0",
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz",
"integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==",
+
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-core-commonmark": "^2.0.0",
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz",
"integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==",
+
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-chunked": "^2.0.0",
···
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz",
"integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==",
+
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-factory-space": "^2.0.0",
···
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz",
"integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==",
+
"license": "MIT",
"dependencies": {
"micromark-util-types": "^2.0.0"
},
···
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz",
"integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==",
+
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-factory-space": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-character": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-types": "^2.0.0"
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-factory-space": "^2.0.0",
"micromark-util-character": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-util-character": "^2.0.0",
"micromark-util-symbol": "^2.0.0",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-util-chunked": "^2.0.0",
"micromark-util-types": "^2.0.0"
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"decode-named-character-reference": "^1.0.0",
"micromark-util-character": "^2.0.0",
···
"type": "OpenCollective",
"url": "https://opencollective.com/unified"
}
+
],
+
"license": "MIT"
},
"node_modules/micromark-util-normalize-identifier": {
"version": "2.0.1",
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-util-symbol": "^2.0.0"
}
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"micromark-util-types": "^2.0.0"
}
···
"url": "https://opencollective.com/unified"
}
],
+
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
"micromark-util-chunked": "^2.0.0",
···
"url": "https://github.com/sponsors/ai"
}
],
+
"license": "MIT",
"bin": {
"nanoid": "bin/nanoid.cjs"
},
···
"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"
},
···
"node": ">= 8.0.0"
}
},
"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.3",
+
"resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.3.tgz",
+
"integrity": "sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==",
+
"license": "MIT"
},
"node_modules/node-releases": {
+
"version": "2.0.27",
+
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+
"integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
+
"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/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.1",
"resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz",
+
"integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==",
+
"license": "MIT"
},
"node_modules/oniguruma-to-es": {
"version": "4.3.3",
"resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.3.tgz",
"integrity": "sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==",
+
"license": "MIT",
"dependencies": {
"oniguruma-parser": "^0.12.1",
"regex": "^6.0.1",
···
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz",
"integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==",
+
"license": "MIT",
"dependencies": {
"@types/nlcst": "^2.0.0",
"@types/unist": "^3.0.0",
···
"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.3",
+
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+
"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+
"license": "MIT",
"engines": {
"node": ">=12"
},
···
}
},
"node_modules/postcss": {
+
"version": "8.5.6",
+
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+
"integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
"funding": [
{
"type": "opencollective",
···
"url": "https://github.com/sponsors/ai"
}
],
+
"license": "MIT",
"dependencies": {
+
"nanoid": "^3.3.11",
"picocolors": "^1.1.1",
"source-map-js": "^1.2.1"
},
···
"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/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/react": {
"version": "19.1.0",
···
"version": "0.17.0",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
"integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==",
+
"license": "MIT",
"engines": {
"node": ">=0.10.0"
}
···
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+
"license": "MIT",
"engines": {
"node": ">= 14.18.0"
},
···
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/regex/-/regex-6.0.1.tgz",
"integrity": "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==",
+
"license": "MIT",
"dependencies": {
"regex-utilities": "^2.3.0"
}
···
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz",
"integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==",
+
"license": "MIT",
"dependencies": {
"regex-utilities": "^2.3.0"
}
···
"node_modules/regex-utilities": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz",
+
"integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==",
+
"license": "MIT"
},
"node_modules/rehype": {
"version": "13.0.2",
···
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz",
"integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==",
+
"license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"hast-util-raw": "^9.0.0",
···
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz",
"integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-gfm": "^3.0.0",
···
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz",
"integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-from-markdown": "^2.0.0",
···
"version": "11.1.2",
"resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz",
"integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==",
+
"license": "MIT",
"dependencies": {
"@types/hast": "^3.0.0",
"@types/mdast": "^4.0.0",
···
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz",
"integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==",
+
"license": "MIT",
"dependencies": {
"retext": "^9.0.0",
"retext-smartypants": "^6.0.0",
···
"version": "11.0.0",
"resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz",
"integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==",
+
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-to-markdown": "^2.0.0",
···
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz",
"integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==",
+
"license": "MIT",
"dependencies": {
"@types/nlcst": "^2.0.0",
"retext-latin": "^4.0.0",
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz",
"integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==",
+
"license": "MIT",
"dependencies": {
"@types/nlcst": "^2.0.0",
"parse-latin": "^7.0.0",
···
"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",
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz",
"integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==",
+
"license": "MIT",
"dependencies": {
"@types/nlcst": "^2.0.0",
"nlcst-to-string": "^4.0.0",
···
}
},
"node_modules/rollup": {
+
"version": "4.52.5",
+
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz",
+
"integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==",
+
"license": "MIT",
"dependencies": {
+
"@types/estree": "1.0.8"
},
"bin": {
"rollup": "dist/bin/rollup"
···
"npm": ">=8.0.0"
},
"optionalDependencies": {
+
"@rollup/rollup-android-arm-eabi": "4.52.5",
+
"@rollup/rollup-android-arm64": "4.52.5",
+
"@rollup/rollup-darwin-arm64": "4.52.5",
+
"@rollup/rollup-darwin-x64": "4.52.5",
+
"@rollup/rollup-freebsd-arm64": "4.52.5",
+
"@rollup/rollup-freebsd-x64": "4.52.5",
+
"@rollup/rollup-linux-arm-gnueabihf": "4.52.5",
+
"@rollup/rollup-linux-arm-musleabihf": "4.52.5",
+
"@rollup/rollup-linux-arm64-gnu": "4.52.5",
+
"@rollup/rollup-linux-arm64-musl": "4.52.5",
+
"@rollup/rollup-linux-loong64-gnu": "4.52.5",
+
"@rollup/rollup-linux-ppc64-gnu": "4.52.5",
+
"@rollup/rollup-linux-riscv64-gnu": "4.52.5",
+
"@rollup/rollup-linux-riscv64-musl": "4.52.5",
+
"@rollup/rollup-linux-s390x-gnu": "4.52.5",
+
"@rollup/rollup-linux-x64-gnu": "4.52.5",
+
"@rollup/rollup-linux-x64-musl": "4.52.5",
+
"@rollup/rollup-openharmony-arm64": "4.52.5",
+
"@rollup/rollup-win32-arm64-msvc": "4.52.5",
+
"@rollup/rollup-win32-ia32-msvc": "4.52.5",
+
"@rollup/rollup-win32-x64-gnu": "4.52.5",
+
"@rollup/rollup-win32-x64-msvc": "4.52.5",
"fsevents": "~2.3.2"
}
},
···
"integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="
},
"node_modules/semver": {
+
"version": "6.3.1",
+
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+
"license": "ISC",
"bin": {
"semver": "bin/semver.js"
}
},
"node_modules/sharp": {
+
"version": "0.34.4",
+
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.4.tgz",
+
"integrity": "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==",
"hasInstallScript": true,
+
"license": "Apache-2.0",
"optional": true,
"dependencies": {
+
"@img/colour": "^1.0.0",
+
"detect-libc": "^2.1.0",
+
"semver": "^7.7.2"
},
"engines": {
"node": "^18.17.0 || ^20.3.0 || >=21.0.0"
···
"url": "https://opencollective.com/libvips"
},
"optionalDependencies": {
+
"@img/sharp-darwin-arm64": "0.34.4",
+
"@img/sharp-darwin-x64": "0.34.4",
+
"@img/sharp-libvips-darwin-arm64": "1.2.3",
+
"@img/sharp-libvips-darwin-x64": "1.2.3",
+
"@img/sharp-libvips-linux-arm": "1.2.3",
+
"@img/sharp-libvips-linux-arm64": "1.2.3",
+
"@img/sharp-libvips-linux-ppc64": "1.2.3",
+
"@img/sharp-libvips-linux-s390x": "1.2.3",
+
"@img/sharp-libvips-linux-x64": "1.2.3",
+
"@img/sharp-libvips-linuxmusl-arm64": "1.2.3",
+
"@img/sharp-libvips-linuxmusl-x64": "1.2.3",
+
"@img/sharp-linux-arm": "0.34.4",
+
"@img/sharp-linux-arm64": "0.34.4",
+
"@img/sharp-linux-ppc64": "0.34.4",
+
"@img/sharp-linux-s390x": "0.34.4",
+
"@img/sharp-linux-x64": "0.34.4",
+
"@img/sharp-linuxmusl-arm64": "0.34.4",
+
"@img/sharp-linuxmusl-x64": "0.34.4",
+
"@img/sharp-wasm32": "0.34.4",
+
"@img/sharp-win32-arm64": "0.34.4",
+
"@img/sharp-win32-ia32": "0.34.4",
+
"@img/sharp-win32-x64": "0.34.4"
+
}
+
},
+
"node_modules/sharp/node_modules/semver": {
+
"version": "7.7.3",
+
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+
"integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+
"license": "ISC",
+
"optional": true,
+
"bin": {
+
"semver": "bin/semver.js"
+
},
+
"engines": {
+
"node": ">=10"
}
},
"node_modules/shiki": {
+
"version": "3.14.0",
+
"resolved": "https://registry.npmjs.org/shiki/-/shiki-3.14.0.tgz",
+
"integrity": "sha512-J0yvpLI7LSig3Z3acIuDLouV5UCKQqu8qOArwMx+/yPVC3WRMgrP67beaG8F+j4xfEWE0eVC4GeBCIXeOPra1g==",
+
"license": "MIT",
"dependencies": {
+
"@shikijs/core": "3.14.0",
+
"@shikijs/engine-javascript": "3.14.0",
+
"@shikijs/engine-oniguruma": "3.14.0",
+
"@shikijs/langs": "3.14.0",
+
"@shikijs/themes": "3.14.0",
+
"@shikijs/types": "3.14.0",
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4"
}
},
"node_modules/sisteransi": {
···
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
},
"node_modules/smol-toml": {
+
"version": "1.4.2",
+
"resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.4.2.tgz",
+
"integrity": "sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==",
+
"license": "BSD-3-Clause",
"engines": {
"node": ">= 18"
},
···
"integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
},
"node_modules/tinyexec": {
+
"version": "1.0.1",
+
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz",
+
"integrity": "sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==",
+
"license": "MIT"
},
"node_modules/tinyglobby": {
+
"version": "0.2.15",
+
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+
"integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
+
"license": "MIT",
"dependencies": {
+
"fdir": "^6.5.0",
+
"picomatch": "^4.0.3"
},
"engines": {
"node": ">=12.0.0"
···
"tlds": "bin.js"
}
},
"node_modules/trim-lines": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
···
}
},
"node_modules/tsconfck": {
+
"version": "3.1.6",
+
"resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz",
+
"integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==",
+
"license": "MIT",
"bin": {
"tsconfck": "bin/tsconfck.js"
},
···
"node_modules/ufo": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.1.tgz",
+
"integrity": "sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==",
+
"license": "MIT"
},
"node_modules/uint8arrays": {
"version": "3.0.0",
···
"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": "6.21.0",
···
}
},
"node_modules/unifont": {
+
"version": "0.6.0",
+
"resolved": "https://registry.npmjs.org/unifont/-/unifont-0.6.0.tgz",
+
"integrity": "sha512-5Fx50fFQMQL5aeHyWnZX9122sSLckcDvcfFiBf3QYeHa7a1MKJooUy52b67moi2MJYkrfo/TWY+CoLdr/w0tTA==",
+
"license": "MIT",
"dependencies": {
"css-tree": "^3.0.0",
+
"ofetch": "^1.4.1",
"ohash": "^2.0.0"
}
},
···
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz",
"integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==",
+
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-is": "^6.0.0"
···
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz",
"integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==",
+
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"array-iterate": "^2.0.0"
···
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz",
"integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==",
+
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0",
"unist-util-visit": "^5.0.0"
···
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz",
"integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==",
+
"license": "MIT",
"dependencies": {
"@types/unist": "^3.0.0"
},
···
}
},
"node_modules/unstorage": {
+
"version": "1.17.2",
+
"resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.2.tgz",
+
"integrity": "sha512-cKEsD6iBWJgOMJ6vW1ID/SYuqNf8oN4yqRk8OYqaVQ3nnkJXOT1PSpaMh2QfzLs78UN5kSNRD2c/mgjT8tX7+w==",
+
"license": "MIT",
"dependencies": {
"anymatch": "^3.1.3",
"chokidar": "^4.0.3",
"destr": "^2.0.5",
+
"h3": "^1.15.4",
"lru-cache": "^10.4.3",
+
"node-fetch-native": "^1.6.7",
+
"ofetch": "^1.5.0",
"ufo": "^1.6.1"
},
"peerDependencies": {
···
"@azure/storage-blob": "^12.26.0",
"@capacitor/preferences": "^6.0.3 || ^7.0.0",
"@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.0.1",
"aws4fetch": "^1.0.20",
"db0": ">=0.2.1",
···
"@vercel/blob": {
"optional": true
},
+
"@vercel/functions": {
+
"optional": true
+
},
"@vercel/kv": {
"optional": true
},
···
}
}
},
+
"node_modules/unstorage/node_modules/lru-cache": {
+
"version": "10.4.3",
+
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+
"license": "ISC"
+
},
"node_modules/update-browserslist-db": {
+
"version": "1.1.4",
+
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz",
+
"integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==",
"funding": [
{
"type": "opencollective",
···
"url": "https://github.com/sponsors/ai"
}
],
+
"license": "MIT",
"dependencies": {
"escalade": "^3.2.0",
"picocolors": "^1.1.1"
···
}
},
"node_modules/vite": {
+
"version": "6.4.1",
+
"resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz",
+
"integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==",
+
"license": "MIT",
"dependencies": {
"esbuild": "^0.25.0",
"fdir": "^6.4.4",
···
}
},
"node_modules/vitefu": {
+
"version": "1.1.1",
+
"resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz",
+
"integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==",
+
"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-beta.0"
},
"peerDependenciesMeta": {
"vite": {
···
"url": "https://github.com/sponsors/wooorm"
}
},
"node_modules/which-pm-runs": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz",
···
"node_modules/yallist": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+
"license": "ISC"
},
"node_modules/yargs-parser": {
"version": "21.1.1",
···
}
},
"node_modules/yocto-spinner": {
+
"version": "0.2.3",
+
"resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz",
+
"integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==",
+
"license": "MIT",
"dependencies": {
"yoctocolors": "^2.1.1"
},
···
}
},
"node_modules/yoctocolors": {
+
"version": "2.1.2",
+
"resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz",
+
"integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==",
+
"license": "MIT",
"engines": {
"node": ">=18"
},
···
}
},
"node_modules/zod": {
+
"version": "3.25.76",
+
"resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
+
"integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
+
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/colinhacks"
}
},
"node_modules/zod-to-json-schema": {
+
"version": "3.24.6",
+
"resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz",
+
"integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==",
+
"license": "ISC",
"peerDependencies": {
"zod": "^3.24.1"
}
+2 -2
package.json
···
"astro": "astro"
},
"dependencies": {
-
"@astrojs/react": "^4.3.0",
"@atproto/api": "^0.15.6",
"@types/react": "^19.1.6",
"@types/react-dom": "^19.1.6",
-
"astro": "^5.7.11",
"fs": "^0.0.1-security",
"marked": "^15.0.11",
"node-cache": "^5.1.2",
···
"astro": "astro"
},
"dependencies": {
+
"@astrojs/react": "^4.4.1",
"@atproto/api": "^0.15.6",
"@types/react": "^19.1.6",
"@types/react-dom": "^19.1.6",
+
"astro": "^5.15.3",
"fs": "^0.0.1-security",
"marked": "^15.0.11",
"node-cache": "^5.1.2",
+120 -111
public/style.css
···
-
/*
VARIABLES & PROPERTIES
-
*/
-
@import url("https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap");
:root {
--line: transparent;
--line-active: #ffffff;
-
--bg-gradient: linear-gradient(
45deg,
-
rgb(0, 59, 74),
rgb(0, 35, 44),
rgb(0, 29, 36)
);
}
@property --animatedBorder {
···
initial-value: 0deg;
}
-
/*
-
ENTIRE PAGE
-
*/
html,
body {
font-family: "Nunito Sans", sans-serif;
width: 100%;
height: 100%;
-
background: var(--bg-gradient);
}
main#page {
position: absolute;
top: 50%;
left: 0;
width: 100%;
margin-top: -100px;
-
color: rgb(0, 92, 116);
transition: width 0.5s ease;
}
···
width: 70%;
}
-
/*
-
TEXT
-
*/
h1 {
color: #fff;
-
margin-bottom: 0px;
-
font-weight: 1000;
font-size: 4rem;
}
h1.spin {
-
animation-name: textSpin;
-
animation-duration: 4.5s;
-
animation-iteration-count: infinite;
-
animation-timing-function: linear;
-
position: relative;
}
···
content: "index" !important;
}
-
a {
-
color: rgb(0, 151, 188) !important;
-
text-decoration: none;
}
-
.circle-hover {
-
display: inline-block;
-
position: relative;
-
margin: 0 var(--spacing, 0px);
-
transition: margin 0.25s;
-
flex: 1;
-
min-width: 0;
-
svg {
-
width: 76px;
-
height: 40px;
-
position: absolute;
-
left: 50%;
-
bottom: 0;
-
transform: translate(-50%, 7px) translateZ(0);
-
fill: none;
-
stroke: var(--stroke, var(--line));
-
stroke-linecap: round;
-
stroke-width: 2px;
-
stroke-dasharray: var(--offset, 69px) 278px;
-
stroke-dashoffset: 361px;
-
transition:
-
stroke 0.25s ease var(--stroke-delay, 0s),
-
stroke-dasharray 0.35s;
-
}
-
&:hover {
-
--spacing: 4px;
-
--stroke: var(--line-active);
-
--stroke-delay: 0.1s;
-
--offset: 180px;
-
color: #fff !important;
-
}
}
-
/*
-
UTILITY
-
*/
-
.unselectable {
-
-webkit-user-select: none;
-
/* Safari */
-
-moz-user-select: none;
-
/* Firefox */
-
-ms-user-select: none;
-
/* Internet Explorer/Edge */
-
user-select: none;
-
/* Standard syntax */
}
-
/*
-
PROJECTS SIDE-PANE
-
*/
-
#projects-pane {
-
opacity: 0;
-
pointer-events: none;
-
visibility: hidden;
-
position: absolute;
-
top: 0;
-
right: 0;
-
width: 30%;
-
background: rgb(0 23 29 / 48%);
-
margin: 15px;
-
padding: 20px;
-
border-radius: 10px;
-
height: 97%;
}
-
/*
-
ANIMATED BORDERS UTILITY
-
*/
.animated-border::before,
.animated-border::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
-
translate: -50% -50%;
font-size: 70px;
z-index: 1;
-
background: conic-gradient(
from var(--animatedBorder),
transparent,
···
);
background-clip: text;
-webkit-text-fill-color: transparent;
-
-
animation: 3s animatedBorder linear infinite;
}
.animated-border::before {
···
opacity: 0.5;
}
-
.project-card {
-
background: rgba(0, 23, 29, 0.641);
-
border: 1px solid rgb(0, 44, 55);
-
padding: 10px;
-
border-radius: 10px;
-
margin-bottom: 10px;
-
color: #fff !important;
-
}
-
-
#projects-pane ul {
-
overflow-x: hidden;
-
overflow-y: scroll;
-
height: 100%;
-
padding-bottom: 20px;
-
}
-
-
a:hover .project-card {
-
border-color: rgb(0, 83, 104);
-
}
-
@keyframes textSpin {
0% {
transform: rotateY(0deg);
}
-
100% {
transform: rotateY(359deg);
}
···
from {
--animatedBorder: 0deg;
}
-
to {
--animatedBorder: 360deg;
}
···
+
/* ---------------------------------------------------
VARIABLES & PROPERTIES
+
--------------------------------------------------- */
+
@import url("https://fonts.googleapis.com/css2?family=Jua&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap");
:root {
--line: transparent;
--line-active: #ffffff;
--bg-gradient: linear-gradient(
45deg,
+
rgb(0, 29, 36),
rgb(0, 35, 44),
rgb(0, 29, 36)
);
+
--ring-center-x: 50%;
+
--ring-pattern: repeating-radial-gradient(
+
circle at var(--ring-center-x) center,
+
transparent 0px,
+
transparent 113px,
+
rgba(0, 27, 34, 0.3) 203px,
+
rgba(0, 74, 92, 0.136) 206px
+
);
+
+
transition: --ring-center-x 0.5s ease;
}
@property --animatedBorder {
···
initial-value: 0deg;
}
+
/* ---------------------------------------------------
+
GLOBAL STYLES
+
--------------------------------------------------- */
html,
body {
font-family: "Nunito Sans", sans-serif;
width: 100%;
height: 100%;
+
background: var(--ring-pattern), var(--bg-gradient);
+
background-blend-mode: normal;
}
+
:root:has(main#page.side) {
+
--ring-center-x: 35%;
+
}
+
+
a {
+
color: rgb(0, 151, 188) !important;
+
text-decoration: none;
+
}
+
+
a:hover .project-card {
+
border-color: rgb(0, 83, 104);
+
}
+
+
.unselectable {
+
user-select: none;
+
-webkit-user-select: none;
+
-moz-user-select: none;
+
-ms-user-select: none;
+
}
+
+
/* ---------------------------------------------------
+
PAGE LAYOUT
+
--------------------------------------------------- */
main#page {
position: absolute;
top: 50%;
left: 0;
width: 100%;
margin-top: -100px;
+
color: rgb(0, 151, 188);
transition: width 0.5s ease;
}
···
width: 70%;
}
+
/* ---------------------------------------------------
+
TEXT STYLES
+
--------------------------------------------------- */
h1 {
color: #fff;
+
margin-bottom: 0;
+
font-family: "Jua", sans-serif;
+
font-weight: 400;
+
font-style: normal;
font-size: 4rem;
}
h1.spin {
+
animation: textSpin 4.5s linear infinite;
position: relative;
}
···
content: "index" !important;
}
+
/* ---------------------------------------------------
+
PROJECTS SIDE PANE
+
--------------------------------------------------- */
+
#projects-pane {
+
position: absolute;
+
top: 0;
+
right: 0;
+
width: 30%;
+
height: 97%;
+
margin: 15px;
+
padding: 20px;
+
border-radius: 10px;
+
background: rgba(0, 23, 29, 0.48);
+
opacity: 0;
+
pointer-events: none;
+
visibility: hidden;
}
+
#projects-pane ul {
+
height: 100%;
+
padding-bottom: 20px;
+
overflow-y: scroll;
+
overflow-x: hidden;
+
scrollbar-width: none;
+
-ms-overflow-style: none;
+
}
+
#projects-pane ul::-webkit-scrollbar {
+
display: none;
+
}
+
.project-card {
+
background: rgba(0, 23, 29, 0.641);
+
border: 1px solid rgb(0, 44, 55);
+
padding: 10px;
+
border-radius: 10px;
+
margin-bottom: 10px;
+
color: #fff !important;
}
+
/* ---------------------------------------------------
+
NOW PLAYING WIDGET
+
--------------------------------------------------- */
+
#now-playing {
+
position: fixed;
+
bottom: 20px;
+
left: 20px;
+
display: flex;
+
align-items: center;
+
gap: 12px;
+
padding: 8px;
+
background-color: rgba(0, 0, 0, 0.271);
+
border-radius: 8px;
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
+
color: #fff;
+
text-align: left;
+
text-decoration: none;
+
width: 300px;
+
transition: opacity 0.2s, left 0.5s ease;
}
+
#now-playing img {
+
width: 64px;
+
height: 64px;
+
border-radius: 4px;
+
object-fit: cover;
+
}
+
#now-playing #content {
+
width: 100%;
}
+
/* ---------------------------------------------------
+
ANIMATED BORDER EFFECT
+
--------------------------------------------------- */
.animated-border::before,
.animated-border::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
+
transform: translate(-50%, -50%);
font-size: 70px;
z-index: 1;
background: conic-gradient(
from var(--animatedBorder),
transparent,
···
);
background-clip: text;
-webkit-text-fill-color: transparent;
+
animation: animatedBorder 3s linear infinite;
}
.animated-border::before {
···
opacity: 0.5;
}
+
/* ---------------------------------------------------
+
ANIMATIONS
+
--------------------------------------------------- */
@keyframes textSpin {
0% {
transform: rotateY(0deg);
}
100% {
transform: rotateY(359deg);
}
···
from {
--animatedBorder: 0deg;
}
to {
--animatedBorder: 360deg;
}
-1
src/assets/astro.svg
···
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" width="115" height="48"><path fill="#17191E" d="M7.77 36.35C6.4 35.11 6 32.51 6.57 30.62c.99 1.2 2.35 1.57 3.75 1.78 2.18.33 4.31.2 6.33-.78.23-.12.44-.27.7-.42.18.55.23 1.1.17 1.67a4.56 4.56 0 0 1-1.94 3.23c-.43.32-.9.61-1.34.91-1.38.94-1.76 2.03-1.24 3.62l.05.17a3.63 3.63 0 0 1-1.6-1.38 3.87 3.87 0 0 1-.63-2.1c0-.37 0-.74-.05-1.1-.13-.9-.55-1.3-1.33-1.32a1.56 1.56 0 0 0-1.63 1.26c0 .06-.03.12-.05.2Z"/><path fill="url(#a)" d="M7.77 36.35C6.4 35.11 6 32.51 6.57 30.62c.99 1.2 2.35 1.57 3.75 1.78 2.18.33 4.31.2 6.33-.78.23-.12.44-.27.7-.42.18.55.23 1.1.17 1.67a4.56 4.56 0 0 1-1.94 3.23c-.43.32-.9.61-1.34.91-1.38.94-1.76 2.03-1.24 3.62l.05.17a3.63 3.63 0 0 1-1.6-1.38 3.87 3.87 0 0 1-.63-2.1c0-.37 0-.74-.05-1.1-.13-.9-.55-1.3-1.33-1.32a1.56 1.56 0 0 0-1.63 1.26c0 .06-.03.12-.05.2Z"/><path fill="#17191E" d="M.02 30.31s4.02-1.95 8.05-1.95l3.04-9.4c.11-.45.44-.76.82-.76.37 0 .7.31.82.76l3.04 9.4c4.77 0 8.05 1.95 8.05 1.95L17 11.71c-.2-.56-.53-.91-.98-.91H7.83c-.44 0-.76.35-.97.9L.02 30.31Zm42.37-5.97c0 1.64-2.05 2.62-4.88 2.62-1.85 0-2.5-.45-2.5-1.41 0-1 .8-1.49 2.65-1.49 1.67 0 3.09.03 4.73.23v.05Zm.03-2.04a21.37 21.37 0 0 0-4.37-.36c-5.32 0-7.82 1.25-7.82 4.18 0 3.04 1.71 4.2 5.68 4.2 3.35 0 5.63-.84 6.46-2.92h.14c-.03.5-.05 1-.05 1.4 0 1.07.18 1.16 1.06 1.16h4.15a16.9 16.9 0 0 1-.36-4c0-1.67.06-2.93.06-4.62 0-3.45-2.07-5.64-8.56-5.64-2.8 0-5.9.48-8.26 1.19.22.93.54 2.83.7 4.06 2.04-.96 4.95-1.37 7.2-1.37 3.11 0 3.97.71 3.97 2.15v.57Zm11.37 3c-.56.07-1.33.07-2.12.07-.83 0-1.6-.03-2.12-.1l-.02.58c0 2.85 1.87 4.52 8.45 4.52 6.2 0 8.2-1.64 8.2-4.55 0-2.74-1.33-4.09-7.2-4.39-4.58-.2-4.99-.7-4.99-1.28 0-.66.59-1 3.65-1 3.18 0 4.03.43 4.03 1.35v.2a46.13 46.13 0 0 1 4.24.03l.02-.55c0-3.36-2.8-4.46-8.2-4.46-6.08 0-8.13 1.49-8.13 4.39 0 2.6 1.64 4.23 7.48 4.48 4.3.14 4.77.62 4.77 1.28 0 .7-.7 1.03-3.71 1.03-3.47 0-4.35-.48-4.35-1.47v-.13Zm19.82-12.05a17.5 17.5 0 0 1-6.24 3.48c.03.84.03 2.4.03 3.24l1.5.02c-.02 1.63-.04 3.6-.04 4.9 0 3.04 1.6 5.32 6.58 5.32 2.1 0 3.5-.23 5.23-.6a43.77 43.77 0 0 1-.46-4.13c-1.03.34-2.34.53-3.78.53-2 0-2.82-.55-2.82-2.13 0-1.37 0-2.65.03-3.84 2.57.02 5.13.07 6.64.11-.02-1.18.03-2.9.1-4.04-2.2.04-4.65.07-6.68.07l.07-2.93h-.16Zm13.46 6.04a767.33 767.33 0 0 1 .07-3.18H82.6c.07 1.96.07 3.98.07 6.92 0 2.95-.03 4.99-.07 6.93h5.18c-.09-1.37-.11-3.68-.11-5.65 0-3.1 1.26-4 4.12-4 1.33 0 2.28.16 3.1.46.03-1.16.26-3.43.4-4.43-.86-.25-1.81-.41-2.96-.41-2.46-.03-4.26.98-5.1 3.38l-.17-.02Zm22.55 3.65c0 2.5-1.8 3.66-4.64 3.66-2.81 0-4.61-1.1-4.61-3.66s1.82-3.52 4.61-3.52c2.82 0 4.64 1.03 4.64 3.52Zm4.71-.11c0-4.96-3.87-7.18-9.35-7.18-5.5 0-9.23 2.22-9.23 7.18 0 4.94 3.49 7.59 9.21 7.59 5.77 0 9.37-2.65 9.37-7.6Z"/><defs><linearGradient id="a" x1="6.33" x2="19.43" y1="40.8" y2="34.6" gradientUnits="userSpaceOnUse"><stop stop-color="#D83333"/><stop offset="1" stop-color="#F041FF"/></linearGradient></defs></svg>
···
-1
src/assets/background.svg
···
-
<svg xmlns="http://www.w3.org/2000/svg" width="1440" height="1024" fill="none"><path fill="url(#a)" fill-rule="evenodd" d="M-217.58 475.75c91.82-72.02 225.52-29.38 341.2-44.74C240 415.56 372.33 315.14 466.77 384.9c102.9 76.02 44.74 246.76 90.31 366.31 29.83 78.24 90.48 136.14 129.48 210.23 57.92 109.99 169.67 208.23 155.9 331.77-13.52 121.26-103.42 264.33-224.23 281.37-141.96 20.03-232.72-220.96-374.06-196.99-151.7 25.73-172.68 330.24-325.85 315.72-128.6-12.2-110.9-230.73-128.15-358.76-12.16-90.14 65.87-176.25 44.1-264.57-26.42-107.2-167.12-163.46-176.72-273.45-10.15-116.29 33.01-248.75 124.87-320.79Z" clip-rule="evenodd" style="opacity:.154"/><path fill="url(#b)" fill-rule="evenodd" d="M1103.43 115.43c146.42-19.45 275.33-155.84 413.5-103.59 188.09 71.13 409 212.64 407.06 413.88-1.94 201.25-259.28 278.6-414.96 405.96-130 106.35-240.24 294.39-405.6 265.3-163.7-28.8-161.93-274.12-284.34-386.66-134.95-124.06-436-101.46-445.82-284.6-9.68-180.38 247.41-246.3 413.54-316.9 101.01-42.93 207.83 21.06 316.62 6.61Z" clip-rule="evenodd" style="opacity:.154"/><defs><linearGradient id="b" x1="373" x2="1995.44" y1="1100" y2="118.03" gradientUnits="userSpaceOnUse"><stop stop-color="#D83333"/><stop offset="1" stop-color="#F041FF"/></linearGradient><linearGradient id="a" x1="107.37" x2="1130.66" y1="1993.35" y2="1026.31" gradientUnits="userSpaceOnUse"><stop stop-color="#3245FF"/><stop offset="1" stop-color="#BC52EE"/></linearGradient></defs></svg>
···
+1 -14
src/assets/crown.svg
···
-
<svg
-
width="24"
-
height="24"
-
viewBox="0 0 24 24"
-
fill="none"
-
xmlns="http://www.w3.org/2000/svg"
-
>
-
<path
-
fill-rule="evenodd"
-
clip-rule="evenodd"
-
d="M2.5 6.09143L7.21997 10.8114L12.0005 6.03088L16.7811 10.8114L21.5 6.09245V14.9691C21.5 16.626 20.1569 17.9691 18.5 17.9691H5.5C3.84314 17.9691 2.5 16.626 2.5 14.9691V6.09143ZM19.5 10.9087V14.9691C19.5 15.5214 19.0523 15.9691 18.5 15.9691H5.5C4.94771 15.9691 4.5 15.5214 4.5 14.9691V10.9077L7.21997 13.6277L12.0005 8.84717L16.7811 13.6277L19.5 10.9087Z"
-
fill="currentColor"
-
/>
-
</svg>
···
+
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 24 24"><path fill="#ffd700" d="M5 16L3 5l5.5 5L12 4l3.5 6L21 5l-2 11zm14 3c0 .6-.4 1-1 1H6c-.6 0-1-.4-1-1v-1h14z"/></svg>
-9
src/assets/favicon.svg
···
-
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 128 128">
-
<path d="M50.4 78.5a75.1 75.1 0 0 0-28.5 6.9l24.2-65.7c.7-2 1.9-3.2 3.4-3.2h29c1.5 0 2.7 1.2 3.4 3.2l24.2 65.7s-11.6-7-28.5-7L67 45.5c-.4-1.7-1.6-2.8-2.9-2.8-1.3 0-2.5 1.1-2.9 2.7L50.4 78.5Zm-1.1 28.2Zm-4.2-20.2c-2 6.6-.6 15.8 4.2 20.2a17.5 17.5 0 0 1 .2-.7 5.5 5.5 0 0 1 5.7-4.5c2.8.1 4.3 1.5 4.7 4.7.2 1.1.2 2.3.2 3.5v.4c0 2.7.7 5.2 2.2 7.4a13 13 0 0 0 5.7 4.9v-.3l-.2-.3c-1.8-5.6-.5-9.5 4.4-12.8l1.5-1a73 73 0 0 0 3.2-2.2 16 16 0 0 0 6.8-11.4c.3-2 .1-4-.6-6l-.8.6-1.6 1a37 37 0 0 1-22.4 2.7c-5-.7-9.7-2-13.2-6.2Z" />
-
<style>
-
path { fill: #000; }
-
@media (prefers-color-scheme: dark) {
-
path { fill: #FFF; }
-
}
-
</style>
-
</svg>
···
-25
src/components/Header.astro
···
-
<h1 class="animated-border unselectable spin">
-
<svg
-
width="24"
-
height="24"
-
viewBox="0 0 24 24"
-
fill="none"
-
xmlns="http://www.w3.org/2000/svg"
-
style="position: absolute; top: -5px; margin-left: -2px; transform: rotate(-10deg); color: gold;"
-
>
-
<path
-
fill-rule="evenodd"
-
clip-rule="evenodd"
-
d="M2.5 6.09143L7.21997 10.8114L12.0005 6.03088L16.7811 10.8114L21.5 6.09245V14.9691C21.5 16.626 20.1569 17.9691 18.5 17.9691H5.5C3.84314 17.9691 2.5 16.626 2.5 14.9691V6.09143ZM19.5 10.9087V14.9691C19.5 15.5214 19.0523 15.9691 18.5 15.9691H5.5C4.94771 15.9691 4.5 15.5214 4.5 14.9691V10.9077L7.21997 13.6277L12.0005 8.84717L16.7811 13.6277L19.5 10.9087Z"
-
fill="currentColor"></path>
-
</svg>
-
<span style="position: relative; z-index: 2;">index</span>
-
</h1>
-
<span style="display: block; margin-top: -5px;">hey, i'm index. have a great day ๐Ÿ‘‹</span>
-
<small style="display: block; margin-top: -5px;color: rgb(0, 84, 106);font-size: 0.8rem;">
-
i usually mess around in Typescript, and recently i've been exploring the
-
<a href="https://atproto.com/" target="_blank"><b>AT protocol</b>.</a>
-
</small>
-
<small style="display: block; margin-top: -5px;color: rgb(0, 84, 106);font-size: 0.8rem;">
-
i'm interested in making an open-source Goodreads alternative on the protocol :)
-
</small>
···
-27
src/components/ProjectCard.astro
···
-
---
-
interface Props {
-
title: string;
-
description: string;
-
date: string;
-
href: string;
-
note?: string;
-
}
-
-
const { title, description, date, href, note } = Astro.props;
-
---
-
-
<a href={href} target="_blank" class="text-reset">
-
<div class="project-card" style="color: #fff;">
-
<small class="text-muted">{date}</small>
-
<h4>{title}</h4>
-
{description}
-
{
-
note && (
-
<>
-
<br />
-
<small class="text-muted">{note}</small>
-
</>
-
)
-
}
-
</div>
-
</a>
···
-21
src/components/ProjectsPane.astro
···
-
---
-
import { projects } from "../data/projects";
-
import ProjectCard from "./ProjectCard.astro";
-
---
-
-
<section id="projects-pane" data-bs-theme="dark">
-
<h6
-
class="text-muted text-center"
-
style="text-transform: uppercase; letter-spacing: 5px;"
-
>
-
(SOME OF) MY PROJECTS
-
</h6>
-
-
<ul class="list-unstyled">
-
<li>
-
{projects.map((project) => (
-
<ProjectCard {...project} />
-
))}
-
</li>
-
</ul>
-
</section>
···
-30
src/components/SocialLink.astro
···
-
---
-
interface Props {
-
name: string;
-
href: string;
-
tooltip?: {
-
title: string;
-
placement?: string;
-
};
-
}
-
-
const { name, href, tooltip } = Astro.props;
-
---
-
-
<a
-
href={href}
-
target="_blank"
-
class="circle-hover"
-
{...tooltip && {
-
'data-bs-toggle': 'tooltip',
-
'data-bs-title': tooltip.title,
-
'data-bs-placement': tooltip.placement || 'bottom'
-
}}
-
>
-
<svg viewBox="0 0 70 36">
-
<path
-
d="M6.9739 30.8153H63.0244C65.5269 30.8152 75.5358 -3.68471 35.4998 2.81531C-16.1598 11.2025 0.894099 33.9766 26.9922 34.3153C104.062 35.3153 54.5169 -6.68469 23.489 9.31527"
-
></path>
-
</svg>
-
<span>{name}</span>
-
</a>
···
-28
src/components/SocialLinks.astro
···
-
---
-
import SocialLink from './SocialLink.astro';
-
-
const links = [
-
{
-
name: 'Bluesky',
-
href: 'https://bsky.app/profile/did:plc:sfjxpxxyvewb2zlxwoz2vduw'
-
},
-
{
-
name: 'Discord',
-
href: 'https://discord.com/users/589386198011871233',
-
tooltip: {
-
title: 'index.lua',
-
placement: "top"
-
}
-
},
-
{
-
name: 'GitHub',
-
href: 'https://github.com/indexxing/'
-
}
-
];
-
---
-
-
<ul class="d-flex mt-4 mb-1" style="padding: 0px; width: 50%; margin: auto; justify-content: space-evenly; flex-basis: 33%;">
-
{links.map(link => (
-
<SocialLink {...link} />
-
))}
-
</ul>
···
-76
src/components/Status.jsx
···
-
import { useEffect, useState } from "react";
-
const actorDid = import.meta.env.PUBLIC_ACTOR_DID;
-
-
if (!actorDid) {
-
console.error(
-
"PUBLIC_ACTOR_DID is not defined. Please check your .env file.",
-
);
-
}
-
-
export default function Status() {
-
const [data, setData] = useState(null);
-
const [error, setError] = useState(null);
-
-
useEffect(() => {
-
console.log("gettin dat damn sattus directly from bsky");
-
const fetchStatus = async () => {
-
if (!actorDid) {
-
setError("Configuration error: Actor DID is missing.");
-
return;
-
}
-
try {
-
const res = await fetch(
-
`https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=${actorDid}&limit=1&filter=posts_no_replies`,
-
);
-
if (!res.ok) throw new Error(`HTTP ${res.status}`);
-
-
const json = await res.json();
-
const latestPost = json.feed[0].post;
-
-
const status = {
-
text: latestPost.record.text,
-
createdAt: latestPost.record.createdAt,
-
link: `https://bsky.app/profile/${actorDid}/post/${
-
latestPost.uri.split("/")[4]
-
}`,
-
};
-
setData(status);
-
} catch (err) {
-
console.error("Fetch failed:", err);
-
setError(err.message);
-
}
-
};
-
-
fetchStatus();
-
}, [actorDid]);
-
-
if (error) return <span>Error: {error}</span>;
-
if (!data) return <span>Loading status...</span>;
-
-
const date = new Date(data.createdAt);
-
const now = new Date();
-
const diff = now.getTime() - date.getTime();
-
-
const minutes = Math.floor(diff / 60000);
-
const hours = Math.floor(minutes / 60);
-
const days = Math.floor(hours / 24);
-
-
let timeAgo = "just now";
-
if (days > 0) timeAgo = `${days} days ago`;
-
else if (hours > 0) timeAgo = `${hours} hours ago`;
-
else if (minutes > 0) timeAgo = `${minutes} minutes ago`;
-
-
const oldStatusClasses = days > 3
-
? "opacity-75 text-decoration-line-through"
-
: "";
-
-
return (
-
<a
-
href={data.link}
-
target="_blank"
-
className={`badge bg-white ${oldStatusClasses}`}
-
>
-
Index is.. "{data.text}", {timeAgo}
-
</a>
-
);
-
}
···
+27
src/components/astro/Header.astro
···
···
+
<section id="header">
+
<h1 class="animated-border unselectable spin">
+
<svg
+
xmlns="http://www.w3.org/2000/svg"
+
width="24"
+
height="24"
+
viewBox="0 0 24 24"
+
style="position: absolute; top: -5px; margin-left: -7px; transform: rotate(-10deg); z-index: 2000;"
+
><path
+
fill="gold"
+
d="M5 16 3 5l5.5 5L12 4l3.5 6L21 5l-2 11zm14 3c0 .6-.4 1-1 1H6c-.6 0-1-.4-1-1v-1h14z"
+
></path></svg
+
>
+
<span style="position: relative; z-index: 2;">index</span>
+
</h1>
+
<span style="display: block; margin-top: -5px;"
+
>hey, i'm index. have a great day ๐Ÿ‘‹</span
+
>
+
<span style="display: block; margin-top: -5px;"
+
>i do stuff in typescript sometimes</span
+
>
+
<small
+
style="display: block; margin-top: -5px;margin-bottom:10px;color: rgb(0, 84, 106);font-size: 0.9rem;"
+
>
+
he/him
+
</small>
+
</section>
+27
src/components/astro/ProjectCard.astro
···
···
+
---
+
interface Props {
+
title: string;
+
description: string;
+
date: string;
+
href: string;
+
note?: string;
+
}
+
+
const { title, description, date, href, note } = Astro.props;
+
---
+
+
<a href={href} target="_blank" class="text-reset">
+
<div class="project-card" style="color: #fff;">
+
<small class="text-muted">{date}</small>
+
<h4>{title}</h4>
+
{description}
+
{
+
note && (
+
<>
+
<br />
+
<small class="text-muted">{note}</small>
+
</>
+
)
+
}
+
</div>
+
</a>
+43
src/components/astro/SocialLink.astro
···
···
+
---
+
import type { JSX } from "astro/jsx-runtime";
+
+
interface Props {
+
icon?: any;
+
name: string;
+
href: string;
+
tooltip?: {
+
title: string;
+
placement?: string;
+
};
+
rel?: string;
+
}
+
+
const { icon, name, href, tooltip, rel } = Astro.props;
+
+
const Icon = icon;
+
---
+
+
<a
+
rel={rel}
+
href={href}
+
target="_blank"
+
{...tooltip && {
+
"data-bs-toggle": "tooltip",
+
"data-bs-title": tooltip.title,
+
"data-bs-placement": tooltip.placement || "bottom",
+
}}
+
>
+
<span class="icon-hover">
+
{Icon ? <Icon style="width: 35px; height: 35px;" /> : name}
+
</span>
+
</a>
+
+
<style>
+
.icon-hover {
+
display: inline-block;
+
transition: transform 0.2s ease;
+
}
+
a:hover .icon-hover {
+
transform: scale(1.12);
+
}
+
</style>
+35
src/components/astro/SocialLinks.astro
···
···
+
---
+
import Bluesky from "../icons/Bluesky.astro";
+
import Discord from "../icons/Discord.astro";
+
import SocialLink from "./SocialLink.astro";
+
import Tangled from "../icons/Tangled.astro";
+
+
const links = [
+
{
+
icon: Bluesky,
+
name: "Bluesky",
+
href: "https://bsky.app/profile/did:plc:sfjxpxxyvewb2zlxwoz2vduw",
+
},
+
{
+
icon: Discord,
+
name: "Discord",
+
href: "https://discord.com/users/589386198011871233",
+
tooltip: {
+
title: "index.lua",
+
placement: "top",
+
},
+
},
+
{
+
icon: Tangled,
+
name: "Tangled",
+
href: "https://tangled.org/@indexx.dev",
+
},
+
];
+
---
+
+
<ul
+
class="d-flex mt-3 mb-3"
+
style="padding: 0px; width: 50%; margin: auto; justify-content: center; gap: 20px;"
+
>
+
{links.map((link) => <SocialLink {...link} />)}
+
</ul>
+6
src/components/icons/Bluesky.astro
···
···
+
---
+
const props = Astro.props
+
---
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" {...props}>
+
<path fill="#a4ccff" d="M12 11.388c-.906-1.761-3.372-5.044-5.665-6.662c-2.197-1.55-3.034-1.283-3.583-1.033C2.116 3.978 2 4.955 2 5.528c0 .575.315 4.709.52 5.4c.68 2.28 3.094 3.05 5.32 2.803c-3.26.483-6.157 1.67-2.36 5.898c4.178 4.325 5.726-.927 6.52-3.59c.794 2.663 1.708 7.726 6.444 3.59c3.556-3.59.977-5.415-2.283-5.898c2.225.247 4.64-.523 5.319-2.803c.205-.69.52-4.825.52-5.399c0-.575-.116-1.55-.752-1.838c-.549-.248-1.386-.517-3.583 1.033c-2.293 1.621-4.76 4.904-5.665 6.664" />
+
</svg>
+31
src/components/icons/Book.astro
···
···
+
---
+
const props = Astro.props;
+
---
+
+
<svg
+
xmlns="http://www.w3.org/2000/svg"
+
width="24"
+
height="24"
+
viewBox="0 0 24 24"
+
{...props}
+
>
+
<g fill="none">
+
<rect
+
width="16"
+
height="18"
+
x="4"
+
y="3"
+
fill="currentColor"
+
fill-opacity="0.25"
+
rx="2"></rect>
+
<path
+
stroke="currentColor"
+
stroke-linecap="round"
+
d="M8.5 6.5h7m-7 3h4m-4 3h6"
+
stroke-width="1"></path>
+
<path
+
fill="currentColor"
+
d="M4 19a2 2 0 0 1 2-2h11c.932 0 1.398 0 1.765-.152a2 2 0 0 0 1.083-1.083C20 15.398 20 14.932 20 14v3c0 1.886 0 2.828-.586 3.414S17.886 21 16 21H6a2 2 0 0 1-2-2"
+
></path>
+
</g>
+
</svg>
+6
src/components/icons/Discord.astro
···
···
+
---
+
const props = Astro.props
+
---
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" {...props}>
+
<path fill="#a4ccff" d="M19.27 5.33C17.94 4.71 16.5 4.26 15 4a.1.1 0 0 0-.07.03c-.18.33-.39.76-.53 1.09a16.1 16.1 0 0 0-4.8 0c-.14-.34-.35-.76-.54-1.09c-.01-.02-.04-.03-.07-.03c-1.5.26-2.93.71-4.27 1.33c-.01 0-.02.01-.03.02c-2.72 4.07-3.47 8.03-3.1 11.95c0 .02.01.04.03.05c1.8 1.32 3.53 2.12 5.24 2.65c.03.01.06 0 .07-.02c.4-.55.76-1.13 1.07-1.74c.02-.04 0-.08-.04-.09c-.57-.22-1.11-.48-1.64-.78c-.04-.02-.04-.08-.01-.11c.11-.08.22-.17.33-.25c.02-.02.05-.02.07-.01c3.44 1.57 7.15 1.57 10.55 0c.02-.01.05-.01.07.01c.11.09.22.17.33.26c.04.03.04.09-.01.11c-.52.31-1.07.56-1.64.78c-.04.01-.05.06-.04.09c.32.61.68 1.19 1.07 1.74c.03.01.06.02.09.01c1.72-.53 3.45-1.33 5.25-2.65c.02-.01.03-.03.03-.05c.44-4.53-.73-8.46-3.1-11.95c-.01-.01-.02-.02-.04-.02M8.52 14.91c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.84 2.12-1.89 2.12m6.97 0c-1.03 0-1.89-.95-1.89-2.12s.84-2.12 1.89-2.12c1.06 0 1.9.96 1.89 2.12c0 1.17-.83 2.12-1.89 2.12" />
+
</svg>
+6
src/components/icons/Github.astro
···
···
+
---
+
const props = Astro.props
+
---
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" {...props}>
+
<path fill="#a4ccff" d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2" />
+
</svg>
+6
src/components/icons/Lastfm.astro
···
···
+
---
+
const props = Astro.props
+
---
+
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" {...props}>
+
<path fill="#a4ccff" d="m225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5c0-72.1 36.4-97.9 72.1-97.9c66.5 0 74.8 53.3 100.9 134.9c18.8 56.9 54 102.6 155.4 102.6c72.7 0 122-22.3 122-80.9c0-72.9-62.7-80.6-115-92.1c-25.8-5.9-33.4-16.4-33.4-34c0-19.9 15.8-31.7 41.6-31.7c28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5c-52.8 0-104.4 19.9-104.4 83.9c0 39.9 19.4 65.1 68 76.8c44.9 10.6 79.8 13.8 79.8 45.7c0 21.7-21.1 30.5-61 30.5c-59.2 0-83.9-31.1-97.9-73.9c-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2c66.2 0 97.9-31.1 97.9-31.1" />
+
</svg>
+6
src/components/icons/Mastodon.astro
···
···
+
---
+
const props = Astro.props
+
---
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" {...props}>
+
<path fill="#a4ccff" d="M20.94 14c-.28 1.41-2.44 2.96-4.97 3.26c-1.31.15-2.6.3-3.97.24c-2.25-.11-4-.54-4-.54v.62c.32 2.22 2.22 2.35 4.03 2.42c1.82.05 3.44-.46 3.44-.46l.08 1.65s-1.28.68-3.55.81c-1.25.07-2.81-.03-4.62-.5c-3.92-1.05-4.6-5.24-4.7-9.5l-.01-3.43c0-4.34 2.83-5.61 2.83-5.61C6.95 2.3 9.41 2 11.97 2h.06c2.56 0 5.02.3 6.47.96c0 0 2.83 1.27 2.83 5.61c0 0 .04 3.21-.39 5.43M18 8.91c0-1.08-.3-1.91-.85-2.56c-.56-.63-1.3-.96-2.23-.96c-1.06 0-1.87.41-2.42 1.23l-.5.88l-.5-.88c-.56-.82-1.36-1.23-2.43-1.23c-.92 0-1.66.33-2.23.96C6.29 7 6 7.83 6 8.91v5.26h2.1V9.06c0-1.06.45-1.62 1.36-1.62c1 0 1.5.65 1.5 1.93v2.79h2.07V9.37c0-1.28.5-1.93 1.51-1.93c.9 0 1.35.56 1.35 1.62v5.11H18z" />
+
</svg>
+18
src/components/icons/Tangled.astro
···
···
+
---
+
const props = Astro.props;
+
---
+
+
<svg
+
xmlns="http://www.w3.org/2000/svg"
+
width="35"
+
height="35"
+
viewBox="0 0 35 34"
+
{...props}
+
><path
+
style="stroke:none;fill-rule:nonzero;fill:rgb(164 204 255);fill-opacity:1"
+
d="M24 2.273q.083.036.164.079c.598.277 1.106.636 1.61 1.058q.046.035.093.074c.258.207.453.454.66.711l.094.114c.586.695 1.078 1.632 1.219 2.53.035.204.074.38.195.548.121.07.242.113.375.16.184.066.348.152.516.246a6.5 6.5 0 0 1 .84.555l.132.086v.09c.028.007.051.019.079.03.304.165.554.446.765.712v.086h.09c.004.043.004.043.012.085l.031.09q.063.022.133.043c.086.114.086.114.176.262.023.04.023.04.05.078.297.477.555.942.739 1.473.027.078.054.156.09.234.097.246.148.488.19.75q.014.066.024.137c.086.516.114 1.02.09 1.543q.001.051-.004.11a3.6 3.6 0 0 1-.113.702c-.02.098-.04.2-.062.297-.063.29-.145.563-.25.84-.016.04-.028.082-.047.125-.594 1.492-1.79 2.77-3.235 3.5h-.09v.176h.09a9.4 9.4 0 0 1 .492 1.59c.008.047.02.093.028.14a1.2 1.2 0 0 0 .144.41c.02.086.035.168.047.254.024.149.047.286.09.426.281 1.016.121 2.317-.223 3.297l-.023.09c-.137.512-.422.984-.688 1.441h-.09c-.007.032-.019.059-.03.09a2 2 0 0 1-.278.426c-.02.027-.04.05-.062.078q-.078.098-.16.191h-.09l-.032.075a1.4 1.4 0 0 1-.277.32l-.113.117a.8.8 0 0 1-.286.188v.09c-.226.203-.5.355-.761.507a1 1 0 0 1-.102.063c-.46.273-.46.273-.707.344-.125.035-.207.07-.32.128-.211.106-.43.157-.66.211a1 1 0 0 0-.121.028 4.4 4.4 0 0 1-1.102.113q-.054-.005-.11-.004l-.23-.008-.355-.007-.227-.008h-.105c-.246-.008-.246-.008-.348-.059q-.13-.017-.266-.027l-.164-.016-.34-.031c-.304-.031-.585-.07-.87-.188a3 3 0 0 1-.165-.066c-.14-.062-.273-.129-.414-.195-.058-.028-.12-.051-.183-.078-.703-.305-1.336-.856-1.856-1.407v-.09h-.09v-.085h-.086a4 4 0 0 1-.171-.223c-.032-.047-.067-.09-.098-.137a16 16 0 0 1-.484-.734l-.13.101-.07.059c-.078.062-.078.062-.156.191h-.09q-.018.037-.035.078c-.27.477-1 .844-1.473 1.102l-.078.047a3 3 0 0 1-.625.254 3 3 0 0 0-.617.246c-.254.133-.52.168-.797.215-.136.008-.136.008-.191.066q-.197.017-.39.027c-.06 0-.06 0-.118.004-.527.024-1.023.036-1.531-.117a9 9 0 0 0-.317-.066c-.082-.02-.082-.02-.129-.067q-.134-.016-.273-.03c-.34-.048-.805-.114-1.055-.36-.082-.035-.082-.035-.168-.063-.656-.218-1.308-.777-1.785-1.25-.047-.047-.047-.047-.097-.093a4.5 4.5 0 0 1-.614-.692v-.09h-.086c-.05-.058-.05-.058-.101-.144l-.059-.098-.062-.105-.07-.11a4 4 0 0 1-.329-.633 2 2 0 0 1-.05-.117c-.567-1.304-.676-2.601-.438-3.992l.023-.152c.036-.203.079-.387.157-.578.054-.133.097-.266.144-.399a4.7 4.7 0 0 1 .387-.793q.064-.134.133-.262l-.067-.039c-1.054-.644-2.086-1.46-2.672-2.562q-.07-.128-.148-.262c-.188-.32-.313-.68-.441-1.027-.024-.05-.043-.102-.067-.156a3.6 3.6 0 0 1-.16-.676l-.023-.133a7.3 7.3 0 0 1-.09-1.547q-.001-.053.004-.105a3.5 3.5 0 0 1 .113-.703l.031-.153c.277-1.379.988-2.543 2.008-3.52.027-.027.05-.054.078-.077l.082-.086c.024-.028.05-.051.074-.079.078-.062.078-.062.172-.085l.082-.024.047-.129c.152-.117.32-.21.488-.308l.141-.082c.227-.137.445-.258.695-.348.48-.156.48-.156.793-.524l.102-.27c.371-.647.863-1.327 1.46-1.788.048-.04.048-.04.095-.074.085-.059.085-.059.171-.059q.017-.036.028-.074c.09-.145.222-.238.375-.32h.133v-.086a5.8 5.8 0 0 1 2.304-.918l.102-.024c.36-.082.726-.094 1.098-.11l.144-.003a6.9 6.9 0 0 1 2.16.312c.047.012.09.028.137.04.32.105.613.257.91.41.148.074.148.074.285.117q.042-.04.082-.086c1.164-1.137 1.164-1.137 1.649-1.137V2.45l.277-.125q.122-.052.238-.105a6.3 6.3 0 0 1 1.88-.469l.171-.023c1.129-.141 2.36.043 3.379.546m-5.191 8.04c-.016.039-.036.078-.051.117a1.7 1.7 0 0 1-.203.289c-.11.105-.11.105-.102.207-.039.015-.039.015-.078.035-.098.05-.176.11-.258.18a1.4 1.4 0 0 1-.531.238c-.11.023-.11.023-.211.074-.418.145-.91.05-1.305-.105a2.4 2.4 0 0 1-.843-.664.9.9 0 0 0-.235-.196h-.086c-.054.063-.105.13-.156.192-.11.113-.234.183-.371.258-.04.019-.04.019-.078.042-.32.176-.606.223-.961.223-.04 0-.074 0-.113-.004a1.9 1.9 0 0 1-.762-.144c-.156.148-.3.289-.414.472-.13.184-.305.223-.516.274v.086q-.051.018-.098.031c-.23.102-.382.258-.535.45l-.093.112a.6.6 0 0 0-.118.282h-.09a3 3 0 0 0-.152.25c-.144.258-.144.258-.226.36-.086.116-.145.237-.207.362l-.043.082c-.11.22-.211.438-.317.66q-.147.31-.3.614-.178.339-.336.695c-.047.094-.09.188-.137.277a4 4 0 0 0-.367 1.024l-.028.152c-.05.57-.015 1.094.371 1.555.262.262.536.422.91.437.45-.007.778-.097 1.145-.351.05-.031.106-.067.16-.098.035-.027.07-.05.106-.078v-.086q.045-.016.097-.031c.13-.05.13-.05.23-.164a1.3 1.3 0 0 1 .38-.242l.047-.086c.09-.028.09-.028.175-.043l.008.125c.043.976.14 1.941.39 2.887l.048.18c.09.343.218.648.398.956.04.067.04.067.074.137.227.367.508.582.856.824l.117.094c.648.496 1.563.527 2.348.45.324-.048.64-.145.953-.235v-.09q.175-.04.355-.086v-.086l.117-.035a1.1 1.1 0 0 0 .372-.227q.04-.04.082-.074.257-.214.492-.453.04-.034.082-.074c.062-.055.062-.055.05-.145q.07-.019.133-.043.093-.128.18-.261l.078-.098c.063-.074.063-.074.055-.164h.09a7 7 0 0 0 .261-.356c.192-.265.368-.543.536-.824l.07-.117c.121-.191.121-.191.152-.406h.09c.137-.254.246-.5.324-.778.028-.097.07-.183.117-.273h.09a1 1 0 0 1 .22.328c.062.145.151.223.269.328q.053.051.105.11c.363.347.695.55 1.215.554.434-.008.7-.074 1.031-.36l.094-.073c.172-.211.305-.442.305-.711h.09a6.8 6.8 0 0 0-.07-2.93q-.028-.13-.044-.254c-.012-.144-.012-.144-.11-.27q-.033-.129-.062-.265a3.3 3.3 0 0 0-.21-.64 2 2 0 0 1-.083-.317h-.09c-.003-.027-.011-.05-.015-.074l-.024-.098-.02-.098c-.023-.09-.023-.09-.116-.125a5 5 0 0 1-.09-.261h-.09c-.008-.04-.02-.078-.027-.118-.07-.175-.16-.242-.305-.363-.312-.3-.297-.629-.316-1.035-.028-.512-.274-.89-.594-1.281-.02-.028-.04-.051-.059-.078a1.6 1.6 0 0 0-.515-.446c-.125-.011-.125-.011-.223.043l-.09.086c-.078.028-.16.047-.242.067a1.1 1.1 0 0 0-.379.152c-.664.066-1.219-.055-1.773-.437m0 0"
+
></path><path
+
style="stroke:none;fill-rule:nonzero;fill:rgb(164 204 255);fill-opacity:1"
+
d="M18.207 14q.063.001.125.008c.125.02.227.058.344.11v.085h.09v.086l.132.047c.153.195.204.41.196.652a7 7 0 0 1-.242 1.035c-.067.254-.075.516-.09.774a8 8 0 0 0-.02.308l-.012.137c-.011.11-.011.11-.054.195-.008.098-.008.196-.012.293l-.004.18q-.005.141-.004.281c-.02.891-.02.891-.304 1.188-.254.226-.508.289-.848.285-.3-.078-.531-.23-.692-.496a1.2 1.2 0 0 1-.132-.55c-.004-.075-.004-.075-.004-.153-.004-.399.015-.797.043-1.195l.015-.293c.047-.813.047-.813.121-1.114l.032-.175a1 1 0 0 1 .015-.102l.032-.207a3 3 0 0 1 .187-.652l.047-.13h.09q.001-.05.008-.097c.058-.203.191-.29.367-.39a.87.87 0 0 1 .574-.11m-3.383.367c.242.164.39.34.48.621.048.297-.042.551-.136.832a2.3 2.3 0 0 0-.086.438c-.023.043-.023.043-.043.086-.012.168-.008.336-.008.508-.004.066-.004.066-.004.136 0 .25.016.473.078.711.082.348.047.73-.113 1.051-.172.266-.387.39-.695.457a.98.98 0 0 1-.723-.152c-.277-.223-.418-.543-.46-.887a8 8 0 0 1-.024-.422 7 7 0 0 0-.02-.277 8.5 8.5 0 0 1 .004-1.262l.012-.148c.023-.29.07-.54.176-.809q.022-.054.039-.113c.062-.188.125-.371.23-.54l.133-.046v-.086c.352-.258.77-.32 1.16-.098m5.716 15.699h.44v.086h.223v.09q-.118-.005-.23-.015c-.043 0-.09-.004-.133-.008-.125-.02-.125-.02-.3-.153m-7.587-.347q.064.018.133.043-.063.042-.133.086zm0 0"
+
></path></svg
+
>
+80
src/components/jsx/AudioVisualizer.jsx
···
···
+
import React from "react";
+
+
const BAR_COUNT = 15;
+
const BAR_ANIMATION_DELAYS = [
+
"0.3s",
+
"0.7s",
+
"0.1s",
+
"0.9s",
+
"0.4s",
+
"0.2s",
+
"0.8s",
+
"0.5s",
+
"0s",
+
"0.6s",
+
"0.3s",
+
"0.9s",
+
"0.1s",
+
"0.7s",
+
"0.4s",
+
];
+
+
export default function AudioVisualizer({ isSilent = false }) {
+
// Define the base animation style
+
const activeAnimation = "wave 2.5s ease-in-out infinite";
+
+
// Define the style for the silent state (dots)
+
const silentStyle = {
+
animation: "none",
+
height: "5px",
+
};
+
+
return (
+
<div className="visualizer">
+
{Array(BAR_COUNT).fill(0).map((_, index) => {
+
// Determine the specific style for each bar
+
const barStyle = isSilent
+
? silentStyle // If silent, use the fixed dot style
+
: { // If not silent, use the full animation with its unique delay
+
animation: activeAnimation,
+
animationDelay: BAR_ANIMATION_DELAYS[index],
+
};
+
+
return (
+
<div
+
key={index}
+
className="bar"
+
style={barStyle} // Apply the determined style object
+
>
+
</div>
+
);
+
})}
+
+
<style jsx>
+
{`
+
.visualizer {
+
display: flex;
+
align-items: center;
+
gap: 1px;
+
height: 50px;
+
}
+
+
.bar {
+
width: 2px;
+
background: rgb(0, 151, 188);
+
border-radius: 1px;
+
}
+
+
@keyframes wave {
+
0%, 100% {
+
height: 5px;
+
}
+
50% {
+
height: 30px;
+
}
+
}
+
`}
+
</style>
+
</div>
+
);
+
}
+95
src/components/jsx/Lastfm.jsx
···
···
+
import { useEffect, useState } from "react";
+
import AudioVisualizer from "./AudioVisualizer";
+
+
export default function Lastfm() {
+
const [data, setData] = useState(null);
+
const [error, setError] = useState(null);
+
+
useEffect(() => {
+
const fetchLastfmData = async () => {
+
try {
+
const res = await fetch(
+
"https://workers.indexx.dev/misc/lastfm",
+
);
+
if (!res.ok) throw new Error(`HTTP ${res.status}`);
+
+
const json = await res.json();
+
const status = {
+
song: json.track,
+
artist: json.artist,
+
albumArt: json.cover,
+
createdAt: json.createdAt,
+
link: json.url,
+
nowPlaying: !json.createdAt,
+
};
+
setData(status);
+
} catch (err) {
+
console.error("Fetch failed:", err);
+
setError(err.message);
+
}
+
};
+
+
fetchLastfmData();
+
}, []);
+
+
if (error || !data) return null;
+
+
let timeAgo = "";
+
let oldStatusClasses = "";
+
+
if (!data.nowPlaying && data.createdAt) {
+
const date = new Date(data.createdAt);
+
const now = new Date();
+
const diff = now.getTime() - date.getTime();
+
+
const minutes = Math.floor(diff / 60000);
+
const hours = Math.floor(minutes / 60);
+
const days = Math.floor(hours / 24);
+
+
if (days > 0) timeAgo = `${days} days ago`;
+
else if (hours > 0) timeAgo = `${hours} hours ago`;
+
else if (minutes > 0) timeAgo = `${minutes} minutes ago`;
+
else timeAgo = "just now";
+
+
if (days == 1) timeAgo = "1 day ago";
+
+
oldStatusClasses = days > 3
+
? "opacity-75 text-decoration-line-through"
+
: "";
+
}
+
+
return (
+
<a
+
id="now-playing"
+
href={data.link}
+
target="_blank"
+
className={oldStatusClasses}
+
>
+
<AudioVisualizer isSilent={!data.nowPlaying} />
+
<div
+
style={{
+
display: "flex",
+
flexDirection: "column",
+
gap: "2px",
+
width: "100%",
+
}}
+
>
+
<div style={{ fontWeight: "bold" }}>{data.song}</div>
+
<div style={{ fontSize: "0.9em", marginTop: "-5px" }}>
+
{data.artist}
+
</div>
+
<div
+
style={{
+
fontSize: "0.8em",
+
opacity: 0.7,
+
marginTop: "-5px",
+
}}
+
>
+
<small style={{ fontSize: "0.7rem" }}>
+
^ what I'm listening (or last listened) to
+
</small>
+
</div>
+
</div>
+
</a>
+
);
+
}
+78
src/components/jsx/ProjectsPane.jsx
···
···
+
import { useEffect, useState } from "react";
+
+
export default function NowPlaying() {
+
const [data, setData] = useState(null);
+
const [error, setError] = useState(null);
+
+
useEffect(() => {
+
const fetchProjectData = async () => {
+
try {
+
const res = await fetch(
+
"https://pds.indexx.dev/xrpc/com.atproto.repo.listRecords?repo=did%3Aplc%3Asfjxpxxyvewb2zlxwoz2vduw&collection=dev.indexx.www.project&limit=100&reverse=false",
+
);
+
if (!res.ok) throw new Error(`HTTP ${res.status}`);
+
+
const data = await res.json();
+
const projects = data.records.map((record) => record.value);
+
+
setData(projects.map((project) => ({
+
title: project.name,
+
description: project.description,
+
date: project.dateLabel,
+
href: project.url,
+
note: project.note ?? "",
+
})));
+
} catch (err) {
+
console.error("Fetch failed:", err);
+
setError(err.message);
+
}
+
};
+
+
fetchProjectData();
+
}, []);
+
+
if (error) return <span>Error: {error}</span>;
+
if (!data) return null;
+
+
return (
+
<section id="projects-pane" data-bs-theme="dark">
+
<h6
+
className="text-muted text-center"
+
style={{ textTransform: "uppercase", letterSpacing: "5px" }}
+
>
+
My Recent Projects
+
</h6>
+
+
<ul className="list-unstyled">
+
{data.map((project) => (
+
<li>
+
<a
+
href={project.href}
+
target="_blank"
+
className="text-reset"
+
>
+
<div
+
className="project-card"
+
style={{ color: "#fff" }}
+
>
+
<small className="text-muted">
+
{project.date}
+
</small>
+
<h4>{project.title}</h4>
+
{project.description}
+
{project.note && (
+
<>
+
<br />
+
<small className="text-muted">
+
{project.note}
+
</small>
+
</>
+
)}
+
</div>
+
</a>
+
</li>
+
))}
+
</ul>
+
</section>
+
);
+
}
+109
src/components/jsx/Status.jsx
···
···
+
import { useEffect, useState } from "react";
+
const actorDid = import.meta.env.PUBLIC_ACTOR_DID;
+
+
if (!actorDid) {
+
console.error(
+
"PUBLIC_ACTOR_DID is not defined. Please check your .env file.",
+
);
+
}
+
+
export default function Status() {
+
const [data, setData] = useState(null);
+
const [error, setError] = useState(null);
+
+
useEffect(() => {
+
const fetchStatus = async () => {
+
if (!actorDid) {
+
setError("Configuration error: Actor DID is missing.");
+
return;
+
}
+
try {
+
const res = await fetch(
+
`https://public.api.bsky.app/xrpc/app.bsky.feed.getAuthorFeed?actor=${actorDid}&limit=1&filter=posts_no_replies`,
+
);
+
if (!res.ok) throw new Error(`HTTP ${res.status}`);
+
+
const json = await res.json();
+
const latestPost = json.feed[0].post;
+
+
const status = {
+
text: latestPost.record.text,
+
createdAt: latestPost.record.createdAt,
+
link: `https://bsky.app/profile/${actorDid}/post/${
+
latestPost.uri.split("/")[4]
+
}`,
+
};
+
setData(status);
+
} catch (err) {
+
console.error("Fetch failed:", err);
+
setError(err.message);
+
}
+
};
+
+
fetchStatus();
+
}, [actorDid]);
+
+
if (error) {
+
return (
+
<span
+
className="badge bg-dark"
+
style={{
+
color: "#595959 !important",
+
//outline: "1px solid white",
+
//outlineOffset: "1px",
+
}}
+
>
+
Error: {error}
+
</span>
+
);
+
}
+
if (!data) {
+
return (
+
<span
+
className="badge bg-dark"
+
style={{
+
color: "#595959 !important",
+
//outline: "1px solid white",
+
//outlineOffset: "1px",
+
}}
+
>
+
Loading status...
+
</span>
+
);
+
}
+
+
const date = new Date(data.createdAt);
+
const now = new Date();
+
const diff = now.getTime() - date.getTime();
+
+
const days = Math.floor(diff / (1000 * 60 * 60 * 24));
+
+
if (days >= 2) {
+
return null;
+
}
+
+
const minutes = Math.floor(diff / 60000);
+
const hours = Math.floor(minutes / 60);
+
+
let timeAgo = "just now";
+
if (days > 0) timeAgo = `${days} days ago`;
+
else if (hours > 0) timeAgo = `${hours} hours ago`;
+
else if (minutes > 0) timeAgo = `${minutes} minutes ago`;
+
+
if (days == 1) timeAgo = "1 day ago";
+
+
const oldStatusClasses = days >= 1
+
? "opacity-75 text-decoration-line-through"
+
: "";
+
+
return (
+
<a
+
href={data.link}
+
target="_blank"
+
className={`badge bg-white ${oldStatusClasses}`}
+
//style={{ outline: "1px solid white", outlineOffset: "1px" }}
+
>
+
I'm.. "{data.text}", {timeAgo}
+
</a>
+
);
+
}
+154
src/components/jsx/Tealfm.jsx
···
···
+
import { useEffect, useState } from "react";
+
import AudioVisualizer from "./AudioVisualizer";
+
+
export default function Tealfm() {
+
const [data, setData] = useState(null);
+
const [error, setError] = useState(null);
+
const [isCurrentlyPlaying, setIsCurrentlyPlaying] = useState(false);
+
+
useEffect(() => {
+
const fetchStatus = async () => {
+
const repo = "did:plc:sfjxpxxyvewb2zlxwoz2vduw";
+
const statusCollection = "fm.teal.alpha.actor.status";
+
const lastPlayedCollection = "fm.teal.alpha.feed.play";
+
+
try {
+
const statusUrl =
+
`https://pds.indexx.dev/xrpc/com.atproto.repo.getRecord?repo=${repo}&collection=${statusCollection}&rkey=self`;
+
const statusRes = await fetch(statusUrl);
+
+
if (!statusRes.ok) {
+
throw new Error(`HTTP ${statusRes.status} on status fetch`);
+
}
+
+
const statusData = await statusRes.json();
+
const statusValue = statusData?.value;
+
const nowTimestamp = Math.floor(Date.now() / 1000);
+
+
const isExpired = statusValue?.expiry &&
+
nowTimestamp > parseInt(statusValue.expiry, 10);
+
const isItemEmpty = !statusValue?.item?.trackName;
+
+
let status;
+
+
if (statusValue && !isExpired && !isItemEmpty) {
+
const latest = statusValue.item;
+
+
status = {
+
song: latest.trackName,
+
artist: latest.artists.map((artist) =>
+
artist.artistName
+
).join(", "),
+
createdAt: parseInt(statusValue.time, 10) * 1000,
+
link: latest.originUrl ?? "",
+
};
+
setData(status);
+
setIsCurrentlyPlaying(true);
+
return;
+
}
+
+
console.log(
+
"Status expired or empty. Falling back to last played record.",
+
);
+
+
const lastPlayedUrl =
+
`https://pds.indexx.dev/xrpc/com.atproto.repo.listRecords?repo=${repo}&collection=${lastPlayedCollection}&limit=1&reverse=false`;
+
const lastPlayedRes = await fetch(lastPlayedUrl);
+
+
if (!lastPlayedRes.ok) {
+
throw new Error(
+
`HTTP ${lastPlayedRes.status} on listRecords fetch`,
+
);
+
}
+
+
const lastPlayedData = await lastPlayedRes.json();
+
+
if (
+
lastPlayedData.records && lastPlayedData.records.length > 0
+
) {
+
const latest = lastPlayedData.records[0].value;
+
+
status = {
+
song: latest.trackName,
+
artist: latest.artists.map((artist) =>
+
artist.artistName
+
).join(", "),
+
albumArt:
+
`https://coverartarchive.org/release/${latest.releaseMbId}/front-500`,
+
createdAt: latest.playedTime,
+
link: latest.originUrl ?? "",
+
};
+
setData(status);
+
setIsCurrentlyPlaying(false);
+
} else {
+
console.log("No records found in last played collection.");
+
setIsCurrentlyPlaying(false);
+
}
+
} catch (err) {
+
console.error("Fetch failed:", err);
+
setError(err.message);
+
setIsCurrentlyPlaying(false);
+
}
+
};
+
+
fetchStatus();
+
}, []);
+
+
if (error) return <span>Error: {error}</span>;
+
if (!data) return null;
+
+
let timeAgo = "";
+
let oldStatusClasses = "";
+
+
const date = new Date(data.createdAt);
+
const now = new Date();
+
const diff = now.getTime() - date.getTime();
+
+
const minutes = Math.floor(diff / 60000);
+
const hours = Math.floor(minutes / 60);
+
const days = Math.floor(hours / 24);
+
+
if (days > 0) timeAgo = `${days} days ago`;
+
else if (hours > 0) timeAgo = `${hours} hours ago`;
+
else if (minutes > 0) timeAgo = `${minutes} minutes ago`;
+
else timeAgo = "just now";
+
+
oldStatusClasses = days > 3
+
? "opacity-75 text-decoration-line-through"
+
: "";
+
+
return (
+
<a
+
id="now-playing"
+
href={data.link}
+
target="_blank"
+
className={oldStatusClasses}
+
>
+
<AudioVisualizer isSilent={!isCurrentlyPlaying} />
+
<div
+
style={{
+
display: "flex",
+
flexDirection: "column",
+
gap: "2px",
+
width: "100%",
+
}}
+
>
+
<div style={{ fontWeight: "bold" }}>{data.song}</div>
+
<div style={{ fontSize: "0.9em", marginTop: "-5px" }}>
+
{data.artist}
+
</div>
+
<div
+
style={{
+
fontSize: "0.8em",
+
opacity: 0.7,
+
marginTop: "-5px",
+
}}
+
>
+
<small style={{ fontSize: "0.7rem" }}>
+
^ what I'm listening (or last listened) to
+
</small>
+
</div>
+
</div>
+
</a>
+
);
+
}
-49
src/data/projects.ts
···
-
export interface Project {
-
title: string;
-
description: string;
-
date: string;
-
href: string;
-
note?: string;
-
}
-
-
export const projects: Project[] = [
-
{
-
title: "Box Critters Localbox",
-
description:
-
"Looking to relive Box Critters, a defunct virtual world made by Rocketsnail Games, well you're in luck! In this GitHub organization, you can find: a Typescript, unofficial server remake of the game server, documentation surrounding the game, and an Electron desktop app for playing the game locally.",
-
date: "since November 2024",
-
href: "https://github.com/Box-Critters-Localbox/",
-
},
-
{
-
title: "Toonkins Retooned",
-
description:
-
"Looking to relive Toonkins, a defunct virtual world made by Shenanigames, well you're in luck! In this Github organization, you can find: a Typescript, unofficial server remake of the game server, and a decompiled Unity project reassembly of the game (Unity project source coming soon).",
-
date: "since October 2024",
-
href: "https://github.com/ToonkinsRetooned/",
-
note:
-
'Note: "Retooned" is purposely spelled wrong, I know how to spell I swear ๐Ÿ˜ญ',
-
},
-
{
-
title: "Poly+ Rewrite",
-
description:
-
"A rewrite of Poly+, my quality-of-life browser extension for Polytoria.com. Built entirely fresh using the WXT extension framework, Typescript, and with added better overall code quality. This version is not public yet.",
-
date: "since October 2024, work in progress (private)",
-
href: "#",
-
},
-
{
-
title: "PolyCode",
-
description:
-
"PolyCode provides free code snippets, tutorials, and toolbox resources for Polytoria.",
-
date: "since August 2023, archived",
-
href: "https://polycode.vercel.app",
-
note:
-
"Note: This was made awhile ago, and if I were to redo it, I'd implement SSR instead of doing JSON file fetching.",
-
},
-
{
-
title: "Poly+",
-
description:
-
"Poly+ is a quality-of-life Chromium-based extension for Polytoria!",
-
date: "since February 2023, archived",
-
href: "https://github.com/indexxing/PolyPlus/",
-
},
-
];
···
+25 -31
src/layouts/Layout.astro
···
description?: string;
}
-
const {
-
title,
-
description
-
} = Astro.props;
---
<!doctype html>
<html lang="en">
-
<head>
-
<!-- META TAGS -->
-
<meta charset="utf-8" />
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
-
<meta name="generator" content={Astro.generator} />
-
-
<!-- PUBLIC -->
-
<title>{title}</title>
-
<meta name="title" content={title} />
-
<meta name="site_name" content="hey, I'm Index" />
-
<meta name="description" content={description} />
-
<!-- ICONS -->
-
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
-
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
-
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
-
<link rel="manifest" href="/site.webmanifest">
-
<!-- RESOURCES -->
-
<link href="/bootstrap.min.css" rel="stylesheet" />
-
<script src="/bootstrap.bundle.min.js" is:inline></script>
-
<link rel="stylesheet" href="/style.css" type="text/css" />
-
<!-- MASTODON VERIFICATION -->
-
<link rel="me" href="https://mastodon.social/@indexcard" />
-
</head>
-
<body>
-
<slot />
-
</body>
-
</html>
···
description?: string;
}
+
const { title, description } = Astro.props;
---
<!doctype html>
<html lang="en">
+
<head>
+
<!-- META TAGS -->
+
<meta charset="utf-8" />
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
+
<meta name="generator" content={Astro.generator} />
+
<!-- PUBLIC -->
+
<title>{title}</title>
+
<meta name="title" content={title} />
+
<meta name="site_name" content="hey, I'm Index" />
+
<meta name="description" content={description} />
+
<!-- ICONS -->
+
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
+
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
+
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
+
<link rel="manifest" href="/site.webmanifest" />
+
<!-- RESOURCES -->
+
<link href="/bootstrap.min.css" rel="stylesheet" />
+
<script src="/bootstrap.bundle.min.js" is:inline></script>
+
<link rel="stylesheet" href="/style.css?v=3" type="text/css" />
+
</head>
+
<body>
+
<slot />
+
</body>
+
</html>
+15 -6
src/pages/index.astro
···
---
import Layout from "../layouts/Layout.astro";
-
import Header from "../components/Header.astro";
-
import SocialLinks from "../components/SocialLinks.astro";
-
import Status from '../components/Status.jsx';
-
import ProjectsPane from "../components/ProjectsPane.astro";
---
<Layout title="hello" description="insert wave emoji">
<main id="page" class="text-center">
<Header />
<Status client:load />
<SocialLinks />
<a
id="projects-button"
href="#"
-
class="d-block mt-3"
data-bs-toggle="tooltip"
data-bs-title="(Some of) My Projects"
data-bs-placement="bottom"
···
. . .
</a>
</main>
-
<ProjectsPane />
<script>
import { initializeProjects } from "../scripts/projects";
initializeProjects();
···
---
import Layout from "../layouts/Layout.astro";
+
import Header from "../components/astro/Header.astro";
+
import SocialLinks from "../components/astro/SocialLinks.astro";
+
+
import ProjectsPane from "../components/jsx/ProjectsPane.jsx";
+
import Status from "../components/jsx/Status.jsx";
+
import Tealfm from "../components/jsx/Tealfm";
---
<Layout title="hello" description="insert wave emoji">
<main id="page" class="text-center">
<Header />
<Status client:load />
+
<Tealfm client:load />
<SocialLinks />
+
<!--
+
<img
+
src="https://ziit.indexx.dev/api/public/badge/cmh6t4rlk0001lz1wau6e8c83/all/month"
+
alt="Ziit Coding Statistics"
+
/>
+
-->
+
<br />
<a
id="projects-button"
href="#"
data-bs-toggle="tooltip"
data-bs-title="(Some of) My Projects"
data-bs-placement="bottom"
···
. . .
</a>
</main>
+
<ProjectsPane client:load />
<script>
import { initializeProjects } from "../scripts/projects";
initializeProjects();
+52
types/lastfm.d.ts
···
···
+
interface LastFmImage {
+
size: "small" | "medium" | "large" | "extralarge";
+
"#text": string;
+
}
+
+
interface LastFmArtist {
+
mbid: string;
+
"#text": string;
+
}
+
+
interface LastFmAlbum {
+
mbid: string;
+
"#text": string;
+
}
+
+
interface LastFmDate {
+
uts: string;
+
"#text": string;
+
}
+
+
interface LastFmTrackAttr {
+
nowplaying?: boolean;
+
}
+
+
interface LastFmTrack {
+
artist: LastFmArtist;
+
streamable: boolean;
+
image: LastFmImage[];
+
mbid: string;
+
album: LastFmAlbum;
+
name: string;
+
url: string;
+
date: LastFmDate;
+
"@attr"?: LastFmTrackAttr;
+
}
+
+
interface LastFmRecentTracksAttr {
+
user: string;
+
totalPages: string;
+
page: string;
+
perPage: string;
+
total: string;
+
}
+
+
interface LastFmRecentTracks {
+
track: LastFmTrack[];
+
"@attr": LastFmRecentTracksAttr;
+
}
+
+
interface LastFmApiResponse {
+
recenttracks: LastFmRecentTracks;
+
}