├── minimal ├── .gitignore ├── package.json ├── src │ └── index.js ├── README.md └── yarn.lock ├── advanced ├── .env ├── .gitignore ├── .install │ ├── package.json │ ├── index.js │ └── yarn.lock ├── src │ ├── resolvers │ │ ├── User.js │ │ ├── Post.js │ │ ├── Subscription.js │ │ ├── index.js │ │ ├── Query.js │ │ └── Mutation │ │ │ ├── auth.js │ │ │ └── post.js │ ├── index.js │ ├── utils.js │ ├── generated │ │ └── prisma-client │ │ │ ├── index.js │ │ │ ├── prisma-schema.js │ │ │ └── index.d.ts │ └── schema.graphql ├── prisma │ ├── datamodel.prisma │ ├── prisma.yml │ └── seed.graphql ├── package.json └── README.md ├── basic ├── .gitignore ├── prisma │ ├── datamodel.prisma │ ├── seed.graphql │ └── prisma.yml ├── .install │ ├── package.json │ ├── index.js │ └── yarn.lock ├── package.json ├── src │ ├── schema.graphql │ ├── generated │ │ └── prisma-client │ │ │ ├── index.js │ │ │ ├── prisma-schema.js │ │ │ └── index.d.ts │ └── index.js ├── README.md └── yarn.lock ├── renovate.json └── README.md /minimal/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | package-lock.json 3 | yarn.lock -------------------------------------------------------------------------------- /advanced/.env: -------------------------------------------------------------------------------- 1 | PRISMA_SECRET="mysecret123" 2 | APP_SECRET="jwtsecret123" -------------------------------------------------------------------------------- /advanced/.gitignore: -------------------------------------------------------------------------------- 1 | dist 2 | package-lock.json 3 | node_modules 4 | .idea 5 | .vscode 6 | *.log 7 | yarn.lock 8 | -------------------------------------------------------------------------------- /basic/.gitignore: -------------------------------------------------------------------------------- 1 | .env* 2 | dist 3 | package-lock.json 4 | node_modules 5 | .idea 6 | .vscode 7 | *.log 8 | yarn.lock -------------------------------------------------------------------------------- /basic/prisma/datamodel.prisma: -------------------------------------------------------------------------------- 1 | type Post { 2 | id: ID! @id 3 | published: Boolean! @default(value: false) 4 | title: String! 5 | content: String! 6 | } -------------------------------------------------------------------------------- /minimal/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "start": "node src/index.js" 4 | }, 5 | "dependencies": { 6 | "graphql-yoga": "1.18.3" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /basic/.install/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "install", 3 | "version": "0.0.0", 4 | "devDependencies": { 5 | "graphql-boilerplate-install": "0.1.9" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /advanced/.install/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "install", 3 | "version": "0.0.0", 4 | "devDependencies": { 5 | "graphql-boilerplate-install": "0.1.9" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": [ 3 | "config:base", 4 | ":skipStatusChecks" 5 | ], 6 | "automerge": true, 7 | "major": { 8 | "automerge": false 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /advanced/src/resolvers/User.js: -------------------------------------------------------------------------------- 1 | const User = { 2 | posts: ({ id }, args, context) => { 3 | return context.prisma.user({ id }).posts() 4 | }, 5 | } 6 | 7 | module.exports = { 8 | User, 9 | } -------------------------------------------------------------------------------- /advanced/src/resolvers/Post.js: -------------------------------------------------------------------------------- 1 | const Post = { 2 | author: ({ id }, args, context) => { 3 | return context.prisma.post({ id }).author() 4 | }, 5 | } 6 | 7 | module.exports = { 8 | Post, 9 | } 10 | -------------------------------------------------------------------------------- /basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql-boilerplate", 3 | "scripts": { 4 | "start": "node src/index.js", 5 | "prisma": "prisma" 6 | }, 7 | "dependencies": { 8 | "graphql-yoga": "1.18.3", 9 | "prisma-client-lib": "1.34.12" 10 | }, 11 | "devDependencies": { 12 | "prisma": "1.34.12" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /basic/src/schema.graphql: -------------------------------------------------------------------------------- 1 | type Query { 2 | feed: [Post!]! 3 | drafts: [Post!]! 4 | post(id: ID!): Post 5 | } 6 | 7 | type Mutation { 8 | createDraft(title: String!, content: String): Post 9 | deletePost(id: ID!): Post 10 | publish(id: ID!): Post 11 | } 12 | 13 | type Post { 14 | id: ID! 15 | published: Boolean! 16 | title: String! 17 | content: String! 18 | } -------------------------------------------------------------------------------- /advanced/prisma/datamodel.prisma: -------------------------------------------------------------------------------- 1 | type Post { 2 | id: ID! @id 3 | createdAt: DateTime! @createdAt 4 | updatedAt: DateTime! @updatedAt 5 | published: Boolean! @default(value: false) 6 | title: String! 7 | content: String! 8 | author: User! 9 | } 10 | 11 | type User { 12 | id: ID! @id 13 | email: String! @unique 14 | password: String! 15 | name: String! 16 | posts: [Post!]! 17 | } -------------------------------------------------------------------------------- /advanced/src/resolvers/Subscription.js: -------------------------------------------------------------------------------- 1 | const Subscription = { 2 | feedSubscription: { 3 | subscribe: async (parent, args, context) => { 4 | return context.prisma.$subscribe 5 | .post({ 6 | mutation_in: ['CREATED', 'UPDATED'], 7 | }) 8 | .node() 9 | }, 10 | resolve: payload => { 11 | return payload 12 | }, 13 | }, 14 | } 15 | 16 | module.exports = { Subscription } 17 | -------------------------------------------------------------------------------- /minimal/src/index.js: -------------------------------------------------------------------------------- 1 | const { GraphQLServer } = require('graphql-yoga') 2 | 3 | const typeDefs = ` 4 | type Query { 5 | hello(name: String): String 6 | } 7 | ` 8 | 9 | const resolvers = { 10 | Query: { 11 | hello: (_, args) => `Hello ${args.name || 'World'}!`, 12 | }, 13 | } 14 | 15 | const server = new GraphQLServer({ typeDefs, resolvers }) 16 | server.start(() => console.log(`Server is running at http://localhost:4000`)) 17 | -------------------------------------------------------------------------------- /advanced/src/resolvers/index.js: -------------------------------------------------------------------------------- 1 | const { Query } = require('./Query') 2 | const { auth } = require('./Mutation/auth') 3 | const { post } = require('./Mutation/post') 4 | const { Subscription } = require('./Subscription') 5 | const { User } = require('./User') 6 | const { Post } = require('./Post') 7 | 8 | module.exports = { 9 | Query, 10 | Mutation: { 11 | ...auth, 12 | ...post, 13 | }, 14 | Subscription, 15 | User, 16 | Post, 17 | } 18 | -------------------------------------------------------------------------------- /advanced/src/index.js: -------------------------------------------------------------------------------- 1 | const { GraphQLServer } = require('graphql-yoga') 2 | const { prisma } = require('./generated/prisma-client') 3 | const resolvers = require('./resolvers') 4 | 5 | const server = new GraphQLServer({ 6 | typeDefs: 'src/schema.graphql', 7 | resolvers, 8 | context: request => { 9 | return { 10 | ...request, 11 | prisma, 12 | } 13 | }, 14 | }) 15 | 16 | server.start(() => console.log('Server is running on http://localhost:4000')) 17 | -------------------------------------------------------------------------------- /advanced/src/utils.js: -------------------------------------------------------------------------------- 1 | const jwt = require('jsonwebtoken') 2 | 3 | function getUserId(context) { 4 | const Authorization = context.request.get('Authorization') 5 | if (Authorization) { 6 | const token = Authorization.replace('Bearer ', '') 7 | const { userId } = jwt.verify(token, process.env.APP_SECRET) 8 | return userId 9 | } 10 | 11 | throw new AuthError() 12 | } 13 | 14 | class AuthError extends Error { 15 | constructor() { 16 | super('Not authorized') 17 | } 18 | } 19 | 20 | module.exports = { 21 | getUserId, 22 | AuthError 23 | } -------------------------------------------------------------------------------- /advanced/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "graphql-boilerplate", 3 | "scripts": { 4 | "start": "nodemon -e js,graphql -x node -r dotenv/config src/index.js", 5 | "debug": "nodemon -e js,graphql -x node --inspect -r dotenv/config src/index.js", 6 | "nodemon": "nodemon" 7 | }, 8 | "dependencies": { 9 | "bcryptjs": "2.4.3", 10 | "graphql-yoga": "1.18.3", 11 | "jsonwebtoken": "8.5.1", 12 | "prisma-client-lib": "1.34.12" 13 | }, 14 | "devDependencies": { 15 | "dotenv": "6.2.0", 16 | "nodemon": "1.19.4", 17 | "prisma": "1.34.12" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /basic/src/generated/prisma-client/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | var prisma_lib_1 = require("prisma-client-lib"); 4 | var typeDefs = require("./prisma-schema").typeDefs; 5 | 6 | var models = [ 7 | { 8 | name: "Post", 9 | embedded: false 10 | } 11 | ]; 12 | exports.Prisma = prisma_lib_1.makePrismaClientClass({ 13 | typeDefs, 14 | models, 15 | endpoint: `__PRISMA_ENDPOINT__` 16 | }); 17 | exports.prisma = new exports.Prisma(); 18 | var models = [ 19 | { 20 | name: "Post", 21 | embedded: false 22 | } 23 | ]; 24 | -------------------------------------------------------------------------------- /basic/prisma/seed.graphql: -------------------------------------------------------------------------------- 1 | mutation { 2 | post1: createPost( 3 | data: { 4 | title: "Join us for GraphQL Conf 2019 in Berlin" 5 | content: "https://www.graphqlconf.org/" 6 | published: true 7 | } 8 | ) { 9 | id 10 | } 11 | 12 | post2: createPost( 13 | data: { 14 | title: "Subscribe to GraphQL Weekly for community news" 15 | content: "https://graphqlweekly.com/" 16 | published: true 17 | } 18 | ) { 19 | id 20 | } 21 | 22 | post3: createPost( 23 | data: { 24 | title: "Follow Prisma on Twitter" 25 | content: "https://twitter.com/prisma" 26 | } 27 | ) { 28 | id 29 | } 30 | } -------------------------------------------------------------------------------- /advanced/src/resolvers/Query.js: -------------------------------------------------------------------------------- 1 | const { getUserId } = require('../utils') 2 | 3 | const Query = { 4 | feed(parent, args, context) { 5 | return context.prisma.posts({ where: { published: true } }) 6 | }, 7 | drafts(parent, args, context) { 8 | const id = getUserId(context) 9 | const where = { 10 | published: false, 11 | author: { 12 | id, 13 | }, 14 | } 15 | return context.prisma.posts({ where }) 16 | }, 17 | post(parent, { id }, context) { 18 | return context.prisma.post({ id }) 19 | }, 20 | me(parent, args, context) { 21 | const id = getUserId(context) 22 | return context.prisma.user({ id }) 23 | }, 24 | } 25 | 26 | module.exports = { Query } 27 | -------------------------------------------------------------------------------- /advanced/src/generated/prisma-client/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | var prisma_lib_1 = require("prisma-client-lib"); 4 | var typeDefs = require("./prisma-schema").typeDefs; 5 | 6 | var models = [ 7 | { 8 | name: "Post", 9 | embedded: false 10 | }, 11 | { 12 | name: "User", 13 | embedded: false 14 | } 15 | ]; 16 | exports.Prisma = prisma_lib_1.makePrismaClientClass({ 17 | typeDefs, 18 | models, 19 | endpoint: `__PRISMA_ENDPOINT__` 20 | }); 21 | exports.prisma = new exports.Prisma(); 22 | var models = [ 23 | { 24 | name: "Post", 25 | embedded: false 26 | }, 27 | { 28 | name: "User", 29 | embedded: false 30 | } 31 | ]; 32 | -------------------------------------------------------------------------------- /advanced/src/schema.graphql: -------------------------------------------------------------------------------- 1 | type Query { 2 | feed: [Post!]! 3 | drafts: [Post!]! 4 | post(id: ID!): Post 5 | me: User 6 | } 7 | 8 | type Mutation { 9 | signup(email: String!, password: String!, name: String!): AuthPayload! 10 | login(email: String!, password: String!): AuthPayload! 11 | createDraft(title: String!, content: String!): Post! 12 | publish(id: ID!): Post! 13 | deletePost(id: ID!): Post! 14 | } 15 | 16 | type Subscription { 17 | feedSubscription: Post 18 | } 19 | 20 | type AuthPayload { 21 | token: String! 22 | user: User! 23 | } 24 | 25 | type User { 26 | id: ID! 27 | email: String! 28 | name: String! 29 | posts: [Post!]! 30 | } 31 | 32 | type Post { 33 | id: ID! 34 | published: Boolean! 35 | title: String! 36 | content: String! 37 | author: User! 38 | } -------------------------------------------------------------------------------- /advanced/.install/index.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | const { 3 | replaceInFiles, 4 | deploy, 5 | writeEnv, 6 | getInfo, 7 | makeSandboxEndpoint, 8 | } = require('graphql-boilerplate-install') 9 | 10 | module.exports = async ({ project, projectDir }) => { 11 | const templateName = 'graphql-boilerplate' 12 | 13 | const endpoint = await makeSandboxEndpoint(project) 14 | 15 | replaceInFiles( 16 | ['src/index.js', 'package.json', 'prisma/prisma.yml'], 17 | templateName, 18 | project, 19 | ) 20 | replaceInFiles(['prisma/prisma.yml'], '__PRISMA_ENDPOINT__', endpoint) 21 | 22 | console.log('Running $ prisma deploy...') 23 | await deploy(false) 24 | 25 | fs.appendFileSync('.gitignore', '.env*\n') 26 | 27 | console.log(`\ 28 | Next steps: 29 | 1. Change directory: \`cd ${projectDir}\` 30 | 2. Start local server and open Playground: \`yarn start\` 31 | `) 32 | } 33 | -------------------------------------------------------------------------------- /basic/.install/index.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | const { 3 | replaceInFiles, 4 | deploy, 5 | writeEnv, 6 | getInfo, 7 | makeSandboxEndpoint, 8 | } = require('graphql-boilerplate-install') 9 | 10 | module.exports = async ({ project, projectDir }) => { 11 | const templateName = 'graphql-boilerplate' 12 | 13 | const endpoint = await makeSandboxEndpoint(project) 14 | 15 | replaceInFiles( 16 | ['src/index.js', 'package.json', 'prisma/prisma.yml'], 17 | templateName, 18 | project, 19 | ) 20 | 21 | replaceInFiles(['src/generated/prisma-client/index.js'], '__PRISMA_ENDPOINT__', endpoint) 22 | replaceInFiles(['prisma/prisma.yml'], '__PRISMA_ENDPOINT__', endpoint) 23 | 24 | console.log('Running $ prisma deploy...') 25 | await deploy(false) 26 | 27 | console.log(`\ 28 | Next steps: 29 | 1. Change directory: \`cd ${projectDir}\` 30 | 2. Start local server: \`yarn start\` 31 | `) 32 | } 33 | -------------------------------------------------------------------------------- /basic/prisma/prisma.yml: -------------------------------------------------------------------------------- 1 | # Specifies the HTTP endpoint of your Prisma API (deployed to a Prisma Demo server). 2 | endpoint: __PRISMA_ENDPOINT__ 3 | 4 | # Defines your models, each model is mapped to the database as a table. 5 | datamodel: datamodel.prisma 6 | 7 | # Specifies the language and directory for the generated Prisma client. 8 | generate: 9 | - generator: javascript-client 10 | output: ../src/generated/prisma-client 11 | 12 | # Seed your service with initial data based on `seed.graphql`. 13 | seed: 14 | import: seed.graphql 15 | 16 | # Ensures Prisma client is re-generated after a datamodel change. 17 | hooks: 18 | post-deploy: 19 | - prisma generate 20 | 21 | # If specified, the `secret` must be used to generate a JWT which is attached 22 | # to the `Authorization` header of HTTP requests made against the Prisma API. 23 | # Info: https://www.prisma.io/docs/prisma-graphql-api/reference/authentication-ghd4/ 24 | # secret: mysecret123 25 | 26 | -------------------------------------------------------------------------------- /advanced/prisma/prisma.yml: -------------------------------------------------------------------------------- 1 | # Specifies the HTTP endpoint of your Prisma API (deployed to a Prisma Demo server). 2 | endpoint: __PRISMA_ENDPOINT__ 3 | 4 | # Defines your models, each model is mapped to the database as a table. 5 | datamodel: datamodel.prisma 6 | 7 | # Specifies the language and directory for the generated Prisma client. 8 | generate: 9 | - generator: javascript-client 10 | output: ../src/generated/prisma-client 11 | 12 | # Seed your service with initial data based on `seed.graphql`. 13 | seed: 14 | import: seed.graphql 15 | 16 | # Ensures Prisma client is re-generated after a datamodel change. 17 | hooks: 18 | post-deploy: 19 | - prisma generate 20 | 21 | # If specified, the `secret` must be used to generate a JWT which is attached 22 | # to the `Authorization` header of HTTP requests made against the Prisma API. 23 | # Info: https://www.prisma.io/docs/reference/prisma-api/concepts-utee3eiquo#authentication 24 | # secret: ${env:PRISMA_SECRET} 25 | -------------------------------------------------------------------------------- /advanced/prisma/seed.graphql: -------------------------------------------------------------------------------- 1 | 2 | mutation { 3 | user1: createUser(data: { 4 | email: "alice@prisma.io" 5 | name: "Alice" 6 | password: "$2b$10$dqyYw5XovLjpmkYNiRDEWuwKaRAvLaG45fnXE5b3KTccKZcRPka2m" # "secret42" 7 | posts: { 8 | create: { 9 | title: "Join us for GraphQL Conf 2019 in Berlin" 10 | content: "https://www.graphqlconf.org/" 11 | published: true 12 | } 13 | } 14 | }) { 15 | id 16 | } 17 | 18 | user2: createUser(data: { 19 | email: "bob@prisma.io" 20 | name: "Bob" 21 | password: "$2b$10$o6KioO.taArzboM44Ig85O3ZFZYZpR3XD7mI8T29eP4znU/.xyJbW" # "secret43" 22 | posts: { 23 | create: [{ 24 | title: "Subscribe to GraphQL Weekly for community news" 25 | content: "https://graphqlweekly.com/" 26 | published: true 27 | } { 28 | title: "Follow Prisma on Twitter" 29 | content: "https://twitter.com/prisma" 30 | }] 31 | } 32 | }) { 33 | id 34 | } 35 | } -------------------------------------------------------------------------------- /advanced/src/resolvers/Mutation/auth.js: -------------------------------------------------------------------------------- 1 | const bcrypt = require('bcryptjs') 2 | const jwt = require('jsonwebtoken') 3 | 4 | const auth = { 5 | async signup(parent, args, context) { 6 | const password = await bcrypt.hash(args.password, 10) 7 | const user = await context.prisma.createUser({ ...args, password }) 8 | 9 | return { 10 | token: jwt.sign({ userId: user.id }, process.env.APP_SECRET), 11 | user, 12 | } 13 | }, 14 | 15 | async login(parent, { email, password }, context) { 16 | const user = await context.prisma.user({ email }) 17 | if (!user) { 18 | throw new Error(`No user found for email: ${email}`) 19 | } 20 | const passwordValid = await bcrypt.compare(password, user.password) 21 | if (!passwordValid) { 22 | throw new Error('Invalid password') 23 | } 24 | return { 25 | token: jwt.sign({ userId: user.id }, process.env.APP_SECRET), 26 | user, 27 | } 28 | }, 29 | } 30 | 31 | module.exports = { auth } 32 | -------------------------------------------------------------------------------- /basic/src/index.js: -------------------------------------------------------------------------------- 1 | const { GraphQLServer } = require('graphql-yoga') 2 | const { prisma } = require('./generated/prisma-client') 3 | 4 | const resolvers = { 5 | Query: { 6 | feed: (parent, args, context) => { 7 | return context.prisma.posts({ where: { published: true } }) 8 | }, 9 | drafts: (parent, args, context) => { 10 | return context.prisma.posts({ where: { published: false } }) 11 | }, 12 | post: (parent, { id }, context) => { 13 | return context.prisma.post({ id }) 14 | }, 15 | }, 16 | Mutation: { 17 | createDraft(parent, { title, content }, context) { 18 | return context.prisma.createPost({ 19 | title, 20 | content, 21 | }) 22 | }, 23 | deletePost(parent, { id }, context) { 24 | return context.prisma.deletePost({ id }) 25 | }, 26 | publish(parent, { id }, context) { 27 | return context.prisma.updatePost({ 28 | where: { id }, 29 | data: { published: true }, 30 | }) 31 | }, 32 | }, 33 | } 34 | 35 | const server = new GraphQLServer({ 36 | typeDefs: './src/schema.graphql', 37 | resolvers, 38 | context: { 39 | prisma, 40 | }, 41 | }) 42 | 43 | server.start(() => console.log('Server is running on http://localhost:4000')) 44 | -------------------------------------------------------------------------------- /advanced/src/resolvers/Mutation/post.js: -------------------------------------------------------------------------------- 1 | const { getUserId } = require('../../utils') 2 | 3 | const post = { 4 | async createDraft(parent, { title, content }, context) { 5 | const userId = getUserId(context) 6 | return context.prisma.createPost({ 7 | title, 8 | content, 9 | author: { connect: { id: userId } }, 10 | }) 11 | }, 12 | 13 | async publish(parent, { id }, context) { 14 | const userId = getUserId(context) 15 | const postExists = await context.prisma.$exists.post({ 16 | id, 17 | author: { id: userId }, 18 | }) 19 | if (!postExists) { 20 | throw new Error(`Post not found or you're not the author`) 21 | } 22 | 23 | return context.prisma.updatePost( 24 | { 25 | where: { id }, 26 | data: { published: true }, 27 | }, 28 | ) 29 | }, 30 | 31 | async deletePost(parent, { id }, context) { 32 | const userId = getUserId(context) 33 | const postExists = await context.prisma.$exists.post({ 34 | id, 35 | author: { id: userId }, 36 | }) 37 | if (!postExists) { 38 | throw new Error(`Post not found or you're not the author`) 39 | } 40 | 41 | return context.prisma.deletePost({ id }) 42 | }, 43 | } 44 | 45 | module.exports = { post } 46 | -------------------------------------------------------------------------------- /minimal/README.md: -------------------------------------------------------------------------------- 1 |

Boilerplate for a Minimal GraphQL Server

2 | 3 |
4 | 5 |
🚀 Bootstrap your GraphQL server within seconds
6 |
Basic starter kit for a flexible GraphQL server for Node.js - based on best practices from the GraphQL community.
7 | 8 | ## Features 9 | 10 | - **Scalable GraphQL server:** The server uses [`graphql-yoga`](https://github.com/prisma/graphql-yoga) which is based on Apollo Server & Express 11 | 12 | - **Simple Hello World example:** Where it either returns `Hello !` or `Hello World!` if no name argument is provided. 13 | 14 | ## Getting started 15 | 16 | ```sh 17 | # 1. Navigate to the folder 18 | # 2. Run yarn install or npm install 19 | # 3. Start server using yarn run start or npm start (runs on http://localhost:4000) and open in GraphQL Playground 20 | ``` 21 | ![alt text](https://i.imgur.com/yjkt0mQ.png) ![alt text](https://i.imgur.com/Ym06T2Y.png) 22 | 23 | ## Documentation 24 | 25 | ### Commands 26 | 27 | * `yarn start` or `npm run start` starts GraphQL server on `http://localhost:4000` 28 | 29 | ### Project structure 30 | 31 | ![](https://i.imgur.com/uD2fqZo.png) 32 | 33 | | File name               | Description         

| 34 | | :-- | :-- | 35 | | `└── src ` (_directory_) | _Contains the source files for your GraphQL server_ | 36 | | `  ├── index.js` | The entry point for your GraphQL server | 37 | 38 | 39 | ## Contributing 40 | 41 | The GraphQL boilerplates are maintained by the GraphQL community, with official support from the [Apollo](https://dev-blog.apollodata.com) & [Graphcool](https://blog.graph.cool/) teams. 42 | 43 | Your feedback is **very helpful**, please share your opinion and thoughts! If you have any questions or want to contribute yourself, join the [`#graphql-boilerplate`](https://graphcool.slack.com/messages/graphql-boilerplate) channel on our [Slack](https://graphcool.slack.com/). 44 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

GraphQL Server Boilerplates for Node.js

2 | 3 |
4 | 5 | ![](https://imgur.com/lIi4YrZ.png) 6 | 7 |
Bootstrap your GraphQL server within seconds
8 |
GraphQL boilerplates provide the perfect foundation for your GraphQL server, no matter if you're just getting started with GraphQL or aim to build a fully-fledged application.
9 | 10 |
11 | 12 | ## Deprecation note 13 | 14 | This repository has been deprecated and is currently unmaintained. You can find up-to-date examples for building GraphQL servers with a database [here](https://github.com/prisma/prisma-examples/). 15 | 16 | ## Features 17 | 18 | - **Rapid scaffolding**: Simply use `graphql create` (from the [GraphQL CLI](https://github.com/graphql-cli/graphql-cli)) to download the boilerplate you want. 19 | - **Easily extensible**: A boilerplate only provides the minimum setup so you can tailor the API to your use case. 20 | - **Best practices**: Each boilerplate incorporates best practices from the GraphQL community. 21 | 22 | For a fully-fledged **GraphQL & Node.js tutorial**, visit [How to GraphQL](https://www.howtographql.com/graphql-js/0-introduction/). You can more learn about the idea behind GraphQL boilerplates [here](https://blog.graph.cool/graphql-boilerplates-graphql-create-how-to-setup-a-graphql-project-6428be2f3a5). 23 | 24 | ## Quickstart 25 | 26 | Select a boilerplate and follow the instructions in the belonging README to get started: 27 | 28 | - [`minimal`](./minimal): Minimal boilerplate with basic "Hello World" functionality 29 | - [`basic`](./basic): Basic boilerplate based on a simple data model and with a GraphQL database 30 | - [`advanced`](./advanced): Advanced boilerplate with a GraphQL database, authentication and realtime subscriptions 31 | 32 | All projects are based on [`graphql-yoga`](https://github.com/graphcool/graphql-yoga/), a fully-featured GraphQL server library with focus on easy setup, performance & great developer experience. 33 | 34 | ## Contributing 35 | 36 | The GraphQL boilerplates are maintained by the GraphQL community, with official support from the [Apollo](https://blog.apollographql.com/) & [Prisma / Graphcool](https://prisma.io/blog) teams. 37 | 38 | Your feedback is **very helpful**, please share your opinion and thoughts! If you have any questions or want to contribute yourself, join the [`#graphql-boilerplate`](https://graphcool.slack.com/messages/graphql-boilerplate) channel on our [Slack](https://graphcool.slack.com/). 39 | -------------------------------------------------------------------------------- /basic/README.md: -------------------------------------------------------------------------------- 1 |

Boilerplate for a Basic GraphQL Server

2 | 3 |
4 | 5 | ![](https://imgur.com/lIi4YrZ.png) 6 | 7 |
🚀 Bootstrap your GraphQL server within seconds
8 |
Basic starter kit for a flexible GraphQL server for Node.js - based on best practices from the GraphQL community.
9 | 10 | ## Features 11 | 12 | - **Scalable GraphQL server:** The server uses [`graphql-yoga`](https://github.com/prisma/graphql-yoga) which is based on Apollo Server & Express 13 | - **GraphQL database:** Includes GraphQL database binding to [Prisma](https://www.prismagraphql.com) (running on MySQL) 14 | - **Tooling**: Out-of-the-box support for [GraphQL Playground](https://github.com/prisma/graphql-playground) & [query performance tracing](https://github.com/apollographql/apollo-tracing) 15 | - **Extensible**: Simple and flexible [data model](./database/datamodel.graphql) – easy to adjust and extend 16 | - **No configuration overhead**: Preconfigured [`graphql-config`](https://github.com/prisma/graphql-config) setup 17 | 18 | For a fully-fledged **GraphQL & Node.js tutorial**, visit [How to GraphQL](https://www.howtographql.com/graphql-js/0-introduction/). 19 | 20 | ## Requirements 21 | 22 | You need to have the [GraphQL CLI](https://github.com/graphql-cli/graphql-cli) installed to bootstrap your GraphQL server using `graphql create`: 23 | 24 | ```sh 25 | npm install -g graphql-cli 26 | ``` 27 | 28 | ## Getting started 29 | 30 | ```sh 31 | # 1. Bootstrap GraphQL server in directory `my-app`, based on `node-basic` boilerplate 32 | graphql create my-app --boilerplate node-basic 33 | 34 | # 2. When prompted, deploy the Prisma service to a _public cluster_ 35 | 36 | # 3. Navigate to the new project 37 | cd my-app 38 | 39 | # 4. Start server (runs on http://localhost:4000) 40 | yarn start 41 | ``` 42 | 43 | ![](https://imgur.com/hElq68i.png) 44 | 45 | ## Documentation 46 | 47 | ### Commands 48 | 49 | * `yarn start` starts GraphQL server on `http://localhost:4000` 50 | * `yarn prisma ` gives access to local version of Prisma CLI (e.g. `yarn prisma deploy`) 51 | 52 | ### Project structure 53 | 54 | ![](https://imgur.com/95faUsa.png) 55 | 56 | | File name               | Description         

| 57 | | :-- | :-- | 58 | | `└── prisma ` (_directory_) | _Contains all files that are related to the Prisma database service_ |\ 59 | | `  ├── prisma.yml` | The root configuration file for your Prisma database service ([docs](https://www.prismagraphql.com/docs/reference/prisma.yml/overview-and-example-foatho8aip)) | 60 | | `  └── datamodel.graphql` | Defines your data model (written in [GraphQL SDL](https://blog.graph.cool/graphql-sdl-schema-definition-language-6755bcb9ce51)) | 61 | | `└── src ` (_directory_) | _Contains the source files for your GraphQL server_ | 62 | | `  ├── index.js` | The entry point for your GraphQL server | 63 | | `  ├── schema.graphql` | The **application schema** that defines the GraphQL API | 64 | | `  └── generated` (_directory_) | _Contains generated files_ | 65 | | `    └── prisma-client` (_directory_) | The generated Prisma client | 66 | 67 | ## Contributing 68 | 69 | The GraphQL boilerplates are maintained by the GraphQL community, with official support from the [Apollo](https://www.apollographql.com/) & [Prisma](https://www.prisma.io) teams. 70 | 71 | Your feedback is **very helpful**, please share your opinion and thoughts! If you have any questions or want to contribute yourself, join the `#graphql-boilerplate` channel on our [Slack](https://slack.prisma.io/). -------------------------------------------------------------------------------- /advanced/README.md: -------------------------------------------------------------------------------- 1 |

Boilerplate for an Advanced GraphQL Server

2 | 3 |
4 | 5 | ![](https://imgur.com/lIi4YrZ.png) 6 | 7 |
🚀 Bootstrap your GraphQL server within seconds
8 |
Advanced starter kit for a flexible GraphQL server for Node.js - based on best practices from the GraphQL community.
9 | 10 | ## Features 11 | 12 | - **Scalable GraphQL server:** The server uses [`graphql-yoga`](https://github.com/prisma/graphql-yoga) which is based on Apollo Server & Express 13 | - **GraphQL database:** Includes GraphQL database binding to [Prisma](https://www.prismagraphql.com) (running on MySQL) 14 | - **Authentication**: Signup and login workflows are ready to use for your users 15 | - **Tooling**: Out-of-the-box support for [GraphQL Playground](https://github.com/prisma/graphql-playground) & [query performance tracing](https://github.com/apollographql/apollo-tracing) 16 | - **Extensible**: Simple and flexible [data model](./database/datamodel.graphql) – easy to adjust and extend 17 | - **No configuration overhead**: Preconfigured [`graphql-config`](https://github.com/prisma/graphql-config) setup 18 | - **Realtime updates**: Support for GraphQL subscriptions 19 | 20 | For a fully-fledged **GraphQL & Node.js tutorial**, visit [How to GraphQL](https://www.howtographql.com/graphql-js/0-introduction/). 21 | 22 | ## Requirements 23 | 24 | You need to have the [GraphQL CLI](https://github.com/graphql-cli/graphql-cli) installed to bootstrap your GraphQL server using `graphql create`: 25 | 26 | ```sh 27 | npm install -g graphql-cli 28 | ``` 29 | 30 | ## Getting started 31 | 32 | ```sh 33 | # 1. Bootstrap GraphQL server in directory `my-app`, based on `node-advanced` boilerplate 34 | graphql create my-app --boilerplate node-advanced 35 | 36 | # 2. When prompted, deploy the Prisma service to a _public cluster_ 37 | 38 | # 3. Navigate to the new project 39 | cd my-app 40 | 41 | # 4. Start server (runs on http://localhost:4000) 42 | yarn start 43 | ``` 44 | 45 | ## Documentation 46 | 47 | ### Commands 48 | 49 | * `yarn start` starts GraphQL server on `http://localhost:4000` 50 | * `yarn prisma ` gives access to local version of Prisma CLI (e.g. `yarn prisma deploy`) 51 | 52 | ### Project structure 53 | 54 | ![](https://imgur.com/95faUsa.png) 55 | 56 | | File name               | Description         

| 57 | | :-- | :-- | 58 | | `├── .env` | Defines environment variables | 59 | | `└── database ` (_directory_) | _Contains all files that are related to the Prisma database service_ |\ 60 | | `  ├── prisma.yml` | The root configuration file for your Prisma database service ([docs](https://www.prismagraphql.com/docs/reference/prisma.yml/overview-and-example-foatho8aip)) | 61 | | `  └── datamodel.prisma` | Defines your data model (written in [GraphQL SDL](https://blog.graph.cool/graphql-sdl-schema-definition-language-6755bcb9ce51)) | 62 | | `└── src ` (_directory_) | _Contains the source files for your GraphQL server_ | 63 | | `  ├── index.js` | The entry point for your GraphQL server | 64 | | `  ├── schema.graphql` | The **application schema** defining the API exposed to client applications | 65 | | `  ├── resolvers` (_directory_) | _Contains the implementation of the resolvers for the application schema_ | 66 | | `  └── generated` (_directory_) | _Contains generated files_ | 67 | | `    └── prisma-client` (_directory_) | The generated Prisma client | 68 | 69 | ## Contributing 70 | 71 | The GraphQL boilerplates are maintained by the GraphQL community, with official support from the [Apollo](https://www.apollographql.com/) & [Prisma](https://www.prisma.io) teams. 72 | 73 | Your feedback is **very helpful**, please share your opinion and thoughts! If you have any questions or want to contribute yourself, join the `#graphql-boilerplate` channel on our [Slack](https://slack.prisma.io/). -------------------------------------------------------------------------------- /advanced/.install/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | commander@^2.9.0: 6 | version "2.12.2" 7 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" 8 | 9 | cross-spawn@5.1.0, cross-spawn@^5.1.0: 10 | version "5.1.0" 11 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 12 | dependencies: 13 | lru-cache "^4.0.1" 14 | shebang-command "^1.2.0" 15 | which "^1.2.9" 16 | 17 | graphql-boilerplate-install@0.1.9: 18 | version "0.1.9" 19 | resolved "https://registry.yarnpkg.com/graphql-boilerplate-install/-/graphql-boilerplate-install-0.1.9.tgz#bcd7e8dbb2b685820e78a76a5dbb6f24fcadf2c8" 20 | dependencies: 21 | cross-spawn "5.1.0" 22 | node-fetch "^2.1.2" 23 | npm-run "4.1.2" 24 | sillyname "^0.1.0" 25 | 26 | isexe@^2.0.0: 27 | version "2.0.0" 28 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 29 | 30 | lru-cache@^4.0.1: 31 | version "4.1.1" 32 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" 33 | dependencies: 34 | pseudomap "^1.0.2" 35 | yallist "^2.1.2" 36 | 37 | minimist@^1.2.0: 38 | version "1.2.0" 39 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 40 | 41 | node-fetch@^2.1.2: 42 | version "2.1.2" 43 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" 44 | 45 | npm-path@^2.0.2, npm-path@^2.0.3: 46 | version "2.0.4" 47 | resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" 48 | dependencies: 49 | which "^1.2.10" 50 | 51 | npm-run@4.1.2: 52 | version "4.1.2" 53 | resolved "https://registry.yarnpkg.com/npm-run/-/npm-run-4.1.2.tgz#1030e1ec56908c89fcc3fa366d03a2c2ba98eb99" 54 | dependencies: 55 | cross-spawn "^5.1.0" 56 | minimist "^1.2.0" 57 | npm-path "^2.0.3" 58 | npm-which "^3.0.1" 59 | serializerr "^1.0.3" 60 | sync-exec "^0.6.2" 61 | 62 | npm-which@^3.0.1: 63 | version "3.0.1" 64 | resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" 65 | dependencies: 66 | commander "^2.9.0" 67 | npm-path "^2.0.2" 68 | which "^1.2.10" 69 | 70 | protochain@^1.0.5: 71 | version "1.0.5" 72 | resolved "https://registry.yarnpkg.com/protochain/-/protochain-1.0.5.tgz#991c407e99de264aadf8f81504b5e7faf7bfa260" 73 | 74 | pseudomap@^1.0.2: 75 | version "1.0.2" 76 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 77 | 78 | serializerr@^1.0.3: 79 | version "1.0.3" 80 | resolved "https://registry.yarnpkg.com/serializerr/-/serializerr-1.0.3.tgz#12d4c5aa1c3ffb8f6d1dc5f395aa9455569c3f91" 81 | dependencies: 82 | protochain "^1.0.5" 83 | 84 | shebang-command@^1.2.0: 85 | version "1.2.0" 86 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 87 | dependencies: 88 | shebang-regex "^1.0.0" 89 | 90 | shebang-regex@^1.0.0: 91 | version "1.0.0" 92 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 93 | 94 | sillyname@^0.1.0: 95 | version "0.1.0" 96 | resolved "https://registry.yarnpkg.com/sillyname/-/sillyname-0.1.0.tgz#cfd98858e2498671347775efe3bb5141f46c87d6" 97 | 98 | sync-exec@^0.6.2: 99 | version "0.6.2" 100 | resolved "https://registry.yarnpkg.com/sync-exec/-/sync-exec-0.6.2.tgz#717d22cc53f0ce1def5594362f3a89a2ebb91105" 101 | 102 | which@^1.2.10, which@^1.2.9: 103 | version "1.3.0" 104 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 105 | dependencies: 106 | isexe "^2.0.0" 107 | 108 | yallist@^2.1.2: 109 | version "2.1.2" 110 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 111 | -------------------------------------------------------------------------------- /basic/.install/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | commander@^2.9.0: 6 | version "2.12.2" 7 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" 8 | 9 | cross-spawn@5.1.0, cross-spawn@^5.1.0: 10 | version "5.1.0" 11 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 12 | dependencies: 13 | lru-cache "^4.0.1" 14 | shebang-command "^1.2.0" 15 | which "^1.2.9" 16 | 17 | graphql-boilerplate-install@0.1.9: 18 | version "0.1.9" 19 | resolved "https://registry.yarnpkg.com/graphql-boilerplate-install/-/graphql-boilerplate-install-0.1.9.tgz#bcd7e8dbb2b685820e78a76a5dbb6f24fcadf2c8" 20 | dependencies: 21 | cross-spawn "5.1.0" 22 | node-fetch "^2.1.2" 23 | npm-run "4.1.2" 24 | sillyname "^0.1.0" 25 | 26 | isexe@^2.0.0: 27 | version "2.0.0" 28 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 29 | 30 | lru-cache@^4.0.1: 31 | version "4.1.1" 32 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" 33 | dependencies: 34 | pseudomap "^1.0.2" 35 | yallist "^2.1.2" 36 | 37 | minimist@^1.2.0: 38 | version "1.2.0" 39 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 40 | 41 | node-fetch@^2.1.2: 42 | version "2.1.2" 43 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" 44 | 45 | npm-path@^2.0.2, npm-path@^2.0.3: 46 | version "2.0.4" 47 | resolved "https://registry.yarnpkg.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64" 48 | dependencies: 49 | which "^1.2.10" 50 | 51 | npm-run@4.1.2: 52 | version "4.1.2" 53 | resolved "https://registry.yarnpkg.com/npm-run/-/npm-run-4.1.2.tgz#1030e1ec56908c89fcc3fa366d03a2c2ba98eb99" 54 | dependencies: 55 | cross-spawn "^5.1.0" 56 | minimist "^1.2.0" 57 | npm-path "^2.0.3" 58 | npm-which "^3.0.1" 59 | serializerr "^1.0.3" 60 | sync-exec "^0.6.2" 61 | 62 | npm-which@^3.0.1: 63 | version "3.0.1" 64 | resolved "https://registry.yarnpkg.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa" 65 | dependencies: 66 | commander "^2.9.0" 67 | npm-path "^2.0.2" 68 | which "^1.2.10" 69 | 70 | protochain@^1.0.5: 71 | version "1.0.5" 72 | resolved "https://registry.yarnpkg.com/protochain/-/protochain-1.0.5.tgz#991c407e99de264aadf8f81504b5e7faf7bfa260" 73 | 74 | pseudomap@^1.0.2: 75 | version "1.0.2" 76 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 77 | 78 | serializerr@^1.0.3: 79 | version "1.0.3" 80 | resolved "https://registry.yarnpkg.com/serializerr/-/serializerr-1.0.3.tgz#12d4c5aa1c3ffb8f6d1dc5f395aa9455569c3f91" 81 | dependencies: 82 | protochain "^1.0.5" 83 | 84 | shebang-command@^1.2.0: 85 | version "1.2.0" 86 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 87 | dependencies: 88 | shebang-regex "^1.0.0" 89 | 90 | shebang-regex@^1.0.0: 91 | version "1.0.0" 92 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 93 | 94 | sillyname@^0.1.0: 95 | version "0.1.0" 96 | resolved "https://registry.yarnpkg.com/sillyname/-/sillyname-0.1.0.tgz#cfd98858e2498671347775efe3bb5141f46c87d6" 97 | 98 | sync-exec@^0.6.2: 99 | version "0.6.2" 100 | resolved "https://registry.yarnpkg.com/sync-exec/-/sync-exec-0.6.2.tgz#717d22cc53f0ce1def5594362f3a89a2ebb91105" 101 | 102 | which@^1.2.10, which@^1.2.9: 103 | version "1.3.0" 104 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 105 | dependencies: 106 | isexe "^2.0.0" 107 | 108 | yallist@^2.1.2: 109 | version "2.1.2" 110 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 111 | -------------------------------------------------------------------------------- /basic/src/generated/prisma-client/prisma-schema.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | typeDefs: /* GraphQL */ `type AggregatePost { 3 | count: Int! 4 | } 5 | 6 | type BatchPayload { 7 | count: Long! 8 | } 9 | 10 | scalar Long 11 | 12 | type Mutation { 13 | createPost(data: PostCreateInput!): Post! 14 | updatePost(data: PostUpdateInput!, where: PostWhereUniqueInput!): Post 15 | updateManyPosts(data: PostUpdateManyMutationInput!, where: PostWhereInput): BatchPayload! 16 | upsertPost(where: PostWhereUniqueInput!, create: PostCreateInput!, update: PostUpdateInput!): Post! 17 | deletePost(where: PostWhereUniqueInput!): Post 18 | deleteManyPosts(where: PostWhereInput): BatchPayload! 19 | } 20 | 21 | enum MutationType { 22 | CREATED 23 | UPDATED 24 | DELETED 25 | } 26 | 27 | interface Node { 28 | id: ID! 29 | } 30 | 31 | type PageInfo { 32 | hasNextPage: Boolean! 33 | hasPreviousPage: Boolean! 34 | startCursor: String 35 | endCursor: String 36 | } 37 | 38 | type Post { 39 | id: ID! 40 | published: Boolean! 41 | title: String! 42 | content: String! 43 | } 44 | 45 | type PostConnection { 46 | pageInfo: PageInfo! 47 | edges: [PostEdge]! 48 | aggregate: AggregatePost! 49 | } 50 | 51 | input PostCreateInput { 52 | published: Boolean 53 | title: String! 54 | content: String! 55 | } 56 | 57 | type PostEdge { 58 | node: Post! 59 | cursor: String! 60 | } 61 | 62 | enum PostOrderByInput { 63 | id_ASC 64 | id_DESC 65 | published_ASC 66 | published_DESC 67 | title_ASC 68 | title_DESC 69 | content_ASC 70 | content_DESC 71 | createdAt_ASC 72 | createdAt_DESC 73 | updatedAt_ASC 74 | updatedAt_DESC 75 | } 76 | 77 | type PostPreviousValues { 78 | id: ID! 79 | published: Boolean! 80 | title: String! 81 | content: String! 82 | } 83 | 84 | type PostSubscriptionPayload { 85 | mutation: MutationType! 86 | node: Post 87 | updatedFields: [String!] 88 | previousValues: PostPreviousValues 89 | } 90 | 91 | input PostSubscriptionWhereInput { 92 | mutation_in: [MutationType!] 93 | updatedFields_contains: String 94 | updatedFields_contains_every: [String!] 95 | updatedFields_contains_some: [String!] 96 | node: PostWhereInput 97 | AND: [PostSubscriptionWhereInput!] 98 | OR: [PostSubscriptionWhereInput!] 99 | NOT: [PostSubscriptionWhereInput!] 100 | } 101 | 102 | input PostUpdateInput { 103 | published: Boolean 104 | title: String 105 | content: String 106 | } 107 | 108 | input PostUpdateManyMutationInput { 109 | published: Boolean 110 | title: String 111 | content: String 112 | } 113 | 114 | input PostWhereInput { 115 | id: ID 116 | id_not: ID 117 | id_in: [ID!] 118 | id_not_in: [ID!] 119 | id_lt: ID 120 | id_lte: ID 121 | id_gt: ID 122 | id_gte: ID 123 | id_contains: ID 124 | id_not_contains: ID 125 | id_starts_with: ID 126 | id_not_starts_with: ID 127 | id_ends_with: ID 128 | id_not_ends_with: ID 129 | published: Boolean 130 | published_not: Boolean 131 | title: String 132 | title_not: String 133 | title_in: [String!] 134 | title_not_in: [String!] 135 | title_lt: String 136 | title_lte: String 137 | title_gt: String 138 | title_gte: String 139 | title_contains: String 140 | title_not_contains: String 141 | title_starts_with: String 142 | title_not_starts_with: String 143 | title_ends_with: String 144 | title_not_ends_with: String 145 | content: String 146 | content_not: String 147 | content_in: [String!] 148 | content_not_in: [String!] 149 | content_lt: String 150 | content_lte: String 151 | content_gt: String 152 | content_gte: String 153 | content_contains: String 154 | content_not_contains: String 155 | content_starts_with: String 156 | content_not_starts_with: String 157 | content_ends_with: String 158 | content_not_ends_with: String 159 | AND: [PostWhereInput!] 160 | OR: [PostWhereInput!] 161 | NOT: [PostWhereInput!] 162 | } 163 | 164 | input PostWhereUniqueInput { 165 | id: ID 166 | } 167 | 168 | type Query { 169 | post(where: PostWhereUniqueInput!): Post 170 | posts(where: PostWhereInput, orderBy: PostOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Post]! 171 | postsConnection(where: PostWhereInput, orderBy: PostOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): PostConnection! 172 | node(id: ID!): Node 173 | } 174 | 175 | type Subscription { 176 | post(where: PostSubscriptionWhereInput): PostSubscriptionPayload 177 | } 178 | ` 179 | } 180 | -------------------------------------------------------------------------------- /basic/src/generated/prisma-client/index.d.ts: -------------------------------------------------------------------------------- 1 | // Code generated by Prisma (prisma@1.22.1). DO NOT EDIT. 2 | // Please don't change this file manually but run `prisma generate` to update it. 3 | // For more information, please read the docs: https://www.prisma.io/docs/prisma-client/ 4 | 5 | import { DocumentNode, GraphQLSchema } from "graphql"; 6 | import { makePrismaClientClass, BaseClientOptions } from "prisma-client-lib"; 7 | import { typeDefs } from "./prisma-schema"; 8 | 9 | type AtLeastOne }> = Partial & 10 | U[keyof U]; 11 | 12 | export interface Exists { 13 | post: (where?: PostWhereInput) => Promise; 14 | } 15 | 16 | export interface Node {} 17 | 18 | export type FragmentableArray = Promise> & Fragmentable; 19 | 20 | export interface Fragmentable { 21 | $fragment(fragment: string | DocumentNode): Promise; 22 | } 23 | 24 | export interface Prisma { 25 | $exists: Exists; 26 | $graphql: ( 27 | query: string, 28 | variables?: { [key: string]: any } 29 | ) => Promise; 30 | 31 | /** 32 | * Queries 33 | */ 34 | 35 | post: (where: PostWhereUniqueInput) => PostPromise; 36 | posts: ( 37 | args?: { 38 | where?: PostWhereInput; 39 | orderBy?: PostOrderByInput; 40 | skip?: Int; 41 | after?: String; 42 | before?: String; 43 | first?: Int; 44 | last?: Int; 45 | } 46 | ) => FragmentableArray; 47 | postsConnection: ( 48 | args?: { 49 | where?: PostWhereInput; 50 | orderBy?: PostOrderByInput; 51 | skip?: Int; 52 | after?: String; 53 | before?: String; 54 | first?: Int; 55 | last?: Int; 56 | } 57 | ) => PostConnectionPromise; 58 | node: (args: { id: ID_Output }) => Node; 59 | 60 | /** 61 | * Mutations 62 | */ 63 | 64 | createPost: (data: PostCreateInput) => PostPromise; 65 | updatePost: ( 66 | args: { data: PostUpdateInput; where: PostWhereUniqueInput } 67 | ) => PostPromise; 68 | updateManyPosts: ( 69 | args: { data: PostUpdateManyMutationInput; where?: PostWhereInput } 70 | ) => BatchPayloadPromise; 71 | upsertPost: ( 72 | args: { 73 | where: PostWhereUniqueInput; 74 | create: PostCreateInput; 75 | update: PostUpdateInput; 76 | } 77 | ) => PostPromise; 78 | deletePost: (where: PostWhereUniqueInput) => PostPromise; 79 | deleteManyPosts: (where?: PostWhereInput) => BatchPayloadPromise; 80 | 81 | /** 82 | * Subscriptions 83 | */ 84 | 85 | $subscribe: Subscription; 86 | } 87 | 88 | export interface Subscription { 89 | post: ( 90 | where?: PostSubscriptionWhereInput 91 | ) => PostSubscriptionPayloadSubscription; 92 | } 93 | 94 | export interface ClientConstructor { 95 | new (options?: BaseClientOptions): T; 96 | } 97 | 98 | /** 99 | * Types 100 | */ 101 | 102 | export type PostOrderByInput = 103 | | "id_ASC" 104 | | "id_DESC" 105 | | "published_ASC" 106 | | "published_DESC" 107 | | "title_ASC" 108 | | "title_DESC" 109 | | "content_ASC" 110 | | "content_DESC" 111 | | "createdAt_ASC" 112 | | "createdAt_DESC" 113 | | "updatedAt_ASC" 114 | | "updatedAt_DESC"; 115 | 116 | export type MutationType = "CREATED" | "UPDATED" | "DELETED"; 117 | 118 | export interface PostCreateInput { 119 | published?: Boolean; 120 | title: String; 121 | content: String; 122 | } 123 | 124 | export interface PostUpdateInput { 125 | published?: Boolean; 126 | title?: String; 127 | content?: String; 128 | } 129 | 130 | export interface PostWhereInput { 131 | id?: ID_Input; 132 | id_not?: ID_Input; 133 | id_in?: ID_Input[] | ID_Input; 134 | id_not_in?: ID_Input[] | ID_Input; 135 | id_lt?: ID_Input; 136 | id_lte?: ID_Input; 137 | id_gt?: ID_Input; 138 | id_gte?: ID_Input; 139 | id_contains?: ID_Input; 140 | id_not_contains?: ID_Input; 141 | id_starts_with?: ID_Input; 142 | id_not_starts_with?: ID_Input; 143 | id_ends_with?: ID_Input; 144 | id_not_ends_with?: ID_Input; 145 | published?: Boolean; 146 | published_not?: Boolean; 147 | title?: String; 148 | title_not?: String; 149 | title_in?: String[] | String; 150 | title_not_in?: String[] | String; 151 | title_lt?: String; 152 | title_lte?: String; 153 | title_gt?: String; 154 | title_gte?: String; 155 | title_contains?: String; 156 | title_not_contains?: String; 157 | title_starts_with?: String; 158 | title_not_starts_with?: String; 159 | title_ends_with?: String; 160 | title_not_ends_with?: String; 161 | content?: String; 162 | content_not?: String; 163 | content_in?: String[] | String; 164 | content_not_in?: String[] | String; 165 | content_lt?: String; 166 | content_lte?: String; 167 | content_gt?: String; 168 | content_gte?: String; 169 | content_contains?: String; 170 | content_not_contains?: String; 171 | content_starts_with?: String; 172 | content_not_starts_with?: String; 173 | content_ends_with?: String; 174 | content_not_ends_with?: String; 175 | AND?: PostWhereInput[] | PostWhereInput; 176 | OR?: PostWhereInput[] | PostWhereInput; 177 | NOT?: PostWhereInput[] | PostWhereInput; 178 | } 179 | 180 | export interface PostUpdateManyMutationInput { 181 | published?: Boolean; 182 | title?: String; 183 | content?: String; 184 | } 185 | 186 | export interface PostSubscriptionWhereInput { 187 | mutation_in?: MutationType[] | MutationType; 188 | updatedFields_contains?: String; 189 | updatedFields_contains_every?: String[] | String; 190 | updatedFields_contains_some?: String[] | String; 191 | node?: PostWhereInput; 192 | AND?: PostSubscriptionWhereInput[] | PostSubscriptionWhereInput; 193 | OR?: PostSubscriptionWhereInput[] | PostSubscriptionWhereInput; 194 | NOT?: PostSubscriptionWhereInput[] | PostSubscriptionWhereInput; 195 | } 196 | 197 | export type PostWhereUniqueInput = AtLeastOne<{ 198 | id: ID_Input; 199 | }>; 200 | 201 | export interface NodeNode { 202 | id: ID_Output; 203 | } 204 | 205 | export interface AggregatePost { 206 | count: Int; 207 | } 208 | 209 | export interface AggregatePostPromise 210 | extends Promise, 211 | Fragmentable { 212 | count: () => Promise; 213 | } 214 | 215 | export interface AggregatePostSubscription 216 | extends Promise>, 217 | Fragmentable { 218 | count: () => Promise>; 219 | } 220 | 221 | export interface BatchPayload { 222 | count: Long; 223 | } 224 | 225 | export interface BatchPayloadPromise 226 | extends Promise, 227 | Fragmentable { 228 | count: () => Promise; 229 | } 230 | 231 | export interface BatchPayloadSubscription 232 | extends Promise>, 233 | Fragmentable { 234 | count: () => Promise>; 235 | } 236 | 237 | export interface PostPreviousValues { 238 | id: ID_Output; 239 | published: Boolean; 240 | title: String; 241 | content: String; 242 | } 243 | 244 | export interface PostPreviousValuesPromise 245 | extends Promise, 246 | Fragmentable { 247 | id: () => Promise; 248 | published: () => Promise; 249 | title: () => Promise; 250 | content: () => Promise; 251 | } 252 | 253 | export interface PostPreviousValuesSubscription 254 | extends Promise>, 255 | Fragmentable { 256 | id: () => Promise>; 257 | published: () => Promise>; 258 | title: () => Promise>; 259 | content: () => Promise>; 260 | } 261 | 262 | export interface PostEdge { 263 | cursor: String; 264 | } 265 | 266 | export interface PostEdgePromise extends Promise, Fragmentable { 267 | node: () => T; 268 | cursor: () => Promise; 269 | } 270 | 271 | export interface PostEdgeSubscription 272 | extends Promise>, 273 | Fragmentable { 274 | node: () => T; 275 | cursor: () => Promise>; 276 | } 277 | 278 | export interface PostSubscriptionPayload { 279 | mutation: MutationType; 280 | updatedFields?: String[]; 281 | } 282 | 283 | export interface PostSubscriptionPayloadPromise 284 | extends Promise, 285 | Fragmentable { 286 | mutation: () => Promise; 287 | node: () => T; 288 | updatedFields: () => Promise; 289 | previousValues: () => T; 290 | } 291 | 292 | export interface PostSubscriptionPayloadSubscription 293 | extends Promise>, 294 | Fragmentable { 295 | mutation: () => Promise>; 296 | node: () => T; 297 | updatedFields: () => Promise>; 298 | previousValues: () => T; 299 | } 300 | 301 | export interface Post { 302 | id: ID_Output; 303 | published: Boolean; 304 | title: String; 305 | content: String; 306 | } 307 | 308 | export interface PostPromise extends Promise, Fragmentable { 309 | id: () => Promise; 310 | published: () => Promise; 311 | title: () => Promise; 312 | content: () => Promise; 313 | } 314 | 315 | export interface PostSubscription 316 | extends Promise>, 317 | Fragmentable { 318 | id: () => Promise>; 319 | published: () => Promise>; 320 | title: () => Promise>; 321 | content: () => Promise>; 322 | } 323 | 324 | export interface PostConnection {} 325 | 326 | export interface PostConnectionPromise 327 | extends Promise, 328 | Fragmentable { 329 | pageInfo: () => T; 330 | edges: >() => T; 331 | aggregate: () => T; 332 | } 333 | 334 | export interface PostConnectionSubscription 335 | extends Promise>, 336 | Fragmentable { 337 | pageInfo: () => T; 338 | edges: >>() => T; 339 | aggregate: () => T; 340 | } 341 | 342 | export interface PageInfo { 343 | hasNextPage: Boolean; 344 | hasPreviousPage: Boolean; 345 | startCursor?: String; 346 | endCursor?: String; 347 | } 348 | 349 | export interface PageInfoPromise extends Promise, Fragmentable { 350 | hasNextPage: () => Promise; 351 | hasPreviousPage: () => Promise; 352 | startCursor: () => Promise; 353 | endCursor: () => Promise; 354 | } 355 | 356 | export interface PageInfoSubscription 357 | extends Promise>, 358 | Fragmentable { 359 | hasNextPage: () => Promise>; 360 | hasPreviousPage: () => Promise>; 361 | startCursor: () => Promise>; 362 | endCursor: () => Promise>; 363 | } 364 | 365 | /* 366 | The `Boolean` scalar type represents `true` or `false`. 367 | */ 368 | export type Boolean = boolean; 369 | 370 | export type Long = string; 371 | 372 | /* 373 | The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID. 374 | */ 375 | export type ID_Input = string | number; 376 | export type ID_Output = string; 377 | 378 | /* 379 | The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. 380 | */ 381 | export type String = string; 382 | 383 | /* 384 | The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. 385 | */ 386 | export type Int = number; 387 | 388 | /** 389 | * Model Metadata 390 | */ 391 | 392 | export const models = [ 393 | { 394 | name: "Post", 395 | embedded: false 396 | } 397 | ]; 398 | 399 | /** 400 | * Type Defs 401 | */ 402 | 403 | export const prisma: Prisma; 404 | -------------------------------------------------------------------------------- /advanced/src/generated/prisma-client/prisma-schema.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | typeDefs: /* GraphQL */ `type AggregatePost { 3 | count: Int! 4 | } 5 | 6 | type AggregateUser { 7 | count: Int! 8 | } 9 | 10 | type BatchPayload { 11 | count: Long! 12 | } 13 | 14 | scalar DateTime 15 | 16 | scalar Long 17 | 18 | type Mutation { 19 | createPost(data: PostCreateInput!): Post! 20 | updatePost(data: PostUpdateInput!, where: PostWhereUniqueInput!): Post 21 | updateManyPosts(data: PostUpdateManyMutationInput!, where: PostWhereInput): BatchPayload! 22 | upsertPost(where: PostWhereUniqueInput!, create: PostCreateInput!, update: PostUpdateInput!): Post! 23 | deletePost(where: PostWhereUniqueInput!): Post 24 | deleteManyPosts(where: PostWhereInput): BatchPayload! 25 | createUser(data: UserCreateInput!): User! 26 | updateUser(data: UserUpdateInput!, where: UserWhereUniqueInput!): User 27 | updateManyUsers(data: UserUpdateManyMutationInput!, where: UserWhereInput): BatchPayload! 28 | upsertUser(where: UserWhereUniqueInput!, create: UserCreateInput!, update: UserUpdateInput!): User! 29 | deleteUser(where: UserWhereUniqueInput!): User 30 | deleteManyUsers(where: UserWhereInput): BatchPayload! 31 | } 32 | 33 | enum MutationType { 34 | CREATED 35 | UPDATED 36 | DELETED 37 | } 38 | 39 | interface Node { 40 | id: ID! 41 | } 42 | 43 | type PageInfo { 44 | hasNextPage: Boolean! 45 | hasPreviousPage: Boolean! 46 | startCursor: String 47 | endCursor: String 48 | } 49 | 50 | type Post { 51 | id: ID! 52 | createdAt: DateTime! 53 | updatedAt: DateTime! 54 | published: Boolean! 55 | title: String! 56 | content: String! 57 | author: User! 58 | } 59 | 60 | type PostConnection { 61 | pageInfo: PageInfo! 62 | edges: [PostEdge]! 63 | aggregate: AggregatePost! 64 | } 65 | 66 | input PostCreateInput { 67 | published: Boolean 68 | title: String! 69 | content: String! 70 | author: UserCreateOneWithoutPostsInput! 71 | } 72 | 73 | input PostCreateManyWithoutAuthorInput { 74 | create: [PostCreateWithoutAuthorInput!] 75 | connect: [PostWhereUniqueInput!] 76 | } 77 | 78 | input PostCreateWithoutAuthorInput { 79 | published: Boolean 80 | title: String! 81 | content: String! 82 | } 83 | 84 | type PostEdge { 85 | node: Post! 86 | cursor: String! 87 | } 88 | 89 | enum PostOrderByInput { 90 | id_ASC 91 | id_DESC 92 | createdAt_ASC 93 | createdAt_DESC 94 | updatedAt_ASC 95 | updatedAt_DESC 96 | published_ASC 97 | published_DESC 98 | title_ASC 99 | title_DESC 100 | content_ASC 101 | content_DESC 102 | } 103 | 104 | type PostPreviousValues { 105 | id: ID! 106 | createdAt: DateTime! 107 | updatedAt: DateTime! 108 | published: Boolean! 109 | title: String! 110 | content: String! 111 | } 112 | 113 | input PostScalarWhereInput { 114 | id: ID 115 | id_not: ID 116 | id_in: [ID!] 117 | id_not_in: [ID!] 118 | id_lt: ID 119 | id_lte: ID 120 | id_gt: ID 121 | id_gte: ID 122 | id_contains: ID 123 | id_not_contains: ID 124 | id_starts_with: ID 125 | id_not_starts_with: ID 126 | id_ends_with: ID 127 | id_not_ends_with: ID 128 | createdAt: DateTime 129 | createdAt_not: DateTime 130 | createdAt_in: [DateTime!] 131 | createdAt_not_in: [DateTime!] 132 | createdAt_lt: DateTime 133 | createdAt_lte: DateTime 134 | createdAt_gt: DateTime 135 | createdAt_gte: DateTime 136 | updatedAt: DateTime 137 | updatedAt_not: DateTime 138 | updatedAt_in: [DateTime!] 139 | updatedAt_not_in: [DateTime!] 140 | updatedAt_lt: DateTime 141 | updatedAt_lte: DateTime 142 | updatedAt_gt: DateTime 143 | updatedAt_gte: DateTime 144 | published: Boolean 145 | published_not: Boolean 146 | title: String 147 | title_not: String 148 | title_in: [String!] 149 | title_not_in: [String!] 150 | title_lt: String 151 | title_lte: String 152 | title_gt: String 153 | title_gte: String 154 | title_contains: String 155 | title_not_contains: String 156 | title_starts_with: String 157 | title_not_starts_with: String 158 | title_ends_with: String 159 | title_not_ends_with: String 160 | content: String 161 | content_not: String 162 | content_in: [String!] 163 | content_not_in: [String!] 164 | content_lt: String 165 | content_lte: String 166 | content_gt: String 167 | content_gte: String 168 | content_contains: String 169 | content_not_contains: String 170 | content_starts_with: String 171 | content_not_starts_with: String 172 | content_ends_with: String 173 | content_not_ends_with: String 174 | AND: [PostScalarWhereInput!] 175 | OR: [PostScalarWhereInput!] 176 | NOT: [PostScalarWhereInput!] 177 | } 178 | 179 | type PostSubscriptionPayload { 180 | mutation: MutationType! 181 | node: Post 182 | updatedFields: [String!] 183 | previousValues: PostPreviousValues 184 | } 185 | 186 | input PostSubscriptionWhereInput { 187 | mutation_in: [MutationType!] 188 | updatedFields_contains: String 189 | updatedFields_contains_every: [String!] 190 | updatedFields_contains_some: [String!] 191 | node: PostWhereInput 192 | AND: [PostSubscriptionWhereInput!] 193 | OR: [PostSubscriptionWhereInput!] 194 | NOT: [PostSubscriptionWhereInput!] 195 | } 196 | 197 | input PostUpdateInput { 198 | published: Boolean 199 | title: String 200 | content: String 201 | author: UserUpdateOneRequiredWithoutPostsInput 202 | } 203 | 204 | input PostUpdateManyDataInput { 205 | published: Boolean 206 | title: String 207 | content: String 208 | } 209 | 210 | input PostUpdateManyMutationInput { 211 | published: Boolean 212 | title: String 213 | content: String 214 | } 215 | 216 | input PostUpdateManyWithoutAuthorInput { 217 | create: [PostCreateWithoutAuthorInput!] 218 | delete: [PostWhereUniqueInput!] 219 | connect: [PostWhereUniqueInput!] 220 | disconnect: [PostWhereUniqueInput!] 221 | update: [PostUpdateWithWhereUniqueWithoutAuthorInput!] 222 | upsert: [PostUpsertWithWhereUniqueWithoutAuthorInput!] 223 | deleteMany: [PostScalarWhereInput!] 224 | updateMany: [PostUpdateManyWithWhereNestedInput!] 225 | } 226 | 227 | input PostUpdateManyWithWhereNestedInput { 228 | where: PostScalarWhereInput! 229 | data: PostUpdateManyDataInput! 230 | } 231 | 232 | input PostUpdateWithoutAuthorDataInput { 233 | published: Boolean 234 | title: String 235 | content: String 236 | } 237 | 238 | input PostUpdateWithWhereUniqueWithoutAuthorInput { 239 | where: PostWhereUniqueInput! 240 | data: PostUpdateWithoutAuthorDataInput! 241 | } 242 | 243 | input PostUpsertWithWhereUniqueWithoutAuthorInput { 244 | where: PostWhereUniqueInput! 245 | update: PostUpdateWithoutAuthorDataInput! 246 | create: PostCreateWithoutAuthorInput! 247 | } 248 | 249 | input PostWhereInput { 250 | id: ID 251 | id_not: ID 252 | id_in: [ID!] 253 | id_not_in: [ID!] 254 | id_lt: ID 255 | id_lte: ID 256 | id_gt: ID 257 | id_gte: ID 258 | id_contains: ID 259 | id_not_contains: ID 260 | id_starts_with: ID 261 | id_not_starts_with: ID 262 | id_ends_with: ID 263 | id_not_ends_with: ID 264 | createdAt: DateTime 265 | createdAt_not: DateTime 266 | createdAt_in: [DateTime!] 267 | createdAt_not_in: [DateTime!] 268 | createdAt_lt: DateTime 269 | createdAt_lte: DateTime 270 | createdAt_gt: DateTime 271 | createdAt_gte: DateTime 272 | updatedAt: DateTime 273 | updatedAt_not: DateTime 274 | updatedAt_in: [DateTime!] 275 | updatedAt_not_in: [DateTime!] 276 | updatedAt_lt: DateTime 277 | updatedAt_lte: DateTime 278 | updatedAt_gt: DateTime 279 | updatedAt_gte: DateTime 280 | published: Boolean 281 | published_not: Boolean 282 | title: String 283 | title_not: String 284 | title_in: [String!] 285 | title_not_in: [String!] 286 | title_lt: String 287 | title_lte: String 288 | title_gt: String 289 | title_gte: String 290 | title_contains: String 291 | title_not_contains: String 292 | title_starts_with: String 293 | title_not_starts_with: String 294 | title_ends_with: String 295 | title_not_ends_with: String 296 | content: String 297 | content_not: String 298 | content_in: [String!] 299 | content_not_in: [String!] 300 | content_lt: String 301 | content_lte: String 302 | content_gt: String 303 | content_gte: String 304 | content_contains: String 305 | content_not_contains: String 306 | content_starts_with: String 307 | content_not_starts_with: String 308 | content_ends_with: String 309 | content_not_ends_with: String 310 | author: UserWhereInput 311 | AND: [PostWhereInput!] 312 | OR: [PostWhereInput!] 313 | NOT: [PostWhereInput!] 314 | } 315 | 316 | input PostWhereUniqueInput { 317 | id: ID 318 | } 319 | 320 | type Query { 321 | post(where: PostWhereUniqueInput!): Post 322 | posts(where: PostWhereInput, orderBy: PostOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Post]! 323 | postsConnection(where: PostWhereInput, orderBy: PostOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): PostConnection! 324 | user(where: UserWhereUniqueInput!): User 325 | users(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [User]! 326 | usersConnection(where: UserWhereInput, orderBy: UserOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): UserConnection! 327 | node(id: ID!): Node 328 | } 329 | 330 | type Subscription { 331 | post(where: PostSubscriptionWhereInput): PostSubscriptionPayload 332 | user(where: UserSubscriptionWhereInput): UserSubscriptionPayload 333 | } 334 | 335 | type User { 336 | id: ID! 337 | email: String! 338 | password: String! 339 | name: String! 340 | posts(where: PostWhereInput, orderBy: PostOrderByInput, skip: Int, after: String, before: String, first: Int, last: Int): [Post!] 341 | } 342 | 343 | type UserConnection { 344 | pageInfo: PageInfo! 345 | edges: [UserEdge]! 346 | aggregate: AggregateUser! 347 | } 348 | 349 | input UserCreateInput { 350 | email: String! 351 | password: String! 352 | name: String! 353 | posts: PostCreateManyWithoutAuthorInput 354 | } 355 | 356 | input UserCreateOneWithoutPostsInput { 357 | create: UserCreateWithoutPostsInput 358 | connect: UserWhereUniqueInput 359 | } 360 | 361 | input UserCreateWithoutPostsInput { 362 | email: String! 363 | password: String! 364 | name: String! 365 | } 366 | 367 | type UserEdge { 368 | node: User! 369 | cursor: String! 370 | } 371 | 372 | enum UserOrderByInput { 373 | id_ASC 374 | id_DESC 375 | email_ASC 376 | email_DESC 377 | password_ASC 378 | password_DESC 379 | name_ASC 380 | name_DESC 381 | createdAt_ASC 382 | createdAt_DESC 383 | updatedAt_ASC 384 | updatedAt_DESC 385 | } 386 | 387 | type UserPreviousValues { 388 | id: ID! 389 | email: String! 390 | password: String! 391 | name: String! 392 | } 393 | 394 | type UserSubscriptionPayload { 395 | mutation: MutationType! 396 | node: User 397 | updatedFields: [String!] 398 | previousValues: UserPreviousValues 399 | } 400 | 401 | input UserSubscriptionWhereInput { 402 | mutation_in: [MutationType!] 403 | updatedFields_contains: String 404 | updatedFields_contains_every: [String!] 405 | updatedFields_contains_some: [String!] 406 | node: UserWhereInput 407 | AND: [UserSubscriptionWhereInput!] 408 | OR: [UserSubscriptionWhereInput!] 409 | NOT: [UserSubscriptionWhereInput!] 410 | } 411 | 412 | input UserUpdateInput { 413 | email: String 414 | password: String 415 | name: String 416 | posts: PostUpdateManyWithoutAuthorInput 417 | } 418 | 419 | input UserUpdateManyMutationInput { 420 | email: String 421 | password: String 422 | name: String 423 | } 424 | 425 | input UserUpdateOneRequiredWithoutPostsInput { 426 | create: UserCreateWithoutPostsInput 427 | update: UserUpdateWithoutPostsDataInput 428 | upsert: UserUpsertWithoutPostsInput 429 | connect: UserWhereUniqueInput 430 | } 431 | 432 | input UserUpdateWithoutPostsDataInput { 433 | email: String 434 | password: String 435 | name: String 436 | } 437 | 438 | input UserUpsertWithoutPostsInput { 439 | update: UserUpdateWithoutPostsDataInput! 440 | create: UserCreateWithoutPostsInput! 441 | } 442 | 443 | input UserWhereInput { 444 | id: ID 445 | id_not: ID 446 | id_in: [ID!] 447 | id_not_in: [ID!] 448 | id_lt: ID 449 | id_lte: ID 450 | id_gt: ID 451 | id_gte: ID 452 | id_contains: ID 453 | id_not_contains: ID 454 | id_starts_with: ID 455 | id_not_starts_with: ID 456 | id_ends_with: ID 457 | id_not_ends_with: ID 458 | email: String 459 | email_not: String 460 | email_in: [String!] 461 | email_not_in: [String!] 462 | email_lt: String 463 | email_lte: String 464 | email_gt: String 465 | email_gte: String 466 | email_contains: String 467 | email_not_contains: String 468 | email_starts_with: String 469 | email_not_starts_with: String 470 | email_ends_with: String 471 | email_not_ends_with: String 472 | password: String 473 | password_not: String 474 | password_in: [String!] 475 | password_not_in: [String!] 476 | password_lt: String 477 | password_lte: String 478 | password_gt: String 479 | password_gte: String 480 | password_contains: String 481 | password_not_contains: String 482 | password_starts_with: String 483 | password_not_starts_with: String 484 | password_ends_with: String 485 | password_not_ends_with: String 486 | name: String 487 | name_not: String 488 | name_in: [String!] 489 | name_not_in: [String!] 490 | name_lt: String 491 | name_lte: String 492 | name_gt: String 493 | name_gte: String 494 | name_contains: String 495 | name_not_contains: String 496 | name_starts_with: String 497 | name_not_starts_with: String 498 | name_ends_with: String 499 | name_not_ends_with: String 500 | posts_every: PostWhereInput 501 | posts_some: PostWhereInput 502 | posts_none: PostWhereInput 503 | AND: [UserWhereInput!] 504 | OR: [UserWhereInput!] 505 | NOT: [UserWhereInput!] 506 | } 507 | 508 | input UserWhereUniqueInput { 509 | id: ID 510 | email: String 511 | } 512 | ` 513 | } 514 | -------------------------------------------------------------------------------- /advanced/src/generated/prisma-client/index.d.ts: -------------------------------------------------------------------------------- 1 | // Code generated by Prisma (prisma@1.22.1). DO NOT EDIT. 2 | // Please don't change this file manually but run `prisma generate` to update it. 3 | // For more information, please read the docs: https://www.prisma.io/docs/prisma-client/ 4 | 5 | import { DocumentNode, GraphQLSchema } from "graphql"; 6 | import { makePrismaClientClass, BaseClientOptions } from "prisma-client-lib"; 7 | import { typeDefs } from "./prisma-schema"; 8 | 9 | type AtLeastOne }> = Partial & 10 | U[keyof U]; 11 | 12 | export interface Exists { 13 | post: (where?: PostWhereInput) => Promise; 14 | user: (where?: UserWhereInput) => Promise; 15 | } 16 | 17 | export interface Node {} 18 | 19 | export type FragmentableArray = Promise> & Fragmentable; 20 | 21 | export interface Fragmentable { 22 | $fragment(fragment: string | DocumentNode): Promise; 23 | } 24 | 25 | export interface Prisma { 26 | $exists: Exists; 27 | $graphql: ( 28 | query: string, 29 | variables?: { [key: string]: any } 30 | ) => Promise; 31 | 32 | /** 33 | * Queries 34 | */ 35 | 36 | post: (where: PostWhereUniqueInput) => PostPromise; 37 | posts: ( 38 | args?: { 39 | where?: PostWhereInput; 40 | orderBy?: PostOrderByInput; 41 | skip?: Int; 42 | after?: String; 43 | before?: String; 44 | first?: Int; 45 | last?: Int; 46 | } 47 | ) => FragmentableArray; 48 | postsConnection: ( 49 | args?: { 50 | where?: PostWhereInput; 51 | orderBy?: PostOrderByInput; 52 | skip?: Int; 53 | after?: String; 54 | before?: String; 55 | first?: Int; 56 | last?: Int; 57 | } 58 | ) => PostConnectionPromise; 59 | user: (where: UserWhereUniqueInput) => UserPromise; 60 | users: ( 61 | args?: { 62 | where?: UserWhereInput; 63 | orderBy?: UserOrderByInput; 64 | skip?: Int; 65 | after?: String; 66 | before?: String; 67 | first?: Int; 68 | last?: Int; 69 | } 70 | ) => FragmentableArray; 71 | usersConnection: ( 72 | args?: { 73 | where?: UserWhereInput; 74 | orderBy?: UserOrderByInput; 75 | skip?: Int; 76 | after?: String; 77 | before?: String; 78 | first?: Int; 79 | last?: Int; 80 | } 81 | ) => UserConnectionPromise; 82 | node: (args: { id: ID_Output }) => Node; 83 | 84 | /** 85 | * Mutations 86 | */ 87 | 88 | createPost: (data: PostCreateInput) => PostPromise; 89 | updatePost: ( 90 | args: { data: PostUpdateInput; where: PostWhereUniqueInput } 91 | ) => PostPromise; 92 | updateManyPosts: ( 93 | args: { data: PostUpdateManyMutationInput; where?: PostWhereInput } 94 | ) => BatchPayloadPromise; 95 | upsertPost: ( 96 | args: { 97 | where: PostWhereUniqueInput; 98 | create: PostCreateInput; 99 | update: PostUpdateInput; 100 | } 101 | ) => PostPromise; 102 | deletePost: (where: PostWhereUniqueInput) => PostPromise; 103 | deleteManyPosts: (where?: PostWhereInput) => BatchPayloadPromise; 104 | createUser: (data: UserCreateInput) => UserPromise; 105 | updateUser: ( 106 | args: { data: UserUpdateInput; where: UserWhereUniqueInput } 107 | ) => UserPromise; 108 | updateManyUsers: ( 109 | args: { data: UserUpdateManyMutationInput; where?: UserWhereInput } 110 | ) => BatchPayloadPromise; 111 | upsertUser: ( 112 | args: { 113 | where: UserWhereUniqueInput; 114 | create: UserCreateInput; 115 | update: UserUpdateInput; 116 | } 117 | ) => UserPromise; 118 | deleteUser: (where: UserWhereUniqueInput) => UserPromise; 119 | deleteManyUsers: (where?: UserWhereInput) => BatchPayloadPromise; 120 | 121 | /** 122 | * Subscriptions 123 | */ 124 | 125 | $subscribe: Subscription; 126 | } 127 | 128 | export interface Subscription { 129 | post: ( 130 | where?: PostSubscriptionWhereInput 131 | ) => PostSubscriptionPayloadSubscription; 132 | user: ( 133 | where?: UserSubscriptionWhereInput 134 | ) => UserSubscriptionPayloadSubscription; 135 | } 136 | 137 | export interface ClientConstructor { 138 | new (options?: BaseClientOptions): T; 139 | } 140 | 141 | /** 142 | * Types 143 | */ 144 | 145 | export type PostOrderByInput = 146 | | "id_ASC" 147 | | "id_DESC" 148 | | "createdAt_ASC" 149 | | "createdAt_DESC" 150 | | "updatedAt_ASC" 151 | | "updatedAt_DESC" 152 | | "published_ASC" 153 | | "published_DESC" 154 | | "title_ASC" 155 | | "title_DESC" 156 | | "content_ASC" 157 | | "content_DESC"; 158 | 159 | export type UserOrderByInput = 160 | | "id_ASC" 161 | | "id_DESC" 162 | | "email_ASC" 163 | | "email_DESC" 164 | | "password_ASC" 165 | | "password_DESC" 166 | | "name_ASC" 167 | | "name_DESC" 168 | | "createdAt_ASC" 169 | | "createdAt_DESC" 170 | | "updatedAt_ASC" 171 | | "updatedAt_DESC"; 172 | 173 | export type MutationType = "CREATED" | "UPDATED" | "DELETED"; 174 | 175 | export interface UserUpdateOneRequiredWithoutPostsInput { 176 | create?: UserCreateWithoutPostsInput; 177 | update?: UserUpdateWithoutPostsDataInput; 178 | upsert?: UserUpsertWithoutPostsInput; 179 | connect?: UserWhereUniqueInput; 180 | } 181 | 182 | export type PostWhereUniqueInput = AtLeastOne<{ 183 | id: ID_Input; 184 | }>; 185 | 186 | export interface PostUpdateWithWhereUniqueWithoutAuthorInput { 187 | where: PostWhereUniqueInput; 188 | data: PostUpdateWithoutAuthorDataInput; 189 | } 190 | 191 | export interface UserCreateInput { 192 | email: String; 193 | password: String; 194 | name: String; 195 | posts?: PostCreateManyWithoutAuthorInput; 196 | } 197 | 198 | export interface PostUpdateManyWithoutAuthorInput { 199 | create?: PostCreateWithoutAuthorInput[] | PostCreateWithoutAuthorInput; 200 | delete?: PostWhereUniqueInput[] | PostWhereUniqueInput; 201 | connect?: PostWhereUniqueInput[] | PostWhereUniqueInput; 202 | disconnect?: PostWhereUniqueInput[] | PostWhereUniqueInput; 203 | update?: 204 | | PostUpdateWithWhereUniqueWithoutAuthorInput[] 205 | | PostUpdateWithWhereUniqueWithoutAuthorInput; 206 | upsert?: 207 | | PostUpsertWithWhereUniqueWithoutAuthorInput[] 208 | | PostUpsertWithWhereUniqueWithoutAuthorInput; 209 | deleteMany?: PostScalarWhereInput[] | PostScalarWhereInput; 210 | updateMany?: 211 | | PostUpdateManyWithWhereNestedInput[] 212 | | PostUpdateManyWithWhereNestedInput; 213 | } 214 | 215 | export interface UserUpsertWithoutPostsInput { 216 | update: UserUpdateWithoutPostsDataInput; 217 | create: UserCreateWithoutPostsInput; 218 | } 219 | 220 | export interface UserWhereInput { 221 | id?: ID_Input; 222 | id_not?: ID_Input; 223 | id_in?: ID_Input[] | ID_Input; 224 | id_not_in?: ID_Input[] | ID_Input; 225 | id_lt?: ID_Input; 226 | id_lte?: ID_Input; 227 | id_gt?: ID_Input; 228 | id_gte?: ID_Input; 229 | id_contains?: ID_Input; 230 | id_not_contains?: ID_Input; 231 | id_starts_with?: ID_Input; 232 | id_not_starts_with?: ID_Input; 233 | id_ends_with?: ID_Input; 234 | id_not_ends_with?: ID_Input; 235 | email?: String; 236 | email_not?: String; 237 | email_in?: String[] | String; 238 | email_not_in?: String[] | String; 239 | email_lt?: String; 240 | email_lte?: String; 241 | email_gt?: String; 242 | email_gte?: String; 243 | email_contains?: String; 244 | email_not_contains?: String; 245 | email_starts_with?: String; 246 | email_not_starts_with?: String; 247 | email_ends_with?: String; 248 | email_not_ends_with?: String; 249 | password?: String; 250 | password_not?: String; 251 | password_in?: String[] | String; 252 | password_not_in?: String[] | String; 253 | password_lt?: String; 254 | password_lte?: String; 255 | password_gt?: String; 256 | password_gte?: String; 257 | password_contains?: String; 258 | password_not_contains?: String; 259 | password_starts_with?: String; 260 | password_not_starts_with?: String; 261 | password_ends_with?: String; 262 | password_not_ends_with?: String; 263 | name?: String; 264 | name_not?: String; 265 | name_in?: String[] | String; 266 | name_not_in?: String[] | String; 267 | name_lt?: String; 268 | name_lte?: String; 269 | name_gt?: String; 270 | name_gte?: String; 271 | name_contains?: String; 272 | name_not_contains?: String; 273 | name_starts_with?: String; 274 | name_not_starts_with?: String; 275 | name_ends_with?: String; 276 | name_not_ends_with?: String; 277 | posts_every?: PostWhereInput; 278 | posts_some?: PostWhereInput; 279 | posts_none?: PostWhereInput; 280 | AND?: UserWhereInput[] | UserWhereInput; 281 | OR?: UserWhereInput[] | UserWhereInput; 282 | NOT?: UserWhereInput[] | UserWhereInput; 283 | } 284 | 285 | export interface PostSubscriptionWhereInput { 286 | mutation_in?: MutationType[] | MutationType; 287 | updatedFields_contains?: String; 288 | updatedFields_contains_every?: String[] | String; 289 | updatedFields_contains_some?: String[] | String; 290 | node?: PostWhereInput; 291 | AND?: PostSubscriptionWhereInput[] | PostSubscriptionWhereInput; 292 | OR?: PostSubscriptionWhereInput[] | PostSubscriptionWhereInput; 293 | NOT?: PostSubscriptionWhereInput[] | PostSubscriptionWhereInput; 294 | } 295 | 296 | export interface PostCreateInput { 297 | published?: Boolean; 298 | title: String; 299 | content: String; 300 | author: UserCreateOneWithoutPostsInput; 301 | } 302 | 303 | export interface PostUpdateManyDataInput { 304 | published?: Boolean; 305 | title?: String; 306 | content?: String; 307 | } 308 | 309 | export interface UserCreateOneWithoutPostsInput { 310 | create?: UserCreateWithoutPostsInput; 311 | connect?: UserWhereUniqueInput; 312 | } 313 | 314 | export interface PostScalarWhereInput { 315 | id?: ID_Input; 316 | id_not?: ID_Input; 317 | id_in?: ID_Input[] | ID_Input; 318 | id_not_in?: ID_Input[] | ID_Input; 319 | id_lt?: ID_Input; 320 | id_lte?: ID_Input; 321 | id_gt?: ID_Input; 322 | id_gte?: ID_Input; 323 | id_contains?: ID_Input; 324 | id_not_contains?: ID_Input; 325 | id_starts_with?: ID_Input; 326 | id_not_starts_with?: ID_Input; 327 | id_ends_with?: ID_Input; 328 | id_not_ends_with?: ID_Input; 329 | createdAt?: DateTimeInput; 330 | createdAt_not?: DateTimeInput; 331 | createdAt_in?: DateTimeInput[] | DateTimeInput; 332 | createdAt_not_in?: DateTimeInput[] | DateTimeInput; 333 | createdAt_lt?: DateTimeInput; 334 | createdAt_lte?: DateTimeInput; 335 | createdAt_gt?: DateTimeInput; 336 | createdAt_gte?: DateTimeInput; 337 | updatedAt?: DateTimeInput; 338 | updatedAt_not?: DateTimeInput; 339 | updatedAt_in?: DateTimeInput[] | DateTimeInput; 340 | updatedAt_not_in?: DateTimeInput[] | DateTimeInput; 341 | updatedAt_lt?: DateTimeInput; 342 | updatedAt_lte?: DateTimeInput; 343 | updatedAt_gt?: DateTimeInput; 344 | updatedAt_gte?: DateTimeInput; 345 | published?: Boolean; 346 | published_not?: Boolean; 347 | title?: String; 348 | title_not?: String; 349 | title_in?: String[] | String; 350 | title_not_in?: String[] | String; 351 | title_lt?: String; 352 | title_lte?: String; 353 | title_gt?: String; 354 | title_gte?: String; 355 | title_contains?: String; 356 | title_not_contains?: String; 357 | title_starts_with?: String; 358 | title_not_starts_with?: String; 359 | title_ends_with?: String; 360 | title_not_ends_with?: String; 361 | content?: String; 362 | content_not?: String; 363 | content_in?: String[] | String; 364 | content_not_in?: String[] | String; 365 | content_lt?: String; 366 | content_lte?: String; 367 | content_gt?: String; 368 | content_gte?: String; 369 | content_contains?: String; 370 | content_not_contains?: String; 371 | content_starts_with?: String; 372 | content_not_starts_with?: String; 373 | content_ends_with?: String; 374 | content_not_ends_with?: String; 375 | AND?: PostScalarWhereInput[] | PostScalarWhereInput; 376 | OR?: PostScalarWhereInput[] | PostScalarWhereInput; 377 | NOT?: PostScalarWhereInput[] | PostScalarWhereInput; 378 | } 379 | 380 | export interface UserCreateWithoutPostsInput { 381 | email: String; 382 | password: String; 383 | name: String; 384 | } 385 | 386 | export interface PostUpsertWithWhereUniqueWithoutAuthorInput { 387 | where: PostWhereUniqueInput; 388 | update: PostUpdateWithoutAuthorDataInput; 389 | create: PostCreateWithoutAuthorInput; 390 | } 391 | 392 | export interface PostUpdateInput { 393 | published?: Boolean; 394 | title?: String; 395 | content?: String; 396 | author?: UserUpdateOneRequiredWithoutPostsInput; 397 | } 398 | 399 | export interface PostWhereInput { 400 | id?: ID_Input; 401 | id_not?: ID_Input; 402 | id_in?: ID_Input[] | ID_Input; 403 | id_not_in?: ID_Input[] | ID_Input; 404 | id_lt?: ID_Input; 405 | id_lte?: ID_Input; 406 | id_gt?: ID_Input; 407 | id_gte?: ID_Input; 408 | id_contains?: ID_Input; 409 | id_not_contains?: ID_Input; 410 | id_starts_with?: ID_Input; 411 | id_not_starts_with?: ID_Input; 412 | id_ends_with?: ID_Input; 413 | id_not_ends_with?: ID_Input; 414 | createdAt?: DateTimeInput; 415 | createdAt_not?: DateTimeInput; 416 | createdAt_in?: DateTimeInput[] | DateTimeInput; 417 | createdAt_not_in?: DateTimeInput[] | DateTimeInput; 418 | createdAt_lt?: DateTimeInput; 419 | createdAt_lte?: DateTimeInput; 420 | createdAt_gt?: DateTimeInput; 421 | createdAt_gte?: DateTimeInput; 422 | updatedAt?: DateTimeInput; 423 | updatedAt_not?: DateTimeInput; 424 | updatedAt_in?: DateTimeInput[] | DateTimeInput; 425 | updatedAt_not_in?: DateTimeInput[] | DateTimeInput; 426 | updatedAt_lt?: DateTimeInput; 427 | updatedAt_lte?: DateTimeInput; 428 | updatedAt_gt?: DateTimeInput; 429 | updatedAt_gte?: DateTimeInput; 430 | published?: Boolean; 431 | published_not?: Boolean; 432 | title?: String; 433 | title_not?: String; 434 | title_in?: String[] | String; 435 | title_not_in?: String[] | String; 436 | title_lt?: String; 437 | title_lte?: String; 438 | title_gt?: String; 439 | title_gte?: String; 440 | title_contains?: String; 441 | title_not_contains?: String; 442 | title_starts_with?: String; 443 | title_not_starts_with?: String; 444 | title_ends_with?: String; 445 | title_not_ends_with?: String; 446 | content?: String; 447 | content_not?: String; 448 | content_in?: String[] | String; 449 | content_not_in?: String[] | String; 450 | content_lt?: String; 451 | content_lte?: String; 452 | content_gt?: String; 453 | content_gte?: String; 454 | content_contains?: String; 455 | content_not_contains?: String; 456 | content_starts_with?: String; 457 | content_not_starts_with?: String; 458 | content_ends_with?: String; 459 | content_not_ends_with?: String; 460 | author?: UserWhereInput; 461 | AND?: PostWhereInput[] | PostWhereInput; 462 | OR?: PostWhereInput[] | PostWhereInput; 463 | NOT?: PostWhereInput[] | PostWhereInput; 464 | } 465 | 466 | export interface UserUpdateInput { 467 | email?: String; 468 | password?: String; 469 | name?: String; 470 | posts?: PostUpdateManyWithoutAuthorInput; 471 | } 472 | 473 | export interface UserUpdateManyMutationInput { 474 | email?: String; 475 | password?: String; 476 | name?: String; 477 | } 478 | 479 | export interface PostCreateManyWithoutAuthorInput { 480 | create?: PostCreateWithoutAuthorInput[] | PostCreateWithoutAuthorInput; 481 | connect?: PostWhereUniqueInput[] | PostWhereUniqueInput; 482 | } 483 | 484 | export interface PostUpdateManyMutationInput { 485 | published?: Boolean; 486 | title?: String; 487 | content?: String; 488 | } 489 | 490 | export interface PostCreateWithoutAuthorInput { 491 | published?: Boolean; 492 | title: String; 493 | content: String; 494 | } 495 | 496 | export interface UserUpdateWithoutPostsDataInput { 497 | email?: String; 498 | password?: String; 499 | name?: String; 500 | } 501 | 502 | export interface PostUpdateManyWithWhereNestedInput { 503 | where: PostScalarWhereInput; 504 | data: PostUpdateManyDataInput; 505 | } 506 | 507 | export interface UserSubscriptionWhereInput { 508 | mutation_in?: MutationType[] | MutationType; 509 | updatedFields_contains?: String; 510 | updatedFields_contains_every?: String[] | String; 511 | updatedFields_contains_some?: String[] | String; 512 | node?: UserWhereInput; 513 | AND?: UserSubscriptionWhereInput[] | UserSubscriptionWhereInput; 514 | OR?: UserSubscriptionWhereInput[] | UserSubscriptionWhereInput; 515 | NOT?: UserSubscriptionWhereInput[] | UserSubscriptionWhereInput; 516 | } 517 | 518 | export interface PostUpdateWithoutAuthorDataInput { 519 | published?: Boolean; 520 | title?: String; 521 | content?: String; 522 | } 523 | 524 | export type UserWhereUniqueInput = AtLeastOne<{ 525 | id: ID_Input; 526 | email?: String; 527 | }>; 528 | 529 | export interface NodeNode { 530 | id: ID_Output; 531 | } 532 | 533 | export interface UserPreviousValues { 534 | id: ID_Output; 535 | email: String; 536 | password: String; 537 | name: String; 538 | } 539 | 540 | export interface UserPreviousValuesPromise 541 | extends Promise, 542 | Fragmentable { 543 | id: () => Promise; 544 | email: () => Promise; 545 | password: () => Promise; 546 | name: () => Promise; 547 | } 548 | 549 | export interface UserPreviousValuesSubscription 550 | extends Promise>, 551 | Fragmentable { 552 | id: () => Promise>; 553 | email: () => Promise>; 554 | password: () => Promise>; 555 | name: () => Promise>; 556 | } 557 | 558 | export interface PostPreviousValues { 559 | id: ID_Output; 560 | createdAt: DateTimeOutput; 561 | updatedAt: DateTimeOutput; 562 | published: Boolean; 563 | title: String; 564 | content: String; 565 | } 566 | 567 | export interface PostPreviousValuesPromise 568 | extends Promise, 569 | Fragmentable { 570 | id: () => Promise; 571 | createdAt: () => Promise; 572 | updatedAt: () => Promise; 573 | published: () => Promise; 574 | title: () => Promise; 575 | content: () => Promise; 576 | } 577 | 578 | export interface PostPreviousValuesSubscription 579 | extends Promise>, 580 | Fragmentable { 581 | id: () => Promise>; 582 | createdAt: () => Promise>; 583 | updatedAt: () => Promise>; 584 | published: () => Promise>; 585 | title: () => Promise>; 586 | content: () => Promise>; 587 | } 588 | 589 | export interface Post { 590 | id: ID_Output; 591 | createdAt: DateTimeOutput; 592 | updatedAt: DateTimeOutput; 593 | published: Boolean; 594 | title: String; 595 | content: String; 596 | } 597 | 598 | export interface PostPromise extends Promise, Fragmentable { 599 | id: () => Promise; 600 | createdAt: () => Promise; 601 | updatedAt: () => Promise; 602 | published: () => Promise; 603 | title: () => Promise; 604 | content: () => Promise; 605 | author: () => T; 606 | } 607 | 608 | export interface PostSubscription 609 | extends Promise>, 610 | Fragmentable { 611 | id: () => Promise>; 612 | createdAt: () => Promise>; 613 | updatedAt: () => Promise>; 614 | published: () => Promise>; 615 | title: () => Promise>; 616 | content: () => Promise>; 617 | author: () => T; 618 | } 619 | 620 | export interface AggregatePost { 621 | count: Int; 622 | } 623 | 624 | export interface AggregatePostPromise 625 | extends Promise, 626 | Fragmentable { 627 | count: () => Promise; 628 | } 629 | 630 | export interface AggregatePostSubscription 631 | extends Promise>, 632 | Fragmentable { 633 | count: () => Promise>; 634 | } 635 | 636 | export interface PostEdge { 637 | cursor: String; 638 | } 639 | 640 | export interface PostEdgePromise extends Promise, Fragmentable { 641 | node: () => T; 642 | cursor: () => Promise; 643 | } 644 | 645 | export interface PostEdgeSubscription 646 | extends Promise>, 647 | Fragmentable { 648 | node: () => T; 649 | cursor: () => Promise>; 650 | } 651 | 652 | export interface UserSubscriptionPayload { 653 | mutation: MutationType; 654 | updatedFields?: String[]; 655 | } 656 | 657 | export interface UserSubscriptionPayloadPromise 658 | extends Promise, 659 | Fragmentable { 660 | mutation: () => Promise; 661 | node: () => T; 662 | updatedFields: () => Promise; 663 | previousValues: () => T; 664 | } 665 | 666 | export interface UserSubscriptionPayloadSubscription 667 | extends Promise>, 668 | Fragmentable { 669 | mutation: () => Promise>; 670 | node: () => T; 671 | updatedFields: () => Promise>; 672 | previousValues: () => T; 673 | } 674 | 675 | export interface PostSubscriptionPayload { 676 | mutation: MutationType; 677 | updatedFields?: String[]; 678 | } 679 | 680 | export interface PostSubscriptionPayloadPromise 681 | extends Promise, 682 | Fragmentable { 683 | mutation: () => Promise; 684 | node: () => T; 685 | updatedFields: () => Promise; 686 | previousValues: () => T; 687 | } 688 | 689 | export interface PostSubscriptionPayloadSubscription 690 | extends Promise>, 691 | Fragmentable { 692 | mutation: () => Promise>; 693 | node: () => T; 694 | updatedFields: () => Promise>; 695 | previousValues: () => T; 696 | } 697 | 698 | export interface PostConnection {} 699 | 700 | export interface PostConnectionPromise 701 | extends Promise, 702 | Fragmentable { 703 | pageInfo: () => T; 704 | edges: >() => T; 705 | aggregate: () => T; 706 | } 707 | 708 | export interface PostConnectionSubscription 709 | extends Promise>, 710 | Fragmentable { 711 | pageInfo: () => T; 712 | edges: >>() => T; 713 | aggregate: () => T; 714 | } 715 | 716 | export interface PageInfo { 717 | hasNextPage: Boolean; 718 | hasPreviousPage: Boolean; 719 | startCursor?: String; 720 | endCursor?: String; 721 | } 722 | 723 | export interface PageInfoPromise extends Promise, Fragmentable { 724 | hasNextPage: () => Promise; 725 | hasPreviousPage: () => Promise; 726 | startCursor: () => Promise; 727 | endCursor: () => Promise; 728 | } 729 | 730 | export interface PageInfoSubscription 731 | extends Promise>, 732 | Fragmentable { 733 | hasNextPage: () => Promise>; 734 | hasPreviousPage: () => Promise>; 735 | startCursor: () => Promise>; 736 | endCursor: () => Promise>; 737 | } 738 | 739 | export interface BatchPayload { 740 | count: Long; 741 | } 742 | 743 | export interface BatchPayloadPromise 744 | extends Promise, 745 | Fragmentable { 746 | count: () => Promise; 747 | } 748 | 749 | export interface BatchPayloadSubscription 750 | extends Promise>, 751 | Fragmentable { 752 | count: () => Promise>; 753 | } 754 | 755 | export interface AggregateUser { 756 | count: Int; 757 | } 758 | 759 | export interface AggregateUserPromise 760 | extends Promise, 761 | Fragmentable { 762 | count: () => Promise; 763 | } 764 | 765 | export interface AggregateUserSubscription 766 | extends Promise>, 767 | Fragmentable { 768 | count: () => Promise>; 769 | } 770 | 771 | export interface User { 772 | id: ID_Output; 773 | email: String; 774 | password: String; 775 | name: String; 776 | } 777 | 778 | export interface UserPromise extends Promise, Fragmentable { 779 | id: () => Promise; 780 | email: () => Promise; 781 | password: () => Promise; 782 | name: () => Promise; 783 | posts: >( 784 | args?: { 785 | where?: PostWhereInput; 786 | orderBy?: PostOrderByInput; 787 | skip?: Int; 788 | after?: String; 789 | before?: String; 790 | first?: Int; 791 | last?: Int; 792 | } 793 | ) => T; 794 | } 795 | 796 | export interface UserSubscription 797 | extends Promise>, 798 | Fragmentable { 799 | id: () => Promise>; 800 | email: () => Promise>; 801 | password: () => Promise>; 802 | name: () => Promise>; 803 | posts: >>( 804 | args?: { 805 | where?: PostWhereInput; 806 | orderBy?: PostOrderByInput; 807 | skip?: Int; 808 | after?: String; 809 | before?: String; 810 | first?: Int; 811 | last?: Int; 812 | } 813 | ) => T; 814 | } 815 | 816 | export interface UserConnection {} 817 | 818 | export interface UserConnectionPromise 819 | extends Promise, 820 | Fragmentable { 821 | pageInfo: () => T; 822 | edges: >() => T; 823 | aggregate: () => T; 824 | } 825 | 826 | export interface UserConnectionSubscription 827 | extends Promise>, 828 | Fragmentable { 829 | pageInfo: () => T; 830 | edges: >>() => T; 831 | aggregate: () => T; 832 | } 833 | 834 | export interface UserEdge { 835 | cursor: String; 836 | } 837 | 838 | export interface UserEdgePromise extends Promise, Fragmentable { 839 | node: () => T; 840 | cursor: () => Promise; 841 | } 842 | 843 | export interface UserEdgeSubscription 844 | extends Promise>, 845 | Fragmentable { 846 | node: () => T; 847 | cursor: () => Promise>; 848 | } 849 | 850 | /* 851 | The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text. 852 | */ 853 | export type String = string; 854 | 855 | export type Long = string; 856 | 857 | /* 858 | The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `"4"`) or integer (such as `4`) input value will be accepted as an ID. 859 | */ 860 | export type ID_Input = string | number; 861 | export type ID_Output = string; 862 | 863 | /* 864 | The `Boolean` scalar type represents `true` or `false`. 865 | */ 866 | export type Boolean = boolean; 867 | 868 | /* 869 | DateTime scalar input type, allowing Date 870 | */ 871 | export type DateTimeInput = Date | string; 872 | 873 | /* 874 | DateTime scalar output type, which is always a string 875 | */ 876 | export type DateTimeOutput = string; 877 | 878 | /* 879 | The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. 880 | */ 881 | export type Int = number; 882 | 883 | /** 884 | * Model Metadata 885 | */ 886 | 887 | export const models = [ 888 | { 889 | name: "Post", 890 | embedded: false 891 | }, 892 | { 893 | name: "User", 894 | embedded: false 895 | } 896 | ]; 897 | 898 | /** 899 | * Type Defs 900 | */ 901 | 902 | export const prisma: Prisma; 903 | -------------------------------------------------------------------------------- /minimal/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@types/aws-lambda@8.10.13": 6 | version "8.10.13" 7 | resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.13.tgz#92cc06b1cc88b5d0b327d2671dcf3daea96923a5" 8 | 9 | "@types/body-parser@*": 10 | version "1.17.0" 11 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" 12 | dependencies: 13 | "@types/connect" "*" 14 | "@types/node" "*" 15 | 16 | "@types/connect@*": 17 | version "3.4.32" 18 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28" 19 | dependencies: 20 | "@types/node" "*" 21 | 22 | "@types/cors@^2.8.4": 23 | version "2.8.4" 24 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.4.tgz#50991a759a29c0b89492751008c6af7a7c8267b0" 25 | dependencies: 26 | "@types/express" "*" 27 | 28 | "@types/events@*": 29 | version "1.2.0" 30 | resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" 31 | 32 | "@types/express-serve-static-core@*": 33 | version "4.16.0" 34 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz#fdfe777594ddc1fe8eb8eccce52e261b496e43e7" 35 | dependencies: 36 | "@types/events" "*" 37 | "@types/node" "*" 38 | "@types/range-parser" "*" 39 | 40 | "@types/express@*", "@types/express@^4.11.1": 41 | version "4.16.0" 42 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19" 43 | dependencies: 44 | "@types/body-parser" "*" 45 | "@types/express-serve-static-core" "*" 46 | "@types/serve-static" "*" 47 | 48 | "@types/graphql-deduplicator@^2.0.0": 49 | version "2.0.0" 50 | resolved "https://registry.yarnpkg.com/@types/graphql-deduplicator/-/graphql-deduplicator-2.0.0.tgz#9e577b8f3feb3d067b0ca756f4a1fb356d533922" 51 | 52 | "@types/graphql@^14.0.0": 53 | version "14.0.3" 54 | resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-14.0.3.tgz#389e2e5b83ecdb376d9f98fae2094297bc112c1c" 55 | 56 | "@types/mime@*": 57 | version "2.0.0" 58 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b" 59 | 60 | "@types/node@*": 61 | version "10.3.4" 62 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.4.tgz#c74e8aec19e555df44609b8057311052a2c84d9e" 63 | 64 | "@types/range-parser@*": 65 | version "1.2.2" 66 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.2.tgz#fa8e1ad1d474688a757140c91de6dace6f4abc8d" 67 | 68 | "@types/serve-static@*": 69 | version "1.13.2" 70 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48" 71 | dependencies: 72 | "@types/express-serve-static-core" "*" 73 | "@types/mime" "*" 74 | 75 | "@types/zen-observable@^0.5.3": 76 | version "0.5.4" 77 | resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.5.4.tgz#b863a4191e525206819e008097ebf0fb2e3a1cdc" 78 | 79 | accepts@~1.3.5: 80 | version "1.3.5" 81 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" 82 | dependencies: 83 | mime-types "~2.1.18" 84 | negotiator "0.6.1" 85 | 86 | apollo-cache-control@^0.1.0: 87 | version "0.1.1" 88 | resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.1.1.tgz#173d14ceb3eb9e7cb53de7eb8b61bee6159d4171" 89 | dependencies: 90 | graphql-extensions "^0.0.x" 91 | 92 | apollo-link@^1.2.3: 93 | version "1.2.3" 94 | resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.3.tgz#9bd8d5fe1d88d31dc91dae9ecc22474d451fb70d" 95 | dependencies: 96 | apollo-utilities "^1.0.0" 97 | zen-observable-ts "^0.8.10" 98 | 99 | apollo-server-core@^1.3.6: 100 | version "1.3.6" 101 | resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.3.6.tgz#08636243c2de56fa8c267d68dd602cb1fbd323e3" 102 | dependencies: 103 | apollo-cache-control "^0.1.0" 104 | apollo-tracing "^0.1.0" 105 | graphql-extensions "^0.0.x" 106 | 107 | apollo-server-express@^1.3.6: 108 | version "1.3.6" 109 | resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-1.3.6.tgz#2120b05021a87def44fafd846e8a0e2a32852db7" 110 | dependencies: 111 | apollo-server-core "^1.3.6" 112 | apollo-server-module-graphiql "^1.3.4" 113 | 114 | apollo-server-lambda@1.3.6: 115 | version "1.3.6" 116 | resolved "https://registry.yarnpkg.com/apollo-server-lambda/-/apollo-server-lambda-1.3.6.tgz#bdaac37f143c6798e40b8ae75580ba673cea260e" 117 | dependencies: 118 | apollo-server-core "^1.3.6" 119 | apollo-server-module-graphiql "^1.3.4" 120 | 121 | apollo-server-module-graphiql@^1.3.4: 122 | version "1.3.4" 123 | resolved "https://registry.yarnpkg.com/apollo-server-module-graphiql/-/apollo-server-module-graphiql-1.3.4.tgz#50399b7c51b7267d0c841529f5173e5fc7304de4" 124 | 125 | apollo-tracing@^0.1.0: 126 | version "0.1.4" 127 | resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.1.4.tgz#5b8ae1b01526b160ee6e552a7f131923a9aedcc7" 128 | dependencies: 129 | graphql-extensions "~0.0.9" 130 | 131 | apollo-upload-server@^7.0.0: 132 | version "7.1.0" 133 | resolved "https://registry.yarnpkg.com/apollo-upload-server/-/apollo-upload-server-7.1.0.tgz#21e07b52252b3749b913468599813e13cfca805f" 134 | dependencies: 135 | busboy "^0.2.14" 136 | fs-capacitor "^1.0.0" 137 | http-errors "^1.7.0" 138 | object-path "^0.11.4" 139 | 140 | apollo-utilities@^1.0.0, apollo-utilities@^1.0.1: 141 | version "1.0.15" 142 | resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.15.tgz#8f1ba6e4ed9b92cb0de2ce7c032315a768860aae" 143 | dependencies: 144 | fast-json-stable-stringify "^2.0.0" 145 | 146 | array-flatten@1.1.1: 147 | version "1.1.1" 148 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 149 | 150 | async-limiter@~1.0.0: 151 | version "1.0.0" 152 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" 153 | 154 | backo2@^1.0.2: 155 | version "1.0.2" 156 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" 157 | 158 | body-parser-graphql@1.1.0: 159 | version "1.1.0" 160 | resolved "https://registry.yarnpkg.com/body-parser-graphql/-/body-parser-graphql-1.1.0.tgz#80a80353c7cb623562fd375750dfe018d75f0f7c" 161 | dependencies: 162 | body-parser "^1.18.2" 163 | 164 | body-parser@1.18.2: 165 | version "1.18.2" 166 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" 167 | dependencies: 168 | bytes "3.0.0" 169 | content-type "~1.0.4" 170 | debug "2.6.9" 171 | depd "~1.1.1" 172 | http-errors "~1.6.2" 173 | iconv-lite "0.4.19" 174 | on-finished "~2.3.0" 175 | qs "6.5.1" 176 | raw-body "2.3.2" 177 | type-is "~1.6.15" 178 | 179 | body-parser@^1.18.2: 180 | version "1.18.3" 181 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" 182 | dependencies: 183 | bytes "3.0.0" 184 | content-type "~1.0.4" 185 | debug "2.6.9" 186 | depd "~1.1.2" 187 | http-errors "~1.6.3" 188 | iconv-lite "0.4.23" 189 | on-finished "~2.3.0" 190 | qs "6.5.2" 191 | raw-body "2.3.3" 192 | type-is "~1.6.16" 193 | 194 | buffer-from@^1.0.0: 195 | version "1.1.0" 196 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" 197 | 198 | busboy@^0.2.14: 199 | version "0.2.14" 200 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" 201 | dependencies: 202 | dicer "0.2.5" 203 | readable-stream "1.1.x" 204 | 205 | busboy@^0.3.1: 206 | version "0.3.1" 207 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b" 208 | dependencies: 209 | dicer "0.3.0" 210 | 211 | bytes@3.0.0: 212 | version "3.0.0" 213 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 214 | 215 | content-disposition@0.5.2: 216 | version "0.5.2" 217 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 218 | 219 | content-type@~1.0.4: 220 | version "1.0.4" 221 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 222 | 223 | cookie-signature@1.0.6: 224 | version "1.0.6" 225 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 226 | 227 | cookie@0.3.1: 228 | version "0.3.1" 229 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 230 | 231 | core-js@^2.5.3: 232 | version "2.5.7" 233 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" 234 | 235 | core-util-is@~1.0.0: 236 | version "1.0.2" 237 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 238 | 239 | cors@^2.8.4: 240 | version "2.8.4" 241 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" 242 | dependencies: 243 | object-assign "^4" 244 | vary "^1" 245 | 246 | debug@2.6.9: 247 | version "2.6.9" 248 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 249 | dependencies: 250 | ms "2.0.0" 251 | 252 | depd@1.1.1: 253 | version "1.1.1" 254 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 255 | 256 | depd@~1.1.1, depd@~1.1.2: 257 | version "1.1.2" 258 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 259 | 260 | deprecated-decorator@^0.1.6: 261 | version "0.1.6" 262 | resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" 263 | 264 | destroy@~1.0.4: 265 | version "1.0.4" 266 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 267 | 268 | dicer@0.2.5: 269 | version "0.2.5" 270 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" 271 | dependencies: 272 | readable-stream "1.1.x" 273 | streamsearch "0.1.2" 274 | 275 | dicer@0.3.0: 276 | version "0.3.0" 277 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872" 278 | dependencies: 279 | streamsearch "0.1.2" 280 | 281 | ee-first@1.1.1: 282 | version "1.1.1" 283 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 284 | 285 | encodeurl@~1.0.2: 286 | version "1.0.2" 287 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 288 | 289 | escape-html@~1.0.3: 290 | version "1.0.3" 291 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 292 | 293 | etag@~1.8.1: 294 | version "1.8.1" 295 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 296 | 297 | eventemitter3@^3.1.0: 298 | version "3.1.0" 299 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" 300 | 301 | express@^4.16.3: 302 | version "4.16.3" 303 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" 304 | dependencies: 305 | accepts "~1.3.5" 306 | array-flatten "1.1.1" 307 | body-parser "1.18.2" 308 | content-disposition "0.5.2" 309 | content-type "~1.0.4" 310 | cookie "0.3.1" 311 | cookie-signature "1.0.6" 312 | debug "2.6.9" 313 | depd "~1.1.2" 314 | encodeurl "~1.0.2" 315 | escape-html "~1.0.3" 316 | etag "~1.8.1" 317 | finalhandler "1.1.1" 318 | fresh "0.5.2" 319 | merge-descriptors "1.0.1" 320 | methods "~1.1.2" 321 | on-finished "~2.3.0" 322 | parseurl "~1.3.2" 323 | path-to-regexp "0.1.7" 324 | proxy-addr "~2.0.3" 325 | qs "6.5.1" 326 | range-parser "~1.2.0" 327 | safe-buffer "5.1.1" 328 | send "0.16.2" 329 | serve-static "1.13.2" 330 | setprototypeof "1.1.0" 331 | statuses "~1.4.0" 332 | type-is "~1.6.16" 333 | utils-merge "1.0.1" 334 | vary "~1.1.2" 335 | 336 | fast-json-stable-stringify@^2.0.0: 337 | version "2.0.0" 338 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 339 | 340 | finalhandler@1.1.1: 341 | version "1.1.1" 342 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" 343 | dependencies: 344 | debug "2.6.9" 345 | encodeurl "~1.0.2" 346 | escape-html "~1.0.3" 347 | on-finished "~2.3.0" 348 | parseurl "~1.3.2" 349 | statuses "~1.4.0" 350 | unpipe "~1.0.0" 351 | 352 | forwarded@~0.1.2: 353 | version "0.1.2" 354 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 355 | 356 | fresh@0.5.2: 357 | version "0.5.2" 358 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 359 | 360 | fs-capacitor@^1.0.0: 361 | version "1.0.1" 362 | resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-1.0.1.tgz#ff9dbfa14dfaf4472537720f19c3088ed9278df0" 363 | 364 | fs-capacitor@^2.0.4: 365 | version "2.0.4" 366 | resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-2.0.4.tgz#5a22e72d40ae5078b4fe64fe4d08c0d3fc88ad3c" 367 | 368 | graphql-deduplicator@^2.0.1: 369 | version "2.0.1" 370 | resolved "https://registry.yarnpkg.com/graphql-deduplicator/-/graphql-deduplicator-2.0.1.tgz#20c6b39e3a6f096b46dfc8491432818739c0ee37" 371 | 372 | graphql-extensions@^0.0.x, graphql-extensions@~0.0.9: 373 | version "0.0.10" 374 | resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.0.10.tgz#34bdb2546d43f6a5bc89ab23c295ec0466c6843d" 375 | dependencies: 376 | core-js "^2.5.3" 377 | source-map-support "^0.5.1" 378 | 379 | graphql-import@^0.7.0: 380 | version "0.7.1" 381 | resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223" 382 | dependencies: 383 | lodash "^4.17.4" 384 | resolve-from "^4.0.0" 385 | 386 | graphql-middleware@4.0.1: 387 | version "4.0.1" 388 | resolved "https://registry.yarnpkg.com/graphql-middleware/-/graphql-middleware-4.0.1.tgz#8c627b22cc046a47e9474a813cf9e0bd50fa0c4b" 389 | dependencies: 390 | graphql-tools "^4.0.5" 391 | 392 | graphql-playground-html@1.6.12: 393 | version "1.6.12" 394 | resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.6.12.tgz#8b3b34ab6013e2c877f0ceaae478fafc8ca91b85" 395 | 396 | graphql-playground-middleware-express@1.7.11: 397 | version "1.7.11" 398 | resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.11.tgz#bbffd784a37133bfa7165bdd8f429081dbf4bcf6" 399 | dependencies: 400 | graphql-playground-html "1.6.12" 401 | 402 | graphql-playground-middleware-lambda@1.7.12: 403 | version "1.7.12" 404 | resolved "https://registry.yarnpkg.com/graphql-playground-middleware-lambda/-/graphql-playground-middleware-lambda-1.7.12.tgz#1b06440a288dbcd53f935b43e5b9ca2738a06305" 405 | dependencies: 406 | graphql-playground-html "1.6.12" 407 | 408 | graphql-subscriptions@^0.5.8: 409 | version "0.5.8" 410 | resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz#13a6143c546bce390404657dc73ca501def30aa7" 411 | dependencies: 412 | iterall "^1.2.1" 413 | 414 | graphql-tools@^4.0.0: 415 | version "4.0.1" 416 | resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.1.tgz#c995a4e25c2967d108c975e508322d12969c8c0e" 417 | dependencies: 418 | apollo-link "^1.2.3" 419 | apollo-utilities "^1.0.1" 420 | deprecated-decorator "^0.1.6" 421 | iterall "^1.1.3" 422 | uuid "^3.1.0" 423 | 424 | graphql-tools@^4.0.5: 425 | version "4.0.5" 426 | resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.5.tgz#d2b41ee0a330bfef833e5cdae7e1f0b0d86b1754" 427 | dependencies: 428 | apollo-link "^1.2.3" 429 | apollo-utilities "^1.0.1" 430 | deprecated-decorator "^0.1.6" 431 | iterall "^1.1.3" 432 | uuid "^3.1.0" 433 | 434 | graphql-upload@^8.0.0: 435 | version "8.0.7" 436 | resolved "https://registry.yarnpkg.com/graphql-upload/-/graphql-upload-8.0.7.tgz#8644264e241529552ea4b3797e7ee15809cf01a3" 437 | dependencies: 438 | busboy "^0.3.1" 439 | fs-capacitor "^2.0.4" 440 | http-errors "^1.7.2" 441 | object-path "^0.11.4" 442 | 443 | graphql-yoga@1.18.3: 444 | version "1.18.3" 445 | resolved "https://registry.yarnpkg.com/graphql-yoga/-/graphql-yoga-1.18.3.tgz#047fa511dbef63cf6d6ea7c06a71202d37444844" 446 | dependencies: 447 | "@types/aws-lambda" "8.10.13" 448 | "@types/cors" "^2.8.4" 449 | "@types/express" "^4.11.1" 450 | "@types/graphql" "^14.0.0" 451 | "@types/graphql-deduplicator" "^2.0.0" 452 | "@types/zen-observable" "^0.5.3" 453 | apollo-server-express "^1.3.6" 454 | apollo-server-lambda "1.3.6" 455 | apollo-upload-server "^7.0.0" 456 | body-parser-graphql "1.1.0" 457 | cors "^2.8.4" 458 | express "^4.16.3" 459 | graphql "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0" 460 | graphql-deduplicator "^2.0.1" 461 | graphql-import "^0.7.0" 462 | graphql-middleware "4.0.1" 463 | graphql-playground-middleware-express "1.7.11" 464 | graphql-playground-middleware-lambda "1.7.12" 465 | graphql-subscriptions "^0.5.8" 466 | graphql-tools "^4.0.0" 467 | graphql-upload "^8.0.0" 468 | subscriptions-transport-ws "^0.9.8" 469 | 470 | "graphql@^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0": 471 | version "14.0.2" 472 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.0.2.tgz#7dded337a4c3fd2d075692323384034b357f5650" 473 | dependencies: 474 | iterall "^1.2.2" 475 | 476 | http-errors@1.6.2: 477 | version "1.6.2" 478 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" 479 | dependencies: 480 | depd "1.1.1" 481 | inherits "2.0.3" 482 | setprototypeof "1.0.3" 483 | statuses ">= 1.3.1 < 2" 484 | 485 | http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: 486 | version "1.6.3" 487 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" 488 | dependencies: 489 | depd "~1.1.2" 490 | inherits "2.0.3" 491 | setprototypeof "1.1.0" 492 | statuses ">= 1.4.0 < 2" 493 | 494 | http-errors@^1.7.0: 495 | version "1.7.1" 496 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.1.tgz#6a4ffe5d35188e1c39f872534690585852e1f027" 497 | dependencies: 498 | depd "~1.1.2" 499 | inherits "2.0.3" 500 | setprototypeof "1.1.0" 501 | statuses ">= 1.5.0 < 2" 502 | toidentifier "1.0.0" 503 | 504 | http-errors@^1.7.2: 505 | version "1.7.2" 506 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" 507 | dependencies: 508 | depd "~1.1.2" 509 | inherits "2.0.3" 510 | setprototypeof "1.1.1" 511 | statuses ">= 1.5.0 < 2" 512 | toidentifier "1.0.0" 513 | 514 | iconv-lite@0.4.19: 515 | version "0.4.19" 516 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 517 | 518 | iconv-lite@0.4.23: 519 | version "0.4.23" 520 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" 521 | dependencies: 522 | safer-buffer ">= 2.1.2 < 3" 523 | 524 | inherits@2.0.3, inherits@~2.0.1: 525 | version "2.0.3" 526 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 527 | 528 | ipaddr.js@1.6.0: 529 | version "1.6.0" 530 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" 531 | 532 | isarray@0.0.1: 533 | version "0.0.1" 534 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 535 | 536 | iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2: 537 | version "1.2.2" 538 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" 539 | 540 | lodash.assign@^4.2.0: 541 | version "4.2.0" 542 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" 543 | 544 | lodash.isobject@^3.0.2: 545 | version "3.0.2" 546 | resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" 547 | 548 | lodash.isstring@^4.0.1: 549 | version "4.0.1" 550 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 551 | 552 | lodash@^4.17.4: 553 | version "4.17.10" 554 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" 555 | 556 | media-typer@0.3.0: 557 | version "0.3.0" 558 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 559 | 560 | merge-descriptors@1.0.1: 561 | version "1.0.1" 562 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 563 | 564 | methods@~1.1.2: 565 | version "1.1.2" 566 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 567 | 568 | mime-db@~1.33.0: 569 | version "1.33.0" 570 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" 571 | 572 | mime-types@~2.1.18: 573 | version "2.1.18" 574 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" 575 | dependencies: 576 | mime-db "~1.33.0" 577 | 578 | mime@1.4.1: 579 | version "1.4.1" 580 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 581 | 582 | ms@2.0.0: 583 | version "2.0.0" 584 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 585 | 586 | negotiator@0.6.1: 587 | version "0.6.1" 588 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 589 | 590 | object-assign@^4: 591 | version "4.1.1" 592 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 593 | 594 | object-path@^0.11.4: 595 | version "0.11.4" 596 | resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" 597 | 598 | on-finished@~2.3.0: 599 | version "2.3.0" 600 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 601 | dependencies: 602 | ee-first "1.1.1" 603 | 604 | parseurl@~1.3.2: 605 | version "1.3.2" 606 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 607 | 608 | path-to-regexp@0.1.7: 609 | version "0.1.7" 610 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 611 | 612 | proxy-addr@~2.0.3: 613 | version "2.0.3" 614 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" 615 | dependencies: 616 | forwarded "~0.1.2" 617 | ipaddr.js "1.6.0" 618 | 619 | qs@6.5.1: 620 | version "6.5.1" 621 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 622 | 623 | qs@6.5.2: 624 | version "6.5.2" 625 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 626 | 627 | range-parser@~1.2.0: 628 | version "1.2.0" 629 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 630 | 631 | raw-body@2.3.2: 632 | version "2.3.2" 633 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" 634 | dependencies: 635 | bytes "3.0.0" 636 | http-errors "1.6.2" 637 | iconv-lite "0.4.19" 638 | unpipe "1.0.0" 639 | 640 | raw-body@2.3.3: 641 | version "2.3.3" 642 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" 643 | dependencies: 644 | bytes "3.0.0" 645 | http-errors "1.6.3" 646 | iconv-lite "0.4.23" 647 | unpipe "1.0.0" 648 | 649 | readable-stream@1.1.x: 650 | version "1.1.14" 651 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 652 | dependencies: 653 | core-util-is "~1.0.0" 654 | inherits "~2.0.1" 655 | isarray "0.0.1" 656 | string_decoder "~0.10.x" 657 | 658 | resolve-from@^4.0.0: 659 | version "4.0.0" 660 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 661 | 662 | safe-buffer@5.1.1: 663 | version "5.1.1" 664 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 665 | 666 | "safer-buffer@>= 2.1.2 < 3": 667 | version "2.1.2" 668 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 669 | 670 | send@0.16.2: 671 | version "0.16.2" 672 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" 673 | dependencies: 674 | debug "2.6.9" 675 | depd "~1.1.2" 676 | destroy "~1.0.4" 677 | encodeurl "~1.0.2" 678 | escape-html "~1.0.3" 679 | etag "~1.8.1" 680 | fresh "0.5.2" 681 | http-errors "~1.6.2" 682 | mime "1.4.1" 683 | ms "2.0.0" 684 | on-finished "~2.3.0" 685 | range-parser "~1.2.0" 686 | statuses "~1.4.0" 687 | 688 | serve-static@1.13.2: 689 | version "1.13.2" 690 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" 691 | dependencies: 692 | encodeurl "~1.0.2" 693 | escape-html "~1.0.3" 694 | parseurl "~1.3.2" 695 | send "0.16.2" 696 | 697 | setprototypeof@1.0.3: 698 | version "1.0.3" 699 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 700 | 701 | setprototypeof@1.1.0: 702 | version "1.1.0" 703 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 704 | 705 | setprototypeof@1.1.1: 706 | version "1.1.1" 707 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 708 | 709 | source-map-support@^0.5.1: 710 | version "0.5.6" 711 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" 712 | dependencies: 713 | buffer-from "^1.0.0" 714 | source-map "^0.6.0" 715 | 716 | source-map@^0.6.0: 717 | version "0.6.1" 718 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 719 | 720 | "statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2": 721 | version "1.5.0" 722 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 723 | 724 | statuses@~1.4.0: 725 | version "1.4.0" 726 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 727 | 728 | streamsearch@0.1.2: 729 | version "0.1.2" 730 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" 731 | 732 | string_decoder@~0.10.x: 733 | version "0.10.31" 734 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 735 | 736 | subscriptions-transport-ws@^0.9.8: 737 | version "0.9.11" 738 | resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.11.tgz#76e9dd7ec1bd0aa0331eca9b7074e66ce626d13a" 739 | dependencies: 740 | backo2 "^1.0.2" 741 | eventemitter3 "^3.1.0" 742 | iterall "^1.2.1" 743 | lodash.assign "^4.2.0" 744 | lodash.isobject "^3.0.2" 745 | lodash.isstring "^4.0.1" 746 | symbol-observable "^1.0.4" 747 | ws "^5.2.0" 748 | 749 | symbol-observable@^1.0.4: 750 | version "1.2.0" 751 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" 752 | 753 | toidentifier@1.0.0: 754 | version "1.0.0" 755 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 756 | 757 | type-is@~1.6.15, type-is@~1.6.16: 758 | version "1.6.16" 759 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" 760 | dependencies: 761 | media-typer "0.3.0" 762 | mime-types "~2.1.18" 763 | 764 | unpipe@1.0.0, unpipe@~1.0.0: 765 | version "1.0.0" 766 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 767 | 768 | utils-merge@1.0.1: 769 | version "1.0.1" 770 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 771 | 772 | uuid@^3.1.0: 773 | version "3.2.1" 774 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" 775 | 776 | vary@^1, vary@~1.1.2: 777 | version "1.1.2" 778 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 779 | 780 | ws@^5.2.0: 781 | version "5.2.0" 782 | resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.0.tgz#9fd95e3ac7c76f6ae8bcc868a0e3f11f1290c33e" 783 | dependencies: 784 | async-limiter "~1.0.0" 785 | 786 | zen-observable-ts@^0.8.10: 787 | version "0.8.10" 788 | resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.10.tgz#18e2ce1c89fe026e9621fd83cc05168228fce829" 789 | dependencies: 790 | zen-observable "^0.8.0" 791 | 792 | zen-observable@^0.8.0: 793 | version "0.8.8" 794 | resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.8.tgz#1ea93995bf098754a58215a1e0a7309e5749ec42" 795 | -------------------------------------------------------------------------------- /basic/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@types/aws-lambda@8.10.13": 6 | version "8.10.13" 7 | resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.13.tgz#92cc06b1cc88b5d0b327d2671dcf3daea96923a5" 8 | 9 | "@types/body-parser@*": 10 | version "1.17.0" 11 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c" 12 | dependencies: 13 | "@types/connect" "*" 14 | "@types/node" "*" 15 | 16 | "@types/concat-stream@^1.6.0": 17 | version "1.6.0" 18 | resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.0.tgz#394dbe0bb5fee46b38d896735e8b68ef2390d00d" 19 | dependencies: 20 | "@types/node" "*" 21 | 22 | "@types/connect@*": 23 | version "3.4.32" 24 | resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28" 25 | dependencies: 26 | "@types/node" "*" 27 | 28 | "@types/cors@^2.8.4": 29 | version "2.8.4" 30 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.4.tgz#50991a759a29c0b89492751008c6af7a7c8267b0" 31 | dependencies: 32 | "@types/express" "*" 33 | 34 | "@types/events@*": 35 | version "1.2.0" 36 | resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" 37 | 38 | "@types/express-serve-static-core@*": 39 | version "4.16.0" 40 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz#fdfe777594ddc1fe8eb8eccce52e261b496e43e7" 41 | dependencies: 42 | "@types/events" "*" 43 | "@types/node" "*" 44 | "@types/range-parser" "*" 45 | 46 | "@types/express@*", "@types/express@^4.11.1": 47 | version "4.16.0" 48 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19" 49 | dependencies: 50 | "@types/body-parser" "*" 51 | "@types/express-serve-static-core" "*" 52 | "@types/serve-static" "*" 53 | 54 | "@types/form-data@0.0.33": 55 | version "0.0.33" 56 | resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" 57 | dependencies: 58 | "@types/node" "*" 59 | 60 | "@types/graphql-deduplicator@^2.0.0": 61 | version "2.0.0" 62 | resolved "https://registry.yarnpkg.com/@types/graphql-deduplicator/-/graphql-deduplicator-2.0.0.tgz#9e577b8f3feb3d067b0ca756f4a1fb356d533922" 63 | 64 | "@types/graphql@^14.0.0": 65 | version "14.0.3" 66 | resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-14.0.3.tgz#389e2e5b83ecdb376d9f98fae2094297bc112c1c" 67 | 68 | "@types/methods@^1.1.0": 69 | version "1.1.0" 70 | resolved "https://registry.yarnpkg.com/@types/methods/-/methods-1.1.0.tgz#fa0c8c81992257903f724651ec2500ec427dc32d" 71 | 72 | "@types/mime@*": 73 | version "2.0.0" 74 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b" 75 | 76 | "@types/node@*": 77 | version "10.3.4" 78 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.3.4.tgz#c74e8aec19e555df44609b8057311052a2c84d9e" 79 | 80 | "@types/node@^10.12.0": 81 | version "10.12.0" 82 | resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.0.tgz#ea6dcbddbc5b584c83f06c60e82736d8fbb0c235" 83 | 84 | "@types/prettier@^1.13.2": 85 | version "1.13.2" 86 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.13.2.tgz#ffe96278e712a8d4e467e367a338b05e22872646" 87 | 88 | "@types/range-parser@*": 89 | version "1.2.2" 90 | resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.2.tgz#fa8e1ad1d474688a757140c91de6dace6f4abc8d" 91 | 92 | "@types/serve-static@*": 93 | version "1.13.2" 94 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48" 95 | dependencies: 96 | "@types/express-serve-static-core" "*" 97 | "@types/mime" "*" 98 | 99 | "@types/tough-cookie@^2.3.0": 100 | version "2.3.3" 101 | resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.3.tgz#7f226d67d654ec9070e755f46daebf014628e9d9" 102 | 103 | "@types/zen-observable@^0.5.3": 104 | version "0.5.4" 105 | resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.5.4.tgz#b863a4191e525206819e008097ebf0fb2e3a1cdc" 106 | 107 | accepts@~1.3.5: 108 | version "1.3.5" 109 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" 110 | dependencies: 111 | mime-types "~2.1.18" 112 | negotiator "0.6.1" 113 | 114 | apollo-cache-control@^0.1.0: 115 | version "0.1.1" 116 | resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.1.1.tgz#173d14ceb3eb9e7cb53de7eb8b61bee6159d4171" 117 | dependencies: 118 | graphql-extensions "^0.0.x" 119 | 120 | apollo-link@^1.2.3: 121 | version "1.2.3" 122 | resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.3.tgz#9bd8d5fe1d88d31dc91dae9ecc22474d451fb70d" 123 | dependencies: 124 | apollo-utilities "^1.0.0" 125 | zen-observable-ts "^0.8.10" 126 | 127 | apollo-server-core@^1.3.6: 128 | version "1.3.6" 129 | resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.3.6.tgz#08636243c2de56fa8c267d68dd602cb1fbd323e3" 130 | dependencies: 131 | apollo-cache-control "^0.1.0" 132 | apollo-tracing "^0.1.0" 133 | graphql-extensions "^0.0.x" 134 | 135 | apollo-server-express@^1.3.6: 136 | version "1.3.6" 137 | resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-1.3.6.tgz#2120b05021a87def44fafd846e8a0e2a32852db7" 138 | dependencies: 139 | apollo-server-core "^1.3.6" 140 | apollo-server-module-graphiql "^1.3.4" 141 | 142 | apollo-server-lambda@1.3.6: 143 | version "1.3.6" 144 | resolved "https://registry.yarnpkg.com/apollo-server-lambda/-/apollo-server-lambda-1.3.6.tgz#bdaac37f143c6798e40b8ae75580ba673cea260e" 145 | dependencies: 146 | apollo-server-core "^1.3.6" 147 | apollo-server-module-graphiql "^1.3.4" 148 | 149 | apollo-server-module-graphiql@^1.3.4: 150 | version "1.3.4" 151 | resolved "https://registry.yarnpkg.com/apollo-server-module-graphiql/-/apollo-server-module-graphiql-1.3.4.tgz#50399b7c51b7267d0c841529f5173e5fc7304de4" 152 | 153 | apollo-tracing@^0.1.0: 154 | version "0.1.4" 155 | resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.1.4.tgz#5b8ae1b01526b160ee6e552a7f131923a9aedcc7" 156 | dependencies: 157 | graphql-extensions "~0.0.9" 158 | 159 | apollo-upload-server@^7.0.0: 160 | version "7.1.0" 161 | resolved "https://registry.yarnpkg.com/apollo-upload-server/-/apollo-upload-server-7.1.0.tgz#21e07b52252b3749b913468599813e13cfca805f" 162 | dependencies: 163 | busboy "^0.2.14" 164 | fs-capacitor "^1.0.0" 165 | http-errors "^1.7.0" 166 | object-path "^0.11.4" 167 | 168 | apollo-utilities@^1.0.0, apollo-utilities@^1.0.1: 169 | version "1.0.15" 170 | resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.15.tgz#8f1ba6e4ed9b92cb0de2ce7c032315a768860aae" 171 | dependencies: 172 | fast-json-stable-stringify "^2.0.0" 173 | 174 | array-flatten@1.1.1: 175 | version "1.1.1" 176 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 177 | 178 | async-limiter@~1.0.0: 179 | version "1.0.0" 180 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" 181 | 182 | asynckit@^0.4.0: 183 | version "0.4.0" 184 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 185 | 186 | backo2@^1.0.2: 187 | version "1.0.2" 188 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" 189 | 190 | body-parser-graphql@1.1.0: 191 | version "1.1.0" 192 | resolved "https://registry.yarnpkg.com/body-parser-graphql/-/body-parser-graphql-1.1.0.tgz#80a80353c7cb623562fd375750dfe018d75f0f7c" 193 | dependencies: 194 | body-parser "^1.18.2" 195 | 196 | body-parser@1.18.2: 197 | version "1.18.2" 198 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" 199 | dependencies: 200 | bytes "3.0.0" 201 | content-type "~1.0.4" 202 | debug "2.6.9" 203 | depd "~1.1.1" 204 | http-errors "~1.6.2" 205 | iconv-lite "0.4.19" 206 | on-finished "~2.3.0" 207 | qs "6.5.1" 208 | raw-body "2.3.2" 209 | type-is "~1.6.15" 210 | 211 | body-parser@^1.18.2: 212 | version "1.18.3" 213 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" 214 | dependencies: 215 | bytes "3.0.0" 216 | content-type "~1.0.4" 217 | debug "2.6.9" 218 | depd "~1.1.2" 219 | http-errors "~1.6.3" 220 | iconv-lite "0.4.23" 221 | on-finished "~2.3.0" 222 | qs "6.5.2" 223 | raw-body "2.3.3" 224 | type-is "~1.6.16" 225 | 226 | buffer-equal-constant-time@1.0.1: 227 | version "1.0.1" 228 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 229 | 230 | buffer-from@^1.0.0: 231 | version "1.1.0" 232 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" 233 | 234 | busboy@^0.2.14: 235 | version "0.2.14" 236 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453" 237 | dependencies: 238 | dicer "0.2.5" 239 | readable-stream "1.1.x" 240 | 241 | busboy@^0.3.1: 242 | version "0.3.1" 243 | resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b" 244 | dependencies: 245 | dicer "0.3.0" 246 | 247 | bytes@3.0.0: 248 | version "3.0.0" 249 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 250 | 251 | camelcase@^4.1.0: 252 | version "4.1.0" 253 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 254 | 255 | combined-stream@1.0.6: 256 | version "1.0.6" 257 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" 258 | dependencies: 259 | delayed-stream "~1.0.0" 260 | 261 | concat-stream@^1.4.7: 262 | version "1.6.2" 263 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 264 | dependencies: 265 | buffer-from "^1.0.0" 266 | inherits "^2.0.3" 267 | readable-stream "^2.2.2" 268 | typedarray "^0.0.6" 269 | 270 | content-disposition@0.5.2: 271 | version "0.5.2" 272 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 273 | 274 | content-type@~1.0.4: 275 | version "1.0.4" 276 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 277 | 278 | cookie-signature@1.0.6: 279 | version "1.0.6" 280 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 281 | 282 | cookie@0.3.1: 283 | version "0.3.1" 284 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 285 | 286 | core-js@^2.5.3: 287 | version "2.5.7" 288 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" 289 | 290 | core-util-is@~1.0.0: 291 | version "1.0.2" 292 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 293 | 294 | cors@^2.8.4: 295 | version "2.8.4" 296 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" 297 | dependencies: 298 | object-assign "^4" 299 | vary "^1" 300 | 301 | cross-fetch@2.2.2: 302 | version "2.2.2" 303 | resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723" 304 | dependencies: 305 | node-fetch "2.1.2" 306 | whatwg-fetch "2.0.4" 307 | 308 | dataloader@^1.4.0: 309 | version "1.4.0" 310 | resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" 311 | 312 | debug@2.6.9: 313 | version "2.6.9" 314 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 315 | dependencies: 316 | ms "2.0.0" 317 | 318 | debug@^4.1.0: 319 | version "4.1.0" 320 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.0.tgz#373687bffa678b38b1cd91f861b63850035ddc87" 321 | dependencies: 322 | ms "^2.1.1" 323 | 324 | debug@^4.1.1: 325 | version "4.1.1" 326 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 327 | dependencies: 328 | ms "^2.1.1" 329 | 330 | delayed-stream@~1.0.0: 331 | version "1.0.0" 332 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 333 | 334 | depd@1.1.1: 335 | version "1.1.1" 336 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 337 | 338 | depd@~1.1.1, depd@~1.1.2: 339 | version "1.1.2" 340 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 341 | 342 | deprecated-decorator@^0.1.6: 343 | version "0.1.6" 344 | resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37" 345 | 346 | destroy@~1.0.4: 347 | version "1.0.4" 348 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 349 | 350 | dicer@0.2.5: 351 | version "0.2.5" 352 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" 353 | dependencies: 354 | readable-stream "1.1.x" 355 | streamsearch "0.1.2" 356 | 357 | dicer@0.3.0: 358 | version "0.3.0" 359 | resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872" 360 | dependencies: 361 | streamsearch "0.1.2" 362 | 363 | ecdsa-sig-formatter@1.0.10: 364 | version "1.0.10" 365 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz#1c595000f04a8897dfb85000892a0f4c33af86c3" 366 | dependencies: 367 | safe-buffer "^5.0.1" 368 | 369 | ee-first@1.1.1: 370 | version "1.1.1" 371 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 372 | 373 | encodeurl@~1.0.2: 374 | version "1.0.2" 375 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 376 | 377 | escape-html@~1.0.3: 378 | version "1.0.3" 379 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 380 | 381 | etag@~1.8.1: 382 | version "1.8.1" 383 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 384 | 385 | eventemitter3@^3.1.0: 386 | version "3.1.0" 387 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" 388 | 389 | express@^4.16.3: 390 | version "4.16.3" 391 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" 392 | dependencies: 393 | accepts "~1.3.5" 394 | array-flatten "1.1.1" 395 | body-parser "1.18.2" 396 | content-disposition "0.5.2" 397 | content-type "~1.0.4" 398 | cookie "0.3.1" 399 | cookie-signature "1.0.6" 400 | debug "2.6.9" 401 | depd "~1.1.2" 402 | encodeurl "~1.0.2" 403 | escape-html "~1.0.3" 404 | etag "~1.8.1" 405 | finalhandler "1.1.1" 406 | fresh "0.5.2" 407 | merge-descriptors "1.0.1" 408 | methods "~1.1.2" 409 | on-finished "~2.3.0" 410 | parseurl "~1.3.2" 411 | path-to-regexp "0.1.7" 412 | proxy-addr "~2.0.3" 413 | qs "6.5.1" 414 | range-parser "~1.2.0" 415 | safe-buffer "5.1.1" 416 | send "0.16.2" 417 | serve-static "1.13.2" 418 | setprototypeof "1.1.0" 419 | statuses "~1.4.0" 420 | type-is "~1.6.16" 421 | utils-merge "1.0.1" 422 | vary "~1.1.2" 423 | 424 | fast-json-stable-stringify@^2.0.0: 425 | version "2.0.0" 426 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 427 | 428 | finalhandler@1.1.1: 429 | version "1.1.1" 430 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" 431 | dependencies: 432 | debug "2.6.9" 433 | encodeurl "~1.0.2" 434 | escape-html "~1.0.3" 435 | on-finished "~2.3.0" 436 | parseurl "~1.3.2" 437 | statuses "~1.4.0" 438 | unpipe "~1.0.0" 439 | 440 | flow-bin@^0.87.0: 441 | version "0.87.0" 442 | resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.87.0.tgz#fab7f984d8cc767e93fa9eb01cf7d57ed744f19d" 443 | 444 | form-data@^2.0.0: 445 | version "2.3.2" 446 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" 447 | dependencies: 448 | asynckit "^0.4.0" 449 | combined-stream "1.0.6" 450 | mime-types "^2.1.12" 451 | 452 | forwarded@~0.1.2: 453 | version "0.1.2" 454 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 455 | 456 | fresh@0.5.2: 457 | version "0.5.2" 458 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 459 | 460 | fs-capacitor@^1.0.0: 461 | version "1.0.1" 462 | resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-1.0.1.tgz#ff9dbfa14dfaf4472537720f19c3088ed9278df0" 463 | 464 | fs-capacitor@^2.0.4: 465 | version "2.0.4" 466 | resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-2.0.4.tgz#5a22e72d40ae5078b4fe64fe4d08c0d3fc88ad3c" 467 | 468 | graphql-deduplicator@^2.0.1: 469 | version "2.0.1" 470 | resolved "https://registry.yarnpkg.com/graphql-deduplicator/-/graphql-deduplicator-2.0.1.tgz#20c6b39e3a6f096b46dfc8491432818739c0ee37" 471 | 472 | graphql-extensions@^0.0.x, graphql-extensions@~0.0.9: 473 | version "0.0.10" 474 | resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.0.10.tgz#34bdb2546d43f6a5bc89ab23c295ec0466c6843d" 475 | dependencies: 476 | core-js "^2.5.3" 477 | source-map-support "^0.5.1" 478 | 479 | graphql-import@^0.7.0: 480 | version "0.7.1" 481 | resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223" 482 | dependencies: 483 | lodash "^4.17.4" 484 | resolve-from "^4.0.0" 485 | 486 | graphql-middleware@4.0.1: 487 | version "4.0.1" 488 | resolved "https://registry.yarnpkg.com/graphql-middleware/-/graphql-middleware-4.0.1.tgz#8c627b22cc046a47e9474a813cf9e0bd50fa0c4b" 489 | dependencies: 490 | graphql-tools "^4.0.5" 491 | 492 | graphql-playground-html@1.6.12: 493 | version "1.6.12" 494 | resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.6.12.tgz#8b3b34ab6013e2c877f0ceaae478fafc8ca91b85" 495 | 496 | graphql-playground-middleware-express@1.7.11: 497 | version "1.7.11" 498 | resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.11.tgz#bbffd784a37133bfa7165bdd8f429081dbf4bcf6" 499 | dependencies: 500 | graphql-playground-html "1.6.12" 501 | 502 | graphql-playground-middleware-lambda@1.7.12: 503 | version "1.7.12" 504 | resolved "https://registry.yarnpkg.com/graphql-playground-middleware-lambda/-/graphql-playground-middleware-lambda-1.7.12.tgz#1b06440a288dbcd53f935b43e5b9ca2738a06305" 505 | dependencies: 506 | graphql-playground-html "1.6.12" 507 | 508 | graphql-subscriptions@^0.5.8: 509 | version "0.5.8" 510 | resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz#13a6143c546bce390404657dc73ca501def30aa7" 511 | dependencies: 512 | iterall "^1.2.1" 513 | 514 | graphql-tag@^2.10.0: 515 | version "2.10.0" 516 | resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.0.tgz#87da024be863e357551b2b8700e496ee2d4353ae" 517 | 518 | graphql-tools@^4.0.0: 519 | version "4.0.1" 520 | resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.1.tgz#c995a4e25c2967d108c975e508322d12969c8c0e" 521 | dependencies: 522 | apollo-link "^1.2.3" 523 | apollo-utilities "^1.0.1" 524 | deprecated-decorator "^0.1.6" 525 | iterall "^1.1.3" 526 | uuid "^3.1.0" 527 | 528 | graphql-tools@^4.0.5: 529 | version "4.0.5" 530 | resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.5.tgz#d2b41ee0a330bfef833e5cdae7e1f0b0d86b1754" 531 | dependencies: 532 | apollo-link "^1.2.3" 533 | apollo-utilities "^1.0.1" 534 | deprecated-decorator "^0.1.6" 535 | iterall "^1.1.3" 536 | uuid "^3.1.0" 537 | 538 | graphql-upload@^8.0.0: 539 | version "8.0.7" 540 | resolved "https://registry.yarnpkg.com/graphql-upload/-/graphql-upload-8.0.7.tgz#8644264e241529552ea4b3797e7ee15809cf01a3" 541 | dependencies: 542 | busboy "^0.3.1" 543 | fs-capacitor "^2.0.4" 544 | http-errors "^1.7.2" 545 | object-path "^0.11.4" 546 | 547 | graphql-yoga@1.18.3: 548 | version "1.18.3" 549 | resolved "https://registry.yarnpkg.com/graphql-yoga/-/graphql-yoga-1.18.3.tgz#047fa511dbef63cf6d6ea7c06a71202d37444844" 550 | dependencies: 551 | "@types/aws-lambda" "8.10.13" 552 | "@types/cors" "^2.8.4" 553 | "@types/express" "^4.11.1" 554 | "@types/graphql" "^14.0.0" 555 | "@types/graphql-deduplicator" "^2.0.0" 556 | "@types/zen-observable" "^0.5.3" 557 | apollo-server-express "^1.3.6" 558 | apollo-server-lambda "1.3.6" 559 | apollo-upload-server "^7.0.0" 560 | body-parser-graphql "1.1.0" 561 | cors "^2.8.4" 562 | express "^4.16.3" 563 | graphql "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0" 564 | graphql-deduplicator "^2.0.1" 565 | graphql-import "^0.7.0" 566 | graphql-middleware "4.0.1" 567 | graphql-playground-middleware-express "1.7.11" 568 | graphql-playground-middleware-lambda "1.7.12" 569 | graphql-subscriptions "^0.5.8" 570 | graphql-tools "^4.0.0" 571 | graphql-upload "^8.0.0" 572 | subscriptions-transport-ws "^0.9.8" 573 | 574 | "graphql@^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0": 575 | version "14.0.2" 576 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.0.2.tgz#7dded337a4c3fd2d075692323384034b357f5650" 577 | dependencies: 578 | iterall "^1.2.2" 579 | 580 | graphql@^14.3.0: 581 | version "14.3.1" 582 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.3.1.tgz#b3aa50e61a841ada3c1f9ccda101c483f8e8c807" 583 | dependencies: 584 | iterall "^1.2.2" 585 | 586 | http-errors@1.6.2: 587 | version "1.6.2" 588 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" 589 | dependencies: 590 | depd "1.1.1" 591 | inherits "2.0.3" 592 | setprototypeof "1.0.3" 593 | statuses ">= 1.3.1 < 2" 594 | 595 | http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3: 596 | version "1.6.3" 597 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" 598 | dependencies: 599 | depd "~1.1.2" 600 | inherits "2.0.3" 601 | setprototypeof "1.1.0" 602 | statuses ">= 1.4.0 < 2" 603 | 604 | http-errors@^1.7.0: 605 | version "1.7.1" 606 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.1.tgz#6a4ffe5d35188e1c39f872534690585852e1f027" 607 | dependencies: 608 | depd "~1.1.2" 609 | inherits "2.0.3" 610 | setprototypeof "1.1.0" 611 | statuses ">= 1.5.0 < 2" 612 | toidentifier "1.0.0" 613 | 614 | http-errors@^1.7.2: 615 | version "1.7.2" 616 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" 617 | dependencies: 618 | depd "~1.1.2" 619 | inherits "2.0.3" 620 | setprototypeof "1.1.1" 621 | statuses ">= 1.5.0 < 2" 622 | toidentifier "1.0.0" 623 | 624 | http-link-dataloader@^0.1.6: 625 | version "0.1.6" 626 | resolved "https://registry.yarnpkg.com/http-link-dataloader/-/http-link-dataloader-0.1.6.tgz#ad87d6b5cb6c2745b14b21ffd9cf476c13976c4f" 627 | dependencies: 628 | apollo-link "^1.2.3" 629 | cross-fetch "2.2.2" 630 | dataloader "^1.4.0" 631 | 632 | iconv-lite@0.4.19: 633 | version "0.4.19" 634 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 635 | 636 | iconv-lite@0.4.23: 637 | version "0.4.23" 638 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" 639 | dependencies: 640 | safer-buffer ">= 2.1.2 < 3" 641 | 642 | inherits@2.0.3, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: 643 | version "2.0.3" 644 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 645 | 646 | ipaddr.js@1.6.0: 647 | version "1.6.0" 648 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" 649 | 650 | isarray@0.0.1: 651 | version "0.0.1" 652 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 653 | 654 | isarray@~1.0.0: 655 | version "1.0.0" 656 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 657 | 658 | iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2: 659 | version "1.2.2" 660 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" 661 | 662 | jsonwebtoken@^8.3.0: 663 | version "8.3.0" 664 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.3.0.tgz#056c90eee9a65ed6e6c72ddb0a1d325109aaf643" 665 | dependencies: 666 | jws "^3.1.5" 667 | lodash.includes "^4.3.0" 668 | lodash.isboolean "^3.0.3" 669 | lodash.isinteger "^4.0.4" 670 | lodash.isnumber "^3.0.3" 671 | lodash.isplainobject "^4.0.6" 672 | lodash.isstring "^4.0.1" 673 | lodash.once "^4.0.0" 674 | ms "^2.1.1" 675 | 676 | jwa@^1.1.5: 677 | version "1.1.6" 678 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.1.6.tgz#87240e76c9808dbde18783cf2264ef4929ee50e6" 679 | dependencies: 680 | buffer-equal-constant-time "1.0.1" 681 | ecdsa-sig-formatter "1.0.10" 682 | safe-buffer "^5.0.1" 683 | 684 | jws@^3.1.5: 685 | version "3.1.5" 686 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.5.tgz#80d12d05b293d1e841e7cb8b4e69e561adcf834f" 687 | dependencies: 688 | jwa "^1.1.5" 689 | safe-buffer "^5.0.1" 690 | 691 | lodash.assign@^4.2.0: 692 | version "4.2.0" 693 | resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" 694 | 695 | lodash.flatten@^4.4.0: 696 | version "4.4.0" 697 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" 698 | 699 | lodash.includes@^4.3.0: 700 | version "4.3.0" 701 | resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" 702 | 703 | lodash.isboolean@^3.0.3: 704 | version "3.0.3" 705 | resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" 706 | 707 | lodash.isinteger@^4.0.4: 708 | version "4.0.4" 709 | resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" 710 | 711 | lodash.isnumber@^3.0.3: 712 | version "3.0.3" 713 | resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" 714 | 715 | lodash.isobject@^3.0.2: 716 | version "3.0.2" 717 | resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" 718 | 719 | lodash.isplainobject@^4.0.6: 720 | version "4.0.6" 721 | resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" 722 | 723 | lodash.isstring@^4.0.1: 724 | version "4.0.1" 725 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 726 | 727 | lodash.once@^4.0.0: 728 | version "4.1.1" 729 | resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" 730 | 731 | lodash@^4.17.4: 732 | version "4.17.10" 733 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" 734 | 735 | make-error-cause@^1.2.1: 736 | version "1.2.2" 737 | resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d" 738 | dependencies: 739 | make-error "^1.2.0" 740 | 741 | make-error@^1.2.0: 742 | version "1.3.5" 743 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" 744 | 745 | media-typer@0.3.0: 746 | version "0.3.0" 747 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 748 | 749 | merge-descriptors@1.0.1: 750 | version "1.0.1" 751 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 752 | 753 | methods@~1.1.2: 754 | version "1.1.2" 755 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 756 | 757 | mime-db@~1.33.0: 758 | version "1.33.0" 759 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" 760 | 761 | mime-types@^2.1.12, mime-types@~2.1.18: 762 | version "2.1.18" 763 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" 764 | dependencies: 765 | mime-db "~1.33.0" 766 | 767 | mime@1.4.1: 768 | version "1.4.1" 769 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 770 | 771 | ms@2.0.0: 772 | version "2.0.0" 773 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 774 | 775 | ms@^2.1.1: 776 | version "2.1.1" 777 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 778 | 779 | negotiator@0.6.1: 780 | version "0.6.1" 781 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 782 | 783 | node-fetch@2.1.2: 784 | version "2.1.2" 785 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" 786 | 787 | object-assign@^4: 788 | version "4.1.1" 789 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 790 | 791 | object-path@^0.11.4: 792 | version "0.11.4" 793 | resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" 794 | 795 | on-finished@~2.3.0: 796 | version "2.3.0" 797 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 798 | dependencies: 799 | ee-first "1.1.1" 800 | 801 | parseurl@~1.3.2: 802 | version "1.3.2" 803 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 804 | 805 | path-to-regexp@0.1.7: 806 | version "0.1.7" 807 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 808 | 809 | pluralize@^7.0.0: 810 | version "7.0.0" 811 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" 812 | 813 | popsicle@10: 814 | version "10.0.1" 815 | resolved "https://registry.yarnpkg.com/popsicle/-/popsicle-10.0.1.tgz#2abd36130560647c74eaf08400d473ae25c4486f" 816 | dependencies: 817 | "@types/concat-stream" "^1.6.0" 818 | "@types/form-data" "0.0.33" 819 | "@types/methods" "^1.1.0" 820 | "@types/tough-cookie" "^2.3.0" 821 | concat-stream "^1.4.7" 822 | form-data "^2.0.0" 823 | make-error-cause "^1.2.1" 824 | tough-cookie "^2.0.0" 825 | 826 | prettier@1.16.4: 827 | version "1.16.4" 828 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.4.tgz#73e37e73e018ad2db9c76742e2647e21790c9717" 829 | 830 | prisma-client-lib@1.34.12: 831 | version "1.34.12" 832 | resolved "https://registry.yarnpkg.com/prisma-client-lib/-/prisma-client-lib-1.34.12.tgz#7b81e0df527058d848e9c6c00e98a765e26a6837" 833 | integrity sha512-VNl0wcI4MYbag3PI3Oy22tomg0rO3+VYGdumISg81NV2nB6PZyB+z4SirNk8E7qo0HRCeSd2xj3su92Jq+M3QQ== 834 | dependencies: 835 | "@types/node" "^10.12.0" 836 | "@types/prettier" "^1.13.2" 837 | debug "^4.1.0" 838 | flow-bin "^0.87.0" 839 | graphql-tag "^2.10.0" 840 | http-link-dataloader "^0.1.6" 841 | jsonwebtoken "^8.3.0" 842 | lodash.flatten "^4.4.0" 843 | prettier "1.16.4" 844 | prisma-datamodel "1.34.12" 845 | prisma-generate-schema "1.34.12" 846 | subscriptions-transport-ws "^0.9.15" 847 | uppercamelcase "^3.0.0" 848 | ws "^6.1.0" 849 | zen-observable "^0.8.10" 850 | 851 | prisma-datamodel@1.34.12: 852 | version "1.34.12" 853 | resolved "https://registry.yarnpkg.com/prisma-datamodel/-/prisma-datamodel-1.34.12.tgz#bbc5e0ffdaf1f33fc1b6dcbb1fcd4a3c828b1920" 854 | integrity sha512-95m7ZEjzuNz++Tuo+GRuIhtS3/xG9fPZm5So/E3kw/lQ4RjE7/BT8Je12XFk47sk7cewQBmQ+Of32J7FW+0cxQ== 855 | dependencies: 856 | debug "^4.1.1" 857 | graphql "^14.3.0" 858 | pluralize "^7.0.0" 859 | popsicle "10" 860 | 861 | prisma-generate-schema@1.34.12: 862 | version "1.34.12" 863 | resolved "https://registry.yarnpkg.com/prisma-generate-schema/-/prisma-generate-schema-1.34.12.tgz#d4fa6904120eeebcffcae964cb941e2e7cd88f20" 864 | integrity sha512-USrNLFtXwGNORJHpeXihCIc3/ARtVaFjQ1OZhvmLnqoiJVhnh29sc0daCqFijO1AXiArF5kxjMcM27JVzTdJiA== 865 | dependencies: 866 | graphql "^14.3.0" 867 | pluralize "^7.0.0" 868 | popsicle "10" 869 | prisma-datamodel "1.34.12" 870 | 871 | prisma@1.34.12: 872 | version "1.34.12" 873 | resolved "https://registry.yarnpkg.com/prisma/-/prisma-1.34.12.tgz#6212571134f4ead659294b778d85a3f24f9d2669" 874 | integrity sha512-Es1cBDqP97eBkbt6yGLg9AInXHIlo2IR7bPYSNQxp9joFBHG6Wuzc0nt6Snb73gcO0bTG5PHJaSijDaZv7/Jpw== 875 | 876 | process-nextick-args@~2.0.0: 877 | version "2.0.0" 878 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 879 | 880 | proxy-addr@~2.0.3: 881 | version "2.0.3" 882 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" 883 | dependencies: 884 | forwarded "~0.1.2" 885 | ipaddr.js "1.6.0" 886 | 887 | psl@^1.1.24: 888 | version "1.1.28" 889 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.28.tgz#4fb6ceb08a1e2214d4fd4de0ca22dae13740bc7b" 890 | 891 | punycode@^1.4.1: 892 | version "1.4.1" 893 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 894 | 895 | qs@6.5.1: 896 | version "6.5.1" 897 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 898 | 899 | qs@6.5.2: 900 | version "6.5.2" 901 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" 902 | 903 | range-parser@~1.2.0: 904 | version "1.2.0" 905 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 906 | 907 | raw-body@2.3.2: 908 | version "2.3.2" 909 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" 910 | dependencies: 911 | bytes "3.0.0" 912 | http-errors "1.6.2" 913 | iconv-lite "0.4.19" 914 | unpipe "1.0.0" 915 | 916 | raw-body@2.3.3: 917 | version "2.3.3" 918 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" 919 | dependencies: 920 | bytes "3.0.0" 921 | http-errors "1.6.3" 922 | iconv-lite "0.4.23" 923 | unpipe "1.0.0" 924 | 925 | readable-stream@1.1.x: 926 | version "1.1.14" 927 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" 928 | dependencies: 929 | core-util-is "~1.0.0" 930 | inherits "~2.0.1" 931 | isarray "0.0.1" 932 | string_decoder "~0.10.x" 933 | 934 | readable-stream@^2.2.2: 935 | version "2.3.6" 936 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 937 | dependencies: 938 | core-util-is "~1.0.0" 939 | inherits "~2.0.3" 940 | isarray "~1.0.0" 941 | process-nextick-args "~2.0.0" 942 | safe-buffer "~5.1.1" 943 | string_decoder "~1.1.1" 944 | util-deprecate "~1.0.1" 945 | 946 | resolve-from@^4.0.0: 947 | version "4.0.0" 948 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 949 | 950 | safe-buffer@5.1.1: 951 | version "5.1.1" 952 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 953 | 954 | safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 955 | version "5.1.2" 956 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 957 | 958 | "safer-buffer@>= 2.1.2 < 3": 959 | version "2.1.2" 960 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 961 | 962 | send@0.16.2: 963 | version "0.16.2" 964 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" 965 | dependencies: 966 | debug "2.6.9" 967 | depd "~1.1.2" 968 | destroy "~1.0.4" 969 | encodeurl "~1.0.2" 970 | escape-html "~1.0.3" 971 | etag "~1.8.1" 972 | fresh "0.5.2" 973 | http-errors "~1.6.2" 974 | mime "1.4.1" 975 | ms "2.0.0" 976 | on-finished "~2.3.0" 977 | range-parser "~1.2.0" 978 | statuses "~1.4.0" 979 | 980 | serve-static@1.13.2: 981 | version "1.13.2" 982 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" 983 | dependencies: 984 | encodeurl "~1.0.2" 985 | escape-html "~1.0.3" 986 | parseurl "~1.3.2" 987 | send "0.16.2" 988 | 989 | setprototypeof@1.0.3: 990 | version "1.0.3" 991 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 992 | 993 | setprototypeof@1.1.0: 994 | version "1.1.0" 995 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 996 | 997 | setprototypeof@1.1.1: 998 | version "1.1.1" 999 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 1000 | 1001 | source-map-support@^0.5.1: 1002 | version "0.5.6" 1003 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" 1004 | dependencies: 1005 | buffer-from "^1.0.0" 1006 | source-map "^0.6.0" 1007 | 1008 | source-map@^0.6.0: 1009 | version "0.6.1" 1010 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1011 | 1012 | "statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2": 1013 | version "1.5.0" 1014 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1015 | 1016 | statuses@~1.4.0: 1017 | version "1.4.0" 1018 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 1019 | 1020 | streamsearch@0.1.2: 1021 | version "0.1.2" 1022 | resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" 1023 | 1024 | string_decoder@~0.10.x: 1025 | version "0.10.31" 1026 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" 1027 | 1028 | string_decoder@~1.1.1: 1029 | version "1.1.1" 1030 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1031 | dependencies: 1032 | safe-buffer "~5.1.0" 1033 | 1034 | subscriptions-transport-ws@^0.9.15: 1035 | version "0.9.15" 1036 | resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.15.tgz#68a8b7ba0037d8c489fb2f5a102d1494db297d0d" 1037 | dependencies: 1038 | backo2 "^1.0.2" 1039 | eventemitter3 "^3.1.0" 1040 | iterall "^1.2.1" 1041 | symbol-observable "^1.0.4" 1042 | ws "^5.2.0" 1043 | 1044 | subscriptions-transport-ws@^0.9.8: 1045 | version "0.9.11" 1046 | resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.11.tgz#76e9dd7ec1bd0aa0331eca9b7074e66ce626d13a" 1047 | dependencies: 1048 | backo2 "^1.0.2" 1049 | eventemitter3 "^3.1.0" 1050 | iterall "^1.2.1" 1051 | lodash.assign "^4.2.0" 1052 | lodash.isobject "^3.0.2" 1053 | lodash.isstring "^4.0.1" 1054 | symbol-observable "^1.0.4" 1055 | ws "^5.2.0" 1056 | 1057 | symbol-observable@^1.0.4: 1058 | version "1.2.0" 1059 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" 1060 | 1061 | toidentifier@1.0.0: 1062 | version "1.0.0" 1063 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 1064 | 1065 | tough-cookie@^2.0.0: 1066 | version "2.4.3" 1067 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" 1068 | dependencies: 1069 | psl "^1.1.24" 1070 | punycode "^1.4.1" 1071 | 1072 | type-is@~1.6.15, type-is@~1.6.16: 1073 | version "1.6.16" 1074 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" 1075 | dependencies: 1076 | media-typer "0.3.0" 1077 | mime-types "~2.1.18" 1078 | 1079 | typedarray@^0.0.6: 1080 | version "0.0.6" 1081 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 1082 | 1083 | unpipe@1.0.0, unpipe@~1.0.0: 1084 | version "1.0.0" 1085 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1086 | 1087 | uppercamelcase@^3.0.0: 1088 | version "3.0.0" 1089 | resolved "https://registry.yarnpkg.com/uppercamelcase/-/uppercamelcase-3.0.0.tgz#380b321b8d73cba16fec4d752a575152d1ef7317" 1090 | dependencies: 1091 | camelcase "^4.1.0" 1092 | 1093 | util-deprecate@~1.0.1: 1094 | version "1.0.2" 1095 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1096 | 1097 | utils-merge@1.0.1: 1098 | version "1.0.1" 1099 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1100 | 1101 | uuid@^3.1.0: 1102 | version "3.2.1" 1103 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" 1104 | 1105 | vary@^1, vary@~1.1.2: 1106 | version "1.1.2" 1107 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1108 | 1109 | whatwg-fetch@2.0.4: 1110 | version "2.0.4" 1111 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" 1112 | 1113 | ws@^5.2.0: 1114 | version "5.2.0" 1115 | resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.0.tgz#9fd95e3ac7c76f6ae8bcc868a0e3f11f1290c33e" 1116 | dependencies: 1117 | async-limiter "~1.0.0" 1118 | 1119 | ws@^6.1.0: 1120 | version "6.1.0" 1121 | resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.0.tgz#119a9dbf92c54e190ec18d10e871d55c95cf9373" 1122 | dependencies: 1123 | async-limiter "~1.0.0" 1124 | 1125 | zen-observable-ts@^0.8.10: 1126 | version "0.8.10" 1127 | resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.10.tgz#18e2ce1c89fe026e9621fd83cc05168228fce829" 1128 | dependencies: 1129 | zen-observable "^0.8.0" 1130 | 1131 | zen-observable@^0.8.0: 1132 | version "0.8.8" 1133 | resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.8.tgz#1ea93995bf098754a58215a1e0a7309e5749ec42" 1134 | 1135 | zen-observable@^0.8.10: 1136 | version "0.8.10" 1137 | resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.10.tgz#85ad75d41fed82e5b4651bd64ca117b2af960182" 1138 | --------------------------------------------------------------------------------