# elm-bb

> BlackBox provides a repl for runnng Elm code from the command line.

Latest version **0.9.6** (published 2020-05-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install elm-bb
pnpm add elm-bb
yarn add elm-bb
bun add elm-bb
```

Provides the command `elm-bb`.

## 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.9.6 |
| Published | 2020-05-21 |
| First published | 2020-05-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 8.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| GitHub stars | 10 |
| Author | James Carlson |
| Maintainers | jxxcarlson |
| Keywords | Elm, repl |

## Links

- npm: https://www.npmjs.com/package/elm-bb
- Repository: https://github.com/jxxcarlson/blackbox
- Homepage: https://github.com/jxxcarlson/blackbox#readme
- Issues: https://github.com/jxxcarlson/blackbox/issues
- npm.io page: https://npm.io/package/elm-bb

## Recent versions

- 0.9.6 (latest) — 2020-05-21
- 0.9.5 — 2020-05-21
- 0.9.4 — 2020-05-21
- 0.9.3 — 2020-05-21
- 0.9.2 — 2020-05-20
- 0.9.1 — 2020-05-20
- 0.9.0 — 2020-05-20

## README

# BlackBox

BlackBox provides a repl for talking to Elm code
that takes a string as input and produces a string
as output:

```elm
    transform : String -> String
```

The supplied `Blackbox.elm` file provides an uninteresting
`transform` function for demonstration purposes: it imitates
the Unix command `wc`.  You can modify the code of Blackbox
to make it do whatever you like — factor an integer into primes,
run an RPN calculator, compute statistics, etc.

## Example using the default BlackBox:

```
    $ npm install -g elm-bb
    $ elm-bb

    > :help                 # show help screen

    > foo bar               # apply transform to "foo bar" -- report lines, words, chars
    1, 2, 7

    > :get src/repl.js      # load file into memory and apply transform to it
    42, 97, 863

    > :app                  # apply transform to contents of memory
    42, 97, 863
```

To uninstall, run `npm uninstall elm-bb`.

## Running Blackbox from source

```bash
    $ sh make.sh  
    $ node src/repl.js
    > foo bar
    1, 2, 7
```

## Customizing

For a customized BlackBox,  proceed as described below.

### Set up

First, make a directory somewhere — let's call it bb.
Second, put the text below in a file `package.json`

```
{
  "name": "bb",
  "version": "1.0.0",
  "description": "",
  "main": "node_modules/.bin/elm-bb",
  "scripts": {
    "edit": "atom node_modules/elm-bb/src/BlackBox.elm",
    "build": "cd node_modules/elm-bb && sh make.sh",
    "elm-bb": "./node_modules/.bin/elm-bb",
    "link": "ln -s PATH_TO/src/repl.js /usr/local/bin/elm-bb"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "elm-bb": "^0.9.6 "
  }
}
```

If you wish, change 'atom' to your favorite editor.  Third, run `npm install`.
Test your installation with `npm run elm-bb`.

### Edit and compile

First, edit `./node_modules/elm-bb/src/Main.elm`.  If `package.json`
is configured to run your editor, you can say `npm run edit`.

Second, say `npm run build`.

You have now customized `elm-bb` and can test it with `npm run elm-bb`

### Link

To install `elm-bb` as a system-wide command, edit `PATH_TO` in `package.json`,
then say `npm run link`.

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