Our npm packages

IndieWeb Rule #3: make what you need.
IndieWeb Rule #4: use what you make.

Since 2015, we’ve been making npm packages for our projects and sharing them with the world.

Have a look, maybe you’ll find something useful for your next project!

Flagship Libraries

HTML Processing Libraries Σ=19

They all process HTML and CSS. Our speciality is so-called scanerless parsing algorithm — we don’t parse and then work on AST and then render. We aim to work on the source code directly while traversing it as a string.

The idea is, if you don’t parse the HTML, you can support broken or mixed code. Unless you write your parser, it becomes a bottleneck — parser throws here and there, and you can do nothing about it.

It is vital to support broken code because this allows us to make broken code-fixing programs.

Also, we often aim to support the processing of HTML mixed with other, known or unknown, source code (typically, programming or templating languages).

Range Libraries Σ=13

String Processing Libraries Σ=31

They process string inputs, which might be text, code or something else as long as it is of a string-type.

Plain Object or Array Libraries Σ=17

Usually, plain objects come from JSON files, and often they are deeply nested. The following libraries help us to traverse them, set and delete keys and compare objects.

Array-processing libraries deal with tasks like sorting, deletion or conversion to other structures.

AST Libraries Σ=12

Lerna Libraries Σ=4

CLI Apps Σ=6

All the following libraries are command-line applications. You install them using -g flag via npm, for example, npm i -g json-sort-cli. Often a package/library/program would have its CLI counterpart: you can use a package programmatically, inside your programs, or you can use its CLI in the terminal, as a standalone program.

For example, csv-sort package is string-in, string-out function. It’s meant to be used by websites, CLIs and Node programs.csv-sort-cli “taps it” and adds file I/O layer and lets you read/write/sort files directly, via a command line.

Miscellaneous Libraries Σ=22

That’s all programs which don’t belong to any of the categories above. Here we have programs doing everything, from CSV sorting to Tap output parsing; from regexes to converting colour hex codes.