GitXplorerGitXplorer
j

netlify-plugin-gatsby-cache

public
185 stars
21 forks
7 issues

Commits

List of commits on branch main.
Verified
0e6750f8ff5f2cde99ff8b730d52fd9ecf650d4f

docs: add link to Essential Gatsby to readme (#58)

rrstavchansky committed 3 years ago
Verified
c7b829287597c408ad19b0af5eb2dc552691b871

docs: adding more information on README.md (#43)

llucis committed 4 years ago
Verified
5dfb7340c79fecde23b43a780814a9de634af31b

0.3.2

jjlengstorf committed 4 years ago
Verified
e0936fb0a9338301f396d5608a95d2d164bb7f8d

chore: update install instructions

jjlengstorf committed 4 years ago
Verified
c1de5329c3bfdb8f6ff7358032c7d8304abc9384

chore: update README

jjlengstorf committed 4 years ago
Verified
1e8d74ded164c3bd6a1c73be0a02df8b15e74181

0.3.1

jjlengstorf committed 4 years ago

README

The README file for this repository.

Netlify Build Plugin: Persist the Gatsby Cache Between Builds

Persist the Gatsby cache between Netlify builds for huge build speed improvements! ⚡️

Note: The functionality in this plugin is now available in the Essential Gatsby build plugin. Check out Essential Gatsby for additional framework-specific functionality on Netlify, including Gatsby Functions. If you choose to install it, you should remove this plugin first.

Usage

Currently, there are two ways to install this plugin on your application:

Installing from Netlify UI

Installing from your project's code

You can also install it manually using netlify.toml. If you want to know more about file-based configuration on Netlify, click here.

Add the following lines to your project's netlify.toml file:

[build]
  publish = "public"

[[plugins]]
  package = "netlify-plugin-gatsby-cache"

Note: The [[plugins]] line is required for each plugin, even if you have other plugins in your netlify.toml file already.

How does it work?

This plugin determines the location of your .cache folder by looking at the publish folder configured for Netlify deployment. This means that if your Gatsby site successfully deploys, it will be cached as well with no config required! 🎉

How much of a difference does this plugin make in build times?

Each Gatsby site is different, so build times vary widely between them, but one common slowdown in Gatsby builds is processing and transforming images. Gatsby is smart enough to check if these transformations have already been done and skip them, but in order to get that benefit in a build pipeline (e.g. Netlify) the public and .cache directories need to be preserved between builds. That’s what this plugin does!

No Cache Cache Savings
* 231 GraphQL queries
* 1,871 images
* 224 pages
293207ms (build log) 72835ms (build log) 75%
* 5 GraphQL queries
* No image processing
* 32 pages
22072ms (build log) 15543ms (build log) 30%

tl;dr: Repeat builds with lots of images will be much faster. With few or no images, the difference will be there, but it won’t be as pronounced.

Want to learn how to create your own Netlify Build Plugins?

Check out Sarah Drasner’s excellent tutorial!