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

🚀 Feature: Use typescript-eslint's project service parser option #1211

Closed
3 tasks done
JoshuaKGoldberg opened this issue Jan 9, 2024 · 1 comment · Fixed by #1466
Closed
3 tasks done

🚀 Feature: Use typescript-eslint's project service parser option #1211

JoshuaKGoldberg opened this issue Jan 9, 2024 · 1 comment · Fixed by #1466
Assignees
Labels
status: blocked Waiting for something else to be resolved type: feature New enhancement or request

Comments

@JoshuaKGoldberg
Copy link
Owner

JoshuaKGoldberg commented Jan 9, 2024

Bug Report Checklist

  • I have tried restarting my IDE and the issue persists.
  • I have pulled the latest main branch of the repository.
  • I have searched for related issues and found none that matched my issue.

Overview

https://typescript-eslint.io/blog/parser-options-project-true#project-services. It's currently called parserOptions.EXPERIMENTAL_useProjectService but we're planning on renaming it to something like parserOptions.projectService in v7 v8.

Using this new feature means we won't need a separate tsconfig.eslint.json anymore. That'd be lovely.

Additional Info

Marking this as blocked on using a typescript-eslint version with that option as stable (i.e. typescript-eslint v7). I don't want to ship an option flag with a bit "EXPERIMENTAL" in its name in a general-use template. That's a bad look for TypeScript tooling. And, you know, it's still experimental.

@JoshuaKGoldberg JoshuaKGoldberg added type: feature New enhancement or request status: blocked Waiting for something else to be resolved labels Jan 9, 2024
@JoshuaKGoldberg JoshuaKGoldberg self-assigned this Apr 15, 2024
JoshuaKGoldberg added a commit that referenced this issue Apr 15, 2024
## PR Checklist

- [x] Addresses an existing open issue: in preparation of #1211 
- [x] That issue was marked as [`status: accepting
prs`](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in
[CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CONTRIBUTING.md)
were taken

## Overview

Bumps `@typescript-eslint/*` to `^7.7.0` to bring in changes to
`restrict-template-expressions` before I enable the new
`allowDefaultProjectForFiles`.

Apparently also dedupes some related packages, which is nice!
JoshuaKGoldberg added a commit that referenced this issue Apr 15, 2024
## PR Checklist

- [x] Addresses an existing open issue: fixes #1211
- [x] That issue was marked as [`status: accepting
prs`](https://github.com/JoshuaKGoldberg/create-typescript-app/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22)
- [x] Steps in
[CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/create-typescript-app/blob/main/.github/CONTRIBUTING.md)
were taken

## Overview

Unifies `*.js` and `*.ts` linting with the experimental project service
option. Hooray!

In doing so, I found it easier to lint the `script/*.js` files by
switching them to `.ts`.

This also removes the nice `--no-dts` optimization for `pnpm build`.
Linting files like `bin/index.js` now has types, and `lib/*` needs those
`.d.ts `generated.
Copy link

🎉 This is included in version v1.59.0 🎉

The release is available on:

Cheers! 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: blocked Waiting for something else to be resolved type: feature New enhancement or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant