2.1.1 • Published 11 hours ago

lit-hook v2.1.1

Weekly downloads
1
License
MIT
Repository
gitlab
Last release
11 hours ago

lit-hook

XO code style Coverage Status build version chat

A require hook that compiles lit-html files

Installation

npm i lit-hook

Usage

This hook takes a lit-html file and returns an async function that renders the template to an HTML string,

Most lit html directives are supported via @popeindustries/lit-html-server.

const addLitHook = require('lit-hook')
const revert = addLitHook()

const template = require('./fixtures/basic.lit')
// <div>${locals.basic}</div>
await template({ basic: 'hello' })
// <div>hello</div>

revert() // stop the hook from running

Options

addLitHook({exts: ['.lit'], matcher: file => file.startsWith('z'), portable: true, wrapper: code => `(context, locals) => context.renderToStream(context.html)`})

exts

The file extensions targeted by the hook default: ['.lit'] so to add html file compilation use ['.lit', '.html']

matcher function(filename)

With this method you can inspect the filename to determine if it should be hooked or not.

Just return a truthy/falsy. Files in node_modules are ignored, unless otherwise specified in options (read more on pirates).

The default matcher returns true for all files.

portable boolean

Changes the hook to produce portable templates. Portable templates require you to supply the rendering context (render, html, directives, etc).

wrapper function(code)

Allows the customization of the code wrapper used by the hook.

For example with the code:

'hello world'

and the custom wrapper:

(code) => ('module.exports = () => (code)

files will look like this when required:

module.exports = () => ('hello world')

License

Unless stated otherwise all works are:

  • Copyright © Robin Marr

and licensed under:

Thanks

Thanks to Alexander Pope for lit-html-server and ariporad for pirates they made this a breeze, also thanks to Justin Fagnani and the team behind the lit-html project!

2.1.1

11 hours ago

2.1.0

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago