generated at
zx
概要
Node.jsでスクリプトを記述するためのヘルパーライブラリ
Googleによって開発されています

インストール
shell
# pnpm $ pnpm add -D zx # npm $ npm install --save-dev zx

基本的な使い方
pnpm exec は適宜npxyarnなどに置き換えください
*.mjs 形式のファイルにスクリプトを記述します
script.mjs
// $`...`によってコマンドを実行 // await $`...`の戻り値として`CommandOutput`オブジェクトが返却されます const output = await $`cat package.json | jq .devDependencies`; // echo`...`で標準出力へメッセージを出力できます // echo`...`には`CommandOutput`を渡すこともできます echo`Result: ${output}`;
その後、以下のコマンドでスクリプトを実行できます
shell
$ pnpm exec zx script.mjs

API
ProcessPromise
$ によって返却されます
.pipe() メソッドを使うと、標準出力を Writable (node:stream)へリダイレクトされることができます
javascript
import { createWriteStream } from "node:fs"; await $`cat package.json | jq .devDependencies`.pipe(createWriteStream("deps.txt")); // ProcessPromiseをpipeすることも可能です const result = await $`cat package.json`.pipe($`jq .devDependencies`); echo(result);
stdin / stdout などのプロパティから、サブプロセスの標準入出力へアクセスできます (これらのプロパティはnode:stream Stream です)

zxにはnode-fetchが組み込まれていて、 fetch() が利用できます
javascript
const res = await fetch("http://localhost:8000/"); const json = await res.json();

REPLの起動
shell
$ pnpm exec zx --repl # REPLの起動後、コマンドの実行などが行えます ❯ await $`cat package.json | jq .devDependencies`
~/.zx_repl_history にヒストリーが保存されます (src/repl.ts#L34)

zxを使っているプロジェクト


リンク