# seqpar

> seqpar is a batch executor run in sequential & parallel

Latest version **1.1.1** (published 2018-05-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install seqpar
pnpm add seqpar
yarn add seqpar
bun add seqpar
```

Provides the command `seqpar`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.1 |
| Published | 2018-05-21 |
| First published | 2018-03-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 10 |
| Unpacked size | 249.7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Leko |
| Maintainers | lekoleko |
| Keywords | executable, batch, exec, sequential, parallel, file, js, node |

## Links

- npm: https://www.npmjs.com/package/seqpar
- Repository: https://github.com/Leko/seqpar
- Issues: https://github.com/Leko/seqpar/issues
- npm.io page: https://npm.io/package/seqpar

## Dependencies (10)

- [ora](https://npm.io/package/ora.md) ^2.0.0
- [glob](https://npm.io/package/glob.md) ^7.1.2
- [yargs](https://npm.io/package/yargs.md) ^11.0.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.5
- [figures](https://npm.io/package/figures.md) ^2.0.0
- [inquirer](https://npm.io/package/inquirer.md) ^5.1.0
- [cli-truncate](https://npm.io/package/cli-truncate.md) ^1.1.0
- [string-width](https://npm.io/package/string-width.md) ^2.1.1
- [es6-promisify](https://npm.io/package/es6-promisify.md) ^6.0.0
- [ascii-progress](https://npm.io/package/ascii-progress.md) ^1.0.5

## Alternatives

- [@mapbox/jsonlint-lines-primitives](https://npm.io/package/@mapbox/jsonlint-lines-primitives.md) — 5.3M weekly downloads
- [reftools](https://npm.io/package/reftools.md) — 3.5M weekly downloads
- [@hey-api/openapi-ts](https://npm.io/package/@hey-api/openapi-ts.md) — 3.5M weekly downloads
- [@mapbox/geojson-rewind](https://npm.io/package/@mapbox/geojson-rewind.md) — 2.4M weekly downloads
- [turbo-stream](https://npm.io/package/turbo-stream.md) — 1.7M weekly downloads

## Recent versions

- 1.1.1 (latest) — 2018-05-21
- 1.1.0 — 2018-05-21
- 1.0.0 — 2018-03-27
- 0.1.2 — 2018-03-12
- 0.1.1 — 2018-03-12
- 0.1.0 — 2018-03-12

## README

# seqpar

[![Greenkeeper badge](https://badges.greenkeeper.io/Leko/seqpar.svg)](https://greenkeeper.io/)
[![npm](https://img.shields.io/npm/v/seqpar.svg)](https://www.npmjs.com/package/seqpar)
[![GitHub license](https://img.shields.io/github/license/Leko/seqpar.svg)](https://github.com/Leko/seqpar/blob/master/LICENSE)
[![CircleCI](https://circleci.com/gh/Leko/seqpar/tree/master.svg?style=svg)](https://circleci.com/gh/Leko/seqpar/tree/master)

seqpar is a batch executor run in sequential &amp; parallel.  
It's easy to create efficient build process.

![seqpar_beautify](https://user-images.githubusercontent.com/1424963/37290004-8183a70e-264e-11e8-9a00-e723715a6e60.gif)

## Install
```
npm i -g seqpar
```

### Requirement
- Node.js 6+

## Defint first batch file
All batch files are named in `{GROUP}_name(.{ext})` (e.g. `000_init.js`, `01_lint.sh`, `999_failover`).

```sh
#!/usr/bin/env bash

echo 'Hello, seqpar!'
```

```js
console.log('Hello, seqpar!')
```

### Executable order and parallelism
Same `GROUP` run in parallel, different group run in sequential.

```
000_init
010_bootstrap_npm   <- Run in parallel
010_bootstrap_pods  <- Run in parallel
010_bootstrap_cargo <- Run in parallel
020_lint
030_build
040_tag                <- Run in parallel
040_generate_changelog <- Run in parallel
040_prepublish         <- Run in parallel
999_publish
```

## Usage
```
seqpar [DIRECTORY]

Options:
  --help             Show help                                         [boolean]
  --version          Show version number                               [boolean]
  -p, --concurrency  Specify the maximum number of concurrency
                                                           [number] [default: 4]
  -b, --bail         Bail after first test failure     [boolean] [default: true]
  -r, --recursive    Include sub directories          [boolean] [default: false]
  --reporters        Specify the reporter to use             [default: ["file"]]
  --runtimes         Use the given runtime(s) to execute files
                                            [default: ":bash,bash:bash,js:node"]

Examples:
  seqpar 'scripts/**/*.js'                  Using glob pattern
  seqpar --recursive scripts                Using recursive flag
  seqpar --no-bail 'scripts/**/*.js'        Run all process even if one or more
                                            process returns not-zero status
  seqpar --concurrency=2 scripts            Specify concurrency
  seqpar --runtimes=':sh,coffee:coffee,ts:ts-node' scripts

For more information, find our manual at https://github.com/Leko/seqpar
```

## Contribution
seqpar welcomes all contributions from anyone.

1. Fork it
1. Run `npm install`
1. Commit your changes
1. Send pull request to `master` branch

---
_Source: https://npm.io/package/seqpar · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
