GitHub - digitalmaas/esbuild-plugin-ejs: An esbuild plugin that adds support for .ejs file imports. (original) (raw)

Esbuild Embedded JavaScript Templates Plugin

NPM version NPM downloads digitalmaas

An esbuild plugin that adds support for Embedded JavaScript Templates (.ejs) imports.

Installation

npm install @digitalmaas/esbuild-plugin-ejs --save-dev

Setup

import esbuild from 'esbuild' import ejsPlugin from '@digitalmaas/esbuild-plugin-ejs'

await esbuild.build({ /* all of your config /, plugins: [ ejsPlugin({ / ejs options */ }), ] })

Usage

<%= locals.title => <% if (locals.isAdmin) { %>
ADMIN
<% } else { %>
USER
<% } %>

<%= locals.name %>

import template from './template.ejs'

const templateAsString = template({ isAdmin: false, title: 'Doc Title', name: 'Cool Test' })

Options

delimiter: string

Character to use for inner delimiter. Defaults to '%'.

openDelimiter: string

Character to use for opening delimiter. Defaults to '<'.

closeDelimiter: string

Character to use for closing delimiter. Defaults to '>'.

localsName: string

Name to use for the object storing local variables. Defaults to locals.

rmWhitespace: boolean

Remove all safe-to-remove whitespace, including leading and trailing whitespace. It also enables a safer version of `-%>`` line slurping for all scriptlet tags (it does not strip new lines of tags in the middle of a line).

async: boolean

When true, EJS will use an async function for rendering.

More Info

License

MIT License.

Complete license in ./LICENSE file.