@adobe/htlengine

Javascript Based HTL (Sightly) parser

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
358Jul 26, 2021Jun 14, 2018Minified + gzip package size for @adobe/htlengine in KB

Readme

HTL Engine for Javascript

This engine can parse HTL scripts and builds a command stream. The command stream can either be intepreted or used to generate code. This project provides a Javascript (ES6) generator and runtime which allows to execute the scripts and use-classes.

Status

codecov CircleCI GitHub license GitHub issues

LGTM Code Quality Grade: JavaScript

Install

npm install @adobe/htlengine

Build

npm install

run

currently not very cool. just passes the given file into the HTML parser and outputs the tree again.

node src/cli.js test/simple2.html

Webpack

Compile the HTL templates wth webpack using the htl-loader

API

You can also use the API directly:

const { Compiler } = require('@adobe/htlengine');

const compiler = new Compiler()
      .withDirectory('')
      .includeRuntime(true)
      .withRuntimeGlobalName('it');

const js = await compiler.compileToString(code);
// the result can be saved as a file or eval'd

examples

test

The tests are more comprehensive. They validate if the the HTL expressions are parsed and re-created using the generated parse tree.

npm test

rebuild generated nearley grammar

npm run build

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.