Skip to content

feat: enable ecmaFeatures.jsx in exported configs#608

Open
controversial wants to merge 4 commits intomdx-js:masterfrom
controversial:luke/ecmafeatures-jsx
Open

feat: enable ecmaFeatures.jsx in exported configs#608
controversial wants to merge 4 commits intomdx-js:masterfrom
controversial:luke/ecmafeatures-jsx

Conversation

@controversial
Copy link
Copy Markdown

Initial checklist

  • I read the support docs
  • I read the contributing guide
  • I agree to follow the code of conduct
  • I searched issues and discussions and couldn’t find anything or linked relevant results below
  • I made sure the docs are up to date
  • I included tests (or that’s not needed)

Description of changes

Adds ecmaFeatures: { jsx: true } to the premade configs for mdx files so that ESLint 10 can identify & track JSX references in MDX files.

Closes #444 for ESLint 10 users

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 17, 2026

🦋 Changeset detected

Latest commit: 57444a9

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 2 packages
Name Type
eslint-plugin-mdx Patch
eslint-mdx Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@codesandbox-ci
Copy link
Copy Markdown

codesandbox-ci bot commented Mar 17, 2026

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 17, 2026

📊 Package size report   No changes

File Before After
Total (Includes all files) 4.4 MB 4.4 MB
Tarball size 1.2 MB 1.2 MB
Unchanged files
File Size
.babelrc 35 B
.changeset/config.json 372 B
.changeset/README.md 510 B
.codesandbox/ci.json 76 B
.editorconfig 145 B
.env.yarn 44 B
.gitattributes 35 B
.github/FUNDING.yml 296 B
.github/workflows/ci.yml 1.6 kB
.github/workflows/codeql.yml 1.1 kB
.github/workflows/pkg-size.yml 871 B
.github/workflows/release.yml 1.3 kB
.nano-staged.js 48 B
.prettierignore 38 B
.renovaterc 49 B
.simple-git-hooks.js 49 B
.yarn/plugins/plugin-prepare-lifecycle.cjs 202 B
.yarn/releases/yarn-4.9.2.cjs 3.0 MB
.yarnrc.yml 397 B
CHANGELOG.md 283 B
CONTRIBUTING.md 931 B
eslint.config.js 1.3 kB
LICENSE 1.1 kB
package.json 3.3 kB
packages/eslint-mdx/CHANGELOG.md 29.6 kB
packages/eslint-mdx/index.d.cts 52 B
packages/eslint-mdx/package.json 1.6 kB
packages/eslint-mdx/README.md 13.7 kB
packages/eslint-mdx/shim.d.ts 1.2 kB
packages/eslint-mdx/src/helpers.ts 3.4 kB
packages/eslint-mdx/src/index.ts 141 B
packages/eslint-mdx/src/meta.ts 206 B
packages/eslint-mdx/src/parser.ts 2.5 kB
packages/eslint-mdx/src/sync.ts 404 B
packages/eslint-mdx/src/tokens.ts 6.8 kB
packages/eslint-mdx/src/types.ts 2.4 kB
packages/eslint-mdx/src/worker.ts 23.4 kB
packages/eslint-mdx/tsconfig.json 166 B
packages/eslint-plugin-mdx/CHANGELOG.md 35.2 kB
packages/eslint-plugin-mdx/index.d.cts 52 B
packages/eslint-plugin-mdx/package.json 1.4 kB
packages/eslint-plugin-mdx/README.md 13.7 kB
packages/eslint-plugin-mdx/src/configs/base.ts 311 B
packages/eslint-plugin-mdx/src/configs/code-blocks.ts 1.1 kB
packages/eslint-plugin-mdx/src/configs/flat.ts 835 B
packages/eslint-plugin-mdx/src/configs/index.ts 454 B
packages/eslint-plugin-mdx/src/configs/overrides.ts 781 B
packages/eslint-plugin-mdx/src/configs/recommended.ts 1.5 kB
packages/eslint-plugin-mdx/src/helpers.ts 795 B
packages/eslint-plugin-mdx/src/index.ts 161 B
packages/eslint-plugin-mdx/src/meta.ts 207 B
packages/eslint-plugin-mdx/src/processors/helpers.ts 753 B
packages/eslint-plugin-mdx/src/processors/index.ts 218 B
packages/eslint-plugin-mdx/src/processors/markdown.ts 15.7 kB
packages/eslint-plugin-mdx/src/processors/options.ts 1.8 kB
packages/eslint-plugin-mdx/src/processors/remark.ts 1.9 kB
packages/eslint-plugin-mdx/src/processors/types.ts 606 B
packages/eslint-plugin-mdx/src/rules/index.ts 149 B
packages/eslint-plugin-mdx/src/rules/remark.ts 3.9 kB
packages/eslint-plugin-mdx/src/rules/types.ts 430 B
packages/eslint-plugin-mdx/src/worker.ts 403 B
packages/eslint-plugin-mdx/tsconfig.json 153 B
patches/@1stg+eslint-config+10.2.0.patch 3.2 kB
README.md 13.7 kB
test/__snapshots__/fixtures.test.ts.snap 45.6 kB
test/__snapshots__/parser.test.ts.snap 1.1 MB
test/fixtures.test.ts 3.5 kB
test/fixtures/287.mdx 204 B
test/fixtures/292.mdx 191 B
test/fixtures/334.mdx 70 B
test/fixtures/336.mdx 178 B
test/fixtures/367.mdx 87 B
test/fixtures/371.mdx 75 B
test/fixtures/380.mdx 11.0 kB
test/fixtures/391.mdx 62 B
test/fixtures/429.mdx 52 B
test/fixtures/435.mdx 134 B
test/fixtures/437.mdx 32 B
test/fixtures/445.mdx 188 B
test/fixtures/450.mdx 417 B
test/fixtures/488.mdx 78 B
test/fixtures/576.mdx 159 B
test/fixtures/acorn.mdx 860 B
test/fixtures/adjacent.mdx 50 B
test/fixtures/async/.remarkrc 67 B
test/fixtures/async/test.md 15 B
test/fixtures/basic.mdx 405 B
test/fixtures/basic.tsx 77 B
test/fixtures/blank-lines.mdx 768 B
test/fixtures/code-blocks/278.md 511 B
test/fixtures/code-blocks/455.mdx 95 B
test/fixtures/code-blocks/470.mdx 88 B
test/fixtures/code-blocks/534.mdx 735 B
test/fixtures/comments.mdx 162 B
test/fixtures/custom-remarkrc/my-remarkrc.mjs 276 B
test/fixtures/custom-remarkrc/test.md 15 B
test/fixtures/details.mdx 881 B
test/fixtures/dir.mdx/.gitkeep 0 B
test/fixtures/esm/.remarkrc.mjs 103 B
test/fixtures/esm/test.md 15 B
test/fixtures/jsx-in-list.mdx 810 B
test/fixtures/leading-spaces.mdx 42 B
test/fixtures/markdown.md 5 B
test/fixtures/no-unescaped-entities.mdx 99 B
test/fixtures/no-unused-expressions.mdx 90 B
test/fixtures/processor.mdx 13 B
test/fixtures/remark.md 171 B
test/fixtures/remark.mdx 169 B
test/fixtures/style/.remarkrc 228 B
test/fixtures/style/nested.md 10 B
test/fixtures/style/plugin1.cjs 26 B
test/fixtures/style/plugin2.mjs 24 B
test/fixtures/unicorn.jsx 119 B
test/fixtures/unicorn.mdx 118 B
test/helpers.test.ts 874 B
test/helpers.ts 954 B
test/jest.serializer.cjs 347 B
test/jest.serializer.d.cts 143 B
test/jest.serializer.test.ts 527 B
test/parser.test.ts 4.7 kB
test/remark.test.ts 2.9 kB
tsconfig.base.json 253 B
tsconfig.json 213 B
tsconfig.lib.json 286 B

🤖 This report was automatically generated by pkg-size-action

@JounQin
Copy link
Copy Markdown
Member

JounQin commented Mar 18, 2026

CI is broken, and the test should only run on ESLint 10.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (f717ff2) to head (0c92360).

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #608   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           19        19           
  Lines          273       273           
  Branches        53        52    -1     
=========================================
  Hits           273       273           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@controversial
Copy link
Copy Markdown
Author

controversial commented Mar 18, 2026

Hey @JounQin - I fixed the CI failures (sorry for that) and updated the test to run on ESLint 10 only

However I don’t think the CI actually runs any tests on ESLint 10? The CI workflow only installs a new ESLint version if matrix.eslint < 9, and otherwise it keeps the default (9)

if: ${{ matrix.eslint < 9 }}
run: |
yarn add -D eslint@${{ matrix.eslint }} @types/eslint@9
yarn set resolution eslint-plugin-unicorn-x@npm:eslint-plugin-unicorn@^59.0.1 npm:eslint-plugin-unicorn@^56

@controversial controversial force-pushed the luke/ecmafeatures-jsx branch 2 times, most recently from 0c92360 to 57444a9 Compare March 18, 2026 16:45
@controversial
Copy link
Copy Markdown
Author

controversial commented Mar 18, 2026

I tried updating the CI to run on ESLint 10 in #609 but there are many more unrelated CI failures; many other parts of the testing infrastructure do not support ESLint 10 (eslint-plugin-react crashes, the version of typescript-eslint that’s installed via @1stg/common-config is incompatible, etc)

without ESLint 10 testing infrastructure in this project, it’s not really feasible to add a test for ESLint 10 behavior, unfortunately

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

no-unused-vars error when using eslint-plugin-mdx without eslint-plugin-react.

2 participants