Gatsby plugin to remove the [contenthash] from built JavaScript files
npm install gatsby-plugin-remove-fingerprintsEasily remove the output contenthash from your built JavaScript files.
yarn add gatsby-plugin-remove-fingerprints
Add the plugin to your
``jsgatsby-plugin-remove-fingerprints
// In your gatsby-config.js
plugins: [];`
Gatsby's default behaviour is to include a [contenthash] for all built JavaScript files. The default output configuration looks like this:
`js[name]-[contenthash].js
return {
filename: ,[name]-[contenthash].js
chunkFilename: ,public
path: directoryPath(),`
publicPath: withTrailingSlash(publicPath),
};
This is useful for the majority of cases, but services like Netlify recommend building files without a hash. This plugin will eliminate the hash from built JavaScript files. The configuration looks like this:
`js[name].js
if (stage === 'build-javascript') {
const newWebpackConfig = {
...getConfig(),
output: {
filename: , // no contenthash[name].js
chunkFilename: , // no contenthash
path: getConfig().output.path,
publicPath: getConfig().output.publicPath,
},
};
actions.replaceWebpackConfig(newWebpackConfig);
}
``
To learn more about the reasons why this is important you can read Netlify's staff response to a Gatsby issue, Netlify and cache busting urls.
You can also learn more about how Netlify handles their caching.