🍱 Libraries

This is a collection of carefully crafted _TypeScript_ libraries. They try to be as minimal, unbloated and convenient as possible.
They honor web standards for maximum compatibility cross-runtime, which makes most of them compatible with Deno, Node.js,
Bun and even browsers out of the box.
See table below for a list of available libraries and their features, compatibility, test coverage and playgrounds.
|
|
| Metadata and compatibility | Features |
|
 |
     |
- Encrypt and decrypt data using a seed-salt derived private key
- Generate time-based OTP secret key and verify tokens validity
|
|
 |
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
     |
- Compute unified patch between two strings
|
|
 |
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
 |
- Perform
git operation and manipulate outputs
- Helper to generate changelog and auto-bump your version file
|
|
|
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
 |
-
Generate various types of graphs as SVG
|
|
|
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
 |
- Wrapper around zod for type validation and assertions
- Include additional helpers and validators
|
|
|
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
     |
-
Render markdown to HTML using the unified ecosystem.
- Straightforward API for both basic markdown and extended markdown rendering
-
Offer a dozen of plugins to add extended markdown features (headings anchors, frontmatter, code highlighting, math, mermaid diagrams, wiki links, etc.)
|
|
 |
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
     |
- Generate QR codes without external dependencies
- Support console, array and SVG output (with customizable colors)
|
|
 |
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
     |
- Create observable contexts to track get, set, delete and call operations
- Support inherited contexts
|
|
 |
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
 |
-
Wrapper around
Deno.Command with improved streams managements
-
Add
stdio that register each stdin, stdout, stderr entry with a timestamp for an accurate history
- Support
buffering to merge closely-timed entries from same channel together
-
Pass a
callback to react on output chanells and write to stdin for interactive scripting
-
Support
winext to append an extension to binary when on Windows (e.g. .cmd, .exe, etc.)
- Support
dryrun to skip command execution (useful for test environments)
|
 |
 |
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
   |
-
Cross-runtime testing framework
- Support deno natively
-
Support Node.js through
npx tsx --test
-
Support bun through
bun test
- Note: although tests are run on multiple runtimes, this library must be run on deno
- Automatically skip test cases when runtime is not available on current platform
|
|
|
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
 |
|
|
|
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
     |
-
Utility types such as
Promisable, Nullable, MapKey, MapValue, SetValue, etc.
-
Functions constructors (
AsyncFunction, GeneratorFunction, AsyncGeneratorFunction)
|
|
|
 |
|---|
|
| Metadata and compatibility | Features |
|
 |
     |
-
Parse XML to JavaScript object
- Support cleaning options to remove attributes, comments, XML doctype and processing instructions from output
- Support flatten options to flatten node content when only attributes, text or nothing is present
- Support reviving options to trim text, replace XML entities, revive booleans and numbers
- Also support custom reviving function
-
Stringify JavaScript object to XML
- Support formatting options to configure indentation and text break lines
- Support replacing options to replace XML entities
- Also support custom replacing function
|
|
 |
 |
 |
|---|
Each package is versioned independently. Releases are fully automated and are published on every push to the main branch. Versioning follows SemVer rules.
🦮 Contributing
Contributions are welcome! Please read our contribution guide first.
📜 License
This work is licensed under the MIT License.
If you include a significant part of it in your own project, _you must keep the license notice_ with it, including the mention of the additional original authors if any.
[!TIP]
Love these bytes? Consider 💝 sponsoring me, even one-time contributions are greatly appreciated!