JavaScript Control Flow

Open-source JavaScript projects categorized as Control Flow

Top 23 JavaScript Control Flow Projects

  • async

    Async utilities for node and the browser

    Project mention: What is this callback in async.parallel function? | | 2022-08-08

    Have you checked out the docs for the async library they are using?

  • Bluebird

    :bird: :zap: Bluebird is a full featured promise library with unmatched performance.

    Project mention: Oven: The Company Behind Bun | | 2022-08-23

    It might, if the code can be optimized. There are all sorts of reasons why it might not. For example, at one point in time, a switch statement with more than 128 cases could not be optimized.

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • q

    A promise library for JavaScript

    Project mention: How to make Ajax request through NodeJS to an endpoint | | 2023-01-25

    How can I achieve this in NodeJS. I wonder if Q Library can be utilized in this case

  • co

    The ultimate generator based flow-control goodness for nodejs (supports thunks, promises, etc)

    Project mention: What's another way to write "for await" that is es6 compatible? | | 2022-06-25

    Given that the semantics of async functions are quite similar to generator functions, you can use a library the uses the latter to emulate the former – e.g.:

  • Javascript State Machine

    A javascript finite state machine library

  • when

    A solid, fast Promises/A+ and when() implementation, plus other async goodies.

    Project mention: If you are making a library, take a good look at this list! | | 2022-10-30

    looking at you "When"!

  • Fluture

    :butterfly: Fantasy Land compliant (monadic) alternative to Promises

    Project mention: FP for web/mobile apps in 2022? | | 2022-08-02

    I think that it is fine to code perfectly functional apps using TypeScript with React Native and React. You will have a huge community to support you with documentation, libraries, and available labor. Yes, the language has a lot of soundness holes and misses a lot of useful features like pattern matching or type classes but, for me, it is a valid trade-off. There are libraries for better FP programming in TypeScript like fp-ts, io-ts, and fluture.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • step

    An async control-flow library that makes stepping through logic easy.

    Project mention: Easy UI testing with Cypress | | 2022-12-30

    import { When, Then, Given } from '@badeball/cypress-cucumber-preprocessor'; Given(`I've opened the`, () => { cy.visit(''); cy.intercept('GET', '', [ { name: 'step', scope: 'unscoped', version: '1.0.0', description: 'Test', date: '2017-01-06T21:16:57.341Z', links: { npm: '' }, author: { name: 'John Smith', email: '[email protected]', username: 'test' }, publisher: { username: 'test', email: '[email protected]' }, maintainers: [{ username: '[email protected]', email: '[email protected]' }], }, ]).as('getResults'); }); When('I typed a phrase in the search field', () => { cy.get('input[name="q"]').type('step'); }); Then('I should see the results in the dropdown menu', () => { cy.wait('@getResults'); cy.get('ul[role="listbox"] li').should('have.length', 1).should('have.text', 'stepTest1.0.0'); });

  • pify

    Promisify a callback-style function

    Project mention: My theory on why so many people are bad at coding. | | 2022-08-12

    What's probably got your shorts in a knot is the contents of the node_modules directory. That directory is a cache for mode.js modules so the tutorial can function standalone without having to install anything else. Treat it as you would object code. I pulled a half-dozen of those modules at random and went to their repositories. Every one of them had unit tests: block-stream, graceful-fs, lowercase-keys, minimist, pify and safe-buffer. Nobody sane ships unit tests with their executables.

  • p-map

    Map over promises concurrently

  • zen-observable

    An Implementation of Observables for Javascript

  • contra

    :surfer: Asynchronous flow control with a functional taste to it

  • neo-async

    Neo-Async is thought to be used as a drop-in replacement for Async, it almost fully covers its functionality and runs faster

  • suspend

    Callback-free control flow for Node using ES6 generators.

  • delay

    Delay a promise a specified amount of time

    Project mention: 11B ethereum hardhat : Create task | | 2022-07-23

    Manually creating a Promise can look challenging, but you don't have to do that if you stick to async/await and Promise-based APIs. For example, you can use the npm package delay for a promisified version of setTimeout.

  • js-csp

    CSP channels for Javascript (like Clojurescript's core.async, or Go) THIS IS AN UPSTREAM FORK (by jlongster)

  • zone

    Flow control and error handling for Node.js

  • modern-async

    A modern JavaScript tooling library for asynchronous operations using async/await, promises and async generators

  • angular-async-loader

    Load modules and components asynchronously for angular 1.x application.

  • pinkie-promise

    Promise ponyfill with pinkie

    Project mention: Imagine a 5-years-old code like this on production | | 2022-12-22

    Like this?

  • promise-breaker

    Helps you write libraries that accept both promises and callbacks.

  • bluebird-co

    A set of high performance yield handlers for Bluebird coroutines

  • cpsfy

    🚀 Tiny goodies for Continuation-Passing-Style functions, fully tested

  • Sonar

    Write Clean JavaScript Code. Always.. Sonar helps you commit clean code every time. With over 300 unique rules to find JavaScript bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-01-25.

JavaScript Control Flow related posts


What are some of the best open-source Control Flow projects in JavaScript? This list will help you:

Project Stars
1 async 27,801
2 Bluebird 20,236
3 q 14,953
4 co 11,804
5 Javascript State Machine 8,434
6 when 3,449
7 Fluture 2,413
8 step 2,219
9 pify 1,481
10 p-map 942
11 zen-observable 842
12 contra 763
13 neo-async 640
14 suspend 550
15 delay 521
16 js-csp 283
17 zone 280
18 modern-async 160
19 angular-async-loader 135
20 pinkie-promise 120
21 promise-breaker 83
22 bluebird-co 76
23 cpsfy 64
Write Clean JavaScript Code. Always.
Sonar helps you commit clean code every time. With over 300 unique rules to find JavaScript bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.