Tiny JS
Frontend libraries that fit into 2 kB with dependencies.
Contents
UI Frameworks
React-like API (pre-hooks). Cool ecosystem of similarly tiny tools and components. Highly recommended. <img align="top" height="24" src="./img/preact.svg">
vDOM framework with pure JS syntax and immutable state, <img align="top" height="24" src="./img/hyperapp.svg">
Hyperapp-style templates with imperative event listeners and updates, <img align="top" height="24" src="./img/redom.svg">
React-like library with hooks and concurrency, <img align="top" height="24" src="./img/fre.svg">
vDOM-based framework optimized for no-build setups, <img align="top" height="24" src="./img/vanjs-core.svg">
Hyperapp with state & effect hooks removed, <img align="top" height="24" src="./img/superfine.svg">
Event Emitters
State Managers
Simple stores with pleasant actions and selectors. Vanilla , React extra.
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.
Routers and URL Utils
API Layer
I18N
Dates and Time
Generic Utilities
Validation
Unique ID Generation
Colors
Touch Gestures
Pan, swipe, tap, doubletap, longpress, and pinch / rotate. My personal favorite. .
Detect present and primary input method (touch / mouse) and supported events,
Text Search
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.
Fuzzy search
Matches one string at a time, tree-shakeable scores and match highlighting. total, or ~150 bytes for hasMatch only.
Quicksilver algorithm, prioritizes matches at start of word for command abbreviations (e.g. gp -> git push). One string at a time.