UNPKG

@myria/crypto-js

Version:

Myria's Crypto Library for common cryptographic functions

88 lines (65 loc) 2.92 kB
# 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. ```