UNPKG

laravel-elixir-bundler

Version:

Creates separate, customizable, and versioned js and css asset bundles using laravel-elixir

52 lines (44 loc) 1.02 kB
var defaultsDeep = require('lodash').defaultsDeep; var defaults = require('lodash').defaults; var recipes = [ 'sass', 'less', 'css', 'coffee', 'browserify', 'babel', 'js', ]; var baseKeys = { assets: {}, elixConfig: {}, config: {}, white: [], black: [], sass: [], less: [], css: [], coffee: [], browserify: [], babel: [], js: [] }; var merger = {}; merger.init = function (bundle, elixConfig, config) { defaults(bundle, baseKeys); defaultsDeep(bundle.elixConfig, elixConfig); defaultsDeep(bundle.config, config); }; merger.merge = function (bundle, base) { merger.init(bundle, base.elixConfig, base.config); recipes.forEach(function (recipe) { var mergeFiles = base[recipe].slice(0); if (bundle[recipe]) { bundle[recipe].forEach(function (file) { mergeFiles.push(file); }); } bundle[recipe] = mergeFiles; }); }; module.exports = merger;