MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

Le format Mozcmd

Le format mozcmd est une facon de stocker des commandes GCLI. Il est disponible pour les utilisateurs de Firefox en paramétrant la devtools.commands.dir pour référencer un dosier conetnant des fichiers .mozcmd.

Par exemple, si devtools.commands.dir référence C:\mozcmd (sous windows ou /Users/me/mozcmd sous Mac/Unix), alors Firefox lira les fichers mozcmd de ce dossier au lancement o bien lors d'un cmd refresh.

Syntaxe

Le format mozcmd est basé sur le format JSON, mais avec la possibilité d'insérer des fonctions dans les emplacements clés. Par exemple pour la fonction exec.

La racine du document est un tableau qui contient un certain nombre de commandes qui peuvent être envoyés à gcli.addCommand().

Fichier exemple

L'exemple suivent est tiré du dépot de demonstration.

[
  {
    name: 'hello',
    description: 'Show a message',
    params: [
      {
        name: 'name',
        type: 'string',
        description: 'Who to say hello to',
      }
    ],
    exec: function(args, context) {
      return 'Good evening, ' + args.name;
    }
  }
]

Plusieurs commandes peuvent être placé dans un fichier. Les commandes prenent toujours leur nom de la propriétée name plutôt que du nom du fichier.

Les commentaires ne sont pas autorisés sauf à l'interieur des fonctions.

Lorsqu'une commande est exécutée, this vaudra l'objet parent, this.name sera donc le nom de la commande. Si une étape de paramétrage est requise, alors elle doit être faite à la première exécution et son resultat mis en cache dans this.

Securité

L'idée est d'assurer à l'utilisateur qu'utiliser un fichier mozcmd n'est pas un risque de sécurité,  ils doivent accéder aux commandes avec que du JavaScript ne soit exécuté.

(Il est à noter que 'acceder' n'implique pas forécement que la commande doit être exécutée. Les comandes peuvent fournir des fonctions pour personaliser leur paramatres. "Accéder" est défini comme étant le fait de taper le nom de la comande dans la ligne de commande (que la touche "entrée" soit préssée ou non).

L'implémentation actuelle de mozcmd évalue simplement le script dans une simply " Sandbox". Cela ne fournir pas le niveau de protection attendu, cependant le bug Bug 767912 calls for the parser to be upgraded.

Documentation avancée

Voir la documentation sur l'écriture des commandes.

Étendre le format mozcmd

Le format mozcmd est fait pour être facile extensible et supporter les Types et Fields.  Cette fonction n'est pas encore activée, cependant il est possible de voir voir comment le format est supposé fonctioner.

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : maximelore, teoli, ironfroggy
 Dernière mise à jour par : maximelore,