Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/bevry/taskgroup

Group together synchronous and asynchronous tasks and execute them with support for concurrency, naming, and nesting.
https://github.com/bevry/taskgroup

asynchronous-tasks builtwith-taskgroup client-side concurrency flow-control javascript nodejs

Last synced: 3 months ago
JSON representation

Group together synchronous and asynchronous tasks and execute them with support for concurrency, naming, and nesting.

Awesome Lists containing this project

README

        

# TaskGroup

Status of the GitHub Workflow: bevry
NPM version
NPM downloads


GitHub Sponsors donate button
ThanksDev donate button
Patreon donate button
Liberapay donate button
Buy Me A Coffee donate button
Open Collective donate button
crypto donate button
PayPal donate button


Discord server badge
Twitch community badge

Group together synchronous and asynchronous tasks and execute them with support for concurrency, naming, and nesting.

## Usage

[Complete API Documentation.](http://master.taskgroup.bevry.surge.sh/docs/)

[Tutorials & Guides.](https://taskgroup.bevry.me)

[Web Browser Demonstration.](http://master.taskgroup.bevry.surge.sh/web/)

## Install

### [npm](https://npmjs.com "npm is a package manager for javascript")

- Install: `npm install --save taskgroup`
- Import: `import * as pkg from ('taskgroup')`
- Require: `const pkg = require('taskgroup')`

### [jspm](https://jspm.io "Native ES Modules CDN")

``` html

import * as pkg from '//dev.jspm.io/[email protected]'

```
### [Editions](https://editions.bevry.me "Editions are the best way to produce and consume packages you care about.")

This package is published with the following editions:
- `taskgroup` aliases `taskgroup/index.cjs` which uses the [Editions Autoloader](https://github.com/bevry/editions "You can use the Editions Autoloader to autoload the appropriate edition for your consumers environment") to automatically select the correct edition for the consumer's environment
- `taskgroup/source/index.js` is [ESNext](https://en.wikipedia.org/wiki/ECMAScript#ES.Next "ECMAScript Next") source code for [Node.js](https://nodejs.org "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine") 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html "Node/CJS Modules") for modules
- `taskgroup/edition-browsers/index.js` is [ESNext](https://en.wikipedia.org/wiki/ECMAScript#ES.Next "ECMAScript Next") compiled for web browsers with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html "Node/CJS Modules") for modules
- `taskgroup/edition-node-4/index.js` is [ESNext](https://en.wikipedia.org/wiki/ECMAScript#ES.Next "ECMAScript Next") compiled for [Node.js](https://nodejs.org "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine") 4 || 6 || 8 || 10 || 12 || 14 || 16 || 18 || 20 || 21 with [Require](https://nodejs.org/dist/latest-v5.x/docs/api/modules.html "Node/CJS Modules") for modules

### [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.")

This project provides its type information via inline [JSDoc Comments](http://usejsdoc.org "JSDoc is an API documentation generator for JavaScript, similar to Javadoc or phpDocumentor"). To make use of this in [TypeScript](https://www.typescriptlang.org/ "TypeScript is a typed superset of JavaScript that compiles to plain JavaScript."), set your maxNodeModuleJsDepth compiler option to `5` or thereabouts. You can accomplish this via your `tsconfig.json` file like so:
``` json
{
"compilerOptions": {
"maxNodeModuleJsDepth": 5
}
}
```

## History

[Discover the release history by heading on over to the `HISTORY.md` file.](https://github.com/bevry/taskgroup/blob/HEAD/HISTORY.md#files)

## Backers

### Code

[Discover how to contribute via the `CONTRIBUTING.md` file.](https://github.com/bevry/taskgroup/blob/HEAD/CONTRIBUTING.md#files)

#### Authors

- [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.

#### Maintainers

- [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.

#### Contributors

- [Benjamin Lupton](https://github.com/balupton) — [view contributions](https://github.com/bevry/taskgroup/commits?author=balupton "View the GitHub contributions of Benjamin Lupton on repository bevry/taskgroup")
- [crito](https://github.com/crito) — [view contributions](https://github.com/bevry/taskgroup/commits?author=crito "View the GitHub contributions of crito on repository bevry/taskgroup")
- [Peter Flannery](https://github.com/pflannery) — [view contributions](https://github.com/bevry/taskgroup/commits?author=pflannery "View the GitHub contributions of Peter Flannery on repository bevry/taskgroup")
- [Sean Fridman](https://github.com/sfrdmn) — [view contributions](https://github.com/bevry/taskgroup/commits?author=sfrdmn "View the GitHub contributions of Sean Fridman on repository bevry/taskgroup")

### Finances

GitHub Sponsors donate button
ThanksDev donate button
Patreon donate button
Liberapay donate button
Buy Me A Coffee donate button
Open Collective donate button
crypto donate button
PayPal donate button

#### Sponsors

- [Andrew Nesbitt](https://nesbitt.io) — Software engineer and researcher
- [Balsa](https://balsa.com) — We're Balsa, and we're building tools for builders.
- [Codecov](https://codecov.io) — Empower developers with tools to improve code quality and testing.
- [Poonacha Medappa](https://poonachamedappa.com)
- [Rob Morris](https://github.com/Rob-Morris)
- [Sentry](https://sentry.io) — Real-time crash reporting for your web apps, mobile apps, and games.
- [Syntax](https://syntax.fm) — Syntax Podcast

#### Donors

- [Andrew Nesbitt](https://nesbitt.io)
- [Armen Mkrtchian](https://mogoni.dev)
- [Balsa](https://balsa.com)
- [Chad](https://opencollective.com/chad8)
- [Codecov](https://codecov.io)
- [dr.dimitru](https://veliovgroup.com)
- [Elliott Ditman](https://elliottditman.com)
- [entroniq](https://gitlab.com/entroniq)
- [GitHub](https://github.com/about)
- [Hunter Beast](https://cryptoquick.com)
- [Jean-Luc Geering](https://github.com/jlgeering)
- [Michael Duane Mooring](https://mdm.cc)
- [Michael Harry Scepaniak](https://michaelscepaniak.com)
- [Mohammed Shah](https://github.com/smashah)
- [Mr. Henry](https://mrhenry.be)
- [Nermal](https://arjunaditya.vercel.app)
- [Pleo](https://pleo.io)
- [Poonacha Medappa](https://poonachamedappa.com)
- [Rob Morris](https://github.com/Rob-Morris)
- [Robert de Forest](https://github.com/rdeforest)
- [Sentry](https://sentry.io)
- [ServieJS](https://github.com/serviejs)
- [Skunk Team](https://skunk.team)
- [Syntax](https://syntax.fm)
- [WriterJohnBuck](https://github.com/WriterJohnBuck)

## License

Unless stated otherwise all works are:

- Copyright © [Benjamin Lupton](https://balupton.com)

and licensed under:

- [Artistic License 2.0](http://spdx.org/licenses/Artistic-2.0.html)