Node.js, Koa, GraphQL and TypeScript template project. Batteries included 🙌
- Docker 🐳 configuration for production deployment, development and testing
- GraphQL tools:
- GraphQL IDL
- Apollo Tracing
- GraphiQL
- GraphQL Voyager
- GraphQL Playground
- GraphQL Models and Connectors architecture implementation
- 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.
- npm:
$ npm run g2t
- yarn:
$ yarn g2t
single test run
- npm:
$ npm run test:unit
- yarn:
$ yarn test:unit
- npm:
$ npm run test:integration
- yarn:
$ yarn test:integration
- npm:
$ npm test
- yarn:
$ yarn test
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