# @genericst/rtl

> A library that provides bootstrap functionality and process management tools for JavaScript applications

Latest version **1.0.1** (published 2020-02-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install @genericst/rtl
pnpm add @genericst/rtl
yarn add @genericst/rtl
bun add @genericst/rtl
```

Provides the command `rtl`.

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2020-02-01 |
| First published | 2020-02-01 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 6.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | Yehor Bublyk |
| Maintainers | yehorbk |
| Keywords | javascript, typescript, javascript-library, typescript-library, library, entrypoint, main, startup-script, runtime, rtl, process, interface |

## Links

- npm: https://www.npmjs.com/package/@genericst/rtl
- Repository: https://github.com/yehorbk/rtl
- Homepage: https://github.com/yehorbk/rtl#readme
- Issues: https://github.com/yehorbk/rtl/issues
- npm.io page: https://npm.io/package/@genericst/rtl

## Dependencies (1)

- [typescript](https://npm.io/package/typescript.md) ^3.7.5

## Alternatives

- [@openai/codex-sdk](https://npm.io/package/@openai/codex-sdk.md) — 731.4K weekly downloads
- [babel-plugin-transform-react-jsx](https://npm.io/package/babel-plugin-transform-react-jsx.md) — 565.0K weekly downloads
- [babel-helper-remove-or-void](https://npm.io/package/babel-helper-remove-or-void.md) — 508.5K weekly downloads
- [@pnpm/store-controller-types](https://npm.io/package/@pnpm/store-controller-types.md) — 186.9K weekly downloads
- [react-native-signature-canvas](https://npm.io/package/react-native-signature-canvas.md) — 155.6K weekly downloads

## Recent versions

- 1.0.1 (latest) — 2020-02-01
- 1.0.0 — 2020-02-01

## README

# Runtime Library
A library that provides bootstrap functionality and process management tools for JavaScript applications.
It allows to extend and `Application` class and implement the `main` function in JavaScript.

# Installation
- Run `npm install` to install dependencies
- Run `npm build` to build .ts files into .js
- Run `npm link` to create a temporary link to library cli  
If you have a troubles with that commands try to run with `sudo`.

# How to use
## Syntax
> ```$ rtl [options]```

## Command Line Arguments
- `-f`: select file
- `-o`: push arguments to application

## Run
1. Run with **rtl** (default): `rtl -f demo.js`
2. Run with **node** (custom): `node ./bin/cli.js -f demo.js`

## Demo
```
const { Application } = require('./rtl-components');

class Demo extends Application {
    static main(args) {
        const { argv } = process;
        console.dir({ argv, args });
    }
}

module.exports = Demo;
```

# Requirements
- Entry class must be extended of `Application`
- Entry class must be exported from the file
- `Main` must be a **static function**
- Only **`use strict`**, **imports/exports**, **global variables** and **classes** allowed in the file


# Scripts
- `npm start` - build and run application with rtl
- `npm test` - run tests
- `npm run-script rtl-run` - run application with rtl
- `npm run-script build` - build .ts files into .js
- `npm run-script eslint` - check for syntax mistakes

# Author
**Yehor Bublyk**: [GitHub](https://github.com/yehorbk) • [Twitter](https://twitter.com/thisisyehorbk)

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