Service Workers can be tricky to work with in production, and often it becomes necessary to deactivate an existing SW. This is trickier than one might imagine - as long as clients on the old SW may exist it is important to serve some script at the old SW URL. This commit adds safety-worker.js to the published NPM package, which is useful for that purpose. On install the SW unregisters itself which safely and gradually allows older clients to update. PR Close #21863
		
			
				
	
	
		
			18 lines
		
	
	
		
			519 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			519 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /**
 | |
|  * @license
 | |
|  * Copyright Google Inc. All Rights Reserved.
 | |
|  *
 | |
|  * Use of this source code is governed by an MIT-style license that can be
 | |
|  * found in the LICENSE file at https://angular.io/license
 | |
|  */
 | |
| 
 | |
| // tslint:disable:no-console
 | |
| 
 | |
| self.addEventListener('install', event => { self.skipWaiting(); });
 | |
| 
 | |
| self.addEventListener('activate', event => {
 | |
|   event.waitUntil(self.clients.claim());
 | |
|   self.registration.unregister().then(
 | |
|       () => { console.log('NGSW Safety Worker - unregistered old service worker'); });
 | |
| });
 |