Underscore.js
Underscore is a JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects. Underscore provides over 100 functions that support both your favorite workaday functional helpers like map, filter, and invoke, as well as more specialized goodies like function binding, javascript templating, creating quick indexes, deep equality testing, and so on. You may choose between monolithic and modular imports. The project is hosted on GitHub. You can report bugs and discuss features on the issues page or chat in the Gitter channel. Underscore 1.x is backward compatible with any engine that fully supports ES3, while also utilizing newer features when available. Collection functions work on arrays, objects, and array-like objects. We have recent confirmation that the library is compatible with Adobe ExtendScript. There is support code present for IE 8, which we will retain in future Underscore updates.
Learn more
Anime.js
Anime.js is a lightweight JavaScript animation library with a simple, yet powerful API. It works with CSS properties, SVG, DOM attributes, and JavaScript Objects. Follow through animations made easy. Anime's built-in staggering system makes complex follow-through and overlapping animations simple. It can be used on both timings and properties. Animate multiple CSS transforms properties with different timings simultaneously on a single HTML element. Play, pause, control, reverse and trigger events in sync using the complete built-in callbacks and controls functions. Anime.js works with anything web. CSS, SVG, DOM attributes and JavaScript Objects, animate everything with a single unified API. Staggering allows you to animate multiple elements with follow-through and overlapping action. Animation keyframes are defined using an Array, within the keyframes property. Each keyframe duration will be equal to the animation's total duration divided by the number of keyframes.
Learn more
JSON
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.
JSON is built on two structures:
1. A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array.
2. An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence.
These are universal data structures. Virtually all modern programming languages support them in one form or another.
Learn more
Emotion
Emotion is a performant, flexible CSS-in-JS library designed for writing CSS styles using JavaScript, supporting both string-based and object-based styles while delivering a strong developer experience, complete with source maps, labels, and testing utilities. It offers two powerful usage patterns; a framework-agnostic approach which requires no special configuration yet supports vendor-prefixing, nested selectors, media queries, and class composition through the CSS and CX functions; and a React-optimized variant providing advanced features like the CSS prop for direct styling (similar to the style prop but with support for nested selectors, media queries, and theming capabilities), zero-configuration server-side rendering, native theming, and compatibility with ESLint tooling. Emotion also supports styled-component-like APIs, enabling tag-based or component-based styled elements with dynamic prop-driven styling.
Learn more