Home

Awesome

rollup-plugin-jst

Precompile lodash templates to javascript. It uses lodash-es/escapa for escaping capabilities. So it should be installed in dev dependencies.

Installation

npm i -S lodash-es # if you use <%- %> escaping
npm i -D rollup-plugin-jst rollup-plugin-node-resolve

Usage Example

import { rollup } from 'rollup';
import jst from 'rollup-plugin-jst';
import resolve from 'rollup-plugin-node-resolve';

rollup({
  entry: 'src/main.js',
  plugins: [
    jst({
      // By default, all .html, .jst, .ejs files are compiled
      extensions: [ '.html', '.ejs' ],

      // You can restrict which files are compiled
      // using `include` and `exclude`
      include: 'src/components/**.html',

      // You can pass options to _.template(code, templateOptions)
      templateOptions: {
        variable: 'data' // default variable for template is 'data',
      },

      // You can enable HTML minification before the template is compiled
      // by default turned off
      minify: true,

      // You can pass options to HTMLMinifier
      // see github.com/kangax/html-minifier for documentation
      minifyOptions: {
        collapseWhitespace: true
      },

      // if you do not want to use lodash-es/escape for some reason
      // (e.g because it is quite huge for just escape function)
      // you can set which module to use - it should have single default export
      // you should care about correct resolving and handing of this file
      // if it is not using modules
      escapeModule: 'escape-html'
    }),
    resolve({
      module: true,
      main: true
    })
  ]
}).then(...)

License

MIT