1.2.0 • Published 4 years ago

gulp-cache-breaker v1.2.0

Weekly downloads
149
License
Apache-2.0
Repository
github
Last release
4 years ago

⚠️ INACTIVE PACKAGE ⚠️

This package is no longer under active development. Use at your own risk.

If you find it useful, reach out to sams@codeviking.net. I'd be happy to transfer the package to you for future maintenance.

gulp-cache-breaker

Gulp utility which inserts SHA1 checksums into filepaths. It can also produce symlinks so that files can be requested by their cache-broken path.

Installation

npm install --save-dev gulp-cache-breaker

Usage

Example HTML:

Indicate urls that should have a cache-breaking query string parameter append to by wrapping them in {{cache-break:%url%}} statements, as seen below:

<!DOCTYPE html><html>
  <head>
    <link rel="stylesheet" type="text/css" href="{{cache-break:/styles.css}}">
  </head>
  <body>
	<script src="{{cache-break:/app.js}}">
  </body>
</html>

Paths that aren't wrapped in {{cache-break:%url%}} will not have the cache-breaking checksum inserted.

Gulpfile:

var gulp = require('gulp');
var CacheBreaker = require('gulp-cache-breaker');

var cb = new CacheBreaker();

gulp.task('html', function() {
  return gulp.src('src/index.html')
      .pipe(cb.gulpCbPath('dist'))
      .pipe(gulp.dest('dist'));
});

// Write symlinks for all cache-broken paths from previous tasks.
gulp.task('symlink-cb-paths', ['html'], function() {
  cb.symlinkCbPaths();
});

API

cb.gulpCbPath(base)

base

Type: string Default: The current working directory, the result of process.cwd()

The path to the base directory from which static files that will be served. For instance, if files are built into the dist/ directory, this would be set to dist. It's also important to make sure that cache-breaking occurs after any static resources are built (if you want the last modified time to serve as the cache-breaker).

cb.gulpCdnUri(base, host)

base

Type: string Default: The current working directory, the result of process.cwd()

host

Type: string Default: null

A hostname for a CDN to generate absolute URIs to assets. This method replaces patterns of the form {{cdn-path:%url%}}. If this parameter is null, it calls through to gulpCbPath.

cb.symlinkCbPaths()

Generates symlinks for all paths seen in previous calls to gulpCbPath and gulpCdnUri on this instance.