panec / htlengine

An HTL (Sightly) Interpreter/Compiler for Node.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 Greenkeeper badge 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 antlr4 generated source

npm run build

prerequisites

brew install antlr

About

An HTL (Sightly) Interpreter/Compiler for Node.js

License:Apache License 2.0


Languages

Language:HTML 77.2%Language:JavaScript 22.3%Language:ANTLR 0.5%