npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@uhuru/enebular-cli

v1.0.0

Published

enebular CLI

Readme

enebular CLI

enebular を操作するためのコマンドラインツールです。

インストール

Node.js 22 以上が必要です。

npm install -g @uhuru/enebular-cli

インストール後は enebular コマンドが利用できます。

enebular version

認証

CLI の利用にはアクセスキー / シークレットキーが必要です。 enebularのアカウント設定画面から作成できます。

アクセスキー / シークレットキーは、次のいずれかで指定できます。

  • コマンド引数の --access-key / --secret-key
  • --profile で指定した設定ファイルのプロファイル
  • 設定ファイルの default プロファイル
  • 環境変数 ENEBULAR_ACCESS_KEY / ENEBULAR_SECRET_KEY

設定ファイルの配置先:

  • Windows: C:\Users\<ユーザー名>\.enebular\credentials
  • macOS / Linux: ~/.enebular/credentials

設定ファイルの例:

[default]
access-key=<enebularで作成したアクセスキーA>
secret-key=<enebularで作成したシークレットキーA>
[staging]
access-key=<enebularで作成したアクセスキーB>
secret-key=<enebularで作成したシークレットキーB>

設定ファイルでは、access-key / secret-key のキー名が利用できます。

任意のプロファイルを使う場合の例(ファイルの登録):

enebular add file \
  --project-id <プロジェクトID> \
  --file ./app.zip \
  --deploy-type cloud \
  --handler handler \
  --name "My App" \
  --detail "説明" \
  --profile staging

環境変数の設定方法:

export ENEBULAR_ACCESS_KEY=<enebularで作成したアクセスキー>
export ENEBULAR_SECRET_KEY=<enebularで作成したシークレットキー>

認証情報の解決順:

  1. --access-key--secret-key
  2. --profile で指定したプロファイル
  3. 設定ファイルの [default] プロファイル
  4. 環境変数 ENEBULAR_ACCESS_KEY / ENEBULAR_SECRET_KEY

基本構文

enebular <アクション> <ターゲット> [オプション]

出力仕様

  • --json なし: 実行内容を表示し、確認後に結果を標準出力へ表示
  • --json あり: 成功時は { "result": "success", ... }、失敗時は { "result": "fail", "code": "...", "message": "..." } を出力
  • 終了コード: 成功 0、失敗 1

対応コマンド

| アクション | ターゲット | 説明 | | ----------- | ------------------- | ------------------------------------------ | | add | file | ファイルアセット登録 | | update | file | ファイルアセット更新 | | copy | file | ファイルアセットのコピー | | copy | privatenode | プライベートノードアセットのコピー | | copy | flow | フローアセットのコピー | | add | flow-version | フローのバージョン作成 | | add | privatenode-version | プライベートノードアセットのバージョン作成 | | add | file-version | ファイルアセットのバージョン作成 | | bulk-update | cloud-config | クラウド実行環境の一括設定変更 | | deploy | cloud | クラウド実行環境へのデプロイ |

コマンド別オプション

add file

  • --project-id 必須: 登録先プロジェクトID
  • --file 必須: アップロードするファイルパス
  • --deploy-type 必須: デプロイ先種別。現在は cloud のみ指定可能
  • --handler 必須: ハンドラー名
  • --name 必須: アセット名。1〜30 文字の英数字
  • --detail 必須: アセット説明。512 文字以下
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular add file \
  --project-id <プロジェクトID> \
  --file ./app.zip \
  --deploy-type cloud \
  --handler handler \
  --name "My App" \
  --detail "説明"

update file

  • --project-id 必須: 更新対象アセットが属するプロジェクトID
  • --asset-id 必須: 更新対象のアセットID
  • --file 必須: 差し替えるファイルパス
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular update file \
  --asset-id <アセットID> \
  --file ./app.zip

copy file

  • --from-project-id 必須: コピー元プロジェクトID
  • --from-asset-id 必須: コピー元アセットID
  • --to-project-id 必須: コピー先プロジェクトID
  • --to-asset-id 任意: コピー先アセットID。省略時は新規作成
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular copy file \
  --from-project-id <コピー元プロジェクトID> \
  --from-asset-id <コピー元アセットID> \
  --to-project-id <コピー先プロジェクトID>

enebular copy file \
  --from-project-id <コピー元プロジェクトID> \
  --from-asset-id <コピー元アセットID> \
  --to-project-id <コピー先プロジェクトID> \
  --to-asset-id <コピー先アセットID>

copy privatenode

  • --from-project-id 必須: コピー元プロジェクトID
  • --from-asset-id 必須: コピー元プライベートノードアセットID
  • --to-project-id 必須: コピー先プロジェクトID
  • --to-asset-id 任意: コピー先アセットID。省略時は新規作成
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular copy privatenode \
  --from-project-id <コピー元プロジェクトID> \
  --from-asset-id <コピー元アセットID> \
  --to-project-id <コピー先プロジェクトID>

copy flow

  • --from-project-id 必須: コピー元プロジェクトID
  • --from-asset-id 必須: コピー元フローアセットID
  • --to-project-id 必須: コピー先プロジェクトID
  • --to-asset-id 任意: コピー先アセットID。省略時は新規作成
  • --with-credentials 任意: フローに含まれるクレデンシャルもコピー
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular copy flow \
  --from-project-id <コピー元プロジェクトID> \
  --from-asset-id <コピー元アセットID> \
  --to-project-id <コピー先プロジェクトID>

enebular copy flow \
  --from-project-id <コピー元プロジェクトID> \
  --from-asset-id <コピー元アセットID> \
  --to-project-id <コピー先プロジェクトID> \
  --with-credentials

add flow-version

  • --project-id 必須: 対象プロジェクトID
  • --asset-id 必須: バージョンを追加するフローアセットID
  • --name 必須: バージョン名
  • --comment 必須: バージョンコメント
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular add flow-version \
  --project-id <プロジェクトID> \
  --asset-id <フローアセットID> \
  --name "v1.0" \
  --comment "v1.0 リリース"

add privatenode-version

  • --project-id 必須: 対象プロジェクトID
  • --asset-id 必須: バージョンを追加するプライベートノードアセットID
  • --name 必須: バージョン名
  • --comment 必須: バージョンコメント
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular add privatenode-version \
  --project-id <プロジェクトID> \
  --asset-id <プライベートノードアセットID> \
  --name "v1.0" \
  --comment "v1.0"

add file-version

  • --project-id 必須: 対象プロジェクトID
  • --asset-id 必須: バージョンを追加するファイルアセットID
  • --name 必須: バージョン名
  • --comment 必須: バージョンコメント
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular add file-version \
  --project-id <プロジェクトID> \
  --asset-id <ファイルアセットID> \
  --name "v1.0" \
  --comment "v1.0"

bulk-update cloud-config

  • --project-id 必須: 対象プロジェクトID
  • --cloud-id 必須: 設定変更対象のクラウド実行環境ID
  • --config-file 必須: 設定内容を記載した JSON のファイルパス
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular bulk-update cloud-config \
  --project-id <プロジェクトID> \
  --cloud-id <クラウド実行環境ID> \
  --config-file ./config.json

config.json では次のキーを指定できます。

  • name: クラウド実行環境名。1〜30 文字の英数字、_-
  • httpTriggerStatus: HTTP トリガーの有効 / 無効。true / false
  • httpTriggerPath: HTTP トリガーのパス。httpTriggerStatus: true の場合は必須
  • scheduleTriggerStatus: スケジュールトリガーの有効 / 無効。true / false
  • scheduleTriggerDef: cron 式。scheduleTriggerStatus: true の場合は必須
  • timeout: タイムアウト秒数。1900 の整数
  • connectAgent: Agent 接続の有効 / 無効。true / false
  • connectDataStore: Data Store 接続の有効 / 無効。true / false
  • envVars: 環境変数。{ "KEY": "VALUE" } 形式

config.json の例:

{
  "name": "sample-cloud-app",
  "httpTriggerStatus": true,
  "httpTriggerPath": "api-v1-run",
  "scheduleTriggerStatus": true,
  "scheduleTriggerDef": "0 */6 * * *",
  "timeout": 300,
  "connectAgent": false,
  "connectDataStore": true,
  "envVars": {
    "APP_MODE": "production",
    "LOG_LEVEL": "info"
  }
}

補足:

  • scheduleTriggerDef は有効な cron 式である必要があります。
  • envVars では ENEBULAR_, AWS_, LAMBDA_ で始まるキーや予約済みキーは指定できません。

deploy cloud

  • --project-id 必須: 対象プロジェクトID
  • --cloud-id 必須: デプロイ先クラウド実行環境ID
  • --asset-id 必須: デプロイ対象アセットID
  • --asset-type 必須: アセット種別。flow または file
  • --json 任意: 確認を省略して JSON 出力
  • --yes 任意: 確認を省略
enebular deploy cloud \
  --project-id <プロジェクトID> \
  --cloud-id <クラウドID> \
  --asset-id <アセットID> \
  --asset-type flow