d.sunnyone.org
sunnyone.org

ページ

2020-02-12

tslint:disable を eslint-disable にするツールを雑に作った

TSLintからESLintに移行するには、
// tslint:disable-next-line:no-floating-promises
なんかのコメントを、
// eslint-disable-next-line @typescript-eslint/no-floating-promises
なんかに変える必要があるのだけど、ある程度機械的にできるんじゃないかと思って作った。
https://github.com/sunnyone/tslint-comment-to-eslint

使い方

使い方はこんな感じ。直接置き換えるのでgitなりできれいな状態にして実行を。
$ yarn global add tslint-comment-to-eslint
$ tslint-comment-to-eslint 'src/**/*.ts'

仕掛け

仕掛けとしては、tslint-to-eslint-config にMapが入っていたのでrequireして引いてきて、そのMapを使って正規表現置換で変えただけ。だからルール名は変わるけど、ルールの使い方が違っているとアウト(例えばmax-classes-per-fileをdisable-next-lineするには、TSLintだとそれを2回目のclassの行に使うけど、ESLintだと1行目に使う、とか)なので確認は必須。調整前にベースに使えればどうぞ。