@@ -107,6 +107,33 @@ const pushPromiseOntoRetryQueue = ({
107
107
} )
108
108
}
109
109
110
+ export const addImageCDNFieldsToNode = ( node , pluginOptions ) => {
111
+ if ( ! node ?. __typename ?. includes ( `MediaItem` ) ) {
112
+ return node
113
+ }
114
+
115
+ const placeholderUrl = getPlaceholderUrlFromMediaItemNode ( node , pluginOptions )
116
+
117
+ const url = node . sourceUrl || node . mediaItemUrl
118
+
119
+ const filename =
120
+ node ?. mediaDetails ?. file ?. split ( `/` ) ?. pop ( ) ||
121
+ path . basename ( urlUtil . parse ( url ) . pathname )
122
+
123
+ return {
124
+ ...node ,
125
+ url,
126
+ contentType : node . contentType ,
127
+ mimeType : node . mimeType ,
128
+ filename,
129
+ filesize : node ?. mediaDetails ?. fileSize ,
130
+ width : node ?. mediaDetails ?. width ,
131
+ height : node ?. mediaDetails ?. height ,
132
+ placeholderUrl :
133
+ placeholderUrl ?? node ?. mediaDetails ?. sizes ?. [ 0 ] ?. sourceUrl ?? url ,
134
+ }
135
+ }
136
+
110
137
export const createMediaItemNode = async ( {
111
138
node,
112
139
helpers,
@@ -180,35 +207,18 @@ export const createMediaItemNode = async ({
180
207
)
181
208
}
182
209
183
- const placeholderUrl = getPlaceholderUrlFromMediaItemNode (
184
- node ,
210
+ node = addImageCDNFieldsToNode (
211
+ {
212
+ ...node ,
213
+ parent : null ,
214
+ internal : {
215
+ contentDigest : createContentDigest ( node ) ,
216
+ type : buildTypeName ( `MediaItem` ) ,
217
+ } ,
218
+ } ,
185
219
pluginOptions
186
220
)
187
221
188
- const url = node . sourceUrl || node . mediaItemUrl
189
-
190
- const filename =
191
- node ?. mediaDetails ?. file ?. split ( `/` ) ?. pop ( ) ||
192
- path . basename ( urlUtil . parse ( url ) . pathname )
193
-
194
- node = {
195
- ...node ,
196
- url,
197
- contentType : node . contentType ,
198
- mimeType : node . mimeType ,
199
- filename,
200
- filesize : node ?. mediaDetails ?. fileSize ,
201
- width : node ?. mediaDetails ?. width ,
202
- height : node ?. mediaDetails ?. height ,
203
- placeholderUrl :
204
- placeholderUrl ?? node ?. mediaDetails ?. sizes ?. [ 0 ] ?. sourceUrl ?? url ,
205
- parent : null ,
206
- internal : {
207
- contentDigest : createContentDigest ( node ) ,
208
- type : buildTypeName ( `MediaItem` ) ,
209
- } ,
210
- }
211
-
212
222
if ( localFileNode ?. id ) {
213
223
node . localFile = {
214
224
id : localFileNode ?. id ,
0 commit comments