From 3e72958d941826ff6592b55512dedaa3d6ee6818 Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Thu, 20 Aug 2026 16:01:12 +0200
Subject: [PATCH 01/10] feat: update astro and satteri
---
docs/package.json | 2 +-
examples/basics/package.json | 2 +-
examples/markdoc/package.json | 2 +-
examples/tailwind/package.json | 2 +-
package.json | 2 +-
.../__e2e__/fixtures/basics/package.json | 2 +-
.../fixtures/custom src-dir/package.json | 2 +-
.../__e2e__/fixtures/git/package.json | 2 +-
.../package.json | 2 +-
.../fixtures/no-mdx-optimization/package.json | 2 +-
.../__e2e__/fixtures/ssr/package.json | 2 +-
.../markdown-processor/asides.test.ts | 13 +-
.../__tests__/markdown-processor/utils.ts | 8 +-
.../integrations/markdown-plugins.ts | 8 +-
packages/starlight/integrations/satteri.ts | 8 +-
packages/starlight/package.json | 12 +-
pnpm-lock.yaml | 474 +++++++++++++-----
pnpm-workspace.yaml | 8 +
18 files changed, 391 insertions(+), 162 deletions(-)
diff --git a/docs/package.json b/docs/package.json
index 35e87b06d34..3b7827f1597 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -21,7 +21,7 @@
"@astrojs/starlight": "workspace:*",
"@lunariajs/core": "^0.1.1",
"@types/culori": "^4.0.1",
- "astro": "^7.1.6",
+ "astro": "^7.2.4",
"culori": "^4.0.2",
"sharp": "^0.35.3"
},
diff --git a/examples/basics/package.json b/examples/basics/package.json
index 0000f457605..033fa395390 100644
--- a/examples/basics/package.json
+++ b/examples/basics/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/starlight": "^0.41.7",
- "astro": "^7.1.6",
+ "astro": "^7.2.4",
"sharp": "^0.35.3"
}
}
diff --git a/examples/markdoc/package.json b/examples/markdoc/package.json
index 796ab8a6d59..58a8450f386 100644
--- a/examples/markdoc/package.json
+++ b/examples/markdoc/package.json
@@ -14,7 +14,7 @@
"@astrojs/markdoc": "^2.0.6",
"@astrojs/starlight": "^0.41.7",
"@astrojs/starlight-markdoc": "^0.7.0",
- "astro": "^7.1.6",
+ "astro": "^7.2.4",
"sharp": "^0.35.3"
}
}
diff --git a/examples/tailwind/package.json b/examples/tailwind/package.json
index 55334ede9a1..059a0aacbbe 100644
--- a/examples/tailwind/package.json
+++ b/examples/tailwind/package.json
@@ -14,7 +14,7 @@
"@astrojs/starlight": "^0.41.7",
"@astrojs/starlight-tailwind": "^5.0.0",
"@tailwindcss/vite": "^4.2.4",
- "astro": "^7.1.6",
+ "astro": "^7.2.4",
"sharp": "^0.35.3",
"tailwindcss": "^4.2.4"
}
diff --git a/package.json b/package.json
index 6e3b813a44a..56155c4829d 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"@changesets/cli": "^2.31.0",
"@eslint/js": "^10.0.1",
"@size-limit/file": "^12.1.0",
- "astro": "^7.1.6",
+ "astro": "^7.2.4",
"eslint": "^10.3.0",
"eslint-config-prettier": "^10.1.8",
"globals": "^17.6.0",
diff --git a/packages/starlight/__e2e__/fixtures/basics/package.json b/packages/starlight/__e2e__/fixtures/basics/package.json
index ca8d4bb11d1..32461b54936 100644
--- a/packages/starlight/__e2e__/fixtures/basics/package.json
+++ b/packages/starlight/__e2e__/fixtures/basics/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.1.6"
+ "astro": "^7.2.4"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/custom src-dir/package.json b/packages/starlight/__e2e__/fixtures/custom src-dir/package.json
index 8a4f0e2394d..9a0586a6043 100644
--- a/packages/starlight/__e2e__/fixtures/custom src-dir/package.json
+++ b/packages/starlight/__e2e__/fixtures/custom src-dir/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.1.6"
+ "astro": "^7.2.4"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/git/package.json b/packages/starlight/__e2e__/fixtures/git/package.json
index b739822e8d6..b41fd910e70 100644
--- a/packages/starlight/__e2e__/fixtures/git/package.json
+++ b/packages/starlight/__e2e__/fixtures/git/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.1.6"
+ "astro": "^7.2.4"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat/package.json b/packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat/package.json
index 65d218a901a..c9351a30629 100644
--- a/packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat/package.json
+++ b/packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.1.6"
+ "astro": "^7.2.4"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/no-mdx-optimization/package.json b/packages/starlight/__e2e__/fixtures/no-mdx-optimization/package.json
index 27df071a410..db4e2e28320 100644
--- a/packages/starlight/__e2e__/fixtures/no-mdx-optimization/package.json
+++ b/packages/starlight/__e2e__/fixtures/no-mdx-optimization/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.1.6"
+ "astro": "^7.2.4"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/ssr/package.json b/packages/starlight/__e2e__/fixtures/ssr/package.json
index adc96bea694..2fc1d65c494 100644
--- a/packages/starlight/__e2e__/fixtures/ssr/package.json
+++ b/packages/starlight/__e2e__/fixtures/ssr/package.json
@@ -5,6 +5,6 @@
"dependencies": {
"@astrojs/node": "^11.0.0",
"@astrojs/starlight": "workspace:*",
- "astro": "^7.1.6"
+ "astro": "^7.2.4"
}
}
diff --git a/packages/starlight/__tests__/markdown-processor/asides.test.ts b/packages/starlight/__tests__/markdown-processor/asides.test.ts
index 36f5814891c..8d9f3be2787 100644
--- a/packages/starlight/__tests__/markdown-processor/asides.test.ts
+++ b/packages/starlight/__tests__/markdown-processor/asides.test.ts
@@ -2,7 +2,8 @@ import type { Root } from 'mdast';
import { visit } from 'unist-util-visit';
import { createMarkdownProcessor } from '@astrojs/markdown-remark';
import { createSatteriMarkdownProcessor } from '@astrojs/markdown-satteri';
-import type { MdastPluginDefinition } from 'satteri';
+// TODO(HiDeoo) Cleanup import when https://github.com/withastro/astro/pull/17766 is released
+import type { HastPluginDefinition, MdastPluginDefinition } from 'satteri';
import { describe, expect, test, vi } from 'vitest';
import { remarkDirectivesRestoration } from '../../integrations/remark-asides';
import { satteriDirectivesRestoration, starlightSatteriPlugins } from '../../integrations/satteri';
@@ -258,8 +259,14 @@ describe('asides directive restoration (Sätteri)', () => {
await createPluginTestOptions(starlightConfig)
);
return createSatteriMarkdownProcessor({
- mdastPlugins: [...mdastPlugins, ...extraMdastPlugins, satteriDirectivesRestoration()],
- hastPlugins,
+ mdastPlugins: [
+ ...mdastPlugins,
+ ...extraMdastPlugins,
+ satteriDirectivesRestoration(),
+ // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
+ ] as MdastPluginDefinition[],
+ // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
+ hastPlugins: hastPlugins as HastPluginDefinition[],
// Starlight's asides rely on container directives, which Sätteri disables by default.
features: { directive: true },
});
diff --git a/packages/starlight/__tests__/markdown-processor/utils.ts b/packages/starlight/__tests__/markdown-processor/utils.ts
index 96f69ddac25..dce2584b81a 100644
--- a/packages/starlight/__tests__/markdown-processor/utils.ts
+++ b/packages/starlight/__tests__/markdown-processor/utils.ts
@@ -6,6 +6,8 @@ import { starlightRehypePlugins, starlightRemarkPlugins } from '../../integratio
import { satteriDirectivesRestoration, starlightSatteriPlugins } from '../../integrations/satteri';
import type { StarlightUserConfig } from '../../utils/user-config';
import { createPluginTestOptions, docFileURL } from '../test-utils';
+// TODO(HiDeoo) Remove import when https://github.com/withastro/astro/pull/17766 is released
+import type { HastPluginDefinition, MdastPluginDefinition } from 'satteri';
/**
* The Markdown processors Starlight supports. The same Starlight transforms (asides, heading anchor
@@ -24,8 +26,10 @@ export async function createStarlightMarkdownProcessor(
if (name === 'satteri') {
const { mdastPlugins, hastPlugins } = starlightSatteriPlugins(options);
return createSatteriMarkdownProcessor({
- mdastPlugins: [...mdastPlugins, satteriDirectivesRestoration()],
- hastPlugins,
+ // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
+ mdastPlugins: [...mdastPlugins, satteriDirectivesRestoration()] as MdastPluginDefinition[],
+ // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
+ hastPlugins: hastPlugins as HastPluginDefinition[],
// Starlight's asides rely on container directives, which Sätteri disables by default.
features: { directive: true },
...(syntaxHighlight === false ? { syntaxHighlight: false } : {}),
diff --git a/packages/starlight/integrations/markdown-plugins.ts b/packages/starlight/integrations/markdown-plugins.ts
index 23262e59cd0..e9ee3c63dae 100644
--- a/packages/starlight/integrations/markdown-plugins.ts
+++ b/packages/starlight/integrations/markdown-plugins.ts
@@ -2,6 +2,8 @@ import { isSatteriProcessor } from '@astrojs/markdown-satteri';
import type { AstroConfig, AstroIntegration, AstroIntegrationLogger } from 'astro';
import type { MarkdownProcessorPluginOptions } from './markdown-processor';
import { satteriDirectivesRestoration, starlightSatteriPlugins } from './satteri';
+// TODO(HiDeoo) Remove import when https://github.com/withastro/astro/pull/17766 is released
+import type { HastPluginEntry, MdastPluginEntry } from 'satteri';
// This file is imported by the Starlight integration that is used in Astro configuration files.
// When using Starlight, Astro loads its configuration using a temporary Vite module runner and
@@ -28,8 +30,10 @@ export function applyStarlightMarkdownPlugins(
// Starlight's asides are built on container directives, which Sätteri disables by default.
processor.options.features.directive = true;
const { mdastPlugins, hastPlugins } = starlightSatteriPlugins(options);
- processor.options.mdastPlugins.push(...mdastPlugins);
- processor.options.hastPlugins.push(...hastPlugins);
+ // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
+ (processor.options.mdastPlugins as MdastPluginEntry[]).push(...mdastPlugins);
+ // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
+ (processor.options.hastPlugins as HastPluginEntry[]).push(...hastPlugins);
} else if (unified?.isUnifiedProcessor(processor)) {
processor.options.remarkPlugins.push(...unified.starlightRemarkPlugins(options));
processor.options.rehypePlugins.push(...unified.starlightRehypePlugins(options));
diff --git a/packages/starlight/integrations/satteri.ts b/packages/starlight/integrations/satteri.ts
index d93c5f17f1d..016cdfe4a8e 100644
--- a/packages/starlight/integrations/satteri.ts
+++ b/packages/starlight/integrations/satteri.ts
@@ -6,10 +6,10 @@ import { directiveToMarkdown } from 'mdast-util-directive';
import { toMarkdown } from 'mdast-util-to-markdown';
import type {
HastPluginDefinition,
- HastPluginInput,
HastVisitorContext,
- MdastPluginInput,
MdastPluginDefinition,
+ MdastPluginEntry,
+ HastPluginEntry,
} from 'satteri';
import { headingLinkIconChildren } from './markdown-icon';
import { getAsideIcon, isAsideVariant } from './aside-utils';
@@ -20,8 +20,8 @@ import {
} from './markdown-processor';
export function starlightSatteriPlugins(options: MarkdownProcessorPluginOptions): {
- mdastPlugins: MdastPluginInput[];
- hastPlugins: HastPluginInput[];
+ mdastPlugins: MdastPluginEntry[];
+ hastPlugins: HastPluginEntry[];
} {
const allowedPaths = getMarkdownProcessorPaths(options);
return {
diff --git a/packages/starlight/package.json b/packages/starlight/package.json
index cbdb144cb6b..b1daa32d2d6 100644
--- a/packages/starlight/package.json
+++ b/packages/starlight/package.json
@@ -49,7 +49,7 @@
},
"peerDependencies": {
"@astrojs/markdown-remark": "^7.2.0",
- "astro": "^7.0.2"
+ "astro": "^7.2.4"
},
"peerDependenciesMeta": {
"@astrojs/markdown-remark": {
@@ -57,20 +57,20 @@
}
},
"devDependencies": {
- "@astrojs/markdown-remark": "^7.2.2",
+ "@astrojs/markdown-remark": "^7.2.4",
"@playwright/test": "^1.61.1",
"@types/node": "^22.19.17",
"@vitest/coverage-v8": "^4.1.5",
- "astro": "^7.1.6",
+ "astro": "^7.2.4",
"linkedom": "^0.18.12",
"vitest": "^4.1.5"
},
"dependencies": {
- "@astrojs/markdown-satteri": "^0.3.5",
+ "@astrojs/markdown-satteri": "^0.3.7",
"@astrojs/mdx": "^7.0.5",
"@astrojs/sitemap": "^3.7.3",
"@pagefind/default-ui": "^1.3.0",
- "@types/hast": "^3.0.4",
+ "@types/hast": "^3.0.5",
"@types/js-yaml": "^4.0.9",
"@types/mdast": "^4.0.4",
"astro-expressive-code": "^0.44.0",
@@ -90,7 +90,7 @@
"rehype": "^13.0.2",
"rehype-format": "^5.0.1",
"remark-directive": "^4.0.0",
- "satteri": "^0.9.1",
+ "satteri": "^0.10.3",
"ultrahtml": "^1.6.0",
"unified": "^11.0.5",
"unist-util-visit": "^5.1.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 547ef4adf47..c34f3a08f6a 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -24,8 +24,8 @@ importers:
specifier: ^12.1.0
version: 12.1.0(size-limit@12.1.0(jiti@2.6.1))
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
eslint:
specifier: ^10.3.0
version: 10.3.0(jiti@2.6.1)
@@ -69,8 +69,8 @@ importers:
specifier: ^4.0.1
version: 4.0.1
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
culori:
specifier: ^4.0.2
version: 4.0.2
@@ -89,7 +89,7 @@ importers:
version: 4.1.5
starlight-links-validator:
specifier: ^0.25.2
- version: 0.25.2(@astrojs/starlight@packages+starlight)(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))
+ version: 0.25.2(@astrojs/starlight@packages+starlight)(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))
examples/basics:
dependencies:
@@ -97,8 +97,8 @@ importers:
specifier: ^0.41.7
version: link:../../packages/starlight
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
sharp:
specifier: ^0.35.3
version: 0.35.3(@types/node@24.12.4)
@@ -107,7 +107,7 @@ importers:
dependencies:
'@astrojs/markdoc':
specifier: ^2.0.6
- version: 2.0.6(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))
+ version: 2.0.6(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))
'@astrojs/starlight':
specifier: ^0.41.7
version: link:../../packages/starlight
@@ -115,8 +115,8 @@ importers:
specifier: ^0.7.0
version: link:../../packages/markdoc
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
sharp:
specifier: ^0.35.3
version: 0.35.3(@types/node@24.12.4)
@@ -133,8 +133,8 @@ importers:
specifier: ^4.2.4
version: 4.2.4(vite@8.2.0(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(yaml@2.8.3))
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
sharp:
specifier: ^0.35.3
version: 0.35.3(@types/node@24.12.4)
@@ -169,7 +169,7 @@ importers:
devDependencies:
'@astrojs/markdoc':
specifier: ^2.0.6
- version: 2.0.6(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))
+ version: 2.0.6(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))
'@astrojs/starlight':
specifier: workspace:*
version: link:../starlight
@@ -180,11 +180,11 @@ importers:
packages/starlight:
dependencies:
'@astrojs/markdown-satteri':
- specifier: ^0.3.5
- version: 0.3.5
+ specifier: ^0.3.7
+ version: 0.3.7
'@astrojs/mdx':
specifier: ^7.0.5
- version: 7.0.5(@astrojs/markdown-satteri@0.3.5)(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3))
+ version: 7.0.5(@astrojs/markdown-satteri@0.3.7)(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3))
'@astrojs/sitemap':
specifier: ^3.7.3
version: 3.7.3
@@ -192,8 +192,8 @@ importers:
specifier: ^1.3.0
version: 1.3.0
'@types/hast':
- specifier: ^3.0.4
- version: 3.0.4
+ specifier: ^3.0.5
+ version: 3.0.5
'@types/js-yaml':
specifier: ^4.0.9
version: 4.0.9
@@ -202,7 +202,7 @@ importers:
version: 4.0.4
astro-expressive-code:
specifier: ^0.44.0
- version: 0.44.0(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3))
+ version: 0.44.0(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3))
bcp-47:
specifier: ^2.1.0
version: 2.1.0
@@ -252,8 +252,8 @@ importers:
specifier: ^4.0.0
version: 4.0.0
satteri:
- specifier: ^0.9.1
- version: 0.9.3
+ specifier: ^0.10.3
+ version: 0.10.3
ultrahtml:
specifier: ^1.6.0
version: 1.6.0
@@ -268,8 +268,8 @@ importers:
version: 6.0.3
devDependencies:
'@astrojs/markdown-remark':
- specifier: ^7.2.2
- version: 7.2.2
+ specifier: ^7.2.4
+ version: 7.2.4
'@playwright/test':
specifier: ^1.61.1
version: 1.61.1
@@ -280,8 +280,8 @@ importers:
specifier: ^4.1.5
version: 4.1.5(vitest@4.1.5)
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3)
linkedom:
specifier: ^0.18.12
version: 0.18.12
@@ -295,8 +295,8 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
packages/starlight/__e2e__/fixtures/custom src-dir:
dependencies:
@@ -304,8 +304,8 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
packages/starlight/__e2e__/fixtures/git:
dependencies:
@@ -313,8 +313,8 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat:
dependencies:
@@ -322,8 +322,8 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
packages/starlight/__e2e__/fixtures/no-mdx-optimization:
dependencies:
@@ -331,20 +331,20 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
packages/starlight/__e2e__/fixtures/ssr:
dependencies:
'@astrojs/node':
specifier: ^11.0.0
- version: 11.0.0(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))
+ version: 11.0.0(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))
'@astrojs/starlight':
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.1.6
- version: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ specifier: ^7.2.4
+ version: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
packages/tailwind:
devDependencies:
@@ -505,6 +505,9 @@ packages:
'@astrojs/internal-helpers@0.10.2':
resolution: {integrity: sha512-yt7fMgPYqSM4Tmr+taTW6Per+hjJ8Pk6lA1PAcDyqzOt8HzJ6Kje5WzCxA2Sd+9wsUW7uhkLeoTMK0cXPwH9rQ==}
+ '@astrojs/internal-helpers@0.10.4':
+ resolution: {integrity: sha512-nozZSy/mKYLqe4YrqbKtdOszedAfXYCtw3wZ0d+CAjz4GqQ4L9rl1ltIL5BlgwmYVinJg/RZ0MgGuWOdlyRZlA==}
+
'@astrojs/language-server@2.16.7':
resolution: {integrity: sha512-b64bWT74Vq/ORcSqW7TdIjjpB6hcl+Ei/lMANIUaAGlLPiYNtPTRI/j2tzvugT+LoVwfJtE2Ukq/t2OGCyEtfQ==}
hasBin: true
@@ -526,9 +529,15 @@ packages:
'@astrojs/markdown-remark@7.2.2':
resolution: {integrity: sha512-FGfmK84zSNcrsBd0dl1gXE9JvZYElp8EXQa2jpHVAxG4deGKAp43wspxFupjADJX7MSsMRHwYCnfT6EyVmgeFQ==}
+ '@astrojs/markdown-remark@7.2.4':
+ resolution: {integrity: sha512-MvspGMynWKAjTe4/lTUdmBPHIFKNVLTCF6UlyWGogTGzNrTvjD+D4n48k7h8swxsEPKHK2TwxkZO7uoaCv1Pow==}
+
'@astrojs/markdown-satteri@0.3.5':
resolution: {integrity: sha512-CvWVEFAbay7YO+i9SaqDJubipA5ckiVB89QWoMJ5XC0m5CtFg8JwZ7Kau6X9sYY7FZURH0w2l03ISH2jOS/RDQ==}
+ '@astrojs/markdown-satteri@0.3.7':
+ resolution: {integrity: sha512-NHcHbrKW/opbZnTZQ5nH293BdcK2VV0tjuzI88CLnvy2njiEJVwUQ5KFnYd4NoWgHJCY/I1CyjGWCR4Vv3khXQ==}
+
'@astrojs/mdx@7.0.5':
resolution: {integrity: sha512-wEM/HH1RiEntyPVagdiF+yArzfcYLKBB0C1RZspVidKZ97rRMbaqP1Nbl/GR0sJs8zwaceqxRymw8aOKKJRdYw==}
engines: {node: '>=22.12.0'}
@@ -583,50 +592,99 @@ packages:
resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==}
engines: {node: '>=18'}
+ '@bruits/satteri-darwin-arm64@0.10.3':
+ resolution: {integrity: sha512-RBPx54YSt6ly9ozJ4AbgY6ITep3uJAaPE0ErxhQnE9Mk5ldGeQYbq4bWiJyZOoQmqC45cMCZmFyPjQdJT4biEw==}
+ cpu: [arm64]
+ os: [darwin]
+
'@bruits/satteri-darwin-arm64@0.9.3':
resolution: {integrity: sha512-dRUZZrdwh1asfTOyM1nDNmzolhnHtlIFpqYrl1Tdd3YVcaebKmrfJgGL7NAoGPjbEwYmZxaugrxA0uzw83c0dw==}
cpu: [arm64]
os: [darwin]
+ '@bruits/satteri-darwin-x64@0.10.3':
+ resolution: {integrity: sha512-l0G6eARLHwlFEc7KOzEr0Z7YVEUzAQVSDZcevGOng0ycFvY+Eg7SNpNAc5/k0XXKEM+Q62A8wUaaL+d0W63x7g==}
+ cpu: [x64]
+ os: [darwin]
+
'@bruits/satteri-darwin-x64@0.9.3':
resolution: {integrity: sha512-wgNCTRp2hPSpNMGFv5A4+6+VXgRJIlBZ7XKb3iwjV8YjRWNIjzE5zV2fUeYynyZYVRkuJ9aYFqQmWhc1e5H+UQ==}
cpu: [x64]
os: [darwin]
+ '@bruits/satteri-linux-arm64-gnu@0.10.3':
+ resolution: {integrity: sha512-U6Lv74zONfwnKbzPAylqp45isfUVJNQPnROlX1mWJ7TLCkJRKeYEFyNe5auZEynVY0ZrgyFe7mKE04dmsFqEhw==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [glibc]
+
'@bruits/satteri-linux-arm64-gnu@0.9.3':
resolution: {integrity: sha512-A/pWy8Jb/PhDYc2/JFuYh06gFJcsfBUBDl81YydGYBrL/Z4nItDfhNDNOibyeSN/lKKDRlycIHEIajjErk00sQ==}
cpu: [arm64]
os: [linux]
libc: [glibc]
+ '@bruits/satteri-linux-arm64-musl@0.10.3':
+ resolution: {integrity: sha512-m/dsv+OsXuQMc0Mmkz1KAO0U/TbY+qe4puyhf08ce7EW5I+czxa5n5Vpy6ZTYwFvA3TtrokwiBRDApzz+oPeww==}
+ cpu: [arm64]
+ os: [linux]
+ libc: [musl]
+
'@bruits/satteri-linux-arm64-musl@0.9.3':
resolution: {integrity: sha512-L6YxmyOSickzo4pE5WmZfNTJnjX0MtgKOsuwQfNZECTx9Ir5vl2B37EIwnxe2AybuPPHl+FqVQtthNDUdH4Vgg==}
cpu: [arm64]
os: [linux]
libc: [musl]
+ '@bruits/satteri-linux-x64-gnu@0.10.3':
+ resolution: {integrity: sha512-Y+YYrs3U+UhxRf3vn9Fgjo3NtjnqYBsAEpTrZcwfKpaiSXKpQlr4v2H9Lp4jtlC4PNjPr02wkiNtiAgNlhkB8w==}
+ cpu: [x64]
+ os: [linux]
+ libc: [glibc]
+
'@bruits/satteri-linux-x64-gnu@0.9.3':
resolution: {integrity: sha512-RgH6GPihg9Lzs2yHUsMjqiLxfLyOdmBty8sg9pBY9B4CBnvdOzvg8vklqN+C4qrEEdA9TwpbDpHr1AshLKyRpw==}
cpu: [x64]
os: [linux]
libc: [glibc]
+ '@bruits/satteri-linux-x64-musl@0.10.3':
+ resolution: {integrity: sha512-Fqg47592hkRebzI5EMU9BYnbFz7m/Q4awJt062xr9lweaHTmlN6ij/Z9Dzyt4THsqRFm87DZFMcwrniQpeEbPA==}
+ cpu: [x64]
+ os: [linux]
+ libc: [musl]
+
'@bruits/satteri-linux-x64-musl@0.9.3':
resolution: {integrity: sha512-BeWhVORjNTIomePznUKiMbHZTqC0j7sMXZFsISmbX+po5d33KLkqBqKh6K332CHJ8KUmCWx16FfPjwsoysttQg==}
cpu: [x64]
os: [linux]
libc: [musl]
+ '@bruits/satteri-wasm32-wasi@0.10.3':
+ resolution: {integrity: sha512-OHBxAJMt97QNQJ8JbtdzdH54dWV7OT0pxl1wGZyD4vRDUeJjm5CXgeC/t1VJzD9tQiwPCVY3/Hh/88SJpVOj7g==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
'@bruits/satteri-wasm32-wasi@0.9.3':
resolution: {integrity: sha512-dFNcOHKWV2cztCPnYTn7kZ9D7kNOt8N239z5ysFkNHLxJrfK7zaKIXQbfXYN32C+JoVFqAcTIOeWH2+VnsCOHg==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
+ '@bruits/satteri-win32-arm64-msvc@0.10.3':
+ resolution: {integrity: sha512-4+fLJgFthvZQHdpb1nVXQXH1T6spXs5fYj71KTvTOhsSZ3jA1VkvneVtv7VinX7vgtMu6PZGm/X3P84ancCMkA==}
+ cpu: [arm64]
+ os: [win32]
+
'@bruits/satteri-win32-arm64-msvc@0.9.3':
resolution: {integrity: sha512-VnwjBHiAra/PNNEza8eSZdQiG4A3PtTJJwUDtOPAc6iTs0BWZwZX8+OPUZE7//yQCBhgvEMcI8vpwsAwCb6qGQ==}
cpu: [arm64]
os: [win32]
+ '@bruits/satteri-win32-x64-msvc@0.10.3':
+ resolution: {integrity: sha512-BdbaBcnKktrNbAGibVnZFIZKtl+xl3TKvgLDNZempM0d2C+2l9OU874AqdhkOkegWk/vdCS1Z+wUD6W5KYUT9w==}
+ cpu: [x64]
+ os: [win32]
+
'@bruits/satteri-win32-x64-msvc@0.9.3':
resolution: {integrity: sha512-Dsoe4reWe69MyILmMwU6iISIceTW7YIFqbyym7haf9DhUvqkYfMAyp7GMM21JzV0SpG9A2BwzFVP7iq9mmxrpA==}
cpu: [x64]
@@ -1232,6 +1290,13 @@ packages:
'@emnapi/core': ^1.7.1 || ^2.0.0-alpha.3
'@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.3
+ '@napi-rs/wasm-runtime@1.2.3':
+ resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==}
+ engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4
+ '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4
+
'@nodable/entities@2.1.0':
resolution: {integrity: sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==}
@@ -1393,15 +1458,6 @@ packages:
'@rolldown/pluginutils@1.0.1':
resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==}
- '@rollup/pluginutils@5.3.0':
- resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
-
'@shikijs/core@4.0.2':
resolution: {integrity: sha512-hxT0YF4ExEqB8G/qFdtJvpmHXBYJ2lWW7qTHDarVkIudPFE6iCIrqdgWxGn5s+ppkGXI0aEGlibI0PAyzP3zlw==}
engines: {node: '>=20'}
@@ -1568,8 +1624,8 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@types/hast@3.0.4':
- resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+ '@types/hast@3.0.5':
+ resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==}
'@types/http-cache-semantics@4.0.4':
resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==}
@@ -1802,6 +1858,10 @@ packages:
resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
engines: {node: '>=12'}
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
ansi-styles@6.2.3:
resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
engines: {node: '>=12'}
@@ -1846,12 +1906,12 @@ packages:
peerDependencies:
astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta || ^7.0.0
- astro@7.1.6:
- resolution: {integrity: sha512-83x9rYbHazMaZkYrAFRVZXSQx2moFkz0F7cjTDUF3GWfS0a3p2vZXG1ZdhV86rStHApQCodBJW+XTD37xISIrQ==}
+ astro@7.2.4:
+ resolution: {integrity: sha512-+cuLsBns2wwUHI9a10xZMbjrF91m7+QNwqTVeljTx0B8Lf+8h0LgVGjdVIL2FALDKD2I565lczeeS3BFC+KdZg==}
engines: {node: '>=22.12.0', npm: '>=9.6.5', pnpm: '>=7.1.0'}
hasBin: true
peerDependencies:
- '@astrojs/markdown-remark': 7.2.2
+ '@astrojs/markdown-remark': 7.2.4
peerDependenciesMeta:
'@astrojs/markdown-remark':
optional: true
@@ -1922,6 +1982,10 @@ packages:
resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==}
engines: {node: '>=18'}
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
character-entities-html4@2.1.0:
resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
@@ -1960,6 +2024,13 @@ packages:
collapse-white-space@2.1.0:
resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
comma-separated-tokens@2.0.3:
resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
@@ -1967,6 +2038,10 @@ packages:
resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==}
engines: {node: '>=16'}
+ commander@14.0.3:
+ resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==}
+ engines: {node: '>=20'}
+
common-ancestor-path@2.0.0:
resolution: {integrity: sha512-dnN3ibLeoRf2HNC+OlCiNc5d2zxbLJXOtiZUudNFSXZrNSydxcCsSpRzXwfu7BBWCIfHPw+xTayeBvJCP/D8Ng==}
engines: {node: '>= 18'}
@@ -2258,9 +2333,6 @@ packages:
estree-util-visit@2.0.0:
resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
- estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
-
estree-walker@3.0.3:
resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
@@ -2340,6 +2412,10 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
+ find-process@2.1.1:
+ resolution: {integrity: sha512-SrQDx3QhlmHM90iqn9rdjCQcw/T+WlpOkHFsjoRgB+zTpDfltNA1VSNYeYELwhUTJy12UFxqjWhmhOrJc+o4sA==}
+ hasBin: true
+
find-up@4.1.0:
resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
engines: {node: '>=8'}
@@ -2876,6 +2952,10 @@ packages:
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ loglevel@1.9.2:
+ resolution: {integrity: sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==}
+ engines: {node: '>= 0.6.0'}
+
longest-streak@3.1.0:
resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
@@ -3534,6 +3614,9 @@ packages:
sass-formatter@0.7.6:
resolution: {integrity: sha512-hXdxU6PCkiV3XAiSnX+XLqz2ohHoEnVUlrd8LEVMAI80uB1+OTScIkH9n6qQwImZpTye1r1WG1rbGUteHNhoHg==}
+ satteri@0.10.3:
+ resolution: {integrity: sha512-LBDONBUtj48XanFpLcCDvyCjBruz5aj5MGwE9gR+/RTB3monyglmh9jpGXuYUDO4rvBhvK2bpbjTKeU9kkHtfg==}
+
satteri@0.9.3:
resolution: {integrity: sha512-2XfBh89LCnBMFkNOeVKkBLelAZcIA17VLHsgJum1tJ2fXiPZDN/TDXv4ku46rFOQXYd41LJ0kiZh5gPqExcCsg==}
@@ -3820,11 +3903,15 @@ packages:
undici-types@7.16.0:
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
+ undici@8.10.0:
+ resolution: {integrity: sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==}
+ engines: {node: '>=22.19.0'}
+
unified@11.0.5:
resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
- unifont@0.7.4:
- resolution: {integrity: sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==}
+ unifont@0.7.5:
+ resolution: {integrity: sha512-ULe/Cs+ZIsq+dcFofNkhqielCrUJnb5mr+Yc4EBM2VlL+6OZR6+cjtI2mT1bJvRBrVncqHAbLURxmPLcCXzWMg==}
unist-util-find-after@5.0.0:
resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==}
@@ -4368,7 +4455,7 @@ snapshots:
'@astrojs/internal-helpers@0.10.0':
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
js-yaml: 4.3.1
picomatch: 4.0.5
@@ -4379,7 +4466,18 @@ snapshots:
'@astrojs/internal-helpers@0.10.2':
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ js-yaml: 4.3.1
+ picomatch: 4.0.5
+ retext-smartypants: 6.2.0
+ shiki: 4.0.2
+ smol-toml: 1.6.1
+ unified: 11.0.5
+
+ '@astrojs/internal-helpers@0.10.4':
+ dependencies:
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
js-yaml: 4.3.1
picomatch: 4.0.5
@@ -4414,12 +4512,12 @@ snapshots:
transitivePeerDependencies:
- typescript
- '@astrojs/markdoc@2.0.6(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))':
+ '@astrojs/markdoc@2.0.6(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))':
dependencies:
'@astrojs/internal-helpers': 0.10.2
'@astrojs/prism': 4.0.2
'@markdoc/markdoc': 0.5.4
- astro: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ astro: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
esbuild: 0.28.0
github-slugger: 2.0.0
htmlparser2: 12.0.0
@@ -4449,6 +4547,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@astrojs/markdown-remark@7.2.4':
+ dependencies:
+ '@astrojs/internal-helpers': 0.10.4
+ '@astrojs/prism': 4.0.2
+ github-slugger: 2.0.0
+ hast-util-from-html: 2.0.3
+ hast-util-to-text: 4.0.2
+ mdast-util-definitions: 6.0.0
+ rehype-raw: 7.0.0
+ rehype-stringify: 10.0.1
+ remark-gfm: 4.0.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ remark-smartypants: 3.0.2
+ unified: 11.0.5
+ unist-util-remove-position: 5.0.0
+ unist-util-visit: 5.1.0
+ unist-util-visit-parents: 6.0.2
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
'@astrojs/markdown-satteri@0.3.5':
dependencies:
'@astrojs/internal-helpers': 0.10.2
@@ -4457,13 +4577,20 @@ snapshots:
hast-util-from-html: 2.0.3
satteri: 0.9.3
- '@astrojs/mdx@7.0.5(@astrojs/markdown-satteri@0.3.5)(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3))':
+ '@astrojs/markdown-satteri@0.3.7':
+ dependencies:
+ '@astrojs/internal-helpers': 0.10.4
+ '@astrojs/prism': 4.0.2
+ github-slugger: 2.0.0
+ satteri: 0.10.3
+
+ '@astrojs/mdx@7.0.5(@astrojs/markdown-satteri@0.3.7)(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3))':
dependencies:
'@astrojs/internal-helpers': 0.10.2
'@astrojs/markdown-remark': 7.2.2
'@mdx-js/mdx': 3.1.1
acorn: 8.16.0
- astro: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3)
+ astro: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3)
es-module-lexer: 2.0.0
estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5
@@ -4475,14 +4602,14 @@ snapshots:
unist-util-visit: 5.1.0
vfile: 6.0.3
optionalDependencies:
- '@astrojs/markdown-satteri': 0.3.5
+ '@astrojs/markdown-satteri': 0.3.7
transitivePeerDependencies:
- supports-color
- '@astrojs/node@11.0.0(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))':
+ '@astrojs/node@11.0.0(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3))':
dependencies:
'@astrojs/internal-helpers': 0.10.0
- astro: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ astro: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
send: 1.2.1
server-destroy: 1.0.1
transitivePeerDependencies:
@@ -4528,24 +4655,49 @@ snapshots:
'@bcoe/v8-coverage@1.0.2': {}
+ '@bruits/satteri-darwin-arm64@0.10.3':
+ optional: true
+
'@bruits/satteri-darwin-arm64@0.9.3':
optional: true
+ '@bruits/satteri-darwin-x64@0.10.3':
+ optional: true
+
'@bruits/satteri-darwin-x64@0.9.3':
optional: true
+ '@bruits/satteri-linux-arm64-gnu@0.10.3':
+ optional: true
+
'@bruits/satteri-linux-arm64-gnu@0.9.3':
optional: true
+ '@bruits/satteri-linux-arm64-musl@0.10.3':
+ optional: true
+
'@bruits/satteri-linux-arm64-musl@0.9.3':
optional: true
+ '@bruits/satteri-linux-x64-gnu@0.10.3':
+ optional: true
+
'@bruits/satteri-linux-x64-gnu@0.9.3':
optional: true
+ '@bruits/satteri-linux-x64-musl@0.10.3':
+ optional: true
+
'@bruits/satteri-linux-x64-musl@0.9.3':
optional: true
+ '@bruits/satteri-wasm32-wasi@0.10.3':
+ dependencies:
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
+ '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ optional: true
+
'@bruits/satteri-wasm32-wasi@0.9.3':
dependencies:
'@emnapi/core': 1.11.1
@@ -4553,9 +4705,15 @@ snapshots:
'@napi-rs/wasm-runtime': 1.2.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
optional: true
+ '@bruits/satteri-win32-arm64-msvc@0.10.3':
+ optional: true
+
'@bruits/satteri-win32-arm64-msvc@0.9.3':
optional: true
+ '@bruits/satteri-win32-x64-msvc@0.10.3':
+ optional: true
+
'@bruits/satteri-win32-x64-msvc@0.9.3':
optional: true
@@ -5150,7 +5308,7 @@ snapshots:
dependencies:
'@types/estree': 1.0.8
'@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdx': 2.0.13
acorn: 8.16.0
collapse-white-space: 2.1.0
@@ -5190,6 +5348,20 @@ snapshots:
'@tybys/wasm-util': 0.10.3
optional: true
+ '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
+ dependencies:
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
+ '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)':
+ dependencies:
+ '@emnapi/core': 2.0.0-alpha.3
+ '@emnapi/runtime': 2.0.0-alpha.3
+ '@tybys/wasm-util': 0.10.3
+ optional: true
+
'@nodable/entities@2.1.0': {}
'@nodelib/fs.scandir@2.1.5':
@@ -5275,7 +5447,7 @@ snapshots:
dependencies:
'@emnapi/core': 2.0.0-alpha.3
'@emnapi/runtime': 2.0.0-alpha.3
- '@napi-rs/wasm-runtime': 1.2.1(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
+ '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
optional: true
'@rolldown/binding-win32-arm64-msvc@1.2.1':
@@ -5286,18 +5458,12 @@ snapshots:
'@rolldown/pluginutils@1.0.1': {}
- '@rollup/pluginutils@5.3.0':
- dependencies:
- '@types/estree': 1.0.8
- estree-walker: 2.0.2
- picomatch: 4.0.5
-
'@shikijs/core@4.0.2':
dependencies:
'@shikijs/primitive': 4.0.2
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-to-html: 9.0.5
'@shikijs/engine-javascript@4.0.2':
@@ -5319,7 +5485,7 @@ snapshots:
dependencies:
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@shikijs/themes@4.0.2':
dependencies:
@@ -5328,7 +5494,7 @@ snapshots:
'@shikijs/types@4.0.2':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@shikijs/vscode-textmate@10.0.2': {}
@@ -5438,7 +5604,7 @@ snapshots:
'@types/estree@1.0.8': {}
- '@types/hast@3.0.4':
+ '@types/hast@3.0.5':
dependencies:
'@types/unist': 3.0.3
@@ -5757,6 +5923,10 @@ snapshots:
ansi-regex@6.2.2: {}
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
ansi-styles@6.2.3: {}
anymatch@3.1.3:
@@ -5788,22 +5958,21 @@ snapshots:
astring@1.9.0: {}
- astro-expressive-code@0.44.0(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3)):
+ astro-expressive-code@0.44.0(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3)):
dependencies:
- astro: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3)
+ astro: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3)
rehype-expressive-code: 0.44.0
url-extras: 0.1.0
- astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3):
+ astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.8.3):
dependencies:
'@astrojs/compiler-rs': 0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
- '@astrojs/internal-helpers': 0.10.2
- '@astrojs/markdown-satteri': 0.3.5
+ '@astrojs/internal-helpers': 0.10.4
+ '@astrojs/markdown-satteri': 0.3.7
'@astrojs/telemetry': 3.3.3
'@capsizecss/unpack': 4.0.0
'@clack/prompts': 1.4.0
'@oslojs/encoding': 1.1.0
- '@rollup/pluginutils': 5.3.0
am-i-vibing: 0.4.0
aria-query: 5.3.2
axobject-query: 4.1.0
@@ -5816,6 +5985,7 @@ snapshots:
dset: 3.1.4
es-module-lexer: 2.0.0
esbuild: 0.28.0
+ find-process: 2.1.1
flattie: 1.1.1
fontace: 0.4.1
get-tsconfig: 5.0.0-beta.4
@@ -5842,7 +6012,7 @@ snapshots:
tinyexec: 1.1.1
tinyglobby: 0.2.17
ultrahtml: 1.6.0
- unifont: 0.7.4
+ unifont: 0.7.5
unstorage: 1.17.5
vite: 8.2.0(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.6.1)(yaml@2.8.3)
vitefu: 1.1.3(vite@8.2.0(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.6.1)(yaml@2.8.3))
@@ -5850,7 +6020,7 @@ snapshots:
yargs-parser: 22.0.0
zod: 4.4.3
optionalDependencies:
- '@astrojs/markdown-remark': 7.2.2
+ '@astrojs/markdown-remark': 7.2.4
sharp: 0.35.3(@types/node@22.19.17)
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -5877,7 +6047,6 @@ snapshots:
- ioredis
- jiti
- less
- - rollup
- sass
- sass-embedded
- stylus
@@ -5887,16 +6056,15 @@ snapshots:
- uploadthing
- yaml
- astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3):
+ astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3):
dependencies:
'@astrojs/compiler-rs': 0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
- '@astrojs/internal-helpers': 0.10.2
- '@astrojs/markdown-satteri': 0.3.5
+ '@astrojs/internal-helpers': 0.10.4
+ '@astrojs/markdown-satteri': 0.3.7
'@astrojs/telemetry': 3.3.3
'@capsizecss/unpack': 4.0.0
'@clack/prompts': 1.4.0
'@oslojs/encoding': 1.1.0
- '@rollup/pluginutils': 5.3.0
am-i-vibing: 0.4.0
aria-query: 5.3.2
axobject-query: 4.1.0
@@ -5909,6 +6077,7 @@ snapshots:
dset: 3.1.4
es-module-lexer: 2.0.0
esbuild: 0.28.0
+ find-process: 2.1.1
flattie: 1.1.1
fontace: 0.4.1
get-tsconfig: 5.0.0-beta.4
@@ -5935,7 +6104,7 @@ snapshots:
tinyexec: 1.1.1
tinyglobby: 0.2.17
ultrahtml: 1.6.0
- unifont: 0.7.4
+ unifont: 0.7.5
unstorage: 1.17.5
vite: 8.2.0(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(yaml@2.8.3)
vitefu: 1.1.3(vite@8.2.0(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(yaml@2.8.3))
@@ -5943,7 +6112,7 @@ snapshots:
yargs-parser: 22.0.0
zod: 4.4.3
optionalDependencies:
- '@astrojs/markdown-remark': 7.2.2
+ '@astrojs/markdown-remark': 7.2.4
sharp: 0.35.3(@types/node@24.12.4)
transitivePeerDependencies:
- '@azure/app-configuration'
@@ -5970,7 +6139,6 @@ snapshots:
- ioredis
- jiti
- less
- - rollup
- sass
- sass-embedded
- stylus
@@ -6042,6 +6210,11 @@ snapshots:
chai@6.2.2: {}
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
character-entities-html4@2.1.0: {}
character-entities-legacy@3.0.0: {}
@@ -6072,10 +6245,18 @@ snapshots:
collapse-white-space@2.1.0: {}
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.4: {}
+
comma-separated-tokens@2.0.3: {}
commander@11.1.0: {}
+ commander@14.0.3: {}
+
common-ancestor-path@2.0.0: {}
convert-source-map@2.0.0: {}
@@ -6391,8 +6572,6 @@ snapshots:
'@types/estree-jsx': 1.0.5
'@types/unist': 3.0.3
- estree-walker@2.0.2: {}
-
estree-walker@3.0.3:
dependencies:
'@types/estree': 1.0.8
@@ -6469,6 +6648,12 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
+ find-process@2.1.1:
+ dependencies:
+ chalk: 4.1.2
+ commander: 14.0.3
+ loglevel: 1.9.2
+
find-up@4.1.0:
dependencies:
locate-path: 5.0.0
@@ -6585,12 +6770,12 @@ snapshots:
hast-util-embedded@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-is-element: 3.0.0
hast-util-format@1.1.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-embedded: 3.0.0
hast-util-minify-whitespace: 1.0.1
hast-util-phrasing: 3.0.1
@@ -6600,7 +6785,7 @@ snapshots:
hast-util-from-html@2.0.3:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
devlop: 1.1.0
hast-util-from-parse5: 8.0.1
parse5: 7.1.2
@@ -6609,7 +6794,7 @@ snapshots:
hast-util-from-parse5@8.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
devlop: 1.1.0
hastscript: 8.0.0
@@ -6620,19 +6805,19 @@ snapshots:
hast-util-has-property@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-is-body-ok-link@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-is-element@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-minify-whitespace@1.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-embedded: 3.0.0
hast-util-is-element: 3.0.0
hast-util-whitespace: 3.0.0
@@ -6640,11 +6825,11 @@ snapshots:
hast-util-parse-selector@4.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-phrasing@3.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-embedded: 3.0.0
hast-util-has-property: 3.0.0
hast-util-is-body-ok-link: 3.0.0
@@ -6652,7 +6837,7 @@ snapshots:
hast-util-raw@9.1.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
'@ungap/structured-clone': 1.2.0
hast-util-from-parse5: 8.0.1
@@ -6668,7 +6853,7 @@ snapshots:
hast-util-select@6.0.4:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
bcp-47-match: 2.0.3
comma-separated-tokens: 2.0.3
@@ -6688,7 +6873,7 @@ snapshots:
dependencies:
'@types/estree': 1.0.8
'@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
comma-separated-tokens: 2.0.3
devlop: 1.1.0
estree-util-attach-comments: 3.0.0
@@ -6707,7 +6892,7 @@ snapshots:
hast-util-to-html@9.0.5:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
ccount: 2.0.1
comma-separated-tokens: 2.0.3
@@ -6722,7 +6907,7 @@ snapshots:
hast-util-to-jsx-runtime@2.3.6:
dependencies:
'@types/estree': 1.0.8
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
comma-separated-tokens: 2.0.3
devlop: 1.1.0
@@ -6741,7 +6926,7 @@ snapshots:
hast-util-to-parse5@8.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
comma-separated-tokens: 2.0.3
devlop: 1.1.0
property-information: 7.0.0
@@ -6751,22 +6936,22 @@ snapshots:
hast-util-to-string@3.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-to-text@4.0.2:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
hast-util-is-element: 3.0.0
unist-util-find-after: 5.0.0
hast-util-whitespace@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hastscript@8.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
comma-separated-tokens: 2.0.3
hast-util-parse-selector: 4.0.0
property-information: 6.2.0
@@ -6774,7 +6959,7 @@ snapshots:
hastscript@9.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
comma-separated-tokens: 2.0.3
hast-util-parse-selector: 4.0.0
property-information: 7.0.0
@@ -7057,6 +7242,8 @@ snapshots:
lodash@4.17.21: {}
+ loglevel@1.9.2: {}
+
longest-streak@3.1.0: {}
lowercase-keys@3.0.0: {}
@@ -7193,7 +7380,7 @@ snapshots:
mdast-util-mdx-expression@2.0.1:
dependencies:
'@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
devlop: 1.1.0
mdast-util-from-markdown: 2.0.0
@@ -7204,7 +7391,7 @@ snapshots:
mdast-util-mdx-jsx@3.2.0:
dependencies:
'@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
'@types/unist': 3.0.3
ccount: 2.0.1
@@ -7231,7 +7418,7 @@ snapshots:
mdast-util-mdxjs-esm@2.0.1:
dependencies:
'@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
devlop: 1.1.0
mdast-util-from-markdown: 2.0.0
@@ -7246,7 +7433,7 @@ snapshots:
mdast-util-to-hast@13.2.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
'@ungap/structured-clone': 1.2.0
devlop: 1.1.0
@@ -7870,38 +8057,38 @@ snapshots:
rehype-format@5.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-format: 1.1.0
rehype-parse@9.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-from-html: 2.0.3
unified: 11.0.5
rehype-raw@7.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-raw: 9.1.0
vfile: 6.0.3
rehype-recma@1.0.0:
dependencies:
'@types/estree': 1.0.8
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-to-estree: 3.1.3
transitivePeerDependencies:
- supports-color
rehype-stringify@10.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-to-html: 9.0.5
unified: 11.0.5
rehype@13.0.2:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
rehype-parse: 9.0.0
rehype-stringify: 10.0.1
unified: 11.0.5
@@ -7944,7 +8131,7 @@ snapshots:
remark-rehype@11.1.2:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
mdast-util-to-hast: 13.2.1
unified: 11.0.5
@@ -8039,10 +8226,27 @@ snapshots:
dependencies:
suf-log: 2.5.3
+ satteri@0.10.3:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.5
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ optionalDependencies:
+ '@bruits/satteri-darwin-arm64': 0.10.3
+ '@bruits/satteri-darwin-x64': 0.10.3
+ '@bruits/satteri-linux-arm64-gnu': 0.10.3
+ '@bruits/satteri-linux-arm64-musl': 0.10.3
+ '@bruits/satteri-linux-x64-gnu': 0.10.3
+ '@bruits/satteri-linux-x64-musl': 0.10.3
+ '@bruits/satteri-wasm32-wasi': 0.10.3
+ '@bruits/satteri-win32-arm64-msvc': 0.10.3
+ '@bruits/satteri-win32-x64-msvc': 0.10.3
+
satteri@0.9.3:
dependencies:
'@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
'@types/unist': 3.0.3
optionalDependencies:
@@ -8164,7 +8368,7 @@ snapshots:
'@shikijs/themes': 4.0.2
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
siginfo@2.0.0: {}
@@ -8222,12 +8426,12 @@ snapshots:
stackback@0.0.2: {}
- starlight-links-validator@0.25.2(@astrojs/starlight@packages+starlight)(astro@7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)):
+ starlight-links-validator@0.25.2(@astrojs/starlight@packages+starlight)(astro@7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)):
dependencies:
'@astrojs/markdown-satteri': 0.3.5
'@astrojs/starlight': link:packages/starlight
'@types/picomatch': 4.0.2
- astro: 7.1.6(@astrojs/markdown-remark@7.2.2)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
+ astro: 7.2.4(@astrojs/markdown-remark@7.2.4)(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.8.3)
github-slugger: 2.0.0
hast-util-from-html: 2.0.3
is-absolute-url: 5.0.0
@@ -8392,6 +8596,8 @@ snapshots:
undici-types@7.16.0: {}
+ undici@8.10.0: {}
+
unified@11.0.5:
dependencies:
'@types/unist': 3.0.3
@@ -8402,11 +8608,11 @@ snapshots:
trough: 2.1.0
vfile: 6.0.3
- unifont@0.7.4:
+ unifont@0.7.5:
dependencies:
css-tree: 3.2.1
- ofetch: 1.5.1
ohash: 2.0.11
+ undici: 8.10.0
unist-util-find-after@5.0.0:
dependencies:
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 37f574c545d..97fcdbd2f3a 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -25,3 +25,11 @@ peerDependencyRules:
# Prevent installing packages published in the last 3 days
minimumReleaseAge: 4320
+# TODO(HiDeoo) Remove
+minimumReleaseAgeExclude:
+ - '@astrojs/internal-helpers@0.10.4'
+ - '@astrojs/markdown-remark@7.2.4'
+ - '@astrojs/markdown-satteri@0.3.7'
+ - '@bruits/*'
+ - 'astro@7.2.4'
+ - 'satteri@0.10.3'
From 0197ddfd5cfcb07ca2a6961755dff5e87716dcec Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Thu, 20 Aug 2026 16:37:01 +0200
Subject: [PATCH 02/10] refactor: use satteri plugin bundles
---
.../code-rtl-support.test.ts | 10 +-
packages/starlight/integrations/satteri.ts | 99 ++++++++-----------
2 files changed, 44 insertions(+), 65 deletions(-)
diff --git a/packages/starlight/__tests__/markdown-processor/code-rtl-support.test.ts b/packages/starlight/__tests__/markdown-processor/code-rtl-support.test.ts
index 36988474cc8..aa5e3e0faff 100644
--- a/packages/starlight/__tests__/markdown-processor/code-rtl-support.test.ts
+++ b/packages/starlight/__tests__/markdown-processor/code-rtl-support.test.ts
@@ -34,16 +34,10 @@ describeEachProcessor('code RTL support', (ctx, name) => {
expect(res.code).not.includes('dir="auto"');
});
- test('handles `dir="ltr"` on raw `
` HTML per processor', async () => {
+ test('does nto apply `dir="ltr"` on raw `` HTML', async () => {
const res = await ctx().render('manual ', { processor: plain });
- // Since Astro's Sätteri implementation for Shiki returns raw nodes, it, by accident, applies
- // `dir="ltr"` to raw `` blocks even if they're not coming from a plugin generating HAST.
- if (name === 'satteri') {
- expect(res.code).includes('manual ');
- } else {
- expect(res.code).includes('manual ');
- }
+ expect(res.code).includes('manual ');
});
test('does not override an existing `dir` on inline code', async () => {
diff --git a/packages/starlight/integrations/satteri.ts b/packages/starlight/integrations/satteri.ts
index 016cdfe4a8e..07a2d702b2e 100644
--- a/packages/starlight/integrations/satteri.ts
+++ b/packages/starlight/integrations/satteri.ts
@@ -10,6 +10,7 @@ import type {
MdastPluginDefinition,
MdastPluginEntry,
HastPluginEntry,
+ SourceFormat,
} from 'satteri';
import { headingLinkIconChildren } from './markdown-icon';
import { getAsideIcon, isAsideVariant } from './aside-utils';
@@ -24,13 +25,35 @@ export function starlightSatteriPlugins(options: MarkdownProcessorPluginOptions)
hastPlugins: HastPluginEntry[];
} {
const allowedPaths = getMarkdownProcessorPaths(options);
+
return {
- mdastPlugins: [satteriAsidesPlugin(options, allowedPaths)],
+ mdastPlugins: [
+ ({ fileURL, sourceFormat }) => {
+ if (!shouldTransformPath(fileURL, allowedPaths)) return;
+
+ // `shouldTransformPath` above already returned for a missing `fileURL`.
+ const lang = options.absolutePathToLang(fileURLToPath(fileURL!));
+ const t = options.useTranslations(lang);
+
+ return satteriAsidesPlugin(t, sourceFormat);
+ },
+ ],
hastPlugins: [
- satteriRtlCodeSupportPlugin(allowedPaths),
- ...(options.starlightConfig.markdown.headingLinks
- ? [() => satteriHeadingIdsPlugin(), satteriAutolinkHeadingsPlugin(options, allowedPaths)]
- : []),
+ ({ fileURL }) => {
+ if (!shouldTransformPath(fileURL, allowedPaths)) return;
+
+ const plugins = [satteriRtlCodeSupportPlugin()];
+
+ if (options.starlightConfig.markdown.headingLinks) {
+ // `shouldTransformPath` above already returned for a missing `fileURL`.
+ const lang = options.absolutePathToLang(fileURLToPath(fileURL!));
+ const t = options.useTranslations(lang);
+
+ plugins.push(satteriHeadingIdsPlugin(), satteriAutolinkHeadingsPlugin(t));
+ }
+
+ return plugins;
+ },
],
};
}
@@ -73,20 +96,13 @@ function paragraphElement(
}
/** Convert `:::variant` directive blocks into styled asides. */
-function satteriAsidesPlugin(
- options: MarkdownProcessorPluginOptions,
- allowedPaths: string[]
-): MdastPluginDefinition {
+function satteriAsidesPlugin(t: I18nT, sourceFormat: SourceFormat): MdastPluginDefinition {
return {
name: 'starlight-asides',
containerDirective(node, ctx) {
- if (!shouldTransformPath(ctx.fileURL, allowedPaths)) return;
if (!isAsideVariant(node.name)) return;
const variant = node.name;
- // `shouldTransformPath` above already returned for a missing `fileURL`.
- const filename = fileURLToPath(ctx.fileURL!);
- const t = options.useTranslations(options.absolutePathToLang(filename));
let title = t(`aside.${variant}`);
let titleNode: unknown[] = [{ type: 'text', value: title }];
@@ -105,14 +121,14 @@ function satteriAsidesPlugin(
const icon = getAsideIcon(variant, node.attributes?.['icon']);
const iconSvg = `${icon} `;
// Markdown and MDX require different AST shapes for raw HTML content.
- // TODO: replace endsWith check with an official Sätteri API once available.
- const iconNode = ctx.fileURL?.pathname.endsWith('.mdx')
- ? {
- type: 'mdxJsxTextElement',
- name: 'Fragment',
- attributes: [{ type: 'mdxJsxAttribute', name: 'set:html', value: iconSvg }],
- }
- : { type: 'html', value: iconSvg };
+ const iconNode =
+ sourceFormat === 'mdx'
+ ? {
+ type: 'mdxJsxTextElement',
+ name: 'Fragment',
+ attributes: [{ type: 'mdxJsxAttribute', name: 'set:html', value: iconSvg }],
+ }
+ : { type: 'html', value: iconSvg };
return paragraphElement(
'aside',
@@ -137,14 +153,13 @@ function serializeDirective(node: Parameters[0]): string {
return md.at(-1) === '\n' ? md.slice(0, -1) : md;
}
-function satteriRtlCodeSupportPlugin(allowedPaths: string[]): HastPluginDefinition {
+function satteriRtlCodeSupportPlugin(): HastPluginDefinition {
return {
name: 'starlight-rtl-code-support',
element: [
{
filter: ['pre'],
visit(node, ctx) {
- if (!shouldTransformPath(ctx.fileURL, allowedPaths)) return;
if (node.properties && 'dir' in node.properties) return;
ctx.setProperty(node, 'dir', 'ltr');
},
@@ -152,24 +167,12 @@ function satteriRtlCodeSupportPlugin(allowedPaths: string[]): HastPluginDefiniti
{
filter: ['code'],
visit(node, ctx) {
- if (
- shouldTransformPath(ctx.fileURL, allowedPaths) &&
- !(node.properties && 'dir' in node.properties) &&
- !hasPreParent(node, ctx)
- ) {
+ if (!(node.properties && 'dir' in node.properties) && !hasPreParent(node, ctx)) {
ctx.setProperty(node, 'dir', 'auto');
}
},
},
],
- // Shiki runs ahead of us and replaces the highlighted `` element with a raw HTML
- // node, so the `pre` element visitor above never sees it. Patch the raw markup instead.
- raw(node, ctx) {
- if (!shouldTransformPath(ctx.fileURL, allowedPaths)) return undefined;
- const value = ltrRawPre(node.value);
- if (value === null) return undefined;
- return { type: 'raw', value };
- },
};
}
@@ -185,36 +188,16 @@ function hasPreParent(child: Readonly | undefined, ctx: HastVisitorCont
return false;
}
-const rawPreOpenTag = /])[^>]*>/;
-
-/**
- * Add `dir="ltr"` to the opening tag of a raw `` HTML string, unless it already declares a
- * `dir`. Returns `null` when the value isn’t a ``, leaving unrelated raw HTML untouched.
- */
-function ltrRawPre(value: string): string | null {
- const openTag = value.match(rawPreOpenTag)?.[0];
- if (!openTag || /\sdir\s*=/.test(openTag)) return null;
- return value.replace(openTag, () => `;
From 0e5af239b034a73b1ffc7380b26b13e16d358464 Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Thu, 20 Aug 2026 17:50:25 +0200
Subject: [PATCH 03/10] feat: use satteri to process component html
---
.../markdown-processor/rehype-tabs.test.ts | 10 +-
.../starlight/integrations/markdown-icon.ts | 9 +-
packages/starlight/package.json | 5 +-
.../user-components/rehype-file-tree.ts | 219 ++++++++----------
.../starlight/user-components/rehype-steps.ts | 129 +++++------
.../starlight/user-components/rehype-tabs.ts | 110 ++++-----
pnpm-lock.yaml | 90 +++----
7 files changed, 249 insertions(+), 323 deletions(-)
diff --git a/packages/starlight/__tests__/markdown-processor/rehype-tabs.test.ts b/packages/starlight/__tests__/markdown-processor/rehype-tabs.test.ts
index 5280febd311..f1300a627bb 100644
--- a/packages/starlight/__tests__/markdown-processor/rehype-tabs.test.ts
+++ b/packages/starlight/__tests__/markdown-processor/rehype-tabs.test.ts
@@ -1,11 +1,9 @@
import { expect, test } from 'vitest';
-import { fromHtml } from 'hast-util-from-html';
+import { toHtml } from 'hast-util-to-html';
import { selectAll } from 'hast-util-select';
-import { rehype } from 'rehype';
+import { htmlToHast } from 'satteri';
import { processPanels, TabItemTagname } from '../../user-components/rehype-tabs';
-const processor = rehype().data('settings', { fragment: true });
-
const TabItem = ({ label, slot, icon }: { label: string; slot: string; icon?: string }) => {
const iconAttr = icon ? ` data-icon="${icon}"` : '';
return `<${TabItemTagname} data-label="${label}"${iconAttr}>${slot}${TabItemTagname}>`;
@@ -13,9 +11,9 @@ const TabItem = ({ label, slot, icon }: { label: string; slot: string; icon?: st
/** Get an array of HTML strings, one for each `` created by rehype-tabs for each tab item. */
const extractTabPanels = (html: string) => {
- const tree = fromHtml(html, { fragment: true });
+ const tree = htmlToHast(html, { fragment: true });
const tabPanels = selectAll('div[role="tabpanel"]', tree);
- return tabPanels.map((tabPanel) => processor.stringify({ type: 'root', children: [tabPanel] }));
+ return tabPanels.map((tabPanel) => toHtml(tabPanel));
};
test('empty component returns no html or panels', () => {
diff --git a/packages/starlight/integrations/markdown-icon.ts b/packages/starlight/integrations/markdown-icon.ts
index 9bcf8eb075c..11bfd6c12c8 100644
--- a/packages/starlight/integrations/markdown-icon.ts
+++ b/packages/starlight/integrations/markdown-icon.ts
@@ -1,5 +1,5 @@
-import type { Element, ElementContent } from 'hast';
-import { fromHtml } from 'hast-util-from-html';
+import type { ElementContent, Root } from 'hast';
+import { htmlToHast } from 'satteri';
import { Icons } from '../components-internals/Icons';
export const headingLinkIconSvgChildrenHtml = Icons['link-alt'];
@@ -7,7 +7,6 @@ export const headingLinkIconChildren = parseIconChildren(headingLinkIconSvgChild
/** Parse a Starlight icon SVG fragment as children of an `
` element. */
export function parseIconChildren(icon: string): ElementContent[] {
- const svg = fromHtml(`${icon} `, { fragment: true, space: 'svg' })
- .children[0] as Element;
- return svg.children;
+ const tree = htmlToHast(icon, { fragment: true, space: 'svg' }) as Root;
+ return tree.children as ElementContent[];
}
diff --git a/packages/starlight/package.json b/packages/starlight/package.json
index b1daa32d2d6..58762ec7362 100644
--- a/packages/starlight/package.json
+++ b/packages/starlight/package.json
@@ -75,8 +75,9 @@
"@types/mdast": "^4.0.4",
"astro-expressive-code": "^0.44.0",
"bcp-47": "^2.1.0",
- "hast-util-from-html": "^2.0.3",
+ "hast-util-format": "^1.1.0",
"hast-util-select": "^6.0.4",
+ "hast-util-to-html": "^9.0.5",
"hast-util-to-string": "^3.0.1",
"hastscript": "^9.0.1",
"i18next": "^26.0.7",
@@ -87,8 +88,6 @@
"mdast-util-to-markdown": "^2.1.2",
"mdast-util-to-string": "^4.0.0",
"pagefind": "^1.5.2",
- "rehype": "^13.0.2",
- "rehype-format": "^5.0.1",
"remark-directive": "^4.0.0",
"satteri": "^0.10.3",
"ultrahtml": "^1.6.0",
diff --git a/packages/starlight/user-components/rehype-file-tree.ts b/packages/starlight/user-components/rehype-file-tree.ts
index cc8ba431df6..065aed8924f 100644
--- a/packages/starlight/user-components/rehype-file-tree.ts
+++ b/packages/starlight/user-components/rehype-file-tree.ts
@@ -1,20 +1,14 @@
import { AstroError } from 'astro/errors';
-import type { Element, ElementContent, Text } from 'hast';
+import type { Element, Root, RootContent, Text } from 'hast';
import { type Child, h, s } from 'hastscript';
import { select } from 'hast-util-select';
-import { fromHtml } from 'hast-util-from-html';
+import { toHtml } from 'hast-util-to-html';
import { toString } from 'hast-util-to-string';
-import { rehype } from 'rehype';
+import { htmlToHast } from 'satteri';
import { CONTINUE, SKIP, visit } from 'unist-util-visit';
import { Icons, type StarlightIcon } from '../components-internals/Icons';
import { definitions } from './file-tree-icons';
-declare module 'vfile' {
- interface DataMap {
- directoryLabel: string;
- }
-}
-
const folderIcon = makeSVGIcon(Icons['seti:folder']);
const defaultFileIcon = makeSVGIcon(Icons['seti:default']);
@@ -26,115 +20,106 @@ const defaultFileIcon = makeSVGIcon(Icons['seti:default']);
* @returns The processed HTML for the file tree.
*/
export function processFileTree(html: string, directoryLabel: string) {
- const file = fileTreeProcessor.processSync({ data: { directoryLabel }, value: html });
+ const tree = htmlToHast(html, { fragment: true }) as Root;
- return file.toString();
-}
+ validateFileTree(tree);
-/** Rehype processor to extract file tree data and turn each entry into its associated markup. */
-const fileTreeProcessor = rehype()
- .data('settings', { fragment: true })
- .use(function fileTree() {
- return (tree: Element, file) => {
- const { directoryLabel } = file.data;
-
- validateFileTree(tree);
-
- visit(tree, 'element', (node) => {
- // Strip nodes that only contain newlines.
- node.children = node.children.filter(
- (child) => child.type === 'comment' || child.type !== 'text' || !/^\n+$/.test(child.value)
- );
-
- // Skip over non-list items.
- if (node.tagName !== 'li') return CONTINUE;
-
- const [firstChild, ...otherChildren] = node.children;
-
- // Keep track of comments associated with the current file or directory.
- const comment: Child[] = [];
-
- // Extract text comment that follows the file name, e.g. `README.md This is a comment`
- if (firstChild?.type === 'text') {
- const [filename, ...fragments] = firstChild.value.split(' ');
- firstChild.value = filename || '';
- const textComment = fragments.join(' ').trim();
- if (textComment.length > 0) {
- comment.push(fragments.join(' '));
- }
- }
-
- // Comments may not always be entirely part of the first child text node,
- // e.g. `README.md This is an __important__ comment` where the `__important__` and `comment`
- // nodes would also be children of the list item node.
- const subTreeIndex = otherChildren.findIndex(
- (child) => child.type === 'element' && child.tagName === 'ul'
- );
- const commentNodes =
- subTreeIndex > -1 ? otherChildren.slice(0, subTreeIndex) : [...otherChildren];
- otherChildren.splice(0, subTreeIndex > -1 ? subTreeIndex : otherChildren.length);
- comment.push(...commentNodes);
-
- const firstChildTextContent = firstChild ? toString(firstChild) : '';
-
- // Decide a node is a directory if it ends in a `/` or contains another list.
- const isDirectory =
- /\/\s*$/.test(firstChildTextContent) ||
- otherChildren.some((child) => child.type === 'element' && child.tagName === 'ul');
- // A placeholder is a node that only contains 3 dots or an ellipsis.
- const isPlaceholder = /^\s*(\.{3}|…)\s*$/.test(firstChildTextContent);
- // A node is highlighted if its first child is bold text, e.g. `**README.md**`.
- const isHighlighted = firstChild?.type === 'element' && firstChild.tagName === 'strong';
-
- // Create an icon for the file or directory (placeholder do not have icons).
- const icon = h('span', isDirectory ? folderIcon : getFileIcon(firstChildTextContent));
- if (isDirectory) {
- // Add a screen reader only label for directories before the icon so that it is announced
- // as such before reading the directory name.
- icon.children.unshift(h('span', { class: 'sr-only' }, directoryLabel));
- }
-
- // Add classes and data attributes to the list item node.
- node.properties.class = isDirectory ? 'directory' : 'file';
- if (isPlaceholder) node.properties.class += ' empty';
-
- // Create the tree entry node that contains the icon, file name and comment which will end up
- // as the list item’s children.
- const treeEntryChildren: Child[] = [
- h('span', { class: isHighlighted ? 'highlight' : '' }, [
- isPlaceholder ? null : icon,
- firstChild,
- ]),
- ];
-
- if (comment.length > 0) {
- treeEntryChildren.push(makeText(' '), h('span', { class: 'comment' }, ...comment));
- }
-
- const treeEntry = h('span', { class: 'tree-entry' }, ...treeEntryChildren);
-
- if (isDirectory) {
- const hasContents = otherChildren.length > 0;
-
- node.children = [
- h('details', { open: hasContents }, [
- h('summary', treeEntry),
- ...(hasContents ? otherChildren : [h('ul', h('li', '…'))]),
- ]),
- ];
-
- // Continue down the tree.
- return CONTINUE;
- }
-
- node.children = [treeEntry, ...otherChildren];
-
- // Files can’t contain further files or directories, so skip iterating children.
- return SKIP;
- });
- };
+ visit(tree, 'element', (node) => {
+ // Strip nodes that only contain newlines.
+ node.children = node.children.filter(
+ (child) => child.type === 'comment' || child.type !== 'text' || !/^\n+$/.test(child.value)
+ );
+
+ // Skip over non-list items.
+ if (node.tagName !== 'li') return CONTINUE;
+
+ const [firstChild, ...otherChildren] = node.children;
+
+ // Keep track of comments associated with the current file or directory.
+ const comment: Child[] = [];
+
+ // Extract text comment that follows the file name, e.g. `README.md This is a comment`
+ if (firstChild?.type === 'text') {
+ const [filename, ...fragments] = firstChild.value.split(' ');
+ firstChild.value = filename || '';
+ const textComment = fragments.join(' ').trim();
+ if (textComment.length > 0) {
+ comment.push(fragments.join(' '));
+ }
+ }
+
+ // Comments may not always be entirely part of the first child text node,
+ // e.g. `README.md This is an __important__ comment` where the `__important__` and `comment`
+ // nodes would also be children of the list item node.
+ const subTreeIndex = otherChildren.findIndex(
+ (child) => child.type === 'element' && child.tagName === 'ul'
+ );
+ const commentNodes =
+ subTreeIndex > -1 ? otherChildren.slice(0, subTreeIndex) : [...otherChildren];
+ otherChildren.splice(0, subTreeIndex > -1 ? subTreeIndex : otherChildren.length);
+ comment.push(...commentNodes);
+
+ const firstChildTextContent = firstChild ? toString(firstChild) : '';
+
+ // Decide a node is a directory if it ends in a `/` or contains another list.
+ const isDirectory =
+ /\/\s*$/.test(firstChildTextContent) ||
+ otherChildren.some((child) => child.type === 'element' && child.tagName === 'ul');
+ // A placeholder is a node that only contains 3 dots or an ellipsis.
+ const isPlaceholder = /^\s*(\.{3}|…)\s*$/.test(firstChildTextContent);
+ // A node is highlighted if its first child is bold text, e.g. `**README.md**`.
+ const isHighlighted = firstChild?.type === 'element' && firstChild.tagName === 'strong';
+
+ // Create an icon for the file or directory (placeholder do not have icons).
+ const icon = h('span', isDirectory ? folderIcon : getFileIcon(firstChildTextContent));
+ if (isDirectory) {
+ // Add a screen reader only label for directories before the icon so that it is announced
+ // as such before reading the directory name.
+ icon.children.unshift(h('span', { class: 'sr-only' }, directoryLabel));
+ }
+
+ // Add classes and data attributes to the list item node.
+ node.properties.class = isDirectory ? 'directory' : 'file';
+ if (isPlaceholder) node.properties.class += ' empty';
+
+ // Create the tree entry node that contains the icon, file name and comment which will end up
+ // as the list item’s children.
+ const treeEntryChildren: Child[] = [
+ h('span', { class: isHighlighted ? 'highlight' : '' }, [
+ isPlaceholder ? null : icon,
+ firstChild,
+ ]),
+ ];
+
+ if (comment.length > 0) {
+ treeEntryChildren.push(makeText(' '), h('span', { class: 'comment' }, ...comment));
+ }
+
+ const treeEntry = h('span', { class: 'tree-entry' }, ...treeEntryChildren);
+
+ if (isDirectory) {
+ const hasContents = otherChildren.length > 0;
+
+ node.children = [
+ h('details', { open: hasContents }, [
+ h('summary', treeEntry),
+ ...(hasContents ? otherChildren : [h('ul', h('li', '…'))]),
+ ]),
+ ];
+
+ // Continue down the tree.
+ return CONTINUE;
+ }
+
+ node.children = [treeEntry, ...otherChildren];
+
+ // Files can’t contain further files or directories, so skip iterating children.
+ return SKIP;
});
+ return toHtml(tree);
+}
+
/** Make a text node with the pass string as its contents. */
function makeText(value = ''): Text {
return { type: 'text', value };
@@ -151,7 +136,7 @@ function makeSVGIcon(svgString: string) {
'aria-hidden': 'true',
viewBox: '0 0 24 24',
},
- fromHtml(svgString, { fragment: true })
+ (htmlToHast(svgString, { fragment: true, space: 'svg' }) as Root).children
);
}
@@ -199,7 +184,7 @@ function getFileIconTypeFromExtension(fileName: string) {
}
/** Validate that the user provided HTML for a file tree is valid. */
-function validateFileTree(tree: Element) {
+function validateFileTree(tree: Root) {
const rootElements = tree.children.filter(isElementNode);
const [rootElement] = rootElements;
@@ -232,7 +217,7 @@ function validateFileTree(tree: Element) {
}
}
-function isElementNode(node: ElementContent): node is Element {
+function isElementNode(node: RootContent): node is Element {
return node.type === 'element';
}
diff --git a/packages/starlight/user-components/rehype-steps.ts b/packages/starlight/user-components/rehype-steps.ts
index 0c6030704b7..e24366053d3 100644
--- a/packages/starlight/user-components/rehype-steps.ts
+++ b/packages/starlight/user-components/rehype-steps.ts
@@ -1,84 +1,79 @@
import { AstroError } from 'astro/errors';
import type { Element, Root } from 'hast';
-import { rehype } from 'rehype';
-import rehypeFormat from 'rehype-format';
-import type { VFile } from 'vfile';
+import { format } from 'hast-util-format';
+import { toHtml } from 'hast-util-to-html';
+import { htmlToHast } from 'satteri';
-const prettyPrintProcessor = rehype().data('settings', { fragment: true }).use(rehypeFormat);
-const prettyPrintHtml = (html: string) =>
- prettyPrintProcessor.processSync({ value: html }).toString();
-
-const stepsProcessor = rehype()
- .data('settings', { fragment: true })
- .use(function steps() {
- return (tree: Root, vfile: VFile) => {
- const rootElements = tree.children.filter(
- (item): item is Element =>
- item.type === 'element' &&
- // Since Astro 5.16.9, `List item '
diff --git a/packages/starlight/__tests__/markdown-processor/rehype-tabs.test.ts b/packages/starlight/__tests__/markdown-processor/tabs-processor.test.ts
similarity index 98%
rename from packages/starlight/__tests__/markdown-processor/rehype-tabs.test.ts
rename to packages/starlight/__tests__/markdown-processor/tabs-processor.test.ts
index f1300a627bb..856268969f6 100644
--- a/packages/starlight/__tests__/markdown-processor/rehype-tabs.test.ts
+++ b/packages/starlight/__tests__/markdown-processor/tabs-processor.test.ts
@@ -2,14 +2,14 @@ import { expect, test } from 'vitest';
import { toHtml } from 'hast-util-to-html';
import { selectAll } from 'hast-util-select';
import { htmlToHast } from 'satteri';
-import { processPanels, TabItemTagname } from '../../user-components/rehype-tabs';
+import { processPanels, TabItemTagname } from '../../user-components/tabs-processor';
const TabItem = ({ label, slot, icon }: { label: string; slot: string; icon?: string }) => {
const iconAttr = icon ? ` data-icon="${icon}"` : '';
return `<${TabItemTagname} data-label="${label}"${iconAttr}>${slot}${TabItemTagname}>`;
};
-/** Get an array of HTML strings, one for each `` created by rehype-tabs for each tab item. */
+/** Get an array of HTML strings, one for each `
` created by tabs-processor for each tab item. */
const extractTabPanels = (html: string) => {
const tree = htmlToHast(html, { fragment: true });
const tabPanels = selectAll('div[role="tabpanel"]', tree);
diff --git a/packages/starlight/user-components/FileTree.astro b/packages/starlight/user-components/FileTree.astro
index 2bd532d66da..5d1aee416b6 100644
--- a/packages/starlight/user-components/FileTree.astro
+++ b/packages/starlight/user-components/FileTree.astro
@@ -1,5 +1,5 @@
---
-import { processFileTree } from './rehype-file-tree';
+import { processFileTree } from './file-tree-processor';
const fileTreeHtml = await Astro.slots.render('default');
const html = processFileTree(fileTreeHtml, Astro.locals.t('fileTree.directory'));
diff --git a/packages/starlight/user-components/Steps.astro b/packages/starlight/user-components/Steps.astro
index bd193e73d5f..43fbc56856a 100644
--- a/packages/starlight/user-components/Steps.astro
+++ b/packages/starlight/user-components/Steps.astro
@@ -1,5 +1,5 @@
---
-import { processSteps } from './rehype-steps';
+import { processSteps } from './steps-processor';
const content = await Astro.slots.render('default');
const { html } = processSteps(content);
diff --git a/packages/starlight/user-components/TabItem.astro b/packages/starlight/user-components/TabItem.astro
index 0fa53d37e1b..c1723744520 100644
--- a/packages/starlight/user-components/TabItem.astro
+++ b/packages/starlight/user-components/TabItem.astro
@@ -1,5 +1,5 @@
---
-import { TabItemTagname } from './rehype-tabs';
+import { TabItemTagname } from './tabs-processor';
import type { StarlightIcon } from '../components-internals/Icons';
interface Props {
diff --git a/packages/starlight/user-components/Tabs.astro b/packages/starlight/user-components/Tabs.astro
index 66f1b2e9e8d..9a8103ffa63 100644
--- a/packages/starlight/user-components/Tabs.astro
+++ b/packages/starlight/user-components/Tabs.astro
@@ -1,6 +1,6 @@
---
import Icon from './Icon.astro';
-import { processPanels } from './rehype-tabs';
+import { processPanels } from './tabs-processor';
interface Props {
syncKey?: string;
diff --git a/packages/starlight/user-components/file-tree-icons.ts b/packages/starlight/user-components/file-tree-icons.ts
index 2afc8b6cb7d..d643b9c76d3 100644
--- a/packages/starlight/user-components/file-tree-icons.ts
+++ b/packages/starlight/user-components/file-tree-icons.ts
@@ -3,7 +3,7 @@
* Do not edit this file directly as it will be overwritten.
*/
-import type { Definitions } from './rehype-file-tree.ts';
+import type { Definitions } from './file-tree-processor.ts';
/**
* Based on https://github.com/elviswolcott/seti-icons which
diff --git a/packages/starlight/user-components/rehype-file-tree.ts b/packages/starlight/user-components/file-tree-processor.ts
similarity index 100%
rename from packages/starlight/user-components/rehype-file-tree.ts
rename to packages/starlight/user-components/file-tree-processor.ts
diff --git a/packages/starlight/user-components/rehype-steps.ts b/packages/starlight/user-components/steps-processor.ts
similarity index 100%
rename from packages/starlight/user-components/rehype-steps.ts
rename to packages/starlight/user-components/steps-processor.ts
diff --git a/packages/starlight/user-components/rehype-tabs.ts b/packages/starlight/user-components/tabs-processor.ts
similarity index 100%
rename from packages/starlight/user-components/rehype-tabs.ts
rename to packages/starlight/user-components/tabs-processor.ts
From 4e414a33f60a5e2773a61f35e9f9752599551071 Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Thu, 20 Aug 2026 18:11:24 +0200
Subject: [PATCH 05/10] chore: add changeset placeholder
---
.changeset/humble-friends-clean.md | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 .changeset/humble-friends-clean.md
diff --git a/.changeset/humble-friends-clean.md b/.changeset/humble-friends-clean.md
new file mode 100644
index 00000000000..a84b08f83fe
--- /dev/null
+++ b/.changeset/humble-friends-clean.md
@@ -0,0 +1,13 @@
+---
+'@astrojs/starlight': minor
+---
+
+TODO(HiDeoo)
+
+⚠️ **BREAKING CHANGE:** The minimum supported version of Astro is now TODO(HiDeoo).
+
+Please update Starlight and Astro together:
+
+```sh
+npx @astrojs/upgrade
+```
From 6dd6b7af4a87c7d3eb6492bf3ae0b896bf498153 Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Tue, 25 Aug 2026 09:23:30 +0200
Subject: [PATCH 06/10] chore: update deps
---
docs/package.json | 2 +-
examples/basics/package.json | 2 +-
examples/markdoc/package.json | 2 +-
examples/tailwind/package.json | 2 +-
package.json | 2 +-
.../__e2e__/fixtures/basics/package.json | 2 +-
.../fixtures/custom src-dir/package.json | 2 +-
.../__e2e__/fixtures/git/package.json | 2 +-
.../package.json | 2 +-
.../fixtures/no-mdx-optimization/package.json | 2 +-
.../__e2e__/fixtures/ssr/package.json | 2 +-
packages/starlight/package.json | 8 +-
pnpm-lock.yaml | 287 ++++++++----------
pnpm-workspace.yaml | 9 +-
14 files changed, 149 insertions(+), 177 deletions(-)
diff --git a/docs/package.json b/docs/package.json
index 3b7827f1597..3d548cacd20 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -21,7 +21,7 @@
"@astrojs/starlight": "workspace:*",
"@lunariajs/core": "^0.1.1",
"@types/culori": "^4.0.1",
- "astro": "^7.2.4",
+ "astro": "^7.2.5",
"culori": "^4.0.2",
"sharp": "^0.35.3"
},
diff --git a/examples/basics/package.json b/examples/basics/package.json
index 77990d2615a..fb13cb2bcf1 100644
--- a/examples/basics/package.json
+++ b/examples/basics/package.json
@@ -12,7 +12,7 @@
},
"dependencies": {
"@astrojs/starlight": "^0.41.8",
- "astro": "^7.2.4",
+ "astro": "^7.2.5",
"sharp": "^0.35.3"
}
}
diff --git a/examples/markdoc/package.json b/examples/markdoc/package.json
index 06615146f95..2c3215f9bfd 100644
--- a/examples/markdoc/package.json
+++ b/examples/markdoc/package.json
@@ -14,7 +14,7 @@
"@astrojs/markdoc": "^2.0.6",
"@astrojs/starlight": "^0.41.8",
"@astrojs/starlight-markdoc": "^0.7.0",
- "astro": "^7.2.4",
+ "astro": "^7.2.5",
"sharp": "^0.35.3"
}
}
diff --git a/examples/tailwind/package.json b/examples/tailwind/package.json
index a22e2e6128f..6a0b68877f5 100644
--- a/examples/tailwind/package.json
+++ b/examples/tailwind/package.json
@@ -14,7 +14,7 @@
"@astrojs/starlight": "^0.41.8",
"@astrojs/starlight-tailwind": "^5.0.0",
"@tailwindcss/vite": "^4.2.4",
- "astro": "^7.2.4",
+ "astro": "^7.2.5",
"sharp": "^0.35.3",
"tailwindcss": "^4.2.4"
}
diff --git a/package.json b/package.json
index 5f9e0767ce0..5dcd30b05d8 100644
--- a/package.json
+++ b/package.json
@@ -18,7 +18,7 @@
"@changesets/cli": "^3.0.1",
"@eslint/js": "^10.0.1",
"@size-limit/file": "^12.1.0",
- "astro": "^7.2.4",
+ "astro": "^7.2.5",
"eslint": "^10.3.0",
"eslint-config-prettier": "^10.1.8",
"globals": "^17.6.0",
diff --git a/packages/starlight/__e2e__/fixtures/basics/package.json b/packages/starlight/__e2e__/fixtures/basics/package.json
index 32461b54936..c12304e3606 100644
--- a/packages/starlight/__e2e__/fixtures/basics/package.json
+++ b/packages/starlight/__e2e__/fixtures/basics/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.2.4"
+ "astro": "^7.2.5"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/custom src-dir/package.json b/packages/starlight/__e2e__/fixtures/custom src-dir/package.json
index 9a0586a6043..62e30de3f79 100644
--- a/packages/starlight/__e2e__/fixtures/custom src-dir/package.json
+++ b/packages/starlight/__e2e__/fixtures/custom src-dir/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.2.4"
+ "astro": "^7.2.5"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/git/package.json b/packages/starlight/__e2e__/fixtures/git/package.json
index b41fd910e70..bc616e88a6e 100644
--- a/packages/starlight/__e2e__/fixtures/git/package.json
+++ b/packages/starlight/__e2e__/fixtures/git/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.2.4"
+ "astro": "^7.2.5"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat/package.json b/packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat/package.json
index c9351a30629..9b97592c1a4 100644
--- a/packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat/package.json
+++ b/packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.2.4"
+ "astro": "^7.2.5"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/no-mdx-optimization/package.json b/packages/starlight/__e2e__/fixtures/no-mdx-optimization/package.json
index db4e2e28320..94140f936d0 100644
--- a/packages/starlight/__e2e__/fixtures/no-mdx-optimization/package.json
+++ b/packages/starlight/__e2e__/fixtures/no-mdx-optimization/package.json
@@ -4,6 +4,6 @@
"private": true,
"dependencies": {
"@astrojs/starlight": "workspace:*",
- "astro": "^7.2.4"
+ "astro": "^7.2.5"
}
}
diff --git a/packages/starlight/__e2e__/fixtures/ssr/package.json b/packages/starlight/__e2e__/fixtures/ssr/package.json
index 2fc1d65c494..e509598039f 100644
--- a/packages/starlight/__e2e__/fixtures/ssr/package.json
+++ b/packages/starlight/__e2e__/fixtures/ssr/package.json
@@ -5,6 +5,6 @@
"dependencies": {
"@astrojs/node": "^11.0.0",
"@astrojs/starlight": "workspace:*",
- "astro": "^7.2.4"
+ "astro": "^7.2.5"
}
}
diff --git a/packages/starlight/package.json b/packages/starlight/package.json
index 28a2393f249..b6e2ff8ce1a 100644
--- a/packages/starlight/package.json
+++ b/packages/starlight/package.json
@@ -49,7 +49,7 @@
},
"peerDependencies": {
"@astrojs/markdown-remark": "^7.2.0",
- "astro": "^7.2.4"
+ "astro": "^7.2.5"
},
"peerDependenciesMeta": {
"@astrojs/markdown-remark": {
@@ -61,13 +61,13 @@
"@playwright/test": "^1.61.1",
"@types/node": "^22.19.17",
"@vitest/coverage-v8": "^4.1.5",
- "astro": "^7.2.4",
+ "astro": "^7.2.5",
"linkedom": "^0.18.12",
"vitest": "^4.1.5"
},
"dependencies": {
- "@astrojs/markdown-satteri": "^0.3.7",
- "@astrojs/mdx": "^7.0.5",
+ "@astrojs/markdown-satteri": "^0.3.8",
+ "@astrojs/mdx": "^7.0.8",
"@astrojs/sitemap": "^3.7.3",
"@pagefind/default-ui": "^1.3.0",
"@types/hast": "^3.0.5",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index adf6dc3d986..b698fe34650 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -24,8 +24,8 @@ importers:
specifier: ^12.1.0
version: 12.1.0(size-limit@12.1.0(jiti@2.6.1))
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
eslint:
specifier: ^10.3.0
version: 10.3.0(jiti@2.6.1)(supports-color@10.2.2)
@@ -69,8 +69,8 @@ importers:
specifier: ^4.0.1
version: 4.0.1
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
culori:
specifier: ^4.0.2
version: 4.0.2
@@ -89,7 +89,7 @@ importers:
version: 4.1.5
starlight-links-validator:
specifier: ^0.25.2
- version: 0.25.2(@astrojs/starlight@packages+starlight)(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)
+ version: 0.25.2(@astrojs/starlight@packages+starlight)(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)
examples/basics:
dependencies:
@@ -97,8 +97,8 @@ importers:
specifier: ^0.41.8
version: link:../../packages/starlight
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
sharp:
specifier: ^0.35.3
version: 0.35.3(@types/node@24.12.4)
@@ -107,7 +107,7 @@ importers:
dependencies:
'@astrojs/markdoc':
specifier: ^2.0.6
- version: 2.0.6(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))
+ version: 2.0.6(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))
'@astrojs/starlight':
specifier: ^0.41.8
version: link:../../packages/starlight
@@ -115,8 +115,8 @@ importers:
specifier: ^0.7.0
version: link:../../packages/markdoc
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
sharp:
specifier: ^0.35.3
version: 0.35.3(@types/node@24.12.4)
@@ -133,8 +133,8 @@ importers:
specifier: ^4.2.4
version: 4.2.4(vite@8.2.0(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(yaml@2.9.0))
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
sharp:
specifier: ^0.35.3
version: 0.35.3(@types/node@24.12.4)
@@ -169,7 +169,7 @@ importers:
devDependencies:
'@astrojs/markdoc':
specifier: ^2.0.6
- version: 2.0.6(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))
+ version: 2.0.6(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))
'@astrojs/starlight':
specifier: workspace:*
version: link:../starlight
@@ -180,11 +180,11 @@ importers:
packages/starlight:
dependencies:
'@astrojs/markdown-satteri':
- specifier: ^0.3.7
- version: 0.3.7
+ specifier: ^0.3.8
+ version: 0.3.8
'@astrojs/mdx':
- specifier: ^7.0.5
- version: 7.0.5(@astrojs/markdown-satteri@0.3.7)(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)
+ specifier: ^7.0.8
+ version: 7.0.8(@astrojs/markdown-satteri@0.3.8)(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)
'@astrojs/sitemap':
specifier: ^3.7.3
version: 3.7.3
@@ -202,7 +202,7 @@ importers:
version: 4.0.4
astro-expressive-code:
specifier: ^0.44.0
- version: 0.44.0(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0))
+ version: 0.44.0(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0))
bcp-47:
specifier: ^2.1.0
version: 2.1.0
@@ -277,8 +277,8 @@ importers:
specifier: ^4.1.5
version: 4.1.5(vitest@4.1.5)
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0)
linkedom:
specifier: ^0.18.12
version: 0.18.12
@@ -292,8 +292,8 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
packages/starlight/__e2e__/fixtures/custom src-dir:
dependencies:
@@ -301,8 +301,8 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
packages/starlight/__e2e__/fixtures/git:
dependencies:
@@ -310,8 +310,8 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
packages/starlight/__e2e__/fixtures/legacy-collections-backwards-compat:
dependencies:
@@ -319,8 +319,8 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
packages/starlight/__e2e__/fixtures/no-mdx-optimization:
dependencies:
@@ -328,20 +328,20 @@ importers:
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
packages/starlight/__e2e__/fixtures/ssr:
dependencies:
'@astrojs/node':
specifier: ^11.0.0
- version: 11.0.0(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)
+ version: 11.0.0(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)
'@astrojs/starlight':
specifier: workspace:*
version: link:../../..
astro:
- specifier: ^7.2.4
- version: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ specifier: ^7.2.5
+ version: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
packages/tailwind:
devDependencies:
@@ -428,69 +428,69 @@ packages:
peerDependencies:
typescript: ^5.0.0 || ^6.0.0
- '@astrojs/compiler-binding-darwin-arm64@0.3.2':
- resolution: {integrity: sha512-MM8tn8CSimcfytaOla4b6acN8mKWiL/rlAA1fpT3/Wl7dNGSE4y8FjTN/zJVNnb63CsLWG5zZwCt01TXtDKh9g==}
+ '@astrojs/compiler-binding-darwin-arm64@0.4.0':
+ resolution: {integrity: sha512-ZVUwHundaQyFNjE6uoa0usaC0WOCitDCLS/4mdb4rOiJXwVUuKJBMxI5WMzXLWmamsXtK/Z//ifLXvV5Yeh4Hw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [darwin]
- '@astrojs/compiler-binding-darwin-x64@0.3.2':
- resolution: {integrity: sha512-2lXOlzf8xb7jLomRsf/aswh61/NnGusynB2OwFkK6k4pmOtpfXMYnG0PLfXrEvxXYj69NdCnmUYXtHDd+JOOag==}
+ '@astrojs/compiler-binding-darwin-x64@0.4.0':
+ resolution: {integrity: sha512-FI6G8AY8u6fR1SI/QRR5yGMwtvZwP34CDmZpZ5HwJGa50UM1VISTLhqkhV4a476pmgd25X1Aur2dqw6hUnrlKA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [darwin]
- '@astrojs/compiler-binding-linux-arm64-gnu@0.3.2':
- resolution: {integrity: sha512-BmU3kWj7qnLrd4vzm49zFEPJ5oFnn1tCT4Vt9hZbqdU5Cmb8GZl7fn6VFsnNfe7B18a2gIFtVzbLINtYl5kBjQ==}
+ '@astrojs/compiler-binding-linux-arm64-gnu@0.4.0':
+ resolution: {integrity: sha512-lB9gLFJK7m82EnjaU8nlRBEfcwGNeHidW3sSjODTUjMNaoewVuUz9fwwdY5M4jiSXIqWLH3yl6TX8FTDKA74Sw==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@astrojs/compiler-binding-linux-arm64-musl@0.3.2':
- resolution: {integrity: sha512-f0heT9ZZEseSu5bHCeb80eL2DH07ArE6U9xi1WT/PEusNjzPmEr3GJsjG1tRLo5VYUUYX7h3ScaqGmGrMOVGmw==}
+ '@astrojs/compiler-binding-linux-arm64-musl@0.4.0':
+ resolution: {integrity: sha512-HPbvWqbxFxyaoQJhLxCaSjtYBx9KBo7JGVzEFZCmMl968a2PsSH0UfiODYgYPXofTOIsIH2aoCcrHXML0IA3ig==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@astrojs/compiler-binding-linux-x64-gnu@0.3.2':
- resolution: {integrity: sha512-M8fOUt0itRpqiGyoEA/ij184s8O+hqbCz3+YozRusOOM3osgGljpDThhbKAJjqh82wOo6FioQ4w8PBvU1XMD5Q==}
+ '@astrojs/compiler-binding-linux-x64-gnu@0.4.0':
+ resolution: {integrity: sha512-tQKolMxoJ/+0AmLWm1PmJ/i+z3i10ZU1bNuVjEDulCf48azEMtUNjTZgHJ5MPtpYRNc7dlETr8QujUfduzoC7Q==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@astrojs/compiler-binding-linux-x64-musl@0.3.2':
- resolution: {integrity: sha512-/Kebk8sO6HnLeSd691JkaAPfN7CqR9/KEXmWvyNPkaKNGmj8rTZ/lf2uXtnPu92Lan84UrKdIKVPy1fSo2encQ==}
+ '@astrojs/compiler-binding-linux-x64-musl@0.4.0':
+ resolution: {integrity: sha512-5v5YymudsxMHp3NBLCS8BUlu5CRqeLtWD9cKS/4nIhIEHCbpz9okmVV6I0HWqmBAPhWYcDa3vw/vltYPrOQCTA==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [linux]
libc: [musl]
- '@astrojs/compiler-binding-wasm32-wasi@0.3.2':
- resolution: {integrity: sha512-pUA6xbcOSB7DhfzIArB8BCAkFfAIqriiR7zl5zOStd6oU2G0kIKj+GUdGnyXyhfiv881Hffyk5tC0mR18sDjDw==}
+ '@astrojs/compiler-binding-wasm32-wasi@0.4.0':
+ resolution: {integrity: sha512-m/phuH3x3PREvv1OnkM44NoPh4MatUadix1fB1u5SvMLCyDTUZykDJbKnWf1cjnYmHdlB8HcjTjl6JrCqAIXcw==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
- '@astrojs/compiler-binding-win32-arm64-msvc@0.3.2':
- resolution: {integrity: sha512-ESruf+6Qkl1trHUFxI6GSf6t52j8yN2kCNSzMWdzt7V/T09tFHrYzrVaJQohb2C9bJUH76pNvX6Zb51+xCQc9Q==}
+ '@astrojs/compiler-binding-win32-arm64-msvc@0.4.0':
+ resolution: {integrity: sha512-B9zYf3okEY83kM8gydlpH2BHP00w4ifxPqlYlWrgTwuD6wnkrJDCwBlgy1q31cERjCJRXN1lrE2VmkLvFjv/6g==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [arm64]
os: [win32]
- '@astrojs/compiler-binding-win32-x64-msvc@0.3.2':
- resolution: {integrity: sha512-wzzVrEbOwbsLWOdEbocskjMRx2aZPxJ7ZbmL+jnpBamFwmigm+2M/wzuM6JWncocgYwLic1csSpalBh96kQKXA==}
+ '@astrojs/compiler-binding-win32-x64-msvc@0.4.0':
+ resolution: {integrity: sha512-zB0Nrv0dGc0zZWPGDRmmETTPhDRqyZjAjk+gWMlVrJX5U89obpB3VUUE1ZiHxOCN5LQojeLK6O8L/dnoHolvNQ==}
engines: {node: ^20.19.0 || >=22.12.0}
cpu: [x64]
os: [win32]
- '@astrojs/compiler-binding@0.3.2':
- resolution: {integrity: sha512-8w/9CWmYrAJJ8N0SY3O43ws2BgxoW6u3QsD8u2mE140lMYAlwh+tlNoUeSBq22wVheFuiBbR212l6ixZ2IIgCQ==}
+ '@astrojs/compiler-binding@0.4.0':
+ resolution: {integrity: sha512-x2RjDUuWfwLNtc3mjAdSRInwqh/rqbLar9cm/5FOMbHvmYZB7yfKewzSclAxWjIZsypJDXv1lhaP2WG+P8TK3g==}
engines: {node: ^20.19.0 || >=22.12.0}
- '@astrojs/compiler-rs@0.3.2':
- resolution: {integrity: sha512-xlx/T7JovIKduu4ucbTQUxQ5+Q8wxkHxhLjnZk3VlJbhbQ9RLvvuDk1p2YYFYFQ5y14dVm3FGGO4isQXa4F+Tg==}
+ '@astrojs/compiler-rs@0.4.0':
+ resolution: {integrity: sha512-koVikeon1kreEy+/JzLQRy3vzHHQVOjycs4degg4vFufKApZOwMZvSSAEztYNhmcQVfNVsVZZI4cEge3cexAbQ==}
engines: {node: '>=22.12.0'}
'@astrojs/compiler@2.13.1':
@@ -523,20 +523,17 @@ packages:
peerDependencies:
astro: ^7.0.0
- '@astrojs/markdown-remark@7.2.2':
- resolution: {integrity: sha512-FGfmK84zSNcrsBd0dl1gXE9JvZYElp8EXQa2jpHVAxG4deGKAp43wspxFupjADJX7MSsMRHwYCnfT6EyVmgeFQ==}
-
'@astrojs/markdown-remark@7.2.4':
resolution: {integrity: sha512-MvspGMynWKAjTe4/lTUdmBPHIFKNVLTCF6UlyWGogTGzNrTvjD+D4n48k7h8swxsEPKHK2TwxkZO7uoaCv1Pow==}
'@astrojs/markdown-satteri@0.3.5':
resolution: {integrity: sha512-CvWVEFAbay7YO+i9SaqDJubipA5ckiVB89QWoMJ5XC0m5CtFg8JwZ7Kau6X9sYY7FZURH0w2l03ISH2jOS/RDQ==}
- '@astrojs/markdown-satteri@0.3.7':
- resolution: {integrity: sha512-NHcHbrKW/opbZnTZQ5nH293BdcK2VV0tjuzI88CLnvy2njiEJVwUQ5KFnYd4NoWgHJCY/I1CyjGWCR4Vv3khXQ==}
+ '@astrojs/markdown-satteri@0.3.8':
+ resolution: {integrity: sha512-n8ItpFTCmlDsVR5+rwDmehSf+jFCYLWmZiisZNGuF7xILqYhsVeBfcha4qgS2Seq3fAc9Tm58ZVrvqFQ6RQgRQ==}
- '@astrojs/mdx@7.0.5':
- resolution: {integrity: sha512-wEM/HH1RiEntyPVagdiF+yArzfcYLKBB0C1RZspVidKZ97rRMbaqP1Nbl/GR0sJs8zwaceqxRymw8aOKKJRdYw==}
+ '@astrojs/mdx@7.0.8':
+ resolution: {integrity: sha512-RNuwq2ccTSi7NX9YqlR0noaWoVdOrZuJvdfWXotAzdhMVB0b0zEMLnNU+xar7le0GwTMlTObD/QAu8jeHA/3nA==}
engines: {node: '>=22.12.0'}
peerDependencies:
'@astrojs/markdown-satteri': ^0.3.1
@@ -1908,8 +1905,8 @@ packages:
peerDependencies:
astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta || ^7.0.0
- astro@7.2.4:
- resolution: {integrity: sha512-+cuLsBns2wwUHI9a10xZMbjrF91m7+QNwqTVeljTx0B8Lf+8h0LgVGjdVIL2FALDKD2I565lczeeS3BFC+KdZg==}
+ astro@7.2.5:
+ resolution: {integrity: sha512-E92+I7yiqB2GA7u87JFpVG+glyGAYsGbiWPoZhH7mEja5SXyZniMoDd4UUuySpzM0tU4OlVWvYCcithkd/Hkig==}
engines: {node: '>=22.12.0', npm: '>=9.6.5', pnpm: '>=7.1.0'}
hasBin: true
peerDependencies:
@@ -2146,8 +2143,8 @@ packages:
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
- diff@8.0.4:
- resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==}
+ diff@9.0.0:
+ resolution: {integrity: sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==}
engines: {node: '>=0.3.1'}
direction@2.0.1:
@@ -4244,56 +4241,56 @@ snapshots:
- prettier
- prettier-plugin-astro
- '@astrojs/compiler-binding-darwin-arm64@0.3.2':
+ '@astrojs/compiler-binding-darwin-arm64@0.4.0':
optional: true
- '@astrojs/compiler-binding-darwin-x64@0.3.2':
+ '@astrojs/compiler-binding-darwin-x64@0.4.0':
optional: true
- '@astrojs/compiler-binding-linux-arm64-gnu@0.3.2':
+ '@astrojs/compiler-binding-linux-arm64-gnu@0.4.0':
optional: true
- '@astrojs/compiler-binding-linux-arm64-musl@0.3.2':
+ '@astrojs/compiler-binding-linux-arm64-musl@0.4.0':
optional: true
- '@astrojs/compiler-binding-linux-x64-gnu@0.3.2':
+ '@astrojs/compiler-binding-linux-x64-gnu@0.4.0':
optional: true
- '@astrojs/compiler-binding-linux-x64-musl@0.3.2':
+ '@astrojs/compiler-binding-linux-x64-musl@0.4.0':
optional: true
- '@astrojs/compiler-binding-wasm32-wasi@0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)':
+ '@astrojs/compiler-binding-wasm32-wasi@0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
- '@napi-rs/wasm-runtime': 1.2.1(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
+ '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
optional: true
- '@astrojs/compiler-binding-win32-arm64-msvc@0.3.2':
+ '@astrojs/compiler-binding-win32-arm64-msvc@0.4.0':
optional: true
- '@astrojs/compiler-binding-win32-x64-msvc@0.3.2':
+ '@astrojs/compiler-binding-win32-x64-msvc@0.4.0':
optional: true
- '@astrojs/compiler-binding@0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)':
+ '@astrojs/compiler-binding@0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
optionalDependencies:
- '@astrojs/compiler-binding-darwin-arm64': 0.3.2
- '@astrojs/compiler-binding-darwin-x64': 0.3.2
- '@astrojs/compiler-binding-linux-arm64-gnu': 0.3.2
- '@astrojs/compiler-binding-linux-arm64-musl': 0.3.2
- '@astrojs/compiler-binding-linux-x64-gnu': 0.3.2
- '@astrojs/compiler-binding-linux-x64-musl': 0.3.2
- '@astrojs/compiler-binding-wasm32-wasi': 0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
- '@astrojs/compiler-binding-win32-arm64-msvc': 0.3.2
- '@astrojs/compiler-binding-win32-x64-msvc': 0.3.2
+ '@astrojs/compiler-binding-darwin-arm64': 0.4.0
+ '@astrojs/compiler-binding-darwin-x64': 0.4.0
+ '@astrojs/compiler-binding-linux-arm64-gnu': 0.4.0
+ '@astrojs/compiler-binding-linux-arm64-musl': 0.4.0
+ '@astrojs/compiler-binding-linux-x64-gnu': 0.4.0
+ '@astrojs/compiler-binding-linux-x64-musl': 0.4.0
+ '@astrojs/compiler-binding-wasm32-wasi': 0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ '@astrojs/compiler-binding-win32-arm64-msvc': 0.4.0
+ '@astrojs/compiler-binding-win32-x64-msvc': 0.4.0
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
- '@astrojs/compiler-rs@0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)':
+ '@astrojs/compiler-rs@0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
- '@astrojs/compiler-binding': 0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
+ '@astrojs/compiler-binding': 0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
transitivePeerDependencies:
- '@emnapi/core'
- '@emnapi/runtime'
@@ -4324,7 +4321,7 @@ snapshots:
'@astrojs/internal-helpers@0.10.4':
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
js-yaml: 4.3.1
picomatch: 4.0.5
@@ -4359,12 +4356,12 @@ snapshots:
transitivePeerDependencies:
- typescript
- '@astrojs/markdoc@2.0.6(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))':
+ '@astrojs/markdoc@2.0.6(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))':
dependencies:
'@astrojs/internal-helpers': 0.10.2
'@astrojs/prism': 4.0.2
'@markdoc/markdoc': 0.5.4
- astro: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ astro: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
esbuild: 0.28.0
github-slugger: 2.0.0
htmlparser2: 12.0.0
@@ -4372,28 +4369,6 @@ snapshots:
- '@types/react'
- react
- '@astrojs/markdown-remark@7.2.2(supports-color@10.2.2)':
- dependencies:
- '@astrojs/internal-helpers': 0.10.2
- '@astrojs/prism': 4.0.2
- github-slugger: 2.0.0
- hast-util-from-html: 2.0.3
- hast-util-to-text: 4.0.2
- mdast-util-definitions: 6.0.0
- rehype-raw: 7.0.0
- rehype-stringify: 10.0.1
- remark-gfm: 4.0.1(supports-color@10.2.2)
- remark-parse: 11.0.0(supports-color@10.2.2)
- remark-rehype: 11.1.2
- remark-smartypants: 3.0.2
- unified: 11.0.5
- unist-util-remove-position: 5.0.0
- unist-util-visit: 5.1.0
- unist-util-visit-parents: 6.0.2
- vfile: 6.0.3
- transitivePeerDependencies:
- - supports-color
-
'@astrojs/markdown-remark@7.2.4(supports-color@10.2.2)':
dependencies:
'@astrojs/internal-helpers': 0.10.4
@@ -4424,20 +4399,20 @@ snapshots:
hast-util-from-html: 2.0.3
satteri: 0.9.3
- '@astrojs/markdown-satteri@0.3.7':
+ '@astrojs/markdown-satteri@0.3.8':
dependencies:
'@astrojs/internal-helpers': 0.10.4
'@astrojs/prism': 4.0.2
github-slugger: 2.0.0
satteri: 0.10.5
- '@astrojs/mdx@7.0.5(@astrojs/markdown-satteri@0.3.7)(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)':
+ '@astrojs/mdx@7.0.8(@astrojs/markdown-satteri@0.3.8)(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)':
dependencies:
- '@astrojs/internal-helpers': 0.10.2
- '@astrojs/markdown-remark': 7.2.2(supports-color@10.2.2)
+ '@astrojs/internal-helpers': 0.10.4
+ '@astrojs/markdown-remark': 7.2.4(supports-color@10.2.2)
'@mdx-js/mdx': 3.1.1(supports-color@10.2.2)
acorn: 8.16.0
- astro: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0)
+ astro: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0)
es-module-lexer: 2.0.0
estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5
@@ -4449,14 +4424,14 @@ snapshots:
unist-util-visit: 5.1.0
vfile: 6.0.3
optionalDependencies:
- '@astrojs/markdown-satteri': 0.3.7
+ '@astrojs/markdown-satteri': 0.3.8
transitivePeerDependencies:
- supports-color
- '@astrojs/node@11.0.0(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)':
+ '@astrojs/node@11.0.0(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2)':
dependencies:
'@astrojs/internal-helpers': 0.10.0
- astro: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ astro: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
send: 1.2.1(supports-color@10.2.2)
server-destroy: 1.0.1
transitivePeerDependencies:
@@ -5131,17 +5106,17 @@ snapshots:
'@tybys/wasm-util': 0.10.3
optional: true
- '@napi-rs/wasm-runtime@1.2.1(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)':
+ '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
- '@emnapi/core': 2.0.0-alpha.3
- '@emnapi/runtime': 2.0.0-alpha.3
+ '@emnapi/core': 1.11.1
+ '@emnapi/runtime': 1.11.1
'@tybys/wasm-util': 0.10.3
optional: true
- '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
+ '@napi-rs/wasm-runtime@1.2.3(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)':
dependencies:
- '@emnapi/core': 1.11.1
- '@emnapi/runtime': 1.11.1
+ '@emnapi/core': 2.0.0-alpha.3
+ '@emnapi/runtime': 2.0.0-alpha.3
'@tybys/wasm-util': 0.10.3
optional: true
@@ -5232,7 +5207,7 @@ snapshots:
dependencies:
'@emnapi/core': 2.0.0-alpha.3
'@emnapi/runtime': 2.0.0-alpha.3
- '@napi-rs/wasm-runtime': 1.2.1(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
+ '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
optional: true
'@rolldown/binding-win32-arm64-msvc@1.2.1':
@@ -5248,7 +5223,7 @@ snapshots:
'@shikijs/primitive': 4.0.2
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-to-html: 9.0.5
'@shikijs/engine-javascript@4.0.2':
@@ -5270,7 +5245,7 @@ snapshots:
dependencies:
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@shikijs/themes@4.0.2':
dependencies:
@@ -5279,7 +5254,7 @@ snapshots:
'@shikijs/types@4.0.2':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@shikijs/vscode-textmate@10.0.2': {}
@@ -5741,17 +5716,17 @@ snapshots:
astring@1.9.0: {}
- astro-expressive-code@0.44.0(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0)):
+ astro-expressive-code@0.44.0(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0)):
dependencies:
- astro: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0)
+ astro: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0)
rehype-expressive-code: 0.44.0
url-extras: 0.1.0
- astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0):
+ astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.17)(jiti@2.6.1)(yaml@2.9.0):
dependencies:
- '@astrojs/compiler-rs': 0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
+ '@astrojs/compiler-rs': 0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
'@astrojs/internal-helpers': 0.10.4
- '@astrojs/markdown-satteri': 0.3.7
+ '@astrojs/markdown-satteri': 0.3.8
'@astrojs/telemetry': 3.3.3
'@capsizecss/unpack': 4.0.0
'@clack/prompts': 1.7.0
@@ -5764,7 +5739,7 @@ snapshots:
common-ancestor-path: 2.0.0
cookie: 2.0.1
devalue: 5.8.1
- diff: 8.0.4
+ diff: 9.0.0
dset: 3.1.4
es-module-lexer: 2.0.0
esbuild: 0.28.0
@@ -5839,11 +5814,11 @@ snapshots:
- uploadthing
- yaml
- astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0):
+ astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0):
dependencies:
- '@astrojs/compiler-rs': 0.3.2(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)
+ '@astrojs/compiler-rs': 0.4.0(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
'@astrojs/internal-helpers': 0.10.4
- '@astrojs/markdown-satteri': 0.3.7
+ '@astrojs/markdown-satteri': 0.3.8
'@astrojs/telemetry': 3.3.3
'@capsizecss/unpack': 4.0.0
'@clack/prompts': 1.7.0
@@ -5856,7 +5831,7 @@ snapshots:
common-ancestor-path: 2.0.0
cookie: 2.0.1
devalue: 5.8.1
- diff: 8.0.4
+ diff: 9.0.0
dset: 3.1.4
es-module-lexer: 2.0.0
esbuild: 0.28.0
@@ -6122,7 +6097,7 @@ snapshots:
dependencies:
dequal: 2.0.3
- diff@8.0.4: {}
+ diff@9.0.0: {}
direction@2.0.1: {}
@@ -6523,7 +6498,7 @@ snapshots:
hast-util-from-html@2.0.3:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
devlop: 1.1.0
hast-util-from-parse5: 8.0.1
parse5: 7.1.2
@@ -6532,7 +6507,7 @@ snapshots:
hast-util-from-parse5@8.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
devlop: 1.1.0
hastscript: 8.0.0
@@ -6547,11 +6522,11 @@ snapshots:
hast-util-is-body-ok-link@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-is-element@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-minify-whitespace@1.0.1:
dependencies:
@@ -6575,7 +6550,7 @@ snapshots:
hast-util-raw@9.1.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
'@ungap/structured-clone': 1.2.0
hast-util-from-parse5: 8.0.1
@@ -6664,7 +6639,7 @@ snapshots:
hast-util-to-parse5@8.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
comma-separated-tokens: 2.0.3
devlop: 1.1.0
property-information: 7.0.0
@@ -6678,7 +6653,7 @@ snapshots:
hast-util-to-text@4.0.2:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
hast-util-is-element: 3.0.0
unist-util-find-after: 5.0.0
@@ -6689,7 +6664,7 @@ snapshots:
hastscript@8.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
comma-separated-tokens: 2.0.3
hast-util-parse-selector: 4.0.0
property-information: 6.2.0
@@ -7738,7 +7713,7 @@ snapshots:
rehype-raw@7.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-raw: 9.1.0
vfile: 6.0.3
@@ -7752,7 +7727,7 @@ snapshots:
rehype-stringify@10.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-to-html: 9.0.5
unified: 11.0.5
@@ -7794,7 +7769,7 @@ snapshots:
remark-rehype@11.1.2:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
mdast-util-to-hast: 13.2.1
unified: 11.0.5
@@ -8029,7 +8004,7 @@ snapshots:
'@shikijs/themes': 4.0.2
'@shikijs/types': 4.0.2
'@shikijs/vscode-textmate': 10.0.2
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
siginfo@2.0.0: {}
@@ -8076,12 +8051,12 @@ snapshots:
stackback@0.0.2: {}
- starlight-links-validator@0.25.2(@astrojs/starlight@packages+starlight)(astro@7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2):
+ starlight-links-validator@0.25.2(@astrojs/starlight@packages+starlight)(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2):
dependencies:
'@astrojs/markdown-satteri': 0.3.5
'@astrojs/starlight': link:packages/starlight
'@types/picomatch': 4.0.2
- astro: 7.2.4(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@2.0.0-alpha.3)(@emnapi/runtime@2.0.0-alpha.3)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
+ astro: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
github-slugger: 2.0.0
hast-util-from-html: 2.0.3
is-absolute-url: 5.0.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 97fcdbd2f3a..c11d4e9a4f6 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -27,9 +27,6 @@ peerDependencyRules:
minimumReleaseAge: 4320
# TODO(HiDeoo) Remove
minimumReleaseAgeExclude:
- - '@astrojs/internal-helpers@0.10.4'
- - '@astrojs/markdown-remark@7.2.4'
- - '@astrojs/markdown-satteri@0.3.7'
- - '@bruits/*'
- - 'astro@7.2.4'
- - 'satteri@0.10.3'
+ - '@astrojs/markdown-satteri@0.3.8'
+ - '@astrojs/mdx@7.0.8'
+ - 'astro@7.2.5'
From b69813229a5b927bb60b6b60e2853ea911fd45cd Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Tue, 25 Aug 2026 09:36:28 +0200
Subject: [PATCH 07/10] fix: remove type workaround
---
.../markdown-processor/asides.test.ts | 13 +--
.../plugin-registration.test.ts | 4 +-
.../__tests__/markdown-processor/utils.ts | 8 +-
packages/starlight/__tests__/test-utils.ts | 1 +
.../integrations/markdown-plugins.ts | 8 +-
pnpm-lock.yaml | 79 ++++---------------
6 files changed, 27 insertions(+), 86 deletions(-)
diff --git a/packages/starlight/__tests__/markdown-processor/asides.test.ts b/packages/starlight/__tests__/markdown-processor/asides.test.ts
index 8d9f3be2787..36f5814891c 100644
--- a/packages/starlight/__tests__/markdown-processor/asides.test.ts
+++ b/packages/starlight/__tests__/markdown-processor/asides.test.ts
@@ -2,8 +2,7 @@ import type { Root } from 'mdast';
import { visit } from 'unist-util-visit';
import { createMarkdownProcessor } from '@astrojs/markdown-remark';
import { createSatteriMarkdownProcessor } from '@astrojs/markdown-satteri';
-// TODO(HiDeoo) Cleanup import when https://github.com/withastro/astro/pull/17766 is released
-import type { HastPluginDefinition, MdastPluginDefinition } from 'satteri';
+import type { MdastPluginDefinition } from 'satteri';
import { describe, expect, test, vi } from 'vitest';
import { remarkDirectivesRestoration } from '../../integrations/remark-asides';
import { satteriDirectivesRestoration, starlightSatteriPlugins } from '../../integrations/satteri';
@@ -259,14 +258,8 @@ describe('asides directive restoration (Sätteri)', () => {
await createPluginTestOptions(starlightConfig)
);
return createSatteriMarkdownProcessor({
- mdastPlugins: [
- ...mdastPlugins,
- ...extraMdastPlugins,
- satteriDirectivesRestoration(),
- // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
- ] as MdastPluginDefinition[],
- // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
- hastPlugins: hastPlugins as HastPluginDefinition[],
+ mdastPlugins: [...mdastPlugins, ...extraMdastPlugins, satteriDirectivesRestoration()],
+ hastPlugins,
// Starlight's asides rely on container directives, which Sätteri disables by default.
features: { directive: true },
});
diff --git a/packages/starlight/__tests__/markdown-processor/plugin-registration.test.ts b/packages/starlight/__tests__/markdown-processor/plugin-registration.test.ts
index 867aafa7da0..8395166c24b 100644
--- a/packages/starlight/__tests__/markdown-processor/plugin-registration.test.ts
+++ b/packages/starlight/__tests__/markdown-processor/plugin-registration.test.ts
@@ -66,8 +66,8 @@ describe('registerDirectivesRestoration', () => {
test('registers the mdast restoration plugin on a Sätteri processor', () => {
const processor = satteri();
registerDirectivesRestoration(processor, unifiedIntegration);
- expect(processor.options.mdastPlugins.map((plugin) => plugin.name)).toContain(
- 'starlight-directives-restoration'
+ expect(processor.options.mdastPlugins).toContainEqual(
+ expect.objectContaining({ name: 'starlight-directives-restoration' })
);
});
diff --git a/packages/starlight/__tests__/markdown-processor/utils.ts b/packages/starlight/__tests__/markdown-processor/utils.ts
index dce2584b81a..96f69ddac25 100644
--- a/packages/starlight/__tests__/markdown-processor/utils.ts
+++ b/packages/starlight/__tests__/markdown-processor/utils.ts
@@ -6,8 +6,6 @@ import { starlightRehypePlugins, starlightRemarkPlugins } from '../../integratio
import { satteriDirectivesRestoration, starlightSatteriPlugins } from '../../integrations/satteri';
import type { StarlightUserConfig } from '../../utils/user-config';
import { createPluginTestOptions, docFileURL } from '../test-utils';
-// TODO(HiDeoo) Remove import when https://github.com/withastro/astro/pull/17766 is released
-import type { HastPluginDefinition, MdastPluginDefinition } from 'satteri';
/**
* The Markdown processors Starlight supports. The same Starlight transforms (asides, heading anchor
@@ -26,10 +24,8 @@ export async function createStarlightMarkdownProcessor(
if (name === 'satteri') {
const { mdastPlugins, hastPlugins } = starlightSatteriPlugins(options);
return createSatteriMarkdownProcessor({
- // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
- mdastPlugins: [...mdastPlugins, satteriDirectivesRestoration()] as MdastPluginDefinition[],
- // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
- hastPlugins: hastPlugins as HastPluginDefinition[],
+ mdastPlugins: [...mdastPlugins, satteriDirectivesRestoration()],
+ hastPlugins,
// Starlight's asides rely on container directives, which Sätteri disables by default.
features: { directive: true },
...(syntaxHighlight === false ? { syntaxHighlight: false } : {}),
diff --git a/packages/starlight/__tests__/test-utils.ts b/packages/starlight/__tests__/test-utils.ts
index 9813c908759..e120c2bc468 100644
--- a/packages/starlight/__tests__/test-utils.ts
+++ b/packages/starlight/__tests__/test-utils.ts
@@ -62,6 +62,7 @@ const frontmatterSchema = docsSchema()({
z.literal('gif'),
z.literal('svg'),
z.literal('avif'),
+ z.literal('apng'),
]),
}),
});
diff --git a/packages/starlight/integrations/markdown-plugins.ts b/packages/starlight/integrations/markdown-plugins.ts
index e9ee3c63dae..23262e59cd0 100644
--- a/packages/starlight/integrations/markdown-plugins.ts
+++ b/packages/starlight/integrations/markdown-plugins.ts
@@ -2,8 +2,6 @@ import { isSatteriProcessor } from '@astrojs/markdown-satteri';
import type { AstroConfig, AstroIntegration, AstroIntegrationLogger } from 'astro';
import type { MarkdownProcessorPluginOptions } from './markdown-processor';
import { satteriDirectivesRestoration, starlightSatteriPlugins } from './satteri';
-// TODO(HiDeoo) Remove import when https://github.com/withastro/astro/pull/17766 is released
-import type { HastPluginEntry, MdastPluginEntry } from 'satteri';
// This file is imported by the Starlight integration that is used in Astro configuration files.
// When using Starlight, Astro loads its configuration using a temporary Vite module runner and
@@ -30,10 +28,8 @@ export function applyStarlightMarkdownPlugins(
// Starlight's asides are built on container directives, which Sätteri disables by default.
processor.options.features.directive = true;
const { mdastPlugins, hastPlugins } = starlightSatteriPlugins(options);
- // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
- (processor.options.mdastPlugins as MdastPluginEntry[]).push(...mdastPlugins);
- // TODO(HiDeoo) Remove cast when https://github.com/withastro/astro/pull/17766 is released
- (processor.options.hastPlugins as HastPluginEntry[]).push(...hastPlugins);
+ processor.options.mdastPlugins.push(...mdastPlugins);
+ processor.options.hastPlugins.push(...hastPlugins);
} else if (unified?.isUnifiedProcessor(processor)) {
processor.options.remarkPlugins.push(...unified.starlightRemarkPlugins(options));
processor.options.rehypePlugins.push(...unified.starlightRehypePlugins(options));
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b698fe34650..9942ddeb194 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -526,9 +526,6 @@ packages:
'@astrojs/markdown-remark@7.2.4':
resolution: {integrity: sha512-MvspGMynWKAjTe4/lTUdmBPHIFKNVLTCF6UlyWGogTGzNrTvjD+D4n48k7h8swxsEPKHK2TwxkZO7uoaCv1Pow==}
- '@astrojs/markdown-satteri@0.3.5':
- resolution: {integrity: sha512-CvWVEFAbay7YO+i9SaqDJubipA5ckiVB89QWoMJ5XC0m5CtFg8JwZ7Kau6X9sYY7FZURH0w2l03ISH2jOS/RDQ==}
-
'@astrojs/markdown-satteri@0.3.8':
resolution: {integrity: sha512-n8ItpFTCmlDsVR5+rwDmehSf+jFCYLWmZiisZNGuF7xILqYhsVeBfcha4qgS2Seq3fAc9Tm58ZVrvqFQ6RQgRQ==}
@@ -1278,13 +1275,6 @@ packages:
'@mdx-js/mdx@3.1.1':
resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
- '@napi-rs/wasm-runtime@1.2.1':
- resolution: {integrity: sha512-KjZdi8Q1wh89gsVmghvbrMgWl6ZWmRmHV6wjB7/g4Zf0dyO+hH3neZUtuDNPO00qq5YE5RITVWvrIZKRaAmzGQ==}
- engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
- peerDependencies:
- '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.3
- '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.3
-
'@napi-rs/wasm-runtime@1.2.3':
resolution: {integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==}
engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0}
@@ -1623,9 +1613,6 @@ packages:
'@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
- '@types/hast@3.0.4':
- resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
-
'@types/hast@3.0.5':
resolution: {integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==}
@@ -3664,10 +3651,6 @@ packages:
resolution: {integrity: sha512-Ae3OVUqifDw0wBriIBS7yVaW44Dp6eSHQcyq4Igc7eN2TJH/2YsicswaW+J/OuMvhpDPOKEgpAZCjkb4hpoyeA==}
engines: {node: ^16.14.0 || >= 17.3.0}
- tinyexec@1.1.1:
- resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==}
- engines: {node: '>=18'}
-
tinyexec@1.3.0:
resolution: {integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==}
engines: {node: '>=18'}
@@ -4100,11 +4083,6 @@ packages:
engines: {node: '>= 14'}
hasBin: true
- yaml@2.8.3:
- resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
- engines: {node: '>= 14.6'}
- hasBin: true
-
yaml@2.9.0:
resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
engines: {node: '>= 14.6'}
@@ -4299,7 +4277,7 @@ snapshots:
'@astrojs/internal-helpers@0.10.0':
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
js-yaml: 4.3.1
picomatch: 4.0.5
@@ -4310,7 +4288,7 @@ snapshots:
'@astrojs/internal-helpers@0.10.2':
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
js-yaml: 4.3.1
picomatch: 4.0.5
@@ -4391,14 +4369,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@astrojs/markdown-satteri@0.3.5':
- dependencies:
- '@astrojs/internal-helpers': 0.10.2
- '@astrojs/prism': 4.0.2
- github-slugger: 2.0.0
- hast-util-from-html: 2.0.3
- satteri: 0.9.3
-
'@astrojs/markdown-satteri@0.3.8':
dependencies:
'@astrojs/internal-helpers': 0.10.4
@@ -4456,7 +4426,7 @@ snapshots:
'@astrojs/yaml2ts@0.2.3':
dependencies:
- yaml: 2.8.3
+ yaml: 2.9.0
'@babel/helper-string-parser@7.27.1': {}
@@ -4520,7 +4490,7 @@ snapshots:
dependencies:
'@emnapi/core': 1.11.1
'@emnapi/runtime': 1.11.1
- '@napi-rs/wasm-runtime': 1.2.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
+ '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)
optional: true
'@bruits/satteri-win32-arm64-msvc@0.10.5':
@@ -5099,13 +5069,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@napi-rs/wasm-runtime@1.2.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
- dependencies:
- '@emnapi/core': 1.11.1
- '@emnapi/runtime': 1.11.1
- '@tybys/wasm-util': 0.10.3
- optional: true
-
'@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)':
dependencies:
'@emnapi/core': 1.11.1
@@ -5364,10 +5327,6 @@ snapshots:
'@types/estree@1.0.8': {}
- '@types/hast@3.0.4':
- dependencies:
- '@types/unist': 3.0.3
-
'@types/hast@3.0.5':
dependencies:
'@types/unist': 3.0.3
@@ -6483,12 +6442,12 @@ snapshots:
hast-util-embedded@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-is-element: 3.0.0
hast-util-format@1.1.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-embedded: 3.0.0
hast-util-minify-whitespace: 1.0.1
hast-util-phrasing: 3.0.1
@@ -6530,7 +6489,7 @@ snapshots:
hast-util-minify-whitespace@1.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-embedded: 3.0.0
hast-util-is-element: 3.0.0
hast-util-whitespace: 3.0.0
@@ -6542,7 +6501,7 @@ snapshots:
hast-util-phrasing@3.0.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hast-util-embedded: 3.0.0
hast-util-has-property: 3.0.0
hast-util-is-body-ok-link: 3.0.0
@@ -6605,7 +6564,7 @@ snapshots:
hast-util-to-html@9.0.5:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/unist': 3.0.3
ccount: 2.0.1
comma-separated-tokens: 2.0.3
@@ -6660,7 +6619,7 @@ snapshots:
hast-util-whitespace@3.0.0:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
hastscript@8.0.0:
dependencies:
@@ -7088,7 +7047,7 @@ snapshots:
mdast-util-mdx-jsx@3.2.0(supports-color@10.2.2):
dependencies:
'@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
'@types/unist': 3.0.3
ccount: 2.0.1
@@ -7130,7 +7089,7 @@ snapshots:
mdast-util-to-hast@13.2.1:
dependencies:
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
'@ungap/structured-clone': 1.2.0
devlop: 1.1.0
@@ -7880,7 +7839,7 @@ snapshots:
satteri@0.9.3:
dependencies:
'@types/estree-jsx': 1.0.5
- '@types/hast': 3.0.4
+ '@types/hast': 3.0.5
'@types/mdast': 4.0.4
'@types/unist': 3.0.3
optionalDependencies:
@@ -8053,7 +8012,7 @@ snapshots:
starlight-links-validator@0.25.2(@astrojs/starlight@packages+starlight)(astro@7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0))(supports-color@10.2.2):
dependencies:
- '@astrojs/markdown-satteri': 0.3.5
+ '@astrojs/markdown-satteri': 0.3.8
'@astrojs/starlight': link:packages/starlight
'@types/picomatch': 4.0.2
astro: 7.2.5(@astrojs/markdown-remark@7.2.4(supports-color@10.2.2))(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@24.12.4)(jiti@2.6.1)(yaml@2.9.0)
@@ -8066,7 +8025,7 @@ snapshots:
satteri: 0.9.3
terminal-link: 5.0.0
unist-util-visit: 5.1.0
- yaml: 2.8.3
+ yaml: 2.9.0
transitivePeerDependencies:
- supports-color
@@ -8148,8 +8107,6 @@ snapshots:
tinyclip@0.1.12: {}
- tinyexec@1.1.1: {}
-
tinyexec@1.3.0: {}
tinyglobby@0.2.17:
@@ -8364,7 +8321,7 @@ snapshots:
picomatch: 4.0.5
std-env: 4.0.0
tinybench: 2.9.0
- tinyexec: 1.1.1
+ tinyexec: 1.3.0
tinyglobby: 0.2.17
tinyrainbow: 3.1.0
vite: 8.2.0(@types/node@22.19.17)(esbuild@0.28.0)(jiti@2.6.1)(yaml@2.9.0)
@@ -8403,7 +8360,7 @@ snapshots:
picomatch: 4.0.5
std-env: 4.0.0
tinybench: 2.9.0
- tinyexec: 1.1.1
+ tinyexec: 1.3.0
tinyglobby: 0.2.17
tinyrainbow: 3.1.0
vite: 8.2.0(@types/node@24.12.4)(esbuild@0.28.0)(jiti@2.6.1)(yaml@2.9.0)
@@ -8567,8 +8524,6 @@ snapshots:
yaml@2.7.1: {}
- yaml@2.8.3: {}
-
yaml@2.9.0: {}
yargs-parser@22.0.0: {}
From 451425f52c2eed4b84269cba8f717007ba8bd8c0 Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Tue, 25 Aug 2026 09:52:13 +0200
Subject: [PATCH 08/10] chore: update changeset
---
.changeset/humble-friends-clean.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.changeset/humble-friends-clean.md b/.changeset/humble-friends-clean.md
index a84b08f83fe..d863d03c17e 100644
--- a/.changeset/humble-friends-clean.md
+++ b/.changeset/humble-friends-clean.md
@@ -2,9 +2,9 @@
'@astrojs/starlight': minor
---
-TODO(HiDeoo)
+Updates internal `@astrojs/mdx`, `@astrojs/markdown-satteri`, and `satteri` dependencies.
-⚠️ **BREAKING CHANGE:** The minimum supported version of Astro is now TODO(HiDeoo).
+⚠️ **BREAKING CHANGE:** The minimum supported version of Astro is now v7.2.5.
Please update Starlight and Astro together:
From e79a179b73b3f3cdce3e108379e8eeb0eed12073 Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Tue, 25 Aug 2026 20:02:25 +0200
Subject: [PATCH 09/10] chore: fix typo
Co-authored-by: Chris Swithinbank
---
.../__tests__/markdown-processor/code-rtl-support.test.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/starlight/__tests__/markdown-processor/code-rtl-support.test.ts b/packages/starlight/__tests__/markdown-processor/code-rtl-support.test.ts
index aa5e3e0faff..697e02d9932 100644
--- a/packages/starlight/__tests__/markdown-processor/code-rtl-support.test.ts
+++ b/packages/starlight/__tests__/markdown-processor/code-rtl-support.test.ts
@@ -34,7 +34,7 @@ describeEachProcessor('code RTL support', (ctx, name) => {
expect(res.code).not.includes('dir="auto"');
});
- test('does nto apply `dir="ltr"` on raw `` HTML', async () => {
+ test('does not apply `dir="ltr"` on raw `` HTML', async () => {
const res = await ctx().render('manual ', { processor: plain });
expect(res.code).includes('manual ');
From 3b982f416dbcc5467aff233e09bfbb057edf586a Mon Sep 17 00:00:00 2001
From: HiDeoo <494699+HiDeoo@users.noreply.github.com>
Date: Tue, 1 Sep 2026 11:48:36 +0200
Subject: [PATCH 10/10] chore: remove `minimumReleaseAgeExclude` packages
---
pnpm-workspace.yaml | 5 -----
1 file changed, 5 deletions(-)
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index c11d4e9a4f6..37f574c545d 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -25,8 +25,3 @@ peerDependencyRules:
# Prevent installing packages published in the last 3 days
minimumReleaseAge: 4320
-# TODO(HiDeoo) Remove
-minimumReleaseAgeExclude:
- - '@astrojs/markdown-satteri@0.3.8'
- - '@astrojs/mdx@7.0.8'
- - 'astro@7.2.5'