# @coffeekraken/scripts-stack

> Nice terminal interface to handle npm/yarn scripts execution as well as watch and run automatically the wanted ones

Latest version **0.0.30** (published 2020-02-12) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install @coffeekraken/scripts-stack
pnpm add @coffeekraken/scripts-stack
yarn add @coffeekraken/scripts-stack
bun add @coffeekraken/scripts-stack
```

Provides the commands `ck-scripts-stack`, `coffeekraken-scripts-stack`.

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.0.30 |
| Published | 2020-02-12 |
| First published | 2019-11-12 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 19 |
| Unpacked size | 468 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| Author | Coffeekraken |
| Maintainers | olivierbossel |
| Keywords | coffee, kraken, coffeekraken, terminal, scripts, npm, interface, UI, watch, command |

## Links

- npm: https://www.npmjs.com/package/@coffeekraken/scripts-stack
- Homepage: https://coffeekraken.io
- npm.io page: https://npm.io/package/@coffeekraken/scripts-stack

## Dependencies (19)

- [pad](https://npm.io/package/pad.md) ^2.0.3
- [flat](https://npm.io/package/flat.md) ^4.1.0
- [chalk](https://npm.io/package/chalk.md) ^2.3.0
- [clear](https://npm.io/package/clear.md) ^0.0.1
- [pkg-up](https://npm.io/package/pkg-up.md) ^3.1.0
- [blessed](https://npm.io/package/blessed.md) ^0.1.81
- [core-js](https://npm.io/package/core-js.md) ^3.4.2
- [find-up](https://npm.io/package/find-up.md) ^4.1.0
- [chokidar](https://npm.io/package/chokidar.md) ^3.3.0
- [commander](https://npm.io/package/commander.md) ^2.9.0
- [terminate](https://npm.io/package/terminate.md) ^2.1.2
- [clipboardy](https://npm.io/package/clipboardy.md) ^1.2.3
- [strip-ansi](https://npm.io/package/strip-ansi.md) ^4.0.0
- [ansi-styles](https://npm.io/package/ansi-styles.md) ^3.2.0
- [log-symbols](https://npm.io/package/log-symbols.md) ^2.1.0
- [node-notifier](https://npm.io/package/node-notifier.md) ^5.1.2
- [command-exists](https://npm.io/package/command-exists.md) ^1.2.8
- [create-symlink](https://npm.io/package/create-symlink.md) ^1.0.0
- [remove-blank-lines](https://npm.io/package/remove-blank-lines.md) ^1.0.8

## Alternatives

- [@salesforce/cli](https://npm.io/package/@salesforce/cli.md) — 389.7K weekly downloads
- [@mintlify/cli](https://npm.io/package/@mintlify/cli.md) — 208.9K weekly downloads
- [@grafana/e2e-selectors](https://npm.io/package/@grafana/e2e-selectors.md) — 128.7K weekly downloads
- [mintlify](https://npm.io/package/mintlify.md) — 112.0K weekly downloads
- [@intlayer/cli](https://npm.io/package/@intlayer/cli.md) — 22.8K weekly downloads

## Recent versions

- 0.0.30 (latest) — 2020-02-12
- 0.0.29 — 2020-02-12
- 0.0.28 — 2020-02-12
- 0.0.27 — 2020-02-12
- 0.0.26 — 2020-02-12
- 0.0.25 — 2020-01-22
- 0.0.24 — 2020-01-21
- 0.0.23 — 2020-01-12
- 0.0.22 — 2020-01-11
- 0.0.21 — 2020-01-11
- 0.0.20 — 2020-01-07
- 0.0.19 — 2020-01-07
- 0.0.18 — 2020-01-07
- 0.0.17 — 2020-01-07
- 0.0.16 — 2020-01-07
- … 14 more at https://npm.io/package/@coffeekraken/scripts-stack/versions

## README

![Scripts-stack](.resources/doc-header.jpg)

# Coffeekraken scripts stack <img src=".resources/coffeekraken-logo.jpg" height="25px" />

![npm](https://img.shields.io/npm/l/@coffeekraken/scripts-stack?style=flat-square)
![npm](https://img.shields.io/npm/v/@coffeekraken/scripts-stack?style=flat-square)
![npm](https://img.shields.io/npm/dw/@coffeekraken/scripts-stack?style=flat-square)

Coffeekraken scripts-stack package is made to help you manage all the scripts that you use in each projects like scripts to compile your javascripts/stylesheets files, optimize images, etc...
The goal of this package is to give you a nice interface that list all your scripts (defined in package.json or in scripts-stack.config.js files), let you launch every scripts by hand or automatically using a simple watch mecanism.

<img src=".resources/scripts-stack-screenshot.png" width="100%" />

<a name="readme-goals"></a>

# Goals

- Gives you a nice terminal interface that list all your scripts defines in the package.json/scripts-stack.config.js files
- Let you launch every scripts with ease by selecting it and clicking the "*e*" key
- Let you define with ease some files to watch in order to launch one of the script automatically on files update

## Table of content

1. [Goals](#readme-goals)
2. [Install](#readme-install)
3. [Quick start](#readme-quick-start)
4. [CLI](#readme-cli)
  - [CLI options](#readme-cli-options)
5. [Config](#readme-config)
6. [Coffeekraken](#readme-coffeekraken)

<a name="readme-install"></a>

# Install

To install the package, simply launch the command bellow:

```
npm i @coffeekraken/scripts-stack -save-dev
```

<a name="readme-quick-start"></a>

# Quick Start

To start using this package, you need first to list some scripts inside of your *package.json* file like so:

```JSON
{
  "name": "my-cool-project",
  "version": "1.0.0",
  "scripts": {
    "my-cool-script": "webpack ...",
    "another-script": "sass ...",
    // etc...
  },
  "dependencies": {

  },
  // etc...
}
```

Once you have defined your scripts, you can also add some *watch* patterns (glob patterns) associated with your scripts like so:

```JSON
{
  // etc...
  "scripts": {
    "my-cool-script": "webpack ...",
    "another-script": "sass ...",
    // etc...
  },
  "watch": {
    "my-cool-script": {
      "paths": "src/js/**/*.js"
    },
    "another-script": {
      "paths": "src/css/**/*.scss"
    },
    // etc...
  },
  // etc...
}
```

This will make your scripts launch themselves when your sources files are updated.

Once your configuration has been made, you just need to execute this command line:

```
coffeekraken-scripts-stack
```

<a name="readme-cli"></a>

# CLI

This package expose a CLI. Here it is:

```
coffeekraken-scripts-stack <scripts> [options]
```

This CLI has multiple options. Here's the list:

<a name="readme-cli-options"></a>

#### CLI Options

#### `-c|--color`

Specify the color that you want for the terminal interface

- default : `yellow`

#### `--config`

Specify the path to some configuration files to use. Separated by spaces

- default : null

#### `--no-watch`

If this option is specified, the watch mecanism will not be executed

- default : false

#### `--no-switch`

Do not switch automatically between the scripts when they are launched

- default : false

#### `--no-notifications`

Do not launch notifications when a script is completed, in error, etc...

- default : false

#### `-i|--ignore`

List some scripts by name to ignore in the interface. Separated by spaces

- default : null

<a name="readme-config"></a>

# Config

In order to configure your scripts-stack instance, you just need to create a ```scripts-stack.config.js``` file in your repository root folder.

Here's a ```scripts-stack.config.js``` config file sample:

```js
module.exports = {

  /**
   * This list all your scripts that you want in the scripts-stack instance.
   * @type      Object
   */
  scripts: {
    "my.cool.script": "babel ...",
    // etc...
  },

  /**
   * This specify for each scripts that you want which files need to be monitored.
   * This use the glob pattern system
   * @type        Object
   */
  watch: {
    "my.cool.script": {
      "paths": "src/js/**/*.js"
    },
    // etc...
  },

  /**
   * This specify the list of scripts that you want to ignore in the interface. Just list the scripts names.
   * @type        Array
   */
  ignore: []

};
```

<a name="readme-coffeekraken"></a>

# Coffeekraken

We are a young collective of front-end creative developers with one goal in mind. Build tools to make every team working day life better. This is our first and only concern. All our tools are build around that purpose.
All what we provide are some cool tools that you can use the way you want. These tools features cover a large scope of the front-end workflow (styleguide generation, colors/fonts management, etc...). You can use only the parts that you need and let the rest aside...

[![Coffeekraken](.resources/coffeekraken-logo.jpg)](https://coffeekraken.io)

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