Files
30-seconds-of-code/node_modules/gatsby-transformer-sharp/gatsby-node.js
2019-08-20 15:52:05 +02:00

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!
}
`);
}
};