additionalAssets()

in lib/plugin.js [163:184]


  additionalAssets(compilation) {
    const itemsBySprite = this.map.groupItemsBySpriteFilename();
    const filenames = Object.keys(itemsBySprite);

    return Promise.map(filenames, (filename) => {
      const spriteSymbols = itemsBySprite[filename].map(item => item.symbol);

      return Sprite.create({
        symbols: spriteSymbols,
        factory: this.factory
      })
        .then((sprite) => {
          const content = sprite.render();

          compilation.assets[`${this.filenamePrefix}${filename}`] = {
            source() { return content; },
            size() { return content.length; },
            updateHash(bulkUpdateDecorator) { bulkUpdateDecorator.update(content); }
          };
        });
    });
  }