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

Roadmap Brainstorming #13482

Closed
nzakas opened this issue Jul 10, 2020 · 6 comments
Closed

Roadmap Brainstorming #13482

nzakas opened this issue Jul 10, 2020 · 6 comments
Assignees
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion chore This change is not user-facing

Comments

@nzakas
Copy link
Member

nzakas commented Jul 10, 2020

One of the things we agreed to do is try to set a roadmap for the next 12 months or so. So far it seems like we have the following on our roadmap:

  1. Simple Config (est: 6 months, lead: @nzakas) Config File Simplification rfcs#9
  2. Google Season of Docs (est: 3 months, lead: @kaicataldo )
  3. Parallel linting (est: TBD, lead: TBD)
  4. Website redesign (est: TBD, lead: @nzakas/@kaicataldo)

Questions for the team:

  1. What else should be added that we can reasonably expect to conclude in the next 12 months?
  2. Which of the TBDs are you interested in leading? (we probably only have the bandwidth for two large projects per TSC member in the next 12 months)

The goal is to be able to formalize and publish a roadmap both as a way to prioritize our work and to communicate where we see the project heading.

As this is a brainstorming issue, there are no "bad" ideas! Put them all in this issue and once we have a complete list we can discuss which we want to pursue and which we don't.

Note: This issue is locked so that only team members can participate. This is to keep the conversation focused while being transparent with the community. If you have other roadmap requests, please open an issue and we can consider adding it.

@nzakas nzakas added accepted There is consensus among the team that this change meets the criteria for inclusion chore This change is not user-facing labels Jul 10, 2020
@nzakas nzakas self-assigned this Jul 10, 2020
@eslint eslint locked and limited conversation to collaborators Jul 10, 2020
@btmills
Copy link
Member

btmills commented Jul 10, 2020

  1. What else should be added that we can reasonably expect to conclude in the next 12 months?
  • There's a discussion in Discord about implementing an LSP server for ESLint that could be shared by lighter-weight editor integrations. Not sure where on the list of priorities that might sit.
  • One potential blocker brought up in two of our existing parallel linting RFCs (RFC11 and RFC42) is plugins like import and typescript that need to build up a file map, so it might be helpful to solve that separately first.
  • Depending on what comes out of GSoD, the configuration and developer docs could use a refactor. Maybe that's part of the website redesign's scope, or maybe it's its own thing.

2. Which of the TBDs are you interested in leading?

  • I'm intrigued by parallel linting, though @mysticatea has first dibs on that by virtue of having written one of the RFCs.
  • Configuration and/or developer doc refactor.

@anikethsaha
Copy link
Member

  1. What else should be added that we can reasonably expect to conclude in the next 12 months?

I think extracting the logic from the core to packages under @eslint can be a good addition as monorepo.
There could be some disadvantages as maintainability cost, syncing, versioning, etc.
But advantages can be that independent packages can be helpful. useful for the ecosystem as they don't have to use the whole eslint in order to use a few API (though bundle sizes can be reduced with further optimization).

Motivation eslint/rfcs#58 (review) , eslint/rfcs#58 (comment), eslint/rfcs#58 (comment)

@mysticatea
Copy link
Member

  1. What else should be added that we can reasonably expect to conclude in the next 12 months?
  • Native ES modules support (only since Node.js 14.0.0). This means two stuff: (1) ESLint can load .eslintrc.js/eslint.config.js under ES modules project. (2) ESLint can load eslint-plugin-*, eslint-config-*, and custom parsers that are written with native ES modules. Especially, it's useful if ESLint can load .eslintrc.js/eslint.config.js even if package.json has {"type": "module"}.
  • Start/end hooks for plugins and parsers. It has been mentioned in RFC42 (parallel linting), but I think that we should discuss this feature as separated from parallel linting.
  • New syntax support. We have been doing this always, but should the roadmap mention it? (maybe Numeric Separators and Logical Assignment get Stage 4 in this month.)
  • Process of releasing experimental features. We have several big features under discussion. Maybe it's useful if we define the releasing process of experimental features to collect feedback.
  1. Which of the TBDs are you interested in leading?
  • I'm interested in parallel linting. I have a prototype and confirmed the prototype makes linting faster on several projects (that are using import/TypeScript plugins). RFC42 is stuck about if it should include hooks API or not, but I hope to advance RFC42 without hooks.
  • I'm interested in native ES modules support. This was one of the reasons that I proposed RFC40.
  • I'm interested in new syntax support. Since ES2016, I have worked on this mainly.

@nzakas
Copy link
Member Author

nzakas commented Jul 14, 2020

To make things easier, please list your top-5 roadmap items based on interest (understanding that likely you will only get to two of them in the next year). I want to make sure we are creating a roadmap that is achievable and not just a wish list of things we'd like to do at some point in the future. :)

@nzakas nzakas added the tsc agenda This issue will be discussed by ESLint's TSC at the next meeting label Aug 10, 2020
@nzakas
Copy link
Member Author

nzakas commented Aug 10, 2020

TSC Summary: This issue was used for brainstorming roadmap features going forward. It seems that the ones we can agree on doing are:

I think that ESM support will come as part of simple config, so I don't think we need to specify that manually.

TSC Question: Given that we don't have RFCs for other ideas in this thread, can we publish the four items as our official roadmap and then add to it whenever we have an approved RFC with a team member dedicated to implementing it?

@btmills btmills removed the tsc agenda This issue will be discussed by ESLint's TSC at the next meeting label Aug 13, 2020
@nzakas
Copy link
Member Author

nzakas commented Nov 27, 2020

Closing, as we now have our public roadmap.

@nzakas nzakas closed this as completed Nov 27, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accepted There is consensus among the team that this change meets the criteria for inclusion chore This change is not user-facing
Projects
None yet
Development

No branches or pull requests

4 participants