Basis kode ini tidak digunakan lagi. Pada Adblock Plus 3.11, Adblock Plus untuk Chrome, Firefox, Microsoft Edge dan Opera didasarkan pada repositori adblockplusui.
Pengembangan integrasi inti pemblokiran iklan untuk ekstensi web telah dipindahkan ke repositori webext-sdk.
Repositori ini berisi kode sumber Adblock Plus khusus platform untuk Chrome, Opera, Microsoft Edge, dan Firefox. Ini dapat digunakan untuk membuat Adblock Plus untuk platform ini.
Di Windows, Anda memerlukan lingkungan Linux yang berjalan di WSL. Kemudian instal persyaratan di atas dan jalankan perintah di bawah ini dari dalam Bash.
Kloning repositori eksternal:
git submodule update --init --recursive
Catatan: saat membuat dari arsip sumber, langkah ini harus dilewati.
Instal paket npm yang diperlukan:
npm install
Jalankan kembali perintah di atas ketika dependensi mungkin berubah, misalnya setelah memeriksa revisi baru.
Jalankan perintah berikut di direktori proyek:
npx gulp build -t {chrome|firefox} [-c development]
Ini akan membuat build dengan nama dalam bentuk adblockpluschrome-nnnzip atau adblockplusfirefox-nnnxpi . Bangunan ini tidak ditandatangani. Mereka dapat dikirimkan apa adanya ke penyimpanan ekstensi, atau jika dibongkar, dimuat dalam mode pengembangan untuk pengujian (sama seperti devenv build di bawah).
Untuk menyederhanakan proses pengujian perubahan, Anda dapat membuat lingkungan pengembangan yang belum dikemas. Untuk itu jalankan salah satu perintah berikut:
npx gulp devenv -t {chrome|firefox}
Ini akan membuat direktori devenv.* di direktori proyek. Anda dapat memuat direktori sebagai ekstensi yang belum dibongkar di bawah chrome://extensions di browser berbasis Chromium, dan di bawah about:debugging di Firefox. Setelah melakukan perubahan pada kode sumber, jalankan kembali perintah untuk memperbarui lingkungan pengembangan, dan ekstensi akan dimuat ulang secara otomatis setelah beberapa detik.
Jika Anda ingin membuat ekstensi berdasarkan kode kami dan menggunakan alat pembuatan yang sama, kami menawarkan beberapa opsi penyesuaian.
Hal ini dapat dilakukan dengan:
Menentukan jalur ke file konfigurasi baru yang berhubungan dengan gulpfile.mjs
(harus cocok dengan struktur yang ditemukan di build/config/
).
npx gulp {build|devenv} -t {chrome|firefox} --config config.mjs
Menentukan jalur ke file manifest.json
baru yang berhubungan dengan gulpfile.mjs
. Anda harus memeriksa build/manifest.json
dan build/tasks/manifest.mjs
untuk melihat bagaimana kami memodifikasinya.
npx gulp {build|devenv} -t {chrome|firefox} -m manifest.json
Untuk memverifikasi perubahan Anda, Anda dapat menggunakan unit test suite yang terletak di direktori qunit repositori. Untuk menjalankan pengujian unit, buka halaman Opsi ekstensi, buka Konsol JavaScript dan ketik:
location.href = "qunit/index.html";
Pengujian unit akan berjalan secara otomatis setelah halaman dimuat.
Ada juga test runner eksternal yang dapat dipanggil dari baris perintah untuk menjalankan pengujian unit bersama beberapa pengujian integrasi pada browser yang berbeda, dan secara otomatis juga menjalankan linter.
Di Windows, untuk menggunakan test runner, selain menyiapkan lingkungan Linux seperti diuraikan di atas, Anda perlu menginstal Node.js di lingkungan Windows asli Anda. Kemudian jalankan perintah di bawah ini dari dalam PowerShell atau cmd.exe (tidak seperti saat membuat ekstensi yang perlu dilakukan dari Bash).
Di Linux, versi Chromium yang lebih baru memerlukan libgbm
.
Pastikan paket yang diperlukan telah diinstal dan mutakhir:
npm install
Mulai proses pengujian untuk semua browser:
npm test
Mulai proses pengujian hanya di satu browser:
npm test -- -g <Firefox|Chromium|Edge>
Untuk menjalankan subset pengujian lainnya, silakan centang opsi -g
pada dokumentasi Mocha.
Secara default, ia mengunduh (dan menyimpan cache) dan menjalankan pengujian terhadap versi terlama yang kompatibel dan versi rilis terbaru dari setiap browser. Untuk menjalankan pengujian terhadap versi yang berbeda, atur variabel lingkungan CHROMIUM_BINARY
, FIREFOX_BINARY
atau EDGE_BINARY
. Nilai-nilai berikut diterima:
installed
path:<path>
download:<version>
<major>.<minor>
, untuk Chromium harus berupa nomor revisi). Opsi ini tidak tersedia untuk Edge. Subset pengujian filter menggunakan halaman Pengujian ABP. Untuk menjalankan pengujian tersebut pada versi halaman pengujian yang berbeda, setel variabel lingkungan TEST_PAGES_URL . Selain itu, untuk menerima sertifikat https
yang tidak aman, setel variabel lingkungan TEST_PAGES_INSECURE ke "true"
.
Edge Chromium perlu diinstal sebelum menjalankan pengujian Edge.
Anda dapat menyambungkan kode menggunakan ESLint.
Anda perlu melakukan pengaturan terlebih dahulu. Ini akan menginstal konfigurasi eslint-config-eyeo kami dan semua yang diperlukan setelah Anda menjalankan:
npm install
Kemudian Anda dapat menjalankan kode lint:
npm run lint