Skip to content
This repository was archived by the owner on Nov 16, 2023. It is now read-only.
This repository was archived by the owner on Nov 16, 2023. It is now read-only.

Investigating ESLint migration #300

@43081j

Description

@43081j

Hello 👋

Recently, out of interest, I made a branch of dtslint which drops tslint entirely and uses ESLint instead.

TSLint has been obsolete for a very long time, and deprecated for quite some time too. It would be good to move towards removing it IMO, is that something you're interested in?

I'm happy to continue my branch if that's the case, but it would be very nice to have some help converting the individual rules as there are many and I haven't touched this repo before.

Couple of notes from what I've found so far:

  • dts-critic returns a diagnostic which has a position of {start, length} which is aligned with TSLint but not ESLint. In ESLint we need a {column, line} or a Node
  • Rules can be converted easily if you understand their logic already, this is where I am slow since I have to first understand each rule's intention and what it does
  • We used to interact with the typescript api directly, but it seems this might go away as you can simply rely on ESLint to have already parsed/processed the AST instead
  • For those rules that need type information, if any, we can use typescript-eslint's additional types/helpers

If you're interested in seeing my branch, i could make a draft PR which doesn't yet build and leave comments where I'm unsure what to do (usually vague types that were previously any or inferred).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions