@igor.dvlpr/aria

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

@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


<None>

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


File

Compile the input ADBT template file.


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

Example

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

💡 Template files should end with the .adbt extension.



Root

Set the root directory (CWD).


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

Example

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.



Versioning

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

Example

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

Dry

Do a dry-run and print the resulting AST.


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

Example

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.



Tree

Will print the resulting AST.


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

Example

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



Log

Enable compilation logging.


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

Example

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.



Help

Show the welcome + help screen.


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

Example

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

ADBT

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

@igor.dvlpr/adblock-filter-counter

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

@igor.dvlpr/keppo

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

@igor.dvlpr/normalized-string

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

@igor.dvlpr/zing

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

AdVoid

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

Package Sidebar

Install

npm i @igor.dvlpr/aria

Weekly Downloads

24

Version

2.1.0

License

MIT

Unpacked Size

62.2 kB

Total Files

42

Last publish

Collaborators

  • igor.dvlpr