Skip to content

Calling MDX renderer causes Satteri import to be resolved even if original Unified processor is being used #16954

Description

@ericswpark

Astro Info

Astro                    v6.4.3
Node                     v22.22.0
System                   Linux (x64)
Package Manager          unknown
Output                   static
Adapter                  none
Integrations             @astrojs/mdx

If this issue only occurs in one browser, which browser is a problem?

N/A

Describe the Bug

When calling the MDX renderer to render RSS feeds, for example:

import { getContainerRenderer as getMDXRenderer } from "@astrojs/mdx";
const renderers = await loadRenderers([getMDXRenderer()]); 

Vite/Rollup attempts to import the Satteri imports within the @astrojs/mdx module, even if Satteri is not being used.

15:12:06 [build] Collecting build info...
15:12:06 [build] ✓ Completed in 1.40s.
15:12:06 [build] Building static entrypoints...
15:12:08 [ERROR] [vite] ✗ Build failed in 763ms
[vite]: Rollup failed to resolve import "satteri" from "/home/projects/github-nenuqlk4/node_modules/@astrojs/mdx/dist/satteri/index.js".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
  Stack trace:
    at viteLog (file:///home/projects/github-nenuqlk4/node_modules/vite/dist/node/chunks/config.js:33814:57)
    at onLog (file:///home/projects/github-nenuqlk4/node_modules/vite/dist/node/chunks/config.js:33646:4)
    at Object.logger (file:///home/projects/github-nenuqlk4/node_modules/rollup/dist/es/shared/node-entry.js:23399:9)
    at eval (file:///home/projects/github-nenuqlk4/node_modules/rollup/dist/es/shared/node-entry.js:22104:26)

What's the expected result?

Satteri should not be resolved if it is not being used.

Link to Minimal Reproducible Example

https://stackblitz.com/edit/github-nenuqlk4?file=astro.config.mjs

Participation

  • I am willing to submit a pull request for this issue.

Metadata

Metadata

Assignees

Labels

- P3: minor bugAn edge case that only affects very specific usage (priority)pkg: astroRelated to the core `astro` package (scope)pkg: mdxIssues pertaining to `@astrojs/mdx` integrationtriage: needs reproductionIssue needs a reproduction

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions