Edited at

npmからyarnに移行

More than 1 year has passed since last update.

express-generatorで生成したテンプレートプロジェクトをTypeScript実装に置換の続きです。


npmをyarnに移行する

npmで必要なパッケージをインストールして、スクリプト実行などしていましたが、

yarnの方が早くて、サイズも減るらしいという事だったので、npm からの移行を参考に試しにやってみました。

Angularのgithubとか見ても、公式のパッケージ管理がyarnになっていたので。


npmインストール用の設定ファイル


docker-compose.yml

version: '3'

services:
nginx:
image: nginx:alpine
container_name: nginx
ports:
- "80:80"
volumes:
- "./conf.d:/etc/nginx/conf.d"
links:
- node_express

node_express:
image: node:9.11.1-alpine
container_name: node_express
hostname: node_express
volumes:
- ".:/src"
working_dir: /src
command: >
sh -c
"npm i
&& npm i typings -g
&& npm i -D typescript tslint ts-node nodemon shelljs @types/cookie-parser @types/morgan @types/shelljs --save
&& typings i debug express http-errors
&& npm i jade debug http-errors express cookie-parser morgan path --save
&& npm run-script build
&& npm start"
ports:
- "3000:3000"



yarnインストール用の設定ファイル


docker-compose.yml

version: '3'

services:
nginx:
image: nginx:alpine
container_name: nginx
ports:
- "80:80"
volumes:
- "./conf.d:/etc/nginx/conf.d"
links:
- node_express

node_express:
image: node:9.11.1-alpine
container_name: node_express
hostname: node_express
volumes:
- ".:/src"
working_dir: /src
command: >
sh -c
"yarn global add typings
&& yarn add typescript tslint ts-node@^5.0.1 nodemon shelljs @types/cookie-parser @types/morgan @types/shelljs @types/moment --dev
&& yarn add jade debug http-errors express cookie-parser morgan path
&& typings i debug express http-errors
&& yarn build
&& yarn start"
ports:
- "3000:3000"



package.json


package.json

{

"name": "todo",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "nodemon ./bin/www",
"debug": "nodemon --inspect ./bin/www",
"build": "yarn run build-ts && yarn run copy-static-assets",
"build-ts": "tsc",
"tslint": "tslint -c tslint.json -p tsconfig.json",
"copy-static-assets": "ts-node copyStaticAssets.ts"
},
"dependencies": {
"cookie-parser": "^1.4.3",
"express": "^4.16.3",
"http-errors": "^1.6.3",
"morgan": "^1.9.0",
"path": "^0.12.7"
},
"devDependencies": {
"@types/cookie-parser": "^1.4.1",
"@types/moment": "^2.13.0",
"@types/morgan": "^1.7.35",
"@types/shelljs": "^0.7.8",
"nodemon": "^1.17.3",
"shelljs": "^0.8.1",
"ts-node": "^5.0.1",
"tslint": "^5.9.1",
"typescript": "^2.8.3"
}
}


npmでインストールした結果

ls -ltr | grep node_modules

drwxr-xr-x 273 uwettie staff 9282 Apr 20 16:05 node_modules


yarnでインストールした結果

ls -ltr | grep node_modules

drwxr-xr-x 274 uwettie staff 9316 Apr 20 16:02 node_modules


感想

計測はしていませんが、特に早くなったとは思いませんでした。むしろnpmの方が早い気がした。

そして、yarnでインストールした結果、node_modulesのサイズが増えております。

何がいけなかったんだろう。不思議。。。