Skip to content

Commit

Permalink
fix(gatsby-plugin-image): Normalize filename for correct hashing (#37262
Browse files Browse the repository at this point in the history
) (#37263)

* initial

* add peace of mind

(cherry picked from commit 397fa3f)

Co-authored-by: Lennart <lekoarts@gmail.com>
  • Loading branch information
gatsbybot and LekoArts authored Dec 14, 2022
1 parent 98cbee1 commit b7477f4
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,9 @@ export default function attrs({
}

// Adding the filename to the hashing, like in "extractStaticImageProps" function
props.filename = state.filename
if (state.filename) {
props.filename = slash(state.filename)
}
const hash = hashOptions(props)

const cacheDir = (this.opts as Record<string, string>)?.cacheDir
Expand Down
4 changes: 3 additions & 1 deletion packages/gatsby-plugin-image/src/node-apis/parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { NodePath } from "@babel/core"
import { JSXOpeningElement } from "@babel/types"
import { parse, ParserOptions } from "@babel/parser"
import babel from "@babel/core"
import { slash } from "gatsby-core-utils"
import { evaluateImageAttributes, hashOptions } from "../babel-helpers"
import { IStaticImageProps } from "../components/static-image.server"

Expand Down Expand Up @@ -96,7 +97,8 @@ export const extractStaticImageProps = (
) as unknown as IStaticImageProps
// When the image props are the same for multiple StaticImage but they are in different locations
// the hash will be the same then. We need to make sure that the hash is unique.
image.filename = filename
// The filename should already be normalized but better safe than sorry.
image.filename = slash(filename)

images.set(hashOptions(image), image)
},
Expand Down

0 comments on commit b7477f4

Please sign in to comment.