ユーザー/シェルごとに複数のNode.jsバージョンをインストール・切り替えできる、POSIX準拠のbashスクリプト。
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
npmでzxをインストールする
npm install zx - 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 の数値は毎日更新されます。
関連プロジェクト
汎用のコマンドライン向けファジーファインダー。あらゆる入力リストを絞り込み、シェルスクリプトを対話型のターミナルセレクターに変えます。
Windows、Linux、macOSで動作する、構造化データとオブジェクトを扱うクロスプラットフォームのシェル、スクリプト言語、オートメーションフレームワーク。
よく使うディレクトリを学習し、主要なシェルから数回のキー入力で移動できる、賢いcdコマンド。
Node.jsは、ブラウザー外でJavaScriptを実行するための、オープンソースかつクロスプラットフォームのJavaScriptランタイムです。