37 lines
967 B
JavaScript
37 lines
967 B
JavaScript
"use strict";
|
|
|
|
const fs = require(`fs-extra`);
|
|
|
|
exports.onCreateNode = require(`./on-node-create`);
|
|
exports.setFieldsOnGraphQLNodeType = require(`./extend-node-type`);
|
|
|
|
exports.onPreExtractQueries = async ({
|
|
store,
|
|
getNodesByType
|
|
}) => {
|
|
const program = store.getState().program; // Check if there are any ImageSharp nodes. If so add fragments for ImageSharp.
|
|
// The fragment will cause an error if there are no ImageSharp nodes.
|
|
|
|
if (getNodesByType(`ImageSharp`).length == 0) {
|
|
return;
|
|
} // We have ImageSharp nodes so let's add our fragments to .cache/fragments.
|
|
|
|
|
|
await fs.copy(require.resolve(`gatsby-transformer-sharp/src/fragments.js`), `${program.directory}/.cache/fragments/image-sharp-fragments.js`);
|
|
};
|
|
|
|
exports.sourceNodes = ({
|
|
actions
|
|
}) => {
|
|
const {
|
|
createTypes
|
|
} = actions;
|
|
|
|
if (createTypes) {
|
|
createTypes(`
|
|
type ImageSharp implements Node @infer @childOf(types: ["File"]) {
|
|
id: ID!
|
|
}
|
|
`);
|
|
}
|
|
}; |