このチャプターの目次
ヘルプ
ヘルプを表示する
$ deno --help
特定のサブコマンドのヘルプを表示する
$ deno run --help
$ deno test --help
$ deno lint --help
REPL
denoコマンドを単独で実行するとREPLが起動します。
$ deno
deno run
スクリプトを実行する
$ deno run sample.ts
パーミッションを指定する
$ deno run --allow-read sample.ts
ウォッチ
$ deno run --watch --unstable cli.ts
Import mapsを使う
$ deno run --importmap import_maps.json sample.ts
不安定なAPIを使用する
--unstable
オプションを指定しましょう。
$ deno run --unstable ./cli.ts
deno test
Denoに組み込まれたテストランナです。
パーミッションを指定する
$ deno test --allow-net
特定のテストファイルのみを実行する
$ deno test ./tests/general_test.ts
特定のテストケースのみを実行する
--filter
オプションを使います。
$ deno test --filter parse
# 正規表現も指定可能です
$ deno test --filter "/parse\s+.+\s+URL/"
deno fmt
deno fmt
はDenoに組み込まれたフォーマッタです。
特定のファイルをフォーマットする
$ deno fmt ./test.ts
特定のファイルやディレクトリを無視する
--ignore
オプションを使います。
$ deno fmt --ignore=node_modules
ファイルが適切にフォーマットされていることを確認する
$ deno fmt --check
deno lint
deno lint
はDenoに組み込まれたリンタです。
特定のファイルをリントする
$ deno lint mod.ts
特定のファイルやディレクトリを無視する
--ignore
オプションを使います。
$ deno lint --ignore=node_modules
ルールの一覧
lint.deno.landから閲覧できます。
deno doc
deno doc
はTypeScript/JavaScriptソースを元に、APIドキュメントを生成するツールです。
組み込みAPIのドキュメントを表示する
$ deno doc --builtin
ローカルモジュールのドキュメントを表示する
$ deno doc ./mod.ts
リモートモジュールのドキュメントを表示する
$ deno doc https://deno.land/std@0.95.0/testing/asserts.ts
フィルタリング
$ deno doc --builtin Deno.Process
$ deno doc ./mod.ts AppOptions
ブラウザ上でAPIドキュメントを閲覧したい
Web上に公開されているモジュールであれば、doc.deno.landから閲覧できます。
スクリプトを実行せずに型チェックだけを行う
$ deno check mod.ts
Denoのバージョンを表示する
$ deno --version
パーミッション
--allow-read
Denoにファイルの読み込みを許可します。
$ deno run --allow-read sample.ts
--allow-write
Denoにファイルの書き込みを許可します。
$ deno run --allow-write sample.ts
--allow-net
Denoにネットワークアクセスを許可します。
$ deno run --allow-net sample.ts
--allow-env
Denoに環境変数の参照を許可します。
$ deno run --allow-env sample.ts
--allow-run
Denoにサブプロセスの起動を許可します。
$ deno run --allow-run sample.ts
--allow-all
(-A
)
Denoに対して、権限が必要な処理を全て許可します。
$ deno run -A sample.ts
許可リスト
,
区切りでアクセス対象を指定することで、よりきめ細かな権限制御が行えます。
$ deno run --allow-read=. --allow-write=dist --allow-env=URL,TRACKING_ID cli.ts
Denoの組み込みAPI
Denoの組み込みAPIはDeno
ネームスペースで公開されています。
より詳細なマニュアルについてはdoc.deno.landを参照ください。
ファイルを文字列として読み込む
await Deno.readTextFile("./sample.ts");
ファイルに文字列を書き込む
await Deno.writeTextFile("./sample.txt", "Hello, world");
ディレクトリの作成
await Deno.mkdir("./path/to/dir", { recursive: true });
ファイルのリネーム
const oldPath = "old.txt";
const newPath = "new.txt";
await Deno.rename(oldPath, newPath);
サブプロセスの起動
const process = Deno.run({
cmd: ["deno", "--version"],
stdout: "piped",
});
console.log(await process.output());
process.close();
カレントディレクトリの参照
Deno.cwd();
現在実行しているDenoの実行可能ファイルへのパスを取得
Deno.execPath();
プロセスの終了
Deno.exit(1);
HTTPリクエストを送信する
const res = await fetch("https://qiita.com/api/v2/users?page=1");
console.log(await res.json());
環境変数の参照
Deno.env.get("DB_URL");