layer5io / layer5io/layer5

[Chore] ESLint MDX config targets an empty directory, leaving 1,138 MDX files unlinted

Open
#7,991 4 comments 0 reactions 1 assignee View on GitHub

@Ayush-1812 is already working on this.

Since Sep 9, 2026.

Dominant language
JavaScript
Stars
1.1k
Forks
1.6k
Avg merge
2d 10h
Merged PRs (30d)
18

Description

Description

eslint.config.js:148 registers eslint-mdx for two globs:

{
  files: ["content-learn/**/*.mdx", "src/pages/**/*.mdx"],
  languageOptions: { parser: mdxParser, ... },
  processor: mdxPlugin.createRemarkProcessor(),
  ...
}

Neither glob reflects where the site's MDX actually lives today:

Glob / tree .mdx files matched
content-learn/**/*.mdx 61
src/pages/**/*.mdx 0
src/collections/**/*.mdx (unmatched) 1,138 (138 of them Sistent component docs)

src/pages contains no MDX at all, and src/collections — blog posts, workshops, programs, and all Sistent component documentation — matches no files entry in the flat config. Under ESLint v9 flat config, files not matched by any config object are skipped when linting a directory, so npm run checklint never inspects them.

Two consequences:

  1. No linting where most of the content is. Over a thousand MDX files, including every Sistent component doc, are exempt from lint entirely.
  2. Confusing parse errors for contributors and review bots. ESLint does lint files passed explicitly on the command line, even unmatched ones — falling back to the default JS parser, which cannot parse MDX. Anyone running eslint <changed-file>.mdx, and automated reviewers that lint changed files, get three Assigning to rvalue parse errors per file. This surfaced on #7990, where it was reported as a failure against new documentation despite reproducing identically on existing docs already merged to master (e.g. src/collections/sistent/components/table/code.mdx).
Expected Behavior

The MDX config block covers the trees that actually contain MDX — at minimum adding src/collections/**/*.mdx — and the dead src/pages/**/*.mdx glob is dropped or corrected.

This should be treated as its own change rather than folded into a content PR: switching 1,138 files from unlinted to linted will surface a backlog of findings, and the rule set for the MDX block will likely need tuning (the current block only disables four react/* rules) before it can pass CI. A staged approach — enable the glob, assess the output, tune rules or add narrowly-scoped ignores, then wire it into checklint — is probably the sanest path.

Screenshots

N/A

Environment:
  • Host OS: any
  • Browser: N/A (build tooling)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.