@make-everything-simple/npm-template-typescript
v0.0.6-test
Published
Typescript template to build npm package
Downloads
16
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, act run your GitHub Actions locally, Actionlint static checker for GitHub Actions workflow files, share-dev-environments quick setup by running some commands to align development environment among machines or developers |
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
npm pkg set <key>=<value> [<key>=<value> ...]
npm pkg get [<key> [<key> ...]]
npm pkg delete <key> [<key> ...]
npm pkg set [<array>[<index>].<key>=<value> ...]
npm pkg set [<array>[].<key>=<value> ...]
npm pkg fix
Configure necessary credentials
- Generate a Granular Access Token on npmjs.com
- github package: TBU
- Configure in your repository's secret variables
- Individual level
- Organization level to share across repositories on-demand
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.