@bndynet/typescript-lib-starter

typescript-lib-starter

Release npm Coverage Status semver Code Styles semantic-release: angular

This starter project will standardize coding and publishing for your library, and implements following features:

  • :school_satchel: Include all packages for coding, linting, testing and building
  • :art: Compile sass to css using node-sass, autoprefixer and postcss
  • :inbox_tray: Build library to UMD and CommonJS modules
  • :blue_book: Generate API documentation of your TypeScript files automatically
  • :100: Check your commit message when git commit ...
  • :cl: Default CI scripts for GitHub Action, includes release and publish automatically
  • :bookmark: Generate CHANGELOG.md according to your commits in CI publishing process
  • :test_tube: Publish your unit tests report to coveralls.io by CI
  • :earth_asia: Publish API documentation, converage, demo and changelog to your gh-pages branch as your project site by CI
  • :package: Release to NPM and GitHub Package automatically by CI
  1. Clone this repo:

    git clone https://github.com/bndynet/typescript-lib-starter.git <your-location> --depth 1

  2. Initialize your library:

    npm i && npm run init and type your package informations

  3. 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
  4. 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.