UNPKG

1.24 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _path = require('path');
8
9var _path2 = _interopRequireDefault(_path);
10
11var _isString = require('lodash/isString');
12
13var _isString2 = _interopRequireDefault(_isString);
14
15function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
17/**
18 * Emit some assets to a compilation
19 *
20 * @param {Object} compilation The compilation we want to emit the assets from
21 * @param {Object} assets The assets we want to emit, keyed by filename
22 * @param {String} [subFolder] Optionally, emit the assets to a subfolder
23 * @param {Function} callback
24 */
25
26function emitAssets(compilation, assets, subFolder, callback) {
27 var cb = callback || subFolder;
28 var rootPath = (0, _isString2.default)(subFolder) && subFolder || '';
29 // Emit carte-blanche assets
30 Object.keys(assets).forEach(function (filename) {
31 compilation.assets[_path2.default.join(rootPath, filename)] = { // eslint-disable-line no-param-reassign
32 source: function source() {
33 return assets[filename];
34 },
35 size: function size() {
36 return assets[filename].length;
37 }
38 };
39 });
40 cb();
41}
42
43exports.default = emitAssets;
\No newline at end of file