Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Munter/netlify-plugin-hashfiles
Netlify build plugin to get optimal file caching with hashed file names and immutable cache headers
https://github.com/Munter/netlify-plugin-hashfiles
Last synced: 3 months ago
JSON representation
Netlify build plugin to get optimal file caching with hashed file names and immutable cache headers
- Host: GitHub
- URL: https://github.com/Munter/netlify-plugin-hashfiles
- Owner: Munter
- License: bsd-3-clause
- Created: 2019-10-20T23:05:13.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-07-29T06:29:10.000Z (4 months ago)
- Last Synced: 2024-07-29T07:54:42.276Z (4 months ago)
- Language: JavaScript
- Size: 983 KB
- Stars: 33
- Watchers: 3
- Forks: 3
- Open Issues: 55
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Netlify Hashfiles Build Plugin
[![NPM version](https://badge.fury.io/js/netlify-plugin-hashfiles.svg)](http://badge.fury.io/js/netlify-plugin-hashfiles)
[![Build Status](https://travis-ci.org/Munter/netlify-plugin-hashfiles.svg?branch=master)](https://travis-ci.org/Munter/netlify-plugin-hashfiles)
[![Coverage Status](https://img.shields.io/coveralls/Munter/netlify-plugin-hashfiles.svg)](https://coveralls.io/r/Munter/netlify-plugin-hashfiles?branch=master)
[![Dependency Status](https://david-dm.org/Munter/netlify-plugin-hashfiles.svg)](https://david-dm.org/Munter/netlify-plugin-hashfiles) [![Greenkeeper badge](https://badges.greenkeeper.io/Munter/netlify-plugin-hashfiles.svg)](https://greenkeeper.io/)Hashfiles sets you up with an optimal caching strategy for static sites, where static assets across pages are cached for as long as possible in the visitors browser and never have to be re-requested.
Hashfiles will move your static into a single static file directory which it sets up with immutable cache headers. All static files will be renamed to contain a hash of their content, making them content-addressable and thus well suited for immutable caching.
Relevant files that need to retain their names are not moved:
- Entry points
- HTML pages with incoming links
- /favicon.ico
- /\*.txt
- Cache manifests
- Serviceworkers
- News feeds (RSS, Atom)## Installation
To install, add the following lines to your `netlify.toml` file:
```toml
[[plugins]]
package = "netlify-plugin-hashfiles"
```_The `[[plugins]]` line is required for each plugin, even if you have other plugins in your `netlify.toml` file already._
**IMPORTANT NOTE:** Hashing files has to be the last thing you do before deploying. Make sure you add hashfiles at the bottom of your plugin configuration.
## Configuration
Hashfiles works out of the box, but can be improved upon with some improved knowledge about your site.
These are the configuration options with their default values:
```toml
[[plugins]]
package = "netlify-plugin-hashfiles"[plugins.inputs]
# An array of glob patterns for pages on your site. Recursive traversal will start from these
entryPoints = [
"*.html"
]# Directory where content-addressable files are moved and immutable cache-headers are set
staticDir = "/static/"
```## License
[BSD 3-Clause License]()