@fabrix/spool-repl
TypeScript icon, indicating that this package has built-in type declarations

1.5.0 • Public • Published

spool-repl

Gitter NPM version Build Status Test Coverage Dependency Status Follow @FabrixApp on Twitter

REPL Spool. Adds an interactive shell to your Fabrix app to help with development and debugging. Saves command history between sessions.

Install

$ npm install @fabrix/spool-repl --save

Usage

The repl spool is loaded in your spool config per usual.

// config/main.ts
import { REPL } from 'spool-repl'
export const main = {
  // ...
  spools: [
    // ...
    REPL
  ]
}
// config/repl.ts
export const repl = {
  /**
   * REPL is disabled automatically if no text terminal is available. Set
   * to "true" to override this behavior.
   */
  allowNoTTY: false
}

Shell Commands

With the REPL Spool you can test your REST API directly from the interactive shell.

GET

get("/api/v1/default/info")

HEAD

head("/api/v1/default/info")

OPTIONS

options("/api/v1/default/info")

POST

post("/api/v1/default/info", {some : 'data'})

If you want to simulate some HTML form you can do :

post("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded')

PUT

put("/api/v1/default/info", {some : 'data'})

If you want to simulate some HTML form you can do :

put("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded')

PATCH

patch("/api/v1/default/info", {some : 'data'})

DELETE

delete("/api/v1/default/info")

By default headers are {'Accept': 'application/json'} but they can be modified by adding an extra param of each method like this :

get("/api/v1/default/info", {'Accept': 'text/xml'})
head("/api/v1/default/info", {'Accept': 'text/xml'})
options("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})
post("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})
put("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})
patch("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})
delete("/api/v1/default/info", 'some=data', 'application/x-www-form-urlencoded', {'Accept': 'text/xml'})

Contributing

We love contributions! Please check out our Contributor's Guide for more information on how our projects are organized and how to get started.

License

MIT

Dependencies (2)

Dev Dependencies (12)

Package Sidebar

Install

npm i @fabrix/spool-repl

Weekly Downloads

22

Version

1.5.0

License

MIT

Unpacked Size

25.8 kB

Total Files

19

Last publish

Collaborators

  • scottbwyatt