1.1.1 • Published 8 years ago
graphcool-compose v1.1.1
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-composeor
$ yarn global add graphcool-composeUsage
build for default target
$ graphcool-composebuild for specific target
$ graphcool-compose --target qabuild and call graphcool deploy
$ graphcool-compose --target qa --deploybuild and call graphcool deploy --force
$ graphcool-compose --target qa --deploy --forcePrerequisites
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
|-- .graphcoolrcFile Structure Details
| folder | details |
|---|---|
| environemnts | environment vars will be set for every resolver. default.yml will be merged with the target specific file |
| src/moduleX | every module will have it's own folder in the src |
| src/moduleX/resolvers | the resolver files - a resolverName.graphql + resolverName.ts (or.js) pair |
| src/moduleX/permissions | the graphql files that hold the permission queries |
| src/moduleX/graphcool.yml | basically permissions, just like in the graphcool.yml; note that the query paths are relative, will be resolved by graphcool-compose |
| src/moduleX/types.graphql | these files will just be merged in the root/types.graphql file |