diff --git a/.github/frameworks.json b/.github/frameworks.json
index 4b01428..5352294 100644
--- a/.github/frameworks.json
+++ b/.github/frameworks.json
@@ -33,5 +33,12 @@
"package": "starter-sveltekit",
"buildScript": "build:sveltekit",
"measurements": ["install", "build", "dependencies"]
+ },
+ {
+ "name": "astro",
+ "displayName": "Astro",
+ "package": "starter-astro",
+ "buildScript": "build:astro",
+ "measurements": ["install", "build", "dependencies"]
}
]
diff --git a/.github/workflows/ci-astro.yml b/.github/workflows/ci-astro.yml
new file mode 100644
index 0000000..ef768be
--- /dev/null
+++ b/.github/workflows/ci-astro.yml
@@ -0,0 +1,53 @@
+name: CI - Astro
+
+on:
+ push:
+ branches: [main]
+ paths:
+ - 'packages/starter-astro/**'
+ - '.github/workflows/ci-astro.yml'
+ - 'package.json'
+ - 'pnpm-lock.yaml'
+ - 'eslint.config.js'
+ - 'prettier.config.js'
+ pull_request:
+ branches: [main]
+ paths:
+ - 'packages/starter-astro/**'
+ - '.github/workflows/ci-astro.yml'
+ - 'package.json'
+ - 'pnpm-lock.yaml'
+ - 'eslint.config.js'
+ - 'prettier.config.js'
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v4
+
+ - name: Setup pnpm
+ uses: pnpm/action-setup@v4
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: '24'
+ cache: 'pnpm'
+
+ - name: Install dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Format check
+ run: pnpm --filter starter-astro format:check
+
+ - name: Lint
+ run: pnpm --filter starter-astro lint
+
+ - name: Type check
+ run: pnpm --filter starter-astro type-check
+
+ - name: Build
+ run: pnpm --filter starter-astro build
diff --git a/package.json b/package.json
index 8bddf79..fcb535f 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,8 @@
"build:nuxt": "pnpm --filter starter-nuxt build",
"dev:sveltekit": "pnpm --filter starter-sveltekit dev",
"build:sveltekit": "pnpm --filter starter-sveltekit build",
+ "dev:astro": "pnpm --filter starter-astro dev",
+ "build:astro": "pnpm --filter starter-astro build",
"generate:stats": "pnpm --filter @framework-tracker/stats-generator generate",
"lint": "pnpm -r --parallel lint",
"lint:fix": "pnpm -r --parallel lint:fix",
diff --git a/packages/starter-astro/.gitignore b/packages/starter-astro/.gitignore
new file mode 100644
index 0000000..016b59e
--- /dev/null
+++ b/packages/starter-astro/.gitignore
@@ -0,0 +1,24 @@
+# build output
+dist/
+
+# generated types
+.astro/
+
+# dependencies
+node_modules/
+
+# logs
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# environment variables
+.env
+.env.production
+
+# macOS-specific files
+.DS_Store
+
+# jetbrains setting folder
+.idea/
diff --git a/packages/starter-astro/.vscode/extensions.json b/packages/starter-astro/.vscode/extensions.json
new file mode 100644
index 0000000..22a1505
--- /dev/null
+++ b/packages/starter-astro/.vscode/extensions.json
@@ -0,0 +1,4 @@
+{
+ "recommendations": ["astro-build.astro-vscode"],
+ "unwantedRecommendations": []
+}
diff --git a/packages/starter-astro/.vscode/launch.json b/packages/starter-astro/.vscode/launch.json
new file mode 100644
index 0000000..d642209
--- /dev/null
+++ b/packages/starter-astro/.vscode/launch.json
@@ -0,0 +1,11 @@
+{
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "command": "./node_modules/.bin/astro dev",
+ "name": "Development server",
+ "request": "launch",
+ "type": "node-terminal"
+ }
+ ]
+}
diff --git a/packages/starter-astro/README.md b/packages/starter-astro/README.md
new file mode 100644
index 0000000..cb98f27
--- /dev/null
+++ b/packages/starter-astro/README.md
@@ -0,0 +1,46 @@
+# Astro Starter Kit: Basics
+
+```sh
+pnpm create astro@latest -- --template basics
+```
+
+> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
+
+## 🚀 Project Structure
+
+Inside of your Astro project, you'll see the following folders and files:
+
+```text
+/
+├── public/
+│ └── favicon.svg
+├── src
+│ ├── assets
+│ │ └── astro.svg
+│ ├── components
+│ │ └── Welcome.astro
+│ ├── layouts
+│ │ └── Layout.astro
+│ └── pages
+│ └── index.astro
+└── package.json
+```
+
+To learn more about the folder structure of an Astro project, refer to [our guide on project structure](https://docs.astro.build/en/basics/project-structure/).
+
+## 🧞 Commands
+
+All commands are run from the root of the project, from a terminal:
+
+| Command | Action |
+| :--------------------- | :----------------------------------------------- |
+| `pnpm install` | Installs dependencies |
+| `pnpm dev` | Starts local dev server at `localhost:4321` |
+| `pnpm build` | Build your production site to `./dist/` |
+| `pnpm preview` | Preview your build locally, before deploying |
+| `pnpm astro ...` | Run CLI commands like `astro add`, `astro check` |
+| `pnpm astro -- --help` | Get help using the Astro CLI |
+
+## 👀 Want to learn more?
+
+Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).
diff --git a/packages/starter-astro/astro.config.mjs b/packages/starter-astro/astro.config.mjs
new file mode 100644
index 0000000..cadd3f0
--- /dev/null
+++ b/packages/starter-astro/astro.config.mjs
@@ -0,0 +1,5 @@
+// @ts-check
+import { defineConfig } from 'astro/config'
+
+// https://astro.build/config
+export default defineConfig({})
diff --git a/packages/starter-astro/package.json b/packages/starter-astro/package.json
new file mode 100644
index 0000000..b4e7599
--- /dev/null
+++ b/packages/starter-astro/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "starter-astro",
+ "type": "module",
+ "version": "0.0.1",
+ "scripts": {
+ "dev": "astro dev",
+ "build": "astro build",
+ "preview": "astro preview",
+ "astro": "astro",
+ "lint": "eslint .",
+ "lint:fix": "eslint . --fix",
+ "type-check": "tsc --noEmit",
+ "format": "prettier --write .",
+ "format:check": "prettier --check ."
+ },
+ "dependencies": {
+ "astro": "^5.16.15"
+ }
+}
diff --git a/packages/starter-astro/public/favicon.ico b/packages/starter-astro/public/favicon.ico
new file mode 100644
index 0000000..7f48a94
Binary files /dev/null and b/packages/starter-astro/public/favicon.ico differ
diff --git a/packages/starter-astro/public/favicon.svg b/packages/starter-astro/public/favicon.svg
new file mode 100644
index 0000000..f157bd1
--- /dev/null
+++ b/packages/starter-astro/public/favicon.svg
@@ -0,0 +1,9 @@
+
diff --git a/packages/starter-astro/src/assets/astro.svg b/packages/starter-astro/src/assets/astro.svg
new file mode 100644
index 0000000..8cf8fb0
--- /dev/null
+++ b/packages/starter-astro/src/assets/astro.svg
@@ -0,0 +1 @@
+
diff --git a/packages/starter-astro/src/assets/background.svg b/packages/starter-astro/src/assets/background.svg
new file mode 100644
index 0000000..4b2be0a
--- /dev/null
+++ b/packages/starter-astro/src/assets/background.svg
@@ -0,0 +1 @@
+
diff --git a/packages/starter-astro/src/components/Welcome.astro b/packages/starter-astro/src/components/Welcome.astro
new file mode 100644
index 0000000..3fbf780
--- /dev/null
+++ b/packages/starter-astro/src/components/Welcome.astro
@@ -0,0 +1,220 @@
+---
+import astroLogo from '../assets/astro.svg'
+import background from '../assets/background.svg'
+---
+
+
+
+
diff --git a/packages/starter-astro/src/layouts/Layout.astro b/packages/starter-astro/src/layouts/Layout.astro
new file mode 100644
index 0000000..ca828cf
--- /dev/null
+++ b/packages/starter-astro/src/layouts/Layout.astro
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+ Astro Basics
+
+
+
+
+
+
+
diff --git a/packages/starter-astro/src/pages/index.astro b/packages/starter-astro/src/pages/index.astro
new file mode 100644
index 0000000..30c7a0b
--- /dev/null
+++ b/packages/starter-astro/src/pages/index.astro
@@ -0,0 +1,11 @@
+---
+import Welcome from '../components/Welcome.astro'
+import Layout from '../layouts/Layout.astro'
+
+// Welcome to Astro! Wondering what to do next? Check out the Astro documentation at https://docs.astro.build
+// Don't want to use any of this? Delete everything in this file, the `assets`, `components`, and `layouts` directories, and start fresh.
+---
+
+
+
+
diff --git a/packages/starter-astro/tsconfig.json b/packages/starter-astro/tsconfig.json
new file mode 100644
index 0000000..8bf91d3
--- /dev/null
+++ b/packages/starter-astro/tsconfig.json
@@ -0,0 +1,5 @@
+{
+ "extends": "astro/tsconfigs/strict",
+ "include": [".astro/types.d.ts", "**/*"],
+ "exclude": ["dist"]
+}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b0ff4d0..ccc4c29 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -40,6 +40,12 @@ importers:
specifier: ^1.5.0
version: 1.5.0(eslint@9.39.2(jiti@2.6.1))
+ packages/starter-astro:
+ dependencies:
+ astro:
+ specifier: ^5.16.15
+ version: 5.16.15(@types/node@25.0.6)(db0@0.3.4)(ioredis@5.8.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2)
+
packages/starter-next-js:
dependencies:
next:
@@ -462,6 +468,10 @@ packages:
resolution: {integrity: sha512-8XqW8xGn++Eqqbz3e9wKuK7mxryeRjs4LOHLxbh2lwKeSbuNR4NFifDZT4KzvjU6HMOPbiNTsWpniK5EJfTWkg==}
engines: {node: '>=18'}
+ '@capsizecss/unpack@4.0.0':
+ resolution: {integrity: sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==}
+ engines: {node: '>=18'}
+
'@clack/core@1.0.0-alpha.7':
resolution: {integrity: sha512-3vdh6Ar09D14rVxJZIm3VQJkU+ZOKKT5I5cC0cOVazy70CNyYYjiwRj9unwalhESndgxx6bGc/m6Hhs4EKF5XQ==}
@@ -2057,21 +2067,39 @@ packages:
'@shikijs/core@3.20.0':
resolution: {integrity: sha512-f2ED7HYV4JEk827mtMDwe/yQ25pRiXZmtHjWF8uzZKuKiEsJR7Ce1nuQ+HhV9FzDcbIo4ObBCD9GPTzNuy9S1g==}
+ '@shikijs/core@3.21.0':
+ resolution: {integrity: sha512-AXSQu/2n1UIQekY8euBJlvFYZIw0PHY63jUzGbrOma4wPxzznJXTXkri+QcHeBNaFxiiOljKxxJkVSoB3PjbyA==}
+
'@shikijs/engine-javascript@3.20.0':
resolution: {integrity: sha512-OFx8fHAZuk7I42Z9YAdZ95To6jDePQ9Rnfbw9uSRTSbBhYBp1kEOKv/3jOimcj3VRUKusDYM6DswLauwfhboLg==}
+ '@shikijs/engine-javascript@3.21.0':
+ resolution: {integrity: sha512-ATwv86xlbmfD9n9gKRiwuPpWgPENAWCLwYCGz9ugTJlsO2kOzhOkvoyV/UD+tJ0uT7YRyD530x6ugNSffmvIiQ==}
+
'@shikijs/engine-oniguruma@3.20.0':
resolution: {integrity: sha512-Yx3gy7xLzM0ZOjqoxciHjA7dAt5tyzJE3L4uQoM83agahy+PlW244XJSrmJRSBvGYELDhYXPacD4R/cauV5bzQ==}
+ '@shikijs/engine-oniguruma@3.21.0':
+ resolution: {integrity: sha512-OYknTCct6qiwpQDqDdf3iedRdzj6hFlOPv5hMvI+hkWfCKs5mlJ4TXziBG9nyabLwGulrUjHiCq3xCspSzErYQ==}
+
'@shikijs/langs@3.20.0':
resolution: {integrity: sha512-le+bssCxcSHrygCWuOrYJHvjus6zhQ2K7q/0mgjiffRbkhM4o1EWu2m+29l0yEsHDbWaWPNnDUTRVVBvBBeKaA==}
+ '@shikijs/langs@3.21.0':
+ resolution: {integrity: sha512-g6mn5m+Y6GBJ4wxmBYqalK9Sp0CFkUqfNzUy2pJglUginz6ZpWbaWjDB4fbQ/8SHzFjYbtU6Ddlp1pc+PPNDVA==}
+
'@shikijs/themes@3.20.0':
resolution: {integrity: sha512-U1NSU7Sl26Q7ErRvJUouArxfM2euWqq1xaSrbqMu2iqa+tSp0D1Yah8216sDYbdDHw4C8b75UpE65eWorm2erQ==}
+ '@shikijs/themes@3.21.0':
+ resolution: {integrity: sha512-BAE4cr9EDiZyYzwIHEk7JTBJ9CzlPuM4PchfcA5ao1dWXb25nv6hYsoDiBq2aZK9E3dlt3WB78uI96UESD+8Mw==}
+
'@shikijs/types@3.20.0':
resolution: {integrity: sha512-lhYAATn10nkZcBQ0BlzSbJA3wcmL5MXUUF8d2Zzon6saZDlToKaiRX60n2+ZaHJCmXEcZRWNzn+k9vplr8Jhsw==}
+ '@shikijs/types@3.21.0':
+ resolution: {integrity: sha512-zGrWOxZ0/+0ovPY7PvBU2gIS9tmhSUUt30jAcNV0Bq0gb2S98gwfjIs1vxlmH5zM7/4YxLamT6ChlqqAJmPPjA==}
+
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
@@ -3055,6 +3083,11 @@ packages:
resolution: {integrity: sha512-JepyLROIad6f44uyqMF6HKE2QbunNzp3mYKRcPoDGt0QkxXmH222FAFC64WTyQu2Kg8NNEXHTN/sWuUId9sSxw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ astro@5.16.15:
+ resolution: {integrity: sha512-+X1Z0NTi2pa5a0Te6h77Dgc44fYj63j1yx6+39Nvg05lExajxSq7b1Uj/gtY45zoum8fD0+h0nak+DnHighs3A==}
+ engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
+ hasBin: true
+
astro@5.16.6:
resolution: {integrity: sha512-6mF/YrvwwRxLTu+aMEa5pwzKUNl5ZetWbTyZCs9Um0F12HUmxUiF5UHiZPy4rifzU3gtpM3xP2DfdmkNX9eZRg==}
engines: {node: 18.20.8 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'}
@@ -3653,6 +3686,9 @@ packages:
devalue@5.6.1:
resolution: {integrity: sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==}
+ devalue@5.6.2:
+ resolution: {integrity: sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==}
+
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
@@ -3667,6 +3703,10 @@ packages:
resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==}
engines: {node: '>=0.3.1'}
+ diff@8.0.3:
+ resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==}
+ engines: {node: '>=0.3.1'}
+
dlv@1.1.3:
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
@@ -4079,9 +4119,16 @@ packages:
fontace@0.3.1:
resolution: {integrity: sha512-9f5g4feWT1jWT8+SbL85aLIRLIXUaDygaM2xPXRmzPYxrOMNok79Lr3FGJoKVNKibE0WCunNiEVG2mwuE+2qEg==}
+ fontace@0.4.0:
+ resolution: {integrity: sha512-moThBCItUe2bjZip5PF/iZClpKHGLwMvR79Kp8XpGRBrvoRSnySN4VcILdv3/MJzbhvUA5WeiUXF5o538m5fvg==}
+
fontkit@2.0.4:
resolution: {integrity: sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==}
+ fontkitten@1.0.2:
+ resolution: {integrity: sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==}
+ engines: {node: '>=20'}
+
for-each@0.3.5:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'}
@@ -4237,6 +4284,9 @@ packages:
h3@1.15.4:
resolution: {integrity: sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==}
+ h3@1.15.5:
+ resolution: {integrity: sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==}
+
h3@2.0.1-rc.5:
resolution: {integrity: sha512-qkohAzCab0nLzXNm78tBjZDvtKMTmtygS8BJLT3VPczAQofdqlFXDPkXdLMJN4r05+xqneG8snZJ0HgkERCZTg==}
engines: {node: '>=20.11.1'}
@@ -6102,6 +6152,9 @@ packages:
shiki@3.20.0:
resolution: {integrity: sha512-kgCOlsnyWb+p0WU+01RjkCH+eBVsjL1jOwUYWv0YDWkM2/A46+LDKVs5yZCUXjJG6bj4ndFoAg5iLIIue6dulg==}
+ shiki@3.21.0:
+ resolution: {integrity: sha512-N65B/3bqL/TI2crrXr+4UivctrAGEjmsib5rPMMPpFp1xAx/w03v8WZ9RDDFYteXoEgY7qZ4HGgl5KBIu1153w==}
+
side-channel-list@1.0.0:
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
engines: {node: '>= 0.4'}
@@ -6520,6 +6573,9 @@ packages:
ufo@1.6.1:
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+ ufo@1.6.3:
+ resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==}
+
ultrahtml@1.6.0:
resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==}
@@ -6565,6 +6621,9 @@ packages:
unifont@0.6.0:
resolution: {integrity: sha512-5Fx50fFQMQL5aeHyWnZX9122sSLckcDvcfFiBf3QYeHa7a1MKJooUy52b67moi2MJYkrfo/TWY+CoLdr/w0tTA==}
+ unifont@0.7.3:
+ resolution: {integrity: sha512-b0GtQzKCyuSHGsfj5vyN8st7muZ6VCI4XD4vFlr7Uy1rlWVYxC3npnfk8MyreHxJYrz1ooLDqDzFe9XqQTlAhA==}
+
unimport@5.6.0:
resolution: {integrity: sha512-8rqAmtJV8o60x46kBAJKtHpJDJWkA2xcBqWKPI14MgUb05o1pnpnCnXSxedUXyeq7p8fR5g3pTo2BaswZ9lD9A==}
engines: {node: '>=18.12.0'}
@@ -6686,6 +6745,68 @@ packages:
uploadthing:
optional: true
+ unstorage@1.17.4:
+ resolution: {integrity: sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==}
+ peerDependencies:
+ '@azure/app-configuration': ^1.8.0
+ '@azure/cosmos': ^4.2.0
+ '@azure/data-tables': ^13.3.0
+ '@azure/identity': ^4.6.0
+ '@azure/keyvault-secrets': ^4.9.0
+ '@azure/storage-blob': ^12.26.0
+ '@capacitor/preferences': ^6 || ^7 || ^8
+ '@deno/kv': '>=0.9.0'
+ '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0
+ '@planetscale/database': ^1.19.0
+ '@upstash/redis': ^1.34.3
+ '@vercel/blob': '>=0.27.1'
+ '@vercel/functions': ^2.2.12 || ^3.0.0
+ '@vercel/kv': ^1 || ^2 || ^3
+ aws4fetch: ^1.0.20
+ db0: '>=0.2.1'
+ idb-keyval: ^6.2.1
+ ioredis: ^5.4.2
+ uploadthing: ^7.4.4
+ peerDependenciesMeta:
+ '@azure/app-configuration':
+ optional: true
+ '@azure/cosmos':
+ optional: true
+ '@azure/data-tables':
+ optional: true
+ '@azure/identity':
+ optional: true
+ '@azure/keyvault-secrets':
+ optional: true
+ '@azure/storage-blob':
+ optional: true
+ '@capacitor/preferences':
+ optional: true
+ '@deno/kv':
+ optional: true
+ '@netlify/blobs':
+ optional: true
+ '@planetscale/database':
+ optional: true
+ '@upstash/redis':
+ optional: true
+ '@vercel/blob':
+ optional: true
+ '@vercel/functions':
+ optional: true
+ '@vercel/kv':
+ optional: true
+ aws4fetch:
+ optional: true
+ db0:
+ optional: true
+ idb-keyval:
+ optional: true
+ ioredis:
+ optional: true
+ uploadthing:
+ optional: true
+
unstorage@2.0.0-alpha.4:
resolution: {integrity: sha512-ywXZMZRfrvmO1giJeMTCw6VUn0ALYxVl8pFqJPStiyQUvgJImejtAHrKvXPj4QGJAoS/iLGcVGF6ljN/lkh1bw==}
peerDependencies:
@@ -7662,6 +7783,10 @@ snapshots:
dependencies:
fontkit: 2.0.4
+ '@capsizecss/unpack@4.0.0':
+ dependencies:
+ fontkitten: 1.0.2
+
'@clack/core@1.0.0-alpha.7':
dependencies:
picocolors: 1.1.1
@@ -9044,30 +9169,61 @@ snapshots:
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
+ '@shikijs/core@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
'@shikijs/engine-javascript@3.20.0':
dependencies:
'@shikijs/types': 3.20.0
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.4
+ '@shikijs/engine-javascript@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.4
+
'@shikijs/engine-oniguruma@3.20.0':
dependencies:
'@shikijs/types': 3.20.0
'@shikijs/vscode-textmate': 10.0.2
+ '@shikijs/engine-oniguruma@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+ '@shikijs/vscode-textmate': 10.0.2
+
'@shikijs/langs@3.20.0':
dependencies:
'@shikijs/types': 3.20.0
+ '@shikijs/langs@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+
'@shikijs/themes@3.20.0':
dependencies:
'@shikijs/types': 3.20.0
+ '@shikijs/themes@3.21.0':
+ dependencies:
+ '@shikijs/types': 3.21.0
+
'@shikijs/types@3.20.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
+ '@shikijs/types@3.21.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
'@shikijs/vscode-textmate@10.0.2': {}
'@sindresorhus/is@7.2.0': {}
@@ -10335,6 +10491,108 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ astro@5.16.15(@types/node@25.0.6)(db0@0.3.4)(ioredis@5.8.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2):
+ dependencies:
+ '@astrojs/compiler': 2.13.0
+ '@astrojs/internal-helpers': 0.7.5
+ '@astrojs/markdown-remark': 6.3.10
+ '@astrojs/telemetry': 3.3.0
+ '@capsizecss/unpack': 4.0.0
+ '@oslojs/encoding': 1.1.0
+ '@rollup/pluginutils': 5.3.0(rollup@4.54.0)
+ acorn: 8.15.0
+ aria-query: 5.3.2
+ axobject-query: 4.1.0
+ boxen: 8.0.1
+ ci-info: 4.3.1
+ clsx: 2.1.1
+ common-ancestor-path: 1.0.1
+ cookie: 1.1.1
+ cssesc: 3.0.0
+ debug: 4.4.3
+ deterministic-object-hash: 2.0.2
+ devalue: 5.6.2
+ diff: 8.0.3
+ dlv: 1.1.3
+ dset: 3.1.4
+ es-module-lexer: 1.7.0
+ esbuild: 0.25.12
+ estree-walker: 3.0.3
+ flattie: 1.1.1
+ fontace: 0.4.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.1
+ magic-string: 0.30.21
+ magicast: 0.5.1
+ mrmime: 2.0.1
+ neotraverse: 0.6.18
+ p-limit: 6.2.0
+ p-queue: 8.1.1
+ package-manager-detector: 1.6.0
+ piccolore: 0.1.3
+ picomatch: 4.0.3
+ prompts: 2.4.2
+ rehype: 13.0.2
+ semver: 7.7.3
+ shiki: 3.21.0
+ smol-toml: 1.6.0
+ svgo: 4.0.0
+ tinyexec: 1.0.2
+ tinyglobby: 0.2.15
+ tsconfck: 3.1.6(typescript@5.9.3)
+ ultrahtml: 1.6.0
+ unifont: 0.7.3
+ unist-util-visit: 5.0.0
+ unstorage: 1.17.4(db0@0.3.4)(ioredis@5.8.2)
+ vfile: 6.0.3
+ vite: 6.4.1(@types/node@25.0.6)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2)
+ vitefu: 1.1.1(vite@6.4.1(@types/node@25.0.6)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.1)(tsx@4.21.0)(yaml@2.8.2))
+ xxhash-wasm: 1.1.0
+ yargs-parser: 21.1.1
+ yocto-spinner: 0.2.3
+ zod: 3.25.76
+ zod-to-json-schema: 3.25.1(zod@3.25.76)
+ zod-to-ts: 1.2.0(typescript@5.9.3)(zod@3.25.76)
+ optionalDependencies:
+ sharp: 0.34.5
+ transitivePeerDependencies:
+ - '@azure/app-configuration'
+ - '@azure/cosmos'
+ - '@azure/data-tables'
+ - '@azure/identity'
+ - '@azure/keyvault-secrets'
+ - '@azure/storage-blob'
+ - '@capacitor/preferences'
+ - '@deno/kv'
+ - '@netlify/blobs'
+ - '@planetscale/database'
+ - '@types/node'
+ - '@upstash/redis'
+ - '@vercel/blob'
+ - '@vercel/functions'
+ - '@vercel/kv'
+ - aws4fetch
+ - db0
+ - idb-keyval
+ - ioredis
+ - jiti
+ - less
+ - lightningcss
+ - rollup
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - typescript
+ - uploadthing
+ - yaml
+
astro@5.16.6(@types/node@25.0.6)(db0@0.3.4)(ioredis@5.8.2)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.54.0)(terser@5.44.1)(tsx@4.21.0)(typescript@5.9.3)(yaml@2.8.2):
dependencies:
'@astrojs/compiler': 2.13.0
@@ -11009,6 +11267,8 @@ snapshots:
devalue@5.6.1: {}
+ devalue@5.6.2: {}
+
devlop@1.1.0:
dependencies:
dequal: 2.0.3
@@ -11019,6 +11279,8 @@ snapshots:
diff@8.0.2: {}
+ diff@8.0.3: {}
+
dlv@1.1.3: {}
doctrine@2.1.0:
@@ -11654,6 +11916,10 @@ snapshots:
'@types/fontkit': 2.0.8
fontkit: 2.0.4
+ fontace@0.4.0:
+ dependencies:
+ fontkitten: 1.0.2
+
fontkit@2.0.4:
dependencies:
'@swc/helpers': 0.5.18
@@ -11666,6 +11932,10 @@ snapshots:
unicode-properties: 1.4.1
unicode-trie: 2.0.0
+ fontkitten@1.0.2:
+ dependencies:
+ tiny-inflate: 1.0.3
+
for-each@0.3.5:
dependencies:
is-callable: 1.2.7
@@ -11830,6 +12100,18 @@ snapshots:
ufo: 1.6.1
uncrypto: 0.1.3
+ h3@1.15.5:
+ 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.4
+ radix3: 1.1.2
+ ufo: 1.6.3
+ uncrypto: 0.1.3
+
h3@2.0.1-rc.5(crossws@0.4.1(srvx@0.9.8)):
dependencies:
rou3: 0.7.12
@@ -14300,6 +14582,17 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
+ shiki@3.21.0:
+ dependencies:
+ '@shikijs/core': 3.21.0
+ '@shikijs/engine-javascript': 3.21.0
+ '@shikijs/engine-oniguruma': 3.21.0
+ '@shikijs/langs': 3.21.0
+ '@shikijs/themes': 3.21.0
+ '@shikijs/types': 3.21.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
side-channel-list@1.0.0:
dependencies:
es-errors: 1.3.0
@@ -14761,6 +15054,8 @@ snapshots:
ufo@1.6.1: {}
+ ufo@1.6.3: {}
+
ultrahtml@1.6.0: {}
unbox-primitive@1.1.0:
@@ -14821,6 +15116,12 @@ snapshots:
ofetch: 1.5.1
ohash: 2.0.11
+ unifont@0.7.3:
+ dependencies:
+ css-tree: 3.1.0
+ ofetch: 1.5.1
+ ohash: 2.0.11
+
unimport@5.6.0:
dependencies:
acorn: 8.15.0
@@ -14962,6 +15263,20 @@ snapshots:
db0: 0.3.4
ioredis: 5.8.2
+ unstorage@1.17.4(db0@0.3.4)(ioredis@5.8.2):
+ dependencies:
+ anymatch: 3.1.3
+ chokidar: 5.0.0
+ destr: 2.0.5
+ h3: 1.15.5
+ lru-cache: 11.2.4
+ node-fetch-native: 1.6.7
+ ofetch: 1.5.1
+ ufo: 1.6.3
+ optionalDependencies:
+ db0: 0.3.4
+ ioredis: 5.8.2
+
unstorage@2.0.0-alpha.4(chokidar@4.0.3)(db0@0.3.4)(ioredis@5.8.2)(lru-cache@11.2.4)(ofetch@2.0.0-alpha.3):
optionalDependencies:
chokidar: 4.0.3