{"id":13630816,"url":"https://github.com/zackargyle/service-workers","last_synced_at":"2025-05-15T23:05:16.943Z","repository":{"id":48850080,"uuid":"78587680","full_name":"zackargyle/service-workers","owner":"zackargyle","description":"A collection of utilities for creating/testing/experimenting with service workers.","archived":false,"fork":false,"pushed_at":"2024-03-13T15:50:10.000Z","size":179,"stargazers_count":1281,"open_issues_count":10,"forks_count":55,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-04-18T22:37:01.279Z","etag":null,"topics":["service-worker"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zackargyle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-11T00:34:59.000Z","updated_at":"2025-04-14T10:46:49.000Z","dependencies_parsed_at":"2024-06-18T12:37:45.062Z","dependency_job_id":null,"html_url":"https://github.com/zackargyle/service-workers","commit_stats":{"total_commits":98,"total_committers":27,"mean_commits":"3.6296296296296298","dds":"0.47959183673469385","last_synced_commit":"526ee36ece5a761dfaa0464442f3ad6d9da56f8c"},"previous_names":["pinterest/service-workers"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackargyle%2Fservice-workers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackargyle%2Fservice-workers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackargyle%2Fservice-workers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackargyle%2Fservice-workers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zackargyle","download_url":"https://codeload.github.com/zackargyle/service-workers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254436944,"owners_count":22070946,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["service-worker"],"created_at":"2024-08-01T22:02:00.130Z","updated_at":"2025-05-15T23:05:13.800Z","avatar_url":"https://github.com/zackargyle.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# *** THIS PROJECT IS NO LONGER MAINTAINED ***\n\n\nService Worker Toolchain\n=========================\n\nA collection of service worker generation tools.\nConfigurable and forkable.\n\n## Includes the following packages\n\n### [generate-service-worker](https://github.com/pinterest/service-workers/tree/master/packages/generate-service-worker)\nA node module for generating service worker files based on provided configuration options.\n\n### [service-worker-plugin](https://github.com/pinterest/service-workers/tree/master/packages/service-worker-plugin)\nA webpack plugin for generating dynamic service worker files and a runtime helper.\n\n### [service-worker-mock](https://github.com/pinterest/service-workers/tree/master/packages/service-worker-mock)\nA mock service worker environment generator. Used for testing service worker code.\n\n## Why?\nThere are several other packages that generate service workers ([sw-precache](https://github.com/GoogleChrome/sw-precache), [offline-plugin](https://github.com/NekR/offline-plugin/), etc). This collection of tools was built to allow more complexity while being fully testable, and allowing the generation of multiple service worker files simultaneously for experimentation/rollout. We chose not to use a templating language, but to instead inject globals into the scripts so that our \"templates\" were pure JavaScript. This makes it easier to test/read/update the code, with the downside of slightly larger output sizes. See the README in each package for more details.\n\nWe encourage forking of the base templates found in [packages/generate-service-worker/templates/](https://github.com/pinterest/service-workers/tree/master/packages/generate-service-worker/templates).\n\n\n## Contributing\n\nscripts        | description\n-------------- | -----------\n`yarn install` | install all dev dependencies\n`yarn test`    | run the test suite\n`yarn run lint`| run eslint\n`yarn start`   | run the demo for development testing\n\nTo get started contributing, run `yarn start`, which will run a webpack-devserver on `localhost:3000`. In `demo/webpack.config.js` you'll see the configurations used for the demo testing. Each experimental config can be accessed via the `key` query param (i.e. `localhost:3000?key=withNotifications`). This provides a simple way to install a new service worker for testing, and the corresponding generated code will be visible in the DOM itself thanks to [highlight.js](https://highlightjs.org/). Use the `application` tab in the devtools to verify that the service worker was installed. By setting `debug: true` in the plugin config, the devtools console can be used to verify actions are taking place.\n\n## Core Contributors\n* [Zack Argyle](https://github.com/zackargyle)\n* [Yen-Wei Liu](https://github.com/bishwei)\n* [Sebastian Herrlinger](https://github.com/kommander)\n\n## Contributors ✌⊂(✰‿✰)つ✌\n* [Doug Reeder](https://github.com/DougReeder)\n* [Jeff Posnick](https://github.com/jeffposnick)\n* [Matt Gaunt](https://github.com/gauntface)\n* [Joseph Liccini](https://github.com/josephliccini)\n* [Jonathan Creamer](https://github.com/jcreamer898)\n* [Brad Erickson](https://github.com/13rac1)\n* [Bryan Lee](https://github.com/bryclee)\n* [Jamie King](https://github.com/10xlacroixdrinker)\n* [Domingos Martins](https://github.com/DomingosMartins)\n* [André Naves](https://github.com/andrefgneves)\n* [kontrollanten](https://github.com/kontrollanten)\n* [cjies](https://github.com/cjies)\n* [sreedhard7](https://github.com/sreedhar7)\n* [koenvg](https://github.com/koenvg)\n* [pwwpche](https://github.com/pwwpche)\n* [jelly972](https://github.com/jelly972)\n\n**Some ideas for contributions:**\n* Browserify plugin\n* Rollup plugin\n\n## License\n[MIT](http://isekivacenz.mit-license.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzackargyle%2Fservice-workers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzackargyle%2Fservice-workers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzackargyle%2Fservice-workers/lists"}