Skip to content

adobe/htlengine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

66ba52f · Apr 14, 2025
Mar 18, 2025
Oct 21, 2024
Oct 10, 2018
May 31, 2021
Sep 30, 2022
Sep 30, 2022
Jun 5, 2019
May 17, 2021
Oct 2, 2018
Aug 2, 2020
Jun 5, 2019
Aug 2, 2022
Nov 16, 2020
Feb 25, 2022
Jul 12, 2019
Aug 12, 2019
Apr 14, 2025
Jun 27, 2018
Aug 24, 2018
Jun 27, 2018
Oct 19, 2019
Jan 14, 2021
Apr 14, 2025
Apr 14, 2025

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