# tidyjs

> A tidy Node.js framework for building server-side applications on top of TypeScript & JavaScript

Latest version **1.0.22** (published 2019-10-16) · MIT license · 0 weekly downloads

## Install

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

## Health

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

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.22 |
| Published | 2019-10-16 |
| First published | 2019-02-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 5 |
| Unpacked size | 34.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | guopi |
| Maintainers | guopi.pro |

## Links

- npm: https://www.npmjs.com/package/tidyjs
- Repository: https://github.com/guopi/tidy
- Homepage: https://github.com/guopi/tidy/tree/master/packages/tidyjs
- Issues: https://github.com/guopi/tidy/issues
- npm.io page: https://npm.io/package/tidyjs

## Dependencies (5)

- [qs](https://npm.io/package/qs.md) ^6.6.0
- [pino](https://npm.io/package/pino.md) ^5.11.2
- [co-body](https://npm.io/package/co-body.md) ^6.0.0
- [type-is](https://npm.io/package/type-is.md) ^1.6.16
- [@types/pino](https://npm.io/package/@types/pino.md) ^5.8.6

## Recent versions

- 1.0.22 (latest) — 2019-10-16
- 1.0.21 — 2019-04-01
- 1.0.20 — 2019-03-31
- 1.0.19 — 2019-03-31
- 1.0.18 — 2019-03-31
- 1.0.17 — 2019-03-28
- 1.0.16 — 2019-03-26
- 1.0.15 — 2019-03-25
- 1.0.14 — 2019-03-25
- 1.0.13 — 2019-03-22
- 1.0.12 — 2019-03-22
- 1.0.11 — 2019-03-22
- 1.0.10 — 2019-03-22
- 1.0.9 — 2019-03-20
- 1.0.8 — 2019-03-20
- … 11 more at https://npm.io/package/tidyjs/versions

## README

# `tidyjs`
> A Node.js framework born for more tidy development of building server-side applications on top of Node.js & Typescript.

## Installation
```bash
$ npm install tidyjs --save
```
Node.js >= 8.0.0 required

## Getting Started
```js
import { tidyServerApp } from 'tidyjs'

tidyServerApp()
    .use(ctx => {
        return {
           message: `Hello ${ctx.req.query.my_name || 'world'}, I am tidyjs`,
        }
    })
    .listen(3000)
```

## Features
- **Extensible** : powerful and natural plugin system.
- **Developer friendly** : full Typescript support, and built to be very expressive.
- **Clean business logic** : use pure function, separated from web protocol.
- **Full async support** : take advantage of power of async/await. 
- **Routing support type and schema** : we can easily build strongly typed interfaces.
- **High performance routing** : use used Prefix Tree, when there are a lot of routes, lookup performance can be greatly improved
- **Clean and solid code** : the whole project is written in the Typescript strict mode and captures all errors and exceptions using async/await To build a clean and solid system.

## Docs
- [Tidy Family](https://github.com/guopi/tidy/wiki)
- [Overview](https://github.com/guopi/tidy/wiki/tidyjs)
- [Plugins](https://github.com/guopi/tidy/wiki/tidy-plugins)
- [Router](https://github.com/guopi/tidy/wiki/tidy-router)
- [Logging](https://github.com/guopi/tidy/wiki/tidyjs-Logging)
    
## [Examples]
[code on github](https://github.com/guopi/tidy/tree/master/packages/tidy-examples)

## License
[MIT]


[MIT]: https://github.com/guopi/tidy/blob/master/LICENSE

[tidy-router]: https://github.com/guopi/tidy/tree/master/packages/tidy-router
[tidy-router-version]: https://img.shields.io/npm/v/tidy-router.svg
[tidy-router-npm]: https://www.npmjs.com/package/tidy-router

[tidy-cookie]: https://github.com/guopi/tidy/tree/master/packages/tidy-cookie
[tidy-cookie-version]: https://img.shields.io/npm/v/tidy-cookie.svg
[tidy-cookie-npm]: https://www.npmjs.com/package/tidy-cookie

[tidy-upload]: https://github.com/guopi/tidy/tree/master/packages/tidy-upload
[tidy-upload-version]: https://img.shields.io/npm/v/tidy-upload.svg
[tidy-upload-npm]: https://www.npmjs.com/package/tidy-upload

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