# @sidekick/runner

> Analyses source code for quality issues, using git to analyse only what's changed

Latest version **0.3.2** (published 2016-07-15) · AGPL-3.0 license · 0 weekly downloads

## Install

```sh
npm install @sidekick/runner
pnpm add @sidekick/runner
yarn add @sidekick/runner
bun add @sidekick/runner
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.3.2 |
| Published | 2016-07-15 |
| First published | 2016-03-23 |
| Weekly downloads | 0 |
| License | AGPL-3.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 14 |
| Known vulnerabilities | 0 (+7 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Maintainers | rishson, sidekick, timruffles |
| Keywords | lint, sidekick, quality, static-analysis |

## Links

- npm: https://www.npmjs.com/package/@sidekick/runner
- Repository: https://github.com/sidekickcode/sidekick-runner
- Homepage: https://github.com/sidekickcode/sidekick-runner#readme
- Issues: https://github.com/sidekickcode/sidekick-runner/issues
- npm.io page: https://npm.io/package/@sidekick/runner

## Dependencies (14)

- [uuid](https://npm.io/package/uuid.md) ^2.0.2
- [debug](https://npm.io/package/debug.md) ^2.2.0
- [getenv](https://npm.io/package/getenv.md) ^0.6.0
- [lodash](https://npm.io/package/lodash.md) ^3.10.1
- [async-q](https://npm.io/package/async-q.md) ^0.3.1
- [bluebird](https://npm.io/package/bluebird.md) 2.9.34
- [proxytron](https://npm.io/package/proxytron.md) ^1.0.5
- [concat-stream](https://npm.io/package/concat-stream.md) ^1.5.1
- [@sidekick/common](https://npm.io/package/@sidekick/common.md) ^3.3.6
- [strip-json-comments](https://npm.io/package/strip-json-comments.md) ^2.0.1
- [@sidekick/git-helpers](https://npm.io/package/@sidekick/git-helpers.md) ^1.1.1
- [child-process-promise](https://npm.io/package/child-process-promise.md) ^1.1.0
- [@sidekick/analyser-common](https://npm.io/package/@sidekick/analyser-common.md) ^1.0.2
- [@sidekick/analyser-manager](https://npm.io/package/@sidekick/analyser-manager.md) ^2.2.7

## Alternatives

- [eslint-plugin-sonarjs](https://npm.io/package/eslint-plugin-sonarjs.md) — 2.9M weekly downloads
- [eslint-config-expo](https://npm.io/package/eslint-config-expo.md) — 1.5M weekly downloads
- [@matter/protocol](https://npm.io/package/@matter/protocol.md) — 63.5K weekly downloads
- [@eventcatalog/linter](https://npm.io/package/@eventcatalog/linter.md) — 24.8K weekly downloads
- [@inrupt/eslint-config-base](https://npm.io/package/@inrupt/eslint-config-base.md) — 4.5K weekly downloads

## Recent versions

- 0.3.2 (latest) — 2016-07-15
- 0.3.1 — 2016-07-15
- 0.3.0 — 2016-07-15
- 0.2.17 — 2016-07-13
- 0.2.16 — 2016-06-25
- 0.2.15 — 2016-06-23
- 0.2.14 — 2016-06-22
- 0.2.13 — 2016-06-22
- 0.2.12 — 2016-06-22
- 0.2.11 — 2016-06-21
- 0.2.10 — 2016-04-14
- 0.2.9 — 2016-04-14
- 0.2.8 — 2016-04-14
- 0.2.7 — 2016-04-14
- 0.2.6 — 2016-04-14
- … 7 more at https://npm.io/package/@sidekick/runner/versions

## README

# Runner

[![Build Status](https://travis-ci.org/sidekickcode/sidekick-runner.svg?branch=master)](https://travis-ci.org/sidekickcode/sidekick-runner)

Runs multiple sidekick-compatible analysers over your source code!

## Installation

```sh
npm install --save @sidekick/runner
```

## Usage

```sh
var runner = require("@sidekick/runner").create(setup);

runner.run()
.then((result) => {
  console.log("sidekick output: " + result);
});
```

## Architecture

First what do we want to analyse? This is the Target. Let's assume it's a git repo, so our target is: `{ path: "/some/repo", beforeId: "someSha", afterId: "someSha" }`.

We provide the Target to a Planner, which creates an AnalysisPlan.

With the plan we can go to the Runner, which takes a Plan and runs it. The Runner emits events as the analysis progresses, and can be interacted with (to ask for re-analysis, to cancel the analysis, etc).

### Shell vs values

The Shell is everything that orchestrates, configures or represents and stores run-time state (e.g have
we started? What's the status?).

```sh
Shell       |  Values
------------|-----------------------
            |
            |  Target
Planner     |  Plan
Runner      |  Meta, Errors, Events
Session     |
```

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