awesome-tiny-js
github.com/thoughtspile/awesome-tiny-js ↗🤏 A collection of tiny JS libraries (under 2 kB) to put your bundle on a diet
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me reactive programming resources from awesome-tiny-js"
Installation instructions →What's inside
Touch Gestures
- alloyfinger
Pan, swipe, tap, doubletap, longpress,
- detect-it
Detect present and primary input method (touch / mouse) and supported events,
- pointer-tracker
Unified interface for mouse, touch and pointer events,
- tinygesture
Configurable pan, swipe, tap, doubletap, longpress.
UI Frameworks
- arrowjs
Tagged templates + reactive data,
- fre
React-like library with hooks and concurrency,
- hyperapp
vDOM framework with pure JS syntax and immutable state,
- preact
React-like API (pre-hooks). Cool ecosystem of similarly tiny tools and components. Highly recommended.
- redom
Hyperapp-style templates with
- superfine
Hyperapp with state & effect hooks removed,
Validation
- banditypes
The smallest validation library:
- deep-waters
Composable functional validators,
- superstruct
The most popular modular validation library with good tree-shaking,
- v8n
zod-style API with fine-grained checks:
- valibot
Another modular validation library,
State Managers
- callbag-basicsReactive Programming
Rx-style event streams,
- exome
Atomic stores with lots of framework connectors,
- flimsySignals
Signals from Solid (it
- flydReactive Programming
Rx-styled event streams,
- hyperactivSignals
4 functions to make objects observable and listen to changes,
- nanostores
Modular store with good tree-shaking support,
Colors
- colord
Manipulate colors and convert between spaces,
- colr
More of the same,
- polychrome
More of the same,
- randomcolor
Attractive random colors with configuration.
Dates and Time
- date-fns
Not tiny as a whole, but
- dayjs
- fromnow
More of the same,
- ms
Parse & format ms durations, e.g.
- timeago.js
Format dates into stuff like
- time-stamp
More of the same,
I18N
- eo-locale
Interpolation and dates / numbers,
- lingui
Small core with template strings,
- @nanostores/i18n
Detect locale, load dictionaries, format dates / numbers,
- rosetta
Bare-bones template strings (
Text Search
- fuzzyFuzzy search
Index-free, can highlight matches.
- fuzzysearchFuzzy search
One string at a time, does not compute score / rank.
- fuzzy-searchFuzzy search
With stateful index.
- fuzzysetFuzzy search
Find misspellings, e.g. missipissi -> Missisipi,
- fzy.jsFuzzy search
Matches one string at a time, tree-shakeable scores and match highlighting.
- js-search
Feature-rich and customizable: multi-field indices, stop words, custom stemmers and tokenizers.
Showing a sample of 79 resources. View the full list on GitHub →