Minimalistic boilerplate to jump-start a gRPC Node.js project in TypeScript 3.6.
What's included:
- gRPC open source remote procedure call
- TypeScript 3.6,
- TSLint with Microsoft rules,
- Jest unit testing and code coverage,
- Type definitions for Node.js and Jest,
- Prettier to enforce a consistent code style,
- NPM scripts for common operations,
- a simple example of TypeScript code and unit test,
- .editorconfig for consistent file format.
This project is intended to be used with the latest Active LTS release of Node.js. To start, just clone the repository with following commands:
git clone https://github.com/jsynowiec/node-typescript-boilerplate
cd node-grpc-typescript-boilerplate
npm install
or download and unzip current master
branch:
wget https://github.com/jsynowiec/node-typescript-boilerplate/archive/master.zip -O node-typescript-boilerplate
unzip node-typescript-boilerplate.zip && rm node-typescript-boilerplate.zip
Now start adding your code in the src
and unit tests in the __tests__
directories. Have fun and build amazing things 🚀
Writing unit tests in TypeScript can sometimes be troublesome and confusing. Especially when mocking dependencies and using spies.
This is optional, but if you want to learn how to write JavaScript tests for TypeScript modules, read the corresponding wiki page.
start
- start project to development runningformat:watch
andstart:watch
start:watch
- start project with nodemon to automatically watch changesformat:watch
- format code with prettier automatically when save fileclean
- remove coverage data, Jest cache and transpiled files,build
- transpile TypeScript to ES6,build:watch
- interactive watch mode to automatically transpile source files,lint
- lint source files and tests,test
- run tests,test:watch
- interactive watch mode to automatically re-run testsdoc
- generate grpc protos documentation in html
// add GOPATH to default PATH definitions
vi ~/.bash_profile
// add the following commands
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
brew install protobuf
go get -u -v github.com/yoheimuta/protolint/cmd/protolint
Create a .env
from a copy of .env.example
and change the values with your preferences.
Licensed under the APLv2. See the LICENSE file for details.