-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
feat: v8 integration branch #9165
Draft
bradzacher
wants to merge
110
commits into
main
Choose a base branch
from
v8
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
+9,547
−50,385
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…#8834) * feat(typescript-estree): remove slow deprecated and isolated programs * Update packages/typescript-estree/src/create-program/createProjectProgram.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com>
#8920) * fix(typescript-estree): add TSEnumBody node for TSEnumDeclaration body * Fixed up tests and their snapshots * More about enums * Indent too * Update packages/ast-spec/src/special/TSEnumBody/spec.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * parent types touchups * Update packages/visitor-keys/src/visitor-keys.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com>
…aint and key (#7065) * feat(typescript-estree): split TSMappedType typeParameter into constraint and key * Aha, refactor to deduplicate - and fix property references * Updated scope-manager snapshots * Fixed snapshots, though not the bug * Remove comment, oops * Switch TSMappedType type visiting to be more manual * Lint fixes * Update packages/scope-manager/src/referencer/TypeVisitor.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * Avoided node.parent as directed --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com>
* feat(eslint-plugin): remove formatting/layout rules * Remove "layout" * feat(typescript-estree): add defaultProject for project service (#8815) * feat(typescript-estree): add defaultProject for project service * Thanks Jake, service.setCompilerOptionsForInferredProjects * Cleaned up a bit and added happy path testing * Update packages/typescript-estree/src/parser-options.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * feat(eslint-plugin): replace `no-new-symbol` with `no-new-native-nonconstructor` (#8895) Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * Add tombstones * 'deprecated' typo * Let's mention both issues * Fix unused variable issue --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com> Co-authored-by: Dave <reduckted@outlook.com>
…onalTests default to true (#8872)
…8832) * feat(eslint-plugin): deprecate no-loss-of-precision extension rule * baseRule.create, nice Kirk
* feat(typescript-estree): remove slow deprecated and isolated programs (#8834) * feat(typescript-estree): remove slow deprecated and isolated programs * Update packages/typescript-estree/src/create-program/createProjectProgram.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * fix(typescript-estree): add TSEnumBody node for TSEnumDeclaration body (#8920) * fix(typescript-estree): add TSEnumBody node for TSEnumDeclaration body * Fixed up tests and their snapshots * More about enums * Indent too * Update packages/ast-spec/src/special/TSEnumBody/spec.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * parent types touchups * Update packages/visitor-keys/src/visitor-keys.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * remove getTypeArguments * one lil ' --------- Co-authored-by: Josh Goldberg ✨ <git@joshuakgoldberg.com> Co-authored-by: Brad Zacher <brad.zacher@gmail.com>
* feat(typescript-estree): remove slow deprecated and isolated programs (#8834) * feat(typescript-estree): remove slow deprecated and isolated programs * Update packages/typescript-estree/src/create-program/createProjectProgram.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * fix(typescript-estree): add TSEnumBody node for TSEnumDeclaration body (#8920) * fix(typescript-estree): add TSEnumBody node for TSEnumDeclaration body * Fixed up tests and their snapshots * More about enums * Indent too * Update packages/ast-spec/src/special/TSEnumBody/spec.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * parent types touchups * Update packages/visitor-keys/src/visitor-keys.ts Co-authored-by: Brad Zacher <brad.zacher@gmail.com> --------- Co-authored-by: Brad Zacher <brad.zacher@gmail.com> * chore(type-utils)!: remove IsNullableTypeOptions interface --------- Co-authored-by: Josh Goldberg ✨ <git@joshuakgoldberg.com> Co-authored-by: Brad Zacher <brad.zacher@gmail.com>
…owAutomaticSingleRunInference (#8922) * feat(typescript-estree): disallowAutomaticSingleRunInference, off (fast) by default * Unnecessary Infinity cache lifetime too * disallowAutomaticSingleRunInference in RuleTester * Add more explicit disallowAutomaticSingleRunInference: true,s * Fixed for parse.test.ts * Fixed persistentParse.test.ts and semanticInfo.test.ts * disallowAutomaticSingleRunInference in docs.test.ts * Reset plugin .shot files * Fix unit tests for Windows * lint
* feat!(parser): always enable comment, loc, range, tokens * fix: tests * Smooth out the Object.assign * test: added some more for parser, why not
…8972) * feat(utils): swap LegacyESLint out for FlatESLint as ESLint export * eslint@v10 comment
…owAutomaticSingleRunInference option (#9013)
* chore: fix v8 branch snapshots for flat-config-types * Check in the rest of them too
docs: remove eslint v9 tracking issue from main readme
remove deprecated context helpers
#9025) * feat(utils): [RuleCreator] require specifying additional rule meta.docs * test fix * Explicit start and end types * Fix lint failures * lil more linting
…d no-empty-interfaces (#8977) * feat(eslint-plugin): split no-empty-object-type rule out from ban-types rule * Mention no-props * Update packages/eslint-plugin/docs/rules/no-empty-object-type.mdx Co-authored-by: Kirk Waiblinger <53019676+kirkwaiblinger@users.noreply.github.com> * Update packages/eslint-plugin/docs/rules/no-empty-object-type.mdx Co-authored-by: Kirk Waiblinger <53019676+kirkwaiblinger@users.noreply.github.com> * Allow in intersections, and touch up docs per suggestions * Update packages/eslint-plugin/docs/rules/no-empty-object-type.mdx Co-authored-by: Joshua Chen <sidachen2003@gmail.com> * Trimming * Update snapshots * Finish removing Record * Correct phrasing on Object * Merge with no-empty-interface * nit the tip * Explicit report message for interfaces * Add in-type-alias-with-name * Switched to more general allowWithName * snapshot -u * snapshot -u * Fixed up unit tests * Update packages/eslint-plugin/docs/rules/no-empty-object-type.mdx Co-authored-by: Kirk Waiblinger <kirk.waiblinger@gmail.com> * docs touchups from Kirk * replacedBy too --------- Co-authored-by: Kirk Waiblinger <53019676+kirkwaiblinger@users.noreply.github.com> Co-authored-by: Joshua Chen <sidachen2003@gmail.com> Co-authored-by: Kirk Waiblinger <kirk.waiblinger@gmail.com>
* feat: support ESLint 9 * Fix some eslint-plugin tests * Re-add v8 and remove unnecessary peerDependencies * Fix no-unused-vars test rule * Updated snapshots * put back tmp@0.2.1 * Fixed linting by disabling plugins temporarily * Update two more integration snapshots for no-unused-vars * Ugh, missing " * Remove legacy rule function form * Fix legacy-config test to actually use legacy config * Revert "Remove legacy rule function form" This reverts commit e053179. * Update ESLint 8/9 RuleCreateFunction comments * Start reverting the local dev changes * Some more reverts * oopsies comment level * yarn test -u the integration tests * regenerate yarn.lock * yarn dedupe, and undo some eslint.config changes * Remove extra node: * Finally revert nodeType changes * one more deprecation fix * Update eslint-plugin schemas snapshot * Annoying tmp version update * Add eslint_v9_tests * Fix yarn.lock
…ent imports (#9339) * fix(eslint-plugin): use ./dist/util path in rules.d.ts * Fix introduced type complaint * test: one more fix for default * Move to copying the types, as we don't publish .d.ts * import from rules, heck yes
#9460) fix: disable `EXPERIMENTAL_useProjectService` in `disabled-type-checked` shared config
…9465) remove duplicate import
* eslint 9 * add compat * add fixup * fixup react * add more fixups * add issue comment * lint and empty types * fix types * remove eslint9 ci test * rename * update no-restricted-imports snapshot * update build script * change quote style * revert renaming * begin migrating config files * migrate markdown to v9 * migrate recommended-does-not-require-program * migrate eslint.config.js * migrate vue-sfc, except for TS errors * remove flatconfig boolean * remove config file option * remove deprecated rules * correct issue * revert style change * add clarifying comment * remove unnecessary suppression * remove unnecessary suppression * remove unused suppression
…FromDefaultLibrary tests (#9520)
* clean up a bit of phrasing in no-wrapper-object-types * directly * pr feedback * touchup * Update packages/eslint-plugin/docs/rules/no-wrapper-object-types.mdx Co-authored-by: Josh Goldberg ✨ <git@joshuakgoldberg.com> * josh goldberg's suggestions * change docs again * Update packages/eslint-plugin/docs/rules/no-wrapper-object-types.mdx Co-authored-by: Josh Goldberg ✨ <git@joshuakgoldberg.com> --------- Co-authored-by: Josh Goldberg ✨ <git@joshuakgoldberg.com>
… default for v8 (#9559)
…eOrValueSpecifier (#9500) * fix(type-utils): [TypeOrValueSpecifier] also check declared modules for package names * Add unit tests to TypeOrValueSpecifier.test.ts * Snapshot update * fix: declare global
* chore(website): correct version to be v8, not latest merged v7 * Correct docusaurus.config.mts * TODOs
…r escaped strings in autofixes (#8688) * fix(eslint-plugin): [no-useless-template-literal] do not render escaped strings in autofixes * escape regular expressions * yarn lint --fix && yarn format * add comments * oops * better escaping! * chore: add comments with explanations and fix tests * test: verify that fixer doesnt change the runtime value of template expression * refactor: move endsWithUnescapedDollarSign out of the loop scope
…including a file (#9584) * fix(typescript-estree): specific error for parserOptions.project not including a file * fix lint * chore: fix website lint
* speed up non-type-aware linting with project service * fix ts error * fix: account for the default project * fix: account for the default project in website * Apply suggestions from code review * chore: formatting --------- Co-authored-by: Victor Lin <victor.lin@airbnb.com> Co-authored-by: Josh Goldberg <git@joshuakgoldberg.com>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
breaking change
This change will require a new major version to be released
DO NOT MERGE
PRs which should not be merged yet
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
BREAKING CHANGE:
Just mentioning as a breaking change so our CI doesn't have a ❌
Visualising the changes from v8
https://typescript-eslint.io/blog/announcing-typescript-eslint-v8-beta
NOTE: this PR is locked to prevent conversations / bug reports / etc.
#v8
discord channel