Supports javascript developers who use npm to publish and share package quicker. Less time to setup utility tools to follow best-practices, more time on the core features of the package.
The following tools need to be installed:
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 |
npm test | yarn test
# 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
git clone git@github.com:make-everything-simple/npm-template-typescript.git
# rename to desire name folder
mv npm-template-typescript $desire_name
cd $desire_name
# reinitialize existing Git repository
git init
# install dependencies
npm install | yarn install
# run build
npm run build | yarn build
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
- Generate a Granular Access Token on npmjs.com
- github package: TBU
- Configure in your repository's secret variables
- 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.