@askbills/npm-template-typescript
v1.0.0-canary.0
Published
Typescript template to build npm package
Downloads
3
Maintainers
Readme
npm-template-typescript
Supports javascript developers who use npm to publish and share package quicker. Less time to setup utility tools to follow best-practices and more time on the core features of the package.
Prerequisites
The following tools need to be installed:
Capabilities and Frameworks
| Capability | Module |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Dependence Framework | @tsconfig/node18
extend ts config node18+, typescript adds optional types to JavaScript that support tools for large-scale JavaScript applications |
| Build Tools | tsup
Bundle your TypeScript library with no config, powered by esbuild |
| Coding Standard | eslint statically analyzes your code to quickly find and fix problems based on opt-in rules, prettier an opinionated code formatter to build and enforce a style guide on save, eslint-config-prettier to turns off all rules that are unnecessary or might conflict with Prettier. |
| Testing Framework | Jest a delightful JavaScript Testing Framework with a focus on simplicity. |
| Useful Links | npmtrends Compare package download counts over time |
How to test
npm test | yarn test
How to check lint
# 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
How to use
Clone the repository
git clone [email protected]:lengocduy/npm-template-typescript.git
cd npm-template-typescript
npm install | yarn install
Open package.json file to edit some fields e.g. name, repository, etc
we can manage our package.json via npm-pkg
Collaboration
- We use the git rebase strategy to keep tracking meaningful commit message. Help to enable rebase when pull
$ git config --local pull.rebase true
- Follow TypeScript Style Guide Google
- Follow Best-Practices in coding:
- Clean code make team happy
- Return early make code safer and use resource Efficiency
- Truthy & Falsy make code shorter
- SOLID Principles make clean code
- DRY & KISS avoid redundancy and make your code as simple as possible
- Make buildable commit and pull latest code from
main
branch frequently - Use readable commit message karma
/‾‾‾‾‾‾‾‾
🔔 < 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.