diff --git a/.changeset/satteri-0-10-3.md b/.changeset/satteri-0-10-3.md new file mode 100644 index 000000000000..77fe2bb4e1bd --- /dev/null +++ b/.changeset/satteri-0-10-3.md @@ -0,0 +1,6 @@ +--- +'@astrojs/markdown-satteri': patch +'@astrojs/mdx': patch +--- + +Updates Sätteri processor to v0.10.3. See [its changelog](https://github.com/bruits/satteri/blob/main/packages/satteri/CHANGELOG.md#0103--2026-08-19) for details on bugs fixed and features added. diff --git a/packages/integrations/mdx/package.json b/packages/integrations/mdx/package.json index 55395b99b891..4713e5c3d9bd 100644 --- a/packages/integrations/mdx/package.json +++ b/packages/integrations/mdx/package.json @@ -76,7 +76,7 @@ "remark-math": "^6.0.0", "remark-rehype": "^11.1.2", "remark-toc": "^9.0.0", - "satteri": "^0.9.1", + "satteri": "^0.10.3", "shiki": "^4.0.2", "unified": "^11.0.5", "vite": "^8.0.13" diff --git a/packages/markdown/remark/test/remark-collect-images.test.ts b/packages/markdown/remark/test/remark-collect-images.test.ts index 6ca368996018..d337d3c66489 100644 --- a/packages/markdown/remark/test/remark-collect-images.test.ts +++ b/packages/markdown/remark/test/remark-collect-images.test.ts @@ -18,7 +18,7 @@ describe('collect images', async () => { visit(tree, 'element', (node) => { if (node.tagName === 'img') { node.properties.className = ['image-class']; - node.properties.htmlFor = 'some-id'; + node.properties.htmlFor = ['some-id']; } }); }; diff --git a/packages/markdown/remark/test/shiki.test.ts b/packages/markdown/remark/test/shiki.test.ts index 51c2048be196..7fa8ff00ad09 100644 --- a/packages/markdown/remark/test/shiki.test.ts +++ b/packages/markdown/remark/test/shiki.test.ts @@ -51,7 +51,7 @@ describe('shiki syntax highlighting', () => { const root = hast.children[0] as Element; assert.match(root.properties.class as string, /astro-code github-dark/); - assert.match(root.properties.style as string, /background-color:#24292e;color:#e1e4e8;/); + assert.match(root.properties.style!, /background-color:#24292e;color:#e1e4e8;/); }); it('createShikiHighlighter can reuse the same instance for different languages', async () => { diff --git a/packages/markdown/satteri/package.json b/packages/markdown/satteri/package.json index c5bdb84daeeb..133ea380c5f2 100644 --- a/packages/markdown/satteri/package.json +++ b/packages/markdown/satteri/package.json @@ -29,8 +29,7 @@ "@astrojs/internal-helpers": "workspace:*", "@astrojs/prism": "workspace:*", "github-slugger": "^2.0.0", - "hast-util-from-html": "^2.0.3", - "satteri": "^0.9.1" + "satteri": "^0.10.3" }, "devDependencies": { "astro-scripts": "workspace:*" diff --git a/packages/markdown/satteri/src/satteri-processor.ts b/packages/markdown/satteri/src/satteri-processor.ts index 648ede2443fa..6cbacf4e3f4a 100644 --- a/packages/markdown/satteri/src/satteri-processor.ts +++ b/packages/markdown/satteri/src/satteri-processor.ts @@ -249,11 +249,12 @@ export async function createHighlightFn( if (syntaxHighlightType === 'prism') { const { runHighlighterWithAstro } = await import('@astrojs/prism/dist/highlighter'); - const { fromHtml } = await import('hast-util-from-html'); + const { htmlToHast } = await loadSatteri(); return async (code, lang) => { const { html, classLanguage } = await runHighlighterWithAstro(lang, code); const pre = `
${html}
`; - return fromHtml(pre, { fragment: true }).children[0] as HastNode; + const tree = htmlToHast(pre, { fragment: true }); + return ('children' in tree ? tree.children[0] : undefined) as HastNode; }; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7bf5bdab9bfa..1756ab5bfee6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -248,7 +248,7 @@ importers: version: 3.1.0(eslint@10.4.0) knip: specifier: 5.82.1 - version: 5.82.1(@types/node@22.19.19)(typescript@6.0.3) + version: 5.82.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.19)(typescript@6.0.3) pkg-pr-new: specifier: ^0.0.71 version: 0.0.71 @@ -726,7 +726,7 @@ importers: dependencies: '@astrojs/compiler-rs': specifier: ^0.3.2 - version: 0.3.2 + version: 0.3.2(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) '@astrojs/internal-helpers': specifier: workspace:* version: link:../internal-helpers @@ -5400,7 +5400,7 @@ importers: version: 1.0.8 '@types/hast': specifier: ^3.0.4 - version: 3.0.4 + version: 3.0.5 '@types/mdast': specifier: ^4.0.4 version: 4.0.4 @@ -5438,8 +5438,8 @@ importers: specifier: ^9.0.0 version: 9.0.0 satteri: - specifier: ^0.9.1 - version: 0.9.1 + specifier: ^0.10.3 + version: 0.10.3 shiki: specifier: ^4.0.2 version: 4.0.2 @@ -6665,7 +6665,7 @@ importers: dependencies: '@types/hast': specifier: ^3.0.4 - version: 3.0.4 + version: 3.0.5 '@types/mdast': specifier: ^4.0.4 version: 4.0.4 @@ -7036,7 +7036,7 @@ importers: version: 1.0.8 '@types/hast': specifier: ^3.0.4 - version: 3.0.4 + version: 3.0.5 '@types/mdast': specifier: ^4.0.4 version: 4.0.4 @@ -7067,12 +7067,9 @@ importers: github-slugger: specifier: ^2.0.0 version: 2.0.0 - hast-util-from-html: - specifier: ^2.0.3 - version: 2.0.3 satteri: - specifier: ^0.9.1 - version: 0.9.1 + specifier: ^0.10.3 + version: 0.10.3 devDependencies: astro-scripts: specifier: workspace:* @@ -7687,29 +7684,52 @@ packages: resolution: {integrity: sha512-6XG8TZt8DVYLuGDVSpFJaSMlNowOg5RGecvWbKvlgMoqVbztUAQ3AcWq6oZ5DoCnTzNAPcO7rhkwt8ZVgrS7CQ==} engines: {node: '>=18'} - '@bruits/satteri-darwin-arm64@0.9.1': - resolution: {integrity: sha512-NE4qC2sRd0+R+oPMsKcUikIvWTGpAV16fSXNBoMSW7nK7Pd9e/ZGB7M8knep83pFmGmOb/5NbGKiVIh3oLbljw==} + '@bruits/satteri-darwin-arm64@0.10.3': + resolution: {integrity: sha512-RBPx54YSt6ly9ozJ4AbgY6ITep3uJAaPE0ErxhQnE9Mk5ldGeQYbq4bWiJyZOoQmqC45cMCZmFyPjQdJT4biEw==} cpu: [arm64] os: [darwin] - '@bruits/satteri-darwin-x64@0.9.1': - resolution: {integrity: sha512-Am8z5nX0L/sJR/n7np+5rMVP434MOBe3zlU+IO8fXbv2UaPNRCrEQPMS6lyxCj7dZHQI2AynSJw3v4fgQE8xSQ==} + '@bruits/satteri-darwin-x64@0.10.3': + resolution: {integrity: sha512-l0G6eARLHwlFEc7KOzEr0Z7YVEUzAQVSDZcevGOng0ycFvY+Eg7SNpNAc5/k0XXKEM+Q62A8wUaaL+d0W63x7g==} cpu: [x64] os: [darwin] - '@bruits/satteri-linux-x64-gnu@0.9.1': - resolution: {integrity: sha512-Bivw60+SIfmlaU9wEZ39HAcyPh1xU9TvOrz4KJgc+ziRStQs4EzYoWW4Eh9aSdiol+xV0vjEWYuA79aF3dr7kg==} + '@bruits/satteri-linux-arm64-gnu@0.10.3': + resolution: {integrity: sha512-U6Lv74zONfwnKbzPAylqp45isfUVJNQPnROlX1mWJ7TLCkJRKeYEFyNe5auZEynVY0ZrgyFe7mKE04dmsFqEhw==} + 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-x64-gnu@0.10.3': + resolution: {integrity: sha512-Y+YYrs3U+UhxRf3vn9Fgjo3NtjnqYBsAEpTrZcwfKpaiSXKpQlr4v2H9Lp4jtlC4PNjPr02wkiNtiAgNlhkB8w==} cpu: [x64] os: [linux] libc: [glibc] - '@bruits/satteri-wasm32-wasi@0.9.1': - resolution: {integrity: sha512-lEFk5ebh5SxRquA5RJisEoMoDmOiSnS10PGgXgXeVlWgF8KWKI9D3hSzVqNjEg/qKOjHcNdjIfyx/03Wrl6J3g==} + '@bruits/satteri-linux-x64-musl@0.10.3': + resolution: {integrity: sha512-Fqg47592hkRebzI5EMU9BYnbFz7m/Q4awJt062xr9lweaHTmlN6ij/Z9Dzyt4THsqRFm87DZFMcwrniQpeEbPA==} + 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-win32-x64-msvc@0.9.1': - resolution: {integrity: sha512-YBhm8yARopswAPeTih11BzMxWVQFD5CI9Yryp6HWepi6F/CeMycqxv18DXrj9U2fDDlbVGwT2IiEM2UPBjIPDQ==} + '@bruits/satteri-win32-arm64-msvc@0.10.3': + resolution: {integrity: sha512-4+fLJgFthvZQHdpb1nVXQXH1T6spXs5fYj71KTvTOhsSZ3jA1VkvneVtv7VinX7vgtMu6PZGm/X3P84ancCMkA==} + cpu: [arm64] + os: [win32] + + '@bruits/satteri-win32-x64-msvc@0.10.3': + resolution: {integrity: sha512-BdbaBcnKktrNbAGibVnZFIZKtl+xl3TKvgLDNZempM0d2C+2l9OU874AqdhkOkegWk/vdCS1Z+wUD6W5KYUT9w==} cpu: [x64] os: [win32] @@ -8213,18 +8233,9 @@ packages: '@emnapi/core@1.11.1': resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} - '@emnapi/core@1.9.1': - resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==} - '@emnapi/runtime@1.11.1': resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} - '@emnapi/runtime@1.9.1': - resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} - - '@emnapi/wasi-threads@1.2.0': - resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} - '@emnapi/wasi-threads@1.2.2': resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} @@ -9208,12 +9219,12 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.2.0': - resolution: {integrity: sha512-kDoONqMa+VnZ4vvvu/ZUurpJ4gkZU57e7g69qpNgWhYcZFPUHZM2CEMKm+cG6ufDVALbjMvfmMjFVqaK7uEMnA==} + '@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': ^2.0.0-alpha.3 - '@emnapi/runtime': ^2.0.0-alpha.3 + '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 + '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 '@netlify/ai@0.4.1': resolution: {integrity: sha512-ETLtV/9taYrcGhszwO+BLFgFJJ2MCnJp8BwxfwV6Z/+z3SsaUG4ExC8x4xzNCdB2GPWxXrXkvR2LFNsPFSLcRA==} @@ -10290,8 +10301,8 @@ packages: '@types/express@5.0.6': resolution: {integrity: sha512-sKYVuV7Sv9fbPIt/442koC7+IIwK5olP1KWeD88e/idgoJqDm3JV/YUiPwkoKK92ylff2MGxSz1CSjsXelx0YA==} - '@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/html-escaper@3.0.4': resolution: {integrity: sha512-UKSaMPMXXKnq1jDj74seVikfdq5pWvoXcIgOUbwYzHuAEGiv8/juom1i/MsWBF8boFSI0uHQCSZauzr5OYnnJA==} @@ -14773,8 +14784,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - satteri@0.9.1: - resolution: {integrity: sha512-0oIBjwDxWvz8ePRSBxv8vEdZ0GI25/UcSq11y4651tJztUAmZlIdPjFx8luqBAM22g8YKVr5R17KaaZ2kIfLrw==} + satteri@0.10.3: + resolution: {integrity: sha512-LBDONBUtj48XanFpLcCDvyCjBruz5aj5MGwE9gR+/RTB3monyglmh9jpGXuYUDO4rvBhvK2bpbjTKeU9kkHtfg==} sax@1.6.0: resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} @@ -16267,9 +16278,9 @@ snapshots: '@astrojs/compiler-binding-linux-x64-musl@0.3.2': optional: true - '@astrojs/compiler-binding-wasm32-wasi@0.3.2': + '@astrojs/compiler-binding-wasm32-wasi@0.3.2(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: - '@napi-rs/wasm-runtime': 1.2.0(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -16281,7 +16292,7 @@ snapshots: '@astrojs/compiler-binding-win32-x64-msvc@0.3.2': optional: true - '@astrojs/compiler-binding@0.3.2': + '@astrojs/compiler-binding@0.3.2(@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 @@ -16289,16 +16300,16 @@ snapshots: '@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 + '@astrojs/compiler-binding-wasm32-wasi': 0.3.2(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) '@astrojs/compiler-binding-win32-arm64-msvc': 0.3.2 '@astrojs/compiler-binding-win32-x64-msvc': 0.3.2 transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' - '@astrojs/compiler-rs@0.3.2': + '@astrojs/compiler-rs@0.3.2(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: - '@astrojs/compiler-binding': 0.3.2 + '@astrojs/compiler-binding': 0.3.2(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -16921,23 +16932,35 @@ snapshots: dependencies: modern-tar: 0.7.7 - '@bruits/satteri-darwin-arm64@0.9.1': + '@bruits/satteri-darwin-arm64@0.10.3': optional: true - '@bruits/satteri-darwin-x64@0.9.1': + '@bruits/satteri-darwin-x64@0.10.3': optional: true - '@bruits/satteri-linux-x64-gnu@0.9.1': + '@bruits/satteri-linux-arm64-gnu@0.10.3': optional: true - '@bruits/satteri-wasm32-wasi@0.9.1': + '@bruits/satteri-linux-arm64-musl@0.10.3': + optional: true + + '@bruits/satteri-linux-x64-gnu@0.10.3': + optional: true + + '@bruits/satteri-linux-x64-musl@0.10.3': + optional: true + + '@bruits/satteri-wasm32-wasi@0.10.3': dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 - '@napi-rs/wasm-runtime': 1.2.0(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.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-x64-msvc@0.9.1': + '@bruits/satteri-win32-arm64-msvc@0.10.3': + optional: true + + '@bruits/satteri-win32-x64-msvc@0.10.3': optional: true '@capsizecss/unpack@4.0.0': @@ -17575,27 +17598,11 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/core@1.9.1': - dependencies: - '@emnapi/wasi-threads': 1.2.0 - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.11.1': dependencies: tslib: 2.8.1 optional: true - '@emnapi/runtime@1.9.1': - dependencies: - tslib: 2.8.1 - optional: true - - '@emnapi/wasi-threads@1.2.0': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 @@ -18258,7 +18265,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.17.0 collapse-white-space: 2.1.0 @@ -18326,20 +18333,13 @@ snapshots: '@tybys/wasm-util': 0.10.3 optional: true - '@napi-rs/wasm-runtime@1.2.0(@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)': 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.0(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1)': - dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 - '@tybys/wasm-util': 0.10.3 - optional: true - '@netlify/ai@0.4.1': dependencies: '@netlify/api': 14.0.18 @@ -18853,9 +18853,9 @@ snapshots: '@oxc-resolver/binding-openharmony-arm64@11.17.1': optional: true - '@oxc-resolver/binding-wasm32-wasi@11.17.1': + '@oxc-resolver/binding-wasm32-wasi@11.17.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: - '@napi-rs/wasm-runtime': 1.2.0(@emnapi/core@1.9.1)(@emnapi/runtime@1.9.1) + '@napi-rs/wasm-runtime': 1.2.3(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -19077,7 +19077,7 @@ snapshots: dependencies: '@emnapi/core': 1.11.1 '@emnapi/runtime': 1.11.1 - '@napi-rs/wasm-runtime': 1.2.0(@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 '@rolldown/binding-win32-arm64-msvc@1.1.2': @@ -19182,7 +19182,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': @@ -19204,12 +19204,12 @@ snapshots: dependencies: '@shikijs/types': 4.0.2 '@shikijs/vscode-textmate': 10.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@shikijs/rehype@4.0.2': dependencies: '@shikijs/types': 4.0.2 - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-to-string: 3.0.1 shiki: 4.0.2 unified: 11.0.5 @@ -19231,7 +19231,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': {} @@ -19535,7 +19535,7 @@ snapshots: '@types/express-serve-static-core': 5.1.1 '@types/serve-static': 2.2.0 - '@types/hast@3.0.4': + '@types/hast@3.0.5': dependencies: '@types/unist': 3.0.3 @@ -22154,7 +22154,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.3 parse5: 7.3.0 @@ -22163,7 +22163,7 @@ snapshots: hast-util-from-parse5@8.0.3: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/unist': 3.0.3 devlop: 1.1.0 hastscript: 9.0.1 @@ -22174,23 +22174,23 @@ snapshots: hast-util-has-property@3.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-heading-rank@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-parse-selector@4.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 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.3.0 hast-util-from-parse5: 8.0.3 @@ -22206,7 +22206,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 @@ -22226,7 +22226,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 @@ -22245,7 +22245,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 @@ -22260,7 +22260,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 @@ -22279,7 +22279,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.1.0 @@ -22289,22 +22289,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@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.1.0 @@ -22735,7 +22735,7 @@ snapshots: kleur@4.1.5: {} - knip@5.82.1(@types/node@22.19.19)(typescript@6.0.3): + knip@5.82.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)(@types/node@22.19.19)(typescript@6.0.3): dependencies: '@nodelib/fs.walk': 1.2.8 '@types/node': 22.19.19 @@ -22744,7 +22744,7 @@ snapshots: jiti: 2.6.1 js-yaml: 4.3.0 minimist: 1.2.8 - oxc-resolver: 11.17.1 + oxc-resolver: 11.17.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) picocolors: 1.1.1 picomatch: 4.0.4 smol-toml: 1.6.1 @@ -23121,7 +23121,7 @@ snapshots: mdast-util-math@3.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mdast': 4.0.4 devlop: 1.1.0 longest-streak: 3.1.0 @@ -23134,7 +23134,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.2 @@ -23145,7 +23145,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 @@ -23172,7 +23172,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.2 @@ -23187,7 +23187,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.3.0 devlop: 1.1.0 @@ -23862,7 +23862,7 @@ snapshots: - debug - supports-color - oxc-resolver@11.17.1: + oxc-resolver@11.17.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1): optionalDependencies: '@oxc-resolver/binding-android-arm-eabi': 11.17.1 '@oxc-resolver/binding-android-arm64': 11.17.1 @@ -23880,7 +23880,7 @@ snapshots: '@oxc-resolver/binding-linux-x64-gnu': 11.17.1 '@oxc-resolver/binding-linux-x64-musl': 11.17.1 '@oxc-resolver/binding-openharmony-arm64': 11.17.1 - '@oxc-resolver/binding-wasm32-wasi': 11.17.1 + '@oxc-resolver/binding-wasm32-wasi': 11.17.1(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) '@oxc-resolver/binding-win32-arm64-msvc': 11.17.1 '@oxc-resolver/binding-win32-ia32-msvc': 11.17.1 '@oxc-resolver/binding-win32-x64-msvc': 11.17.1 @@ -24667,7 +24667,7 @@ snapshots: rehype-autolink-headings@7.1.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@ungap/structured-clone': 1.3.0 hast-util-heading-rank: 3.0.0 hast-util-is-element: 3.0.0 @@ -24676,7 +24676,7 @@ snapshots: rehype-mathjax@7.1.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 '@types/mathjax': 0.0.40 hast-util-to-text: 4.0.2 hastscript: 9.0.1 @@ -24687,13 +24687,13 @@ snapshots: rehype-parse@9.0.1: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-from-html: 2.0.3 unified: 11.0.5 rehype-pretty-code@0.14.3(shiki@4.0.2): dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 hast-util-to-string: 3.0.1 parse-numeric-range: 1.3.0 rehype-parse: 9.0.1 @@ -24703,21 +24703,21 @@ 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 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-slug@6.0.0: dependencies: - '@types/hast': 3.0.4 + '@types/hast': 3.0.5 github-slugger: 2.0.0 hast-util-heading-rank: 3.0.0 hast-util-to-string: 3.0.1 @@ -24725,7 +24725,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 @@ -24777,7 +24777,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 @@ -24959,18 +24959,22 @@ snapshots: optionalDependencies: '@parcel/watcher': 2.5.6 - satteri@0.9.1: + satteri@0.10.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: - '@bruits/satteri-darwin-arm64': 0.9.1 - '@bruits/satteri-darwin-x64': 0.9.1 - '@bruits/satteri-linux-x64-gnu': 0.9.1 - '@bruits/satteri-wasm32-wasi': 0.9.1 - '@bruits/satteri-win32-x64-msvc': 0.9.1 + '@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 sax@1.6.0: {} @@ -25131,7 +25135,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 side-channel-list@1.0.0: dependencies: