preact
React-like API (pre-hooks). Cool ecosystem of similarly tiny tools and components. Highly recommended.
π€ A collection of tiny JS libraries (under 2 kB) to put your bundle on a diet
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
React-like API (pre-hooks). Cool ecosystem of similarly tiny tools and components. Highly recommended.
vDOM framework with pure JS syntax and immutable state,
Hyperapp-style templates with imperative event listeners and updates,
React-like library with hooks and concurrency,
vDOM-based framework optimized for no-build setups,
Hyperapp with state & effect hooks removed,
Tagged templates + reactive data,
jQuery-style DOM manipulation library,
Plain event emitter that I use on most projects,
Nicer unsubscribe API, but no * event,
Also has .once method,
Modular store with good tree-shaking support, vanilla, + React extra. Supports all the top frameworks.
Atomic stores with lots of framework connectors, + React extra. Supports all the top frameworks.
Minimal redux-styled store with lots of framework connectors, . React extra + Vue, Svelte, Angular.
Centralized store with actions, + React
Store with useState-like API, , including React / preact connector.
The OG signals from preact core, with react integration.
A smaller signal implementation,
4 functions to make objects observable and listen to changes,
Signals from Solid (it almost fit into UI frameworks category itself). Author warning: it's probably buggy.
Rx-styled event streams,
Rx-style event streams,
Declarative router for React / preact, , also available as a standalone hook:
Routes as a nanostores store (framework-agnostic),
History-based observable router,
Route parser and matcher in
Convert path to regexp in
Parse querystrings in . Not sure you need it, URL API support is good.
Detect locale, load dictionaries, format dates / numbers, including nanostores.
Interpolation and dates / numbers, , or with react bindings.
Bare-bones template strings ({{hello}}, {{username}}) and custom functions for everyting else,
Small core with template strings,
Not tiny as a whole, but most functions are under 1 kB each (format and parse are quite heavy).
Simple date / time formatter: {h}:{mm} -> 9:33,
Date / time formatter, only supports padded numeric output (September -> 09),
More of the same,
Parse & format ms durations, e.g. "1m" <-> 60000,
Format dates into stuff like X minutes ago or in X hours,
More of the same,
90 tree-shakable helpers (list).
187 tree-shakable helpers (list).
82 helpers in separate packages (list).
96 tree-shakable helpers. Lazy evaluation support.
zod-style API with fine-grained checks: v8n().string().minLength(5).first("H").last("o"). No tree shaking,
The smallest validation library:
The most popular modular validation library with good tree-shaking,
Another modular validation library,
Composable functional validators, .
Manipulate colors and convert between spaces, . Extra features come as plugins, 150b to 1.5 kB each.
More of the same,
More of the same,
Attractive random colors with configuration.
Pan, swipe, tap, doubletap, longpress, and pinch / rotate. My personal favorite. .
Configurable pan, swipe, tap, doubletap, longpress. .
Unified interface for mouse, touch and pointer events,
Detect present and primary input method (touch / mouse) and supported events,
Feature-rich and customizable: multi-field indices, stop words, custom stemmers and tokenizers.
Similar to js-search, differs in ranking and is less strict for multi-word queries (compare). Supports field weights.
Also similar, (compare)
Index-free search (slower, but easier to use) with sane ordering
Index-free, can highlight matches.
With stateful index.
Matches one string at a time, tree-shakeable scores and match highlighting. total, or ~150 bytes for hasMatch only.
One string at a time, does not compute score / rank.
Quicksilver algorithm, prioritizes matches at start of word for command abbreviations (e.g. gp -> git push). One string at a time.
Another quicksilver-based lib, tweaked for long strings. Built-in list filtering and sorting, or 1.2 kB for single-string scoring.
Find misspellings, e.g. missipissi -> Missisipi, Commercial usage costs $42.
rust-unofficial/awesome-rust
A curated list of Rust code and resources.
jaywcjlove/awesome-mac
ο£Ώ This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.
vinta/awesome-python
Curated Python frameworks, libraries and resources.
fffaraz/awesome-cpp
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.
avelino/awesome-go
Curated Go frameworks and libraries.
ziadoz/awesome-php
A curated list of amazingly awesome PHP libraries, resources and shiny things.