Skip to content

Commit 99e7c97

Browse files
committed
feat: move metadata to contentfulMetadata with codemods
1 parent 2c3c55d commit 99e7c97

File tree

6 files changed

+60
-5
lines changed

6 files changed

+60
-5
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const result = await graphql(`{
2+
allContentfulPage {
3+
edges {
4+
node {
5+
metadata {
6+
tags {
7+
id
8+
}
9+
}
10+
}
11+
}
12+
}
13+
}
14+
`)
15+
16+
const { tags } = data.contentfulPage.node.metadata
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
const result = await graphql(`{
2+
allContentfulContentTypePage {
3+
edges {
4+
node {
5+
contentfulMetadata {
6+
tags {
7+
id
8+
}
9+
}
10+
}
11+
}
12+
}
13+
}
14+
`)
15+
16+
const { tags } = data.contentfulContentTypePage.node.contentfulMetadata

packages/gatsby-codemods/src/transforms/__tests__/gatsby-source-contentful-test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const tests = [
22
`assets`,
33
`graphql-filter`,
44
`graphql-sort`,
5+
`metadata`,
56
`query-results`,
67
`sys`,
78
`sys-type`,

packages/gatsby-codemods/src/transforms/gatsby-source-contentful.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,20 @@ export function updateImport(babel) {
204204
)}: You might need to change flatten the Contentful Asset structure: "file.details.image.width" -> "width"`
205205
)
206206
}
207+
208+
if (path.node.property?.name === `metadata`) {
209+
if (path.node.object.property.name === `node`) {
210+
path.node.property.name = `contentfulMetadata`
211+
state.opts.hasChanged = true
212+
return
213+
}
214+
console.log(
215+
`${renderFilename(
216+
path,
217+
state
218+
)}: You might need to change your data selectors: "metadata" -> "contentfulMetadata"`
219+
)
220+
}
207221
},
208222
TaggedTemplateExpression({ node }, state) {
209223
if (node.tag.name !== `graphql`) {
@@ -430,6 +444,14 @@ function processGraphQLQuery(query, state) {
430444
}
431445
})
432446

447+
// Rename metadata to contentfulMetadata node selectors
448+
node.selections.forEach(field => {
449+
if (field.name?.value === `metadata`) {
450+
field.name.value = `contentfulMetadata`
451+
hasChanged = true
452+
}
453+
})
454+
433455
// Rename sys.type to sys.contentType
434456
node.selections.forEach(field => {
435457
if (field.name?.value === `sys`) {

packages/gatsby-source-contentful/src/generate-schema.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ export async function generateSchema({
181181
fields: {
182182
id: { type: `ID!` },
183183
sys: { type: `ContentfulSys!` },
184-
metadata: { type: `ContentfulMetadata!` },
184+
contentfulMetadata: { type: `ContentfulMetadata!` },
185185
},
186186
interfaces: [`Node`],
187187
})
@@ -193,7 +193,7 @@ export async function generateSchema({
193193
fields: {
194194
id: { type: `ID!` },
195195
sys: { type: `ContentfulSys!` },
196-
metadata: { type: `ContentfulMetadata!` },
196+
contentfulMetadata: { type: `ContentfulMetadata!` },
197197
},
198198
interfaces: [`ContentfulEntity`, `Node`],
199199
})
@@ -485,7 +485,7 @@ export async function generateSchema({
485485
fields: {
486486
id: { type: `ID!` },
487487
sys: { type: `ContentfulSys!` },
488-
metadata: { type: `ContentfulMetadata!` },
488+
contentfulMetadata: { type: `ContentfulMetadata!` },
489489
...fields,
490490
},
491491
interfaces: [`ContentfulEntity`, `ContentfulEntry`, `Node`],

packages/gatsby-source-contentful/src/normalize.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -536,7 +536,7 @@ export const createNodesForContentType = ({
536536
entryNode = {
537537
...entryItemFields,
538538
...entryNode,
539-
metadata: {
539+
contentfulMetadata: {
540540
tags___NODE: entryItem.metadata.tags.map(tag =>
541541
createNodeId(`ContentfulTag__${space.sys.id}__${tag.sys.id}`)
542542
),
@@ -602,7 +602,7 @@ export const createAssetNodes = ({
602602
publishedVersion: assetItem.sys.revision,
603603
},
604604
placeholderUrl: `https:${file.url}?w=%width%&h=%height%`,
605-
metadata: {
605+
contentfulMetadata: {
606606
tags___NODE: assetItem.metadata.tags.map(tag =>
607607
createNodeId(`ContentfulTag__${space.sys.id}__${tag.sys.id}`)
608608
),

0 commit comments

Comments
 (0)