mdx-js / eslint-mdx

ESLint Parser/Plugin for MDX
https://npmjs.org/eslint-plugin-mdx
MIT License
258 stars 29 forks source link

feat!: bump all `unified` ecosystem dependencies, support mdx v3 #486

Closed JounQin closed 7 months ago

JounQin commented 7 months ago

close #480, close #481


The patches are created due to the package manager issue, see also https://github.com/conventional-changelog/commitlint/issues/3642#issuecomment-1678583910

changeset-bot[bot] commented 7 months ago

🦋 Changeset detected

Latest commit: 289ad71ea2a6171d14a7fa4b2af081271f87be40

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

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

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[bot] commented 7 months ago

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[bot] commented 7 months ago

📊 Package size report   No changes

File Before After
Total (Includes all files) 1.3 MB 1.3 MB
Tarball size 131.6 kB 131.6 kB
Unchanged files | File | Size | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------: | | [`.babelrc`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.babelrc) | `35 B` | | [`.changeset/config.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.changeset/config.json) | `372 B` | | [`.changeset/README.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.changeset/README.md) | `510 B` | | [`.codesandbox/ci.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.codesandbox/ci.json) | `76 B` | | [`.editorconfig`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.editorconfig) | `161 B` | | [`.eslintrc.js`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.eslintrc.js) | `591 B` | | [`.gitattributes`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.gitattributes) | `35 B` | | [`.github/FUNDING.yml`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.github/FUNDING.yml) | `204 B` | | [`.github/workflows/ci.yml`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.github/workflows/ci.yml) | `941 B` | | [`.github/workflows/codeql.yml`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.github/workflows/codeql.yml) | `836 B` | | [`.github/workflows/pkg-size.yml`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.github/workflows/pkg-size.yml) | `496 B` | | [`.github/workflows/release.yml`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.github/workflows/release.yml) | `914 B` | | [`.lintstagedrc.js`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.lintstagedrc.js) | `50 B` | | [`.simple-git-hooks.js`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/.simple-git-hooks.js) | `51 B` | | [`CHANGELOG.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/CHANGELOG.md) | `283 B` | | [`CONTRIBUTING.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/CONTRIBUTING.md) | `931 B` | | [`LICENSE`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/LICENSE) | `1.1 kB` | | [`package.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/package.json) | `2.5 kB` | | [`packages/eslint-mdx/CHANGELOG.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/CHANGELOG.md) | `22.9 kB` | | [`packages/eslint-mdx/package.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/package.json) | `1.2 kB` | | [`packages/eslint-mdx/README.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/README.md) | `10.4 kB` | | [`packages/eslint-mdx/shim.d.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/shim.d.ts) | `1.4 kB` | | [`packages/eslint-mdx/src/helpers.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/src/helpers.ts) | `4.3 kB` | | [`packages/eslint-mdx/src/index.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/src/index.ts) | `121 B` | | [`packages/eslint-mdx/src/meta.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/src/meta.ts) | `182 B` | | [`packages/eslint-mdx/src/parser.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/src/parser.ts) | `2.3 kB` | | [`packages/eslint-mdx/src/sync.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/src/sync.ts) | `384 B` | | [`packages/eslint-mdx/src/tokens.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/src/tokens.ts) | `6.7 kB` | | [`packages/eslint-mdx/src/types.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/src/types.ts) | `1.0 kB` | | [`packages/eslint-mdx/src/worker.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/src/worker.ts) | `21.0 kB` | | [`packages/eslint-mdx/tsconfig.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-mdx/tsconfig.json) | `131 B` | | [`packages/eslint-plugin-mdx/CHANGELOG.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/CHANGELOG.md) | `24.4 kB` | | [`packages/eslint-plugin-mdx/package.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/package.json) | `1.0 kB` | | [`packages/eslint-plugin-mdx/README.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/README.md) | `10.4 kB` | | [`packages/eslint-plugin-mdx/src/configs/base.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/configs/base.ts) | `305 B` | | [`packages/eslint-plugin-mdx/src/configs/code-blocks.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/configs/code-blocks.ts) | `1.0 kB` | | [`packages/eslint-plugin-mdx/src/configs/flat.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/configs/flat.ts) | `705 B` | | [`packages/eslint-plugin-mdx/src/configs/index.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/configs/index.ts) | `439 B` | | [`packages/eslint-plugin-mdx/src/configs/overrides.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/configs/overrides.ts) | `725 B` | | [`packages/eslint-plugin-mdx/src/configs/recommended.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/configs/recommended.ts) | `806 B` | | [`packages/eslint-plugin-mdx/src/helpers.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/helpers.ts) | `620 B` | | [`packages/eslint-plugin-mdx/src/index.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/index.ts) | `128 B` | | [`packages/eslint-plugin-mdx/src/meta.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/meta.ts) | `182 B` | | [`packages/eslint-plugin-mdx/src/processors/helpers.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/processors/helpers.ts) | `633 B` | | [`packages/eslint-plugin-mdx/src/processors/index.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/processors/index.ts) | `198 B` | | [`packages/eslint-plugin-mdx/src/processors/options.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/processors/options.ts) | `1.8 kB` | | [`packages/eslint-plugin-mdx/src/processors/remark.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/processors/remark.ts) | `1.9 kB` | | [`packages/eslint-plugin-mdx/src/processors/types.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/processors/types.ts) | `241 B` | | [`packages/eslint-plugin-mdx/src/rules/.eslintrc`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/rules/.eslintrc) | `124 B` | | [`packages/eslint-plugin-mdx/src/rules/index.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/rules/index.ts) | `138 B` | | [`packages/eslint-plugin-mdx/src/rules/remark.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/rules/remark.ts) | `3.5 kB` | | [`packages/eslint-plugin-mdx/src/rules/types.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/src/rules/types.ts) | `415 B` | | [`packages/eslint-plugin-mdx/tsconfig.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/packages/eslint-plugin-mdx/tsconfig.json) | `131 B` | | [`README.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/README.md) | `10.4 kB` | | [`test/__snapshots__/fixtures.test.ts.snap`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/__snapshots__/fixtures.test.ts.snap) | `32.6 kB` | | [`test/__snapshots__/flat-config.test.ts.snap`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/__snapshots__/flat-config.test.ts.snap) | `823 B` | | [`test/__snapshots__/parser.test.ts.snap`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/__snapshots__/parser.test.ts.snap) | `1.1 MB` | | [`test/fixtures.test.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures.test.ts) | `1.8 kB` | | [`test/fixtures/287.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/287.mdx) | `204 B` | | [`test/fixtures/292.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/292.mdx) | `191 B` | | [`test/fixtures/334.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/334.mdx) | `70 B` | | [`test/fixtures/336.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/336.mdx) | `178 B` | | [`test/fixtures/367.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/367.mdx) | `87 B` | | [`test/fixtures/371.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/371.mdx) | `75 B` | | [`test/fixtures/380.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/380.mdx) | `11.0 kB` | | [`test/fixtures/391.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/391.mdx) | `62 B` | | [`test/fixtures/429.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/429.mdx) | `52 B` | | [`test/fixtures/435.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/435.mdx) | `134 B` | | [`test/fixtures/445.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/445.mdx) | `188 B` | | [`test/fixtures/450.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/450.mdx) | `418 B` | | [`test/fixtures/acorn.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/acorn.mdx) | `860 B` | | [`test/fixtures/adjacent.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/adjacent.mdx) | `50 B` | | [`test/fixtures/async/.remarkrc`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/async/.remarkrc) | `67 B` | | [`test/fixtures/async/test.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/async/test.md) | `15 B` | | [`test/fixtures/basic.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/basic.mdx) | `405 B` | | [`test/fixtures/basic.tsx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/basic.tsx) | `77 B` | | [`test/fixtures/blank-lines.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/blank-lines.mdx) | `768 B` | | [`test/fixtures/code-blocks.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/code-blocks.md) | `511 B` | | [`test/fixtures/comments.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/comments.mdx) | `162 B` | | [`test/fixtures/details.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/details.mdx) | `881 B` | | [`test/fixtures/dir.mdx/.gitkeep`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/dir.mdx/.gitkeep) | `0 B` | | [`test/fixtures/esm/.remarkrc.mjs`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/esm/.remarkrc.mjs) | `103 B` | | [`test/fixtures/esm/test.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/esm/test.md) | `15 B` | | [`test/fixtures/flat-config/code-blocks.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/flat-config/code-blocks.mdx) | `76 B` | | [`test/fixtures/jsx-in-list.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/jsx-in-list.mdx) | `810 B` | | [`test/fixtures/leading-spaces.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/leading-spaces.mdx) | `42 B` | | [`test/fixtures/markdown.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/markdown.md) | `5 B` | | [`test/fixtures/no-unescaped-entities.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/no-unescaped-entities.mdx) | `99 B` | | [`test/fixtures/no-unused-expressions.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/no-unused-expressions.mdx) | `90 B` | | [`test/fixtures/processor.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/processor.mdx) | `13 B` | | [`test/fixtures/remark.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/remark.md) | `171 B` | | [`test/fixtures/remark.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/remark.mdx) | `169 B` | | [`test/fixtures/style/.remarkrc`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/style/.remarkrc) | `228 B` | | [`test/fixtures/style/nested.md`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/style/nested.md) | `10 B` | | [`test/fixtures/style/plugin1.cjs`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/style/plugin1.cjs) | `26 B` | | [`test/fixtures/style/plugin2.mjs`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/style/plugin2.mjs) | `24 B` | | [`test/fixtures/unicorn.jsx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/unicorn.jsx) | `119 B` | | [`test/fixtures/unicorn.mdx`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/fixtures/unicorn.mdx) | `118 B` | | [`test/flat-config.test.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/flat-config.test.ts) | `1.0 kB` | | [`test/helpers.test.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/helpers.test.ts) | `874 B` | | [`test/helpers.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/helpers.ts) | `548 B` | | [`test/parser.test.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/parser.test.ts) | `4.0 kB` | | [`test/remark.test.ts`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/test/remark.test.ts) | `2.8 kB` | | [`tsconfig.base.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/tsconfig.base.json) | `235 B` | | [`tsconfig.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/tsconfig.json) | `309 B` | | [`tsconfig.lib.json`](https://github.com/mdx-js/eslint-mdx/blob/feat/mdx_v3/tsconfig.lib.json) | `180 B` |

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

codecov-commenter commented 7 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (7ca1ffe) 100.00% compared to head (289ad71) 100.00%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #486 +/- ## ========================================= Coverage 100.00% 100.00% ========================================= Files 19 19 Lines 188 190 +2 Branches 32 33 +1 ========================================= + Hits 188 190 +2 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

JounQin commented 7 months ago

Good to review? @wooorm @ChristianMurphy

JounQin commented 7 months ago

@wooorm So we'll have to wait remark-lint upgrading first?

wooorm commented 7 months ago

This is an independent project, so it could update, right? Like all the other projects?

And, other than TypeScript, things still work? Have you tried if it actually works?

JounQin commented 7 months ago

@wooorm remark-lint is not working as expected because the plugins are not upgraded yet.

wooorm commented 7 months ago

Can you please clarify what doesn’t work? In my experience, almost all things do work. Perhaps with a @ts-expect-error.

JounQin commented 7 months ago

https://github.com/mdx-js/eslint-mdx/pull/486#discussion_r1412248980

I'm not so sure what is the root cause, remark-lint or eslint-plugin-markdown, but I've been trying to align the unified version used in eslint-plugin-markdown.

wooorm commented 7 months ago

You link to a line of code. I don‘t see what the bug is. Could you please tell me how to reproduce this? What is the actual output, and what is the output you want?

JounQin commented 7 months ago

@wooorm

image

The code blocks fix properties are removed unexpectedly.

I think it should be related to https://github.com/eslint/eslint-plugin-markdown/issues/218 which would be fixed by https://github.com/eslint/eslint-plugin-markdown/pull/229 I'll use eslint-plugin-markdown@JounQin/eslint-plugin-markdown#feat/bump to test my fixing PR.

OK, I tried, and it does not work.

wooorm commented 7 months ago

I don’t know how to help you. remark-lint doesn’t generate fix properties. I don’t see that test case using remark-lint.

JounQin commented 7 months ago

@wooorm

mdx/remark ESLint rule is using remark processor inside to lint markdown syntaxes.

https://github.com/mdx-js/eslint-mdx/blob/7ca1ffed11d1eecce5aeee0c59fde9d0ac799aca/packages/eslint-plugin-mdx/src/rules/remark.ts#L53

https://github.com/mdx-js/eslint-mdx/blob/7ca1ffed11d1eecce5aeee0c59fde9d0ac799aca/packages/eslint-mdx/src/worker.ts#L222


I think we can merge as-is, and just wait remark-lint plugins upgrade later.

wooorm commented 7 months ago

But why not the other way around? What is the error? It should work.

But, feel free to wait though, maybe say 2 weeks? I don’t have much time to work on oss right now

JounQin commented 7 months ago

But why not the other way around? What is the error? It should work.

unified in remark-lint are old but I'm using resolutions to force using the latest unified packages for all dependencies, I think it's the root cause.

I'm going to merge this PR after upgrading unified-engine to remove related patch file.