Repolode
google

google/zx

安全な引数エスケープとクロスプラットフォーム向けヘルパーを備え、shell風スクリプトをJavaScriptで書けるツール。

スター
45,813
フォーク
1,320
未解決の Issue
22
最終コミット
9 日前

これは何?

zxを使うと、簡潔な構文でshellコマンドを実行しながら、JavaScriptでスクリプトを書けます。`$`テンプレートタグでコマンドを実行すると、埋め込んだ引数が自動的にエスケープされ、実行結果が返されます。そのため、パイプ処理や並列実行、ファイル操作といった一般的なBashのタスクを、通常のコードとして扱えます。

このパッケージはNode.jsのchild_processをクロスプラットフォーム対応のヘルパーと使いやすいデフォルト設定でラップし、プロセスを直接起動する際に必要な定型コードを大幅に減らします。Linux、macOS、Windowsで動作し、Node.js、Bun、Deno、GraalVM Node.jsに対応しています。基盤となるshellにはBashまたはPowerShellを使用できます。

CommonJSとESMの両方に対応し、JavaScriptとTypeScriptのプロジェクトで利用できます。軽量版のzx@liteも用意されています。

主な機能

  • 01`$`テンプレートタグを使ってshellコマンドを実行し、引数を自動的にエスケープします。
  • 02Node.jsのchild_processをクロスプラットフォーム対応のヘルパーでラップします。
  • 03基盤となるshellとしてBashとPowerShellに対応しています。
  • 04Node.js、Bun、Deno、GraalVM Node.jsで動作します。
  • 05JavaScriptまたはTypeScriptで、CommonJSとESMの両方に対応しています。

ユースケース

  • git、dockerなどのCLIツールを呼び出すデプロイ用またはビルド用スクリプトの作成。
  • 1つのNode.jsスクリプトから複数のshellコマンドを並列実行。
  • 複雑なBashスクリプトを、保守しやすいJavaScriptまたはTypeScriptのコードに置き換える。

クイックスタート

  1. 1

    npmでzxをインストールする

    npm install zx
  2. 2

    zx APIを使ってスクリプトを書き、ドキュメントに記載されているようにzxコマンドで実行する

使う前に知っておきたいこと

  • READMEにはセットアップと使い方の詳細がなく、外部ドキュメントにのみ記載されているため、使い始めるにはリンク先のドキュメントを読む必要があります。

トピック

よくある質問

zx とは?
安全な引数エスケープとクロスプラットフォーム向けヘルパーを備え、shell風スクリプトをJavaScriptで書けるツール。 zxを使うと、簡潔な構文でshellコマンドを実行しながら、JavaScriptでスクリプトを書けます。`$`テンプレートタグでコマンドを実行すると、埋め込んだ引数が自動的にエスケープされ、実行結果が返されます。そのため、パイプ処理や並列実行、ファイル操作といった一般的なBashのタスクを、通常のコードとして扱えます。
zx は無料で使えますか?ライセンスは?
zx は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
zx は今もメンテナンスされていますか?
活発にメンテナンス中。zx の最終コミットは 2026年10月12日 です。
zx は何に使えますか?
git、dockerなどのCLIツールを呼び出すデプロイ用またはビルド用スクリプトの作成。 1つのNode.jsスクリプトから複数のshellコマンドを並列実行。 複雑なBashスクリプトを、保守しやすいJavaScriptまたはTypeScriptのコードに置き換える。
zx のインストール方法は?
npmでzxをインストールする: npm install zx zx APIを使ってスクリプトを書き、ドキュメントに記載されているようにzxコマンドで実行する
zx はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/google/zx

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト