Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fluents/awesome-fluents

A collection of awesome fluent interfaces / chainable apis
https://github.com/fluents/awesome-fluents

List: awesome-fluents

Last synced: 3 months ago
JSON representation

A collection of awesome fluent interfaces / chainable apis

Awesome Lists containing this project

README

        

# Awesome Fluent [![awesome.list](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)[![Build Status](https://travis-ci.org/fluents/awesome-fluents.svg?branch=master)](https://travis-ci.org/fluents/awesome-fluents)

> A collection of awesome fluent interfaces / chainable apis

## Contents

- [NodeJS](nodejs)
- [Web and NodeJS](web%20and%20nodejs)
- [Classics](classics)
- [My Fluent Packages](my%20fluent%20packages)
- [Articles](articles)
- [Contribute](contribute)
- [License](license)

## NodeJS

- [webpack-chain](https://github.com/mozilla-neutrino/webpack-chain) Use a chaining API to generate and simplify the modification of Webpack 2 configurations. -- *Maintainer*: `Eli`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/eliperman)
- [fuse-box](https://github.com/fuse-box/fuse-box) Fuse-Box a bundler that does it right -- *Maintainer*: `nchanged`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/nchanged)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/nchanged)
- [fliplog](https://github.com/fliphub/fliplog) fluent logging with verbose insight, colors, tables, emoji, filtering, spinners, progress bars, timestamps, capturing, stack traces, clearing, & presets -- *Maintainer*: `James`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/aretecode)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/aretecode)
- [chalk](https://github.com/chalk/chalk) Terminal string styling done right. Much color. -- *Maintainer*: `Sindre Sorhus`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/sindresorhus)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/sindresorhus)
- [express](https://github.com/expressjs/express) Fast, unopinionated, minimalist web framework -- *Maintainer*: `dougwilson`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/dougwilson)
- [inquirer](https://github.com/SBoudrias/inquirer.js) A collection of common interactive command line user interfaces. -- *Maintainer*: `dthree`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/dthree)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/dthree)
- [yargs](https://github.com/yargs/yargs) yargs the modern, pirate-themed, successor to optimist. -- *Maintainer*: `Benjamin E. Coe`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/bcoe)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/benjamincoe)
- [supertest](https://github.com/visionmedia/supertest) SuperAgent driven library for testing HTTP servers -- *Maintainer*: `mikelax`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/mikelax)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/mikelax)
- [testcafe](https://github.com/DevExpress/testcafe) Automated browser testing for the modern web development stack.
- [async-chainable](https://github.com/hash-bang/async-chainable) Flow control functions for NodeJS -- *Maintainer*: ` David Porter`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/DesertLynx) -- *Maintainer*: `Matt Carter`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/hash-bang)

## Web and NodeJS

- [d3](https://github.com/d3/d3) Data-Driven Documents -- *Maintainer*: `Mike Bostock`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/mbostock)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/mbostock)
- [lodash](https://github.com/lodash) Lodash modular utilities. -- *Maintainer*: `John-David Dalton`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/jdalton)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/jdalton)
- [fluture](https://github.com/fluture-js/fluture) FantasyLand compliant (monadic) alternative to Promises -- *Maintainer*: `Aldwin Vlasblom`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/Avaq)
- [compromise](https://github.com/nlp-compromise/compromise) natural language processing in the browser -- *Maintainer*: `Spencer Kelly`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/spencermountain)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/spencermountain)
- [JSVerbalExpressions](https://github.com/VerbalExpressions/JSVerbalExpressions) JS RegularExpressions made easy (& fluent)
- [immutable-js](https://github.com/facebook/immutable-js) Immutable types in JavaScript -- *Maintainer*: `leebyron`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/leebyron)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/leebyron)
- [mathjs](https://github.com/josdejong/mathjs) Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif -- *Maintainer*: `Jos de Jong`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/josdejong)
- [joi](https://github.com/hapijs/joi) Object schema validation -- *Maintainer*: `Nicolas Morel`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/marsup)

## Classics

- [commander](https://github.com/tj/commander.js) the complete solution for node.js command-line programs
- [vorpal](https://github.com/dthree/vorpal) Node's first framework for building immersive CLI apps.
- [gulp](https://github.com/gulpjs/gulp) The streaming build system
- [jquery](https://github.com/jquery/jquery) a fast, small, & feature-rich JavaScript library. It makes things like HTML document traversal & manipulation, event handling, animation, & Ajax much simpler with an easy-to-use chainable API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.

## My Fluent Packages

- [chain-able](https://github.com/fluents/chain-able) next level chaining. -- *Maintainer*: `James`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/aretecode)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/aretecode)
- [bench-chain](https://github.com/fluents/bench-chain) benchmark recording - averages & graphs. -- *Maintainer*: `James`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/aretecode)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/aretecode)
- [funwithflags](https://github.com/fluents/funwithflags) parse argument options -- *Maintainer*: `James`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/aretecode)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/aretecode)
- [d-l-l](https://github.com/fliphub/d-l-l) easy, automatic, optimized dll config handler for webpack -- *Maintainer*: `James`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/aretecode)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/aretecode)
- [script-chain](https://github.com/fluents/script-chain) fluent script building -- *Maintainer*: `James`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/aretecode)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/aretecode)
- [cli-chain](https://github.com/fluents/cli-chain) chainable cli creation, minimal, interactive, powerful. -- *Maintainer*: `James`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/aretecode)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/aretecode)
- [likeaboss](https://github.com/fluents/likeaboss) export for nodejs or web like a boss, easy, fast, & tiny. -- *Maintainer*: `James`[![Github](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/github-square.svg)](https://github.com/aretecode)[![Twitter](https://rawgit.com/d3viant0ne/awesome-webpack/master/media/twitter-square.svg)](https://twitter.com/aretecode)

## Articles

- [designing js apis for usability (smashingmagazine)](https://www.smashingmagazine.com/2012/10/designing-javascript-apis-usability/)
- [js like a boss; understanding fluent apis (sitepoint)](https://www.sitepoint.com/javascript-like-boss-understanding-fluent-apis/)
- [fluent apis & method chaining (modernweb)](https://modernweb.com/fluent-apis-and-method-chaining/)
- [improve readibility with fluent apis](http://thejsguy.com/2016/01/05/improve-code-readability-in-javascript-with-fluent-interfaces.html)
- [fluent js](http://nikas.praninskas.com/javascript/2015/04/26/fluent-javascript/)
- [fluent interface (wikipedia)](https://en.wikipedia.org/wiki/Fluent_interface)
- [Martin Fowler on FluentInterface](https://www.martinfowler.com/bliki/FluentInterface.html)

## Contribute

Contributions welcome!
Read the [contribution guidelines](contributing.md) first.

## License

[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](http://creativecommons.org/publicdomain/zero/1.0)
To the extent possible under law, James has waived all copyright and related or neighboring rights to this work.