Skip to content

Commit

Permalink
docs: Add 2024-07-25 meeting notes (#522)
Browse files Browse the repository at this point in the history
* docs: Add 2024-07-25 meeting notes

* Update notes/2024/2024-07-25.md

Co-authored-by: Francesco Trotta <github@fasttime.org>

* Update notes/2024/2024-07-25.md

Co-authored-by: Francesco Trotta <github@fasttime.org>

---------

Co-authored-by: Nicholas C. Zakas <nicholas@humanwhocodes.com>
Co-authored-by: Francesco Trotta <github@fasttime.org>
  • Loading branch information
3 people authored Aug 8, 2024
1 parent da5388a commit 215c2df
Showing 1 changed file with 88 additions and 0 deletions.
88 changes: 88 additions & 0 deletions notes/2024/2024-07-25.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# 2024-07-25 ESLint TSC Meeting Notes

## Transcript

[`2024-07-25-transcript.md`](2024-07-25-transcript.md)

## Attending

- Nicholas C. Zakas (@nzakas) - TSC
- Milos Djermanovic (@mdjermanovic) - TSC
- Francesco Trotta (@fasttime) - TSC

@nzakas moderated, and @sam3k took notes.

## Topics

### Statuses

* **@nzakas:** has been working on `@eslint/json`, `@eslint/markdown`, the new config loading RFC, and started work on the core rewrite RFC (but that will take a while).

* **@mdjermanovic:** finished `eslint-plugin-react` support for ESLint v9, and was mostly reviewing PRs.

* **@fasttime:** finished updating `@types/eslint` to v9 and has been also mostly busy reviewing issues and PRs.


### [feat: merge `rule.meta.defaultOptions` before validation](https://github.com/eslint/eslintrc/pull/166)

The Code Inspector code has been pushed to GitHub and we have a dev version running. There are definitely some rough edges still to sand down.

**Action Items:** @fasttime will do a review as well

### [Change Request: Better support migrating JS config files](https://github.com/eslint/rewrite/issues/64)

**Action Items:** @fasttime will look into this after looking at the Code Inspector PR.

### [feat!: Look Up Config Files From Linted File](https://github.com/eslint/rfcs/pull/120)

Regarding [this comment](https://github.com/eslint/rfcs/pull/120#issuecomment-2251117016) by @mdjermanovic:

> I agree with option 2 as presented in [#120 (comment)](https://github.com/eslint/rfcs/pull/120#issuecomment-2221153450): with that setup, `eslint` should not traverse into `subir`. But, with the same setup, I'm still not sure if `eslint subdir`, and especially `eslint subdir/foo.js` should result in files being ignored (as in the FAQ of this RFC document).
Meeting thread:

> @nzakas: I think the distinction you're making is between explicitly passing the directory/file vs. having it match a pattern, correct?
> @mdjermanovic: Mostly, but it could be with patterns too. `eslintrc`, I believe, starts looking for config files from the pattern "root" (that's part of the pattern that represents a literal path, what `glob-parent` returns). I think ignoring files/directories is the only open question, everything else is pretty clear, so my suggestion is to leave that part of the design for discussing on the implementation
> @nzakas: If we agree that `eslint .` should ignore `subdir`, then that means we need to honor `./eslint.config.js`. And if we honor it, then it seems like we should honor it 100% of the time. The bottom line is that in `eslintrc`, you always get the same result regardless of how you pass the file path on the command line, and I think flat config should do the same. So if `eslint .` ignores `subdir` then so should `eslint subdir` and `eslint subdir/foo.js`. If `eslint .` does not ignore `subdir` then the same should go for `eslint subdir` and `eslint subdir/foo.js`. I don't think mixing and matching makes any sense
> @mdjermanovic: in this [stackblitz](https://stackblitz.com/edit/stackblitz-starters-wjz9em?file=.eslintrc.json,package.json,subdir%2F.eslintrc.json) example `eslint .` doesn't go into `subdir` because of the ignorePattern in the cwd config file, but `eslint subdir` and `eslint subdir/file.js` do lint the file.
> @nzakas: Right, because the lookup behavior is different. It's not a direct map to the new config loader. In eslintrc, the lookup always starts from the file, but that's not true with this RFC. So in eslintrc, `root: true` cuts off the lookup. In this RFC, the lookup first starts from the directory.
> @mdjermanovic: we could make it different (as proposed in the RFC) and see the feedback during the experimental phase, since it will be behind a feature flag
> @nzakas: Just to be clear, by as proposed in the RFC, you mean that the subdirectory is always ignored regardless of how it's passed?
> @mdjermanovic: Yes, except I believe when you run ESLint from that subdirectory. In that case, it won't go up to look for more config files?
> @fasttime: I think we should ignore `subdir` when someone runs `eslint .`, but without a root directory, I don't see how we can enforce the same behavior regardless of the current directory where eslint is run from.
> @nzakas: It's really not about a root directory at all. It's about how far up the directory ancestry we are searching for config files.
**Options Explored:**

* Option 1: `eslint .` checks all the subtree (Problematic for performance reasons)

* Option 2: search all the way up the directory tree for the last (uppermost) `eslint.config.js` that is found. (That's eslintrc all over again)

**Resolution:** we've tabled this for now.

**Action Items:** @nzakas will think about it more and update the RFC.

### RFC Duty Schedule

* Next week: @fasttime
* August 5: @nzakas
* August 12: @fasttime
* August 19: @nzakas

### Scheduled release for July 26th, 2024

**Action Items:**

- @fasttime will release the following:

- `eslint`
- `@eslint/js`

0 comments on commit 215c2df

Please sign in to comment.