create-graphql-app
Cli tool for bootstrapping production grade GraphQL server, using:
Installation
Please make sure you have Node.js version 8+, and type
npm install -g create-graphql-app
CLI commands
Init server command
Open shell in the desired folder for bootstrapping the server, and typed:
cga init <project-name>
The command will prompt available server seeds options. Choose the boilerplate project
you want, and start coding!
Generate server resolver files
The server boilerplate code is designed as multi file schema definitions.
Our recommended way for schema design is to create a type file for certain entity.
Eventually, all entities schemas are merged.
To generate a matching resolver file for type file, execute the command:
cga r <type-file> <resolver file>
This will create a matching file, with all Query, Mutation and Subscription
definitions.
Generate services
Our server resolvers should operate as a thin layer, or controller, that links between the schema,
and the server business logic. We use services for our model, to perform logic such as api fetching,
db operations, etc. In order to create a new service, run the command:
cga s <service-path> [--ignoreContext]
This will create a new service file to services directory. Also, it will register the service on the
server injector file, and will add its definition to the context object, thus allowing its usage
by resolvers.
You can exclude context file additions by passing the ignoreContext flag.
Deploy server to production
Inside the project directory, type:
cga d
This will run the server deploy script, and will move the server to production! :rocket:
Extended documentation
Please check out the extended documentation for more information