Les extensions packagées dans Firefox sont appelées "fichiers XPI", qui sont des fichiers ZIP avec une extension différente.
Vous n'avez pas besoin d'utiliser l'extension XPI lors du téléchargement vers AMO.
Pendant le développement, votre extension sera constituée d'un répertoire contenant un fichier manifest.json et les autres fichiers dont elle a besoin : scripts, icônes, documents HTML, etc. Vous devez les zipper dans un seul fichier pour les télécharger vers AMO.
La façon la plus pratique de compiler votre extension est d'utiliser la build web-ext. Cet outil exclut automatiquement les fichiers qui sont généralement indésirables dans les paquets, comme les fichiers .git
. Sinon, suivez les instructions ci-dessous pour le système d'exploitation.
Astuce. Le fichier ZIP doit être un fichier ZIP des fichiers de l'extension elle-même, et non du répertoire qui les contient.
Windows
- Ouvrez le répertoire contenant les fichiers de votre extension.
- Sélectionnez tous les fichiers et répertoires nécessaires pour implémenter votre extension, excluez les fichiers qui ne sont pas nécessaires pour exécuter l'extension, tels que
.git
, les sources graphiques et les fichiers similaires. - Ouvrez le menu contextuel et cliquez sur Envoyer dans le dossier compressé (zipped).
macOS
- Ouvrez le répertoire contenant les fichiers de votre extension.
- Sélectionnez tous les fichiers et répertoires nécessaires pour implémenter votre extension, excluez les fichiers qui ne sont pas nécessaires pour exécuter l'extension, tels que
.git
, les sources graphiques et les fichiers similaires. - Ouvrez le menu contextuel et cliquez Compress n éléments.
Linux / macOS Terminal
- Ouvrir un Terminal.
- Ouvrez le répertoire contenant les fichiers de votre extension, en utilisant la commande
cd path/to/my-extension/
- ZIPez le contenu du répertoire en vous souvenant d'exclure les fichiers qui ne sont pas nécessaires à l'exécution de l'extension, tels que
.git
, les sources graphiques, et les fichiers similaires - en utilisant la commande
zip -r -FS ../my-extension.zip * --exclude *.git*