Thank you for investing time in contributing to this project!
├── packages/
| ├── directive-spl/ # directive to sort, filter and paginate
| ├── graphql-mesh/ # superset of [graphql-mesh](https://github.com/ardatan/graphql-mesh) with patches and customs features
| ├── inject-additionnal-transforms/
├── test/
| ├── integration/ # Folder containing integration tests and mocks used by them
| | ├── mocks/ # static files for testing api
| | ├── plugins/ # custom plugin for integration tests
| | ├── tests/ # tests cases
| | ├── tranforms/ # custom transform for integration tests
After cloning the repo locally, initialize, build and start the services with:
npm install
- Once you've added your swagger files to your sources folder or your config.yaml, you can start the service with:
npm run start
- Build the 🐳 Docker image for local test with:
cd packages/graphql-mesh && npm run build:local:image
- This project is using several packages like
directive-headers
,directive-no-auth
,directive-spl
andinject-additional-transforms
. To avoid publishing their packages in npm registry and using them insidegraphql-mesh
package, we pefer to pack them into local-pkg. This approach is interesting because it avoids publishing these packages at each changes.
If any changes are made to these packages, you need to clean your node_modules
and run npm install
again with:
npm run clean:modules && npm install
-
Run the integration tests locally:
- Start the services:
cd test/integration && docker-compose up
- Run the tests:
cd test/integration/tests && npm install && npm test