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

Replace TSLint with ESLint #1264

Open
LoicPoullain opened this issue Apr 29, 2024 · 2 comments
Open

Replace TSLint with ESLint #1264

LoicPoullain opened this issue Apr 29, 2024 · 2 comments

Comments

@LoicPoullain
Copy link
Member

LoicPoullain commented Apr 29, 2024

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.
@deepanshu44
Copy link

deepanshu44 commented Sep 20, 2024

Hello @LoicPoullain,
I am interested in contributing to this issue. Does this issue still has a priority?

Quickly glancing over the description, I believe that I should be creating a fork from the master branch?

And the tool that I should be using would be the one mentioned in the second last paragraph of this comment. palantir/tslint#4534 (comment)

tslint-to-eslint-config

@LoicPoullain
Copy link
Member Author

LoicPoullain commented Sep 24, 2024

Hello @deepanshu44

I am interested in contributing to this issue. Does this issue still has a priority?

Yes, you can take this one if you wish!

Quickly glancing over the description, I believe that I should be creating a fork from the master branch?

Yes

And the tool that I should be using would be the one mentioned in the second last paragraph of this comment. palantir/tslint#4534 (comment)

tslint-to-eslint-config

Perhaps. I have never migrated a project from TSLint to ESLint myself. But this has already be done in this PR to migrate the applications generated by createapp form TSLint to ESLint. The TSLint rules that were used by createapp are the same that the ones currently used for the framework linting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: To Do
Development

No branches or pull requests

2 participants