UNPKG

ember-svg-jar

Version:

Best way to use SVG images in Ember applications

41 lines (34 loc) 1.09 kB
'use strict'; const _ = require('lodash'); const Concat = require('broccoli-concat'); const SymbolFilter = require('./symbol-filter'); const formatAttrs = require('./format-attrs'); const RefsExtractor = require('./refs-extractor'); module.exports = function BroccoliSymbolizer(inputNode, options = {}) { if (!options.outputFile) { throw new Error('outputFile is required'); } let config = _.defaults(options, { persist: true, svgAttrs: { style: 'position: absolute; width: 0; height: 0;', width: '0', height: '0', version: '1.1', xmlns: 'http://www.w3.org/2000/svg', 'xmlns:xlink': 'http://www.w3.org/1999/xlink' } }); let symbolsNode = new SymbolFilter(inputNode, { makeAssetID: config.makeAssetID, persist: config.persist }); let svg = new Concat(symbolsNode, { outputFile: config.outputFile, header: `<svg ${formatAttrs(config.svgAttrs)}>`, footer: '</svg>', allowNone: true, sourceMapConfig: { enabled: false } }); return new RefsExtractor(svg, { outputFile: config.outputFile }); };