apply()

in src/index.js [39:58]


  apply(compiler) {
    const { name } = this.constructor;
    if (webpack.version.startsWith("4.")) {
      compiler.hooks.emit.tapPromise(name, async compilation => {
        const [filename, source] = await buildAsset(compilation, this.options);
        compilation.assets[filename] = source;
      });
    } else {
      compiler.hooks.thisCompilation.tap(name, compilation => {
        const hook = {
          name,
          stage: webpack.Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL
        };
        compilation.hooks.processAssets.tapPromise(hook, async () => {
          const [filename, source] = await buildAsset(compilation, this.options);
          compilation.emitAsset(filename, source);
        });
      });
    }
  }