Skip to content

Replace TSLint with ESLint #1264

@LoicPoullain

Description

@LoicPoullain

Issue

TSLint is (unfortunately) no longer maintained and framework linting should be migrated to ESLint.

This was done four years ago in this PR for projects generated with Foal. This means that, when executing the createapp command, new projects generated with this command use ESLint.

But the framework monorepo itself has not yet been migrated to ESLint. This is a technical debt that should be resolved.

Guidelines

  • If this PR, which updates the way dependencies are managed in monorepo, has not yet been merged, the new branch should be created from v4-5-0. Otherwise, it should be created from master. Not only will this facilitate the migration to ESLint, it will also avoid the need for additional work later on to manage ESLint dependencies with the new dependency system.
  • Migration to ESLint should not change the style of the framework code (we don't want thousands of line changes to commit). A lot of work had been done at the time in this PR to make ESLint rules consistent with TSLint rules. There's probably a lot to be learned from this PR.
  • When opening the framework repository with VSCode with the ESLint plugin enabled, VSCode should correctly highlight ESLint errors and correct them when saving (if the plugin is configurer to do so).

Notes

  • There might be useful information here.
  • The files packages/cli/src/generate/specs/app/.eslintrc.js and packages/cli/src/generate/templates/app/.eslintrc.js used by foal createapp to generate new projects may cause problems.

Metadata

Metadata

Assignees

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions