[go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge js/ts/jsx into single package #482

Open
antfu opened this issue Jul 29, 2024 · 1 comment
Open

Merge js/ts/jsx into single package #482

antfu opened this issue Jul 29, 2024 · 1 comment

Comments

@antfu
Copy link
Member
antfu commented Jul 29, 2024

#466 (comment)

✅ Stage 1

We can first colocate js and its implementations inside the same package, but keep them as separate files. For example:

|- packages/eslint-plugin/rules
   |- indent
      | indent-js.ts
      | indent-ts.ts
      | indent.ts
      | indent-js.test.ts
      | indent-ts.test.ts

Where we also have package/eslint-plugin-js/indent/indent.ts re-export from package/eslint-plugin/indent/indent-js.ts

We don't touch the content of those files at all, but only the file structure. This way we can move forward and doing releases without changing the runtime implementation at all.

👉 Stage 2

We can then refactor those files under each folder and make sure the ts version passes both js/ts tests. We can start to use the indent-ts to replace the js rules

Stage 3

We merge the implantation of indent-js and indent-ts without touching the tests, where the tests guard us to make sure we don't break the behavior.

Stage 4

Deprecate sub packages, refactoring docs and project structure. Release as v3.0

@antfu
Copy link
Member Author
antfu commented Aug 29, 2024

/cc @9romise now we are reaching stage 2 - feel free to work on that if you are still interested in helping migrate. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant