Node.js, Koa, GraphQL and TypeScript template project.
Batteries and opinions included 🙌
-
Docker 🐳 configuration for production deployment, development and testing
-
GraphQL tools:
- GraphiQL
- GraphQL Voyager
- GraphQL Playground
- GraphQL IDL
- Apollo Tracing
-
Reference 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 &yarn
or
Docker
>= 17.05
- yarn:
$ yarn
- Docker:
$ docker-compose up
- 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.
$ yarn gqlgen
single test run
$ yarn test:unit
$ yarn test:integration
$ yarn test
Run the app or point E2E_TEST_URL to a remote instance you want to test against.
$ yarn test:e2e
Set environment variable CI
to true to generate coverage reports.
In *nix:
CI=true yarn test
In Windows:
set CI=true&&yarn test
$ yarn build
or $ docker build .
-
TypeScript
-
Koa
-
GraphQL
-
Jest
-
winston
-
Docker