Skip to content

The homepage for all my repositories.

Notifications You must be signed in to change notification settings

fabiospampinato/monorepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FabioStack

Monorepo

The homepage for all my repositories.

Installation

git clone --recurse-submodules git://github.com/fabiospampinato/monorepo.git

Badges

Repositories listed below are marked with some of the following badges.

  • Production dependencies badges:
    • : no production dependencies whatsoever.
    • : only first-party production dependencies.
    • : with third-party production dependencies.
  • Development dependencies badges:
    • : no development dependencies other than tsex, fava, benchloop, esbuild, typescript and @types/node.
    • : only some extra first-party development dependencies.
    • : with some extra third-party development dependencies.
  • Runtime badges:
    • : isomorphic repository.
    • : browser-only repository.
    • : Node-only repository.
  • Other badges:
    • : released in bundled form.
    • : released in tree-shakeable form.
    • : provides a command line application.

Repositories (Active)

Some repositories don't have badges yet, this list is stil a work in progress

JavaScript Packages

  • aborter : A minimal reimplementation of AbortController and AbortSignal.
  • amuchina : A work-in-progress HTML sanitizer that strives for: performance like window.Sanitizer, readiness like DOMPurify, and ability to run in a WebWorker like neither of those.
  • ansi-pad : A couple tiny functions for padding a string that may contain ANSI escape sequences.
  • ansi-purge : A tiny function for deleting ANSI escape sequences from a string.
  • ansi-truncate : A tiny function for truncating a string that may contain ANSI escape sequences.
  • are-deeply-equal : Check if two values are deeply equal to each other.
  • are-shallow-equal : Check if two values are shallowly equal to each other.
  • atomically : Write files atomically and reliably.
  • banal : On-demand bundle analyzer, powered by esbuild.
  • base128-encoding : Base128 encoding, the intersection of latin1 and utf-8, which is basically ASCII, the most memory-efficient string encoding that can be written to disk as utf-8 without ballooning in size.
  • base256-archive : Simple archive format that produces a base256-encoded string.
  • base256-encoding : Base256 encoding, the most memory-efficient encoding possible in JavaScript.
  • benchloop : Simple benchmarking library with a pretty output.
  • bigint-encoding : BigInt encoding, a simple way to convert Uint8Arrays into BigInts, and vice versa.
  • bob-wasm : A port of Svgbob to WASM.
  • buffer2uint8 : A tiny function for casting a Buffer to a Uint8Array.
  • bustore : An isomorphic asynchronous Map-inspired key-value store for persisting blobs.
  • bump : Bump updates the project's version, updates/creates the changelog, makes the bump commit, tags the bump commit and makes the release to GitHub. Opinionated but configurable.
  • call-chainer : Combine a regular function and a class so that methods of the class become chainable properties of the function that get called automatically.
  • call-hooks : Function for adding before/after/call/arguments/result hooks to another function.
  • call-spy : Tiny wrapper for spying on function calls.
  • calls-batch : Execute calls in debounced batches, with pre/postflush hooks, useful for performance.
  • cash : An absurdly small jQuery alternative for modern browsers.
  • chrome-extension-livereload : A tiny and basic livereload solution for chrome extensions.
  • classattr : A classList-like API that's purely based on reading/writing the class attribute.
  • conf-merge : Deep merges objects, concatenating arrays.
  • configuration : Performant and feature rich library for managing configurations/settings.
  • context-keys : Performant and feature rich library for managing context keys.
  • copy-unused-path : Reliably copy to an unused path.
  • critically : Tiny performant library for extracting the critical CSS.
  • crypto-miller-rabin : Implementation of the Miller-Rabin primality test.
  • crypto-pbkdf2-hmac : Isomorphic wrapper for the PBKDF2-HMAC key derivation function.
  • crypto-prime-test : A function that deterministically checks if a number is prime.
  • crypto-puzzle : Basically a proof-of-work generator, this library makes cryptographic puzzles that are arbitrarily expensive to solve.
  • crypto-random-bigint : Generate a cryptographically-random BigInt with the given number of bits of entropy.
  • crypto-random-hexadecimal : Generate a cryptographically-random hexadecimal string with the given number of bytes of entropy.
  • crypto-random-in-range : Pick a cryptographically-random integer within a range.
  • crypto-random-prime : Generate a cryptographically-random probable prime number that passes the Miller-Rabin test with the given number of bits of entropy.
  • crypto-random-uint8 : Generate a cryptographically-random Uint8Array with the given number of bytes of entropy.
  • crypto-sha : Isomorphic wrapper for the SHA family of hash functions.
  • crypto-sieve : Low memory-usage implementation of a Sieve of Eratosthenes.
  • crypto-timing-safe-equals : An isomorphic timing-safe equality function for strings and Uint8Arrays.
  • cson2json : A super-lightweight library for converting CSON objects to JSON objects.
  • css-eval : Tiny library for fully evaluating CSS properties and variables on a target element.
  • css-flatten : Flattens a nested (S)CSS string, "&" placeholders are supported too.
  • css-simple-minifier : A CSS minifier that's tiny and very fast.
  • css-simple-parser : A (S)CSS parser that's tiny, blazing fast and (too) simple.
  • csv-simple-parser : A simple, fast and configurable CSV parser.
  • decode-base64 : A tiny function for decoding base64 strings into ArrayBuffer objects, useful for bundling and loading WASM modules.
  • depsman : Extract and report metadata about dependencies of the current package.
  • detect-eol : Quickly detect the EOL used in a string.
  • dettle : A tiny fully-featured debounce and throttle implementation.
  • dettle-batch : A batched debouncing and throttling solution, for performance.
  • domino-global : Make Node a browser-like environment, by using Domino.
  • dotlocker : A filesystem exclusionary lock implementation based on .lock files.
  • dotenv-jsonc : Simple library for loading your .env.json file containing JSONC.
  • dumper : Library for extracting attachments, notes and metadata out of formats used by popular note-taking apps.
  • duper : Standalone functions for creating shallow clones or deep clones.
  • entities-decode : Fast function for decoding HTML entities, based on the "entities" package.
  • entities-dom-decode : A ~200 bytes function with no dependencies for decoding HTML entities, it only works in the browser.
  • entities-standard : An object mapping ~2000 standard HTML entities to their value.
  • event-loop-yielder : A collection of strategies for yielding to the event loop, to avoid blocking for too long.
  • ext2mime : Convert a file extension to a mime type. It works only with popular file extensions and it's super lightweight.
  • fast-ignore : A fast parser and processor for .gitignore files.
  • fast-mod-exp : Fast modular exponentiation function, for numbers and bigints.
  • fast-string-truncated-width : A fast function for calculating where a string should be truncated, given an optional width limit and an ellipsis string.
  • fast-string-width : A fast function for calculating the visual width of a string once printed to the terminal.
  • fava : A wannabe tiny largely-drop-in replacement for ava that works in the browser too.
  • fetch-shim : A tiny isomoprhic Fetch function, it just gives you the native one if available, or the one from undici.
  • fileurl2path : A tiny function for converting a file URL to a file path.
  • file-pollex : A tiny hybrid filesystem watcher for a single file.
  • find-up-json : Find, read and parse the first matching file found walking the filesystem upwards.
  • find-up-path : Find the path of the first file matching a given name, walking the filesystem upwards.
  • flimsy : A single-file <1kb min+gzip simplified implementation of the reactive core of Solid, optimized for clean code.
  • function-once : Wraps a function so that it's only ever executed once.
  • get-current-package : Get the package.json of the currently executing bin.
  • get-current-version : Get the version of the currently executing bin.
  • get-unused-path : Reliably get an unused path you can write to.
  • github-logger : A simple logger for GitHub repositories, with various backends.
  • gitman : A simple yet powerful opinionated tool for managing GitHub repositories.
  • glow-highlighter : An isomorphic syntax highlighter for Glow.
  • grammex : A tiny PEG-like system for building language grammars with regexes.
  • graphviz-wasm : A port of Graphviz to WASM.
  • grepgrep : A grep-like command that uses JavaScript-flavored regular expressions.
  • happy-dom-global : Make Node a browser-like environment, by using Happy DOM.
  • hex-encoding : Hex encoding. An extremely fast and synchronous JS implementation.
  • hex-to-uint8 : The fastest function to convert a hexadecimal string to a Uint8Array.
  • html2markdown : A small function for converting HTML to Markdown.
  • html-segmentator : A small library for splitting an HTML string into its top-level sections. Based on html5parser.
  • huffy : A tiny compression library based on Huffman coding.
  • ifont : An isomorphic icon font generator with support for ligatures.
  • immediato : An isomorphic setImmediate implementation that doesn't prevent the process from exiting naturally.
  • import-fool-webpack : Use dynamic import() without webpack finding out.
  • infinity-map : A Map that doesn't throw if you put more than 16 million items in it. Because that's what the native Map object does for some reason.
  • infinity-set : A Set that doesn't throw if you put more than 16 million items in it. Because that's what the native Set object does for some reason.
  • ini-simple-parser : A simple, fast and configurable INI parser.
  • int32-encoding : Int32 encoding, a simple way to convert 32-bit signed integers to Uint8Arrays, and vice versa.
  • ionstore : A very simple isomorphic key-value store with a Map-like API for persisting session data.
  • is : The definitive collection of is* functions for runtime type checking. Lodash-compatible, tree-shakable, with types.
  • isoenv : A cross-platform Map-like interface for reading and writing environment variables.
  • isostore : A simple isomorphic key-value store with a Map-like API for persisting data.
  • js-simple-mangler : A simple JavaScript mangler that works across multiple files.
  • json-archive : Simple archive format based on JSON.
  • json-clone-deep : Deep cloning based on JSON.
  • json-oneline-stringify : A little function for stringifying into a single line, in a readable form.
  • json-sorted-stringify : Alternative JSON.stringify function with sorted keys, so the output is stable.
  • jsonc-simple-parser : A simple JSON parser that supports comments and optional trailing commas.
  • kasi : A collection of functions for working with different casings.
  • khroma : A collection of functions for manipulating CSS colors, inspired by SASS.
  • known-symbols : A little library for working with well-known symbols.
  • lande : A tiny neural network for natural language detection.
  • linkedom-global : Make Node a browser-like environment, by using LinkeDOM.
  • linkify-it-tlds : Comprehensive list of TLDs, sourced from ICANN, for linkify-it.
  • lomemo : Lodash's memoize function, but in a much smaller package than lodash.memoize's.
  • lomemo-one : A variant of lodash's memoize function that remembers only one result, the last one.
  • memoization-registry : A generalized multi-key memoization solution that does not leak memory.
  • mild-map : A WeakMap that supports any value, it holds strong references to primitives, and weak references to objects.
  • mild-set : A WeakSet that supports any value, it holds strong references to primitives, and weak references to objects.
  • mime-standard : An object mapping ~300 standard mime types to ~400 extensions.
  • mime2ext : Convert a mime type to a file extension. It works only with popular mime types and its super lightweight.
  • minipacco : A little bundler for resolving dependencies graphs into a single concatenated file.
  • monex : Execute a script and restart it whenever it crashes or a watched file changes.
  • move-unused-path : Reliably move to an unused path.
  • nanoexec : A tiny wrapper around "spawn" for executing a command efficiently and conveniently.
  • nanopath : A tiny isomorphic port of [email protected] path module.
  • node-buffer-encoding : A little wrapper around Node's Buffer that provides encoding/decoding for all supported encodings.
  • noop-tag : A noop template literal tag, useful for syntax highlighting hints.
  • noren : A minimal HTTP server with good developer-experience and performance, for Node and beyond.
  • oby : A tiny Observable implementation, the brilliant primitive you need to build a powerful reactive system.
  • paketo : A tiny library for importing your package.json, with proper types!
  • path-prop : Fast library for manipulating plain objects using paths.
  • performance-interval : A precise implementation of setInterval that supports sub-millisecond intervals.
  • picolate : A minimalistic and flexible templating engine, inspired by Handlebars.
  • picolru : A tiny LRU implementation that strives for simplicity and performance.
  • picorpc : A tiny RPC library and spec, inspired by JSON-RPC 2.0 and tRPC.
  • pikchr-wasm : A fast and small port of Pikchr to WASM.
  • pioppo : A tiny isomorphic batched logger. ~3x faster than regular logging in Node.
  • plain-object-clone : Extremely fast function optimized for deep cloning json-serializable plain objects.
  • plain-object-is-empty : Extremely fast function that checks if a plain object is empty.
  • plain-object-is-equal : Extremely fast function optimized for deep equality checks of json-serializable plain objects.
  • plain-object-merge : Extremely fast function optimized for deep merging json-serializable plain objects.
  • pollex : A tiny polling-based filesystem watcher that tries to be efficient.
  • prask : Lightweight prompting library for terminal apps.
  • promise-concurrency-limiter : Tiny scheduler for functions returning promises that can limit their concurrency.
  • promise-make-counter : A simple function that makes a counter-based promise, which can be incremented and decremented, and it resolves once its counter reaches zero.
  • promise-make-naked : A simple function that makes a promise that can be resolved or rejected from the outside.
  • promise-resolve-timeout : Create a Promise which will resolve with the provided value after a timeout.
  • qunit-ava-spec : Helper functions for using QUnit as if it was ava/ava-spec.
  • radix64-encoding : Radix64 encoding, a.k.a. Base64 encoding. An extremely fast and synchronous JS implementation.
  • radix64url-encoding : Radix64url encoding, a.k.a. Base64url encoding. An extremely fast and synchronous JS implementation.
  • regexp-ranged-exec: PPP : Generate an enhanced exec function, with information about the range of text that the regex paid attention to.
  • safex: PP : A language for writing safe expressions, in a tiny subset of JavaScript.
  • sanitize-basename : Sanitize a file name for cross-platform validity.
  • scex : A simple runner for npm scripts that can execute multiple scripts, in serial or in parallel.
  • siero : A serialization library that can handle functions, promises and symbols too.
  • siero-worker : A managed worker that can be interacted with via Siero.
  • skex : A modern schema validation and filtration library with great TypeScript support.
  • secret : The simplest command to encrypt/decrypt a file, useful for committing encrypted ".env" files to version control, among other things.
  • shortcuts : Super performant and feature rich shortcuts management library.
  • shortcuts-font : A minimal font designed to beutifully render characters used for representing shortcuts.
  • shosho : A modern and powerful shortcuts management library.
  • siar : A simple random-access archive format.
  • special-tlds : List of special-use ICANN TLDs.
  • specialist : A library that helps you write tiny, fast, bundled and beautiful CLI apps that can automatically check for updates.
  • stdin-blocker : A tiny library for blocking stdin keypresses, except for ctrl+c. Useful while displaying animations.
  • strid : Get a unique string identifier for any input value.
  • string-escape-regex : A tiny function for escaping a string to be used as the source in a regex.
  • string-from-charcodes : An alternative to String.fromCharCode that doesn't throw with many arguments, while still remaining fast.
  • string-indexes : Retrieves all indexes, in non-overlapping ranges, of a substring in a string.
  • string-matches : Retrieves all the matches of a regex in a string.
  • string-matches-generator : Retrieves all the matches of a regex in a string, via a generator.
  • stubborn-fs : Stubborn versions of Node's fs functions that try really hard to do their job.
  • template : A super-simple way to create new projects based on templates.
  • test-diff : Library for writing tests that diff the excepted output with the actual output.
  • textmate-highlighter : An isomorphic syntax highlighter using TextMate grammars and VSCode themes.
  • tiny-bin : A library for building tiny and beautiful command line apps.
  • tiny-browser-open : A tiny utility for opening a file or a URL inside a browser of your choosing.
  • tiny-buffer : A tiny isomorphic implementation of a large subset of Node's Buffer.
  • tiny-colors : A tiny library providing the basic ANSI colors for the terminal.
  • tiny-compressor : A tiny isomorphic compression library that leverages CompressionStream and DecompressionStream.
  • tiny-cursor : A tiny library for hiding and showing the cursor in the terminal.
  • tiny-dirname : A tiny isomorphic ESM alternative to Node's "__dirname" global.
  • tiny-divider : A tiny simple terminal divider that spans the entire width of the terminal.
  • tiny-editorconfig : A tiny isomorphic parser and resolver for EditorConfig.
  • tiny-encryptor : A tiny opinionated isomorphic library for encrypting and decrypting with ease.
  • tiny-filename : A tiny isomorphic ESM alternative to Node's "__filename" global.
  • tiny-jsonc : An absurdly small JSONC parser.
  • tiny-levenshtein : A tiny implementation of the Levenshtein edit distance algorithm.
  • tiny-livereload : A tiny and basic livereload solution.
  • tiny-parse-argv : A tiny function for parsing process.argv, a modern rewrite of a sensible subset of minimist.
  • tiny-readdir : A simple promisified recursive readdir function.
  • tiny-readdir-glob : A simple promisified recursive readdir function, with support for globs.
  • tiny-readdir-glob-gitignore : A simple promisified recursive readdir function, with support for globs and .gitignore files.
  • tiny-spinner : A simple, yet beautiful, CLI spinner.
  • tiny-sqlite3 : A tiny cross-platform client for SQLite3, with precompiled binaries as the only third-party dependencies.
  • tiny-truncate : A tiny function for truncating a string which may containg ANSI escapes, with automatic terminal width detection.
  • tiny-updater : The smallest update notifier for NPM packages, useful for CLI apps.
  • tiny-webcrypto : A tiny isomorphic WebCrypto object, it just gives you the native one the current platform provides.
  • tokens-highlighter : A general syntax highlighter that can render syntax highlighting tokens.
  • toygrad : A toy library for building simple neural networks which can be serialized to compact JSON.
  • tryloop : Simple library for retrying operations, it supports multiple backoff strategies.
  • tsex : A little CLI for making TypeScript packages, cleanly and effortlessly.
  • ua2os : Detect the OS from a User-Agent string.
  • uint-rng : A tiny insorphic Random Number Generator for generating 8/16/32-bits unsigned integers.
  • uint8-concat : Concatenate mutiple Uint8Arrays super efficiently.
  • uint8-encoding : Uint8 encoding, a simple way to convert strings to Uint8Arrays and vice versa.
  • uint8-to-hex : The fastest function to convert a Uint8Array to hexadecimal.
  • unsanitize-basename : Unsanitize a file name, the inverse of the "sanitize-basename" library.
  • unused-path : Reliably get an unused path and copy/move/write to it.
  • utf16le-encoding : UTF16-le encoding, a.k.a. UCS2 encoding, an encoding you probably should never use.
  • voby : A high-performance framework with fine-grained observable-based reactivity for building rich applications.
  • voby-simple-router ISO : A simple isomorphic router for Voby.
  • vscode-extras NODE : A collection of utilities for development vscode extensions.
  • watcher : The file system watcher that strives for perfection, with no native dependencies and optional rename detection support.
  • webworker-shim : A tiny shim for WebWorker (data URI only) that works in Node.
  • when-exit : Execute a function right before the process, or the browser's tab, is about to exit.
  • worktank : A simple isomorphic library for executing functions inside WebWorkers or Node Threads pools.
  • worktank-esbuild-plugin : Esbuild plugin for WorkTank which enables you to execute whole files in a worker pool, transparently.
  • worktank-vite-plugin : Vite plugin for WorkTank which enables you to execute whole files in a worker pool, transparently.
  • write-unused-path : Reliably write to an unused path.
  • xml-simple-parser : A simple and tiny XML parser and stringifier.
  • zeptoid : A tiny isomorphic fast function for generating a cryptographically random hex string.
  • zeptomatch : An absurdly small glob matcher that packs a punch.
  • zeptomatch-escape : A little utility for escaping globs before passing them to zeptomatch.
  • zeptomatch-explode : A little utility for exploding a zeptomatch-flavored glob into its dynamic and static parts.
  • zeptomatch-is-static : A little utility for checking if a glob is fully static.
  • zeptomatch-unescape : A little utility for removing escape sequences from a glob.
  • zstandard-wasm : A fast and small port of Zstandard to WASM. (Decompress-only for now).

Chrome Extensions

VSCode Extensions

  • vscode-banal : A super quick way to inspect the bundle size of npm dependencies, via a code lens.
  • vscode-browser-refresh : Refresh the browser with a ⌘R, right from Code. No need to switch focus to it.
  • vscode-commands : Trigger arbitrary commands from the statusbar. Supports passing arguments!
  • vscode-diff : Diff 2 opened files with ease. Because running code --diff path1 path2 is too slow.
  • vscode-git-history : View or diff against previous versions of the current file.
  • vscode-github-notifications-bell : A secure, customizable, statusbar bell that notifies you about notifications on github.
  • vscode-gitman : Frontend for GitMan for switching quickly to other repositories.
  • vscode-highlight : Advanced text highlighter based on regexes. Useful for todos, annotations etc.
  • vscode-outdated : A super quick way to update npm dependencies, via a code lens.
  • vscode-terminals : An extension for setting-up multiple terminals at once, or just running some commands.
  • vscode-todo-plus : Manage todo lists with ease. Powerful, easy to use and customizable.

Templates

Others

  • .github: Account-level .github directory.
  • ama: Ask me anything!
  • monorepo: The homepage for all my repositories.
  • phoenix: My Phoenix setup. Powerful, easy to customize, tuned for web development, adds a space switcher.
  • website: My personal website.
  • yinyang-clock: A clock that keeps track of time spent yinning vs time spent yanging.

Repositories (Archived)

All archived, no longer maintained, repositories are listed here.

About

The homepage for all my repositories.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published