docs(readme): write the detailed description

pull/8/head
Yusuke Wada 2022-10-17 11:26:13 +09:00
parent 2030c7215c
commit 9150b2e56b
1 changed files with 52 additions and 7 deletions

View File

@ -1,13 +1,58 @@
# [WIP] monorepo for Hono middleware
# monorepo for Hono third-party middleware
This repository is monorepo for middleware of Hono.
This repository is monorepo for third-party middleware of Hono.
We develop middleware in this repository and manage the issues and pull requests.
**Still working in progress**.
## What is third-party middleware?
## Author
Hono has three types of middleware.
Yusuke Wada
1. Custom middleware - Created by users themselves.
2. Built-in middleware - Included in the Hono core package. It does not depend on any other external libraries.
3. Third-party middleware - Created outside of the core package. It can depend on the external libraries.
## License
Third-party middleware is maintained in this `github.com/honojs/middleware` repository and published to npm in the `@honojs` namespace. For example, a third-party middleware called hello is hosted at `github.com/honojs/middleware/packages/hello` and distributed under the name `@honojs/hello`.
You can install with the following command.
MIT
```
npm install @honojs/hello
```
For Deno, the modules, we do not publish them on `deno.land/x`, but distribute them via CDNs such as Skypack and esm.sh. We will also use the `npm:` that will be introduced in the Deno itself in the future.
```ts
import { hello } from 'npm:@honojs/hello'
```
## How to contribute
Anyone can propose third-party Middleware.
The Hono maintainers and other contributors will discuss to whether we accept the middleware or not.
If it's OK, it will be maintained in this repository.
Basically, the proposer maintains it.
The specific flow is as follows
1. Clone this repository
2. Write your middleware. Refer to [hello Middleware](https://github.com/honojs/middleware/tree/main/packages/hello).
3. Create the pull request.
We use [changesets](https://github.com/changesets/changesets) to manage releases and CHANGELOG.
Run the following command at the top level to describe any changes.
```
yarn changeset
```
When merged into main, a pull request for release is created.
The Hono maintainers will merge it to release the package at the appropriate time.
## Migration from the repository
If possible, please migrate middleware previously managed in an independent repository to this one.
Create the pull request with the content in the middleware repository. Perhaps `git-subtree` might be useful.
## Author & License
The Author of this repository is Yusuke Wada <<https://github.com/yusukebe>>. However, the code under the `packges/*` is in each Middleware author.
Basically, distribute under the MIT license.