仕事柄 2.21.x の x は何個あったっけとか 3.0.1 のリリースノートはどこだっけとか調べることがよくあるので検索しやすくなるようなツールを作った。主に Alfred Workflow から特定バージョンのリリースノート URL を開いたり、特定のシリーズのバージョン一覧を得たりするのに使う。
これもおれしか使わないと思う。
Deno と Alfred Workflow の Script Filter 用の JSON について学んだ。
- Deno の cache ライブラリは Deno 自身が外部モジュールをキャッシュするのと同じ DENO_DIR にリソースをキャッシュする
- DENO_DIR 環境変数を指定しない場合はプラットフォームごとに規定のディレクトリが使われる https://deno.land/manual/linking_to_external_code
- macOS なら
$HOME/Library/Caches/deno
- macOS なら
- この規定のキャッシュディレクトリは
deno infoで調べられる
$ deno info DENO_DIR location: "/Users/kyanny/Library/Caches/deno" Remote modules cache: "/Users/kyanny/Library/Caches/deno/deps" Emitted modules cache: "/Users/kyanny/Library/Caches/deno/gen" Language server registries cache: "/Users/kyanny/Library/Caches/deno/registries" Origin storage: "/Users/kyanny/Library/Caches/deno/location_data"
deno infoの出力はエスケープ文字を含むのでプログラムから処理するのは躊躇われる。--jsonオプションをつけると良い。
$ deno info --json
{
"denoDir": "/Users/kyanny/Library/Caches/deno",
"modulesCache": "/Users/kyanny/Library/Caches/deno/deps",
"typescriptCache": "/Users/kyanny/Library/Caches/deno/gen",
"registryCache": "/Users/kyanny/Library/Caches/deno/registries",
"originStorage": "/Users/kyanny/Library/Caches/deno/location_data"
}
- DENO_DIR のデフォルト値を Deno 実行中に知る方法は無い(探したけど見つからなかった。
Deno.env.get('DENO_DIR')は空)。 - Alfred Workflow の Script Filter に食わせる JSON で必須なのは "title" と "arg"
- "title" がないと候補に出てこない
- "arg" がないと次の Action や Output に値を渡せない