DENO_AUDIT_PERMISSIONS
#Deno #環境変数
Deno v2.5で導入された環境変数です
この環境変数にパスを設定しておくと、該当のパスへアプリケーションが要求したパーミッションの一覧がJSON Lines形式で記録されます
code:shell
# 1. アプリケーション実行時にDENO_AUDIT_PERMISSIONSにパスを指定しておきます
$ DENO_AUDIT_PERMISSIONS=permissions.jsonl deno run -A main.js
# 2. 指定されたパスに要求されたパーミッション情報が記録されます
$ jq 'pick(.permission, .value)' --compact-output permissions.jsonl
{"permission":"read","value":"README.md"}
{"permission":"write","value":"README.md"}
{"permission":"read","value":"Makefile"}
{"permission":"write","value":"Makefile"}
書き込まれるJSONのスキーマはcli/schemas/permission-audit.v1.jsonで定義されています
DENO_TRACE_PERMISSIONSと併用することで、各レコードにstackプロパティーが追加され、より詳細に情報を追跡することができます