You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.9 KiB

2 years ago
import webpack from 'webpack';
import { ManifestEntry, WebpackGenerateSWOptions } from 'workbox-build';
export interface GenerateSWConfig extends WebpackGenerateSWOptions {
manifestEntries?: Array<ManifestEntry>;
}
/**
* This class supports creating a new, ready-to-use service worker file as
* part of the webpack compilation process.
*
* Use an instance of `GenerateSW` in the
* [`plugins` array](https://webpack.js.org/concepts/plugins/#usage) of a
* webpack config.
*
* ```
* // The following lists some common options; see the rest of the documentation
* // for the full set of options and defaults.
* new GenerateSW({
* exclude: [/.../, '...'],
* maximumFileSizeToCacheInBytes: ...,
* navigateFallback: '...',
* runtimeCaching: [{
* // Routing via a matchCallback function:
* urlPattern: ({request, url}) => ...,
* handler: '...',
* options: {
* cacheName: '...',
* expiration: {
* maxEntries: ...,
* },
* },
* }, {
* // Routing via a RegExp:
* urlPattern: new RegExp('...'),
* handler: '...',
* options: {
* cacheName: '...',
* plugins: [..., ...],
* },
* }],
* skipWaiting: ...,
* });
* ```
*
* @memberof module:workbox-webpack-plugin
*/
declare class GenerateSW {
private config;
private alreadyCalled;
/**
* Creates an instance of GenerateSW.
*/
constructor(config?: GenerateSWConfig);
/**
* @param {Object} [compiler] default compiler object passed from webpack
*
* @private
*/
propagateWebpackConfig(compiler: webpack.Compiler): void;
/**
* @param {Object} [compiler] default compiler object passed from webpack
*
* @private
*/
apply(compiler: webpack.Compiler): void;
/**
* @param {Object} compilation The webpack compilation.
*
* @private
*/
addAssets(compilation: webpack.Compilation): Promise<void>;
}
export { GenerateSW };