# tymly

> A framework for building and sharing workflows in Node.js

Latest version **0.0.17** (published 2018-03-20) · MIT license · 0 weekly downloads

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

## Install

```sh
npm install tymly
pnpm add tymly
yarn add tymly
bun add tymly
```

## Health

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

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.0.17 |
| Published | 2018-03-20 |
| First published | 2017-10-06 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 18 |
| Unpacked size | 208.6 KB |
| Known vulnerabilities | 0 (+12 in 4 direct dependencies) |
| Install scripts | no |
| GitHub stars | 121 |
| Author | Tim Needham |
| Maintainers | timneedham |

## Links

- npm: https://www.npmjs.com/package/tymly
- Repository: https://github.com/wmfs/tymly
- Homepage: https://github.com/wmfs/tymly#readme
- Issues: https://github.com/wmfs/tymly/issues
- npm.io page: https://npm.io/package/tymly

## Dependencies (18)

- [boom](https://npm.io/package/boom.md) 7.2.0
- [glob](https://npm.io/package/glob.md) 7.1.2
- [uuid](https://npm.io/package/uuid.md) 3.2.1
- [async](https://npm.io/package/async.md) 2.6.0
- [debug](https://npm.io/package/debug.md) 3.1.0
- [split](https://npm.io/package/split.md) 1.0.1
- [upath](https://npm.io/package/upath.md) 1.0.4
- [dottie](https://npm.io/package/dottie.md) 2.0.0
- [lodash](https://npm.io/package/lodash.md) 4.17.5
- [mkdirp](https://npm.io/package/mkdirp.md) 0.5.1
- [esprima](https://npm.io/package/esprima.md) 4.0.0
- [statebox](https://npm.io/package/statebox.md) ^0.0.8
- [lru-cache](https://npm.io/package/lru-cache.md) 4.1.2
- [jsonschema](https://npm.io/package/jsonschema.md) 1.2.2
- [sprintf-js](https://npm.io/package/sprintf-js.md) 1.1.1
- [read-pkg-up](https://npm.io/package/read-pkg-up.md) 3.0.0
- [underscore-query](https://npm.io/package/underscore-query.md) 3.3.2
- [mongodb-extended-json](https://npm.io/package/mongodb-extended-json.md) 1.10.0

## Recent versions

- 0.0.17 (latest) — 2018-03-20
- 0.0.15 — 2017-10-06

## README

# tymly
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com) [![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/wmfs/tymly/blob/master/packages/tymly/LICENSE)

> A framework for building and sharing workflows in Node.js.

## <a name="install"></a>Install
```bash
$ npm install tymly --save
```

## <a name="usage"></a>Usage
```javascript
const tymly = require('tymly')

tymly.boot(
  {
    // Blueprints are structured directories that describe a business function.
    // They contain 'state-machines' (e.g. Finite State Machines expressed in JSON as per Amazon State Machine specification: http://docs.aws.amazon.com/step-functions/latest/dg/amazon-states-language-state-machine-structure.html)
    // along with the resources required for those state-machines to run (e.g. data 
    // model definitions, images, form-layouts, templates etc.)
    // This is just a simple list of directories where blueprints can be found...   
    blueprintPaths: [
      '/tymly/blueprints/hr',      // Some flows for HR-related things
      '/tymly/blueprints/payroll'  // Some flows for payroll-related activities 
    ],

    // Tymly is extended via plugins, each in-turn offer 'services' and other components...
    pluginPaths: [
      '/tymly/plugins/tymly-express-plugin',  // For accessing Tymly over HTTP/REST etc.
      '/tymly/plugins/tymly-etl-plugin',   // Adds import-from-CSV capabilities
      '/tymly/plugins/tymly-pg-plugin'   // Persist to PostgreSQL instead of the default in-memory solution 
    ],
    
  },
  
  // Callback once everything has booted (or not)
  function (err, services) {   
    if (err) {
      // Handle something going wrong
      console.error(err)
    } else {
      // Do something with those services...
      // (e.g. the 'tymly-express-plugin' provides an Express-powered 'server' service)
      const port = 3000
      services.server.listen(port, function () {        
        console.log('Example app listening on port ' + port);       
      })  
    }   
  }
)
```

## <a name="why"></a>Why?

Tymly has been developed as an alternative for organisations (especially non-profits and Government departments) who need continually-evolving business software - but can do without the complexity, expense and vendor lock-in that usually accompanies it. 

## <a name="documentation"></a>Documentation

For documentation, please visit http://www.tymlyjs.io/

## <a name="tests"></a>Tests
```bash
$ npm test
```

## <a name="license"></a>License
[MIT](https://github.com/wmfs/tymly/blob/master/LICENSE)

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