Esta base de código está en desuso. A partir de Adblock Plus 3.11, Adblock Plus para Chrome, Firefox, Microsoft Edge y Opera se basa en el repositorio adblockplusui.
El desarrollo de la integración principal de bloqueo de anuncios para extensiones web se ha trasladado al repositorio webext-sdk.
Este repositorio contiene el código fuente de Adblock Plus específico de la plataforma para Chrome, Opera, Microsoft Edge y Firefox. Se puede utilizar para crear Adblock Plus para estas plataformas.
En Windows, necesita un entorno Linux que se ejecute en WSL. Luego instale los requisitos anteriores y ejecute los siguientes comandos desde Bash.
Clonar los repositorios externos:
git submodule update --init --recursive
Nota: al compilar a partir de un archivo fuente, se debe omitir este paso.
Instale los paquetes npm necesarios:
npm install
Vuelva a ejecutar los comandos anteriores cuando las dependencias hayan cambiado, por ejemplo, después de revisar una nueva revisión.
Ejecute el siguiente comando en el directorio del proyecto:
npx gulp build -t {chrome|firefox} [-c development]
Esto creará una compilación con un nombre con el formato adblockpluschrome-nnnzip o adblockplusfirefox-nnnxpi . Estas compilaciones no están firmadas. Se pueden enviar tal cual a las tiendas de extensiones o, si se descomprimen, se cargan en modo de desarrollo para realizar pruebas (igual que las compilaciones de devenv a continuación).
Para simplificar el proceso de prueba de sus cambios, puede crear un entorno de desarrollo desempaquetado. Para eso ejecute uno de los siguientes comandos:
npx gulp devenv -t {chrome|firefox}
Esto creará un directorio devenv.* en el directorio del proyecto. Puede cargar el directorio como una extensión descomprimida en chrome://extensiones en navegadores basados en Chromium y en about:debugging en Firefox. Después de realizar cambios en el código fuente, vuelva a ejecutar el comando para actualizar el entorno de desarrollo y la extensión debería recargarse automáticamente después de unos segundos.
Si desea crear una extensión basada en nuestro código y utilizar las mismas herramientas de compilación, ofrecemos algunas opciones de personalización.
Esto se puede hacer mediante:
Especificar una ruta a un nuevo archivo de configuración relativo a gulpfile.mjs
(debe coincidir con la estructura que se encuentra en build/config/
).
npx gulp {build|devenv} -t {chrome|firefox} --config config.mjs
Especificar una ruta a un nuevo archivo manifest.json
relativo a gulpfile.mjs
. Deberías consultar build/manifest.json
y build/tasks/manifest.mjs
para ver cómo lo modificamos.
npx gulp {build|devenv} -t {chrome|firefox} -m manifest.json
Para verificar sus cambios, puede utilizar el conjunto de pruebas unitarias ubicado en el directorio qunit del repositorio. Para ejecutar las pruebas unitarias, vaya a la página de Opciones de la extensión, abra la Consola JavaScript y escriba:
location.href = "qunit/index.html";
Las pruebas unitarias se ejecutarán automáticamente una vez que se cargue la página.
También hay un ejecutor de pruebas externo que se puede invocar desde la línea de comando para ejecutar las pruebas unitarias junto con algunas pruebas de integración en diferentes navegadores y también ejecutar automáticamente el linter.
En Windows, para utilizar el ejecutor de pruebas, además de configurar un entorno Linux como se describe anteriormente, debe tener Node.js instalado en su entorno nativo de Windows. Luego ejecute los siguientes comandos desde PowerShell o cmd.exe (a diferencia de cuando se crea la extensión, que debe realizarse desde Bash).
En Linux, las versiones más nuevas de Chromium requieren libgbm
.
Asegúrese de que los paquetes requeridos estén instalados y actualizados:
npm install
Inicie el proceso de prueba para todos los navegadores:
npm test
Inicie el proceso de prueba en un solo navegador:
npm test -- -g <Firefox|Chromium|Edge>
Para ejecutar otros subconjuntos de prueba, marque la opción -g
en la documentación de Mocha.
De forma predeterminada, descarga (y almacena en caché) y ejecuta las pruebas con la versión compatible más antigua y la última versión de cada navegador. Para ejecutar las pruebas con una versión diferente, configure las variables de entorno CHROMIUM_BINARY
, FIREFOX_BINARY
o EDGE_BINARY
. Se aceptan los siguientes valores:
installed
path:<path>
download:<version>
<major>.<minor>
, para Chromium debe ser el número de revisión). Esta opción no está disponible para Edge. El subconjunto de pruebas de filtrado utiliza páginas de prueba ABP. Para ejecutar esas pruebas en una versión diferente de las páginas de prueba, configure la variable de entorno TEST_PAGES_URL . Además, para aceptar certificados https
inseguros, configure la variable de entorno TEST_PAGES_INSECURE en "true"
.
Es necesario instalar Edge Chromium antes de ejecutar las pruebas de Edge.
Puedes borrar el código usando ESLint.
Primero deberá configurar. Esto instalará nuestra configuración eslint-config-eyeo y todo lo necesario después de ejecutar:
npm install
Luego puedes ejecutar para eliminar el código:
npm run lint