ESLint + Prettierを導入したTypeScript開発環境
概要
ESLint + Prettier を導入した TypeScript 開発環境の構築方法です。
静的検証を ESLint で行い、フォーマットを Prettier で行います。
エディターは VS Code を使用します。
環境
- Node.js
- npm
- Windows 10
- VS Code
構築方法
package.json の作成
作業ディレクトリに移動し、以下のコマンドでpackage.json
を作成します。
npm init
TypeScript 導入 & 実行
1. TypeScript をインストール
npm install --save typescript
tsconfig.json
ファイルの作成
2. TypeScript のコンパイル設定ファイルであるnpx tsc --init
tsc
は TypeScript のコンパイラです。
3. 実行
TypeScript ファイルをコンパイル&実行してみます。
作業ディレクトリ下に試験用ファイルとして、index.ts
を作成し、以下のソースを書きます。
function outputHello(text: string): void {
console.log(`Hello ${text}!`);
}
const textWorld: string = "World";
outputHello(textWorld);
コンパイルを実行します。
npx tsc index.ts
index.js
が作成されていることを確認します。
function outputHello(text) {
console.log("Hello " + text + "!");
}
var textWorld = "World";
outputHello(textWorld);
index.js
を実行してみます。
node index.js
Hello World!
と返ってきたら OK!
ESLint 導入 & 実行
1. ESLint のインストール
npm install --save-dev eslint
npx eslint --init
コマンドで、対話的に ESLint 構成を作成する
2. npx eslint --init
コマンドを実行し、ESLint の構成ファイルを作成しましょう。
今回は以下の構成で作業を進めていきます。
- スタイルガイドを採用したいので、
How would you like to use ESLint?
はTo check syntax, find problems, and enforce code style
を選択。 -
What type of modules does your project use?
はJavaScript modules (import/export)
を選択。 -
Which framework does your project use?
はNone of these
を選択。 -
Does your project use TypeScript?
はYes
を選択。 -
Where does your code run?
はBrowser
とNode
を選択。 -
How would you like to define a style for your project?
はUse a popular style guide
を選択。 -
Which style guide do you want to follow?
はStandard
を選択。 -
What format do you want your config file to be in?
はJavaScript
を選択。 -
Would you like to install them now with npm?
はYes
を選択し、必要なモジュールをインストール。
.eslintrc.js
が作成されます。
3. 実行
前述したindex.ts
の状態でnpx eslint index.ts
を実行します。
色々とエラーが表示されると思います。
Prettier 導入 & 実行
1. Prettier をインストール
npm install --save-dev prettier eslint-config-prettier
eslint-config-prettier
は ESLint のコードフォーマットに関連するルールを無効化し、バグを検出するルールのみを有効にするプラグインです。
.eslintrc.js
に Prettier の項目を追加する
2. module.exports = {
/* 中略 */
extends: [
/* 中略 */
"prettier", // 追加。他の設定の上書きを行うために、必ず最後に配置する。
],
};
3. 実行
index.ts
にて、文末のセミコロン等を消して、npx prettier --write index.ts
を実行します。
コードがフォーマットされます。
VS Code の設定
拡張機能のインストール
ESLint(dbaeumer.vscode-eslint
)と Prettier(esbenp.prettier-vscode
) の拡張機能をインストールします。
設定
VS Code の.vscode/settings.json
を作成し、ワークスペース用の設定ファイルを作成します。
ファイルの保存時にフォーマットがかかるように設定を追加します。
{
"editor.defaultFormatter": "esbenp.prettier-vscode", // フォーマッターをPrettierにする
"editor.formatOnSave": true // ファイル保存時にフォーマットを実行
}
ファイルのセーブ時にフォーマットが走ることを確認する。
参考文献
Discussion