prettier / prettier-eslint

Code :arrow_right: prettier :arrow_right: eslint --fix :arrow_right: Formatted Code :sparkles:
http://npm.im/prettier-eslint
MIT License
3.96k stars 171 forks source link

[meta] a new OpenCollective home for all `prettier` + `eslint` integration tools #949

Closed JounQin closed 4 months ago

JounQin commented 6 months ago

Hi, all!

I know we've been developing independently all together, but I believe we all are using prettier + eslint together, so there must be some common can be share between us.

So I just created a brand new OpenCollective project Prettier ESLint.

I hope we can reach more targets and make prettier + eslint ecosystem better and better.

You can point a related OpenCollective project accordingly like:

open_collective: prettier-plugin-eslint # or `eslint-plugin-prettier` for example

If you agree, we can share such following Sponsors and Backers table on our project homepage. Of course, feel free to add, remove or sort accordingly to meet your own requirements.

## Sponsors

| @prettier/plugin-eslint                                                                                                                                                        | eslint-config-prettier                                                                                                                                                       | eslint-plugin-prettier                                                                                                                                     | prettier-eslint                                                                                                                                          | prettier-eslint-cli                                                                                                                                                 |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [![@prettier/plugin-eslint Open Collective sponsors](https://opencollective.com/prettier-plugin-eslint/tiers/sponsors.svg)](https://opencollective.com/prettier-plugin-eslint) | [![eslint-config-prettier Open Collective backers](https://opencollective.com/eslint-config-prettier/tiers/sponsors.svg)](https://opencollective.com/eslint-config-prettier) | [![eslint-plugin-prettier Open Collective backers](https://opencollective.com/eslint-plugin-prettier/tiers/sponsors.svg)](https://opencollective.com/rxts) | [![prettier-eslint Open Collective sponsors](https://opencollective.com/prettier-eslint/tiers/sponsors.svg)](https://opencollective.com/prettier-eslint) | [![prettier-eslint-cli Open Collective backers](https://opencollective.com/prettier-eslint-cli/tiers/sponsors.svg)](https://opencollective.com/prettier-eslint-cli) |

## Backers

| @prettier/plugin-eslint                                                                                                                                                      | eslint-config-prettier                                                                                                                                                      | eslint-plugin-prettier                                                                                                                                    | prettier-eslint                                                                                                                                        | prettier-eslint-cli                                                                                                                                                |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [![@prettier/plugin-eslint Open Collective backers](https://opencollective.com/prettier-plugin-eslint/tiers/backers.svg)](https://opencollective.com/prettier-plugin-eslint) | [![eslint-config-prettier Open Collective backers](https://opencollective.com/eslint-config-prettier/tiers/backers.svg)](https://opencollective.com/eslint-config-prettier) | [![eslint-plugin-prettier Open Collective backers](https://opencollective.com/eslint-plugin-prettier/tiers/backers.svg)](https://opencollective.com/rxts) | [![prettier-eslint Open Collective backers](https://opencollective.com/prettier-eslint/tiers/backers.svg)](https://opencollective.com/prettier-eslint) | [![prettier-eslint-cli Open Collective backers](https://opencollective.com/prettier-eslint-cli/tiers/backers.svg)](https://opencollective.com/prettier-eslint-cli) |

Preview:

Sponsors

@prettier/plugin-eslint eslint-config-prettier eslint-plugin-prettier prettier-eslint prettier-eslint-cli
@prettier/plugin-eslint Open Collective sponsors eslint-config-prettier Open Collective backers eslint-plugin-prettier Open Collective backers prettier-eslint Open Collective sponsors prettier-eslint-cli Open Collective backers

Backers

@prettier/plugin-eslint eslint-config-prettier eslint-plugin-prettier prettier-eslint prettier-eslint-cli
@prettier/plugin-eslint Open Collective backers eslint-config-prettier Open Collective backers eslint-plugin-prettier Open Collective backers prettier-eslint Open Collective backers prettier-eslint-cli Open Collective backers

Feel free to give me any feedback, agree or disagree, or just want to exit the new OpenCollective project.

cc @BPScott @zimme @kentcdodds @lydell

lydell commented 6 months ago
  1. What is @prettier/plugin-eslint?
  2. Is it weird to be able to back prettier-eslint and prettier-eslint-cli separately? I would imagine most people use prettier-eslint via the CLI.
  3. What does “reach more targets” mean?
  4. What does “so there must be some common can be share between us” mean? To me, it feels like eslint-config-prettier, eslint-plugin-prettier and prettier-eslint are completely different things. Simplifying a bit, the only thing they have in common is that they all have “eslint” and “prettier” in their names. If you use prettier-eslint, then you don’t use eslint-config-prettier (because you want “conflicting” rules) and you don’t use eslint-plugin-prettier (because prettier-eslint runs both for you). I think many people use both eslint-plugin-prettier and eslint-config-prettier (since it makes sense, and since the recommended config uses both), so I can see a maintainer wanting to work on both. Personally, I only want to be involved with eslint-config-prettier, since it’s the only one “endorsed” by Prettier itself. To me, the Prettier ESLint open collective therefore seems a bit unclear.
  5. I don’t want any funding for the work I do on eslint-config-prettier. However, now that ESLint and some other plugins have deprecated their stylistic rules, I’m not as interested in eslint-config-prettier anymore. If someone else wants to take over maintenance and want funding, I’m fine with that.
JounQin commented 6 months ago

@lydell

Thanks for your response first!

  1. It's a new project https://github.com/prettier/plugin-eslint
  2. prettier-eslint is used by its related VSCode extension with cli, and they're independent for historical reason
  3. Funding and developing
  4. Sure, the projects themselves may be independently developed, but as you said, we share the same brand prettier + eslint, and eslint-plugin-prettier requires eslint-config-prettier as peer. @prettier/plugin-eslint(the name may be changed) aims to be a prettier plugin but runs eslint after default formatting, it could be a replacement of prettier-eslint package itself. In this case, all projects are related with each other more or less in my view.
  5. There're other projects like https://github.com/eslint-stylistic adopting ESLint core stylistic rules, so I think eslint-config-prettier still makes sense, if you're not interested anymore, I can help to maintain it. I'm currently maintaining eslint-plugin-prettier, prettier-eslint, prettier-eslint-cli and working on @prettier/plugin-eslint.
lydell commented 6 months ago

There're other projects like @eslint-stylistic adopting ESLint core stylistic rules, so I think eslint-config-prettier still makes sense

Me too!

if you're not interested anymore

Yeah, now it feels like the config is mostly about disabling stuff in plugins that I don’t use. And I’ve maintained it for 7 years so I’m a bit tired of it.

I can help to maintain it

Feel free to do so! 👍 I’ll be around for questions or help if you need it.

BPScott commented 6 months ago

I'm also not interested in dealing with funding. eslint-plugin-prettier, eslint-config-prettier, prettier-eslint and prettier-eslint-cli are all nice projects in the sense that they have a small and very well defined scope and that doesn't need to change or grow beyond their current states. They're all stable and the only not-negligible feature work is when eslint or prettier release new major versions, which happens about once a year.

Personally I don't feel that level of effort warrants collection of funding. I'd prefer any sponsorship for prettier related things to go towards the core team members that work on the prettier/prettier codebase itself rather than myself, as I feel that ongoing contributions to prettier itself are much more valuable than my sporadic contributions to eslint-plugin-prettier and stylelint-prettier. Being paid for any prettier related work would turn it into an obligation, which would ultimately push me further way from the project - I like my current level of no pay, no obligation, no guilt when I ignore it for a bit.

I feel that projects for specific linter integrations is too niche as I doubt that people would pay to sponsor the slight amounts of work that the projects require.

JounQin commented 6 months ago

@BPScott Thanks for your reply first, also!

I'm also not interested in dealing with funding.

That's pretty OK.

Personally I don't feel that level of effort warrants collection of funding.

I'd a bit against about this. Like https://github.com/idahogurl/vs-code-prettier-eslint/issues/200#issuecomment-1848239183, I believe every contribution deserves award. But as I said before, it's totally fine if yourself don't want to be founded. The funding would make the community more health instead of only relying on several maintainers.

I feel that projects for specific linter integrations is too niche as I doubt that people would pay to sponsor the slight amounts of work that the projects require.

Then this will not harm the community neither.

github-actions[bot] commented 4 months ago

Stale issue