npm
Takumi Guard のセットアップは、利用環境と必要な機能に応じて異なります。このページでは、ローカル開発環境と GitHub Actions の両方について、それぞれの利用方法を説明します。
設定方法
匿名で利用する
認証なしで Takumi Guard のパッケージブロック機能を利用できます。レジストリ URL を設定するだけで、悪意あるパッケージのブロックが有効になります。ダウンロード追跡や感染可能性の通知は利用できませんが、最も手軽に導入できる方法です。
プロジェクトの .npmrc にレジストリを追加してください。
registry=https://npm.flatt.tech/
またはグローバルに設定します。
npm config set registry https://npm.flatt.tech/
以上です。以降の npm install コマンドはすべて Takumi Guard 経由でルーティングされます。
Takumi Guard は npm、pnpm、yarn に対応しています。いずれも .npmrc の registry 設定を読み取ります。ロックファイルの移行は不要です。パッケージマネージャーはレジストリ URL ではなくインテグリティハッシュでパッケージを検証するため、既存のロックファイルはそのまま使用できます。
pnpm の場合は以下でも設定できます。
pnpm config set registry https://npm.flatt.tech/
yarn (v1) の場合、.npmrc の設定がそのまま反映されます。yarn berry (v2+) の場合は .yarnrc.yml に追加し てください。
npmRegistryServer: "https://npm.flatt.tech/"
ユーザー登録して利用する
メールアドレスを登録すると、匿名利用のパッケージブロックに加えて、ダウンロード追跡と感染可能性の通知が利用可能になります。ダウンロードしたパッケージに後からセキュリティアドバイザリが公開された場合、登録したメールアドレスに通知が届きます。Shisho Cloud アカウントは不要で、無料で利用 できます。
ステップ 1: メールアドレスを登録する
curl -X POST https://npm.flatt.tech/api/v1/tokens \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "language": "ja"}'
language フィールドは省略可能で、デフォルトは "en"(英語)です。"ja" を指定すると、確認メールや感染可能性の通知を含むすべてのメールが日本語で届きます。この設定はトークンに保存され、以降のメールすべてに適用されます。
数秒以内に確認メールが届きます。
ステップ 2: メールアドレスを確認する
確認メール内のリンクをクリックしてください。API キーと npm のセットアップ手順が表示されるページに遷移します。
この API キーは一度しか表示されません。すぐに保存してください。紛失した場合はトークンのローテーションを参照してください。
ステップ 3: npm を設定する
プロジェクトの .npmrc に以下の 2 行を追加します。
registry=https://npm.flatt.tech/
//npm.flatt.tech/:_authToken=tg_anon_xxxxxx
または CLI で設定します。
npm config set registry https://npm.flatt.tech/
npm config set //npm.flatt.tech/:_authToken tg_anon_xxxxxx