Closed5

bunで自作のプライベートパッケージをインストールする

motoimotoi

フロントとAPIのリポジトリを分けて開発しているので、型情報が共有しづらい。
そこで、APIをプライベートパッケージとしてnpmに公開して、フロントにimportする。

motoimotoi

npmでプライベートに公開するには、$7/ユーザー/月を支払う必要があるみたい。

motoimotoi

公開したいAPIのpackage.jsonに以下の項目を入れる。

{
  "name": "@(組織名)/(パッケージの名前)",
  "version": "1.0.0",
  "main": "src/index.ts",
  "types": "src/db/types.d.ts",
...,
  "publishConfig": {
    "access": "restricted"
  }
}

個人としても公開できるが、今回は組織で公開。
npmのコンソールで簡単に作成できる。

publishConfigで非公開であることを明記する。そして、

npm publish

とすれば、npmがプライベートに公開される。

motoimotoi

そして使いたい方で、.npmrcファイルをルートに作成して、

//npm.pkg.github.com/:_authToken=${NPM_TOKEN}

と記述。
環境変数にNPM_TOKENをセット。Vercelだとコンソールでインストールしたい環境にセットするだけ。

bunの1.1.18からこの.npmrcが使えるようになっている点に注意。
https://bun.sh/blog/bun-v1.1.18#npmrc-support

motoimotoi

別の環境で同じようにpublishしようとすると、

Beginning October 4, 2021, all connections to the npm registry - including for package installation - must use TLS 1.2 or higher. You are currently using plaintext http to connect. Please visit the GitHub blog for more information: https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/

なる文言が出てきて、npmに認証を通せない。http通信が弾かれてるようにで、

npm config set registry https://registry.npmjs.org/

とすれば、ブラウザに飛んで認証ができる。

このスクラップは2ヶ月前にクローズされました