Chapter 18

付録: チートシート

uki00a
uki00a
2022.06.19に更新
このチャプターの目次
  1. ヘルプ
    1. ヘルプを表示する
    2. 特定のサブコマンドのヘルプを表示する
  2. REPL
  3. deno run
    1. スクリプトを実行する
    2. パーミッションを指定する
    3. ウォッチ
    4. Import mapsを使う
    5. 不安定なAPIを使用する
  4. deno test
    1. パーミッションを指定する
    2. 特定のテストファイルのみを実行する
    3. 特定のテストケースのみを実行する
  5. deno fmt
    1. 特定のファイルをフォーマットする
    2. 特定のファイルやディレクトリを無視する
    3. ファイルが適切にフォーマットされていることを確認する
  6. deno lint
    1. 特定のファイルをリントする
    2. 特定のファイルやディレクトリを無視する
    3. ルールの一覧
  7. deno doc
    1. 組み込みAPIのドキュメントを表示する
    2. ローカルモジュールのドキュメントを表示する
    3. リモートモジュールのドキュメントを表示する
    4. フィルタリング
    5. ブラウザ上でAPIドキュメントを閲覧したい
  8. スクリプトを実行せずに型チェックだけを行う
  9. Denoのバージョンを表示する
  10. パーミッション
    1. --allow-read
    2. --allow-write
    3. --allow-net
    4. --allow-env
    5. --allow-run
    6. --allow-all (-A)
    7. 許可リスト
  11. Denoの組み込みAPI
    1. ファイルを文字列として読み込む
    2. ファイルに文字列を書き込む
    3. ディレクトリの作成
    4. ファイルのリネーム
    5. サブプロセスの起動
    6. カレントディレクトリの参照
    7. 現在実行しているDenoの実行可能ファイルへのパスを取得
    8. プロセスの終了
    9. HTTPリクエストを送信する
    10. 環境変数の参照

ヘルプ

ヘルプを表示する

$ 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");