@myria/crypto-js
Version:
Myria's Crypto Library for common cryptographic functions
88 lines (65 loc) • 2.92 kB
Markdown
# crypto-js
Let Myria's clients who is going to use cryptographic functions such as generate/verify L2 wallet signature, etc. to reuse in our built-in services.
## 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
# npm
npm i @myria/crypto-js
# yarn
yarn add @myria/crypto-js
```
### Consume the crypto-js package
* Reference our [crypto-js doc](https://myria-libs.github.io/crypto-js/)
* Reference the implementation in our [example/src/index.js](https://github.com/myria-libs/crypto-js/blob/main/example/src/index.js). Should be straightforward
## How to contribute
### Install dependencies and build it
```bash
# install dependencies
npm install | yarn install
# run build
npm run build | yarn build
```
### Add new production codes
### 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.
```