gatsby-source-prismic
Version:
Gatsby source plugin for building websites using Prismic as a data source
54 lines (53 loc) • 1.85 kB
JavaScript
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const prismic = require("@prismicio/client");
const graphqlUtils = require("gatsby-plugin-image/graphql-utils");
const constants = require("../constants.cjs");
const resolveGatsbyImageData_server = require("./resolveGatsbyImageData.server.cjs");
const buildGatsbyImageDataFieldConfig = (config) => {
const fieldConfig = graphqlUtils.getGatsbyImageFieldConfig(async (source, args) => {
if (prismic.isFilled.imageThumbnail(source)) {
return resolveGatsbyImageData_server.resolveGatsbyImageData({
url: source.url,
width: source.dimensions.width,
height: source.dimensions.height
}, {
...args,
imgixParams: {
...constants.DEFAULT_IMGIX_PARAMS,
...config.pluginOptions.imageImgixParams,
...args.imgixParams
},
placeholderImgixParams: {
...constants.DEFAULT_IMGIX_PARAMS,
...config.pluginOptions.imageImgixParams,
...config.pluginOptions.imagePlaceholderImgixParams,
...args.placeholderImgixParams
}
}, {
cache: config.cache,
pluginName: "gatsby-source-prismic"
});
} else {
return null;
}
});
fieldConfig.args = {
...fieldConfig.args,
placeholder: {
type: "PrismicGatsbyImageDataPlaceholder",
defaultValue: constants.GatsbyImageDataPlaceholderKind.DominantColor
},
imgixParams: {
type: "PrismicImgixURLParams"
},
placeholderImgixParams: {
type: "PrismicImgixURLParams"
}
};
delete fieldConfig.args.outputPixelDensities;
fieldConfig.type = "JSON";
return fieldConfig;
};
exports.buildGatsbyImageDataFieldConfig = buildGatsbyImageDataFieldConfig;
//# sourceMappingURL=buildGatsbyImageDataFieldConfig.cjs.map
;