Nuclear Powered Macros

    lit-hook

    2.1.1 • Public • Published

    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!

    Install

    npm i lit-hook

    DownloadsWeekly Downloads

    1

    Version

    2.1.1

    License

    MIT

    Unpacked Size

    10.2 kB

    Total Files

    4

    Last publish

    Collaborators

    • robinmarr