diff --git a/packages/gatsby/src/schema/__tests__/__snapshots__/build-schema.js.snap b/packages/gatsby/src/schema/__tests__/__snapshots__/build-schema.js.snap index fcd943db89522..68b36e055d66a 100644 --- a/packages/gatsby/src/schema/__tests__/__snapshots__/build-schema.js.snap +++ b/packages/gatsby/src/schema/__tests__/__snapshots__/build-schema.js.snap @@ -427,6 +427,44 @@ type SitePage implements Node { internal: Internal! } +type SitePlugin implements Node { + resolve: String + name: String + version: String + nodeAPIs: [String] + browserAPIs: [String] + ssrAPIs: [String] + pluginFilepath: String + id: ID! + parent: Node + children: [Node!]! + internal: Internal! +} + +type SiteBuildMetadata implements Node { + buildTime( + \\"\\"\\" + Format the date using Moment.js' date tokens, e.g. \`date(formatString: \\"YYYY MMMM DD\\")\`. See https://momentjs.com/docs/#/displaying/format/ for documentation for different tokens. + \\"\\"\\" + formatString: String + + \\"\\"\\"Returns a string generated with Moment.js' \`fromNow\` function\\"\\"\\" + fromNow: Boolean + + \\"\\"\\" + Returns the difference between this date and the current time. Defaults to \\"milliseconds\\" but you can also pass in as the measurement \\"years\\", \\"months\\", \\"weeks\\", \\"days\\", \\"hours\\", \\"minutes\\", and \\"seconds\\". + \\"\\"\\" + difference: String + + \\"\\"\\"Configures the locale Moment.js will use to format the date.\\"\\"\\" + locale: String + ): Date + id: ID! + parent: Node + children: [Node!]! + internal: Internal! +} + type Query { file(sourceInstanceName: StringQueryOperatorInput, absolutePath: StringQueryOperatorInput, relativePath: StringQueryOperatorInput, extension: StringQueryOperatorInput, size: IntQueryOperatorInput, prettySize: StringQueryOperatorInput, modifiedTime: DateQueryOperatorInput, accessTime: DateQueryOperatorInput, changeTime: DateQueryOperatorInput, birthTime: DateQueryOperatorInput, root: StringQueryOperatorInput, dir: StringQueryOperatorInput, base: StringQueryOperatorInput, ext: StringQueryOperatorInput, name: StringQueryOperatorInput, relativeDirectory: StringQueryOperatorInput, dev: IntQueryOperatorInput, mode: IntQueryOperatorInput, nlink: IntQueryOperatorInput, uid: IntQueryOperatorInput, gid: IntQueryOperatorInput, rdev: IntQueryOperatorInput, ino: FloatQueryOperatorInput, atimeMs: FloatQueryOperatorInput, mtimeMs: FloatQueryOperatorInput, ctimeMs: FloatQueryOperatorInput, atime: DateQueryOperatorInput, mtime: DateQueryOperatorInput, ctime: DateQueryOperatorInput, birthtime: DateQueryOperatorInput, birthtimeMs: FloatQueryOperatorInput, id: StringQueryOperatorInput, parent: NodeFilterInput, children: NodeFilterListInput, internal: InternalFilterInput): File allFile(filter: FileFilterInput, sort: FileSortInput, skip: Int, limit: Int): FileConnection! @@ -438,6 +476,10 @@ type Query { allSiteFunction(filter: SiteFunctionFilterInput, sort: SiteFunctionSortInput, skip: Int, limit: Int): SiteFunctionConnection! sitePage(path: StringQueryOperatorInput, component: StringQueryOperatorInput, internalComponentName: StringQueryOperatorInput, componentChunkName: StringQueryOperatorInput, matchPath: StringQueryOperatorInput, id: StringQueryOperatorInput, parent: NodeFilterInput, children: NodeFilterListInput, internal: InternalFilterInput): SitePage allSitePage(filter: SitePageFilterInput, sort: SitePageSortInput, skip: Int, limit: Int): SitePageConnection! + sitePlugin(resolve: StringQueryOperatorInput, name: StringQueryOperatorInput, version: StringQueryOperatorInput, nodeAPIs: StringQueryOperatorInput, browserAPIs: StringQueryOperatorInput, ssrAPIs: StringQueryOperatorInput, pluginFilepath: StringQueryOperatorInput, id: StringQueryOperatorInput, parent: NodeFilterInput, children: NodeFilterListInput, internal: InternalFilterInput): SitePlugin + allSitePlugin(filter: SitePluginFilterInput, sort: SitePluginSortInput, skip: Int, limit: Int): SitePluginConnection! + siteBuildMetadata(buildTime: DateQueryOperatorInput, id: StringQueryOperatorInput, parent: NodeFilterInput, children: NodeFilterListInput, internal: InternalFilterInput): SiteBuildMetadata + allSiteBuildMetadata(filter: SiteBuildMetadataFilterInput, sort: SiteBuildMetadataSortInput, skip: Int, limit: Int): SiteBuildMetadataConnection! } input StringQueryOperatorInput { @@ -1323,5 +1365,277 @@ input SitePageSortInput { fields: [SitePageFieldsEnum] order: [SortOrderEnum] = [ASC] } + +type SitePluginConnection { + totalCount: Int! + edges: [SitePluginEdge!]! + nodes: [SitePlugin!]! + pageInfo: PageInfo! + distinct(field: SitePluginFieldsEnum!): [String!]! + max(field: SitePluginFieldsEnum!): Float + min(field: SitePluginFieldsEnum!): Float + sum(field: SitePluginFieldsEnum!): Float + group(skip: Int, limit: Int, field: SitePluginFieldsEnum!): [SitePluginGroupConnection!]! +} + +type SitePluginEdge { + next: SitePlugin + node: SitePlugin! + previous: SitePlugin +} + +enum SitePluginFieldsEnum { + resolve + name + version + nodeAPIs + browserAPIs + ssrAPIs + pluginFilepath + 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 +} + +type SitePluginGroupConnection { + totalCount: Int! + edges: [SitePluginEdge!]! + nodes: [SitePlugin!]! + pageInfo: PageInfo! + field: String! + fieldValue: String +} + +input SitePluginFilterInput { + resolve: StringQueryOperatorInput + name: StringQueryOperatorInput + version: StringQueryOperatorInput + nodeAPIs: StringQueryOperatorInput + browserAPIs: StringQueryOperatorInput + ssrAPIs: StringQueryOperatorInput + pluginFilepath: StringQueryOperatorInput + id: StringQueryOperatorInput + parent: NodeFilterInput + children: NodeFilterListInput + internal: InternalFilterInput +} + +input SitePluginSortInput { + fields: [SitePluginFieldsEnum] + order: [SortOrderEnum] = [ASC] +} + +type SiteBuildMetadataConnection { + totalCount: Int! + edges: [SiteBuildMetadataEdge!]! + nodes: [SiteBuildMetadata!]! + pageInfo: PageInfo! + distinct(field: SiteBuildMetadataFieldsEnum!): [String!]! + max(field: SiteBuildMetadataFieldsEnum!): Float + min(field: SiteBuildMetadataFieldsEnum!): Float + sum(field: SiteBuildMetadataFieldsEnum!): Float + group(skip: Int, limit: Int, field: SiteBuildMetadataFieldsEnum!): [SiteBuildMetadataGroupConnection!]! +} + +type SiteBuildMetadataEdge { + next: SiteBuildMetadata + node: SiteBuildMetadata! + previous: SiteBuildMetadata +} + +enum SiteBuildMetadataFieldsEnum { + buildTime + 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 +} + +type SiteBuildMetadataGroupConnection { + totalCount: Int! + edges: [SiteBuildMetadataEdge!]! + nodes: [SiteBuildMetadata!]! + pageInfo: PageInfo! + field: String! + fieldValue: String +} + +input SiteBuildMetadataFilterInput { + buildTime: DateQueryOperatorInput + id: StringQueryOperatorInput + parent: NodeFilterInput + children: NodeFilterListInput + internal: InternalFilterInput +} + +input SiteBuildMetadataSortInput { + fields: [SiteBuildMetadataFieldsEnum] + order: [SortOrderEnum] = [ASC] +} " `; diff --git a/packages/gatsby/src/schema/__tests__/__snapshots__/print.js.snap b/packages/gatsby/src/schema/__tests__/__snapshots__/print.js.snap index ddd171cef7e5a..34653615950ac 100644 --- a/packages/gatsby/src/schema/__tests__/__snapshots__/print.js.snap +++ b/packages/gatsby/src/schema/__tests__/__snapshots__/print.js.snap @@ -108,6 +108,20 @@ type SitePage implements Node @dontInfer { matchPath: String } +type SitePlugin implements Node @dontInfer { + resolve: String + name: String + version: String + nodeAPIs: [String] + browserAPIs: [String] + ssrAPIs: [String] + pluginFilepath: String +} + +type SiteBuildMetadata implements Node @dontInfer { + buildTime: Date @dateformat +} + type Inline { foo: Nested } @@ -272,6 +286,20 @@ type SitePage implements Node @dontInfer { matchPath: String } +type SitePlugin implements Node @dontInfer { + resolve: String + name: String + version: String + nodeAPIs: [String] + browserAPIs: [String] + ssrAPIs: [String] + pluginFilepath: String +} + +type SiteBuildMetadata implements Node @dontInfer { + buildTime: Date @dateformat +} + type AnotherTest implements Node & ITest @dontInfer { nested: Nested date: Date @dateformat(formatString: \\"YYYY\\") @@ -447,6 +475,20 @@ type SitePage implements Node @dontInfer { matchPath: String } +type SitePlugin implements Node @dontInfer { + resolve: String + name: String + version: String + nodeAPIs: [String] + browserAPIs: [String] + ssrAPIs: [String] + pluginFilepath: String +} + +type SiteBuildMetadata implements Node @dontInfer { + buildTime: Date @dateformat +} + type AnotherTest implements Node & ITest @dontInfer { nested: Nested date: Date @dateformat(formatString: \\"YYYY\\") diff --git a/packages/gatsby/src/schema/__tests__/__snapshots__/rebuild-schema.js.snap b/packages/gatsby/src/schema/__tests__/__snapshots__/rebuild-schema.js.snap index be6f7aeb15618..2f8567e6523b7 100644 --- a/packages/gatsby/src/schema/__tests__/__snapshots__/rebuild-schema.js.snap +++ b/packages/gatsby/src/schema/__tests__/__snapshots__/rebuild-schema.js.snap @@ -427,6 +427,44 @@ type SitePage implements Node { internal: Internal! } +type SitePlugin implements Node { + resolve: String + name: String + version: String + nodeAPIs: [String] + browserAPIs: [String] + ssrAPIs: [String] + pluginFilepath: String + id: ID! + parent: Node + children: [Node!]! + internal: Internal! +} + +type SiteBuildMetadata implements Node { + buildTime( + \\"\\"\\" + Format the date using Moment.js' date tokens, e.g. \`date(formatString: \\"YYYY MMMM DD\\")\`. See https://momentjs.com/docs/#/displaying/format/ for documentation for different tokens. + \\"\\"\\" + formatString: String + + \\"\\"\\"Returns a string generated with Moment.js' \`fromNow\` function\\"\\"\\" + fromNow: Boolean + + \\"\\"\\" + Returns the difference between this date and the current time. Defaults to \\"milliseconds\\" but you can also pass in as the measurement \\"years\\", \\"months\\", \\"weeks\\", \\"days\\", \\"hours\\", \\"minutes\\", and \\"seconds\\". + \\"\\"\\" + difference: String + + \\"\\"\\"Configures the locale Moment.js will use to format the date.\\"\\"\\" + locale: String + ): Date + id: ID! + parent: Node + children: [Node!]! + internal: Internal! +} + type Query { file(sourceInstanceName: StringQueryOperatorInput, absolutePath: StringQueryOperatorInput, relativePath: StringQueryOperatorInput, extension: StringQueryOperatorInput, size: IntQueryOperatorInput, prettySize: StringQueryOperatorInput, modifiedTime: DateQueryOperatorInput, accessTime: DateQueryOperatorInput, changeTime: DateQueryOperatorInput, birthTime: DateQueryOperatorInput, root: StringQueryOperatorInput, dir: StringQueryOperatorInput, base: StringQueryOperatorInput, ext: StringQueryOperatorInput, name: StringQueryOperatorInput, relativeDirectory: StringQueryOperatorInput, dev: IntQueryOperatorInput, mode: IntQueryOperatorInput, nlink: IntQueryOperatorInput, uid: IntQueryOperatorInput, gid: IntQueryOperatorInput, rdev: IntQueryOperatorInput, ino: FloatQueryOperatorInput, atimeMs: FloatQueryOperatorInput, mtimeMs: FloatQueryOperatorInput, ctimeMs: FloatQueryOperatorInput, atime: DateQueryOperatorInput, mtime: DateQueryOperatorInput, ctime: DateQueryOperatorInput, birthtime: DateQueryOperatorInput, birthtimeMs: FloatQueryOperatorInput, id: StringQueryOperatorInput, parent: NodeFilterInput, children: NodeFilterListInput, internal: InternalFilterInput): File allFile(filter: FileFilterInput, sort: FileSortInput, skip: Int, limit: Int): FileConnection! @@ -438,6 +476,10 @@ type Query { allSiteFunction(filter: SiteFunctionFilterInput, sort: SiteFunctionSortInput, skip: Int, limit: Int): SiteFunctionConnection! sitePage(path: StringQueryOperatorInput, component: StringQueryOperatorInput, internalComponentName: StringQueryOperatorInput, componentChunkName: StringQueryOperatorInput, matchPath: StringQueryOperatorInput, id: StringQueryOperatorInput, parent: NodeFilterInput, children: NodeFilterListInput, internal: InternalFilterInput): SitePage allSitePage(filter: SitePageFilterInput, sort: SitePageSortInput, skip: Int, limit: Int): SitePageConnection! + sitePlugin(resolve: StringQueryOperatorInput, name: StringQueryOperatorInput, version: StringQueryOperatorInput, nodeAPIs: StringQueryOperatorInput, browserAPIs: StringQueryOperatorInput, ssrAPIs: StringQueryOperatorInput, pluginFilepath: StringQueryOperatorInput, id: StringQueryOperatorInput, parent: NodeFilterInput, children: NodeFilterListInput, internal: InternalFilterInput): SitePlugin + allSitePlugin(filter: SitePluginFilterInput, sort: SitePluginSortInput, skip: Int, limit: Int): SitePluginConnection! + siteBuildMetadata(buildTime: DateQueryOperatorInput, id: StringQueryOperatorInput, parent: NodeFilterInput, children: NodeFilterListInput, internal: InternalFilterInput): SiteBuildMetadata + allSiteBuildMetadata(filter: SiteBuildMetadataFilterInput, sort: SiteBuildMetadataSortInput, skip: Int, limit: Int): SiteBuildMetadataConnection! } input StringQueryOperatorInput { @@ -1323,6 +1365,278 @@ input SitePageSortInput { fields: [SitePageFieldsEnum] order: [SortOrderEnum] = [ASC] } + +type SitePluginConnection { + totalCount: Int! + edges: [SitePluginEdge!]! + nodes: [SitePlugin!]! + pageInfo: PageInfo! + distinct(field: SitePluginFieldsEnum!): [String!]! + max(field: SitePluginFieldsEnum!): Float + min(field: SitePluginFieldsEnum!): Float + sum(field: SitePluginFieldsEnum!): Float + group(skip: Int, limit: Int, field: SitePluginFieldsEnum!): [SitePluginGroupConnection!]! +} + +type SitePluginEdge { + next: SitePlugin + node: SitePlugin! + previous: SitePlugin +} + +enum SitePluginFieldsEnum { + resolve + name + version + nodeAPIs + browserAPIs + ssrAPIs + pluginFilepath + 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 +} + +type SitePluginGroupConnection { + totalCount: Int! + edges: [SitePluginEdge!]! + nodes: [SitePlugin!]! + pageInfo: PageInfo! + field: String! + fieldValue: String +} + +input SitePluginFilterInput { + resolve: StringQueryOperatorInput + name: StringQueryOperatorInput + version: StringQueryOperatorInput + nodeAPIs: StringQueryOperatorInput + browserAPIs: StringQueryOperatorInput + ssrAPIs: StringQueryOperatorInput + pluginFilepath: StringQueryOperatorInput + id: StringQueryOperatorInput + parent: NodeFilterInput + children: NodeFilterListInput + internal: InternalFilterInput +} + +input SitePluginSortInput { + fields: [SitePluginFieldsEnum] + order: [SortOrderEnum] = [ASC] +} + +type SiteBuildMetadataConnection { + totalCount: Int! + edges: [SiteBuildMetadataEdge!]! + nodes: [SiteBuildMetadata!]! + pageInfo: PageInfo! + distinct(field: SiteBuildMetadataFieldsEnum!): [String!]! + max(field: SiteBuildMetadataFieldsEnum!): Float + min(field: SiteBuildMetadataFieldsEnum!): Float + sum(field: SiteBuildMetadataFieldsEnum!): Float + group(skip: Int, limit: Int, field: SiteBuildMetadataFieldsEnum!): [SiteBuildMetadataGroupConnection!]! +} + +type SiteBuildMetadataEdge { + next: SiteBuildMetadata + node: SiteBuildMetadata! + previous: SiteBuildMetadata +} + +enum SiteBuildMetadataFieldsEnum { + buildTime + 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 +} + +type SiteBuildMetadataGroupConnection { + totalCount: Int! + edges: [SiteBuildMetadataEdge!]! + nodes: [SiteBuildMetadata!]! + pageInfo: PageInfo! + field: String! + fieldValue: String +} + +input SiteBuildMetadataFilterInput { + buildTime: DateQueryOperatorInput + id: StringQueryOperatorInput + parent: NodeFilterInput + children: NodeFilterListInput + internal: InternalFilterInput +} + +input SiteBuildMetadataSortInput { + fields: [SiteBuildMetadataFieldsEnum] + order: [SortOrderEnum] = [ASC] +} " `; diff --git a/packages/gatsby/src/schema/__tests__/node-model.js b/packages/gatsby/src/schema/__tests__/node-model.js index bcec78f2abec2..b823600af3713 100644 --- a/packages/gatsby/src/schema/__tests__/node-model.js +++ b/packages/gatsby/src/schema/__tests__/node-model.js @@ -18,6 +18,8 @@ describe(`NodeModel`, () => { `Site`, `SitePage`, `SiteFunction`, + `SitePlugin`, + `SiteBuildMetadata`, `Author`, `Contributor`, `RemoteFile`, diff --git a/packages/gatsby/src/schema/types/built-in-types.ts b/packages/gatsby/src/schema/types/built-in-types.ts index 5637900167f5d..484a11fa03f95 100644 --- a/packages/gatsby/src/schema/types/built-in-types.ts +++ b/packages/gatsby/src/schema/types/built-in-types.ts @@ -1,5 +1,7 @@ import { parse, DocumentNode } from "graphql" +// TODO v4: mark all built-in types with @dontInfer and add missing fields (maybe as `JSON` type) + const fileType = ` type File implements Node @infer { sourceInstanceName: String! @@ -84,14 +86,14 @@ const directoryType = ` } ` -const site = ` +const siteType = ` type Site implements Node @infer { buildTime: Date @dateformat siteMetadata: SiteSiteMetadata } ` -const siteSiteMetadata = ` +const siteSiteMetadataType = ` type SiteSiteMetadata { title: String description: String @@ -108,13 +110,36 @@ const sitePageType = ` } ` +const sitePluginType = ` + type SitePlugin implements Node @infer { + resolve: String + name: String + version: String + nodeAPIs: [String] + browserAPIs: [String] + ssrAPIs: [String] + pluginFilepath: String + # TODO v4: + # pluginOptions: JSON + # packageJson: JSON + } +` + +const siteBuildMetadataType = ` + type SiteBuildMetadata implements Node @infer { + buildTime: Date @dateformat + } +` + const allSdlTypes = [ fileType, directoryType, - site, - siteSiteMetadata, + siteType, + siteSiteMetadataType, siteFunctionType, sitePageType, + sitePluginType, + siteBuildMetadataType, ] export const overridableBuiltInTypeNames = new Set([`SiteSiteMetadata`])