1.1.1 • Published 6 years ago

graphcool-compose v1.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
6 years ago

graphcool-compose

Command line tool that composes the graphcool.yml and types.graphql following a predefined folder structure. Allows you to structure your project into modules, each with its own resolvers, permission queries, graphcool.yml file and types.graphql file

Installation

$ npm install -g graphcool-compose

or

$ yarn global add graphcool-compose

Usage

build for default target
$ graphcool-compose
build for specific target
$ graphcool-compose --target qa
build and call graphcool deploy
$ graphcool-compose --target qa --deploy
build and call graphcool deploy --force
$ graphcool-compose --target qa --deploy --force

Prerequisites

A valid graphcool project is assumed (folder with a .graphcoolrc)

File Structure

see example here

graphcool-compose assumes a specific folder structure

|-- environemnts
    |-- default.yml
    |-- target1.yml
    |-- target2.yml
    ...
|-- src
    |-- module1
        |-- resolvers
            |-- resolver1.graphql
            |-- resolver1.ts
            |-- resolver2.graphql
            |-- resolver2.js
        |-- permissions
            |-- type1.graphql
            |-- type2.graphql
        |-- graphcool.yml
        |-- types.graphql
    |-- module2
        |-- types.graphql
|-- .graphcoolrc

File Structure Details

folderdetails
environemntsenvironment vars will be set for every resolver. default.yml will be merged with the target specific file
src/moduleXevery module will have it's own folder in the src
src/moduleX/resolversthe resolver files - a resolverName.graphql + resolverName.ts (or.js) pair
src/moduleX/permissionsthe graphql files that hold the permission queries
src/moduleX/graphcool.ymlbasically permissions, just like in the graphcool.yml; note that the query paths are relative, will be resolved by graphcool-compose
src/moduleX/types.graphqlthese files will just be merged in the root/types.graphql file