Minimalistic boilerplate to quick-start Node.js development in TypeScript with Fastify and GraphQL.
What's included:
- TypeScript 3.7,
- ESLint with some initial rules recommendation,
- GrapqhQL with grapqhl-compose-mongoose,
- Fastify with initial routing setup,
- 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 click the Use template link (or the green button),
or clone the repository with following commands:
git clone https://github.com/anku255/fastify-graphql-ts-boilterplate
cd fastify-graphql-ts-boilterplate
yarn install
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.
clean
- remove coverage data, Jest cache and transpiled files,build
- transpile TypeScript to ES6,build:watch
- interactive watch mode to automatically transpile source files,start:qa
- interactive watch mode using nodemon to automatically transpile source files,lint
- lint source files and tests,test
- run tests,test:watch
- interactive watch mode to automatically re-run tests
Create an .env
file in the root directory and add the environmental variables there.
PORT=8000
DATABASE=
JWT_SECRET=myjwtsecret
JWT_EXPIRATION=30d
Licensed under the APLv2. See the LICENSE file for details.