chore(website): upgrade astro 6.4.5 + starlight 0.40.0 (clears markdown deprecation)

Astro 6.4.5 deprecated markdown.remarkPlugins/rehypePlugins/remarkRehype in
favour of the new unified() API. The warning came from @astrojs/starlight
0.39.3's own integration code, not our config; Starlight 0.40.0 adopts the new
API, so it's gone.

- astro 6.4.4 -> 6.4.5; @astrojs/starlight 0.39.3 -> 0.40.0
  (brings astro-expressive-code 0.43.1, @astrojs/markdown-remark 7.2.0)
- Starlight 0.40.0 adds an optional @astrojs/markdown-satteri peer (an opt-in
  high-performance markdown engine); it's an optional peer so pnpm doesn't
  install it, and we have no need for it — we stay on the default
  markdown-remark/unified pipeline

Verified: deprecation gone; pnpm build clean (25 pages); rendering signals
unchanged vs baseline (highlighting, > prompt + copy-button :has() CSS, asides,
embedded casts); pnpm audit clean.
This commit is contained in:
claude@clouddev1
2026-06-10 13:17:49 +00:00
parent 44f91724b6
commit 1f82fb2c79
2 changed files with 65 additions and 92 deletions
+2 -2
View File
@@ -12,11 +12,11 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/starlight": "^0.39.3",
"@astrojs/starlight": "^0.40.0",
"@astrojs/starlight-tailwind": "^5.0.0",
"@tailwindcss/vite": "^4.3.0",
"asciinema-player": "^3.15.1",
"astro": "^6.3.1",
"astro": "^6.4.5",
"sharp": "^0.34.5",
"tailwindcss": "^4.3.0"
}
+63 -90
View File
@@ -9,11 +9,11 @@ importers:
.:
dependencies:
'@astrojs/starlight':
specifier: ^0.39.3
version: 0.39.3(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))
specifier: ^0.40.0
version: 0.40.0(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))
'@astrojs/starlight-tailwind':
specifier: ^5.0.0
version: 5.0.0(@astrojs/starlight@0.39.3(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)))(tailwindcss@4.3.0)
version: 5.0.0(@astrojs/starlight@0.40.0(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)))(tailwindcss@4.3.0)
'@tailwindcss/vite':
specifier: ^4.3.0
version: 4.3.0(vite@7.3.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0))
@@ -21,8 +21,8 @@ importers:
specifier: ^3.15.1
version: 3.15.1
astro:
specifier: ^6.3.1
version: 6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)
specifier: ^6.4.5
version: 6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)
sharp:
specifier: ^0.34.5
version: 0.34.5
@@ -38,20 +38,18 @@ packages:
'@astrojs/internal-helpers@0.10.0':
resolution: {integrity: sha512-Ry2R3VPeIN4uPCSA4xQc+e+vsJXkalKpEbDc07hV+a/o5Bs2N/s/uDcPJH/05L19DKh9tAy7e6JM3YZ6Cxfezw==}
'@astrojs/internal-helpers@0.9.1':
resolution: {integrity: sha512-1pWuARqYom/TzuU3+0ZugsTrKlUydWKuULmDqSMTuonY+9IRDUEGKX/8PXQ1nBxRq3w85uGtd9q9SXfqEldMIQ==}
'@astrojs/markdown-remark@7.1.2':
resolution: {integrity: sha512-caXZ4Dc2St2dW8luEg22GlP0gupLdztCTQE4EzZOxW1pqWXz9mbeJEuHUkgDYcKWW8tjIHkydYDhWLVoxJ327Q==}
'@astrojs/markdown-remark@7.2.0':
resolution: {integrity: sha512-+YxmVQu1Bd+MFfSzjq1rOJvD9+nIOJzz5YIIhdIH01RrxRkKbyKoEgyIqP3yv51MhzMDgd79QaPv+kCVPT8vHw==}
'@astrojs/mdx@5.0.6':
resolution: {integrity: sha512-4dKe0ZMmqujofPNDHahzClkwinn9f8jHPcaXcgdGvPAlboD2mjzkUCofli2cBnxYAkdfhC6d50gBJ8i/cH8gHw==}
'@astrojs/mdx@6.0.3':
resolution: {integrity: sha512-+4P3ZvwsRAqAbBgY+uZMewFo3ficlIBPZfu/Luk+v4ia/ZOuFhpsw7r+7672uT2Fc1UPdp7yW0eU5egvSq0wbw==}
engines: {node: '>=22.12.0'}
peerDependencies:
astro: ^6.0.0
'@astrojs/markdown-satteri': 0.3.0
astro: ^6.4.0
peerDependenciesMeta:
'@astrojs/markdown-satteri':
optional: true
'@astrojs/prism@4.0.2':
resolution: {integrity: sha512-KTivpmnz6lDsC6o9H4+DNm2SrE/GHzw8cNAvEJwAvUT+eoaEnn/4NtbDNfRRaxaJHdp15gf+tfHAWiXR4wB3BA==}
@@ -66,10 +64,14 @@ packages:
'@astrojs/starlight': '>=0.38.0'
tailwindcss: ^4.0.0
'@astrojs/starlight@0.39.3':
resolution: {integrity: sha512-uvAweA2DwhmLgFVfBT9NqG38Ey14k1ck3+y78XNJbceT1pMdzxCCX69RoBajb1QzTJviufsXzSc1xswgRxJfig==}
'@astrojs/starlight@0.40.0':
resolution: {integrity: sha512-H1NBIXx4Xw6YzKMsoMkazYxFgnTTj6pD4IReUGWj1fqw82AOAgj+WnZLpTDWRExf3b9ZM7Popbl583i4IvDNVQ==}
peerDependencies:
astro: ^6.0.0
'@astrojs/markdown-satteri': ^0.2.0
astro: ^6.4.5
peerDependenciesMeta:
'@astrojs/markdown-satteri':
optional: true
'@astrojs/telemetry@3.3.2':
resolution: {integrity: sha512-j8DNruA8ors99Al39RYZPJK4DC1bKkoNm93mAMuBhY9TCNC4R8n1q7ovFnJ5qhGh5Lsh7pa1gpQVpYpsJPeTHQ==}
@@ -271,17 +273,17 @@ packages:
cpu: [x64]
os: [win32]
'@expressive-code/core@0.42.0':
resolution: {integrity: sha512-MN11+9nfmaC7sYu2BZJXAXqwkBRt8t1xTSqP+Ti1NfTEskgl6xUnzDxoaiQkg0BMzpglA0pys4dpDKquP/cyIw==}
'@expressive-code/core@0.43.1':
resolution: {integrity: sha512-H4rUJXKyS6y2q9Ig9bIp3dFhWhkZQIeH/jRGl3DROlslrGvfD4OC9qzmvKEFExm+/DtdvvHMQ8/Olmrcfxp+wQ==}
'@expressive-code/plugin-frames@0.42.0':
resolution: {integrity: sha512-XtkPm+941Uta7Y+81Acv+OA/20F1NJmJhCX6UYGKpqEIGqplNh3PTOhcURp6tcruhlzJcWcvpWy6Oigz3SrjqA==}
'@expressive-code/plugin-frames@0.43.1':
resolution: {integrity: sha512-tENfLw2UDeq5h749tTLvUtQYvgjIiQc6W7PBCR5xQ4yuE/QftManKJfUQjwJo6RRsAimVQDN4alhFTJ3aq1Khg==}
'@expressive-code/plugin-shiki@0.42.0':
resolution: {integrity: sha512-PMKey/kLmewttAHQezL+Y5Fx3vVssfDi3+FJOYQQS2mXP3tQspFELtKKAfsXfmSXdToZYgwoO69HJndqfE+09g==}
'@expressive-code/plugin-shiki@0.43.1':
resolution: {integrity: sha512-NdceinYEROXODNgB/ix+7oCdIg+nGyok+E+p2lU9YlWd1xKshXdXpmmptKfkuU27MJ5jjnfhMCI78YYBGi9GtQ==}
'@expressive-code/plugin-text-markers@0.42.0':
resolution: {integrity: sha512-l59lUx8fq1v5g6SpmbDjiU0+7IdfbiWnAyRmtTVSpfhyq+nZMN4UcmYyu2b9Mynhzt7Gr+O+cXyEPDNb2AVWVQ==}
'@expressive-code/plugin-text-markers@0.43.1':
resolution: {integrity: sha512-JWf8wdbZSNoGY4TFv3lmt3/NNDaCP7iYL6rRYD05g8YYjKL62hKUHLl5+B47+v0+bqbuMhXDN7qz2wywFUvMkg==}
'@img/colour@1.1.0':
resolution: {integrity: sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==}
@@ -859,13 +861,13 @@ packages:
resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
hasBin: true
astro-expressive-code@0.42.0:
resolution: {integrity: sha512-aiTePi2Cn0mJPYWZSzP1GcxCinX9mNtJyCCshVVPSg1yRwM7ADvFJOx0FnS440M9t65hp8JH//dc2qr22Bm4ag==}
astro-expressive-code@0.43.1:
resolution: {integrity: sha512-xddgwQxFRwpnnAnU7kSfrO82SsOAq7sQrYpXxVcrN9k/0aqNlTH2+mLrOMm1wXm6jdFKepst3hd8/qWojwuunw==}
peerDependencies:
astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta
astro@6.4.4:
resolution: {integrity: sha512-hVe8tq3lqt/Dr0UyB//yUmQSlHMTU8scTiF/vQddQVahLE4TTaSdH5H0nb7OvRcwo0UmlAO8DWYar4jNaS7H+A==}
astro@6.4.5:
resolution: {integrity: sha512-0R7WLD1+WD/mTPcZxyKtcF0CztQi9ahFRtGM7oChJhxjNbr4lSBenxi+mk91k5bPTaUEoZ6edg1fDo2qP8bCwg==}
engines: {node: '>=22.12.0', npm: '>=9.6.5', pnpm: '>=7.1.0'}
hasBin: true
@@ -1080,8 +1082,8 @@ packages:
eventemitter3@5.0.4:
resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
expressive-code@0.42.0:
resolution: {integrity: sha512-V5DtJLEKuj4wf9O6IRtPtRObkMVy2ggR+S0MdjrTw6m58krZnDioyhW1si3Y04c5YPeooP4nd85Yq9NwEVHS4g==}
expressive-code@0.43.1:
resolution: {integrity: sha512-JdOzanoU825iNvslmk6Kg8Ro61eSHmDK2Zz7BynOxObVrpIXZNzrIZOwQO2uDQcGsjSYShL/8vTrXgeWYnq3NA==}
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
@@ -1672,8 +1674,8 @@ packages:
regex@6.1.0:
resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==}
rehype-expressive-code@0.42.0:
resolution: {integrity: sha512-8rp/1YMEVVSYbtz+bFBx+uSx3vA4i4T8RwRm5Q/IWbucQnnQqQ0hDqtmKOr8tv+59Cik6cu5aH3WPo0I7csuTA==}
rehype-expressive-code@0.43.1:
resolution: {integrity: sha512-CUOGQVlUcSMSXZgpcq9xL6B+dZqnI3w1R6EZj932XpGgj2Hmy7H6oMqa9W/Z7X2HOILWLWhqu1b9kuYcD+nd6w==}
rehype-format@5.0.1:
resolution: {integrity: sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==}
@@ -2051,36 +2053,6 @@ snapshots:
smol-toml: 1.6.1
unified: 11.0.5
'@astrojs/internal-helpers@0.9.1':
dependencies:
picomatch: 4.0.4
'@astrojs/markdown-remark@7.1.2':
dependencies:
'@astrojs/internal-helpers': 0.9.1
'@astrojs/prism': 4.0.2
github-slugger: 2.0.0
hast-util-from-html: 2.0.3
hast-util-to-text: 4.0.2
js-yaml: 4.2.0
mdast-util-definitions: 6.0.0
rehype-raw: 7.0.0
rehype-stringify: 10.0.1
remark-gfm: 4.0.1
remark-parse: 11.0.0
remark-rehype: 11.1.2
remark-smartypants: 3.0.2
retext-smartypants: 6.2.0
shiki: 4.2.0
smol-toml: 1.6.1
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.0':
dependencies:
'@astrojs/internal-helpers': 0.10.0
@@ -2103,12 +2075,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
'@astrojs/mdx@5.0.6(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))':
'@astrojs/mdx@6.0.3(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))':
dependencies:
'@astrojs/markdown-remark': 7.1.2
'@astrojs/internal-helpers': 0.10.0
'@astrojs/markdown-remark': 7.2.0
'@mdx-js/mdx': 3.1.1
acorn: 8.16.0
astro: 6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)
astro: 6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)
es-module-lexer: 2.1.0
estree-util-visit: 2.0.0
hast-util-to-html: 9.0.5
@@ -2132,22 +2105,22 @@ snapshots:
stream-replace-string: 2.0.0
zod: 4.4.3
'@astrojs/starlight-tailwind@5.0.0(@astrojs/starlight@0.39.3(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)))(tailwindcss@4.3.0)':
'@astrojs/starlight-tailwind@5.0.0(@astrojs/starlight@0.40.0(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)))(tailwindcss@4.3.0)':
dependencies:
'@astrojs/starlight': 0.39.3(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))
'@astrojs/starlight': 0.40.0(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))
tailwindcss: 4.3.0
'@astrojs/starlight@0.39.3(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))':
'@astrojs/starlight@0.40.0(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))':
dependencies:
'@astrojs/markdown-remark': 7.2.0
'@astrojs/mdx': 5.0.6(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))
'@astrojs/mdx': 6.0.3(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))
'@astrojs/sitemap': 3.7.3
'@pagefind/default-ui': 1.5.2
'@types/hast': 3.0.4
'@types/js-yaml': 4.0.9
'@types/mdast': 4.0.4
astro: 6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)
astro-expressive-code: 0.42.0(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))
astro: 6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)
astro-expressive-code: 0.43.1(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1))
bcp-47: 2.1.0
hast-util-from-html: 2.0.3
hast-util-select: 6.0.4
@@ -2296,7 +2269,7 @@ snapshots:
'@esbuild/win32-x64@0.27.7':
optional: true
'@expressive-code/core@0.42.0':
'@expressive-code/core@0.43.1':
dependencies:
'@ctrl/tinycolor': 4.2.0
hast-util-select: 6.0.4
@@ -2308,18 +2281,18 @@ snapshots:
unist-util-visit: 5.1.0
unist-util-visit-parents: 6.0.2
'@expressive-code/plugin-frames@0.42.0':
'@expressive-code/plugin-frames@0.43.1':
dependencies:
'@expressive-code/core': 0.42.0
'@expressive-code/core': 0.43.1
'@expressive-code/plugin-shiki@0.42.0':
'@expressive-code/plugin-shiki@0.43.1':
dependencies:
'@expressive-code/core': 0.42.0
'@expressive-code/core': 0.43.1
shiki: 4.2.0
'@expressive-code/plugin-text-markers@0.42.0':
'@expressive-code/plugin-text-markers@0.43.1':
dependencies:
'@expressive-code/core': 0.42.0
'@expressive-code/core': 0.43.1
'@img/colour@1.1.0': {}
@@ -2764,12 +2737,12 @@ snapshots:
astring@1.9.0: {}
astro-expressive-code@0.42.0(astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)):
astro-expressive-code@0.43.1(astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)):
dependencies:
astro: 6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)
rehype-expressive-code: 0.42.0
astro: 6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1)
rehype-expressive-code: 0.43.1
astro@6.4.4(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1):
astro@6.4.5(@types/node@24.13.0)(jiti@2.7.0)(lightningcss@1.32.0)(rollup@4.61.1):
dependencies:
'@astrojs/compiler': 4.0.0
'@astrojs/internal-helpers': 0.10.0
@@ -3079,12 +3052,12 @@ snapshots:
eventemitter3@5.0.4: {}
expressive-code@0.42.0:
expressive-code@0.43.1:
dependencies:
'@expressive-code/core': 0.42.0
'@expressive-code/plugin-frames': 0.42.0
'@expressive-code/plugin-shiki': 0.42.0
'@expressive-code/plugin-text-markers': 0.42.0
'@expressive-code/core': 0.43.1
'@expressive-code/plugin-frames': 0.43.1
'@expressive-code/plugin-shiki': 0.43.1
'@expressive-code/plugin-text-markers': 0.43.1
extend@3.0.2: {}
@@ -4058,9 +4031,9 @@ snapshots:
dependencies:
regex-utilities: 2.3.0
rehype-expressive-code@0.42.0:
rehype-expressive-code@0.43.1:
dependencies:
expressive-code: 0.42.0
expressive-code: 0.43.1
rehype-format@5.0.1:
dependencies: