diff --git a/.prettierignore b/.prettierignore index 3568c2973..13598d0c8 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,3 +6,4 @@ node_modules tsconfig.json .vscode coverage +graphql-types.ts \ No newline at end of file diff --git a/__tests__/components/toggle.test.tsx b/__tests__/components/toggle.test.tsx new file mode 100644 index 000000000..63f934088 --- /dev/null +++ b/__tests__/components/toggle.test.tsx @@ -0,0 +1,32 @@ +import * as React from 'react'; +import { render, screen } from '../utils'; +import userEvent from '@testing-library/user-event'; +import Toggle from '../../src/components/toggle'; +import { ThemeContext } from '../../src/components/layout'; + +const mockedSetPreferredTheme = jest.fn(); + +beforeAll(() => { + window.__setPreferredTheme = mockedSetPreferredTheme; +}); + +describe('Toggle test', () => { + test('renders light to dark', () => { + render( + + + + ); + userEvent.click(screen.getByTestId('toggle')); + expect(mockedSetPreferredTheme).toHaveBeenCalledWith('dark'); + }); + test('renders dark to light', () => { + render( + + + + ); + userEvent.click(screen.getByTestId('toggle')); + expect(mockedSetPreferredTheme).toHaveBeenCalledWith('light'); + }); +}); diff --git a/gatsby-config.js b/gatsby-config.js index 874532afd..c43469640 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -28,6 +28,16 @@ const config = { commit: process.env.VERCEL_GITHUB_COMMIT_SHA || `main`, }, plugins: [ + { + resolve: `gatsby-plugin-graphql-codegen`, + options: { + documentPaths: [ + './src/**/!(*.d).{js,jsx,ts,tsx}', + './.cache/fragments/*.js', + './node_modules/gatsby-*/**/*.js', + ], + }, + }, `@pauliescanlon/gatsby-mdx-embed`, { resolve: `gatsby-source-filesystem`, diff --git a/graphql-types.ts b/graphql-types.ts new file mode 100644 index 000000000..a625d02d0 --- /dev/null +++ b/graphql-types.ts @@ -0,0 +1,3820 @@ +export type Maybe = T | null; +export type Exact = { [K in keyof T]: T[K] }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: string; + String: string; + Boolean: boolean; + Int: number; + Float: number; + /** + * A date string, such as 2007-12-03, compliant with the ISO 8601 standard for + * representation of dates and times using the Gregorian calendar. + */ + Date: any; + /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ + JSON: any; +}; + + + + + + + + + + + +export type BooleanQueryOperatorInput = { + eq?: Maybe; + ne?: Maybe; + in?: Maybe>>; + nin?: Maybe>>; +}; + + +export type DateQueryOperatorInput = { + eq?: Maybe; + ne?: Maybe; + gt?: Maybe; + gte?: Maybe; + lt?: Maybe; + lte?: Maybe; + in?: Maybe>>; + nin?: Maybe>>; +}; + +export type Directory = Node & { + sourceInstanceName: Scalars['String']; + absolutePath: Scalars['String']; + relativePath: Scalars['String']; + extension: Scalars['String']; + size: Scalars['Int']; + prettySize: Scalars['String']; + modifiedTime: Scalars['Date']; + accessTime: Scalars['Date']; + changeTime: Scalars['Date']; + birthTime: Scalars['Date']; + root: Scalars['String']; + dir: Scalars['String']; + base: Scalars['String']; + ext: Scalars['String']; + name: Scalars['String']; + relativeDirectory: Scalars['String']; + dev: Scalars['Int']; + mode: Scalars['Int']; + nlink: Scalars['Int']; + uid: Scalars['Int']; + gid: Scalars['Int']; + rdev: Scalars['Int']; + ino: Scalars['Float']; + atimeMs: Scalars['Float']; + mtimeMs: Scalars['Float']; + ctimeMs: Scalars['Float']; + atime: Scalars['Date']; + mtime: Scalars['Date']; + ctime: Scalars['Date']; + /** @deprecated Use `birthTime` instead */ + birthtime?: Maybe; + /** @deprecated Use `birthTime` instead */ + birthtimeMs?: Maybe; + blksize?: Maybe; + blocks?: Maybe; + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; +}; + + +export type DirectoryModifiedTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type DirectoryAccessTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type DirectoryChangeTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type DirectoryBirthTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type DirectoryAtimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type DirectoryMtimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type DirectoryCtimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + +export type DirectoryConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type DirectoryConnectionDistinctArgs = { + field: DirectoryFieldsEnum; +}; + + +export type DirectoryConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: DirectoryFieldsEnum; +}; + +export type DirectoryEdge = { + next?: Maybe; + node: Directory; + previous?: Maybe; +}; + +export type DirectoryFieldsEnum = + | 'sourceInstanceName' + | 'absolutePath' + | 'relativePath' + | 'extension' + | 'size' + | 'prettySize' + | 'modifiedTime' + | 'accessTime' + | 'changeTime' + | 'birthTime' + | 'root' + | 'dir' + | 'base' + | 'ext' + | 'name' + | 'relativeDirectory' + | 'dev' + | 'mode' + | 'nlink' + | 'uid' + | 'gid' + | 'rdev' + | 'ino' + | 'atimeMs' + | 'mtimeMs' + | 'ctimeMs' + | 'atime' + | 'mtime' + | 'ctime' + | 'birthtime' + | 'birthtimeMs' + | 'blksize' + | 'blocks' + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type'; + +export type DirectoryFilterInput = { + sourceInstanceName?: Maybe; + absolutePath?: Maybe; + relativePath?: Maybe; + extension?: Maybe; + size?: Maybe; + prettySize?: Maybe; + modifiedTime?: Maybe; + accessTime?: Maybe; + changeTime?: Maybe; + birthTime?: Maybe; + root?: Maybe; + dir?: Maybe; + base?: Maybe; + ext?: Maybe; + name?: Maybe; + relativeDirectory?: Maybe; + dev?: Maybe; + mode?: Maybe; + nlink?: Maybe; + uid?: Maybe; + gid?: Maybe; + rdev?: Maybe; + ino?: Maybe; + atimeMs?: Maybe; + mtimeMs?: Maybe; + ctimeMs?: Maybe; + atime?: Maybe; + mtime?: Maybe; + ctime?: Maybe; + birthtime?: Maybe; + birthtimeMs?: Maybe; + blksize?: Maybe; + blocks?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; +}; + +export type DirectoryGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type DirectorySortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type DuotoneGradient = { + highlight: Scalars['String']; + shadow: Scalars['String']; + opacity?: Maybe; +}; + +export type File = Node & { + sourceInstanceName: Scalars['String']; + absolutePath: Scalars['String']; + relativePath: Scalars['String']; + extension: Scalars['String']; + size: Scalars['Int']; + prettySize: Scalars['String']; + modifiedTime: Scalars['Date']; + accessTime: Scalars['Date']; + changeTime: Scalars['Date']; + birthTime: Scalars['Date']; + root: Scalars['String']; + dir: Scalars['String']; + base: Scalars['String']; + ext: Scalars['String']; + name: Scalars['String']; + relativeDirectory: Scalars['String']; + dev: Scalars['Int']; + mode: Scalars['Int']; + nlink: Scalars['Int']; + uid: Scalars['Int']; + gid: Scalars['Int']; + rdev: Scalars['Int']; + ino: Scalars['Float']; + atimeMs: Scalars['Float']; + mtimeMs: Scalars['Float']; + ctimeMs: Scalars['Float']; + atime: Scalars['Date']; + mtime: Scalars['Date']; + ctime: Scalars['Date']; + /** @deprecated Use `birthTime` instead */ + birthtime?: Maybe; + /** @deprecated Use `birthTime` instead */ + birthtimeMs?: Maybe; + blksize?: Maybe; + blocks?: Maybe; + /** Copy file to static directory and return public url to it */ + publicURL?: Maybe; + childImageSharp?: Maybe; + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; + childMdx?: Maybe; +}; + + +export type FileModifiedTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type FileAccessTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type FileChangeTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type FileBirthTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type FileAtimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type FileMtimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + + +export type FileCtimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + +export type FileConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type FileConnectionDistinctArgs = { + field: FileFieldsEnum; +}; + + +export type FileConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: FileFieldsEnum; +}; + +export type FileEdge = { + next?: Maybe; + node: File; + previous?: Maybe; +}; + +export type FileFieldsEnum = + | 'sourceInstanceName' + | 'absolutePath' + | 'relativePath' + | 'extension' + | 'size' + | 'prettySize' + | 'modifiedTime' + | 'accessTime' + | 'changeTime' + | 'birthTime' + | 'root' + | 'dir' + | 'base' + | 'ext' + | 'name' + | 'relativeDirectory' + | 'dev' + | 'mode' + | 'nlink' + | 'uid' + | 'gid' + | 'rdev' + | 'ino' + | 'atimeMs' + | 'mtimeMs' + | 'ctimeMs' + | 'atime' + | 'mtime' + | 'ctime' + | 'birthtime' + | 'birthtimeMs' + | 'blksize' + | 'blocks' + | 'publicURL' + | 'childImageSharp___fixed___base64' + | 'childImageSharp___fixed___tracedSVG' + | 'childImageSharp___fixed___aspectRatio' + | 'childImageSharp___fixed___width' + | 'childImageSharp___fixed___height' + | 'childImageSharp___fixed___src' + | 'childImageSharp___fixed___srcSet' + | 'childImageSharp___fixed___srcWebp' + | 'childImageSharp___fixed___srcSetWebp' + | 'childImageSharp___fixed___originalName' + | 'childImageSharp___resolutions___base64' + | 'childImageSharp___resolutions___tracedSVG' + | 'childImageSharp___resolutions___aspectRatio' + | 'childImageSharp___resolutions___width' + | 'childImageSharp___resolutions___height' + | 'childImageSharp___resolutions___src' + | 'childImageSharp___resolutions___srcSet' + | 'childImageSharp___resolutions___srcWebp' + | 'childImageSharp___resolutions___srcSetWebp' + | 'childImageSharp___resolutions___originalName' + | 'childImageSharp___fluid___base64' + | 'childImageSharp___fluid___tracedSVG' + | 'childImageSharp___fluid___aspectRatio' + | 'childImageSharp___fluid___src' + | 'childImageSharp___fluid___srcSet' + | 'childImageSharp___fluid___srcWebp' + | 'childImageSharp___fluid___srcSetWebp' + | 'childImageSharp___fluid___sizes' + | 'childImageSharp___fluid___originalImg' + | 'childImageSharp___fluid___originalName' + | 'childImageSharp___fluid___presentationWidth' + | 'childImageSharp___fluid___presentationHeight' + | 'childImageSharp___sizes___base64' + | 'childImageSharp___sizes___tracedSVG' + | 'childImageSharp___sizes___aspectRatio' + | 'childImageSharp___sizes___src' + | 'childImageSharp___sizes___srcSet' + | 'childImageSharp___sizes___srcWebp' + | 'childImageSharp___sizes___srcSetWebp' + | 'childImageSharp___sizes___sizes' + | 'childImageSharp___sizes___originalImg' + | 'childImageSharp___sizes___originalName' + | 'childImageSharp___sizes___presentationWidth' + | 'childImageSharp___sizes___presentationHeight' + | 'childImageSharp___original___width' + | 'childImageSharp___original___height' + | 'childImageSharp___original___src' + | 'childImageSharp___resize___src' + | 'childImageSharp___resize___tracedSVG' + | 'childImageSharp___resize___width' + | 'childImageSharp___resize___height' + | 'childImageSharp___resize___aspectRatio' + | 'childImageSharp___resize___originalName' + | 'childImageSharp___id' + | 'childImageSharp___parent___id' + | 'childImageSharp___parent___parent___id' + | 'childImageSharp___parent___parent___children' + | 'childImageSharp___parent___children' + | 'childImageSharp___parent___children___id' + | 'childImageSharp___parent___children___children' + | 'childImageSharp___parent___internal___content' + | 'childImageSharp___parent___internal___contentDigest' + | 'childImageSharp___parent___internal___description' + | 'childImageSharp___parent___internal___fieldOwners' + | 'childImageSharp___parent___internal___ignoreType' + | 'childImageSharp___parent___internal___mediaType' + | 'childImageSharp___parent___internal___owner' + | 'childImageSharp___parent___internal___type' + | 'childImageSharp___children' + | 'childImageSharp___children___id' + | 'childImageSharp___children___parent___id' + | 'childImageSharp___children___parent___children' + | 'childImageSharp___children___children' + | 'childImageSharp___children___children___id' + | 'childImageSharp___children___children___children' + | 'childImageSharp___children___internal___content' + | 'childImageSharp___children___internal___contentDigest' + | 'childImageSharp___children___internal___description' + | 'childImageSharp___children___internal___fieldOwners' + | 'childImageSharp___children___internal___ignoreType' + | 'childImageSharp___children___internal___mediaType' + | 'childImageSharp___children___internal___owner' + | 'childImageSharp___children___internal___type' + | 'childImageSharp___internal___content' + | 'childImageSharp___internal___contentDigest' + | 'childImageSharp___internal___description' + | 'childImageSharp___internal___fieldOwners' + | 'childImageSharp___internal___ignoreType' + | 'childImageSharp___internal___mediaType' + | 'childImageSharp___internal___owner' + | 'childImageSharp___internal___type' + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type' + | 'childMdx___rawBody' + | 'childMdx___fileAbsolutePath' + | 'childMdx___frontmatter___title' + | 'childMdx___frontmatter___date' + | 'childMdx___frontmatter___spoiler' + | 'childMdx___frontmatter___draft' + | 'childMdx___frontmatter___keywords' + | 'childMdx___slug' + | 'childMdx___body' + | 'childMdx___excerpt' + | 'childMdx___headings' + | 'childMdx___headings___value' + | 'childMdx___headings___depth' + | 'childMdx___html' + | 'childMdx___mdxAST' + | 'childMdx___tableOfContents' + | 'childMdx___timeToRead' + | 'childMdx___wordCount___paragraphs' + | 'childMdx___wordCount___sentences' + | 'childMdx___wordCount___words' + | 'childMdx___fields___slug' + | 'childMdx___id' + | 'childMdx___parent___id' + | 'childMdx___parent___parent___id' + | 'childMdx___parent___parent___children' + | 'childMdx___parent___children' + | 'childMdx___parent___children___id' + | 'childMdx___parent___children___children' + | 'childMdx___parent___internal___content' + | 'childMdx___parent___internal___contentDigest' + | 'childMdx___parent___internal___description' + | 'childMdx___parent___internal___fieldOwners' + | 'childMdx___parent___internal___ignoreType' + | 'childMdx___parent___internal___mediaType' + | 'childMdx___parent___internal___owner' + | 'childMdx___parent___internal___type' + | 'childMdx___children' + | 'childMdx___children___id' + | 'childMdx___children___parent___id' + | 'childMdx___children___parent___children' + | 'childMdx___children___children' + | 'childMdx___children___children___id' + | 'childMdx___children___children___children' + | 'childMdx___children___internal___content' + | 'childMdx___children___internal___contentDigest' + | 'childMdx___children___internal___description' + | 'childMdx___children___internal___fieldOwners' + | 'childMdx___children___internal___ignoreType' + | 'childMdx___children___internal___mediaType' + | 'childMdx___children___internal___owner' + | 'childMdx___children___internal___type' + | 'childMdx___internal___content' + | 'childMdx___internal___contentDigest' + | 'childMdx___internal___description' + | 'childMdx___internal___fieldOwners' + | 'childMdx___internal___ignoreType' + | 'childMdx___internal___mediaType' + | 'childMdx___internal___owner' + | 'childMdx___internal___type' + | 'childMdx___childrenGrvscCodeBlock' + | 'childMdx___childrenGrvscCodeBlock___id' + | 'childMdx___childrenGrvscCodeBlock___parent___id' + | 'childMdx___childrenGrvscCodeBlock___parent___children' + | 'childMdx___childrenGrvscCodeBlock___children' + | 'childMdx___childrenGrvscCodeBlock___children___id' + | 'childMdx___childrenGrvscCodeBlock___children___children' + | 'childMdx___childrenGrvscCodeBlock___internal___content' + | 'childMdx___childrenGrvscCodeBlock___internal___contentDigest' + | 'childMdx___childrenGrvscCodeBlock___internal___description' + | 'childMdx___childrenGrvscCodeBlock___internal___fieldOwners' + | 'childMdx___childrenGrvscCodeBlock___internal___ignoreType' + | 'childMdx___childrenGrvscCodeBlock___internal___mediaType' + | 'childMdx___childrenGrvscCodeBlock___internal___owner' + | 'childMdx___childrenGrvscCodeBlock___internal___type' + | 'childMdx___childrenGrvscCodeBlock___index' + | 'childMdx___childrenGrvscCodeBlock___text' + | 'childMdx___childrenGrvscCodeBlock___html' + | 'childMdx___childrenGrvscCodeBlock___preClassName' + | 'childMdx___childrenGrvscCodeBlock___codeClassName' + | 'childMdx___childrenGrvscCodeBlock___language' + | 'childMdx___childrenGrvscCodeBlock___defaultTheme___identifier' + | 'childMdx___childrenGrvscCodeBlock___defaultTheme___path' + | 'childMdx___childrenGrvscCodeBlock___defaultTheme___conditions' + | 'childMdx___childrenGrvscCodeBlock___additionalThemes' + | 'childMdx___childrenGrvscCodeBlock___additionalThemes___identifier' + | 'childMdx___childrenGrvscCodeBlock___additionalThemes___path' + | 'childMdx___childrenGrvscCodeBlock___additionalThemes___conditions' + | 'childMdx___childrenGrvscCodeBlock___tokenizedLines' + | 'childMdx___childrenGrvscCodeBlock___tokenizedLines___text' + | 'childMdx___childrenGrvscCodeBlock___tokenizedLines___className' + | 'childMdx___childrenGrvscCodeBlock___tokenizedLines___tokens' + | 'childMdx___childrenGrvscCodeBlock___tokenizedLines___html'; + +export type FileFilterInput = { + sourceInstanceName?: Maybe; + absolutePath?: Maybe; + relativePath?: Maybe; + extension?: Maybe; + size?: Maybe; + prettySize?: Maybe; + modifiedTime?: Maybe; + accessTime?: Maybe; + changeTime?: Maybe; + birthTime?: Maybe; + root?: Maybe; + dir?: Maybe; + base?: Maybe; + ext?: Maybe; + name?: Maybe; + relativeDirectory?: Maybe; + dev?: Maybe; + mode?: Maybe; + nlink?: Maybe; + uid?: Maybe; + gid?: Maybe; + rdev?: Maybe; + ino?: Maybe; + atimeMs?: Maybe; + mtimeMs?: Maybe; + ctimeMs?: Maybe; + atime?: Maybe; + mtime?: Maybe; + ctime?: Maybe; + birthtime?: Maybe; + birthtimeMs?: Maybe; + blksize?: Maybe; + blocks?: Maybe; + publicURL?: Maybe; + childImageSharp?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + childMdx?: Maybe; +}; + +export type FileGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type FileSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type FloatQueryOperatorInput = { + eq?: Maybe; + ne?: Maybe; + gt?: Maybe; + gte?: Maybe; + lt?: Maybe; + lte?: Maybe; + in?: Maybe>>; + nin?: Maybe>>; +}; + +export type GoodreadsShelf = Node & { + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; + shelfName?: Maybe; + reviews?: Maybe>>; +}; + +export type GoodreadsShelfConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type GoodreadsShelfConnectionDistinctArgs = { + field: GoodreadsShelfFieldsEnum; +}; + + +export type GoodreadsShelfConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: GoodreadsShelfFieldsEnum; +}; + +export type GoodreadsShelfEdge = { + next?: Maybe; + node: GoodreadsShelf; + previous?: Maybe; +}; + +export type GoodreadsShelfFieldsEnum = + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type' + | 'shelfName' + | 'reviews' + | 'reviews___reviewID' + | 'reviews___rating' + | 'reviews___votes' + | 'reviews___spoilerFlag' + | 'reviews___spoilersState' + | 'reviews___dateAdded' + | 'reviews___dateUpdated' + | 'reviews___body' + | 'reviews___book___bookID' + | 'reviews___book___isbn' + | 'reviews___book___isbn13' + | 'reviews___book___textReviewsCount' + | 'reviews___book___uri' + | 'reviews___book___link' + | 'reviews___book___title' + | 'reviews___book___titleWithoutSeries' + | 'reviews___book___imageUrl' + | 'reviews___book___smallImageUrl' + | 'reviews___book___largeImageUrl' + | 'reviews___book___description'; + +export type GoodreadsShelfFilterInput = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + shelfName?: Maybe; + reviews?: Maybe; +}; + +export type GoodreadsShelfGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type GoodreadsShelfReviews = { + reviewID?: Maybe; + rating?: Maybe; + votes?: Maybe; + spoilerFlag?: Maybe; + spoilersState?: Maybe; + dateAdded?: Maybe; + dateUpdated?: Maybe; + body?: Maybe; + book?: Maybe; +}; + +export type GoodreadsShelfReviewsBook = { + bookID?: Maybe; + isbn?: Maybe; + isbn13?: Maybe; + textReviewsCount?: Maybe; + uri?: Maybe; + link?: Maybe; + title?: Maybe; + titleWithoutSeries?: Maybe; + imageUrl?: Maybe; + smallImageUrl?: Maybe; + largeImageUrl?: Maybe; + description?: Maybe; +}; + +export type GoodreadsShelfReviewsBookFilterInput = { + bookID?: Maybe; + isbn?: Maybe; + isbn13?: Maybe; + textReviewsCount?: Maybe; + uri?: Maybe; + link?: Maybe; + title?: Maybe; + titleWithoutSeries?: Maybe; + imageUrl?: Maybe; + smallImageUrl?: Maybe; + largeImageUrl?: Maybe; + description?: Maybe; +}; + +export type GoodreadsShelfReviewsFilterInput = { + reviewID?: Maybe; + rating?: Maybe; + votes?: Maybe; + spoilerFlag?: Maybe; + spoilersState?: Maybe; + dateAdded?: Maybe; + dateUpdated?: Maybe; + body?: Maybe; + book?: Maybe; +}; + +export type GoodreadsShelfReviewsFilterListInput = { + elemMatch?: Maybe; +}; + +export type GoodreadsShelfSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type GrvscCodeBlock = Node & { + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; + index?: Maybe; + text?: Maybe; + html?: Maybe; + preClassName?: Maybe; + codeClassName?: Maybe; + language?: Maybe; + defaultTheme?: Maybe; + additionalThemes?: Maybe>>; + tokenizedLines?: Maybe>>; +}; + +export type GrvscCodeBlockAdditionalThemes = { + identifier?: Maybe; + path?: Maybe; + conditions?: Maybe>>; +}; + +export type GrvscCodeBlockAdditionalThemesConditions = { + condition?: Maybe; + value?: Maybe; +}; + +export type GrvscCodeBlockAdditionalThemesConditionsFilterInput = { + condition?: Maybe; + value?: Maybe; +}; + +export type GrvscCodeBlockAdditionalThemesConditionsFilterListInput = { + elemMatch?: Maybe; +}; + +export type GrvscCodeBlockAdditionalThemesFilterInput = { + identifier?: Maybe; + path?: Maybe; + conditions?: Maybe; +}; + +export type GrvscCodeBlockAdditionalThemesFilterListInput = { + elemMatch?: Maybe; +}; + +export type GrvscCodeBlockConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type GrvscCodeBlockConnectionDistinctArgs = { + field: GrvscCodeBlockFieldsEnum; +}; + + +export type GrvscCodeBlockConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: GrvscCodeBlockFieldsEnum; +}; + +export type GrvscCodeBlockDefaultTheme = { + identifier?: Maybe; + path?: Maybe; + conditions?: Maybe>>; +}; + +export type GrvscCodeBlockDefaultThemeConditions = { + condition?: Maybe; + value?: Maybe; +}; + +export type GrvscCodeBlockDefaultThemeConditionsFilterInput = { + condition?: Maybe; + value?: Maybe; +}; + +export type GrvscCodeBlockDefaultThemeConditionsFilterListInput = { + elemMatch?: Maybe; +}; + +export type GrvscCodeBlockDefaultThemeFilterInput = { + identifier?: Maybe; + path?: Maybe; + conditions?: Maybe; +}; + +export type GrvscCodeBlockEdge = { + next?: Maybe; + node: GrvscCodeBlock; + previous?: Maybe; +}; + +export type GrvscCodeBlockFieldsEnum = + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type' + | 'index' + | 'text' + | 'html' + | 'preClassName' + | 'codeClassName' + | 'language' + | 'defaultTheme___identifier' + | 'defaultTheme___path' + | 'defaultTheme___conditions' + | 'defaultTheme___conditions___condition' + | 'defaultTheme___conditions___value' + | 'additionalThemes' + | 'additionalThemes___identifier' + | 'additionalThemes___path' + | 'additionalThemes___conditions' + | 'additionalThemes___conditions___condition' + | 'additionalThemes___conditions___value' + | 'tokenizedLines' + | 'tokenizedLines___text' + | 'tokenizedLines___className' + | 'tokenizedLines___tokens' + | 'tokenizedLines___tokens___text' + | 'tokenizedLines___tokens___startIndex' + | 'tokenizedLines___tokens___endIndex' + | 'tokenizedLines___tokens___scopes' + | 'tokenizedLines___tokens___defaultThemeTokenData___themeIdentifier' + | 'tokenizedLines___tokens___defaultThemeTokenData___className' + | 'tokenizedLines___tokens___defaultThemeTokenData___bold' + | 'tokenizedLines___tokens___defaultThemeTokenData___italic' + | 'tokenizedLines___tokens___defaultThemeTokenData___underline' + | 'tokenizedLines___tokens___defaultThemeTokenData___meta' + | 'tokenizedLines___tokens___defaultThemeTokenData___color' + | 'tokenizedLines___tokens___additionalThemeTokenData' + | 'tokenizedLines___tokens___additionalThemeTokenData___themeIdentifier' + | 'tokenizedLines___tokens___additionalThemeTokenData___className' + | 'tokenizedLines___tokens___additionalThemeTokenData___bold' + | 'tokenizedLines___tokens___additionalThemeTokenData___italic' + | 'tokenizedLines___tokens___additionalThemeTokenData___underline' + | 'tokenizedLines___tokens___additionalThemeTokenData___meta' + | 'tokenizedLines___tokens___additionalThemeTokenData___color' + | 'tokenizedLines___tokens___className' + | 'tokenizedLines___tokens___html' + | 'tokenizedLines___html'; + +export type GrvscCodeBlockFilterInput = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + index?: Maybe; + text?: Maybe; + html?: Maybe; + preClassName?: Maybe; + codeClassName?: Maybe; + language?: Maybe; + defaultTheme?: Maybe; + additionalThemes?: Maybe; + tokenizedLines?: Maybe; +}; + +export type GrvscCodeBlockFilterListInput = { + elemMatch?: Maybe; +}; + +export type GrvscCodeBlockGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type GrvscCodeBlockSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type GrvscCodeBlockTokenizedLines = { + text?: Maybe; + className?: Maybe; + tokens?: Maybe>>; + html?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesFilterInput = { + text?: Maybe; + className?: Maybe; + tokens?: Maybe; + html?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesFilterListInput = { + elemMatch?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesTokens = { + text?: Maybe; + startIndex?: Maybe; + endIndex?: Maybe; + scopes?: Maybe>>; + defaultThemeTokenData?: Maybe; + additionalThemeTokenData?: Maybe>>; + className?: Maybe; + html?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesTokensAdditionalThemeTokenData = { + themeIdentifier?: Maybe; + className?: Maybe; + bold?: Maybe; + italic?: Maybe; + underline?: Maybe; + meta?: Maybe; + color?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesTokensAdditionalThemeTokenDataFilterInput = { + themeIdentifier?: Maybe; + className?: Maybe; + bold?: Maybe; + italic?: Maybe; + underline?: Maybe; + meta?: Maybe; + color?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesTokensAdditionalThemeTokenDataFilterListInput = { + elemMatch?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesTokensDefaultThemeTokenData = { + themeIdentifier?: Maybe; + className?: Maybe; + bold?: Maybe; + italic?: Maybe; + underline?: Maybe; + meta?: Maybe; + color?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesTokensDefaultThemeTokenDataFilterInput = { + themeIdentifier?: Maybe; + className?: Maybe; + bold?: Maybe; + italic?: Maybe; + underline?: Maybe; + meta?: Maybe; + color?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesTokensFilterInput = { + text?: Maybe; + startIndex?: Maybe; + endIndex?: Maybe; + scopes?: Maybe; + defaultThemeTokenData?: Maybe; + additionalThemeTokenData?: Maybe; + className?: Maybe; + html?: Maybe; +}; + +export type GrvscCodeBlockTokenizedLinesTokensFilterListInput = { + elemMatch?: Maybe; +}; + +export type HeadingsMdx = + | 'h1' + | 'h2' + | 'h3' + | 'h4' + | 'h5' + | 'h6'; + +export type ImageCropFocus = + | 'CENTER' + | 'NORTH' + | 'NORTHEAST' + | 'EAST' + | 'SOUTHEAST' + | 'SOUTH' + | 'SOUTHWEST' + | 'WEST' + | 'NORTHWEST' + | 'ENTROPY' + | 'ATTENTION'; + +export type ImageFit = + | 'COVER' + | 'CONTAIN' + | 'FILL' + | 'INSIDE' + | 'OUTSIDE'; + +export type ImageFormat = + | 'NO_CHANGE' + | 'JPG' + | 'PNG' + | 'WEBP'; + +export type ImageSharp = Node & { + fixed?: Maybe; + /** @deprecated Resolutions was deprecated in Gatsby v2. It's been renamed to "fixed" https://example.com/write-docs-and-fix-this-example-link */ + resolutions?: Maybe; + fluid?: Maybe; + /** @deprecated Sizes was deprecated in Gatsby v2. It's been renamed to "fluid" https://example.com/write-docs-and-fix-this-example-link */ + sizes?: Maybe; + original?: Maybe; + resize?: Maybe; + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; +}; + + +export type ImageSharpFixedArgs = { + width?: Maybe; + height?: Maybe; + base64Width?: Maybe; + jpegProgressive?: Maybe; + pngCompressionSpeed?: Maybe; + grayscale?: Maybe; + duotone?: Maybe; + traceSVG?: Maybe; + quality?: Maybe; + jpegQuality?: Maybe; + pngQuality?: Maybe; + webpQuality?: Maybe; + toFormat?: Maybe; + toFormatBase64?: Maybe; + cropFocus?: Maybe; + fit?: Maybe; + background?: Maybe; + rotate?: Maybe; + trim?: Maybe; +}; + + +export type ImageSharpResolutionsArgs = { + width?: Maybe; + height?: Maybe; + base64Width?: Maybe; + jpegProgressive?: Maybe; + pngCompressionSpeed?: Maybe; + grayscale?: Maybe; + duotone?: Maybe; + traceSVG?: Maybe; + quality?: Maybe; + jpegQuality?: Maybe; + pngQuality?: Maybe; + webpQuality?: Maybe; + toFormat?: Maybe; + toFormatBase64?: Maybe; + cropFocus?: Maybe; + fit?: Maybe; + background?: Maybe; + rotate?: Maybe; + trim?: Maybe; +}; + + +export type ImageSharpFluidArgs = { + maxWidth?: Maybe; + maxHeight?: Maybe; + base64Width?: Maybe; + grayscale?: Maybe; + jpegProgressive?: Maybe; + pngCompressionSpeed?: Maybe; + duotone?: Maybe; + traceSVG?: Maybe; + quality?: Maybe; + jpegQuality?: Maybe; + pngQuality?: Maybe; + webpQuality?: Maybe; + toFormat?: Maybe; + toFormatBase64?: Maybe; + cropFocus?: Maybe; + fit?: Maybe; + background?: Maybe; + rotate?: Maybe; + trim?: Maybe; + sizes?: Maybe; + srcSetBreakpoints?: Maybe>>; +}; + + +export type ImageSharpSizesArgs = { + maxWidth?: Maybe; + maxHeight?: Maybe; + base64Width?: Maybe; + grayscale?: Maybe; + jpegProgressive?: Maybe; + pngCompressionSpeed?: Maybe; + duotone?: Maybe; + traceSVG?: Maybe; + quality?: Maybe; + jpegQuality?: Maybe; + pngQuality?: Maybe; + webpQuality?: Maybe; + toFormat?: Maybe; + toFormatBase64?: Maybe; + cropFocus?: Maybe; + fit?: Maybe; + background?: Maybe; + rotate?: Maybe; + trim?: Maybe; + sizes?: Maybe; + srcSetBreakpoints?: Maybe>>; +}; + + +export type ImageSharpResizeArgs = { + width?: Maybe; + height?: Maybe; + quality?: Maybe; + jpegQuality?: Maybe; + pngQuality?: Maybe; + webpQuality?: Maybe; + jpegProgressive?: Maybe; + pngCompressionLevel?: Maybe; + pngCompressionSpeed?: Maybe; + grayscale?: Maybe; + duotone?: Maybe; + base64?: Maybe; + traceSVG?: Maybe; + toFormat?: Maybe; + cropFocus?: Maybe; + fit?: Maybe; + background?: Maybe; + rotate?: Maybe; + trim?: Maybe; +}; + +export type ImageSharpConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type ImageSharpConnectionDistinctArgs = { + field: ImageSharpFieldsEnum; +}; + + +export type ImageSharpConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: ImageSharpFieldsEnum; +}; + +export type ImageSharpEdge = { + next?: Maybe; + node: ImageSharp; + previous?: Maybe; +}; + +export type ImageSharpFieldsEnum = + | 'fixed___base64' + | 'fixed___tracedSVG' + | 'fixed___aspectRatio' + | 'fixed___width' + | 'fixed___height' + | 'fixed___src' + | 'fixed___srcSet' + | 'fixed___srcWebp' + | 'fixed___srcSetWebp' + | 'fixed___originalName' + | 'resolutions___base64' + | 'resolutions___tracedSVG' + | 'resolutions___aspectRatio' + | 'resolutions___width' + | 'resolutions___height' + | 'resolutions___src' + | 'resolutions___srcSet' + | 'resolutions___srcWebp' + | 'resolutions___srcSetWebp' + | 'resolutions___originalName' + | 'fluid___base64' + | 'fluid___tracedSVG' + | 'fluid___aspectRatio' + | 'fluid___src' + | 'fluid___srcSet' + | 'fluid___srcWebp' + | 'fluid___srcSetWebp' + | 'fluid___sizes' + | 'fluid___originalImg' + | 'fluid___originalName' + | 'fluid___presentationWidth' + | 'fluid___presentationHeight' + | 'sizes___base64' + | 'sizes___tracedSVG' + | 'sizes___aspectRatio' + | 'sizes___src' + | 'sizes___srcSet' + | 'sizes___srcWebp' + | 'sizes___srcSetWebp' + | 'sizes___sizes' + | 'sizes___originalImg' + | 'sizes___originalName' + | 'sizes___presentationWidth' + | 'sizes___presentationHeight' + | 'original___width' + | 'original___height' + | 'original___src' + | 'resize___src' + | 'resize___tracedSVG' + | 'resize___width' + | 'resize___height' + | 'resize___aspectRatio' + | 'resize___originalName' + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type'; + +export type ImageSharpFilterInput = { + fixed?: Maybe; + resolutions?: Maybe; + fluid?: Maybe; + sizes?: Maybe; + original?: Maybe; + resize?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; +}; + +export type ImageSharpFixed = { + base64?: Maybe; + tracedSVG?: Maybe; + aspectRatio?: Maybe; + width: Scalars['Float']; + height: Scalars['Float']; + src: Scalars['String']; + srcSet: Scalars['String']; + srcWebp?: Maybe; + srcSetWebp?: Maybe; + originalName?: Maybe; +}; + +export type ImageSharpFixedFilterInput = { + base64?: Maybe; + tracedSVG?: Maybe; + aspectRatio?: Maybe; + width?: Maybe; + height?: Maybe; + src?: Maybe; + srcSet?: Maybe; + srcWebp?: Maybe; + srcSetWebp?: Maybe; + originalName?: Maybe; +}; + +export type ImageSharpFluid = { + base64?: Maybe; + tracedSVG?: Maybe; + aspectRatio: Scalars['Float']; + src: Scalars['String']; + srcSet: Scalars['String']; + srcWebp?: Maybe; + srcSetWebp?: Maybe; + sizes: Scalars['String']; + originalImg?: Maybe; + originalName?: Maybe; + presentationWidth: Scalars['Int']; + presentationHeight: Scalars['Int']; +}; + +export type ImageSharpFluidFilterInput = { + base64?: Maybe; + tracedSVG?: Maybe; + aspectRatio?: Maybe; + src?: Maybe; + srcSet?: Maybe; + srcWebp?: Maybe; + srcSetWebp?: Maybe; + sizes?: Maybe; + originalImg?: Maybe; + originalName?: Maybe; + presentationWidth?: Maybe; + presentationHeight?: Maybe; +}; + +export type ImageSharpGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type ImageSharpOriginal = { + width?: Maybe; + height?: Maybe; + src?: Maybe; +}; + +export type ImageSharpOriginalFilterInput = { + width?: Maybe; + height?: Maybe; + src?: Maybe; +}; + +export type ImageSharpResize = { + src?: Maybe; + tracedSVG?: Maybe; + width?: Maybe; + height?: Maybe; + aspectRatio?: Maybe; + originalName?: Maybe; +}; + +export type ImageSharpResizeFilterInput = { + src?: Maybe; + tracedSVG?: Maybe; + width?: Maybe; + height?: Maybe; + aspectRatio?: Maybe; + originalName?: Maybe; +}; + +export type ImageSharpResolutions = { + base64?: Maybe; + tracedSVG?: Maybe; + aspectRatio?: Maybe; + width: Scalars['Float']; + height: Scalars['Float']; + src: Scalars['String']; + srcSet: Scalars['String']; + srcWebp?: Maybe; + srcSetWebp?: Maybe; + originalName?: Maybe; +}; + +export type ImageSharpResolutionsFilterInput = { + base64?: Maybe; + tracedSVG?: Maybe; + aspectRatio?: Maybe; + width?: Maybe; + height?: Maybe; + src?: Maybe; + srcSet?: Maybe; + srcWebp?: Maybe; + srcSetWebp?: Maybe; + originalName?: Maybe; +}; + +export type ImageSharpSizes = { + base64?: Maybe; + tracedSVG?: Maybe; + aspectRatio: Scalars['Float']; + src: Scalars['String']; + srcSet: Scalars['String']; + srcWebp?: Maybe; + srcSetWebp?: Maybe; + sizes: Scalars['String']; + originalImg?: Maybe; + originalName?: Maybe; + presentationWidth: Scalars['Int']; + presentationHeight: Scalars['Int']; +}; + +export type ImageSharpSizesFilterInput = { + base64?: Maybe; + tracedSVG?: Maybe; + aspectRatio?: Maybe; + src?: Maybe; + srcSet?: Maybe; + srcWebp?: Maybe; + srcSetWebp?: Maybe; + sizes?: Maybe; + originalImg?: Maybe; + originalName?: Maybe; + presentationWidth?: Maybe; + presentationHeight?: Maybe; +}; + +export type ImageSharpSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type Internal = { + content?: Maybe; + contentDigest: Scalars['String']; + description?: Maybe; + fieldOwners?: Maybe>>; + ignoreType?: Maybe; + mediaType?: Maybe; + owner: Scalars['String']; + type: Scalars['String']; +}; + +export type InternalFilterInput = { + content?: Maybe; + contentDigest?: Maybe; + description?: Maybe; + fieldOwners?: Maybe; + ignoreType?: Maybe; + mediaType?: Maybe; + owner?: Maybe; + type?: Maybe; +}; + +export type IntQueryOperatorInput = { + eq?: Maybe; + ne?: Maybe; + gt?: Maybe; + gte?: Maybe; + lt?: Maybe; + lte?: Maybe; + in?: Maybe>>; + nin?: Maybe>>; +}; + + +export type JsonQueryOperatorInput = { + eq?: Maybe; + ne?: Maybe; + in?: Maybe>>; + nin?: Maybe>>; + regex?: Maybe; + glob?: Maybe; +}; + +export type Mdx = Node & { + rawBody: Scalars['String']; + fileAbsolutePath: Scalars['String']; + frontmatter?: Maybe; + slug?: Maybe; + body: Scalars['String']; + excerpt: Scalars['String']; + headings?: Maybe>>; + html?: Maybe; + mdxAST?: Maybe; + tableOfContents?: Maybe; + timeToRead?: Maybe; + wordCount?: Maybe; + fields?: Maybe; + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; + childrenGrvscCodeBlock?: Maybe>>; +}; + + +export type MdxExcerptArgs = { + pruneLength?: Maybe; + truncate?: Maybe; +}; + + +export type MdxHeadingsArgs = { + depth?: Maybe; +}; + + +export type MdxTableOfContentsArgs = { + maxDepth?: Maybe; +}; + +export type MdxConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type MdxConnectionDistinctArgs = { + field: MdxFieldsEnum; +}; + + +export type MdxConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: MdxFieldsEnum; +}; + +export type MdxEdge = { + next?: Maybe; + node: Mdx; + previous?: Maybe; +}; + +export type MdxFields = { + slug?: Maybe; +}; + +export type MdxFieldsEnum = + | 'rawBody' + | 'fileAbsolutePath' + | 'frontmatter___title' + | 'frontmatter___date' + | 'frontmatter___spoiler' + | 'frontmatter___draft' + | 'frontmatter___keywords' + | 'slug' + | 'body' + | 'excerpt' + | 'headings' + | 'headings___value' + | 'headings___depth' + | 'html' + | 'mdxAST' + | 'tableOfContents' + | 'timeToRead' + | 'wordCount___paragraphs' + | 'wordCount___sentences' + | 'wordCount___words' + | 'fields___slug' + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type' + | 'childrenGrvscCodeBlock' + | 'childrenGrvscCodeBlock___id' + | 'childrenGrvscCodeBlock___parent___id' + | 'childrenGrvscCodeBlock___parent___parent___id' + | 'childrenGrvscCodeBlock___parent___parent___children' + | 'childrenGrvscCodeBlock___parent___children' + | 'childrenGrvscCodeBlock___parent___children___id' + | 'childrenGrvscCodeBlock___parent___children___children' + | 'childrenGrvscCodeBlock___parent___internal___content' + | 'childrenGrvscCodeBlock___parent___internal___contentDigest' + | 'childrenGrvscCodeBlock___parent___internal___description' + | 'childrenGrvscCodeBlock___parent___internal___fieldOwners' + | 'childrenGrvscCodeBlock___parent___internal___ignoreType' + | 'childrenGrvscCodeBlock___parent___internal___mediaType' + | 'childrenGrvscCodeBlock___parent___internal___owner' + | 'childrenGrvscCodeBlock___parent___internal___type' + | 'childrenGrvscCodeBlock___children' + | 'childrenGrvscCodeBlock___children___id' + | 'childrenGrvscCodeBlock___children___parent___id' + | 'childrenGrvscCodeBlock___children___parent___children' + | 'childrenGrvscCodeBlock___children___children' + | 'childrenGrvscCodeBlock___children___children___id' + | 'childrenGrvscCodeBlock___children___children___children' + | 'childrenGrvscCodeBlock___children___internal___content' + | 'childrenGrvscCodeBlock___children___internal___contentDigest' + | 'childrenGrvscCodeBlock___children___internal___description' + | 'childrenGrvscCodeBlock___children___internal___fieldOwners' + | 'childrenGrvscCodeBlock___children___internal___ignoreType' + | 'childrenGrvscCodeBlock___children___internal___mediaType' + | 'childrenGrvscCodeBlock___children___internal___owner' + | 'childrenGrvscCodeBlock___children___internal___type' + | 'childrenGrvscCodeBlock___internal___content' + | 'childrenGrvscCodeBlock___internal___contentDigest' + | 'childrenGrvscCodeBlock___internal___description' + | 'childrenGrvscCodeBlock___internal___fieldOwners' + | 'childrenGrvscCodeBlock___internal___ignoreType' + | 'childrenGrvscCodeBlock___internal___mediaType' + | 'childrenGrvscCodeBlock___internal___owner' + | 'childrenGrvscCodeBlock___internal___type' + | 'childrenGrvscCodeBlock___index' + | 'childrenGrvscCodeBlock___text' + | 'childrenGrvscCodeBlock___html' + | 'childrenGrvscCodeBlock___preClassName' + | 'childrenGrvscCodeBlock___codeClassName' + | 'childrenGrvscCodeBlock___language' + | 'childrenGrvscCodeBlock___defaultTheme___identifier' + | 'childrenGrvscCodeBlock___defaultTheme___path' + | 'childrenGrvscCodeBlock___defaultTheme___conditions' + | 'childrenGrvscCodeBlock___defaultTheme___conditions___condition' + | 'childrenGrvscCodeBlock___defaultTheme___conditions___value' + | 'childrenGrvscCodeBlock___additionalThemes' + | 'childrenGrvscCodeBlock___additionalThemes___identifier' + | 'childrenGrvscCodeBlock___additionalThemes___path' + | 'childrenGrvscCodeBlock___additionalThemes___conditions' + | 'childrenGrvscCodeBlock___additionalThemes___conditions___condition' + | 'childrenGrvscCodeBlock___additionalThemes___conditions___value' + | 'childrenGrvscCodeBlock___tokenizedLines' + | 'childrenGrvscCodeBlock___tokenizedLines___text' + | 'childrenGrvscCodeBlock___tokenizedLines___className' + | 'childrenGrvscCodeBlock___tokenizedLines___tokens' + | 'childrenGrvscCodeBlock___tokenizedLines___tokens___text' + | 'childrenGrvscCodeBlock___tokenizedLines___tokens___startIndex' + | 'childrenGrvscCodeBlock___tokenizedLines___tokens___endIndex' + | 'childrenGrvscCodeBlock___tokenizedLines___tokens___scopes' + | 'childrenGrvscCodeBlock___tokenizedLines___tokens___additionalThemeTokenData' + | 'childrenGrvscCodeBlock___tokenizedLines___tokens___className' + | 'childrenGrvscCodeBlock___tokenizedLines___tokens___html' + | 'childrenGrvscCodeBlock___tokenizedLines___html'; + +export type MdxFieldsFilterInput = { + slug?: Maybe; +}; + +export type MdxFilterInput = { + rawBody?: Maybe; + fileAbsolutePath?: Maybe; + frontmatter?: Maybe; + slug?: Maybe; + body?: Maybe; + excerpt?: Maybe; + headings?: Maybe; + html?: Maybe; + mdxAST?: Maybe; + tableOfContents?: Maybe; + timeToRead?: Maybe; + wordCount?: Maybe; + fields?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + childrenGrvscCodeBlock?: Maybe; +}; + +export type MdxFrontmatter = { + title: Scalars['String']; + date?: Maybe; + spoiler?: Maybe; + draft?: Maybe; + keywords?: Maybe>>; +}; + + +export type MdxFrontmatterDateArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + +export type MdxFrontmatterFilterInput = { + title?: Maybe; + date?: Maybe; + spoiler?: Maybe; + draft?: Maybe; + keywords?: Maybe; +}; + +export type MdxGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type MdxHeadingMdx = { + value?: Maybe; + depth?: Maybe; +}; + +export type MdxHeadingMdxFilterInput = { + value?: Maybe; + depth?: Maybe; +}; + +export type MdxHeadingMdxFilterListInput = { + elemMatch?: Maybe; +}; + +export type MdxSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type MdxWordCount = { + paragraphs?: Maybe; + sentences?: Maybe; + words?: Maybe; +}; + +export type MdxWordCountFilterInput = { + paragraphs?: Maybe; + sentences?: Maybe; + words?: Maybe; +}; + +/** Node Interface */ +export type Node = { + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; +}; + +export type NodeFilterInput = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; +}; + +export type NodeFilterListInput = { + elemMatch?: Maybe; +}; + +export type PageInfo = { + currentPage: Scalars['Int']; + hasPreviousPage: Scalars['Boolean']; + hasNextPage: Scalars['Boolean']; + itemCount: Scalars['Int']; + pageCount: Scalars['Int']; + perPage?: Maybe; + totalCount: Scalars['Int']; +}; + +export type Potrace = { + turnPolicy?: Maybe; + turdSize?: Maybe; + alphaMax?: Maybe; + optCurve?: Maybe; + optTolerance?: Maybe; + threshold?: Maybe; + blackOnWhite?: Maybe; + color?: Maybe; + background?: Maybe; +}; + +export type PotraceTurnPolicy = + | 'TURNPOLICY_BLACK' + | 'TURNPOLICY_WHITE' + | 'TURNPOLICY_LEFT' + | 'TURNPOLICY_RIGHT' + | 'TURNPOLICY_MINORITY' + | 'TURNPOLICY_MAJORITY'; + +export type Query = { + file?: Maybe; + allFile: FileConnection; + directory?: Maybe; + allDirectory: DirectoryConnection; + site?: Maybe; + allSite: SiteConnection; + sitePage?: Maybe; + allSitePage: SitePageConnection; + imageSharp?: Maybe; + allImageSharp: ImageSharpConnection; + mdx?: Maybe; + allMdx: MdxConnection; + goodreadsShelf?: Maybe; + allGoodreadsShelf: GoodreadsShelfConnection; + grvscCodeBlock?: Maybe; + allGrvscCodeBlock: GrvscCodeBlockConnection; + siteBuildMetadata?: Maybe; + allSiteBuildMetadata: SiteBuildMetadataConnection; + sitePlugin?: Maybe; + allSitePlugin: SitePluginConnection; +}; + + +export type QueryFileArgs = { + sourceInstanceName?: Maybe; + absolutePath?: Maybe; + relativePath?: Maybe; + extension?: Maybe; + size?: Maybe; + prettySize?: Maybe; + modifiedTime?: Maybe; + accessTime?: Maybe; + changeTime?: Maybe; + birthTime?: Maybe; + root?: Maybe; + dir?: Maybe; + base?: Maybe; + ext?: Maybe; + name?: Maybe; + relativeDirectory?: Maybe; + dev?: Maybe; + mode?: Maybe; + nlink?: Maybe; + uid?: Maybe; + gid?: Maybe; + rdev?: Maybe; + ino?: Maybe; + atimeMs?: Maybe; + mtimeMs?: Maybe; + ctimeMs?: Maybe; + atime?: Maybe; + mtime?: Maybe; + ctime?: Maybe; + birthtime?: Maybe; + birthtimeMs?: Maybe; + blksize?: Maybe; + blocks?: Maybe; + publicURL?: Maybe; + childImageSharp?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + childMdx?: Maybe; +}; + + +export type QueryAllFileArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QueryDirectoryArgs = { + sourceInstanceName?: Maybe; + absolutePath?: Maybe; + relativePath?: Maybe; + extension?: Maybe; + size?: Maybe; + prettySize?: Maybe; + modifiedTime?: Maybe; + accessTime?: Maybe; + changeTime?: Maybe; + birthTime?: Maybe; + root?: Maybe; + dir?: Maybe; + base?: Maybe; + ext?: Maybe; + name?: Maybe; + relativeDirectory?: Maybe; + dev?: Maybe; + mode?: Maybe; + nlink?: Maybe; + uid?: Maybe; + gid?: Maybe; + rdev?: Maybe; + ino?: Maybe; + atimeMs?: Maybe; + mtimeMs?: Maybe; + ctimeMs?: Maybe; + atime?: Maybe; + mtime?: Maybe; + ctime?: Maybe; + birthtime?: Maybe; + birthtimeMs?: Maybe; + blksize?: Maybe; + blocks?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; +}; + + +export type QueryAllDirectoryArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QuerySiteArgs = { + buildTime?: Maybe; + siteMetadata?: Maybe; + port?: Maybe; + host?: Maybe; + polyfill?: Maybe; + pathPrefix?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; +}; + + +export type QueryAllSiteArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QuerySitePageArgs = { + path?: Maybe; + component?: Maybe; + internalComponentName?: Maybe; + componentChunkName?: Maybe; + matchPath?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + isCreatedByStatefulCreatePages?: Maybe; + context?: Maybe; + pluginCreator?: Maybe; + pluginCreatorId?: Maybe; + componentPath?: Maybe; +}; + + +export type QueryAllSitePageArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QueryImageSharpArgs = { + fixed?: Maybe; + resolutions?: Maybe; + fluid?: Maybe; + sizes?: Maybe; + original?: Maybe; + resize?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; +}; + + +export type QueryAllImageSharpArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QueryMdxArgs = { + rawBody?: Maybe; + fileAbsolutePath?: Maybe; + frontmatter?: Maybe; + slug?: Maybe; + body?: Maybe; + excerpt?: Maybe; + headings?: Maybe; + html?: Maybe; + mdxAST?: Maybe; + tableOfContents?: Maybe; + timeToRead?: Maybe; + wordCount?: Maybe; + fields?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + childrenGrvscCodeBlock?: Maybe; +}; + + +export type QueryAllMdxArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QueryGoodreadsShelfArgs = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + shelfName?: Maybe; + reviews?: Maybe; +}; + + +export type QueryAllGoodreadsShelfArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QueryGrvscCodeBlockArgs = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + index?: Maybe; + text?: Maybe; + html?: Maybe; + preClassName?: Maybe; + codeClassName?: Maybe; + language?: Maybe; + defaultTheme?: Maybe; + additionalThemes?: Maybe; + tokenizedLines?: Maybe; +}; + + +export type QueryAllGrvscCodeBlockArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QuerySiteBuildMetadataArgs = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + buildTime?: Maybe; +}; + + +export type QueryAllSiteBuildMetadataArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + + +export type QuerySitePluginArgs = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + resolve?: Maybe; + name?: Maybe; + version?: Maybe; + pluginOptions?: Maybe; + nodeAPIs?: Maybe; + browserAPIs?: Maybe; + ssrAPIs?: Maybe; + pluginFilepath?: Maybe; + packageJson?: Maybe; +}; + + +export type QueryAllSitePluginArgs = { + filter?: Maybe; + sort?: Maybe; + skip?: Maybe; + limit?: Maybe; +}; + +export type Site = Node & { + buildTime?: Maybe; + siteMetadata?: Maybe; + port?: Maybe; + host?: Maybe; + polyfill?: Maybe; + pathPrefix?: Maybe; + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; +}; + + +export type SiteBuildTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + +export type SiteBuildMetadata = Node & { + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; + buildTime?: Maybe; +}; + + +export type SiteBuildMetadataBuildTimeArgs = { + formatString?: Maybe; + fromNow?: Maybe; + difference?: Maybe; + locale?: Maybe; +}; + +export type SiteBuildMetadataConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type SiteBuildMetadataConnectionDistinctArgs = { + field: SiteBuildMetadataFieldsEnum; +}; + + +export type SiteBuildMetadataConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: SiteBuildMetadataFieldsEnum; +}; + +export type SiteBuildMetadataEdge = { + next?: Maybe; + node: SiteBuildMetadata; + previous?: Maybe; +}; + +export type SiteBuildMetadataFieldsEnum = + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type' + | 'buildTime'; + +export type SiteBuildMetadataFilterInput = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + buildTime?: Maybe; +}; + +export type SiteBuildMetadataGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type SiteBuildMetadataSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type SiteConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type SiteConnectionDistinctArgs = { + field: SiteFieldsEnum; +}; + + +export type SiteConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: SiteFieldsEnum; +}; + +export type SiteEdge = { + next?: Maybe; + node: Site; + previous?: Maybe; +}; + +export type SiteFieldsEnum = + | 'buildTime' + | 'siteMetadata___title' + | 'siteMetadata___description' + | 'siteMetadata___author' + | 'siteMetadata___siteUrl' + | 'siteMetadata___repository' + | 'siteMetadata___commit' + | 'port' + | 'host' + | 'polyfill' + | 'pathPrefix' + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type'; + +export type SiteFilterInput = { + buildTime?: Maybe; + siteMetadata?: Maybe; + port?: Maybe; + host?: Maybe; + polyfill?: Maybe; + pathPrefix?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; +}; + +export type SiteGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type SitePage = Node & { + path: Scalars['String']; + component: Scalars['String']; + internalComponentName: Scalars['String']; + componentChunkName: Scalars['String']; + matchPath?: Maybe; + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; + isCreatedByStatefulCreatePages?: Maybe; + context?: Maybe; + pluginCreator?: Maybe; + pluginCreatorId?: Maybe; + componentPath?: Maybe; +}; + +export type SitePageConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type SitePageConnectionDistinctArgs = { + field: SitePageFieldsEnum; +}; + + +export type SitePageConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: SitePageFieldsEnum; +}; + +export type SitePageContext = { + slug?: Maybe; + previous?: Maybe; + next?: Maybe; +}; + +export type SitePageContextFilterInput = { + slug?: Maybe; + previous?: Maybe; + next?: Maybe; +}; + +export type SitePageContextNext = { + id?: Maybe; + fields?: Maybe; + frontmatter?: Maybe; + body?: Maybe; +}; + +export type SitePageContextNextFields = { + slug?: Maybe; +}; + +export type SitePageContextNextFieldsFilterInput = { + slug?: Maybe; +}; + +export type SitePageContextNextFilterInput = { + id?: Maybe; + fields?: Maybe; + frontmatter?: Maybe; + body?: Maybe; +}; + +export type SitePageContextNextFrontmatter = { + title?: Maybe; +}; + +export type SitePageContextNextFrontmatterFilterInput = { + title?: Maybe; +}; + +export type SitePageContextPrevious = { + id?: Maybe; + fields?: Maybe; + frontmatter?: Maybe; + body?: Maybe; +}; + +export type SitePageContextPreviousFields = { + slug?: Maybe; +}; + +export type SitePageContextPreviousFieldsFilterInput = { + slug?: Maybe; +}; + +export type SitePageContextPreviousFilterInput = { + id?: Maybe; + fields?: Maybe; + frontmatter?: Maybe; + body?: Maybe; +}; + +export type SitePageContextPreviousFrontmatter = { + title?: Maybe; +}; + +export type SitePageContextPreviousFrontmatterFilterInput = { + title?: Maybe; +}; + +export type SitePageEdge = { + next?: Maybe; + node: SitePage; + previous?: Maybe; +}; + +export type SitePageFieldsEnum = + | 'path' + | 'component' + | 'internalComponentName' + | 'componentChunkName' + | 'matchPath' + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type' + | 'isCreatedByStatefulCreatePages' + | 'context___slug' + | 'context___previous___id' + | 'context___previous___fields___slug' + | 'context___previous___frontmatter___title' + | 'context___previous___body' + | 'context___next___id' + | 'context___next___fields___slug' + | 'context___next___frontmatter___title' + | 'context___next___body' + | 'pluginCreator___id' + | 'pluginCreator___parent___id' + | 'pluginCreator___parent___parent___id' + | 'pluginCreator___parent___parent___children' + | 'pluginCreator___parent___children' + | 'pluginCreator___parent___children___id' + | 'pluginCreator___parent___children___children' + | 'pluginCreator___parent___internal___content' + | 'pluginCreator___parent___internal___contentDigest' + | 'pluginCreator___parent___internal___description' + | 'pluginCreator___parent___internal___fieldOwners' + | 'pluginCreator___parent___internal___ignoreType' + | 'pluginCreator___parent___internal___mediaType' + | 'pluginCreator___parent___internal___owner' + | 'pluginCreator___parent___internal___type' + | 'pluginCreator___children' + | 'pluginCreator___children___id' + | 'pluginCreator___children___parent___id' + | 'pluginCreator___children___parent___children' + | 'pluginCreator___children___children' + | 'pluginCreator___children___children___id' + | 'pluginCreator___children___children___children' + | 'pluginCreator___children___internal___content' + | 'pluginCreator___children___internal___contentDigest' + | 'pluginCreator___children___internal___description' + | 'pluginCreator___children___internal___fieldOwners' + | 'pluginCreator___children___internal___ignoreType' + | 'pluginCreator___children___internal___mediaType' + | 'pluginCreator___children___internal___owner' + | 'pluginCreator___children___internal___type' + | 'pluginCreator___internal___content' + | 'pluginCreator___internal___contentDigest' + | 'pluginCreator___internal___description' + | 'pluginCreator___internal___fieldOwners' + | 'pluginCreator___internal___ignoreType' + | 'pluginCreator___internal___mediaType' + | 'pluginCreator___internal___owner' + | 'pluginCreator___internal___type' + | 'pluginCreator___resolve' + | 'pluginCreator___name' + | 'pluginCreator___version' + | 'pluginCreator___pluginOptions___documentPaths' + | 'pluginCreator___pluginOptions___path' + | 'pluginCreator___pluginOptions___name' + | 'pluginCreator___pluginOptions___developerKey' + | 'pluginCreator___pluginOptions___goodReadsUserId' + | 'pluginCreator___pluginOptions___userShelf' + | 'pluginCreator___pluginOptions___siteUrl' + | 'pluginCreator___pluginOptions___extensions' + | 'pluginCreator___pluginOptions___short_name' + | 'pluginCreator___pluginOptions___start_url' + | 'pluginCreator___pluginOptions___background_color' + | 'pluginCreator___pluginOptions___theme_color' + | 'pluginCreator___pluginOptions___display' + | 'pluginCreator___pluginOptions___icon' + | 'pluginCreator___pluginOptions___cache_busting_mode' + | 'pluginCreator___pluginOptions___include_favicon' + | 'pluginCreator___pluginOptions___legacy' + | 'pluginCreator___pluginOptions___theme_color_in_head' + | 'pluginCreator___pluginOptions___cacheDigest' + | 'pluginCreator___pluginOptions___pathToConfigModule' + | 'pluginCreator___pluginOptions___query' + | 'pluginCreator___pluginOptions___feeds' + | 'pluginCreator___pluginOptions___feeds___query' + | 'pluginCreator___pluginOptions___feeds___output' + | 'pluginCreator___pluginOptions___feeds___title' + | 'pluginCreator___pluginOptions___pathCheck' + | 'pluginCreator___nodeAPIs' + | 'pluginCreator___browserAPIs' + | 'pluginCreator___ssrAPIs' + | 'pluginCreator___pluginFilepath' + | 'pluginCreator___packageJson___name' + | 'pluginCreator___packageJson___description' + | 'pluginCreator___packageJson___version' + | 'pluginCreator___packageJson___main' + | 'pluginCreator___packageJson___license' + | 'pluginCreator___packageJson___dependencies' + | 'pluginCreator___packageJson___dependencies___name' + | 'pluginCreator___packageJson___dependencies___version' + | 'pluginCreator___packageJson___devDependencies' + | 'pluginCreator___packageJson___devDependencies___name' + | 'pluginCreator___packageJson___devDependencies___version' + | 'pluginCreator___packageJson___peerDependencies' + | 'pluginCreator___packageJson___peerDependencies___name' + | 'pluginCreator___packageJson___peerDependencies___version' + | 'pluginCreator___packageJson___keywords' + | 'pluginCreatorId' + | 'componentPath'; + +export type SitePageFilterInput = { + path?: Maybe; + component?: Maybe; + internalComponentName?: Maybe; + componentChunkName?: Maybe; + matchPath?: Maybe; + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + isCreatedByStatefulCreatePages?: Maybe; + context?: Maybe; + pluginCreator?: Maybe; + pluginCreatorId?: Maybe; + componentPath?: Maybe; +}; + +export type SitePageGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type SitePageSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type SitePlugin = Node & { + id: Scalars['ID']; + parent?: Maybe; + children: Array; + internal: Internal; + resolve?: Maybe; + name?: Maybe; + version?: Maybe; + pluginOptions?: Maybe; + nodeAPIs?: Maybe>>; + browserAPIs?: Maybe>>; + ssrAPIs?: Maybe>>; + pluginFilepath?: Maybe; + packageJson?: Maybe; +}; + +export type SitePluginConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + distinct: Array; + group: Array; +}; + + +export type SitePluginConnectionDistinctArgs = { + field: SitePluginFieldsEnum; +}; + + +export type SitePluginConnectionGroupArgs = { + skip?: Maybe; + limit?: Maybe; + field: SitePluginFieldsEnum; +}; + +export type SitePluginEdge = { + next?: Maybe; + node: SitePlugin; + previous?: Maybe; +}; + +export type SitePluginFieldsEnum = + | 'id' + | 'parent___id' + | 'parent___parent___id' + | 'parent___parent___parent___id' + | 'parent___parent___parent___children' + | 'parent___parent___children' + | 'parent___parent___children___id' + | 'parent___parent___children___children' + | 'parent___parent___internal___content' + | 'parent___parent___internal___contentDigest' + | 'parent___parent___internal___description' + | 'parent___parent___internal___fieldOwners' + | 'parent___parent___internal___ignoreType' + | 'parent___parent___internal___mediaType' + | 'parent___parent___internal___owner' + | 'parent___parent___internal___type' + | 'parent___children' + | 'parent___children___id' + | 'parent___children___parent___id' + | 'parent___children___parent___children' + | 'parent___children___children' + | 'parent___children___children___id' + | 'parent___children___children___children' + | 'parent___children___internal___content' + | 'parent___children___internal___contentDigest' + | 'parent___children___internal___description' + | 'parent___children___internal___fieldOwners' + | 'parent___children___internal___ignoreType' + | 'parent___children___internal___mediaType' + | 'parent___children___internal___owner' + | 'parent___children___internal___type' + | 'parent___internal___content' + | 'parent___internal___contentDigest' + | 'parent___internal___description' + | 'parent___internal___fieldOwners' + | 'parent___internal___ignoreType' + | 'parent___internal___mediaType' + | 'parent___internal___owner' + | 'parent___internal___type' + | 'children' + | 'children___id' + | 'children___parent___id' + | 'children___parent___parent___id' + | 'children___parent___parent___children' + | 'children___parent___children' + | 'children___parent___children___id' + | 'children___parent___children___children' + | 'children___parent___internal___content' + | 'children___parent___internal___contentDigest' + | 'children___parent___internal___description' + | 'children___parent___internal___fieldOwners' + | 'children___parent___internal___ignoreType' + | 'children___parent___internal___mediaType' + | 'children___parent___internal___owner' + | 'children___parent___internal___type' + | 'children___children' + | 'children___children___id' + | 'children___children___parent___id' + | 'children___children___parent___children' + | 'children___children___children' + | 'children___children___children___id' + | 'children___children___children___children' + | 'children___children___internal___content' + | 'children___children___internal___contentDigest' + | 'children___children___internal___description' + | 'children___children___internal___fieldOwners' + | 'children___children___internal___ignoreType' + | 'children___children___internal___mediaType' + | 'children___children___internal___owner' + | 'children___children___internal___type' + | 'children___internal___content' + | 'children___internal___contentDigest' + | 'children___internal___description' + | 'children___internal___fieldOwners' + | 'children___internal___ignoreType' + | 'children___internal___mediaType' + | 'children___internal___owner' + | 'children___internal___type' + | 'internal___content' + | 'internal___contentDigest' + | 'internal___description' + | 'internal___fieldOwners' + | 'internal___ignoreType' + | 'internal___mediaType' + | 'internal___owner' + | 'internal___type' + | 'resolve' + | 'name' + | 'version' + | 'pluginOptions___documentPaths' + | 'pluginOptions___path' + | 'pluginOptions___name' + | 'pluginOptions___developerKey' + | 'pluginOptions___goodReadsUserId' + | 'pluginOptions___userShelf' + | 'pluginOptions___siteUrl' + | 'pluginOptions___extensions' + | 'pluginOptions___options___defaultLayouts___default' + | 'pluginOptions___short_name' + | 'pluginOptions___start_url' + | 'pluginOptions___background_color' + | 'pluginOptions___theme_color' + | 'pluginOptions___display' + | 'pluginOptions___icon' + | 'pluginOptions___cache_busting_mode' + | 'pluginOptions___include_favicon' + | 'pluginOptions___legacy' + | 'pluginOptions___theme_color_in_head' + | 'pluginOptions___cacheDigest' + | 'pluginOptions___pathToConfigModule' + | 'pluginOptions___query' + | 'pluginOptions___feeds' + | 'pluginOptions___feeds___query' + | 'pluginOptions___feeds___output' + | 'pluginOptions___feeds___title' + | 'pluginOptions___pathCheck' + | 'nodeAPIs' + | 'browserAPIs' + | 'ssrAPIs' + | 'pluginFilepath' + | 'packageJson___name' + | 'packageJson___description' + | 'packageJson___version' + | 'packageJson___main' + | 'packageJson___license' + | 'packageJson___dependencies' + | 'packageJson___dependencies___name' + | 'packageJson___dependencies___version' + | 'packageJson___devDependencies' + | 'packageJson___devDependencies___name' + | 'packageJson___devDependencies___version' + | 'packageJson___peerDependencies' + | 'packageJson___peerDependencies___name' + | 'packageJson___peerDependencies___version' + | 'packageJson___keywords'; + +export type SitePluginFilterInput = { + id?: Maybe; + parent?: Maybe; + children?: Maybe; + internal?: Maybe; + resolve?: Maybe; + name?: Maybe; + version?: Maybe; + pluginOptions?: Maybe; + nodeAPIs?: Maybe; + browserAPIs?: Maybe; + ssrAPIs?: Maybe; + pluginFilepath?: Maybe; + packageJson?: Maybe; +}; + +export type SitePluginGroupConnection = { + totalCount: Scalars['Int']; + edges: Array; + nodes: Array; + pageInfo: PageInfo; + field: Scalars['String']; + fieldValue?: Maybe; +}; + +export type SitePluginPackageJson = { + name?: Maybe; + description?: Maybe; + version?: Maybe; + main?: Maybe; + license?: Maybe; + dependencies?: Maybe>>; + devDependencies?: Maybe>>; + peerDependencies?: Maybe>>; + keywords?: Maybe>>; +}; + +export type SitePluginPackageJsonDependencies = { + name?: Maybe; + version?: Maybe; +}; + +export type SitePluginPackageJsonDependenciesFilterInput = { + name?: Maybe; + version?: Maybe; +}; + +export type SitePluginPackageJsonDependenciesFilterListInput = { + elemMatch?: Maybe; +}; + +export type SitePluginPackageJsonDevDependencies = { + name?: Maybe; + version?: Maybe; +}; + +export type SitePluginPackageJsonDevDependenciesFilterInput = { + name?: Maybe; + version?: Maybe; +}; + +export type SitePluginPackageJsonDevDependenciesFilterListInput = { + elemMatch?: Maybe; +}; + +export type SitePluginPackageJsonFilterInput = { + name?: Maybe; + description?: Maybe; + version?: Maybe; + main?: Maybe; + license?: Maybe; + dependencies?: Maybe; + devDependencies?: Maybe; + peerDependencies?: Maybe; + keywords?: Maybe; +}; + +export type SitePluginPackageJsonPeerDependencies = { + name?: Maybe; + version?: Maybe; +}; + +export type SitePluginPackageJsonPeerDependenciesFilterInput = { + name?: Maybe; + version?: Maybe; +}; + +export type SitePluginPackageJsonPeerDependenciesFilterListInput = { + elemMatch?: Maybe; +}; + +export type SitePluginPluginOptions = { + documentPaths?: Maybe>>; + path?: Maybe; + name?: Maybe; + developerKey?: Maybe; + goodReadsUserId?: Maybe; + userShelf?: Maybe; + siteUrl?: Maybe; + extensions?: Maybe>>; + options?: Maybe; + short_name?: Maybe; + start_url?: Maybe; + background_color?: Maybe; + theme_color?: Maybe; + display?: Maybe; + icon?: Maybe; + cache_busting_mode?: Maybe; + include_favicon?: Maybe; + legacy?: Maybe; + theme_color_in_head?: Maybe; + cacheDigest?: Maybe; + pathToConfigModule?: Maybe; + query?: Maybe; + feeds?: Maybe>>; + pathCheck?: Maybe; +}; + +export type SitePluginPluginOptionsFeeds = { + query?: Maybe; + output?: Maybe; + title?: Maybe; +}; + +export type SitePluginPluginOptionsFeedsFilterInput = { + query?: Maybe; + output?: Maybe; + title?: Maybe; +}; + +export type SitePluginPluginOptionsFeedsFilterListInput = { + elemMatch?: Maybe; +}; + +export type SitePluginPluginOptionsFilterInput = { + documentPaths?: Maybe; + path?: Maybe; + name?: Maybe; + developerKey?: Maybe; + goodReadsUserId?: Maybe; + userShelf?: Maybe; + siteUrl?: Maybe; + extensions?: Maybe; + options?: Maybe; + short_name?: Maybe; + start_url?: Maybe; + background_color?: Maybe; + theme_color?: Maybe; + display?: Maybe; + icon?: Maybe; + cache_busting_mode?: Maybe; + include_favicon?: Maybe; + legacy?: Maybe; + theme_color_in_head?: Maybe; + cacheDigest?: Maybe; + pathToConfigModule?: Maybe; + query?: Maybe; + feeds?: Maybe; + pathCheck?: Maybe; +}; + +export type SitePluginPluginOptionsOptions = { + defaultLayouts?: Maybe; +}; + +export type SitePluginPluginOptionsOptionsDefaultLayouts = { + default?: Maybe; +}; + +export type SitePluginPluginOptionsOptionsDefaultLayoutsFilterInput = { + default?: Maybe; +}; + +export type SitePluginPluginOptionsOptionsFilterInput = { + defaultLayouts?: Maybe; +}; + +export type SitePluginSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type SiteSiteMetadata = { + title?: Maybe; + description?: Maybe; + author?: Maybe; + siteUrl?: Maybe; + repository?: Maybe; + commit?: Maybe; +}; + +export type SiteSiteMetadataFilterInput = { + title?: Maybe; + description?: Maybe; + author?: Maybe; + siteUrl?: Maybe; + repository?: Maybe; + commit?: Maybe; +}; + +export type SiteSortInput = { + fields?: Maybe>>; + order?: Maybe>>; +}; + +export type SortOrderEnum = + | 'ASC' + | 'DESC'; + +export type StringQueryOperatorInput = { + eq?: Maybe; + ne?: Maybe; + in?: Maybe>>; + nin?: Maybe>>; + regex?: Maybe; + glob?: Maybe; +}; + +export type LayoutQueryQueryVariables = Exact<{ [key: string]: never; }>; + + +export type LayoutQueryQuery = { site?: Maybe<{ siteMetadata?: Maybe> }> }; + +export type DefaultSeoQueryQueryVariables = Exact<{ [key: string]: never; }>; + + +export type DefaultSeoQueryQuery = { site?: Maybe<{ siteMetadata?: Maybe> }>, ogImageDefault?: Maybe<{ childImageSharp?: Maybe<{ fixed?: Maybe> }> }> }; + +export type ProfilePictureQueryQueryVariables = Exact<{ [key: string]: never; }>; + + +export type ProfilePictureQueryQuery = { profilePicture?: Maybe<{ childImageSharp?: Maybe<{ fixed?: Maybe }> }>, ogImage?: Maybe<{ childImageSharp?: Maybe<{ fixed?: Maybe> }> }>, goodreadsShelf?: Maybe<{ reviews?: Maybe> }>>> }> }; + +export type Unnamed_1_QueryVariables = Exact<{ [key: string]: never; }>; + + +export type Unnamed_1_Query = { allMdx: { edges: Array<{ node: ( + Pick + & { fields?: Maybe>, frontmatter?: Maybe> } + ) }>, group: Array<{ tag: MdxGroupConnection['fieldValue'] }> } }; + +export type KeyboardQueryQueryVariables = Exact<{ [key: string]: never; }>; + + +export type KeyboardQueryQuery = { keyboard?: Maybe<{ childImageSharp?: Maybe<{ fluid?: Maybe }> }>, desk?: Maybe<{ childImageSharp?: Maybe<{ fluid?: Maybe }> }>, vscode?: Maybe<{ childImageSharp?: Maybe<{ fluid?: Maybe }> }>, ogImage?: Maybe<{ childImageSharp?: Maybe<{ fixed?: Maybe> }> }> }; + +export type Unnamed_2_QueryVariables = Exact<{ + slug: Scalars['String']; +}>; + + +export type Unnamed_2_Query = { site?: Maybe<{ siteMetadata?: Maybe> }>, mdx?: Maybe<( + Pick + & { frontmatter?: Maybe> } + )> }; + +export type GatsbyImageSharpFixedFragment = Pick; + +export type GatsbyImageSharpFixed_TracedSvgFragment = Pick; + +export type GatsbyImageSharpFixed_WithWebpFragment = Pick; + +export type GatsbyImageSharpFixed_WithWebp_TracedSvgFragment = Pick; + +export type GatsbyImageSharpFixed_NoBase64Fragment = Pick; + +export type GatsbyImageSharpFixed_WithWebp_NoBase64Fragment = Pick; + +export type GatsbyImageSharpFluidFragment = Pick; + +export type GatsbyImageSharpFluidLimitPresentationSizeFragment = { maxHeight: ImageSharpFluid['presentationHeight'], maxWidth: ImageSharpFluid['presentationWidth'] }; + +export type GatsbyImageSharpFluid_TracedSvgFragment = Pick; + +export type GatsbyImageSharpFluid_WithWebpFragment = Pick; + +export type GatsbyImageSharpFluid_WithWebp_TracedSvgFragment = Pick; + +export type GatsbyImageSharpFluid_NoBase64Fragment = Pick; + +export type GatsbyImageSharpFluid_WithWebp_NoBase64Fragment = Pick; + +export type GatsbyImageSharpResolutionsFragment = Pick; + +export type GatsbyImageSharpResolutions_TracedSvgFragment = Pick; + +export type GatsbyImageSharpResolutions_WithWebpFragment = Pick; + +export type GatsbyImageSharpResolutions_WithWebp_TracedSvgFragment = Pick; + +export type GatsbyImageSharpResolutions_NoBase64Fragment = Pick; + +export type GatsbyImageSharpResolutions_WithWebp_NoBase64Fragment = Pick; + +export type GatsbyImageSharpSizesFragment = Pick; + +export type GatsbyImageSharpSizes_TracedSvgFragment = Pick; + +export type GatsbyImageSharpSizes_WithWebpFragment = Pick; + +export type GatsbyImageSharpSizes_WithWebp_TracedSvgFragment = Pick; + +export type GatsbyImageSharpSizes_NoBase64Fragment = Pick; + +export type GatsbyImageSharpSizes_WithWebp_NoBase64Fragment = Pick; diff --git a/jest.config.js b/jest.config.js index 4f9f7711e..7c41b1a92 100644 --- a/jest.config.js +++ b/jest.config.js @@ -29,7 +29,7 @@ module.exports = { ], coverageThreshold: { global: { - branches: 90, + branches: 80, functions: 90, lines: 90, statements: 90, diff --git a/package-lock.json b/package-lock.json index cac210bcd..e941e317a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -491,6 +491,14 @@ "@babel/helper-plugin-utils": "^7.8.3" } }, + "@babel/plugin-syntax-flow": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.10.4.tgz", + "integrity": "sha512-yxQsX1dJixF4qEEdzVbst3SZQ58Nrooz8NV9Z9GL4byTE25BvJgl5lf0RECUf0fh28rZBb/RYTWn/eeKwCMrZQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, "@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", @@ -671,6 +679,15 @@ "@babel/helper-plugin-utils": "^7.10.4" } }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.10.4.tgz", + "integrity": "sha512-XTadyuqNst88UWBTdLjM+wEY7BFnY2sYtPyAidfC7M/QaZnSuIZpMvLxqGT7phAcnGyWh/XQFLKcGf04CnvxSQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-flow": "^7.10.4" + } + }, "@babel/plugin-transform-for-of": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz", @@ -1305,6 +1322,404 @@ } } }, + "@graphql-codegen/core": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@graphql-codegen/core/-/core-1.17.8.tgz", + "integrity": "sha512-HUntoeLhLZf6wroD1HYLsniz51N3zW7cjgwojGKgbUsI6Oa8pGsh+kKaN9xtvlb/hIpsRJ00q9LbPVIM/kXQtQ==", + "requires": { + "@graphql-codegen/plugin-helpers": "^1.17.8", + "@graphql-tools/merge": "^6.0.18", + "@graphql-tools/utils": "^6.0.18", + "tslib": "~2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-codegen/plugin-helpers": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@graphql-codegen/plugin-helpers/-/plugin-helpers-1.17.9.tgz", + "integrity": "sha512-kyj+qsnLGd1JLqXuLpvI6Q/VW7frhoHHNxYJWerpwsSV9m4cttmFj8d9JTfYPZbg6cLIRR7+10lVugzMKozjzA==", + "requires": { + "@graphql-tools/utils": "^6", + "camel-case": "4.1.1", + "common-tags": "1.8.0", + "constant-case": "3.0.3", + "import-from": "3.0.0", + "lodash": "~4.17.20", + "lower-case": "2.0.1", + "param-case": "3.0.3", + "pascal-case": "3.1.1", + "tslib": "~2.0.1", + "upper-case": "2.0.1" + }, + "dependencies": { + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-codegen/typescript": { + "version": "1.17.10", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-1.17.10.tgz", + "integrity": "sha512-hujabT4J6ZFBGrt3hbEFhXExggDCXbuUpUfAl7ICrweQ8HFOpzBFzKSeezFHPufcfYZNE2sUWa8SJeVyI6pCRw==", + "requires": { + "@graphql-codegen/plugin-helpers": "^1.17.9", + "@graphql-codegen/visitor-plugin-common": "^1.17.15", + "auto-bind": "~4.0.0", + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-codegen/typescript-operations": { + "version": "1.17.8", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-1.17.8.tgz", + "integrity": "sha512-nU1ZldRB4vGcg4FQhOp3GOOyjfIwO+cI110zZhxQw8SV7pbNDJnCckbvkdEOkW+1/jVJcUul8jQVvuym5olipw==", + "requires": { + "@graphql-codegen/plugin-helpers": "^1.17.8", + "@graphql-codegen/typescript": "^1.17.8", + "@graphql-codegen/visitor-plugin-common": "^1.17.13", + "auto-bind": "~4.0.0", + "tslib": "~2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-codegen/visitor-plugin-common": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-1.17.15.tgz", + "integrity": "sha512-vWwuZulw5nYY9X6Vtc9ftw2BcFZoEGM/Qi3i4kEXh0o6Zgyk6XSq8bQM0joxBAD7tIfET2hXjTdq2oWcxurnsA==", + "requires": { + "@graphql-codegen/plugin-helpers": "^1.17.9", + "@graphql-tools/relay-operation-optimizer": "^6", + "array.prototype.flatmap": "^1.2.3", + "auto-bind": "~4.0.0", + "dependency-graph": "^0.9.0", + "graphql-tag": "^2.11.0", + "parse-filepath": "^1.0.2", + "pascal-case": "^3.1.1", + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-toolkit/code-file-loader": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@graphql-toolkit/code-file-loader/-/code-file-loader-0.10.7.tgz", + "integrity": "sha512-siRedPr9Kg4Njn5H6N4LK00y6KChopH6Snv/4RGPar4xxEmh5lBzw5vdfJTlipu3RCw1W5jTTyJZD4qNCndDGA==", + "requires": { + "@graphql-toolkit/common": "0.10.7", + "@graphql-toolkit/graphql-tag-pluck": "0.10.7", + "tslib": "1.11.2" + }, + "dependencies": { + "tslib": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==" + } + } + }, + "@graphql-toolkit/common": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@graphql-toolkit/common/-/common-0.10.7.tgz", + "integrity": "sha512-epcJvmIAo+vSEY76F0Dj1Ef6oeewT5pdMe1obHj7LHXN9V22O86aQzwdEEm1iG91qROqSw/apcDnSCMjuVeQVA==", + "requires": { + "aggregate-error": "3.0.1", + "camel-case": "4.1.1", + "graphql-tools": "5.0.0", + "lodash": "4.17.15" + }, + "dependencies": { + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + } + } + }, + "@graphql-toolkit/core": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@graphql-toolkit/core/-/core-0.10.7.tgz", + "integrity": "sha512-LXcFLG7XcRJrPz/xD+0cExzLx/ptVynDM20650/FbmHbKOU50d9mSbcsrzAOq/3f4q3HrRDssvn0f6pPm0EHMg==", + "requires": { + "@graphql-toolkit/common": "0.10.7", + "@graphql-toolkit/schema-merging": "0.10.7", + "aggregate-error": "3.0.1", + "globby": "11.0.0", + "import-from": "^3.0.0", + "is-glob": "4.0.1", + "lodash": "4.17.15", + "p-limit": "2.3.0", + "resolve-from": "5.0.0", + "tslib": "1.11.2", + "unixify": "1.0.0", + "valid-url": "1.0.9" + }, + "dependencies": { + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "globby": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz", + "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "requires": { + "resolve-from": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + }, + "tslib": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==" + } + } + }, + "@graphql-toolkit/graphql-file-loader": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@graphql-toolkit/graphql-file-loader/-/graphql-file-loader-0.10.7.tgz", + "integrity": "sha512-6tUIuw/YBlm0VyVgXgMrOXsEQ+WpXVgr2NQwHNzmZo82kPGqImveq7A2D3gBWLyVTcinDScRcKJMxM4kCF5T0A==", + "requires": { + "@graphql-toolkit/common": "0.10.7", + "tslib": "1.11.2" + }, + "dependencies": { + "tslib": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==" + } + } + }, + "@graphql-toolkit/graphql-tag-pluck": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@graphql-toolkit/graphql-tag-pluck/-/graphql-tag-pluck-0.10.7.tgz", + "integrity": "sha512-au0Q95/Wbw7fBHeCHU1vMsvYSCKRD5slk+ZZ183LL6lX71phkXIwWD+JpBPBLIY/3Zm+3QUUg66crC+igw4ziw==", + "requires": { + "@babel/parser": "7.9.6", + "@babel/traverse": "7.9.6", + "@babel/types": "7.9.6", + "@graphql-toolkit/common": "0.10.7", + "vue-template-compiler": "^2.6.11" + }, + "dependencies": { + "@babel/parser": { + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", + "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==" + }, + "@babel/traverse": { + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", + "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", + "requires": { + "@babel/code-frame": "^7.8.3", + "@babel/generator": "^7.9.6", + "@babel/helper-function-name": "^7.9.5", + "@babel/helper-split-export-declaration": "^7.8.3", + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.9.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", + "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", + "requires": { + "@babel/helper-validator-identifier": "^7.9.5", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@graphql-toolkit/json-file-loader": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@graphql-toolkit/json-file-loader/-/json-file-loader-0.10.7.tgz", + "integrity": "sha512-nVISrODqvn5LiQ4nKL5pz1Let/W1tuj2viEwrNyTS+9mcjaCE2nhV5MOK/7ZY0cR+XeA4N2u65EH1lQd63U3Cw==", + "requires": { + "@graphql-toolkit/common": "0.10.7", + "tslib": "1.11.2" + }, + "dependencies": { + "tslib": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==" + } + } + }, + "@graphql-toolkit/schema-merging": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@graphql-toolkit/schema-merging/-/schema-merging-0.10.7.tgz", + "integrity": "sha512-VngxJbVdRfXYhdMLhL90pqN+hD/2XTZwhHPGvpWqmGQhT6roc98yN3xyDyrWFYYsuiY4gTexdmrHQ3d7mzitwA==", + "requires": { + "@graphql-toolkit/common": "0.10.7", + "deepmerge": "4.2.2", + "graphql-tools": "5.0.0", + "tslib": "1.11.2" + }, + "dependencies": { + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "tslib": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==" + } + } + }, + "@graphql-toolkit/url-loader": { + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@graphql-toolkit/url-loader/-/url-loader-0.10.7.tgz", + "integrity": "sha512-Ec3T4Zuo63LwG+RfK2ryz8ChPfncBf8fiSJ1xr68FtLDVznDNulvlNKFbfREE5koWejwsnJrjLCv6IX5IbhExg==", + "requires": { + "@graphql-toolkit/common": "0.10.7", + "cross-fetch": "3.0.4", + "graphql-tools": "5.0.0", + "tslib": "1.11.2", + "valid-url": "1.0.9" + }, + "dependencies": { + "cross-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.0.4.tgz", + "integrity": "sha512-MSHgpjQqgbT/94D4CyADeNoYh52zMkCX4pcJvPP5WqPsLFMKjr2TCMg381ox5qI0ii2dPwaLx/00477knXqXVw==", + "requires": { + "node-fetch": "2.6.0", + "whatwg-fetch": "3.0.0" + } + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "tslib": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", + "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==" + }, + "whatwg-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" + } + } + }, + "@graphql-tools/merge": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.4.tgz", + "integrity": "sha512-hQbiSzCJgzUYG1Aspj5EAUY9DsbTI2OK30GLBOjUI16DWkoLVXLXy4ljQYJxq6wDc4fqixMOmvxwf8FoJ9okmw==", + "requires": { + "@graphql-tools/schema": "^6.2.4", + "@graphql-tools/utils": "^6.2.4", + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "@graphql-tools/relay-operation-optimizer": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.2.4.tgz", + "integrity": "sha512-lvBCrRupmVpKfwgOmwz7epm28Nwmk9McddG1htRiAPRCg5MB7/52bYP/QgklDQgkRXWsaDEBXfxKyoGkvLvu0w==", + "requires": { + "@graphql-tools/utils": "^6.2.4", + "relay-compiler": "10.0.1", + "tslib": "~2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, "@graphql-tools/schema": { "version": "6.2.4", "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.2.4.tgz", @@ -4527,6 +4942,14 @@ "@xtuc/long": "4.2.2" } }, + "@wry/equality": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", + "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", + "requires": { + "tslib": "^1.9.3" + } + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -4726,6 +5149,49 @@ } } }, + "apollo-link": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", + "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", + "requires": { + "apollo-utilities": "^1.3.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3", + "zen-observable-ts": "^0.8.21" + } + }, + "apollo-link-http-common": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz", + "integrity": "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==", + "requires": { + "apollo-link": "^1.2.14", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3" + } + }, + "apollo-upload-client": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/apollo-upload-client/-/apollo-upload-client-13.0.0.tgz", + "integrity": "sha512-lJ9/bk1BH1lD15WhWRha2J3+LrXrPIX5LP5EwiOUHv8PCORp4EUrcujrA3rI5hZeZygrTX8bshcuMdpqpSrvtA==", + "requires": { + "@babel/runtime": "^7.9.2", + "apollo-link": "^1.2.12", + "apollo-link-http-common": "^0.2.14", + "extract-files": "^8.0.0" + } + }, + "apollo-utilities": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", + "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", + "requires": { + "@wry/equality": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.10.0" + } + }, "application-config-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/application-config-path/-/application-config-path-0.1.0.tgz", @@ -4985,6 +5451,11 @@ "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" + }, "asn1": { "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", @@ -5482,6 +5953,11 @@ "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "7.0.0-beta.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-7.0.0-beta.0.tgz", + "integrity": "sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==" + }, "babel-plugin-transform-object-rest-spread": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", @@ -5515,6 +5991,40 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, + "babel-preset-fbjs": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/babel-preset-fbjs/-/babel-preset-fbjs-3.3.0.tgz", + "integrity": "sha512-7QTLTCd2gwB2qGoi5epSULMHugSVgpcVt5YAeiFO9ABLrutDQzKfGwzxgZHLpugq8qMdg/DhRZDZ5CLKxBkEbw==", + "requires": { + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-syntax-class-properties": "^7.0.0", + "@babel/plugin-syntax-flow": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-syntax-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-arrow-functions": "^7.0.0", + "@babel/plugin-transform-block-scoped-functions": "^7.0.0", + "@babel/plugin-transform-block-scoping": "^7.0.0", + "@babel/plugin-transform-classes": "^7.0.0", + "@babel/plugin-transform-computed-properties": "^7.0.0", + "@babel/plugin-transform-destructuring": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-for-of": "^7.0.0", + "@babel/plugin-transform-function-name": "^7.0.0", + "@babel/plugin-transform-literals": "^7.0.0", + "@babel/plugin-transform-member-expression-literals": "^7.0.0", + "@babel/plugin-transform-modules-commonjs": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.0.0", + "@babel/plugin-transform-parameters": "^7.0.0", + "@babel/plugin-transform-property-literals": "^7.0.0", + "@babel/plugin-transform-react-display-name": "^7.0.0", + "@babel/plugin-transform-react-jsx": "^7.0.0", + "@babel/plugin-transform-shorthand-properties": "^7.0.0", + "@babel/plugin-transform-spread": "^7.0.0", + "@babel/plugin-transform-template-literals": "^7.0.0", + "babel-plugin-syntax-trailing-function-commas": "^7.0.0-beta.0" + } + }, "babel-preset-gatsby": { "version": "0.5.13", "resolved": "https://registry.npmjs.org/babel-preset-gatsby/-/babel-preset-gatsby-0.5.13.tgz", @@ -6352,7 +6862,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, "requires": { "node-int64": "^0.4.0" } @@ -8311,6 +8820,12 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz", "integrity": "sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==" }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "optional": true + }, "debug": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", @@ -8698,6 +9213,16 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "dependency-graph": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.9.0.tgz", + "integrity": "sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==" + }, + "deprecated-decorator": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz", + "integrity": "sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=" + }, "des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", @@ -9282,6 +9807,24 @@ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", + "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, "end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -10845,6 +11388,11 @@ } } }, + "extract-files": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-8.1.0.tgz", + "integrity": "sha512-PTGtfthZK79WUMk+avLmwx3NGdU8+iVFXC2NMGxKsn0MnihOG2lvumj+AZo8CTwTrwjXDgZ5tztbRlEdRjBonQ==" + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -10962,11 +11510,37 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, "requires": { "bser": "2.1.1" } }, + "fbjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-1.0.0.tgz", + "integrity": "sha512-MUgcMEJaFhCaF1QtWGnmq9ZDRAzECTCRAF7O6UZIlAlkTs1SasiX9aP0Iw7wfD2mJ7wDTNfg2w7u5fSCwJk1OA==", + "requires": { + "core-js": "^2.4.1", + "fbjs-css-vars": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + } + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, "fd": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/fd/-/fd-0.0.3.tgz", @@ -12090,6 +12664,38 @@ "rss": "^1.2.2" } }, + "gatsby-plugin-graphql-codegen": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/gatsby-plugin-graphql-codegen/-/gatsby-plugin-graphql-codegen-2.7.1.tgz", + "integrity": "sha512-oJoLtE8kEHCjeuUwrgdSkpyD7NNLzb7/Z4uvmxeg49Yz4/Tbz8RC3Jk7LSRjVo9rPXRCxpKx7t2gpXfZhpv+2Q==", + "requires": { + "@graphql-codegen/core": "^1.13.1", + "@graphql-codegen/plugin-helpers": "^1.13.1", + "@graphql-codegen/typescript": "^1.13.1", + "@graphql-codegen/typescript-operations": "^1.13.1", + "@graphql-toolkit/code-file-loader": "^0.10.2", + "@graphql-toolkit/common": "^0.10.2", + "@graphql-toolkit/core": "^0.10.2", + "@graphql-toolkit/graphql-file-loader": "^0.10.2", + "@graphql-toolkit/graphql-tag-pluck": "^0.10.2", + "@graphql-toolkit/json-file-loader": "^0.10.2", + "@graphql-toolkit/url-loader": "^0.10.2", + "fs-extra": "^7.0.1", + "lodash.debounce": "^4.0.8" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, "gatsby-plugin-manifest": { "version": "2.4.34", "resolved": "https://registry.npmjs.org/gatsby-plugin-manifest/-/gatsby-plugin-manifest-2.4.34.tgz", @@ -14433,6 +15039,38 @@ "iterall": "^1.2.1" } }, + "graphql-tag": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.11.0.tgz", + "integrity": "sha512-VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA==" + }, + "graphql-tools": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/graphql-tools/-/graphql-tools-5.0.0.tgz", + "integrity": "sha512-5zn3vtn//382b7G3Wzz3d5q/sh+f7tVrnxeuhTMTJ7pWJijNqLxH7VEzv8VwXCq19zAzHYEosFHfXiK7qzvk7w==", + "requires": { + "apollo-link": "^1.2.14", + "apollo-upload-client": "^13.0.0", + "deprecated-decorator": "^0.1.6", + "form-data": "^3.0.0", + "iterall": "^1.3.0", + "node-fetch": "^2.6.0", + "tslib": "^1.11.1", + "uuid": "^7.0.3" + }, + "dependencies": { + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==" + } + } + }, "graphql-type-json": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/graphql-type-json/-/graphql-type-json-0.3.2.tgz", @@ -14734,6 +15372,12 @@ "space-separated-tokens": "^1.0.0" } }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "optional": true + }, "header-case": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.3.tgz", @@ -15281,6 +15925,11 @@ "pngquant-bin": "^6.0.0" } }, + "immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=" + }, "import-cwd": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", @@ -15851,6 +16500,15 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" }, + "is-absolute": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, "is-absolute-url": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", @@ -16378,6 +17036,31 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, + "isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", + "requires": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + } + } + }, "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", @@ -20090,6 +20773,11 @@ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, "lodash.deburr": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/lodash.deburr/-/lodash.deburr-4.1.0.tgz", @@ -21327,8 +22015,7 @@ "node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true + "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=" }, "node-libs-browser": { "version": "2.2.1", @@ -21594,6 +22281,11 @@ } } }, + "nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, "num2fraction": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", @@ -22313,6 +23005,16 @@ "is-hexadecimal": "^1.0.0" } }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, "parse-headers": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", @@ -22486,6 +23188,19 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -23468,6 +24183,14 @@ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, "promise-inflight": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", @@ -24463,6 +25186,83 @@ } } }, + "relay-compiler": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/relay-compiler/-/relay-compiler-10.0.1.tgz", + "integrity": "sha512-hrTqh81XXxPB4EgvxPmvojICr0wJnRoumxOsMZnS9dmhDHSqcBAT7+C3+rdGm5sSdNH8mbMcZM7YSPDh8ABxQw==", + "requires": { + "@babel/core": "^7.0.0", + "@babel/generator": "^7.5.0", + "@babel/parser": "^7.0.0", + "@babel/runtime": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@babel/types": "^7.0.0", + "babel-preset-fbjs": "^3.3.0", + "chalk": "^4.0.0", + "fb-watchman": "^2.0.0", + "fbjs": "^1.0.0", + "glob": "^7.1.1", + "immutable": "~3.7.6", + "nullthrows": "^1.1.1", + "relay-runtime": "10.0.1", + "signedsource": "^1.0.0", + "yargs": "^15.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "relay-runtime": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/relay-runtime/-/relay-runtime-10.0.1.tgz", + "integrity": "sha512-sPYiuosq+5gQ7zXs2EKg2O8qRSsF8vmMYo6SIHEi4juBLg1HrdTEvqcaNztc2ZFmUc4vYZpTbbS4j/TZCtHuyA==", + "requires": { + "@babel/runtime": "^7.0.0", + "fbjs": "^1.0.0" + } + }, "remark": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz", @@ -25629,6 +26429,11 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, + "signedsource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/signedsource/-/signedsource-1.0.0.tgz", + "integrity": "sha1-HdrOSYF5j5O9gzlzgD2A1S6TrWo=" + }, "simple-concat": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", @@ -27528,6 +28333,14 @@ "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-2.2.1.tgz", "integrity": "sha512-0z3j8R7MCjy10kc/g+qg7Ln3alJTodw9aDuVWZa3uiWqfuBMKeAeP2ocWcxoyM3D73yz3Jt/Pu4qPr4wHSdB/Q==" }, + "ts-invariant": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", + "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", + "requires": { + "tslib": "^1.9.3" + } + }, "ts-jest": { "version": "26.4.1", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-26.4.1.tgz", @@ -27710,6 +28523,11 @@ "resolved": "https://registry.npmjs.org/typography-normalize/-/typography-normalize-0.16.19.tgz", "integrity": "sha512-vtnSv/uGBZVbd4e/ZhZB9HKBgKKlWQUXw74+ADIHHxzKp27CEf8PSR8TX1zF2qSyQ9/qMdqLwXYz8yRQFq9JLQ==" }, + "ua-parser-js": { + "version": "0.7.22", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.22.tgz", + "integrity": "sha512-YUxzMjJ5T71w6a8WWVcMGM6YWOTX27rCoIQgLXiWaxqXSx9D7DNjiGWn1aJIRSQ5qr0xuhra77bSIh6voR/46Q==" + }, "unbzip2-stream": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", @@ -28082,6 +28900,24 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, + "unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha1-OmQcjC/7zk2mg6XHDwOkYpQMIJA=", + "requires": { + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -28516,6 +29352,16 @@ "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz", "integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==" }, + "vue-template-compiler": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "optional": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -29859,6 +30705,20 @@ } } }, + "zen-observable": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + }, + "zen-observable-ts": { + "version": "0.8.21", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", + "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", + "requires": { + "tslib": "^1.9.3", + "zen-observable": "^0.8.0" + } + }, "zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", diff --git a/package.json b/package.json index 253257a1f..7f48607dc 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "gatsby-plugin-catch-links": "2.3.15", "gatsby-plugin-emotion": "4.3.13", "gatsby-plugin-feed": "2.5.14", + "gatsby-plugin-graphql-codegen": "2.7.1", "gatsby-plugin-manifest": "2.4.34", "gatsby-plugin-mdx": "1.2.46", "gatsby-plugin-offline": "3.2.31", diff --git a/src/components/footer.tsx b/src/components/footer.tsx index 0526b8471..470fdd134 100644 --- a/src/components/footer.tsx +++ b/src/components/footer.tsx @@ -3,7 +3,7 @@ import styled from '@emotion/styled'; import { Link } from 'gatsby'; import { Space, FooterWrapper } from './styles'; -export interface AnchorProps extends React.HTMLAttributes { +interface AnchorProps extends React.HTMLAttributes { link: string; name: string; rel?: 'noopener'; @@ -16,11 +16,6 @@ const Commit = styled.div` } `; -export type FooterProps = { - commit: string; - repository: string; -}; - const Anchor = ({ link, name, rel, target = '_self' }: AnchorProps) => ( ( ); -const Footer = ({ commit, repository }: FooterProps): JSX.Element => ( +const Footer = ({ + commit, + repository, +}: { + commit?: string | null; + repository?: string | null; +}): JSX.Element => ( about @@ -61,18 +62,20 @@ const Footer = ({ commit, repository }: FooterProps): JSX.Element => ( rss - - deployed commit:{' '} - - - {commit.substring(0, 7)} - - - + {commit && repository ? ( + + deployed commit:{' '} + + + {commit?.substring(0, 7)} + + + + ) : null} ); diff --git a/src/components/layout.tsx b/src/components/layout.tsx index 4d35bbeb2..f1738393c 100644 --- a/src/components/layout.tsx +++ b/src/components/layout.tsx @@ -2,20 +2,11 @@ import * as React from 'react'; import { Global, css } from '@emotion/core'; import { useStaticQuery, graphql } from 'gatsby'; import { H1, Link, LeftBar, RightBar, TopBar, BottomBar } from './styles'; +import { LayoutQueryQuery } from '../../graphql-types'; import Header from './header'; import Toggle from './toggle'; import Footer from './footer'; -type LayoutData = { - site: { - siteMetadata: { - title: string; - commit: string; - repository: string; - }; - }; -}; - declare global { interface Window { __onThemeChange: () => void; @@ -36,7 +27,7 @@ const Layout: React.FunctionComponent = ({ children }) => { setTheme(window.__theme); }, [setTheme]); - const data: LayoutData = useStaticQuery(graphql` + const data: LayoutQueryQuery = useStaticQuery(graphql` query LayoutQuery { site { siteMetadata { @@ -298,7 +289,7 @@ const Layout: React.FunctionComponent = ({ children }) => { >

- {data.site.siteMetadata.title} + {data?.site?.siteMetadata?.title}

{typeof document !== `undefined` &&
} @@ -308,8 +299,8 @@ const Layout: React.FunctionComponent = ({ children }) => {
{children}