检查从脚本中启用/禁用了哪些 deno "allow" 标志

Check which deno "allow" flags are enabled / disabled from within script

Deno.args 允许访问执行文件后的所有参数 ($@)。

是否可以在此之前将标志传递给 Deno?我有兴趣在脚本中检测 --allow-run 之类的内容是真还是假,并根据它向用户提供更好的错误消息。

你必须使用 Deno.permissions 目前不稳定 API。所以需要 --unstable 标志。

const { state } = await Deno.permissions.query({ name: "env" });

if(state !== 'granted')
  console.log(`Can't access env variables`)

要检查 --allow-run 是否打开,您必须使用:

const { state } = await Deno.permissions.query({ name: 'run' });

console.log(state);

name 可以是以下之一:

  • 运行
  • 阅读
  • 环境
  • 插件
  • 小时