Coder Social home page Coder Social logo

willylatorre / gulp-cache-breaker Goto Github PK

View Code? Open in Web Editor NEW

This project forked from allenai/gulp-cache-breaker

0.0 1.0 0.0 18 KB

Gulp utility for producing unique urls to static resources for the purpose of ensuring a cache miss after deploying updates.

License: GNU General Public License v2.0

HTML 4.89% JavaScript 95.11%

gulp-cache-breaker's Introduction

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

CacheBreaker.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).

CacheBreaker.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.

CacheBreaker.symlinkCbPaths()

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

gulp-cache-breaker's People

Contributors

codeviking avatar willylatorre avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.