# プロジェクト作成 ### Node.js & TypeScript のプロジェクト作成 参考:https://typescript-jp.gitbook.io/deep-dive/nodejs --- - 1 プロジェクトの依存関係設定ファイルであるpackage.jsonをセットアップする。 ``` $ npm init -y ``` - 2 TypeScriptをインストールする。 ``` $ npm install typescript --save-dev ``` - 3 Node.jsのプログラムに必要な型宣言ファイルnode.d.tsをインストールする。 ``` npm install @types/node --save-dev ``` - 4 TypeScriptの設定ファイルtsconfig.jsonを初期化する。 ``` npx tsc --init --rootDir src --outDir lib --esModuleInterop --resolveJsonModule --lib es6,dom --module commonjs ``` - 5 TypeScriptをコンパイルし、Node.jsで実行するためにts-nodeをインストールする。 ``` $ npm install ts-node --save-dev ``` - 6 下記のコマンドで実行 ``` $ npx ts-node ``` ### TypeScript & Jest のプロジェクト作成 参考: [[https://typescript-jp.gitbook.io/deep-dive/intro-1/jest|TypeScript Deep Dive 日本語版 Jest]] [[https://qiita.com/mangano-ito/items/99dedf88d972e7e631b7|TypeScript のテストを Jest (ts-jest) でやってみる - Qiita]] __前提条件__ ソースファイルは「src」、テストファイルは「tests」ディレクトリに置いていること - 1 jest をインストールする。 ``` $ npm install jest @types/jest ts-jest --save-dev ``` - 2 設定ファイルを作成する。プロジェクトルートに jest.config.js ファイルを追加する。 ``` module.exports = { 'roots': [ '/src', '/tests', ], 'testMatch': [ '**/tests/**/?(*.)+(spec|test).+(ts|tsx|js)' ], 'transform': { '^.+\\.(ts|tsx)$': 'ts-jest' }, }; ``` - 3 package.json に以下を記載する。 ``` { "test": "jest" } ``` - 4 以下のコマンドでテストを実行する。 ``` $ npx jest ```