@digitalmaas/esbuild-plugin-ejs
v1.0.0
Published
An esbuild plugin that adds support for Embedded JavaScript Templates (.ejs) imports
Downloads
8
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.