diff --git a/packages/integrations/mdx/src/index.ts b/packages/integrations/mdx/src/index.ts index d91f71c4b6..66ab7b837f 100644 --- a/packages/integrations/mdx/src/index.ts +++ b/packages/integrations/mdx/src/index.ts @@ -1,11 +1,11 @@ import mdxPlugin, { Options as MdxRollupPluginOptions } from '@mdx-js/rollup'; import type { AstroIntegration } from 'astro'; -import type { RemarkMdxFrontmatterOptions } from 'remark-mdx-frontmatter'; import { parse as parseESM } from 'es-module-lexer'; -import remarkGfm from 'remark-gfm'; -import remarkSmartypants from 'remark-smartypants'; import remarkFrontmatter from 'remark-frontmatter'; +import remarkGfm from 'remark-gfm'; +import type { RemarkMdxFrontmatterOptions } from 'remark-mdx-frontmatter'; import remarkMdxFrontmatter from 'remark-mdx-frontmatter'; +import remarkSmartypants from 'remark-smartypants'; import { getFileInfo } from './utils.js'; type WithExtends = T | { extends: T }; @@ -18,15 +18,12 @@ type MdxOptions = { * @see https://github.com/remcohaszing/remark-mdx-frontmatter#options for a full list of options * @default {{ name: 'frontmatter' }} */ - frontmatterOptions?: RemarkMdxFrontmatterOptions; -} + frontmatterOptions?: RemarkMdxFrontmatterOptions; +}; const DEFAULT_REMARK_PLUGINS = [remarkGfm, remarkSmartypants]; -function handleExtends( - config: WithExtends, - defaults: T[] = [], -): T[] { +function handleExtends(config: WithExtends, defaults: T[] = []): T[] { if (Array.isArray(config)) return config; return [...defaults, ...(config?.extends ?? [])]; @@ -50,10 +47,13 @@ export default function mdx(mdxOptions: MdxOptions = {}): AstroIntegration { // We can revisit this if a strong use case to *remove* // YAML frontmatter via config is reported. remarkFrontmatter, - [remarkMdxFrontmatter, { - name: 'frontmatter', - ...mdxOptions.frontmatterOptions, - }], + [ + remarkMdxFrontmatter, + { + name: 'frontmatter', + ...mdxOptions.frontmatterOptions, + }, + ], ], rehypePlugins: handleExtends(mdxOptions.rehypePlugins), jsx: true, diff --git a/packages/integrations/mdx/test/mdx-frontmatter.js b/packages/integrations/mdx/test/mdx-frontmatter.js index 1d8ec36f6f..3021f926fb 100644 --- a/packages/integrations/mdx/test/mdx-frontmatter.js +++ b/packages/integrations/mdx/test/mdx-frontmatter.js @@ -29,11 +29,13 @@ describe('MDX frontmatter', () => { it('extracts frontmatter to "customFrontmatter" export when configured', async () => { const fixture = await loadFixture({ root: new URL('./fixtures/mdx-custom-frontmatter-name/', import.meta.url), - integrations: [mdx({ - frontmatterOptions: { - name: 'customFrontmatter', - }, - })], + integrations: [ + mdx({ + frontmatterOptions: { + name: 'customFrontmatter', + }, + }), + ], }); await fixture.build();