Skip to content

jake-danton/barebones-typescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Barebones Typescript Node.js Project

This is a barebones Node.js application written in TypeScript, following best practices. It defines a simple sayHello function as well as the standard 'hello world' executable. Additionally, it has a test suite and code coverage tooling.

To see all the functionality in action, run the following:

make all

This command will download all dependencies and type definitions, perform linting, compile to JavaScript, and run code coverage.

Build Overview

This project uses the following technologies for build:

  • NPM - Node Package Manager, for all your node library and tool needs.
  • TSD - TypeScript Definition manager for community-supported definition files of popular libraries and tools.
  • Gulp - Streaming build framework that utilizes plugin model to define build targets in JavaScript (or in our case, TypeScript)
  • Make - GNU Make tool. You know what this tool is already. We use this to wrap all the other build tools for a consistent interface.

Most of the targets are defined in Gulpfile.ts. However, targets for cleaning the project and downloading NPM packages and TSD definitions are defined in Makefile as they are dependencies of Gulp.

Most likely, the Makefile should never need another target defined, all additional build targets should be defined using Gulp.

Static Analysis

This project utilizes:

  • TSLint - TypeScript Linting tool, used to promote consistency in the code base.

Test Overview

This project uses the following test stack:

  • Mocha - Test framework that utilizes interfaces for third-party assertion libraries and reporters.
  • Chai - Test assertion library that includes assert, expect, and should syntaxes as well as a plugin model for extending functionality.
  • Istanbul - Test code coverage tool that supports unit tests, server side tests, and browser tests. Includes a HTML report generator.

Mocking

Mocking libraries are critical testing tools. However, this project does not currently include one. This is left as a TODO for the moment.

About

Barebones TypeScript project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published