diff --git a/astro.config.mjs b/astro.config.mjs
index 0ec309d2..823d7c6e 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -60,7 +60,9 @@ async function fetchLatestLocalstackCliVersionFromGitHub() {
lastError = new Error('GitHub release response missing tag_name');
} else {
const msg =
- typeof data?.message === 'string' ? data.message : `HTTP ${response.status}`;
+ typeof data?.message === 'string'
+ ? data.message
+ : `HTTP ${response.status}`;
lastError = new Error(msg);
}
} catch (err) {
@@ -68,10 +70,14 @@ async function fetchLatestLocalstackCliVersionFromGitHub() {
}
}
- throw lastError ?? new Error('Failed to fetch localstack-cli release from GitHub');
+ throw (
+ lastError ?? new Error('Failed to fetch localstack-cli release from GitHub')
+ );
}
-const cliVersionFromEnv = normalizeCliReleaseTag(process.env.LOCALSTACK_AWS_VERSION ?? '');
+const cliVersionFromEnv = normalizeCliReleaseTag(
+ process.env.LOCALSTACK_AWS_VERSION ?? '',
+);
/** @type {string} */
let latestAWSVersion;
@@ -391,8 +397,8 @@ export default defineConfig({
},
{
label: 'Getting Started',
- autogenerate: { directory: '/aws/getting-started' },
collapsed: true,
+ items: [{ autogenerate: { directory: '/aws/getting-started' } }],
},
{
label: 'Local AWS Services',
@@ -416,31 +422,47 @@ export default defineConfig({
},
{
label: 'AWS SDKs',
- autogenerate: {
- directory: '/aws/connecting/aws-sdks',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/connecting/aws-sdks',
+ },
+ },
+ ],
},
{
label: 'Infrastructure as Code',
- autogenerate: {
- directory: '/aws/connecting/infrastructure-as-code',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/connecting/infrastructure-as-code',
+ },
+ },
+ ],
},
{
label: 'LocalStack Console',
- autogenerate: {
- directory: '/aws/connecting/console',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/connecting/console',
+ },
+ },
+ ],
},
{
label: 'IDE Extensions',
- autogenerate: {
- directory: '/aws/connecting/ides',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/connecting/ides',
+ },
+ },
+ ],
},
],
},
@@ -454,52 +476,80 @@ export default defineConfig({
},
{
label: 'LocalStack Web App',
- autogenerate: {
- directory: '/aws/capabilities/web-app',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/capabilities/web-app',
+ },
+ },
+ ],
},
{
label: 'Config',
- autogenerate: {
- directory: '/aws/capabilities/config',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/capabilities/config',
+ },
+ },
+ ],
},
{
label: 'Cloud Sandbox',
- autogenerate: {
- directory: '/aws/capabilities/cloud-sandbox',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/capabilities/cloud-sandbox',
+ },
+ },
+ ],
},
{
label: 'Networking',
- autogenerate: {
- directory: '/aws/capabilities/networking',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/capabilities/networking',
+ },
+ },
+ ],
},
{
label: 'State Management',
- autogenerate: {
- directory: '/aws/capabilities/state-management',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/capabilities/state-management',
+ },
+ },
+ ],
},
{
label: 'Chaos Engineering',
- autogenerate: {
- directory: '/aws/capabilities/chaos-engineering',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/capabilities/chaos-engineering',
+ },
+ },
+ ],
},
{
label: 'Security Testing',
- autogenerate: {
- directory: '/aws/capabilities/security-testing',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/capabilities/security-testing',
+ },
+ },
+ ],
},
],
},
@@ -525,29 +575,22 @@ export default defineConfig({
},
{
label: 'LocalStack SDKs',
- autogenerate: {
- directory: '/aws/tooling/localstack-sdks',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/tooling/localstack-sdks',
+ },
+ },
+ ],
},
{
label: 'Extensions',
items: [
{
- label: 'Overview',
- slug: 'aws/tooling/extensions',
- },
- {
- label: 'Managing Extensions',
- slug: 'aws/tooling/extensions/managing-extensions',
- },
- {
- label: 'Developing Extensions',
- slug: 'aws/tooling/extensions/developing-extensions',
- },
- {
- label: 'Extensions Library',
- slug: 'aws/tooling/extensions/extensions-library',
+ autogenerate: {
+ directory: '/aws/tooling/extensions',
+ },
},
{
label: 'Official Extensions',
@@ -558,10 +601,14 @@ export default defineConfig({
},
{
label: 'Lambda Tools',
- autogenerate: {
- directory: '/aws/tooling/lambda-tools',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/tooling/lambda-tools',
+ },
+ },
+ ],
},
{
label: 'AWS Replicator',
@@ -595,38 +642,91 @@ export default defineConfig({
},
{
label: 'Continuous Integration',
- autogenerate: {
- directory: '/aws/integrations/continuous-integration',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/integrations/continuous-integration',
+ },
+ },
+ ],
+ },
+ {
+ label: 'AWS SDKs',
+ collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/integrations/aws-sdks',
+ },
+ },
+ ],
+ },
+ {
+ label: 'AWS Native Tools',
+ collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/integrations/aws-native-tools',
+ },
+ },
+ ],
+ },
+ {
+ label: 'Infrastructure as Code',
+ collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/integrations/infrastructure-as-code',
+ },
+ },
+ ],
},
{
label: 'Containers',
- autogenerate: {
- directory: '/aws/integrations/containers',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/integrations/containers',
+ },
+ },
+ ],
},
{
label: 'App Frameworks',
- autogenerate: {
- directory: '/aws/integrations/app-frameworks',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/integrations/app-frameworks',
+ },
+ },
+ ],
},
{
label: 'Messaging',
- autogenerate: {
- directory: '/aws/integrations/messaging',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/integrations/messaging',
+ },
+ },
+ ],
},
{
label: 'Testing',
- autogenerate: {
- directory: '/aws/integrations/testing',
- },
collapsed: true,
+ items: [
+ {
+ autogenerate: {
+ directory: '/aws/integrations/testing',
+ },
+ },
+ ],
},
],
},
@@ -640,12 +740,18 @@ export default defineConfig({
},
{
label: 'Kubernetes',
- autogenerate: { directory: '/aws/enterprise/kubernetes' },
collapsed: true,
+ items: [
+ {
+ autogenerate: { directory: '/aws/enterprise/kubernetes' },
+ },
+ ],
},
{
label: 'Single Sign-On',
- autogenerate: { directory: '/aws/enterprise/sso' },
+ items: [
+ { autogenerate: { directory: '/aws/enterprise/sso' } },
+ ],
},
{
label: 'Enterprise Image',
@@ -668,7 +774,7 @@ export default defineConfig({
{
label: 'Help & Support',
collapsed: true,
- autogenerate: { directory: '/aws/help-support' },
+ items: [{ autogenerate: { directory: '/aws/help-support' } }],
},
],
},
@@ -682,8 +788,10 @@ export default defineConfig({
},
{
label: 'Getting Started',
- autogenerate: { directory: '/snowflake/getting-started' },
collapsed: true,
+ items: [
+ { autogenerate: { directory: '/snowflake/getting-started' } },
+ ],
},
{
label: 'Features',
@@ -696,22 +804,26 @@ export default defineConfig({
{
label: 'Capabilities',
collapsed: true,
- autogenerate: { directory: '/snowflake/capabilities' },
+ items: [
+ { autogenerate: { directory: '/snowflake/capabilities' } },
+ ],
},
{
label: 'Tooling',
collapsed: true,
- autogenerate: { directory: '/snowflake/tooling' },
+ items: [{ autogenerate: { directory: '/snowflake/tooling' } }],
},
{
label: 'Integrations',
collapsed: true,
- autogenerate: { directory: '/snowflake/integrations' },
+ items: [
+ { autogenerate: { directory: '/snowflake/integrations' } },
+ ],
},
{
label: 'Tutorials',
collapsed: true,
- autogenerate: { directory: '/snowflake/tutorials' },
+ items: [{ autogenerate: { directory: '/snowflake/tutorials' } }],
},
{
label: 'Feature Coverage',
@@ -728,7 +840,9 @@ export default defineConfig({
{
label: 'Help & Support',
collapsed: true,
- autogenerate: { directory: '/snowflake/help-support' },
+ items: [
+ { autogenerate: { directory: '/snowflake/help-support' } },
+ ],
},
],
},
@@ -742,8 +856,8 @@ export default defineConfig({
},
{
label: 'Getting Started',
- autogenerate: { directory: 'azure/getting-started' },
collapsed: true,
+ items: [{ autogenerate: { directory: 'azure/getting-started' } }],
},
{
label: 'Local Azure Services',
@@ -751,8 +865,8 @@ export default defineConfig({
},
{
label: 'Integrations',
- autogenerate: { directory: 'azure/integrations' },
collapsed: true,
+ items: [{ autogenerate: { directory: 'azure/integrations' } }],
},
{
label: 'Changelog',
@@ -768,7 +882,9 @@ export default defineConfig({
],
vite: {
- plugins: [tailwindcss()],
+ // @tailwindcss/vite types `Plugin` against the hoisted `vite` package; Astro types `plugins`
+ // against its bundled copy. They are runtime-compatible.
+ plugins: [/** @type {any} */ (tailwindcss())],
},
// Static site (SSG): deploy the `dist/` folder to any static host (e.g. Cloudflare Pages
diff --git a/package-lock.json b/package-lock.json
index 15533979..49f6463b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,10 +8,10 @@
"name": "localstack-docs",
"version": "0.0.1",
"dependencies": {
- "@astrojs/markdoc": "^1.0.3",
- "@astrojs/react": "^5.0.2",
+ "@astrojs/markdoc": "^1.0.4",
+ "@astrojs/react": "^5.0.4",
"@astrojs/sitemap": "^3.7.2",
- "@astrojs/starlight": "^0.38.2",
+ "@astrojs/starlight": "^0.39.2",
"@astrojs/starlight-docsearch": "^0.7.0",
"@astrojs/starlight-markdoc": "^0.6.0",
"@astrojs/starlight-tailwind": "^5.0.0",
@@ -21,7 +21,7 @@
"@tanstack/react-table": "^8.21.3",
"@types/react": "^19.1.3",
"@types/react-dom": "^19.1.3",
- "astro": "^6.1.3",
+ "astro": "^6.3.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.509.0",
@@ -261,28 +261,28 @@
}
},
"node_modules/@astrojs/compiler": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-3.0.1.tgz",
- "integrity": "sha512-z97oYbdebO5aoWzuJ/8q5hLK232+17KcLZ7cJ8BCWk6+qNzVxn/gftC0KzMBUTD8WAaBkPpNSQK6PXLnNrZ0CA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-4.0.0.tgz",
+ "integrity": "sha512-eouss7G8ygdZqHuke033VMcVw5HTZUu+PXd/h06DGDUg/jt5btPYPqh66ENWw/mU78rBrf/oeC4oqoBwMtDMNA==",
"license": "MIT"
},
"node_modules/@astrojs/internal-helpers": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.8.0.tgz",
- "integrity": "sha512-J56GrhEiV+4dmrGLPNOl2pZjpHXAndWVyiVDYGDuw6MWKpBSEMLdFxHzeM/6sqaknw9M+HFfHZAcvi3OfT3D/w==",
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.9.0.tgz",
+ "integrity": "sha512-GdYkzR26re8izmyYlBqf4z2s7zNngmWLFuxw0UKiPNqHraZGS6GKWIwSHgS22RDlu2ePFJ8bzmpBcUszut/SDg==",
"license": "MIT",
"dependencies": {
- "picomatch": "^4.0.3"
+ "picomatch": "^4.0.4"
}
},
"node_modules/@astrojs/markdoc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@astrojs/markdoc/-/markdoc-1.0.3.tgz",
- "integrity": "sha512-dcKYYZEnMtnXIv+yrXSLB0SEwyxNhFb7Cg3mKdDw4T530qQeNzwyf40FpgrSnwB6xnWQ6y5b5SJEzhhGk+FB1g==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@astrojs/markdoc/-/markdoc-1.0.4.tgz",
+ "integrity": "sha512-Xpuv+ApNm2NVokKDmUzMQZFZ5gBBF7bncNjzm2hnfCJIOWnVwNK0H048H7hXKx06VgJ+sKdkRXpYHEams0PWog==",
"license": "MIT",
"dependencies": {
- "@astrojs/internal-helpers": "0.8.0",
- "@astrojs/markdown-remark": "7.1.0",
+ "@astrojs/internal-helpers": "0.9.0",
+ "@astrojs/markdown-remark": "7.1.1",
"@astrojs/prism": "4.0.1",
"@markdoc/markdoc": "^0.5.4",
"esbuild": "^0.27.3",
@@ -297,12 +297,12 @@
}
},
"node_modules/@astrojs/markdown-remark": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-7.1.0.tgz",
- "integrity": "sha512-P+HnCsu2js3BoTc8kFmu+E9gOcFeMdPris75g+Zl4sY8+bBRbSQV6xzcBDbZ27eE7yBGEGQoqjpChx+KJYIPYQ==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-7.1.1.tgz",
+ "integrity": "sha512-C6e9BnLGlbdv6bV8MYGeHpHxsUHrCrB4OuRLqi5LI7oiBVcBcqfUN06zpwFQdHgV48QCCrMmLpyqBr7VqC+swA==",
"license": "MIT",
"dependencies": {
- "@astrojs/internal-helpers": "0.8.0",
+ "@astrojs/internal-helpers": "0.9.0",
"@astrojs/prism": "4.0.1",
"github-slugger": "^2.0.0",
"hast-util-from-html": "^2.0.3",
@@ -325,112 +325,13 @@
"vfile": "^6.0.3"
}
},
- "node_modules/@astrojs/markdown-remark/node_modules/@shikijs/core": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.0.2.tgz",
- "integrity": "sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/primitive": "4.0.2",
- "@shikijs/types": "4.0.2",
- "@shikijs/vscode-textmate": "^10.0.2",
- "@types/hast": "^3.0.4",
- "hast-util-to-html": "^9.0.5"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@astrojs/markdown-remark/node_modules/@shikijs/engine-javascript": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz",
- "integrity": "sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "4.0.2",
- "@shikijs/vscode-textmate": "^10.0.2",
- "oniguruma-to-es": "^4.3.4"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@astrojs/markdown-remark/node_modules/@shikijs/engine-oniguruma": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz",
- "integrity": "sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "4.0.2",
- "@shikijs/vscode-textmate": "^10.0.2"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@astrojs/markdown-remark/node_modules/@shikijs/langs": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.0.2.tgz",
- "integrity": "sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "4.0.2"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@astrojs/markdown-remark/node_modules/@shikijs/themes": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.0.2.tgz",
- "integrity": "sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "4.0.2"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@astrojs/markdown-remark/node_modules/@shikijs/types": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.0.2.tgz",
- "integrity": "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/vscode-textmate": "^10.0.2",
- "@types/hast": "^3.0.4"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/@astrojs/markdown-remark/node_modules/shiki": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.0.2.tgz",
- "integrity": "sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/core": "4.0.2",
- "@shikijs/engine-javascript": "4.0.2",
- "@shikijs/engine-oniguruma": "4.0.2",
- "@shikijs/langs": "4.0.2",
- "@shikijs/themes": "4.0.2",
- "@shikijs/types": "4.0.2",
- "@shikijs/vscode-textmate": "^10.0.2",
- "@types/hast": "^3.0.4"
- },
- "engines": {
- "node": ">=20"
- }
- },
"node_modules/@astrojs/mdx": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-5.0.3.tgz",
- "integrity": "sha512-zv/OlM5sZZvyjHqJjR3FjJvoCgbxdqj3t4jO/gSEUNcck3BjdtMgNQw8UgPfAGe4yySdG4vjZ3OC5wUxhu7ckg==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-5.0.4.tgz",
+ "integrity": "sha512-tSbuuYueNODiFAFaME7pjHY5lOLoxBYJi1cKd6scw9+a4ZO7C7UGdafEoVAQvOV2eO8a6RaHSAJYGVPL1w8BPA==",
"license": "MIT",
"dependencies": {
- "@astrojs/markdown-remark": "7.1.0",
+ "@astrojs/markdown-remark": "7.1.1",
"@mdx-js/mdx": "^3.1.1",
"acorn": "^8.16.0",
"es-module-lexer": "^2.0.0",
@@ -464,16 +365,16 @@
}
},
"node_modules/@astrojs/react": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-5.0.2.tgz",
- "integrity": "sha512-BDpPrapV3Wgp9sD7aTMvP+ORH0jFEue9OmkBu98KcBbTlsQCnvisDW3m7PQrMptXwEDlX5HGfP/CHmkEVY2tZA==",
+ "version": "5.0.4",
+ "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-5.0.4.tgz",
+ "integrity": "sha512-yDNE4VnKOzCjH9dCBi7pT4F6kpI3M9TkS+uxnCB0sGIS6t5vKonOY+Hs/UUnSajJGT5jeBRfpI9IQp+r/n1fBA==",
"license": "MIT",
"dependencies": {
- "@astrojs/internal-helpers": "0.8.0",
+ "@astrojs/internal-helpers": "0.9.0",
"@vitejs/plugin-react": "^5.2.0",
"devalue": "^5.6.4",
"ultrahtml": "^1.6.0",
- "vite": "^7.3.1"
+ "vite": "^7.3.2"
},
"engines": {
"node": ">=22.12.0"
@@ -486,9 +387,9 @@
}
},
"node_modules/@astrojs/react/node_modules/vite": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
- "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.3.tgz",
+ "integrity": "sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==",
"license": "MIT",
"dependencies": {
"esbuild": "^0.27.0",
@@ -571,39 +472,39 @@
}
},
"node_modules/@astrojs/starlight": {
- "version": "0.38.2",
- "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.38.2.tgz",
- "integrity": "sha512-7AsrvG4EsXUmJT5uqiXJN4oZqKaY0wc/Ip7C6/zGnShHRVoTAA4jxeYIZ3wqbqA6zv4cnp9qk31vB2m2dUcmfg==",
+ "version": "0.39.2",
+ "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.39.2.tgz",
+ "integrity": "sha512-vlw+bwnjtf5buCTUtLU7JfV6D3knslxqnspr6LKs6hfRuFZiyr5hT44F7GyDqR9FKANUqFxnIzWM81F1k/kOUA==",
"license": "MIT",
"dependencies": {
- "@astrojs/markdown-remark": "^7.0.0",
- "@astrojs/mdx": "^5.0.0",
- "@astrojs/sitemap": "^3.7.1",
+ "@astrojs/markdown-remark": "^7.1.1",
+ "@astrojs/mdx": "^5.0.4",
+ "@astrojs/sitemap": "^3.7.2",
"@pagefind/default-ui": "^1.3.0",
"@types/hast": "^3.0.4",
"@types/js-yaml": "^4.0.9",
"@types/mdast": "^4.0.4",
- "astro-expressive-code": "^0.41.6",
+ "astro-expressive-code": "^0.42.0",
"bcp-47": "^2.1.0",
- "hast-util-from-html": "^2.0.1",
- "hast-util-select": "^6.0.2",
- "hast-util-to-string": "^3.0.0",
- "hastscript": "^9.0.0",
- "i18next": "^23.11.5",
- "js-yaml": "^4.1.0",
+ "hast-util-from-html": "^2.0.3",
+ "hast-util-select": "^6.0.4",
+ "hast-util-to-string": "^3.0.1",
+ "hastscript": "^9.0.1",
+ "i18next": "^26.0.7",
+ "js-yaml": "^4.1.1",
"klona": "^2.0.6",
- "magic-string": "^0.30.17",
- "mdast-util-directive": "^3.0.0",
- "mdast-util-to-markdown": "^2.1.0",
+ "magic-string": "^0.30.21",
+ "mdast-util-directive": "^3.1.0",
+ "mdast-util-to-markdown": "^2.1.2",
"mdast-util-to-string": "^4.0.0",
"pagefind": "^1.3.0",
- "rehype": "^13.0.1",
- "rehype-format": "^5.0.0",
- "remark-directive": "^3.0.0",
+ "rehype": "^13.0.2",
+ "rehype-format": "^5.0.1",
+ "remark-directive": "^4.0.0",
"ultrahtml": "^1.6.0",
"unified": "^11.0.5",
- "unist-util-visit": "^5.0.0",
- "vfile": "^6.0.2"
+ "unist-util-visit": "^5.1.0",
+ "vfile": "^6.0.3"
},
"peerDependencies": {
"astro": "^6.0.0"
@@ -643,17 +544,15 @@
}
},
"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==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.2.tgz",
+ "integrity": "sha512-j8DNruA8ors99Al39RYZPJK4DC1bKkoNm93mAMuBhY9TCNC4R8n1q7ovFnJ5qhGh5Lsh7pa1gpQVpYpsJPeTHQ==",
"license": "MIT",
"dependencies": {
- "ci-info": "^4.2.0",
- "debug": "^4.4.0",
- "dlv": "^1.1.3",
+ "ci-info": "^4.4.0",
"dset": "^3.1.4",
- "is-docker": "^3.0.0",
- "is-wsl": "^3.1.0",
+ "is-docker": "^4.0.0",
+ "is-wsl": "^3.1.1",
"which-pm-runs": "^1.1.0"
},
"engines": {
@@ -896,18 +795,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/runtime": {
- "version": "7.27.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz",
- "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==",
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/template": {
"version": "7.28.6",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
@@ -1485,12 +1372,29 @@
}
},
"node_modules/@expressive-code/plugin-frames": {
- "version": "0.41.7",
- "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.41.7.tgz",
- "integrity": "sha512-diKtxjQw/979cTglRFaMCY/sR6hWF0kSMg8jsKLXaZBSfGS0I/Hoe7Qds3vVEgeoW+GHHQzMcwvgx/MOIXhrTA==",
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.42.0.tgz",
+ "integrity": "sha512-XtkPm+941Uta7Y+81Acv+OA/20F1NJmJhCX6UYGKpqEIGqplNh3PTOhcURp6tcruhlzJcWcvpWy6Oigz3SrjqA==",
+ "license": "MIT",
+ "dependencies": {
+ "@expressive-code/core": "^0.42.0"
+ }
+ },
+ "node_modules/@expressive-code/plugin-frames/node_modules/@expressive-code/core": {
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.42.0.tgz",
+ "integrity": "sha512-MN11+9nfmaC7sYu2BZJXAXqwkBRt8t1xTSqP+Ti1NfTEskgl6xUnzDxoaiQkg0BMzpglA0pys4dpDKquP/cyIw==",
"license": "MIT",
"dependencies": {
- "@expressive-code/core": "^0.41.7"
+ "@ctrl/tinycolor": "^4.0.4",
+ "hast-util-select": "^6.0.2",
+ "hast-util-to-html": "^9.0.1",
+ "hast-util-to-text": "^4.0.1",
+ "hastscript": "^9.0.0",
+ "postcss": "^8.4.38",
+ "postcss-nested": "^6.0.1",
+ "unist-util-visit": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.1"
}
},
"node_modules/@expressive-code/plugin-line-numbers": {
@@ -1503,22 +1407,56 @@
}
},
"node_modules/@expressive-code/plugin-shiki": {
- "version": "0.41.7",
- "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.41.7.tgz",
- "integrity": "sha512-DL605bLrUOgqTdZ0Ot5MlTaWzppRkzzqzeGEu7ODnHF39IkEBbFdsC7pbl3LbUQ1DFtnfx6rD54k/cdofbW6KQ==",
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.42.0.tgz",
+ "integrity": "sha512-PMKey/kLmewttAHQezL+Y5Fx3vVssfDi3+FJOYQQS2mXP3tQspFELtKKAfsXfmSXdToZYgwoO69HJndqfE+09g==",
"license": "MIT",
"dependencies": {
- "@expressive-code/core": "^0.41.7",
- "shiki": "^3.2.2"
+ "@expressive-code/core": "^0.42.0",
+ "shiki": "^4.0.2"
+ }
+ },
+ "node_modules/@expressive-code/plugin-shiki/node_modules/@expressive-code/core": {
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.42.0.tgz",
+ "integrity": "sha512-MN11+9nfmaC7sYu2BZJXAXqwkBRt8t1xTSqP+Ti1NfTEskgl6xUnzDxoaiQkg0BMzpglA0pys4dpDKquP/cyIw==",
+ "license": "MIT",
+ "dependencies": {
+ "@ctrl/tinycolor": "^4.0.4",
+ "hast-util-select": "^6.0.2",
+ "hast-util-to-html": "^9.0.1",
+ "hast-util-to-text": "^4.0.1",
+ "hastscript": "^9.0.0",
+ "postcss": "^8.4.38",
+ "postcss-nested": "^6.0.1",
+ "unist-util-visit": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.1"
}
},
"node_modules/@expressive-code/plugin-text-markers": {
- "version": "0.41.7",
- "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.41.7.tgz",
- "integrity": "sha512-Ewpwuc5t6eFdZmWlFyeuy3e1PTQC0jFvw2Q+2bpcWXbOZhPLsT7+h8lsSIJxb5mS7wZko7cKyQ2RLYDyK6Fpmw==",
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.42.0.tgz",
+ "integrity": "sha512-l59lUx8fq1v5g6SpmbDjiU0+7IdfbiWnAyRmtTVSpfhyq+nZMN4UcmYyu2b9Mynhzt7Gr+O+cXyEPDNb2AVWVQ==",
"license": "MIT",
"dependencies": {
- "@expressive-code/core": "^0.41.7"
+ "@expressive-code/core": "^0.42.0"
+ }
+ },
+ "node_modules/@expressive-code/plugin-text-markers/node_modules/@expressive-code/core": {
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.42.0.tgz",
+ "integrity": "sha512-MN11+9nfmaC7sYu2BZJXAXqwkBRt8t1xTSqP+Ti1NfTEskgl6xUnzDxoaiQkg0BMzpglA0pys4dpDKquP/cyIw==",
+ "license": "MIT",
+ "dependencies": {
+ "@ctrl/tinycolor": "^4.0.4",
+ "hast-util-select": "^6.0.2",
+ "hast-util-to-html": "^9.0.1",
+ "hast-util-to-text": "^4.0.1",
+ "hastscript": "^9.0.0",
+ "postcss": "^8.4.38",
+ "postcss-nested": "^6.0.1",
+ "unist-util-visit": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.1"
}
},
"node_modules/@iconify-json/mdi": {
@@ -2569,45 +2507,58 @@
]
},
"node_modules/@shikijs/core": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.21.0.tgz",
- "integrity": "sha512-AXSQu/2n1UIQekY8euBJlvFYZIw0PHY63jUzGbrOma4wPxzznJXTXkri+QcHeBNaFxiiOljKxxJkVSoB3PjbyA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.0.2.tgz",
+ "integrity": "sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==",
"license": "MIT",
"dependencies": {
- "@shikijs/types": "3.21.0",
+ "@shikijs/primitive": "4.0.2",
+ "@shikijs/types": "4.0.2",
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4",
"hast-util-to-html": "^9.0.5"
+ },
+ "engines": {
+ "node": ">=20"
}
},
"node_modules/@shikijs/engine-javascript": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.21.0.tgz",
- "integrity": "sha512-ATwv86xlbmfD9n9gKRiwuPpWgPENAWCLwYCGz9ugTJlsO2kOzhOkvoyV/UD+tJ0uT7YRyD530x6ugNSffmvIiQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz",
+ "integrity": "sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==",
"license": "MIT",
"dependencies": {
- "@shikijs/types": "3.21.0",
+ "@shikijs/types": "4.0.2",
"@shikijs/vscode-textmate": "^10.0.2",
"oniguruma-to-es": "^4.3.4"
+ },
+ "engines": {
+ "node": ">=20"
}
},
"node_modules/@shikijs/engine-oniguruma": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.21.0.tgz",
- "integrity": "sha512-OYknTCct6qiwpQDqDdf3iedRdzj6hFlOPv5hMvI+hkWfCKs5mlJ4TXziBG9nyabLwGulrUjHiCq3xCspSzErYQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz",
+ "integrity": "sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==",
"license": "MIT",
"dependencies": {
- "@shikijs/types": "3.21.0",
+ "@shikijs/types": "4.0.2",
"@shikijs/vscode-textmate": "^10.0.2"
+ },
+ "engines": {
+ "node": ">=20"
}
},
"node_modules/@shikijs/langs": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.21.0.tgz",
- "integrity": "sha512-g6mn5m+Y6GBJ4wxmBYqalK9Sp0CFkUqfNzUy2pJglUginz6ZpWbaWjDB4fbQ/8SHzFjYbtU6Ddlp1pc+PPNDVA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.0.2.tgz",
+ "integrity": "sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==",
"license": "MIT",
"dependencies": {
- "@shikijs/types": "3.21.0"
+ "@shikijs/types": "4.0.2"
+ },
+ "engines": {
+ "node": ">=20"
}
},
"node_modules/@shikijs/primitive": {
@@ -2624,36 +2575,29 @@
"node": ">=20"
}
},
- "node_modules/@shikijs/primitive/node_modules/@shikijs/types": {
+ "node_modules/@shikijs/themes": {
"version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.0.2.tgz",
- "integrity": "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==",
+ "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.0.2.tgz",
+ "integrity": "sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==",
"license": "MIT",
"dependencies": {
- "@shikijs/vscode-textmate": "^10.0.2",
- "@types/hast": "^3.0.4"
+ "@shikijs/types": "4.0.2"
},
"engines": {
"node": ">=20"
}
},
- "node_modules/@shikijs/themes": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.21.0.tgz",
- "integrity": "sha512-BAE4cr9EDiZyYzwIHEk7JTBJ9CzlPuM4PchfcA5ao1dWXb25nv6hYsoDiBq2aZK9E3dlt3WB78uI96UESD+8Mw==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "3.21.0"
- }
- },
"node_modules/@shikijs/types": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.21.0.tgz",
- "integrity": "sha512-zGrWOxZ0/+0ovPY7PvBU2gIS9tmhSUUt30jAcNV0Bq0gb2S98gwfjIs1vxlmH5zM7/4YxLamT6ChlqqAJmPPjA==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.0.2.tgz",
+ "integrity": "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==",
"license": "MIT",
"dependencies": {
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=20"
}
},
"node_modules/@shikijs/vscode-textmate": {
@@ -3254,9 +3198,9 @@
}
},
"node_modules/anymatch/node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz",
+ "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==",
"license": "MIT",
"engines": {
"node": ">=8.6"
@@ -3306,15 +3250,15 @@
}
},
"node_modules/astro": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/astro/-/astro-6.1.3.tgz",
- "integrity": "sha512-FUKbBYOdYYrRNZwDd9I5CVSfR6Nj9aZeNzcjcvh1FgHwR0uXawkYFR3HiGxmdmAB2m8fs0iIkDdsiUfwGeO8qA==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/astro/-/astro-6.3.1.tgz",
+ "integrity": "sha512-atz6dmkE3Gu24bDgb7g2RE/BYnKqPYIHd6hTUM1UXvu/i7qNZOKLAqEHvgYpv9PQVcgWsXpk4/OOXZ0E/FzvSQ==",
"license": "MIT",
"dependencies": {
- "@astrojs/compiler": "^3.0.1",
- "@astrojs/internal-helpers": "0.8.0",
- "@astrojs/markdown-remark": "7.1.0",
- "@astrojs/telemetry": "3.3.0",
+ "@astrojs/compiler": "^4.0.0",
+ "@astrojs/internal-helpers": "0.9.0",
+ "@astrojs/markdown-remark": "7.1.1",
+ "@astrojs/telemetry": "3.3.2",
"@capsizecss/unpack": "^4.0.0",
"@clack/prompts": "^1.1.0",
"@oslojs/encoding": "^1.1.0",
@@ -3327,16 +3271,17 @@
"cookie": "^1.1.1",
"devalue": "^5.6.3",
"diff": "^8.0.3",
- "dlv": "^1.1.3",
"dset": "^3.1.4",
"es-module-lexer": "^2.0.0",
"esbuild": "^0.27.3",
"flattie": "^1.1.1",
"fontace": "~0.4.1",
+ "get-tsconfig": "5.0.0-beta.4",
"github-slugger": "^2.0.0",
"html-escaper": "3.0.3",
"http-cache-semantics": "^4.2.0",
"js-yaml": "^4.1.1",
+ "jsonc-parser": "^3.3.1",
"magic-string": "^0.30.21",
"magicast": "^0.5.2",
"mrmime": "^2.0.1",
@@ -3346,7 +3291,7 @@
"p-queue": "^9.1.0",
"package-manager-detector": "^1.6.0",
"piccolore": "^0.1.3",
- "picomatch": "^4.0.3",
+ "picomatch": "^4.0.4",
"rehype": "^13.0.2",
"semver": "^7.7.4",
"shiki": "^4.0.2",
@@ -3355,13 +3300,12 @@
"tinyclip": "^0.1.12",
"tinyexec": "^1.0.4",
"tinyglobby": "^0.2.15",
- "tsconfck": "^3.1.6",
"ultrahtml": "^1.6.0",
"unifont": "~0.7.4",
"unist-util-visit": "^5.1.0",
- "unstorage": "^1.17.4",
+ "unstorage": "^1.17.5",
"vfile": "^6.0.3",
- "vite": "^7.3.1",
+ "vite": "^7.3.2",
"vitefu": "^1.1.2",
"xxhash-wasm": "^1.1.0",
"yargs-parser": "^22.0.0",
@@ -3384,12 +3328,12 @@
}
},
"node_modules/astro-expressive-code": {
- "version": "0.41.7",
- "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.41.7.tgz",
- "integrity": "sha512-hUpogGc6DdAd+I7pPXsctyYPRBJDK7Q7d06s4cyP0Vz3OcbziP3FNzN0jZci1BpCvLn9675DvS7B9ctKKX64JQ==",
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.42.0.tgz",
+ "integrity": "sha512-aiTePi2Cn0mJPYWZSzP1GcxCinX9mNtJyCCshVVPSg1yRwM7ADvFJOx0FnS440M9t65hp8JH//dc2qr22Bm4ag==",
"license": "MIT",
"dependencies": {
- "rehype-expressive-code": "^0.41.7"
+ "rehype-expressive-code": "^0.42.0"
},
"peerDependencies": {
"astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta"
@@ -3407,86 +3351,6 @@
"astro": "^4.14.0 || ^5.0.0 || ^6.0.0"
}
},
- "node_modules/astro/node_modules/@shikijs/core": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-4.0.2.tgz",
- "integrity": "sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/primitive": "4.0.2",
- "@shikijs/types": "4.0.2",
- "@shikijs/vscode-textmate": "^10.0.2",
- "@types/hast": "^3.0.4",
- "hast-util-to-html": "^9.0.5"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/astro/node_modules/@shikijs/engine-javascript": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-4.0.2.tgz",
- "integrity": "sha512-7PW0Nm49DcoUIQEXlJhNNBHyoGMjalRETTCcjMqEaMoJRLljy1Bi/EGV3/qLBgLKQejdspiiYuHGQW6dX94Nag==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "4.0.2",
- "@shikijs/vscode-textmate": "^10.0.2",
- "oniguruma-to-es": "^4.3.4"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/astro/node_modules/@shikijs/engine-oniguruma": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-4.0.2.tgz",
- "integrity": "sha512-UpCB9Y2sUKlS9z8juFSKz7ZtysmeXCgnRF0dlhXBkmQnek7lAToPte8DkxmEYGNTMii72zU/lyXiCB6StuZeJg==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "4.0.2",
- "@shikijs/vscode-textmate": "^10.0.2"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/astro/node_modules/@shikijs/langs": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-4.0.2.tgz",
- "integrity": "sha512-KaXby5dvoeuZzN0rYQiPMjFoUrz4hgwIE+D6Du9owcHcl6/g16/yT5BQxSW5cGt2MZBz6Hl0YuRqf12omRfUUg==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "4.0.2"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/astro/node_modules/@shikijs/themes": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-4.0.2.tgz",
- "integrity": "sha512-mjCafwt8lJJaVSsQvNVrJumbnnj1RI8jbUKrPKgE6E3OvQKxnuRoBaYC51H4IGHePsGN/QtALglWBU7DoKDFnA==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/types": "4.0.2"
- },
- "engines": {
- "node": ">=20"
- }
- },
- "node_modules/astro/node_modules/@shikijs/types": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-4.0.2.tgz",
- "integrity": "sha512-qzbeRooUTPnLE+sHD/Z8DStmaDgnbbc/pMrU203950aRqjX/6AFHeDYT+j00y2lPdz0ywJKx7o/7qnqTivtlXg==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/vscode-textmate": "^10.0.2",
- "@types/hast": "^3.0.4"
- },
- "engines": {
- "node": ">=20"
- }
- },
"node_modules/astro/node_modules/sharp": {
"version": "0.34.5",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz",
@@ -3532,29 +3396,10 @@
"@img/sharp-win32-x64": "0.34.5"
}
},
- "node_modules/astro/node_modules/shiki": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.0.2.tgz",
- "integrity": "sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==",
- "license": "MIT",
- "dependencies": {
- "@shikijs/core": "4.0.2",
- "@shikijs/engine-javascript": "4.0.2",
- "@shikijs/engine-oniguruma": "4.0.2",
- "@shikijs/langs": "4.0.2",
- "@shikijs/themes": "4.0.2",
- "@shikijs/types": "4.0.2",
- "@shikijs/vscode-textmate": "^10.0.2",
- "@types/hast": "^3.0.4"
- },
- "engines": {
- "node": ">=20"
- }
- },
"node_modules/astro/node_modules/vite": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
- "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
+ "version": "7.3.3",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.3.tgz",
+ "integrity": "sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==",
"license": "MIT",
"dependencies": {
"esbuild": "^0.27.0",
@@ -4338,12 +4183,6 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "node_modules/dlv": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
- "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
- "license": "MIT"
- },
"node_modules/dom-serializer": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
@@ -4667,15 +4506,32 @@
}
},
"node_modules/expressive-code": {
- "version": "0.41.7",
- "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.41.7.tgz",
- "integrity": "sha512-2wZjC8OQ3TaVEMcBtYY4Va3lo6J+Ai9jf3d4dbhURMJcU4Pbqe6EcHe424MIZI0VHUA1bR6xdpoHYi3yxokWqA==",
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.42.0.tgz",
+ "integrity": "sha512-V5DtJLEKuj4wf9O6IRtPtRObkMVy2ggR+S0MdjrTw6m58krZnDioyhW1si3Y04c5YPeooP4nd85Yq9NwEVHS4g==",
+ "license": "MIT",
+ "dependencies": {
+ "@expressive-code/core": "^0.42.0",
+ "@expressive-code/plugin-frames": "^0.42.0",
+ "@expressive-code/plugin-shiki": "^0.42.0",
+ "@expressive-code/plugin-text-markers": "^0.42.0"
+ }
+ },
+ "node_modules/expressive-code/node_modules/@expressive-code/core": {
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.42.0.tgz",
+ "integrity": "sha512-MN11+9nfmaC7sYu2BZJXAXqwkBRt8t1xTSqP+Ti1NfTEskgl6xUnzDxoaiQkg0BMzpglA0pys4dpDKquP/cyIw==",
"license": "MIT",
"dependencies": {
- "@expressive-code/core": "^0.41.7",
- "@expressive-code/plugin-frames": "^0.41.7",
- "@expressive-code/plugin-shiki": "^0.41.7",
- "@expressive-code/plugin-text-markers": "^0.41.7"
+ "@ctrl/tinycolor": "^4.0.4",
+ "hast-util-select": "^6.0.2",
+ "hast-util-to-html": "^9.0.1",
+ "hast-util-to-text": "^4.0.1",
+ "hastscript": "^9.0.0",
+ "postcss": "^8.4.38",
+ "postcss-nested": "^6.0.1",
+ "unist-util-visit": "^5.0.0",
+ "unist-util-visit-parents": "^6.0.1"
}
},
"node_modules/extend": {
@@ -4802,6 +4658,21 @@
"node": ">=6.9.0"
}
},
+ "node_modules/get-tsconfig": {
+ "version": "5.0.0-beta.4",
+ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-5.0.0-beta.4.tgz",
+ "integrity": "sha512-7nF7C9fIPFEMHgEMEfgIlO9wDdZ8CyHw27rWciFZfHvHDReIiPhsYuzPRXsfvBCqFy1l8RRyyWV7QLM+ZhUJsQ==",
+ "license": "MIT",
+ "dependencies": {
+ "resolve-pkg-maps": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=20.20.0"
+ },
+ "funding": {
+ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
+ }
+ },
"node_modules/github-from-package": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
@@ -4821,14 +4692,14 @@
"license": "ISC"
},
"node_modules/h3": {
- "version": "1.15.5",
- "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz",
- "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==",
+ "version": "1.15.11",
+ "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.11.tgz",
+ "integrity": "sha512-L3THSe2MPeBwgIZVSH5zLdBBU90TOxarvhK9d04IDY2AmVS8j2Jz2LIWtwsGOU3lu2I5jCN7FNvVfY2+XyF+mg==",
"license": "MIT",
"dependencies": {
- "cookie-es": "^1.2.2",
+ "cookie-es": "^1.2.3",
"crossws": "^0.3.5",
- "defu": "^6.1.4",
+ "defu": "^6.1.6",
"destr": "^2.0.5",
"iron-webcrypto": "^1.2.1",
"node-mock-http": "^1.0.4",
@@ -5314,26 +5185,31 @@
"license": "BSD-2-Clause"
},
"node_modules/i18next": {
- "version": "23.16.8",
- "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz",
- "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==",
+ "version": "26.1.0",
+ "resolved": "https://registry.npmjs.org/i18next/-/i18next-26.1.0.tgz",
+ "integrity": "sha512-dIU6td04DvQuIqVst5S9g0GviTmhZ0DYD4b9ociVGJmuCa5vZ2de/t+Enf4olvj87mF8Y2lwjNQBwC9QZsvzKQ==",
"funding": [
{
"type": "individual",
- "url": "https://locize.com"
+ "url": "https://www.locize.com/i18next"
},
{
"type": "individual",
- "url": "https://locize.com/i18next.html"
+ "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
},
{
"type": "individual",
- "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project"
+ "url": "https://www.locize.com"
}
],
"license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.23.2"
+ "peerDependencies": {
+ "typescript": "^5 || ^6"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
}
},
"node_modules/ieee754": {
@@ -5436,15 +5312,15 @@
}
},
"node_modules/is-docker": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
- "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-4.0.0.tgz",
+ "integrity": "sha512-LHE+wROyG/Y/0ZnbktRCoTix2c1RhgWaZraMZ8o1Q7zCh0VSrICJQO5oqIIISrcSBtrXv0o233w1IYwsWCjTzA==",
"license": "MIT",
"bin": {
"is-docker": "cli.js"
},
"engines": {
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ "node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -5478,6 +5354,21 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/is-inside-container/node_modules/is-docker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -5500,9 +5391,9 @@
}
},
"node_modules/is-wsl": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
- "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz",
+ "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==",
"license": "MIT",
"dependencies": {
"is-inside-container": "^1.0.0"
@@ -5565,6 +5456,12 @@
"node": ">=6"
}
},
+ "node_modules/jsonc-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
+ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+ "license": "MIT"
+ },
"node_modules/klona": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
@@ -6271,9 +6168,9 @@
}
},
"node_modules/micromark-extension-directive": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz",
- "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz",
+ "integrity": "sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==",
"license": "MIT",
"dependencies": {
"devlop": "^1.0.0",
@@ -7165,19 +7062,19 @@
}
},
"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==",
+ "version": "0.12.2",
+ "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz",
+ "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==",
"license": "MIT"
},
"node_modules/oniguruma-to-es": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz",
- "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==",
+ "version": "4.3.6",
+ "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz",
+ "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==",
"license": "MIT",
"dependencies": {
- "oniguruma-parser": "^0.12.1",
- "regex": "^6.0.1",
+ "oniguruma-parser": "^0.12.2",
+ "regex": "^6.1.0",
"regex-recursion": "^6.0.2"
}
},
@@ -7320,9 +7217,9 @@
"license": "ISC"
},
"node_modules/picomatch": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
- "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz",
+ "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==",
"license": "MIT",
"engines": {
"node": ">=12"
@@ -7634,12 +7531,6 @@
"url": "https://opencollective.com/unified"
}
},
- "node_modules/regenerator-runtime": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
- "license": "MIT"
- },
"node_modules/regex": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz",
@@ -7681,12 +7572,12 @@
}
},
"node_modules/rehype-expressive-code": {
- "version": "0.41.7",
- "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.41.7.tgz",
- "integrity": "sha512-25f8ZMSF1d9CMscX7Cft0TSQIqdwjce2gDOvQ+d/w0FovsMwrSt3ODP4P3Z7wO1jsIJ4eYyaDRnIR/27bd/EMQ==",
+ "version": "0.42.0",
+ "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.42.0.tgz",
+ "integrity": "sha512-8rp/1YMEVVSYbtz+bFBx+uSx3vA4i4T8RwRm5Q/IWbucQnnQqQ0hDqtmKOr8tv+59Cik6cu5aH3WPo0I7csuTA==",
"license": "MIT",
"dependencies": {
- "expressive-code": "^0.41.7"
+ "expressive-code": "^0.42.0"
}
},
"node_modules/rehype-format": {
@@ -7795,14 +7686,14 @@
}
},
"node_modules/remark-directive": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.1.tgz",
- "integrity": "sha512-gwglrEQEZcZYgVyG1tQuA+h58EZfq5CSULw7J90AFuCTyib1thgHPoqQ+h9iFvU6R+vnZ5oNFQR5QKgGpk741A==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-4.0.0.tgz",
+ "integrity": "sha512-7sxn4RfF1o3izevPV1DheyGDD6X4c9hrGpfdUpm7uC++dqrnJxIZVkk7CoKqcLm0VUMAuOol7Mno3m6g8cfMuA==",
"license": "MIT",
"dependencies": {
"@types/mdast": "^4.0.0",
"mdast-util-directive": "^3.0.0",
- "micromark-extension-directive": "^3.0.0",
+ "micromark-extension-directive": "^4.0.0",
"unified": "^11.0.0"
},
"funding": {
@@ -7905,6 +7796,15 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/resolve-pkg-maps": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+ "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+ }
+ },
"node_modules/retext": {
"version": "9.0.0",
"resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz",
@@ -8088,19 +7988,22 @@
}
},
"node_modules/shiki": {
- "version": "3.21.0",
- "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.21.0.tgz",
- "integrity": "sha512-N65B/3bqL/TI2crrXr+4UivctrAGEjmsib5rPMMPpFp1xAx/w03v8WZ9RDDFYteXoEgY7qZ4HGgl5KBIu1153w==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-4.0.2.tgz",
+ "integrity": "sha512-eAVKTMedR5ckPo4xne/PjYQYrU3qx78gtJZ+sHlXEg5IHhhoQhMfZVzetTYuaJS0L2Ef3AcCRzCHV8T0WI6nIQ==",
"license": "MIT",
"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/core": "4.0.2",
+ "@shikijs/engine-javascript": "4.0.2",
+ "@shikijs/engine-oniguruma": "4.0.2",
+ "@shikijs/langs": "4.0.2",
+ "@shikijs/themes": "4.0.2",
+ "@shikijs/types": "4.0.2",
"@shikijs/vscode-textmate": "^10.0.2",
"@types/hast": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=20"
}
},
"node_modules/simple-concat": {
@@ -8636,26 +8539,6 @@
"url": "https://github.com/sponsors/wooorm"
}
},
- "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"
- },
- "engines": {
- "node": "^18 || >=20"
- },
- "peerDependencies": {
- "typescript": "^5.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
"node_modules/tslib": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
@@ -8891,16 +8774,16 @@
}
},
"node_modules/unstorage": {
- "version": "1.17.4",
- "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz",
- "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==",
+ "version": "1.17.5",
+ "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.5.tgz",
+ "integrity": "sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==",
"license": "MIT",
"dependencies": {
"anymatch": "^3.1.3",
"chokidar": "^5.0.0",
"destr": "^2.0.5",
- "h3": "^1.15.5",
- "lru-cache": "^11.2.0",
+ "h3": "^1.15.10",
+ "lru-cache": "^11.2.7",
"node-fetch-native": "^1.6.7",
"ofetch": "^1.5.1",
"ufo": "^1.6.3"
@@ -8987,9 +8870,9 @@
}
},
"node_modules/unstorage/node_modules/lru-cache": {
- "version": "11.2.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
- "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
+ "version": "11.3.6",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.6.tgz",
+ "integrity": "sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==",
"license": "BlueOak-1.0.0",
"engines": {
"node": "20 || >=22"
diff --git a/package.json b/package.json
index 239daf89..8e86715e 100644
--- a/package.json
+++ b/package.json
@@ -12,10 +12,10 @@
"sync:licensing-tags": "node scripts/sync-licensing-tags.mjs"
},
"dependencies": {
- "@astrojs/markdoc": "^1.0.3",
- "@astrojs/react": "^5.0.2",
+ "@astrojs/markdoc": "^1.0.4",
+ "@astrojs/react": "^5.0.4",
"@astrojs/sitemap": "^3.7.2",
- "@astrojs/starlight": "^0.38.2",
+ "@astrojs/starlight": "^0.39.2",
"@astrojs/starlight-docsearch": "^0.7.0",
"@astrojs/starlight-markdoc": "^0.6.0",
"@astrojs/starlight-tailwind": "^5.0.0",
@@ -25,7 +25,7 @@
"@tanstack/react-table": "^8.21.3",
"@types/react": "^19.1.3",
"@types/react-dom": "^19.1.3",
- "astro": "^6.1.3",
+ "astro": "^6.3.1",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.509.0",
diff --git a/src/content/docs/aws/tooling/extensions/developing-extensions.mdx b/src/content/docs/aws/tooling/extensions/developing-extensions.mdx
index 868ae825..8a9aa5c6 100644
--- a/src/content/docs/aws/tooling/extensions/developing-extensions.mdx
+++ b/src/content/docs/aws/tooling/extensions/developing-extensions.mdx
@@ -3,8 +3,8 @@ title: Developing extensions
description: How to develop your own extensions.
template: doc
sidebar:
- order: 4
-tags: ["Hobby"]
+ order: 3
+tags: ['Hobby']
---
import { FileTree } from '@astrojs/starlight/components';
@@ -199,19 +199,12 @@ version [0.1.0]:
This will create a new Python project with the following layout:
-- my-localstack-extension
- - Makefile
- - my_localstack_extension
- - extension.py
- - __init__.py
- - README.md
- - setup.cfg
- - setup.py
+ - my-localstack-extension - Makefile - my_localstack_extension - extension.py
+ - __init__.py - README.md - setup.cfg - setup.py
Then run `make install` in the newly created project to make a distribution package.
-
#### Using the React template
To create an extension with a React-based UI, use the `--template react` flag:
@@ -231,19 +224,9 @@ version [0.1.0]:
The React template provides a small app with multiple pages to demonstrate how to use multiple pages in the same extension. When you start the LocalStack container with your React-based extension enabled, the extension UI will be automatically available through the LocalStack Web Application.
-- my-localstack-extension
- - Makefile
- - README.md
- - backend
- - my_localstack_extension
- - backend.pth
- - frontend
- - \_\_init\_\_.py
- - package.json
- - public
- - src
- - tsconfig.json
- - pyproject.toml
+ - my-localstack-extension - Makefile - README.md - backend -
+ my_localstack_extension - backend.pth - frontend - \_\_init\_\_.py -
+ package.json - public - src - tsconfig.json - pyproject.toml
The extension UI will be available at `http://localhost.localstack.cloud:4566/_extension/my-localstack-extension/#/dashboard` when LocalStack is running.
diff --git a/src/content/docs/aws/tooling/extensions/extensions-library.md b/src/content/docs/aws/tooling/extensions/extensions-library.md
index 58f780a5..ed0ab95f 100644
--- a/src/content/docs/aws/tooling/extensions/extensions-library.md
+++ b/src/content/docs/aws/tooling/extensions/extensions-library.md
@@ -3,8 +3,8 @@ title: Extensions Library
description: Extend LocalStack by adding new services and features as extensions.
template: doc
sidebar:
- order: 5
-tags: ["Hobby"]
+ order: 4
+tags: ['Hobby']
---
## Introduction
@@ -30,4 +30,4 @@ Click **Continue** to proceed.
You can further manage the installed extensions by navigating to the **Extensions** tab in the LocalStack Instance page.
You can remove an Extension by clicking the **Remove** button.
-
\ No newline at end of file
+
diff --git a/src/content/docs/aws/tooling/extensions/index.md b/src/content/docs/aws/tooling/extensions/index.md
index e8841a49..4f0b6916 100644
--- a/src/content/docs/aws/tooling/extensions/index.md
+++ b/src/content/docs/aws/tooling/extensions/index.md
@@ -3,8 +3,9 @@ title: Overview
description: Use LocalStack Extensions to customize and extend your local development experience.
template: doc
sidebar:
- order: 1
-tags: ["Hobby"]
+ label: 'Overview'
+ order: 1
+tags: ['Hobby']
---
LocalStack Extensions let you customize and extend LocalStack's core functionality by running additional logic and services inside the same container. This feature is available across all LocalStack plans, and is ideal for teams that want deeper control over how LocalStack behaves during development or testing.
@@ -30,4 +31,4 @@ Our [MailHog tutorial](/aws/tooling/extensions/mailhog) teaches you how to insta
:::note
The feature and the API are currently in preview stage and may be subject to change.
Please report any issues or feature requests on [LocalStack Extension's GitHub repository](https://github.com/localstack/localstack-extensions).
-:::
\ No newline at end of file
+:::
diff --git a/src/content/docs/aws/tooling/extensions/mailhog.md b/src/content/docs/aws/tooling/extensions/mailhog.md
index 65650dc2..8d99006d 100644
--- a/src/content/docs/aws/tooling/extensions/mailhog.md
+++ b/src/content/docs/aws/tooling/extensions/mailhog.md
@@ -3,7 +3,8 @@ title: MailHog
description: Learn how to install and use the official MailHog extension.
template: doc
sidebar:
- order: 2
+ label: The Mailhog Extension
+ order: 6
tags: ['Hobby']
---
diff --git a/src/content/docs/aws/tooling/extensions/managing-extensions.mdx b/src/content/docs/aws/tooling/extensions/managing-extensions.mdx
index e91bf36e..58dc5d52 100644
--- a/src/content/docs/aws/tooling/extensions/managing-extensions.mdx
+++ b/src/content/docs/aws/tooling/extensions/managing-extensions.mdx
@@ -3,8 +3,8 @@ title: Managing extensions
description: How to manage LocalStack extensions in your LocalStack environment.
template: doc
sidebar:
- order: 3
-tags: ["Hobby"]
+ order: 2
+tags: ['Hobby']
---
import { FileTree } from '@astrojs/starlight/components';
@@ -84,8 +84,8 @@ If you decide to mount a different directory to `/var/lib/localstack` in your do
```yaml
volumes:
- - "/tmp/volume:/var/lib/localstack" # LOCALSTACK_VOLUME_DIR mount
- - "/var/run/docker.sock:/var/run/docker.sock"
+ - '/tmp/volume:/var/lib/localstack' # LOCALSTACK_VOLUME_DIR mount
+ - '/var/run/docker.sock:/var/run/docker.sock'
```
Here's how you can use `LOCALSTACK_VOLUME_DIR` in your commands:
@@ -113,18 +113,18 @@ In a docker-compose file, this would look something like:
```yaml showLineNumbers
services:
localstack:
- container_name: "localstack-main"
+ container_name: 'localstack-main'
image: localstack/localstack-pro
ports:
- - "127.0.0.1:4566:4566"
- - "127.0.0.1:4510-4559:4510-4559"
+ - '127.0.0.1:4566:4566'
+ - '127.0.0.1:4510-4559:4510-4559'
environment:
- LOCALSTACK_AUTH_TOKEN=${LOCALSTACK_AUTH_TOKEN:?}
- DEBUG=1
- EXTENSION_AUTO_INSTALL=localstack-extension-mailhog,localstack-extension-httpbin
volumes:
- - "./volume:/var/lib/localstack"
- - "/var/run/docker.sock:/var/run/docker.sock"
+ - './volume:/var/lib/localstack'
+ - '/var/run/docker.sock:/var/run/docker.sock'
```
### Configuration file
@@ -136,33 +136,30 @@ Since LocalStack extensions are essentially just Python pip packages, the `exten
An example project could look something like this:
-* `extensions.txt`
+- `extensions.txt`
```text
localstack-extension-mailhog
git+https://github.com/localstack/localstack-extensions/#egg=localstack-extension-aws-replicator&subdirectory=aws-replicator
```
-* Project layout:
+- Project layout:
-
- - extension-install
- - conf.d
- - extensions.txt
- - docker-compose.yml
-
+
+ - extension-install - conf.d - extensions.txt - docker-compose.yml
+
-* `docker-compose.yaml`
+- `docker-compose.yaml`
- ```yaml showLineNumbers
- services:
- localstack:
- ...
- volumes:
- - "./volume:/var/lib/localstack"
- - "conf.d:/etc/localstack/conf.d"
- - "/var/run/docker.sock:/var/run/docker.sock"
- ```
+ ```yaml showLineNumbers
+ services:
+ localstack:
+ ...
+ volumes:
+ - "./volume:/var/lib/localstack"
+ - "conf.d:/etc/localstack/conf.d"
+ - "/var/run/docker.sock:/var/run/docker.sock"
+ ```
When LocalStack starts up, you should see it tries to install the extensions and all their dependencies.
@@ -212,7 +209,7 @@ ModuleNotFoundError: No module named 'flask'
To resolve this, follow these steps:
-* Clear the directory mounted to the LocalStack container at `/var/lib/localstack`.
-* Pull the `latest` image of LocalStack (`localstack/localstack-pro:latest`).
-* Restart the LocalStack container.
-* Reinstall any extensions you were using, unless you have `EXTENSION_AUTO_INSTALL` enabled.
\ No newline at end of file
+- Clear the directory mounted to the LocalStack container at `/var/lib/localstack`.
+- Pull the `latest` image of LocalStack (`localstack/localstack-pro:latest`).
+- Restart the LocalStack container.
+- Reinstall any extensions you were using, unless you have `EXTENSION_AUTO_INSTALL` enabled.