[npm] Lerna 筆記
TL;DR
# 初始化專案
lerna init
# 建立專案中的 packages
lerna create @pjchender/foo -y
# 進版
lerna version
# 會針對所有 packages
lerna run lint --stream --concurrency 1 # 一次只執行一個
lerna run test --stream # 一有 log 就顯示
lerna run build --parallel # 一有 log 就顯示且不管 concurrency 和 sort 的設定
lerna run watch --parallel
# 針對單一 package
lerna run --scope packages/foo build
lerna add --dev uuid packages/foo # 安裝套件到某一個 package 內
CLI
這裡的 packages 指的是 workspaces 內正在開發的專案:
$ lerna list # 列出所有 workspaces 中的 packages,alias: ls
$ lerna add <pkg> [globs...] # 將該套件安裝到符合 globs 的所有 packages 中
$ lerna link # 將所有相關連 packages link 在一起
$ lerna bootstrap # 將所有 packages link 在一起,並安裝對應的 dependencies
$ lerna clean # 清除所有 packages 中的 node_modules 資料夾
$ lerna run <script> # 在所有 packages 中,執行有該 script 的指令
$ lerna exec [cmd] [args...] # 在所有 packages 中執行該指令
建立 workspaces 中的 packages
lerna create <name>