summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/integrations/mdx/src/index.ts26
-rw-r--r--packages/integrations/mdx/test/mdx-frontmatter.js12
2 files changed, 20 insertions, 18 deletions
diff --git a/packages/integrations/mdx/src/index.ts b/packages/integrations/mdx/src/index.ts
index d91f71c4b..66ab7b837 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> = 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<T>(
- config: WithExtends<T[] | undefined>,
- defaults: T[] = [],
-): T[] {
+function handleExtends<T>(config: WithExtends<T[] | undefined>, 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 1d8ec36f6..3021f926f 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();