Open5

Lernaでモノレポパッケージのバージョンを上げる

ゆうてんゆうてん

タグの理解

lerna publish --dist-tag next

のようにすると next というタグでパブリッシュできる。

タグは

yarn add <package-name>@next

のように @ のあとにつけることによってタグがついたバージョンをインストールできる。

package.json

{
  "dependencies": {
    "<package-name>": "next"
  }
}

と書くこともできる。

デフォルトのタグは latest

lerna publish
# や
npm publish

したときにもタグは暗黙についていて latest がそのタグにあたる。

ゆうてんゆうてん

カスタムプレリリースと --preid オプション

v2.0.0-alphav2.0.0-betav2.0.0-devv2.0.0-rc などしたいときは --preid オプションを指定する。

現在が v2.0.0-alpha だったとして

lerna publish --preid beta

をすると、次のような候補になる

❯ Patch (2.0.0) 
  Minor (2.0.0) 
  Major (2.0.0) 
  Prepatch (2.0.1-alpha) 
  Preminor (2.1.0-alpha) 
  Premajor (3.0.0-alpha) 
  Custom Prerelease 
  Custom Version 

プレリリースバージョンのインクリメント

現在が v2.0.0-alpha.0 の場合に、 v2.0.0-alpha.1 にインクリメントしたい場合、

  1. --preid オプションをつけない
  2. バージョン選択で「Custom Prerelease」を選択する
ゆうてんゆうてん

大量にプッシュされるGitのタグを削除する

タグをつけない

--no-git-tag-version オプションを使えば避けれる。

タグの削除

git-delete-tag を使う。

git dt "*@*"

package-name@0.0.0-xxx が。

git dt "@*/*@*"

@name-space/package-name@0.0.0-xxx を削除できる。

ゆうてんゆうてん

同じリビジョンのデータを別のタグでパブリッシュする

通常はGitの HEAD が同じだとエラーになってしまうので、--force-publish オプションを使う。