{"_id":"@yesmeck/offline-plugin","_rev":"1-60486f975b6d25d182cb534dd770bca5","name":"@yesmeck/offline-plugin","dist-tags":{"latest":"5.0.5"},"versions":{"5.0.5":{"name":"@yesmeck/offline-plugin","version":"5.0.5","description":"offline-plugin for webpack","main":"lib/index.js","files":["lib/","tpls/","runtime.js","runtime.d.ts"],"scripts":{"test":"npm run test:fixtures","test:browser":"node tests/run-browser-tests.js","test:fixtures":"node tests/legacy/run && eslint -c configs/eslint.tests.json 'tests/legacy/fixtures/**/**.js'","test:fixtures:fix":"node tests/legacy/run --fix","test:ci_fixtures":"npm run test:fixtures","test:ci_browser":"npm run install:browser-tests && npm run test:browser","test:ci_all":"npm run test:ci_fixtures && npm run test:ci_browser","build":"babel src/ -d lib/","watch":"npm run build -- --watch","install:build-deps":"node build/install-build-deps.js","install:browser-tests":"node build/install-browser-tests.js","tag":"git push && git push --tags","publish:latest":"npm publish","publish:next":"npm publish --tag=next","release:latest:patch":"npm version patch -m '[ci skip] Release %s' && npm run tag && npm run publish:latest","release:latest:minor":"npm version minor -m '[ci skip] Release %s' && npm run tag && npm run publish:latest","release:latest:major":"npm version major -m '[ci skip] Release %s' && npm run tag && npm run publish:latest","release:next:patch":"npm --no-git-tag-version version prepatch && npm run publish:next","release:next:minor":"npm --no-git-tag-version version preminor && npm run publish:next","release:next:major":"npm --no-git-tag-version version premajor && npm run publish:next","release:next:update":"npm --no-git-tag-version version prerelease && npm run publish:next"},"collective":{"type":"opencollective","url":"https://opencollective.com/offline-plugin","logo":"https://opencollective.com/offline-plugin/logo.txt?variant=binary&reverse=true"},"repository":{"type":"git","url":"git+https://github.com/NekR/offline-plugin.git"},"author":{"name":"Arthur Stolyar","email":"nekr.fabula@gmail.com"},"license":"MIT","dependencies":{"deep-extend":"^0.5.1","ejs":"^2.3.4","loader-utils":"0.2.x","minimatch":"^3.0.3","slash":"^1.0.0"},"bugs":{"url":"https://github.com/NekR/offline-plugin/issues"},"homepage":"https://github.com/NekR/offline-plugin","keywords":["webpack","plugin","offline","cache","caching","storage","service-worker","serviceworker","appcache","application cache","pwa","progressive web apps","app-shell","appshell"],"devDependencies":{"chalk":"^1.1.3","cli-highlight":"^1.1.4","copy-webpack-plugin":"^4.2.0","del":"^2.2.2","diff":"^3.0.1","dir-compare":"^1.1.0","eslint":"^3.14.1","express":"^4.16.2","fs-extra":"^5.0.0","glob":"^7.1.2","mocha":"^4.0.1","webpack":"4.x.x"},"buildDependencies":{"babel":"^5.8.23"},"testsBrowserDependencies":{"puppeteer":"^1.1.1"},"gitHead":"a70d8b571bfd6b1f08301b143dcc30f43a18419d","_id":"@yesmeck/offline-plugin@5.0.5","_npmVersion":"6.1.0","_nodeVersion":"10.5.0","_npmUser":{"name":"yesmeck","email":"yesmeck@gmail.com"},"dist":{"integrity":"sha512-aRmdZcyRtSyk2yPYiL7mBRZr7/O0ioNvkOJgFcqJQWlCGF5DJ+acLalnNxhlE4lUJXG82WBY2TBAQ0Ffbtqskw==","shasum":"b44be92787b50c4264b6a5d1f4a13b268662333a","tarball":"https://registry.npmjs.org/@yesmeck/offline-plugin/-/offline-plugin-5.0.5.tgz","fileCount":22,"unpackedSize":110002,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbUVbICRA9TVsSAnZWagAAf0cP/35SpAKgSvqoNxsYT81k\n8GIPfSyqSIB58tk8sQ7+1/DQuu/Z3a9KoJRifiBp+dscvf44tQslprTZSge1\nsvSnTeut7rO4o2EW/qlIHcOs3Nqq5mzl2xW977TTkwPXui19704e0sYIiYHs\nxMmzYkqJZ7wJlfdiMUtnQgNy/vK3L6e+9ctgVWc6IzG0r9K12e2NkgMrhD6x\nrZLf6byipftN8/ULDGwlIuu2InpnamXuv6B/7eOIjHJDOO0JGUG0b6uTEyNr\n4Ih4kw6gJUqkzICq5rqZiQaDSzvz9jXlaIW4kmwwHkDOTv5RC72etlprvYiL\nx/II0PqwxmyN2h0l7ysmDl081K+YzylVS5Rs9zgmLic1lGHrQQMZAvUAcRiE\nHu3vfHfUlIDH2W4B/qKs5o7P3LANJxegf+k37NlK9PVlT8iFNaq93T9c6k/I\nfHV3I5l7BQEJv+PPSnjsYuC+EAon28pHMh6zI5ui/GRIvfYzXlpALqnkpWJZ\n/F9/zYltGV2NqLffXxnp65xUEMOfbTj02ygGdKqAa5VDIPKMK9DEy1E4WFh/\nKr7SMkHpPTTTLCKL/lM5GcMiffc+24eqEDGg1wa74H9rAXKEfnuL9ibYy5aZ\nreytUDu52q5laZgxUVC1Pnl1hC90Goho+ETc9rKf/B1QBArrDsTuonmmCnMJ\n5gUo\r\n=Vjow\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB8oLHO3yrbBCQNjyR9t5AI3bZpKdbjms9kjDTy6zFwVAiBG4fPt41y4R5xxnqW1IbJvLdUYvCaOlDKdkZjUOIOQ+g=="}]},"maintainers":[{"name":"yesmeck","email":"yesmeck@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/offline-plugin_5.0.5_1532057288727_0.33981832841676174"},"_hasShrinkwrap":false}},"time":{"created":"2018-07-20T03:28:08.492Z","5.0.5":"2018-07-20T03:28:08.845Z","modified":"2022-04-11T11:03:06.105Z"},"maintainers":[{"name":"yesmeck","email":"yesmeck@gmail.com"}],"description":"offline-plugin for webpack","homepage":"https://github.com/NekR/offline-plugin","keywords":["webpack","plugin","offline","cache","caching","storage","service-worker","serviceworker","appcache","application cache","pwa","progressive web apps","app-shell","appshell"],"repository":{"type":"git","url":"git+https://github.com/NekR/offline-plugin.git"},"author":{"name":"Arthur Stolyar","email":"nekr.fabula@gmail.com"},"bugs":{"url":"https://github.com/NekR/offline-plugin/issues"},"license":"MIT","readme":"﻿<div align=\"center\">\n  <a href=\"https://offline-plugin.now.sh/\"><img src=\"https://rawgit.com/NekR/offline-plugin/master/logo/logo.svg\" width=\"120\" alt=\"offline-plugin logo\"></a>\n\n  <h1><code>offline-plugin</code> for webpack</h1>\n\n  <a href=\"#backers\"><img src=\"https://opencollective.com/offline-plugin/backers/badge.svg\" alt=\"backers\" /></a>\n  <a href=\"#sponsors\"><img src=\"https://opencollective.com/offline-plugin/sponsors/badge.svg\" alt=\"sponsors\" /></a>\n  <a href=\"https://www.npmjs.com/package/offline-plugin\"><img src=\"https://img.shields.io/npm/v/offline-plugin.svg?maxAge=3600&v4\" alt=\"npm\"></a>\n  <a href=\"https://www.npmjs.com/package/offline-plugin\"><img src=\"https://img.shields.io/npm/dm/offline-plugin.svg?maxAge=3600\" alt=\"npm\"></a>\n</div>\n<br>\n\nThis plugin is intended to provide an offline experience for **webpack** projects. It uses **ServiceWorker**, and **AppCache** as a fallback under the hood. Simply include this plugin in your ``webpack.config``, and the accompanying runtime in your client script, and your project will become offline ready by caching all (or some) of the webpack output assets.\n\n<div align=\"center\">\n  <h1>Sponsors</h1>\n  \n  <a href=\"https://opencollective.com/offline-plugin/sponsor/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/0/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/1/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/2/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/3/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/4/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/5/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/6/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/7/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/8/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/9/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/10/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/10/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/11/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/11/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/12/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/12/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/13/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/13/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/14/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/14/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/15/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/15/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/16/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/16/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/17/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/17/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/18/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/18/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/19/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/19/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/20/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/20/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/21/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/21/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/22/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/22/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/23/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/23/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/24/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/24/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/25/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/25/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/26/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/26/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/27/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/27/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/28/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/28/avatar.svg\"></a>\n  <a href=\"https://opencollective.com/offline-plugin/sponsor/29/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/sponsor/29/avatar.svg\"></a>\n  \n  Become a sponsor and get your logo on our README on Github with a link to your site.<br>\n  <strong><a href=\"https://opencollective.com/offline-plugin#sponsor\">Become a sponsor</a></strong>\n</div>\n\n## Install\n\n`npm install offline-plugin [--save-dev]`\n\n## Setup\n\nFirst, instantiate the plugin in your `webpack.config`:\n\n```js\n// webpack.config.js example\n\nvar OfflinePlugin = require('offline-plugin');\n\nmodule.exports = {\n  // ...\n\n  plugins: [\n    // ... other plugins\n    // it's always better if OfflinePlugin is the last plugin added\n    new OfflinePlugin()\n  ]\n  // ...\n}\n```\n_(and optionally configure with [options](docs/options.md))_  \n\nThen, add the [runtime](docs/runtime.md) into your entry file (typically main entry):\n\n```js\nrequire('offline-plugin/runtime').install();\n```\n\nES6/Babel/TypeScript\n```js\nimport * as OfflinePluginRuntime from 'offline-plugin/runtime';\nOfflinePluginRuntime.install();\n```\n\n> For more details of usage with `TypeScript` see [here](docs/typescript.md)\n\n### `offline-plugin` isn't working?\n\n:information_source: **[Troubleshooting](docs/troubleshooting.md)** | **[FAQ](docs/FAQ.md)**\n\n## Docs\n\n* [Options](docs/options.md)\n* [Caches](docs/caches.md)\n* [Update process](docs/updates.md)\n* [Cache Maps](docs/cache-maps.md)\n* [Runtime API](docs/runtime.md)\n* [Configuration options](docs/options.md)\n\n## Examples\n\n* [Single Page Application](docs/examples/SPA.md)\n\n## Articles\n\n* [Easy Offline First Apps With Webpack's Offline Plugin](https://dev.to/kayis/easy-offline-first-apps-with-webpacks-offline-plugin)\n* [Handling Client Side App Updates (with Service Workers)](https://zach.codes/handling-client-side-app-updates-with-service-workers/)\n\n## Options\n\nAll options are optional and `offline-plugin` can be used without specifying them.\n\n#### [See all available options here.](docs/options.md)\n\n## Who is using `offline-plugin`\n\n<div align=\"center\">\n  <strong>Demo:<br><a href=\"https://offline-plugin.now.sh/\"> Progressive Web App built with <code>offline-plugin</code></a></strong><br>\n  <div>(<a href=\"https://github.com/NekR/offline-plugin-pwa\"><i>source code</i></a>)</div>\n</div>\n\n### Projects\n\n* [React Boilerplate](https://github.com/mxstbr/react-boilerplate)\n* [Phenomic](https://phenomic.io)\n* [React, Universally](https://github.com/ctrlplusb/react-universally)\n\n### PWAs\n\n* [`offline-plugin` PWA](https://offline-plugin.now.sh/)\n* [Omroep West](https://m.omroepwest.nl/)\n* [Preact](https://preactjs.com/) ([source](https://github.com/developit/preact-www))\n* [CodePan](https://codepan.net) ([source](https://github.com/egoist/codepan))\n* [Offline Kanban](https://offline-kanban.herokuapp.com) ([source](https://github.com/sarmadsangi/offline-kanban))\n* [Online Board](https://onlineboard.sonnywebdesign.com/) ([source](https://github.com/andreasonny83/online-board))\n\n\n_If you are using `offline-plugin`, feel free to submit a PR to add your project to this list._\n\n## Like `offline-plugin`?\n\nSupport it by giving [feedback](https://github.com/NekR/offline-plugin/issues), [contributing](CONTIBUTING.md), becoming a [backer/sponsor](https://opencollective.com/offline-plugin) or just by 🌟 starring the project!\n\n\n## Backers\n\nSupport us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/offline-plugin#backer)]\n\n<a href=\"https://opencollective.com/offline-plugin/backer/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/0/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/1/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/2/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/3/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/4/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/5/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/6/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/7/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/8/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/9/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/10/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/10/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/11/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/11/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/12/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/12/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/13/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/13/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/14/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/14/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/15/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/15/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/16/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/16/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/17/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/17/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/18/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/18/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/19/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/19/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/20/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/20/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/21/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/21/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/22/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/22/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/23/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/23/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/24/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/24/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/25/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/25/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/26/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/26/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/27/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/27/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/28/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/28/avatar.svg\"></a>\n<a href=\"https://opencollective.com/offline-plugin/backer/29/website\" target=\"_blank\"><img src=\"https://opencollective.com/offline-plugin/backer/29/avatar.svg\"></a>\n\n## Contribution\n\nSee [CONTRIBUTING](CONTRIBUTING.md)\n\n## License\n\n[MIT](LICENSE.md)  \n[Logo](logo/LICENSE.md)\n\n## CHANGELOG\n\n[CHANGELOG](CHANGELOG.md)\n","readmeFilename":"README.md"}