web-dev-qa-db-fra.com

Deno autorise toutes les autorisations

Je me retrouve souvent à taper au moins deux ou trois options d'autorisation lorsque je joue avec Deno:

deno run --allow-net --allow-read --allow-env app.ts

Il existe un moyen d'échapper aux autorisations explicites.

3
Evandro Pomatti

Vous pouvez utiliser denon https://deno.land/x/denon , est un outil comme nodemon. Une chose géniale à ce sujet est qu'il inclut un denon.json où vous pouvez ajouter l'attribut "allow": en tant que tableau et ajouter les indicateurs que vous voulez.

"allow": ["net", "read", "write"]

puis dans le terminal exécutez le script pour démarrer votre application

denon start yourapp.ts

Cela fonctionnera:

deno run --allow-net --allow-read --allow-write yourapp.ts

Maintenant, lorsque vous effectuez une modification et enregistrez, il l'exécutera à nouveau.

Il a d'autres attributs sympas à ajouter comme le "unstable": true. Essayez-le et lisez le README de denon pour plus d'informations.

0

J'ai créé un outil qui vise à aider à cela https://github.com/BentoumiTech/denox/

Vous pouvez spécifier vos scripts dans un deno-workspace.yml fichier avec liste d'autorisations

scripts:
  # "denox run start" will execute app.ts with --allow-net --allow-read --allow-env permissions
  start:
    file: app.ts
    deno_options:
      allow-net: true 
      allow-read: true
      allow-env: true

$ deno install -Af -n denox https://denopkg.com/BentoumiTech/denox/denox.ts

$ denox run start se traduira par deno run --allow-net --allow-read --allow-env app.ts

Il prend également en charge toutes les autres options deno

allow-all, allow-env, allow-hrtime, allow-net, allow-plugin, allow-read, allow-run,
allow-write, cached-only, cert, config, importmap, inspect, inspect-brk, lock, lock-write,
log-level, no-remote, quiet, reload, seed, unstable, v8-flags
0
BentoumiTech