This starter project will standardize coding and publishing for your library, and implements following features:
- 🎒 Include all packages for coding, linting, testing and building
- 🎨 Compile sass to css using node-sass, autoprefixer and postcss
- 📥 Build library to UMD and CommonJS modules
- 📘 Generate API documentation of your TypeScript files automatically
- 💯 Check your commit message when
git commit ...
- 🆑 Default CI scripts for GitHub Action, includes release and publish automatically
- 🔖 Generate CHANGELOG.md according to your commits in CI publishing process
- 🧪 Publish your unit tests report to coveralls.io by CI
- 🌏 Publish API documentation, converage, demo and changelog to your gh-pages branch as your project site by CI
- 📦 Release to NPM and GitHub Package automatically by CI
-
Clone this repo:
git clone https://github.com/bndynet/typescript-lib-starter.git <your-location> --depth 1
-
Initialize your library:
npm i && npm run init
and type your package informations -
Now, you can code your library and bellow commands to start your work:
npm start npm run lint npm run build npm run docs npm run test npm run test:watch npm run precommit
-
Commit your changes and push them to your REPO.
All commit message MUST follow https://github.com/angular/angular/blob/master/CONTRIBUTING.md#commit
Format as:
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Note: The <type> can be found in ./commitlint.config.js file.
Add NPM_TOKEN in your repo -> Settings -> Secrets
If you enabled GitHub Actions, the action will publish your package to GitHub Package Registry automatically.