mirror of
https://github.com/hanzoai/workbox.git
synced 2026-09-24 17:04:35 +00:00
* Deps and config * Prettier output * Update hardcoded file sizes * More file size updates
34 lines
854 B
JavaScript
34 lines
854 B
JavaScript
/*
|
|
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.
|
|
*/
|
|
|
|
// A small helper class to generate a "fake" webpack asset for testing purposes.
|
|
// Roughly equivalent to https://www.npmjs.com/package/generate-asset-webpack-plugin,
|
|
// but this uses the webpack v4 syntax.
|
|
|
|
class CreateWebpackAssetPlugin {
|
|
constructor(name) {
|
|
if (typeof name !== 'string') {
|
|
throw new Error('Please pass in a string.');
|
|
}
|
|
this.name = name;
|
|
}
|
|
|
|
apply(compiler) {
|
|
compiler.hooks.emit.tap(
|
|
this.constructor.name,
|
|
(compilation) =>
|
|
(compilation.assets[this.name] = {
|
|
source: () => this.name,
|
|
size: () => this.name.length,
|
|
}),
|
|
);
|
|
}
|
|
}
|
|
|
|
module.exports = CreateWebpackAssetPlugin;
|