Mercury leverages virtual-dom which uses an immutable vdom structure
Mercury comes with observ-struct which uses immutable data for your state atom
Mercury is truly modular, you can trivially swap out subsets of it for other modules
Mercury source code itself is maintainable, the modules it uses are all small, well tested and well documented. you should not be afraid to use mercury in production as it's easy to maintain & fix.
Mercury encourages zero dom manipulation in your application code. As far as your application is concerned elements do not exist. This means you don't need to reference DOM elements when rendering or when handling events
Mercury is a small glue layer that composes a set of modules that solves a subset of the frontend problem.
Video for JSDOC - Jump Start https://www.youtube.com/watch?v=WltHhaSCl1I
The primary reason ESLint was created was to allow developers to create their own linting rules. ESLint is designed to have all rules completely pluggable. The default rules are written just like any plugin rules would be. They can all follow the same pattern, both for the rules themselves as well as tests. While ESLint will ship with some built-in rules to make it useful from the start, you’ll be able to dynamically load rules at any point in time.
ESLint is written using Node.js to provide a fast runtime environment and easy installation via npm.
ESLint uses an AST to evaluate patterns in code.
ESLint is completely pluggable, every single rule is a plugin and you can add more at runtime.
Crafty, previously known as CraftyJS, is a small, simple, and lightweight game engine that can greatly help you build prototypal or fully-featured 2D HTML5 games. Crafty is also open-source and completely free. Its code is hosted openly on GitHub.com and is distributed under the MIT or GPL license.
A Crafty.js game is build up of entities -- the player character, enemies, and obstacles are all represented this way.
Sinon provides spies, stubs, and mocks. They’re all useful as fakes in tests. They come with essential differences for what they’re helpful in doing and how they work.
Test stubs are functions (spies) with pre-programmed behavior.
They support the full test spy API in addition to methods which can be used to alter the stub’s behavior.
As spies, stubs can be either anonymous or wrap existing functions. When wrapping an existing function with a stub, the original function is not called.
var stub = sinon.stub();
npm install sinon
Video for Sinon.JS https://www.youtube.com/watch?v=SvudHPTEsIk