Node.js, Koa, GraphQL and TypeScript template project with batteries included.
- Docker 🐳 configuration for production deployment, development and testing
- GraphQL tools:
- GraphiQL
- GraphQL Voyager
- GraphQL IDL
- CORS middleware
- 12 Factor Configuration with
.env - Configurable logging
- powered by
winston
- powered by
- Supercharged Development Mode
- Incremental TypeScript builds
- Automatic server restart on changes
- Linting
- Testing
- Unit tests
- Integration tests for GraphQL schema
- Reporting
- Test result export to JUnit format
- Coverage result export to Cobertura format
node>= 8.1.4 &npm/yarn
or
Docker>= 17.05
- npm:
$ npm i - yarn:
$ yarn - Docker:
$ docker-compose up
- npm:
$ npm start - yarn:
$ yarn start - Docker:
$ docker-compose up --build
Attention windows users: when Docker for Windows is not an option, install yarn and run $ yarn && yarn docker-mount beforehand.
single test run
- npm:
$ npm run test:unit - yarn:
$ yarn test:unit - Docker:
$ docker-compose -f docker-compose.test.yml run sut test:unit
- npm:
$ npm run test:integration - yarn:
$ yarn test:integration - Docker:
$ docker-compose -f docker-compose.test.yml run sut test:integration
- npm:
$ npm test - yarn:
$ yarn test - Docker:
$ docker-compose -f docker-compose.test.yml run sut
Set environment variable CI to true to generate coverage reports.
In *nix:
CI=true npm test
In Windows:
set CI=true&&npm test
In Docker:
docker-compose -f docker-compose.test.yml run -e CI=true sut
$ npm run build or $ yarn build or $ docker build .
-
TypeScript
-
Koa
-
GraphQL
-
Jest
-
winston
-
Docker