feat: add perf benchmark check to mdx
This commit is contained in:
parent
e0a2146b2f
commit
f0135576af
1 changed files with 21 additions and 16 deletions
|
@ -24,6 +24,9 @@ import remarkPrism from './remark-prism.js';
|
|||
import remarkShiki from './remark-shiki.js';
|
||||
import { isRelativePath, jsToTreeNode } from './utils.js';
|
||||
|
||||
// Skip nonessential plugins during performance benchmark runs
|
||||
const isPerformanceBenchmark = Boolean(process.env.ASTRO_CI_PERFORMANCE_RUN);
|
||||
|
||||
export function recmaInjectImportMetaEnvPlugin({
|
||||
importMetaEnv,
|
||||
}: {
|
||||
|
@ -130,15 +133,18 @@ export async function getRemarkPlugins(
|
|||
): Promise<MdxRollupPluginOptions['remarkPlugins']> {
|
||||
let remarkPlugins: PluggableList = [];
|
||||
|
||||
if (!isPerformanceBenchmark) {
|
||||
if (mdxOptions.gfm) {
|
||||
remarkPlugins.push(remarkGfm);
|
||||
}
|
||||
if (mdxOptions.smartypants) {
|
||||
remarkPlugins.push(remarkSmartypants);
|
||||
}
|
||||
}
|
||||
|
||||
remarkPlugins = [...remarkPlugins, ...ignoreStringPlugins(mdxOptions.remarkPlugins)];
|
||||
|
||||
if (!isPerformanceBenchmark) {
|
||||
// Apply syntax highlighters after user plugins to match `markdown/remark` behavior
|
||||
if (mdxOptions.syntaxHighlight === 'shiki') {
|
||||
remarkPlugins.push([await remarkShiki(mdxOptions.shikiConfig)]);
|
||||
|
@ -146,9 +152,9 @@ export async function getRemarkPlugins(
|
|||
if (mdxOptions.syntaxHighlight === 'prism') {
|
||||
remarkPlugins.push(remarkPrism);
|
||||
}
|
||||
|
||||
// Apply last in case user plugins resolve relative image paths
|
||||
remarkPlugins.push(toRemarkContentRelImageError(config));
|
||||
}
|
||||
|
||||
return remarkPlugins;
|
||||
}
|
||||
|
@ -166,8 +172,7 @@ export function getRehypePlugins(mdxOptions: MdxOptions): MdxRollupPluginOptions
|
|||
...ignoreStringPlugins(mdxOptions.rehypePlugins),
|
||||
// getHeadings() is guaranteed by TS, so this must be included.
|
||||
// We run `rehypeHeadingIds` _last_ to respect any custom IDs set by user plugins.
|
||||
rehypeHeadingIds,
|
||||
rehypeInjectHeadingsExport,
|
||||
...(isPerformanceBenchmark ? [] : [rehypeHeadingIds, rehypeInjectHeadingsExport]),
|
||||
// computed from `astro.data.frontmatter` in VFile data
|
||||
rehypeApplyFrontmatterExport,
|
||||
];
|
||||
|
|
Loading…
Reference in a new issue