UNPKG

rollup-plugin-dot

Version:
35 lines 1.28 kB
import * as doT from 'dot'; import * as path from 'path'; import { createFilter, makeLegalIdentifier } from 'rollup-pluginutils'; function dot(options = {}) { if (!options.include) { options.include = '**/*.dot'; } const filter = createFilter(options.include, options.exclude); return { name: 'dot', transform(code, id) { if (filter(id)) { let templateSettings; if (options.templateSettings) { templateSettings = Object.assign({}, doT.templateSettings, options.templateSettings); } const renderFunction = doT.template(code, templateSettings, options.defines); const templateCode = renderFunction.toString() .replace(/^function anonymous\(/, `function ${makeTemplateFunctionName(id)}(`); return { code: `export default ${templateCode};`, map: { mappings: '' }, }; } }, }; } function makeTemplateFunctionName(id) { if (path.isAbsolute(id)) { id = path.relative(process.cwd(), id); } return makeLegalIdentifier(`dot_tpl_${id}`); } export default dot; //# sourceMappingURL=rollup-plugin-dot.js.map