mikro-orm-graphql-example
A MikroORM boilerplate for GraphQL made with Typescript using TypeGraphQL
📦 Packages
I've also created a package (graphql-fields-to-relations
) that converts the input fields to a list of relation strings. These strings can be passed directly to MikroOrm, in order to load the requested relations.
✨ Installation
- Install dependencies via
yarn
- Create your docker containers via
docker-compose up -d
- create .env file based on .env.example
PORT=8080
POSTGRES_USER=root
POSTGRES_PASSWORD=root
POSTGRES_DB=mikro-orm-graphql-data
NODE_DEV=false
- Load fixtures
yarn loadFixtures
- Run via
yarn start
oryarn dev
- GraphQL API is running on localhost:8080/graphql
⚡️ Usage
Running
Once the server starts, you can access the GraphQL API on localhost:8080/graphql.
I've included 4 options to run this application:
Run with Node
Run the regular start command
Run with ts-node-dev
Run and watch the application in Typescript. Checkout ts-node-dev
Run with debugger
I've added the launch script for VSCode in the repository. You can start the application by going to the Debug and Run tab and clicking on Debug Application
Test driven with Mocha Test Explorer
Mocha Test Explorer allows you to run and debug your mocha tests from a nice UI within VSCode. Install the extension and get going!
Migrations
After developing a feature, run the following commands to create a migration from the previous migration schema state:
yarn mikro-orm schema:drop --run
yarn mikro-orm migration:up
yarn mikro-orm migration:create
👤 Author
Dries Croons
Website: dries.io
Github: driescroons
Twitter: croewens
📢 Shoutouts
Special thanks to Leslie Jobse and Sebastiaan Viaene from Panenco.
At Panenco we shape, build & grow digital products from the ground up, with the future in mind.
⭐️ Support
Please star the repository if this helped you!
⛑️ Contribution
Want to help contribute to this repository?
- Something's not working? Got a question? Create an issue!
- Missing some functionality? Feel free to create a pull request!
🚧 Todo
- Better error handling