https://gitter.im/eslint/tsc-meetings/archives/2017/12/07
- Teddy Katz (@not-an-aardvark) - TSC
- alberto (@alberto) - TSC
- Kevin Partington (@platinumazure) - TSC
- Kai Cataldo (@kaicataldo) - TSC
- Brandon Mills (@btmills) - TSC
- Ilya Volodin (@ilyavolodin) - TSC
- Gyandeep Singh (@gyandeeps) - TSC
- Toru Nagashima (@mysticatea) - TSC
- TSC Summary: This proposal suggests adding docs.uri/docs.url to meta property of each built-in rule with the link to rule's documentation.
- TSC Question: Do we accept this proposal?
- Q: What happens when docs change between versions?
- A: Versioned links could solve this. How important is that vs how hard is it to implement? Let's leave versioned docs out of this particular change. We can address that later if necessary.
- Q: Do we need to expose rule metadata in CLIEngine? We don't want people to start using the undocumented
cliEngine.linter.getRules()
method. - A: Add a
getRules()
instance method toCLIEngine
. Currently it will pass through to the method on the internallinter
instance. - 👍 from @ilyavolodin, @not-an-aardvark, @mysticatea, @btmills, @kaicataldo, @alberto, @gyandeeps
- 👍 from @platinumazure with reservations about whether
CLIEngine
is the best place to put it.
Resolution: Accept the proposal and add a new getRules
instance method to CLIEngine
.
- TSC Summary
- The purpose of this feature is that it makes people being possible to make custom parsers which can handle experimental/enhancement syntaxes without monkey patching.
- This feature allows custom parsers return
scopeManager
andvisitorKeys
. - The
scopeManager
is aScopeManager
object. Custom parsers can use custom scope analysis for experimental/enhancement syntax (e.g.do
expressions, decorators, type definitions, type references, ...). If a custom parser returnsscopeManager
, ESLint uses it. Otherwise, ESLint analyzes scope by usingeslint-scope
as same as current. - The
visitorKeys
is an object to customize AST traversing. If a custom parser returnsvisitorKeys
, ESLint uses it ineslint-scope
and traversing logic. Otherwise,KEYS
ofeslint-visitor-keys
is used. - To tell custom parsers that ESLint supports
scopeManager
andvisitorKeys
, nowparserOptions
haseslintVisitorKeys:true
andeslintScopeManager:true
as similar torange:true
and something like. - As a side effect, now
SourceCode
class has new propertiesparserServices
,scopeManager
, andvisitorKeys
. Becauselinter.verify
accepts aSourceCode
object as the first argument instead of text and skips parsing.SourceCode
object must have all of the parsing result. - I confirmed that I can implement
babel-eslint
with this feature and without monkey patching: babel/babel-eslint#542 - TSC Question: Should we accept this issue?
- This will need plenty of documentation, preferably with examples.
- 👍 from @not-an-aardvark, @ilyavolodin, @platinumazure, @kaicataldo, @btmills, @alberto, @mysticatea
- @gyandeeps abstains.
Resolution: The proposal is accepted.
- TSC Summary: This is a proposal to change ESLint's behavior when it encounters a file that only contains whitespace. Currently, ESLint ignores whitespace-only files by design. However, this design choice arguably makes things more confusing now due to some changes in ESLint, so this issue proposes removing the special case.
- TSC Question: Should we remove the special case for whitespace-only files?
- @not-an-aardvark: When we discussed this last meeting, we postponed a decision so that we could gather more data about how many rules this would break. I collected some data and posted the results in eslint/eslint#9534 (comment) .
- Q:
eol-last
is the only user-exposed rule that will fail with its default options on empty files. Should we add a special case? - A:
eol-last
's job is to make sure that the last line of content ends in a newline. Warning on empty files is unrelated, so we should add an exception. - Not all possible configs were tested in @not-an-aardvark's analysis. Look into ways to test more configs to find potential crashes. For example,
strict
inglobal
mode will fail for empty files. - 👍 from @mysticatea, @alberto, @gyandeeps, @platinumazure, @not-an-aardvark, @btmills
Resolution: This proposal is accepted as a breaking change.
- TSC Summary:
- Per this article on GitHub Help, it seems that GitHub is flagging issues with the "help wanted" or "good first issue" label for new contributors.
- We're already using "help wanted", and "beginner" seems semantically equivalent. So I'd like to propose changing the label from "beginner" to "good first issue" to take advantage. (Also, as a small side benefit, it avoids any risk that the "beginner" label could seem pejorative to someone who has experience coding but has not contributed to this repository before.)
- TSC Question: Should we do this for the ESLint repo? Should we do this for other repos in the ESLint organization?
- 👍 from @kaicataldo, @platinumazure, @btmills, @mysticatea, @not-an-aardvark, @alberto, @ilyavolodin, @gyandeeps
Resolution: We will rename the "beginner" label to "good first issue".
- TSC Summary:
- eslint-cli is the package which provides CLI command
eslint
which finds local-installed ESLint and runs it. I would like to transfer eslint-cli to eslint organization. - I think that eslint-cli improves eslint/eslint#6732 (comment) with updating "Getting started" page. This transferring would make peace of mind to users as the tool is supported by the eslint team.
- I don't worry about copyrights because all commits of eslint-cli are mine and all dependencies are MIT license.
- TSC Question: Do we accept this proposal?
- @not-an-aardvark is concerted it could cause confusion that both
eslint
andeslint-cli
are both runnable globally but behave differently. - This question has come up many times, and we still don't have a good answer. For now, tabling discussion about moving this functionality into core so we can discuss just moving the project into the organization.
- Tabling discussion until the next meeting due to time.
- @ilyavolodin has a proposal for this and will create a GitHub discussion for it.