1.0.0-canary.0 • Published 1 year ago

@askbills/npm-template-typescript v1.0.0-canary.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

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

CapabilityModule
Dependence Framework@tsconfig/node18 extend ts config node18+, typescript adds optional types to JavaScript that support tools for large-scale JavaScript applications
Build Toolstsup Bundle your TypeScript library with no config, powered by esbuild
Coding Standardeslint 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 FrameworkJest a delightful JavaScript Testing Framework with a focus on simplicity.
Useful Linksnpmtrends 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 git@github.com: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

  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
  3. Follow Best-Practices in coding:
  4. Make buildable commit and pull latest code from main branch frequently
  5. 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.