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

https://github.com/artdecocode/npm-s

Run NPM commands in series.
https://github.com/artdecocode/npm-s

npm scripts

Last synced: 11 months ago
JSON representation

Run NPM commands in series.

Awesome Lists containing this project

README

          

# @artdeco/npm-s

[![npm version](https://badge.fury.io/js/%40artdeco%2Fnpm-s.svg)](https://www.npmjs.com/package/@artdeco/npm-s)

`@artdeco/npm-s` Runs NPM commands in series.

```sh
yarn add @artdeco/npm-s
```

## Table Of Contents

- [Table Of Contents](#table-of-contents)
- [API](#api)
- [`async npmS(config: !Config): !Array`](#async-npmsconfig-config-arrayscriptresult)
* [`Config`](#type-config)
* [`ScriptResult`](#type-scriptresult)
- [CLI](#cli)
- [Copyright & License](#copyright--license)



## API

The package is available by importing its default function:

```js
import npmS from '@artdeco/npm-s'
```



## async npmS(
  `config: !Config,`
): !Array
Run Multiple NPM Commands In Series.

- config* !Config: The config.

__`Config`__: Options for the program.

| Name | Type | Description |
| ------------ | ----------------------------- | ---------------------------------------------------------------- |
| __scripts*__ | !Array<string> | The scripts to execute. |
| args | !Array<string> | Any additional arguments, e.g., `[--scripts-prepend-node-path]`. |

__`ScriptResult`__: The result of a script.

| Name | Type | Description |
| ----------- | --------------- | -------------------------- |
| __code*__ | number | The exit code. |
| __stdout*__ | string | The stdout of the program. |
| __stderr*__ | string | The stderr of the program. |

```js
import npmS from '@artdeco/npm-s'

(async () => {
const res = await npmS({
scripts: ['pass'],
args: ['--scripts-prepend-node-path'],
})
console.log(res)
})()
```
```
> @artdeco/npm-s@1.0.0 pass /Users/anton/adc/npm-s
> node test/fixture/pass

this file is fine
[ { code: 0,
stdout:
'\n> @artdeco/npm-s@1.0.0 pass /Users/anton/adc/npm-s\n> node test/fixture/pass\n\nthis file is fine\n',
stderr: '' } ]
```



## CLI

The package can also be used from the CLI.



Argument
Short
Description



scripts

The scripts to execute in series.


--help
-h
Print the help information and exit.


--version
-v
Show the version's number and exit.

```
Run Multiple Yarn Commands In Series.

yarn-s script[,script,...]

scripts The scripts to execute in series.
--help, -h Print the help information and exit.
--version, -v Show the version's number and exit.

Example:

yarn-s script-1 script-2
```

The program will exit with status code 1 if one of the scripts exited with non-zero code.

passfail

```js
process.stdout.write('this file is fine\n')
```

```js
process.stdout.write('hello wor')
process.exit(1)
```

**yarn-s pass fail**

```
> @artdeco/npm-s@1.0.0 pass /Users/anton/adc/npm-s
> node test/fixture/pass

this file is fine

> @artdeco/npm-s@1.0.0 fail /Users/anton/adc/npm-s
> node test/fixture/fail

hello worCommand "fail" existed with code 1
```



## Copyright & License

GNU Affero General Public License v3.0


artdecocode
© Art Deco™ 2020