@digitalmaas/esbuild-plugin-ejs
v1.0.0
Published
An esbuild plugin that adds support for Embedded JavaScript Templates (.ejs) imports
Downloads
90
Maintainers
Readme
Esbuild Embedded JavaScript Templates Plugin
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
<!-- template.ejs -->
<html>
<head>
<title><%= locals.title =></title>
</head>
<body>
<% if (locals.isAdmin) { %>
<div>ADMIN</div>
<% } else { %>
<div>USER</div>
<% } %>
<h1><%= locals.name %></h1>
</body>
</html>
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
- https://ejs.co/
- https://github.com/mde/ejs
License
MIT License.
Complete license in ./LICENSE file.