diff --git a/.gitignore b/.gitignore index 3c3629e..fd4f2b0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ node_modules +.DS_Store diff --git a/notes/2023/2023-08-24.md b/notes/2023/2023-08-24.md new file mode 100644 index 0000000..7f1ae98 --- /dev/null +++ b/notes/2023/2023-08-24.md @@ -0,0 +1,51 @@ +# 2023-08-24 ESLint TSC Meeting Notes + +## Transcript + +[`2023-08-24-transcript.md`](2023-08-24-transcript.md) + +## Attending + +* Nicholas C. Zakas (@nzakas) - TSC +* Milos Djermanovic (@mdjermanovic) - TSC + +@nzakas moderated, and @sam3k took notes. + +## Topics + +### [Allow all directives in line comments](https://github.com/eslint/eslint/issues/14575) + +**TSC Summary:** This accepted proposal is to allow all inline directives in line comments in addition to block comments. When we tried to implement this, the result was fairly disruptive to the ecosystem. This issue has been open for over a year without any progress. + +**TSC Question:** Should we close that as "won't fix" now that we know the result when we tried to do this last? + +**Resolution:** we've agreed to close it as we can't implement the original RFC as it stands. + +### [v9.0.0 Timeline](https://github.com/orgs/eslint/projects/4/views/1) + +| Feature | 👍 | 👎 | 🤷‍♂️ | Notes | +| ------- | -- | -- | - | ----- | +| [Change Request: deprecate `no-new-symbol`, recommend `no-new-native-nonconstructor`](https://github.com/eslint/eslint/issues/17446) | 2 | | | | +| [Remove `SourceCode#getComments()`](https://github.com/eslint/eslint/issues/14744) |2| | | | +|[Change default rule schema to `schema: []` and drop support for function-style rules](https://github.com/eslint/eslint/issues/14709)|2| | | | +| [Change Request: Enable `reportUnusedDisableDirectives` config option by default](https://github.com/eslint/eslint/issues/15466)|2| | | | +| [Bug: `no-restricted-imports` shows an error only on last element when using an array of different importNames and same name](https://github.com/eslint/eslint/issues/15261)|2| | |Needs a design for v9. Marked as planned.| +| [Remove `require-jsdoc` and `valid-jsdoc` (and `doctrine`)](https://github.com/eslint/eslint/issues/15820) | 2 | | |Debating whether to remove just one rule or all JSDoc related rules. @nzakas and @mdjermanovic will follow up. ESLint [deprecation policies](https://eslint.org/docs/latest/use/rule-deprecation) might need to be updated to reflect these changes | +| [Change Request: RuleTester check for parsing errors in suggestion fixes](https://github.com/eslint/eslint/issues/15735) | 2 | | | | +| [Change Request: Stricter rule test validation](https://github.com/eslint/eslint/issues/15104) | 2 | | | | +| [Bug: fix rule schemas](https://github.com/eslint/eslint/issues/16879) | 2 | | | | +| [Change Request: [RuleTester] error if multiple suggestion fixers have the same message](https://github.com/eslint/eslint/issues/16908) | 2 | | | | +| [no-invalid-regexp: Make `allowConstructorFlags` option case sensitive](https://github.com/eslint/eslint/issues/16574) | 2 | | | | +| [feat: `no-restricted-imports` option added `allowImportNames`](https://github.com/eslint/eslint/pull/16196) | 2 | | | Design will be bundled with the design for [#15261](https://github.com/eslint/eslint/issues/15261) | +| [Change Request: stop running rules set to "warn" when `--quiet` is used](https://github.com/eslint/eslint/issues/16450) | 2 | | | RFC has been merged | +| [Rule Change: Update `no-inner-declaration` and remove from `eslint:recommended`](https://github.com/eslint/eslint/issues/15576) | 2 | | | Remove `no-inner-declaration` from `eslint:recommended` and add a new option to `no-inner-declaration`. @mdjermanovic will come up with a concrete proposal. | +| [Remove warnings when linting ignored files](https://github.com/eslint/eslint/issues/15010) | 2 | | | The default value of the `warnIgnored` parameter of `FlatESLint#lintText` needs to be changed before releasing v9.0.0 | +| [[Flat Config] Drop support for string configurations `"eslint:recommended"` and `"eslint:all"`](https://github.com/eslint/eslint/issues/17488) | 2 | | | | +| [Change Request: Deprecate and remove `CodePath#currentSegments`](https://github.com/eslint/eslint/issues/17457) | 1 | | 1 |
@mdjermanovic: will look at the `traverse` branch and try to understand the problem over the weekend
@nzakas: mixing data and state on the same object is blocking any progress here
@mdjermanovic: What's confusing me is that our code path analysis is generally stateful (the tree is updated during the traversal) so I'm not sure if removing only currentSegments would fix the problem
@nzakas: That's true, but currentSegments is the only part that leaks the traversal state through into rules (at least, as best I can tell). What I want to do is have it act more like scope analysis
@mdjermanovic: But I'm not sure that I fully understand the problem yet, so I'll take a look at the code. Scope analysis traverses the code by itself
@nzakas: Right, and it creates a tree that we then reference from within rules via `getScope()`. There isn't a good reason that code path analysis can't do the same thing
@mdjermanovic: With code path analysis, I think the goal was to avoid an extra traversal, though it makes things more complicated and less predictable for rule developers. Since you can't know what's finalized at any moment.
@nzakas: Yeah, and I'm actually not adding an extra traversal with the traverse branch. `SourceCode#traverse()` is doing a traversal with code path analysis and returning that as an array of steps. We are actually already doing that in Linter today, which traverses with code path analysis and then flattens out that path into an array of steps. So I just moved that process from `Linter` into `SourceCode`...The big takeaway I've had so far is that it's modeled like Git branches. That bit of knowledge goes a long way towards understanding things better. | + +### Release + +> @mdjermanovic: I think it's only eslint (including @eslint/js) this time. +> @nzakas There are other packages with release-please issues ready but they are just chores, so we can wait until we have something to actually ship + +**Action Items:** @mdjermanovic will do the release \ No newline at end of file