All Projects → bennycode → ts-node-starter

bennycode / ts-node-starter

Licence: other
GitHub template to get started with Node.js & TypeScript. ⚡

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to ts-node-starter

Example Gradle
Stars: ✭ 68 (+142.86%)
Mutual labels:  coverage, codecov
Moderncppstarter
🚀 Kick-start your C++! A template for modern C++ projects using CMake, CI, code coverage, clang-format, reproducible dependency management and much more.
Stars: ✭ 2,381 (+8403.57%)
Mutual labels:  coverage, codecov
Teaspoon
Teaspoon: Javascript test runner for Rails. Use Selenium, BrowserStack, or PhantomJS.
Stars: ✭ 1,443 (+5053.57%)
Mutual labels:  coverage, jasmine
Covr
Test coverage reports for R
Stars: ✭ 285 (+917.86%)
Mutual labels:  coverage, codecov
Frontend Webpack Boilerplate
Simple starter webpack 5 project template supporting SASS/PostCSS, Babel ES7, browser syncing, code linting. Easy project setup having multiple features and developer friendly tools.
Stars: ✭ 242 (+764.29%)
Mutual labels:  setup, boilerplate-template
Learn Istanbul
🏁 Learn how to use the Istanbul JavaScript Code Coverage Tool
Stars: ✭ 332 (+1085.71%)
Mutual labels:  coverage, codecov
Example Cpp11 Cmake
Stars: ✭ 129 (+360.71%)
Mutual labels:  coverage, codecov
CPP Template
C++ project template : CMake, Test, Travis CI, Appveyor, CodeCoverage, Doxygen
Stars: ✭ 32 (+14.29%)
Mutual labels:  coverage, codecov
istanbul-badges-readme
Creates and updates README testing coverage badges with your json-summary
Stars: ✭ 77 (+175%)
Mutual labels:  nyc, coverage
Codecov Bash
Global coverage report uploader for Codecov
Stars: ✭ 220 (+685.71%)
Mutual labels:  coverage, codecov
Codecov Node
Global coverage report uploader for Codecov in NodeJS
Stars: ✭ 268 (+857.14%)
Mutual labels:  coverage, codecov
gocoverutil
No description or website provided.
Stars: ✭ 25 (-10.71%)
Mutual labels:  coverage, codecov
phpunit-travis-ci-coverage-example
phpUnit Testing on Travis-CI with Code Coverage on CodeCov
Stars: ✭ 30 (+7.14%)
Mutual labels:  coverage, codecov
Kcov
Code coverage tool for compiled programs, Python and Bash which uses debugging information to collect and report data without special compilation options
Stars: ✭ 515 (+1739.29%)
Mutual labels:  coverage, codecov
enterprise
Code coverage done right.® On-premise enterprise version.
Stars: ✭ 63 (+125%)
Mutual labels:  coverage, codecov
Example Swift
Codecov: Swift coverage example
Stars: ✭ 121 (+332.14%)
Mutual labels:  coverage, codecov
Codecov Python
Python report uploader for Codecov
Stars: ✭ 162 (+478.57%)
Mutual labels:  coverage, codecov
travis-ci-tutorial-java
Just to learn how to use travis-ci in a java project!
Stars: ✭ 38 (+35.71%)
Mutual labels:  coverage, codecov
example-objc
Codecov example for Xcode
Stars: ✭ 24 (-14.29%)
Mutual labels:  coverage, codecov
goodservice
Website that detects headway discrepancy on New York City Subway system using live countdown clocks
Stars: ✭ 26 (-7.14%)
Mutual labels:  nyc

ts-node-starter

The ts-node-starter scaffolding project is a template repository which makes it easy for you to start a new Node.js project with TypeScript.

Using this template, you can build standalone apps, libraries and/or CLI tools. The ts-node-starter setup is configurable and comes with a lot of features included.

Features

  1. Automatic changelog generation powered by generate-changelog
  2. Automatic code & config formatting powered by Lefthook
  3. Automatic dependency updates powered by Dependabot
  4. Code coverage reports powered by Codecov
  5. Config formatting powered by Prettier
  6. Continuous integration pipeline powered by GitHub Actions workflows
  7. Cross-platform compatibility powered by cross-env
  8. Dependency management powered by yarn
  9. Distribution pipeline powered by npm
  10. Static code analysis powered by ESLint
  11. Testing & code coverage powered by Jest
  12. Type checking powered by TypeScript

Usage

Make it your own

  1. Replace all occurrences of "bennycode" with your own username (or organization name)
  2. Replace all occurrences of "ts-node-starter" with your project name (or repository name)
  3. Start writing your code in the "src" directory
  4. Run yarn and be happy! 😊

Build a standalone app

Source Code

If you just want to write and run a Node.js app, checkout "src/start.ts".

References

You can start your application by executing yarn start. If you want to debug your code, run yarn debug (Debug Instructions).

Build a Library

Source Code

If you want to distribute your code as a Node.js library on npm, you can have a look at "src/index.ts". If you build a library, I recommend to always ship an index file from where you export the code of your library for others.

References

In the "package.json" file you will also discover a "main" property which defines the entry point to your library when it gets imported by other developers. The value of the "main" property has to point to the transpiled JavaScript code.

Build a CLI

Source Code

If you want to build a CLI tool for Node.js, you can have a look at "src/cli.ts".

References

In the "package.json" file you will also discover a "bin" property which defines the executable name of your tool and the entry point to its transpiled JavaScript code.

If you don't want to publish a CLI, simply remove the "bin" property and the CLI script.

Conventions

Test Files

I recommend to colocate your test code with your source code by naming your test files *.test.ts.

Changelog Generation

The automatic changelog generation is based on Semantic Commit Messages. Simply use the suggested prefixes in your commit messages to make use of it. For example, if you commit a new feature use the "feat" prefix:

Commit Message

feat: My new feature

Important Refactorings

Contributors

Benny Neugebauer on Stack Exchange

Panayiotis Lipiridis on Stack Exchange

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].