Firefox eklentisi geliştirmek için bilgisayarınızda NodeJS yüklü olması gerekiyor bu program sayesinde eklentiler yazabilir veya imzalayabilirsiniz. NodeJS aslında event tabanlı olarak sunucu üzerinde javascript çalıştırmayı sağlayan bir yapıdır bu konuya girmeden önce direk olarak işimize geçelim.
NodeJS yazılımını indirmek için https://nodejs.org/en/ bu bağlantıya giderek Current versiyon 6.3.1 indiriniz. (04.08.2016)
Yükleme sonrası NodeJS test etmek için aşağıda ki adımları izleyebilirsiniz.
Sunucu taraflı javascript çalıştırma.
Komut istemcisini yönetici olarak çalıştırınız ve aşağıda ki komutları sırası ile çalıştırınız:
bu işlemler yaklaşık 10 dakika sürecektir. JPM paketini test etmek için konsola şunu yazınız:
jpm
Jpm komutu yazıldıktan sonra aşağıda bununla ilgili komutların ne işe yaradığını ve nasıl kullanıldığını gösterir.
Bu işlemleri başarılı bir şekilde bitirdikten sonra ilk firefox eklentimizi yazalım ve imzalayalım.
Bu admlardan sonra şu komutu çalıştırın:
jpm init
Eklenti bilgilerini girdikten sonra klasörde package.json dosyası oluşacaktır.
Sırası ile bu bilgiler girildikten sonra en son olarak size girilen bilginin doğru olup olmadığını onayını ister ENTER basın veya yes yazın.
Sonuç olarak eklentimizin projesi dizinde oluşmuştur:
Javascript kodları ve firefox’un SDK tanımlama yapılan eklentimizin ana dosyasıdır.
Eklentiyi test edelim ve paketleyelim:
jpm test
Eklentimizin komutları ve kodlarında oluşacak hataları gösterir. Gerçek zamanlı çalıştırıp test etmek için ise:
jpm run
Otomatik olarak firefox tarayıcısına eklentinizi geçici olarak yükler. Bu aşamada tarayıcı üzerinde yaptığınız değişiklikler kaydedilmeyecektir. Eklenti üzerinde çalışan işlemler ve hatalar konsola gönderilir.
Eklentinizi paketlemek için: (İmzasız)
jpm xpi
Bulunduğu dizine test.xpi adında xpi dosyası oluşturur bu dosya imzasız olduğu için direk olarak tarayıcıya yüklenemez!
Eklentinizi imzalamak için https://addons.mozilla.org/adresinden token almanız gerekmektedir bu token’i elde etmek için:
Bu sayfadan aşağıda ki komut için gerekli parametreleri girin.
jpm sign --api-key <JWT issuer> --api-secret <JWT secret> --xpi <xpi file>
API token keyimizi aldıktan sonra Eklentimizi imzalayalım:
ÖNEMLİ: Eklentimiz Firefox mağazasına yükleneceği için test adında veya beta adında paket yükleme/imzalama işlemleri gerçekleştirilemez. Bu yüzden eklentimizin adını package.json dosyasından name kısmından adını benimeklentim olarak değiştirdikten sonra tekrar paketleme işlemi yaptık ve imzalama işlemine geçelim:
Bu işlem paket boyutuna göre sürmektedir. İmzalama işlemimiz başarı ile sonuçlandıktan sonra dizinde ayrı bir imzalanmış xpi dosyası oluşacaktır.
benimeklentim-0.0.1-fx.xpi adında dosya oluşturulmuştur bu dosya aynı zamanda mağazaya gönderilmiştir. Eklentiniz üzerinde güncelleme yapmak için Developer Hub sayfasından görebilirsiniz.
Dosyayı tarayıcı sürükle bırak yaptıktan sonra imzalandığını görebilirsiniz.
Daha fazla bilgi için:
https://developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm
Güncelleme
Bu konu 2016 yılından kalma chrome ve firefox artık web extension kullanmaktadır. Yakında bununla ilgili bir yazı yazacağım.