Templates are a quick and easy way to pull in predefined functionality into a Graphcool service.
There's a number of templates that are officially supported. You can find them here.
A template is nothing but the definition of another Graphcool service, including a service definition file
graphcool.yml and potentially more files for functions or permissions.
It is important to understand that templates are only a lightweight and temporary solution for you to be able to quickly integrate predefined functionality into your Graphcool service. They are not meant to provide an elaborate package/module system like npm or other dependency management tools.
The process of adding a template to a Graphcool service involves several steps. You're basically merging your local service definition with the service definition of the template you want to use. In the end, you end up with only one
graphcool.yml as well as only one
How to add a template manually:
graphcool.ymlof your own service. Be sure to adjust any file references, e.g. source files that contain code for functions, if necessary.
types.graphqlof your own service.
add-template command in the Graphcool CLI basically automates the process of manually adding templates.
The only option that can be provided to this command is the path to the template on GitHub, e.g. for the
graphcool add-template graphcool/templates/auth/email-password
When merging the template's
types.graphql files with the ones from your local service definition, the CLI will only add the contents from the template files into your local files as comments. So you need to explicitly uncomment the parts form the template files that you actually want to use in your project.
The process for using the CLI to add a template thus looks as follows:
add-template <path>CLI command and specify the
<path>which points to the template's directory in the Graphcool GitHub organization.
Was this page helpful?