@myria/api-request
Version:
Myria's Typescript api-request
87 lines (65 loc) • 2.77 kB
Markdown
# api-request
Let Myria's clients who is going to interact with L2 service to reuse our built-in base api service.
## Prerequisites
The following tools need to be installed:
1. [Git](http://git-scm.com/)
2. [Node.js 18+](http://nodejs.org/)
## How to use
### Install
```bash
# via npmjs
npm i @myria/api-request
# via github on main branch
npm i "https://github.com/myria-libs/api-request.git#main"
```
### Consume
Reference the implementation on [example/src/index.ts](example/src/index.ts)
## How to contribute
### Install dependencies and build it
```bash
# reinitialize existing Git repository
git init
# install dependencies
npm install | yarn install
# run build
npm run build | yarn build
```
### Verify or fix lint
```bash
# check lint's rules
npm run lint | yarn lint
# check lint's rules and try to fix
npm run lint:fix | yarn lint:fix
# format your code
npm run prettier:format | yarn prettier:format
```
### Verify unit test
```bash
npm test | yarn test
```
## Collaboration
1. We use the git rebase strategy to keep tracking meaningful commit message. Help to enable rebase when pull `$ git config --local pull.rebase true`
2. Follow TypeScript Style Guide [Google](https://google.github.io/styleguide/tsguide.html)
3. Follow Best-Practices in coding:
1. [Clean code](https://github.com/labs42io/clean-code-typescript) make team happy
2. [Return early](https://szymonkrajewski.pl/why-should-you-return-early/) make code safer and use resource Efficiency
3. [Truthy & Falsy](https://frontend.turing.edu/lessons/module-1/js-truthy-falsy-expressions.html) make code shorter
4. [SOLID Principles](https://javascript.plainenglish.io/solid-principles-with-type-script-d0f9a0589ec5) make clean code
5. [DRY & KISS](https://dzone.com/articles/software-design-principles-dry-and-kiss) avoid redundancy and make your code as simple as possible
4. Make buildable commit and pull latest code from `main` branch frequently
5. Follow the [Semantic Versioning](https://semver.org/) once we are ready for release
6. Use readable commit message [karma](http://karma-runner.github.io/6.3/dev/git-commit-msg.html) to let us use it in the release notes
```bash
/‾‾‾‾‾‾‾‾
🔔 < Ring! Please use semantic commit messages
\________
<type>(<scope>): ([issue number]) <subject>
│ │ | │
| | | └─> subject in present tense. Not capitalized. No period at the end.
| | |
│ │ └─> Issue number (optional): Jira Ticket or Issue number
│ │
│ └─> Scope (optional): eg. Articles, Profile, Core
│
└─> Type: chore, docs, feat, fix, refactor, style, ci, perf, build, or test.
```