Skip to content

Establish a plan for linting moving forward #2116

Closed
@cjihrig

Description

@cjihrig

Describe the bug
This package uses TSLint, which is deprecated. The suggested upgrade path seems to have some issues and complexity. Since there are a number of options for linting, I figured it was worth opening an issue to decide on a direction first.

A few possibilities:

  • Move to ESLint directly. This would have been my choice in previous versions, but the latest ESLint seems more complex and potentially involves adding a number of support modules.
  • Move to an alternative tool. Examples would be things like neostandard, typescript-eslint, biome.

I think no matter which option we pick, we might end up tweaking the lint rules over time if we want to match the TSLint configuration as closely as possible (not sure if that is necessarily a goal though).

Client Version
latest

Server Version
not relevant

To Reproduce
Run npm ci on this repo

Expected behavior
npm ci finishes with no warnings or errors related to this package

Example Code
not relevant

Environment (please complete the following information):
local development

Additional context
Quoting my comment from #2050 regarding migrating away from TSLint:

FWIW, I briefly started looking into this. It's not as simple as I had hoped it would be. TSLint provides an automatic migration to ESLint that preserves many of the current linting settings. However, it seems to migrate to a now outdated version of ESLint, so the generated config has some problems. In turn, ESLint also provides an automatic update migration. Unfortunately, ESLint seems to have gotten a lot more complex in its latest version and requires installing a bunch of additional modules.

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