mirror of
https://github.com/honojs/hono.git
synced 2024-11-21 18:18:57 +01:00
docs: make a contribution guide (#415)
* docs: make a contribution guide * update * update readme
This commit is contained in:
parent
034d53a6e6
commit
7527c22a2d
16
README.md
16
README.md
@ -61,19 +61,19 @@ The documentation is available on [honojs.dev](https://honojs.dev).
|
|||||||
|
|
||||||
## Migration
|
## Migration
|
||||||
|
|
||||||
Migration guide is available on [docs/MIGRATION.md](docs/MIGRATION.md)
|
Migration guide is available on [docs/MIGRATION.md](docs/MIGRATION.md).
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
Contributions Welcome! You can contribute in the following ways.
|
Contributions Welcome! You can contribute in the following ways.
|
||||||
|
|
||||||
- Fix bugs.
|
- Create an Issue - Propose a new feature. Report a bug.
|
||||||
- Create built-in or third-party middleware.
|
- Pull Request - Fix a bug and typo. Refactor the code.
|
||||||
- Propose new feature.
|
- Create third-party middleware - Instruct below.
|
||||||
- Refactor the code.
|
- Share - Share your thoughts on the Blog, Twitter, and others.
|
||||||
- Write an article about Hono on your Blog.
|
- Make your application - Please try to use Hono.
|
||||||
- Fix a typo.
|
|
||||||
- etc.
|
For more details, see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md).
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
|
92
docs/CONTRIBUTING.md
Normal file
92
docs/CONTRIBUTING.md
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
# Contribution Guide
|
||||||
|
|
||||||
|
Contributions Welcome! We will be grad for your help.
|
||||||
|
You can contribute in the following ways.
|
||||||
|
|
||||||
|
- Create an Issue - Propose a new feature. Report a bug.
|
||||||
|
- Pull Request - Fix a bug and typo. Refactor the code.
|
||||||
|
- Create third-party middleware - Instruct below.
|
||||||
|
- Share - Share your thoughts on the Blog, Twitter, and others.
|
||||||
|
- Make your application - Please try to use Hono.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
This project is started by Yusuke Wada ([@yusukebe](https://github.com/yusukebe)) for the hobby proposal.
|
||||||
|
It was just for fun. For now, this stance has not been changed basically.
|
||||||
|
I want to write the code as I like.
|
||||||
|
So, if you propose great ideas, but I do not appropriate them, the idea may not be accepted.
|
||||||
|
Although, don't worry! Hono is tested well, polished by the contributors, and used by many developers. And I'll try my best to make Hono cool, beautiful, and ultrafast.
|
||||||
|
|
||||||
|
## Third-party middleware
|
||||||
|
|
||||||
|
Third-party middleware is a middleware that depends on other libraries or works only specific environment such as only Cloudflare Workers. For examples:
|
||||||
|
|
||||||
|
- GraphQL Server middleware
|
||||||
|
- Firebase Auth middleware
|
||||||
|
- Validator middleware
|
||||||
|
|
||||||
|
You can make a third-party middleware for Hono by yourself. The repository <https://github.com/honojs/middleware-template> is "_template repository_" which will be helpful for you.
|
||||||
|
|
||||||
|
### Repository
|
||||||
|
|
||||||
|
If you have a new idea for the middleware, create an issue on "_[github.com/honojs/hono](https://github.com/honojs/hono)_" repository. After discussing it, we (the maintainers of Hono) will make the repository for it and give you the privileges for the repository. For example, if the middleware name is "_hello_", the repository will be:
|
||||||
|
|
||||||
|
```
|
||||||
|
github.com/honojs/hello
|
||||||
|
```
|
||||||
|
|
||||||
|
### npm package
|
||||||
|
|
||||||
|
We have "_honojs_" organization on npm repository <https://www.npmjs.com/org/honojs>.
|
||||||
|
|
||||||
|
If you want to publish the package under the `@honojs` scope, we invite you to the organization.
|
||||||
|
Tell us your username of the npm repository.
|
||||||
|
After that, we will add you the team and create the skelton of yor package.
|
||||||
|
For example, package name will be:
|
||||||
|
|
||||||
|
```
|
||||||
|
@honojs/hello
|
||||||
|
```
|
||||||
|
|
||||||
|
And then, you can release the package by yourself using such a `yarn publish` command.
|
||||||
|
|
||||||
|
Note:
|
||||||
|
We really want to release it using GitHub Actions, but chose this method because the npm organization does not have the access token.
|
||||||
|
So, you have to release the package using your individual access token.
|
||||||
|
|
||||||
|
### Deno module
|
||||||
|
|
||||||
|
Also, you can publish it as Deno module.
|
||||||
|
We recommend use _denoify_ <https://www.denoify.land> for supporting Deno.
|
||||||
|
In the case of this repository, run the command first:
|
||||||
|
|
||||||
|
```
|
||||||
|
yarn denoify
|
||||||
|
```
|
||||||
|
|
||||||
|
The source files will be converted into `deno_dist` directory.
|
||||||
|
It's possible to run the module locally or test it with `deno test`.
|
||||||
|
|
||||||
|
Finally, publish the module to `deno.land/x`.
|
||||||
|
For example, module path will be:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://deno.land/x/hono_hello/mod.ts
|
||||||
|
```
|
||||||
|
|
||||||
|
Setting up steps are below:
|
||||||
|
|
||||||
|
1. Go to [deno.land/x](https://deno.land/x) web site.
|
||||||
|
2. Click the "Publish a module".
|
||||||
|
3. Input the module name such as "_hono_hello_".
|
||||||
|
4. Specify subdirectory `deno_dist`.
|
||||||
|
5. Set up the webhook to deploy.
|
||||||
|
|
||||||
|
When push the new tag like `v0.1.0`, it will be distributed:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://deno.land/x/hono_hello@v0.1.0/mod.ts
|
||||||
|
```
|
||||||
|
|
||||||
|
Note:
|
||||||
|
For setting up the webhook on GitHub, you may need "admin" role.
|
||||||
|
If you do not have it, we will set it up for you.
|
Loading…
Reference in New Issue
Block a user