2.0.1 • Published 7 years ago

sw-precache-brunch v2.0.1

Weekly downloads
21
License
MIT
Repository
github
Last release
7 years ago

sw-precache-brunch Build Status

Adds Service Worker Precache support to brunch.

Usage

Install the plugin via npm with npm install --save-dev sw-precache-brunch.

Or, do manual install:

  • Add "sw-precache-brunch": "~x.y.z" to package.json of your brunch app.
  • If you want to use git version of plugin, use the GitHub URI "sw-precache-brunch": "denar90/sw-precache-brunch".

Project example of it's usage

Configuration

swFileName String

Filename for service worker.

It will be placed into destination (public) brunch folder.

Default: 'sw.js'

autorequire Boolean, Array

This option gives possibility to add and register service worker into html asset files.

If value set as true service worker will be added and registered to ALL html assets automatically.

Config example:

swPrecache: {
  'swFileName': 'service-worker.js',
  'autorequire': true
}
swPrecache: {
  'autorequire': ['app/assets/index.html']
}

Default: false

options Object

Options for sw-precache.

Look at all sw-precache available options.

Default: {staticFileGlobs: ['public/**/*.*']}

If you don't pass any configuration properties it will cache all files in your public folder and create sw.js. All what you need is register service worker for your app.

###Config example

module.exports = {
  files: {
    javascripts: {
      joinTo: {
        'vendor.js': /^(?!app|test)/,
        'app.js': /^app/,
        'test.js': /^test/
      }
    },
    stylesheets: {joinTo: 'app.css'},
  },
  plugins: {
    babel: {presets: ['es2015']},
    swPrecache: {
      swFileName: 'service-worker.js',
      options: { 
        staticFileGlobs: [
           'public/app.css',
           'public/app.js',
           'public/index.html'
        ],
        stripPrefix: 'public/'
      }
    }
  }
};
module.exports = {
  plugins: {
    ...
    swPrecache: {
      autorequire: ['app/assets/index.html']
    }
    ...
  }
};

License

MIT © Artem Denysov