/base-project-full

Full development env with typescript, testing, and CI/CD integration

Primary LanguageJavaScriptMIT LicenseMIT

base-project-full

Commitizen friendly codecov CircleCI Sauce Test Status Sauce Test Status

Base project for getting set up for web applications, including testing and CI/CD pipeline

  • circleci - ci/cd server
  • codecov - coverage reports
  • saucelabs - browser virtualizer
  • typescript - javascript static type checker and compiler
  • eslint - javascript linter
  • stylelint - css linter
  • husky - for custom git hooks to restrict commit and push
  • commitizen - for standardized commit messages
  • karma - in browser unit test harness
  • jasmine - unit test framework
  • testcafe - e2e test framework
  • semantic-release - controls publishing/deploys with automatic versioning

How to use

  • add changed files to tracked (git add)
  • use 'npm run cmt' to commit
  • commitizen will run git commit formatter
  • husky will run local unit tests
  • push
  • husky will run all tests, and if successful, pushes to remote
  • circleci detects changes, and begins running workflow
  • runs tests in saucelabs (karma for unit, testcafe for e2e)
  • if both unit and e2e jobs pass, coverage report is generated and sent to codecov, and the build process executes
  • if successful, goes to deploy (currently only if the changes are in master branch)