Help us understand the problem. What is going on with this article?

awesome-typescript-loaderはもう使わないようにしよう、その理由

どうも、sakitoです。

いまだにawesome-typescript-loaderを使用している人をちらほら見かけるので、その人たちへもう使わないほうがいいという説明の投稿です。

* この記事ではTypeScriptのドキュメントに合わせトランスパイルの言葉は使用せず、コンパイルに統一しています。

awesome-typescript-loaderはもう使わない

早速なのですが、awesome-typescript-loaderはもう使用しない方が良いです。
簡単な理由としては、awesome-typescript-loaderのGitHubを見ると分かるのですが、更新が3~5ヶ月程止まっているからです。
webpackやTypeScriptの更新にもう追いついていません。

IssueではTypescript 2.9-rcで動かない報告やwebpack 4 supportの報告があり、今だに閉じられていません。
実際に私の環境ではTypeScript v3.2のコンパイルができず、エラーで止まってしまいました。

webpack v4のバージョンにあげるとコンパイル速度が著しく悪くなったと言う報告も複数上がっています。
おまけに作者の返答もありません。

TypeScript公式のReact&webpackのhandbookに記載があるが?

現在多くの人が目にするTypeScript公式のReact&webpackのhandbookでは、awesome-typescript-loaderが推奨されており、ここを目にした人がawesome-typescript-loaderを使用していると思います。
しかし、現在handbookのPRにawesome-typescript-loaderからts-loaderに置き換える修正が出ています(紛らわしいので早くマージされてほしい)。
* 2019/8/16 こちらマージされました!handbookの活動が再開したようです!

更新されなくなったのはなぜなのか推測

もともとawesome-typescript-loaderは作者が、ts-loaderを高速化する目的に開発をしたものだと記載があります。
ここからは推測なのですが、ts-loaderが改良を重ね、様々な手法を用いることでコンパイル速度が早くなり、awesome-typescript-loaderよりもコンパイル速度が上がり、不要になったのでメンテが止まったのかもしれません。

最後に

awesome-typescript-loaderをいまだに使用している人は、コンパイルがとても遅いと思います。
現在webpack v4でawesome-typescript-loaderを使用している方は、別の方法に変更するだけで、コンパイル速度があがる可能性もあります。
いずれにしろ、今後TypeScriptやwebpackのバージョンがあがるとバグに突き当たるので、awesome-typescript-loaderを使用するのは控えましょう。

awesome-typescript-loaderを使用しているPJにこの投稿を見せれば移行を説得する材料になるかと思います。ぜひ使ってください。

次はts-loaderと@babel/preset-typescriptについて書こうと思います。

__sakito__
フロントエンジニアしてます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした