2.1.0 • Public • Published

Aria 🪅

Adblock template (ADBT) compiler

Aria compiler
🧬 Meet Aria, an efficient Adblock filter list compiler, with many features that make your maintenance of Adblock filter lists a breeze! 🗡

💖 Support further development

I work hard for every project, including this one and your support means a lot to me!
Consider buying me a coffee. ☕
Thank you for supporting my efforts! 🙏😊

Donate to igorskyflyer


🕵🏼‍♂️ Install

Install it by executing:

Global install

npm i -g "@igor.dvlpr/aria"

Local install

npm i "@igor.dvlpr/aria"

🤹🏼‍♂️ Usage

💡 This file only documents Aria CLI-related API.

You should read the official ADBT API documentation for more information on how ADBT works, its syntax and usage.

🪄 Arguments


Aria - Adblock template compiler CLI Will print the welcome + help screen


Compile the input ADBT template file.

Short: -f
Long: --file
Accepts: path: string
Required: yes


aria -f './my-template.adbt'

💡 Template files should end with the .adbt extension.


Set the root directory (CWD).

Short: -r
Long: --root
Accepts: path: string
Required: no


aria -f './my-template.adbt' --root 'D:\my-filter'

💡 Useful when passing an absolute template path or when working from a directory that's not the directory where the template file is stored.


The versioning to use, can be:

  • auto: default, let Aria decide which versioning system to use.
    If the resulting file already exists, i.e. Aria already compiled the template before, it will re-use the versioning found in the file, otherwise it will use semver,

  • semver: use valid SemVer versioning when exporting the filter file, e.g. v1.0.0, v2.199.222, etc.
    If no version is found the counting starts with v1.0.0,

  • timestamp: use current UNIX timestamp, e.g. 1690409508.

Short: -v
Long: --versioning
Accepts: auto, semver, timestamp
Required: no


aria -f './my-template.adbt' -v semver

ℹ️ Versioning in Adblock filters

Take this snippet from my AdVoid filter list:

! Title: AdVoid.Core
! Description: ✈ AdVoid is an efficient AdBlock filter that blocks ads! 👾
! Version: 1.8.1082

Aria takes care of the versioning, the last line you see in the snippet above - so you don't have to!

❗When using SemVer as the versioning system, Aria will always increase only the patch component of the version.

🪅 Flags


Do a dry-run and print the resulting AST.

Short: -d
Long: --dry
Accepts: N/A
Required: no


aria -f './my-template.adbt' -d

💡 The template will not be compiled; Aria will only print out the log.

❗ If you want to both compile and print the log, then use the log flag.


Will print the resulting AST.

Short: -t
Long: --tree
Accepts: N/A
Required: no


aria -f './my-template.adbt' -t

💡 This will compile and print out the resulting AST.

🤔 What is AST?

In computer science, an abstract syntax tree (AST), or just syntax tree, is a tree representation of the abstract syntactic structure of text (often source code) written in a formal language. Each node of the tree denotes a construct occurring in the text. – Wikipedia


Enable compilation logging.

Short: -l
Long: --log
Accepts: N/A
Required: no


aria -f './my-template.adbt' -l

💡 The template will be compiled and Aria will log while compiling.

❗ If you only want to do a dry-run and don't compile the template, then use the dry flag.


Show the welcome + help screen.

Short: -h
Long: --help
Accepts: N/A
Required: no


aria --help

💡 This flag works the same as calling aria on its own - with 0 arguments.

🪪 License

Licensed under the MIT license which is available here, MIT license.

🧬 Related


📜 Provides ADBT (Adblock template) support in Visual Studio Code. 🪅


🐲 A dead simple npm module that counts Adblock filter rules.🦘


🎡 Parse, manage, compare and output SemVer-compatible version numbers. 🧮


💊 NormalizedString provides you with a String type with consistent line-endings, guaranteed. 📮


🐌 Zing is a C# style String formatter for JavaScript that empowers Strings with positional arguments. 🚀


✈ AdVoid is an efficient AdBlock filter that blocks ads, trackers, malware and a lot more if you want it to! 👾

Package Sidebar


npm i @igor.dvlpr/aria

Weekly Downloads






Unpacked Size

62.2 kB

Total Files


Last publish


  • igor.dvlpr