Skip to content

feat: add @astrojs/markdown-satteri package#16849

Merged
Princesseuh merged 18 commits into
feat/markdown-processorfrom
feat/markdown-satteri
May 27, 2026
Merged

feat: add @astrojs/markdown-satteri package#16849
Princesseuh merged 18 commits into
feat/markdown-processorfrom
feat/markdown-satteri

Conversation

@Princesseuh

@Princesseuh Princesseuh commented May 23, 2026

Copy link
Copy Markdown
Member

Changes

Adds a new Markdown processor based on https://github.com/bruits/satteri, it's fast! It supports all of Astro's features, apart from Prism syntax highlighting in this first version.

Testing

Added tests to the package

Docs

withastro/docs#13919

@changeset-bot

changeset-bot Bot commented May 23, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 4cbdabf

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 48 packages
Name Type
@astrojs/markdown-satteri Minor
@astrojs/mdx Major
@test/astro-cloudflare Patch
@e2e/content-collections Patch
@e2e/csp-server-islands Patch
@e2e/preact-component Patch
@e2e/preact-lazy-component Patch
@e2e/react-component Patch
@e2e/server-islands Patch
@e2e/solid-component Patch
@e2e/svelte-component Patch
@e2e/vue-component Patch
@performance/mdx Patch
@test/astro-assets-prefix Patch
@test/astro-basic Patch
@test/content-with-spaces-in-folder-name Patch
@test/content-collections-base Patch
@test/content-collections-mutation Patch
@test/content-collections Patch
@test/content-intellisense Patch
@test/content-layer-remark-plugins Patch
@test/content-layer Patch
@test/content-ssr-integration Patch
@test/content-static-paths-integration Patch
@test/content Patch
@test/core-image-deletion Patch
@test/core-image-svg Patch
@test/jsx-queue-rendering Patch
@test/partials Patch
@test/server-islands-ssr Patch
@test/slots-preact Patch
@test/slots-react Patch
@test/slots-solid Patch
@test/slots-svelte Patch
@test/slots-vue Patch
@test/special-chars-in-component-imports Patch
@test/tailwindcss Patch
@test/astro-cloudflare-prerender-styles Patch
@test/astro-cloudflare-vite-plugin Patch
@test/content-layer-rendering Patch
@test/mdx-css-head-mdx Patch
@test/image-remark-imgattr Patch
@test/mdx-astro-container-escape Patch
@test/mdx-frontmatter-injection Patch
@example/blog Patch
@example/with-mdx Patch
@example/with-tailwindcss Patch
astro-benchmark Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions Bot added feat: markdown Related to Markdown (scope) pkg: integration Related to any renderer integration (scope) labels May 23, 2026
@github-actions

github-actions Bot commented May 23, 2026

Copy link
Copy Markdown
Contributor

⚠️ Dependency Count

This PR adds 10 new dependencies (2194 → 2204), which exceeds the threshold of 10.

📊 Dependency Size Changes

Warning

This PR adds 12.1 MB of new dependencies, which exceeds the threshold of 100 kB.

📦 Package 📏 Size
@napi-rs/wasm-runtime@1.1.4 6.3 MB
@bruits/satteri-linux-x64-gnu@0.6.3 3.1 MB
@emnapi/core@1.9.1 1.9 MB
@emnapi/runtime@1.9.1 424.1 kB
@emnapi/wasi-threads@1.2.0 227.6 kB
satteri@0.6.3 218.5 kB

Total size change: 12.1 MB

@Princesseuh Princesseuh added this to the 6.4 milestone May 23, 2026
@Princesseuh Princesseuh force-pushed the feat/markdown-satteri branch from bbec232 to cdd2a43 Compare May 23, 2026 02:49
@github-actions github-actions Bot added pkg: astro Related to the core `astro` package (scope) docs pr labels May 23, 2026
@Princesseuh Princesseuh changed the base branch from feat/markdown-processor to main May 23, 2026 02:57
@Princesseuh Princesseuh changed the base branch from main to feat/markdown-processor May 23, 2026 02:57
@Princesseuh Princesseuh force-pushed the feat/markdown-satteri branch from cdd2a43 to c89ccab Compare May 23, 2026 03:04
@Princesseuh Princesseuh changed the base branch from feat/markdown-processor to main May 23, 2026 03:04
@Princesseuh Princesseuh changed the base branch from main to feat/markdown-processor May 23, 2026 03:04
@github-actions github-actions Bot added the semver: minor Change triggers a `minor` release label May 23, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is blocked because it contains a minor changeset. A reviewer will merge this at the next release if approved.

@github-actions github-actions Bot removed pkg: astro Related to the core `astro` package (scope) docs pr labels May 23, 2026
@@ -0,0 +1,47 @@
// TODO: This is a workaround around a missing API in Sätteri. The visitor architecture naturally does not provide

@Princesseuh Princesseuh May 23, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't decided of an API shape for this usecase yet in Sätteri. It'll defnitely be supported soon because it's a common request, so I expect it before the next major for sure.

@Princesseuh Princesseuh force-pushed the feat/markdown-satteri branch 3 times, most recently from f1719ec to 82a0929 Compare May 25, 2026 15:58
@github-actions github-actions Bot added the pkg: astro Related to the core `astro` package (scope) label May 25, 2026
@Princesseuh Princesseuh marked this pull request as ready for review May 25, 2026 16:33
@github-actions github-actions Bot removed the pkg: astro Related to the core `astro` package (scope) label May 25, 2026
Drops `SatteriProcessorDescriptor` in favour of `MarkdownProcessor<SatteriResolvedOptions>`,
renames `descriptor` → `processor` for consistency with the markdown-remark side, and
updates type imports (`AstroMarkdownProcessorOptions` → `AstroMarkdownOptions`,
`MarkdownProcessor` → `MarkdownRenderer`) to match the new contract from
@astrojs/internal-helpers/markdown.
@Princesseuh Princesseuh force-pushed the feat/markdown-satteri branch from f8a1b93 to e80a435 Compare May 26, 2026 11:10
Comment thread .changeset/markdown-satteri.md Outdated

@ArmandPhilippot ArmandPhilippot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I left a nit for the changeset, but this LGTM.

I was also hesitant to mention CSP there... Because as Ema pointed out, CSP users might not want to test it as Shiki is not compatible. But maybe this is something to say in the blog post rather than in the changelog.

Comment thread .changeset/markdown-satteri.md Outdated
Princesseuh and others added 2 commits May 26, 2026 18:16
Co-authored-by: Armand Philippot <git@armand.philippot.eu>
@Princesseuh

Copy link
Copy Markdown
Member Author

Fwiw, I think we'll be shipping Prism support like, the day after or so. It's not very hard or anything.

@Princesseuh Princesseuh merged commit 68172ef into feat/markdown-processor May 27, 2026
25 checks passed
@Princesseuh Princesseuh deleted the feat/markdown-satteri branch May 27, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat: markdown Related to Markdown (scope) pkg: integration Related to any renderer integration (scope) semver: minor Change triggers a `minor` release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants