UNPKG

gatsby-adapter-netlify

Version:
27 lines (26 loc) 1.14 kB
"use strict"; exports.__esModule = true; exports.generateFileUrl = exports.default = void 0; var _crypto = require("crypto"); var _path = require("path"); function isImage(node) { return node.mimeType.startsWith(`image/`) && node.mimeType !== `image/svg+xml`; } const placeholderOrigin = `http://netlify.com`; const generateFileUrl = function generateFileUrl(source, pathPrefix) { // use image cdn for images and file lambda for other files let baseURL; if (isImage(source)) { baseURL = new URL(`${placeholderOrigin}/.netlify/images`); baseURL.searchParams.append(`url`, source.url); baseURL.searchParams.append(`cd`, source.internal.contentDigest); } else { baseURL = new URL(`${placeholderOrigin}${pathPrefix}/_gatsby/file/${(0, _crypto.createHash)(`md5`).update(source.url).digest(`hex`)}/${(0, _path.basename)(source.filename)}`); baseURL.searchParams.append(`url`, source.url); baseURL.searchParams.append(`cd`, source.internal.contentDigest); } return `${baseURL.pathname}${baseURL.search}`; }; exports.generateFileUrl = generateFileUrl; var _default = generateFileUrl; exports.default = _default;