v1.0 with SW PWA enabled
This commit is contained in:
19
frontend/node_modules/workbox-sw/LICENSE
generated
vendored
Normal file
19
frontend/node_modules/workbox-sw/LICENSE
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
Copyright 2018 Google LLC
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
1
frontend/node_modules/workbox-sw/README.md
generated
vendored
Normal file
1
frontend/node_modules/workbox-sw/README.md
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
This module's documentation can be found at https://developers.google.com/web/tools/workbox/modules/workbox-sw
|
||||
24
frontend/node_modules/workbox-sw/_types.mjs
generated
vendored
Normal file
24
frontend/node_modules/workbox-sw/_types.mjs
generated
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
/*
|
||||
Copyright 2018 Google LLC
|
||||
|
||||
Use of this source code is governed by an MIT-style
|
||||
license that can be found in the LICENSE file or at
|
||||
https://opensource.org/licenses/MIT.
|
||||
*/
|
||||
|
||||
import './_version.mjs';
|
||||
|
||||
/**
|
||||
* A `ModulePathCallback` function can be used to modify the modify the where
|
||||
* Workbox modules are loaded.
|
||||
*
|
||||
* @callback ~ModulePathCallback
|
||||
* @param {string} moduleName The name of the module to load (i.e.
|
||||
* 'workbox-core', 'workbox-precaching' etc.).
|
||||
* @param {boolean} debug When true, `dev` builds should be loaded, otherwise
|
||||
* load `prod` builds.
|
||||
* @return {string} This callback should return a path of module. This will
|
||||
* be passed to `importScripts()`.
|
||||
*
|
||||
* @memberof workbox
|
||||
*/
|
||||
1
frontend/node_modules/workbox-sw/_version.mjs
generated
vendored
Normal file
1
frontend/node_modules/workbox-sw/_version.mjs
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
try{self['workbox:sw:7.4.0']&&_()}catch(e){}// eslint-disable-line
|
||||
2
frontend/node_modules/workbox-sw/build/workbox-sw.js
generated
vendored
Normal file
2
frontend/node_modules/workbox-sw/build/workbox-sw.js
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
!function(){"use strict";try{self["workbox:sw:7.4.0"]&&_()}catch(t){}const t={backgroundSync:"background-sync",broadcastUpdate:"broadcast-update",cacheableResponse:"cacheable-response",core:"core",expiration:"expiration",googleAnalytics:"offline-ga",navigationPreload:"navigation-preload",precaching:"precaching",rangeRequests:"range-requests",routing:"routing",strategies:"strategies",streams:"streams",recipes:"recipes"};self.workbox=new class{constructor(){return this.v={},this.t={debug:"localhost"===self.location.hostname,modulePathPrefix:null,modulePathCb:null},this.o=this.t.debug?"dev":"prod",this.i=!1,new Proxy(this,{get(e,s){if(e[s])return e[s];const o=t[s];return o&&e.loadModule(`workbox-${o}`),e[s]}})}setConfig(t={}){if(this.i)throw new Error("Config must be set before accessing workbox.* modules");Object.assign(this.t,t),this.o=this.t.debug?"dev":"prod"}loadModule(t){const e=this.h(t);try{importScripts(e),this.i=!0}catch(s){throw console.error(`Unable to import module '${t}' from '${e}'.`),s}}h(t){if(this.t.modulePathCb)return this.t.modulePathCb(t,this.t.debug);let e=["https://storage.googleapis.com/workbox-cdn/releases/7.4.0"];const s=`${t}.${this.o}.js`,o=this.t.modulePathPrefix;return o&&(e=o.split("/"),""===e[e.length-1]&&e.splice(e.length-1,1)),e.push(s),e.join("/")}}}();
|
||||
//# sourceMappingURL=workbox-sw.js.map
|
||||
1
frontend/node_modules/workbox-sw/build/workbox-sw.js.map
generated
vendored
Normal file
1
frontend/node_modules/workbox-sw/build/workbox-sw.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
220
frontend/node_modules/workbox-sw/controllers/WorkboxSW.mjs
generated
vendored
Normal file
220
frontend/node_modules/workbox-sw/controllers/WorkboxSW.mjs
generated
vendored
Normal file
@ -0,0 +1,220 @@
|
||||
/*
|
||||
Copyright 2018 Google LLC
|
||||
|
||||
Use of this source code is governed by an MIT-style
|
||||
license that can be found in the LICENSE file or at
|
||||
https://opensource.org/licenses/MIT.
|
||||
*/
|
||||
|
||||
import '../_version.mjs';
|
||||
|
||||
const CDN_PATH = `WORKBOX_CDN_ROOT_URL`;
|
||||
|
||||
const MODULE_KEY_TO_NAME_MAPPING = {
|
||||
/**
|
||||
* @name backgroundSync
|
||||
* @memberof workbox
|
||||
* @see module:workbox-background-sync
|
||||
*/
|
||||
backgroundSync: 'background-sync',
|
||||
/**
|
||||
* @name broadcastUpdate
|
||||
* @memberof workbox
|
||||
* @see module:workbox-broadcast-update
|
||||
*/
|
||||
broadcastUpdate: 'broadcast-update',
|
||||
/**
|
||||
* @name cacheableResponse
|
||||
* @memberof workbox
|
||||
* @see module:workbox-cacheable-response
|
||||
*/
|
||||
cacheableResponse: 'cacheable-response',
|
||||
/**
|
||||
* @name core
|
||||
* @memberof workbox
|
||||
* @see module:workbox-core
|
||||
*/
|
||||
core: 'core',
|
||||
/**
|
||||
* @name expiration
|
||||
* @memberof workbox
|
||||
* @see module:workbox-expiration
|
||||
*/
|
||||
expiration: 'expiration',
|
||||
/**
|
||||
* @name googleAnalytics
|
||||
* @memberof workbox
|
||||
* @see module:workbox-google-analytics
|
||||
*/
|
||||
googleAnalytics: 'offline-ga',
|
||||
/**
|
||||
* @name navigationPreload
|
||||
* @memberof workbox
|
||||
* @see module:workbox-navigation-preload
|
||||
*/
|
||||
navigationPreload: 'navigation-preload',
|
||||
/**
|
||||
* @name precaching
|
||||
* @memberof workbox
|
||||
* @see module:workbox-precaching
|
||||
*/
|
||||
precaching: 'precaching',
|
||||
/**
|
||||
* @name rangeRequests
|
||||
* @memberof workbox
|
||||
* @see module:workbox-range-requests
|
||||
*/
|
||||
rangeRequests: 'range-requests',
|
||||
/**
|
||||
* @name routing
|
||||
* @memberof workbox
|
||||
* @see module:workbox-routing
|
||||
*/
|
||||
routing: 'routing',
|
||||
/**
|
||||
* @name strategies
|
||||
* @memberof workbox
|
||||
* @see module:workbox-strategies
|
||||
*/
|
||||
strategies: 'strategies',
|
||||
/**
|
||||
* @name streams
|
||||
* @memberof workbox
|
||||
* @see module:workbox-streams
|
||||
*/
|
||||
streams: 'streams',
|
||||
/**
|
||||
* @name recipes
|
||||
* @memberof workbox
|
||||
* @see module:workbox-recipes
|
||||
*/
|
||||
recipes: 'recipes',
|
||||
};
|
||||
|
||||
/**
|
||||
* This class can be used to make it easy to use the various parts of
|
||||
* Workbox.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
export class WorkboxSW {
|
||||
/**
|
||||
* Creates a proxy that automatically loads workbox namespaces on demand.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
constructor() {
|
||||
this.v = {};
|
||||
this._options = {
|
||||
debug: self.location.hostname === 'localhost',
|
||||
modulePathPrefix: null,
|
||||
modulePathCb: null,
|
||||
};
|
||||
|
||||
this._env = this._options.debug ? 'dev' : 'prod';
|
||||
this._modulesLoaded = false;
|
||||
|
||||
return new Proxy(this, {
|
||||
get(target, key) {
|
||||
if (target[key]) {
|
||||
return target[key];
|
||||
}
|
||||
|
||||
const moduleName = MODULE_KEY_TO_NAME_MAPPING[key];
|
||||
if (moduleName) {
|
||||
target.loadModule(`workbox-${moduleName}`);
|
||||
}
|
||||
|
||||
return target[key];
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the configuration options. You can specify whether to treat as a
|
||||
* debug build and whether to use a CDN or a specific path when importing
|
||||
* other workbox-modules
|
||||
*
|
||||
* @param {Object} [options]
|
||||
* @param {boolean} [options.debug] If true, `dev` builds are using, otherwise
|
||||
* `prod` builds are used. By default, `prod` is used unless on localhost.
|
||||
* @param {Function} [options.modulePathPrefix] To avoid using the CDN with
|
||||
* `workbox-sw` set the path prefix of where modules should be loaded from.
|
||||
* For example `modulePathPrefix: '/third_party/workbox/v3.0.0/'`.
|
||||
* @param {workbox~ModulePathCallback} [options.modulePathCb] If defined,
|
||||
* this callback will be responsible for determining the path of each
|
||||
* workbox module.
|
||||
*
|
||||
* @alias workbox.setConfig
|
||||
*/
|
||||
setConfig(options = {}) {
|
||||
if (!this._modulesLoaded) {
|
||||
Object.assign(this._options, options);
|
||||
this._env = this._options.debug ? 'dev' : 'prod';
|
||||
} else {
|
||||
throw new Error('Config must be set before accessing workbox.* modules');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a Workbox module by passing in the appropriate module name.
|
||||
*
|
||||
* This is not generally needed unless you know there are modules that are
|
||||
* dynamically used and you want to safe guard use of the module while the
|
||||
* user may be offline.
|
||||
*
|
||||
* @param {string} moduleName
|
||||
*
|
||||
* @alias workbox.loadModule
|
||||
*/
|
||||
loadModule(moduleName) {
|
||||
const modulePath = this._getImportPath(moduleName);
|
||||
try {
|
||||
importScripts(modulePath);
|
||||
this._modulesLoaded = true;
|
||||
} catch (err) {
|
||||
// TODO Add context of this error if using the CDN vs the local file.
|
||||
|
||||
// We can't rely on workbox-core being loaded so using console
|
||||
// eslint-disable-next-line
|
||||
console.error(
|
||||
`Unable to import module '${moduleName}' from '${modulePath}'.`);
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* This method will get the path / CDN URL to be used for importScript calls.
|
||||
*
|
||||
* @param {string} moduleName
|
||||
* @return {string} URL to the desired module.
|
||||
*
|
||||
* @private
|
||||
*/
|
||||
_getImportPath(moduleName) {
|
||||
if (this._options.modulePathCb) {
|
||||
return this._options.modulePathCb(moduleName, this._options.debug);
|
||||
}
|
||||
|
||||
// TODO: This needs to be dynamic some how.
|
||||
let pathParts = [CDN_PATH];
|
||||
|
||||
const fileName = `${moduleName}.${this._env}.js`;
|
||||
|
||||
const pathPrefix = this._options.modulePathPrefix;
|
||||
if (pathPrefix) {
|
||||
// Split to avoid issues with developers ending / not ending with slash
|
||||
pathParts = pathPrefix.split('/');
|
||||
|
||||
// We don't need a slash at the end as we will be adding
|
||||
// a filename regardless
|
||||
if (pathParts[pathParts.length - 1] === '') {
|
||||
pathParts.splice(pathParts.length - 1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
pathParts.push(fileName);
|
||||
|
||||
return pathParts.join('/');
|
||||
}
|
||||
}
|
||||
17
frontend/node_modules/workbox-sw/index.mjs
generated
vendored
Normal file
17
frontend/node_modules/workbox-sw/index.mjs
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
/*
|
||||
Copyright 2018 Google LLC
|
||||
|
||||
Use of this source code is governed by an MIT-style
|
||||
license that can be found in the LICENSE file or at
|
||||
https://opensource.org/licenses/MIT.
|
||||
*/
|
||||
|
||||
import {WorkboxSW} from './controllers/WorkboxSW.mjs';
|
||||
import './_version.mjs';
|
||||
|
||||
/**
|
||||
* @namespace workbox
|
||||
*/
|
||||
|
||||
// Don't export anything, just expose a global.
|
||||
self.workbox = new WorkboxSW();
|
||||
27
frontend/node_modules/workbox-sw/package.json
generated
vendored
Normal file
27
frontend/node_modules/workbox-sw/package.json
generated
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "workbox-sw",
|
||||
"version": "7.4.0",
|
||||
"license": "MIT",
|
||||
"author": "Google's Web DevRel Team and Google's Aurora Team",
|
||||
"description": "This module makes it easy to get started with the Workbox service worker libraries.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/googlechrome/workbox.git"
|
||||
},
|
||||
"bugs": "https://github.com/googlechrome/workbox/issues",
|
||||
"homepage": "https://github.com/GoogleChrome/workbox",
|
||||
"keywords": [
|
||||
"workbox",
|
||||
"workboxjs",
|
||||
"service worker",
|
||||
"sw"
|
||||
],
|
||||
"workbox": {
|
||||
"browserNamespace": "workbox",
|
||||
"packageType": "sw",
|
||||
"prodOnly": true
|
||||
},
|
||||
"main": "build/workbox-sw.js",
|
||||
"module": "index.mjs",
|
||||
"gitHead": "fa702feeddd417fcdfa495cd9428fb4a28632e92"
|
||||
}
|
||||
Reference in New Issue
Block a user