https://github.com/sparanoid/grunt-service-worker
Grunt sw-precache wrapper
https://github.com/sparanoid/grunt-service-worker
almace-scaffolding grunt offline offline-first service-worker sw-precache
Last synced: 2 months ago
JSON representation
Grunt sw-precache wrapper
- Host: GitHub
- URL: https://github.com/sparanoid/grunt-service-worker
- Owner: sparanoid
- License: mit
- Created: 2017-01-14T10:20:20.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-05-28T11:03:10.000Z (about 2 years ago)
- Last Synced: 2024-10-11T19:04:02.238Z (8 months ago)
- Topics: almace-scaffolding, grunt, offline, offline-first, service-worker, sw-precache
- Language: JavaScript
- Size: 112 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# grunt-service-worker
[](https://greenkeeper.io/)
[](https://www.npmjs.com/package/grunt-service-worker)
[](https://travis-ci.org/sparanoid/grunt-service-worker)
[](https://david-dm.org/sparanoid/grunt-service-worker)
[](https://david-dm.org/sparanoid/grunt-service-worker?type=dev)> `sw-precache` wrapper
## Getting Started
If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install grunt-service-worker --save-dev
```Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-service-worker');
```## The "service_worker" task
### Overview
In your project's Gruntfile, add a section named `service_worker` to the data object passed into `grunt.initConfig()`.
```js
grunt.initConfig({
service_worker: {
options: {
// Task-specific options go here.
}
},
});
```### Options
Options are passed to [sw-precache](https://github.com/GoogleChrome/sw-precache). In addition this task defines some extra options:
#### options.baseDir
Type: `String`
Default value: `'./'`The base working directory `swPrecache` scans.
#### options.workerFile
Type: `String`
Default value: `'service-worker.js'`Service Worker entry filename, `sw.js` would be a good alternative.
### Usage Examples
#### Default Options
In this example, `service_worker` will scans all files under `public` directory and generate `service-worker.js` with default options.
```js
grunt.initConfig({
service_worker: {
options: {
baseDir: 'public'
}
},
});
```#### Custom Options
In this example, `service_worker` will scans all files under `dist` directory and generate `sw.js` with a custom `staticFileGlobs`.
```js
grunt.initConfig({
service_worker: {
options: {
baseDir: 'dist',
workerFile: 'sw.js'
staticFileGlobs: [
'**/*.{gif,jpg,png}'
]
}
},
});
```## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).
## License
MIT