LoginSignup
100
80

More than 3 years have passed since last update.

Node.js 10,12,14のためのTypeScriptコンパイラ設定(targetとlib)

Last updated at Posted at 2020-06-15

本稿では、Node.jsのバージョンに合ったTypeScriptのコンパイル設定(tsconfig.json)を紹介します。

サーバサイドアプリケーションやCLIアプリケーションをTypeScriptで開発する場合、実行環境としてNode.jsのバージョンを気にすることになります。本稿は、狙ったNode.jsのバージョンに合ったコンパイル設定はどうしたらいいかについて説明するものです。

Node.js 10

tsconfig.json
{
  "compilerOptions": {
    "target": "es2018",
    "lib": ["es2018"]
  }
}

Node.js 10は、ES2018の構文とライブラリの両方を100%サポートしているので、targetlibes2018にする。

Node.js 12

Node.js 12.9未満の場合

tsconfig.json
{
  "compilerOptions": {
    "target": "es2019",
    "lib": [
      "es2019",
      "es2020.bigint",
      "es2020.string",
      "es2020.symbol.wellknown"
    ]
  }
}

Node.js 12.9未満はES2019の構文とライブラリを100%サポートしているので、targetlibes2019で良い。また、ES2020のライブラリも一部もサポートしているので、それらをlibに加えて良い。

Node.js 12.9以降の場合

tsconfig.json
{
  "compilerOptions": {
    "target": "es2019",
    "lib": ["es2020"]
  }
}

Node.js 12.9以降は、ES2019の構文と、ES2020のライブラリをサポートしているので、targetes2019にし、libes2020にする。

Node.js 14

tsconfig.json
{
  "compilerOptions": {
    "target": "es2020",
    "lib": ["es2020"]
  }
}

Node.js 14.0.0からは、ES2020の構文とライブラリの両方を100%サポートしているので、targetlibes2020で良い。

参考: Node.jsのサポート終了日

参考までに、Node.js(LTS)のサポート終了日は以下のとおり:

  • Node.js 8 → すでに終了
  • Node.js 10 → 2021-04-30まで
  • Node.js 12 → 2022-04-30まで
  • Node.js 14 → 2023-04-30まで

合わせて読むといいかも

参考文献


最後までお読みくださりありがとうございました。Twitterでは、Qiitaに書かない技術ネタなどもツイートしているので、よかったらフォローしてもらえると嬉しいです:relieved:Twitter@suin

100
80
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
100
80