Skip to content

Commit

Permalink
chore: stricter mdx linting
Browse files Browse the repository at this point in the history
This should stop some stylistic issues from slipping through next time.
  • Loading branch information
lishaduck committed Mar 15, 2024
1 parent 14beaad commit 5f52d50
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
7 changes: 7 additions & 0 deletions deno.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@
"@tailwindcss/typography": "npm:@tailwindcss/typography@0.5.10",
"rehype-mathjax": "npm:rehype-mathjax@6.0.0",
"remark-frontmatter": "npm:remark-frontmatter@5.0.0",
"remark-lint-checkbox-content-indent": "npm:remark-lint-checkbox-content-indent@4.1.1",
"remark-lint-no-tabs": "npm:remark-lint-no-tabs@3.1.1",
"remark-lint-definition-spacing": "npm:remark-lint-definition-spacing@3.1.1",
"remark-lint-heading-increment": "npm:remark-lint-heading-increment@3.1.1",
"remark-lint-linebreak-style": "npm:remark-lint-linebreak-style@3.1.1",
"remark-lint-no-missing-blank-lines": "npm:remark-lint-no-missing-blank-lines@3.1.1",
"remark-lint-no-consecutive-blank-lines": "npm:remark-lint-no-consecutive-blank-lines@4.1.2",
"remark-math": "npm:remark-math@6.0.0",
"remark-mdx-frontmatter": "npm:remark-mdx-frontmatter@4.0.0",
"remark-preset-lint-consistent": "npm:remark-preset-lint-consistent@5.1.2",
Expand Down
25 changes: 24 additions & 1 deletion tool/compile-mdx.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ import {
import { type CompileOptions, compile } from "@mdx-js/mdx";
import rehypeMathjax from "rehype-mathjax";
import remarkFrontmatter from "remark-frontmatter";
import remarkLintCheckboxContentIndent from "remark-lint-checkbox-content-indent";
import remarkLintDefinitionSpacing from "remark-lint-definition-spacing";
import remarkLintHeadingIncrement from "remark-lint-heading-increment";
import remarkLintLinebreakStyle from "remark-lint-linebreak-style";
import remarkLintNoConsecutiveBlankLines from "remark-lint-no-consecutive-blank-lines";
import remarkLintNoMissingBlankLines from "remark-lint-no-missing-blank-lines";
import remarkLintNoTabs from "remark-lint-no-tabs";
import remarkMath, { type Options as MathOptions } from "remark-math";
import remarkMdxFrontmatter from "remark-mdx-frontmatter";
import remarkPresetLintConsistent from "remark-preset-lint-consistent";
Expand Down Expand Up @@ -54,8 +61,9 @@ async function run(): Promise<void> {
const files = await Promise.all(promises);
files.sort(sortFiles);

lint(files);

await Promise.all([
Promise.resolve(lint(files)),
writeSolutions(files),
staticImports(files),
categories(files),
Expand Down Expand Up @@ -124,6 +132,7 @@ function lint(files: VFile[]): void {
const lints = reporter(files, lintReportOptions);
if (lints !== "") {
console.error(lints);
Deno.exit(1);
}
}

Expand Down Expand Up @@ -152,6 +161,20 @@ const remarkPlugins = [
remarkPresetLintConsistent,
// @ts-expect-error: Typescript dislikes current Deno deduping of Unified.
remarkPresetLintRecommended,
// @ts-expect-error: Typescript dislikes current Deno deduping of Unified.
remarkLintCheckboxContentIndent,
// @ts-expect-error: Typescript dislikes current Deno deduping of Unified.
remarkLintDefinitionSpacing,
// @ts-expect-error: Typescript dislikes current Deno deduping of Unified.
remarkLintHeadingIncrement,
// @ts-expect-error: Typescript dislikes current Deno deduping of Unified.
remarkLintLinebreakStyle,
// @ts-expect-error: Typescript dislikes current Deno deduping of Unified.
remarkLintNoTabs,
// @ts-expect-error: Typescript dislikes current Deno deduping of Unified.
remarkLintNoConsecutiveBlankLines,
// @ts-expect-error: Typescript dislikes current Deno deduping of Unified.
remarkLintNoMissingBlankLines,
[remarkMath, { singleDollarTextMath: false } satisfies MathOptions],
] as const satisfies PluggableList;

Expand Down

0 comments on commit 5f52d50

Please sign in to comment.