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

RFC: eslint-config-standard-with-typescript to depart from standard #1957

Open
mightyiam opened this issue Dec 2, 2023 · 19 comments
Open

RFC: eslint-config-standard-with-typescript to depart from standard #1957

mightyiam opened this issue Dec 2, 2023 · 19 comments

Comments

@mightyiam
Copy link
Member

Background

eslint-config-standard-with-typescript (-with-typescript) was first published September 2017. Two years later, August 2019, the repository was transferred into the standard organization. We have enjoyed and appreciate the contributions by various members of the community, yet, I and later @rostislav-simonik and @jay-bulk have been the regular contributors since.

Popularity of -with-typescript has been on the rise since the beginning of 2020, with a significant increase in adoption rate since July 2022, which is about the time the mob was formed.

Policy discrepancy

Standard always had a certain approach with regards to the scope and impact of rules and the frequency of releases. And -with-typescript always had quite a different approach. For example, -with-typescript wasn't shy in making frequent major releases that introduced new rules. The reasoning has been that of continuous delivery, semantic commits/releases and the idea that users would be able to bump the version at their own pace.

Suggested solution

-with-typescript will depart from its dependency on eslint-config-standard and therefore depart from its relationship with Standard. This would permit -with-typescript the freedom to introduce such changes that would currently be incompatible with standard. For example, new core ESLint (non-TypeScript) rule.

Of course, We will continue to welcome asynchronous contributions from outside the regular mob sessions.

Co-authored-by: @rostislav-simonik

@wesleytodd
Copy link

This makes sense to me. As I have been following things lately I have noticed this is the central tension in the project so I am glad to see there is a way everyone can get what they need/want out of it.

@voxpelli
Copy link
Member

I'm 👍 on this, thanks for suggesting 🙏 There are some practicalities to it I guess, so lets sync up on those so that we are all on the same page as to what this would entail.

This is what I'm personally thinking of, from the top of my mind:

  • eslint-config-standard-with-typescript, both npm module and repository, will be transferred to the new organization and use existing names as the new org see fit
  • ts-standard, both npm module and repository, will be given the same treatment (else deprecated as per Deprecate and point to eslint-config-standard-with-typescript ts-standard#291)
  • Currently the VSCode support is given through (standard/vscode-standard)[https://github.com/standard/vscode-standard], if the new organization takes on ts-standard, then maybe it wants to have its own copy of standard/vscode-standard as well? To remove dependency on standard/vscode-standard. If so, then such a transition should be assisted with by standard/vscode-standard I think (Thoughts @LinusU, @theoludwig?)

Any other practicalities I'm missing? Any other modules or npm-packages that would need to be moved?

Also: Would the new org still rely on eslint-config-standard or become a self-contained module which copies the current rules over but after that keeps its own maintenance of those? (I think personally this would give the most freedom to the new org)

@mightyiam
Copy link
Member Author

Also: Would the new org still rely on eslint-config-standard or become a self-contained module which copies the current rules over but after that keeps its own maintenance of those? (I think personally this would give the most freedom to the new org)

The latter.

Otherwise, sounds good.

@mightyiam
Copy link
Member Author

@rostislav-simonik and I would like to implement this RFC (depart eslint-config-standard-with-typescript from @standard). We find it reasonable at this point to announce our intention to implement this RFC after a certain future date: 2024-01-12. DMs will be sent to @feross and @mcollina.

@mcollina
Copy link

mcollina commented Jan 6, 2024

I'm ok with it, +1.

@mightyiam
Copy link
Member Author

@mightyiam
Copy link
Member Author

Could someone please make me owner of the eslint-config-standard-with-typescript npm package? @voxpelli perhaps?

@mightyiam
Copy link
Member Author

My npm username is mightyiam.

@voxpelli
Copy link
Member

I'm not an admin / owner on npm it seems, ping @LinusU, @bcomnes, @feross

@bcomnes
Copy link
Member

bcomnes commented Jan 22, 2024

Sorry for the delay here. Ok I removed the package eslint-config-standard-with-typescript from the standardjs developers team, and mightyiam and rostislav-simonik remain as maintainers.

Does that look right to everyone?

@mightyiam
Copy link
Member Author

@bcomnes thank you. If the 'maintainer' role means full control, then that seems complete. Could you, perhaps do the same for ts-standard?

@bcomnes
Copy link
Member

bcomnes commented Feb 23, 2024

@mightyiam I tried adding you as a maintainer/collaborator on that package on npm but get a forbidden error. As an admin I am unable to invite you back to the org.

@mightyiam
Copy link
Member Author

@feross perhaps you could? @bcomnes could you perhaps ping some who do have permission to do this?

@voxpelli
Copy link
Member

@bcomnes Essentially we should do the same thing with ts-standard as we did with eslint-config-standard-with-typescript and simply give it over to @mightyiam and remove it form the standard organization – on both npm and on GitHub

@bcomnes
Copy link
Member

bcomnes commented Feb 24, 2024

The difference here's that he's no longer on the package as a collaborator, and I'm unable to add outside collaborators as an admin. I think only owners can do this.

@voxpelli
Copy link
Member

@bcomnes a problem on both npm and GitHub or just npm?

@bcomnes
Copy link
Member

bcomnes commented Feb 24, 2024

Npm

@voxpelli
Copy link
Member

@mightyiam Is this still of interest to solve? If so: Reminder @feross. Else we can close this?

@mightyiam
Copy link
Member Author

ts-standard probably belongs together with eslint-config-standard-with-typescript.
I've been making progress there.
So, I would say, yes.

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

No branches or pull requests

5 participants