mirror of
https://github.com/withastro/astro.git
synced 2024-12-23 21:53:55 -05:00
[ci] format
This commit is contained in:
parent
b2b367c969
commit
29eef85ce5
2 changed files with 20 additions and 18 deletions
|
@ -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,
|
||||
|
|
|
@ -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();
|
||||
|
||||
|
|
Loading…
Reference in a new issue