diff --git a/README.md b/README.md index ecbded9..5c50f66 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,14 @@ # freemarker-parser -[![CircleCI](https://circleci.com/gh/armano2/freemarker-parser/tree/master.svg?style=svg)](https://circleci.com/gh/armano2/freemarker-parser/tree/master) -[![Coverage Status](https://codecov.io/gh/armano2/freemarker-parser/branch/master/graph/badge.svg)](https://codecov.io/gh/armano2/freemarker-parser) -[![Greenkeeper badge](https://badges.greenkeeper.io/armano2/freemarker-parser.svg)](https://greenkeeper.io/) +[![Codecov](https://img.shields.io/codecov/c/github/armano2/freemarker-parser.svg?style=for-the-badge)](https://circleci.com/gh/armano2/freemarker-parser/tree/master) +[![CircleCI](https://img.shields.io/circleci/project/github/armano2/freemarker-parser/master.svg?style=for-the-badge)](https://circleci.com/gh/armano2/freemarker-parser/tree/master) +[![License](https://img.shields.io/github/license/armano2/freemarker-parser.svg)](https://github.com/armano2/freemarker-parser/blob/master/LICENSE.md) +[![Greenkeeper](https://badges.greenkeeper.io/armano2/freemarker-parser.svg)](https://github.com/armano2/freemarker-parser/blob/master/LICENSE.md) +[![npm](https://img.shields.io/npm/v/freemarker-parser.svg)](https://www.npmjs.com/package/freemarker-parser) Freemarker Parser is a javascript implementation of the Freemarker (http://freemarker.sourceforge.com). -This project contains experimental version of parser ftl to ast tree +This project contains **experimental version** of parser ftl to ast tree ## Installation You can install `freemarker-parser` using [npm](https://npmjs.com): @@ -18,12 +20,8 @@ $ npm install freemarker-parser --save-dev ## Usage Require `freemarker-parser` inside of your JavaScript: -```js -const freemarker = require("freemarker-parser"); -``` - ### Parser -```freemarker +```ftl <#assign f=1> <#if f gt 0> @@ -34,17 +32,20 @@ const freemarker = require("freemarker-parser"); ``` ```js +const freemarker = require("freemarker-parser") + const parser = new freemarker.Parser() -const astTree = parser.parse(template) +const data = parser.parse(template) -console.log(astTree) +console.log(data.ast) +console.log(data.tokens) ``` ## Currently supported: - interpolations `${foo}` - methods, i.e. `${avg(3, 5)}` - executing macro - - directives: + - directives: http://freemarker.sourceforge.net/docs/ref_directives.html - `#attempt` - `#recover` - `#assign` @@ -80,7 +81,7 @@ console.log(astTree) - support default values, i.e. `${user!"Anonymous"}` - null resistance in above expressions if in parenthesis - alternative syntax if starts with `[#ftl]` - - directives: http://freemarker.sourceforge.net/docs/ref_directives.html + - directives: - `#escape` - `#noescape` - `#fallback` diff --git a/package-lock.json b/package-lock.json index 08242c8..9ee48d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "freemarker-parser", - "version": "1.0.1", + "version": "1.1.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -147,12 +147,6 @@ "@types/node": "*" } }, - "@types/json-stringify-safe": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz", - "integrity": "sha512-UUA1sH0RSRROdInuDOA1yoRzbi5xVFD1RHCoOvNRPTNwR8zBkJ/84PZ6NhKVDtKp0FTeIccJCdQz1X2aJPr4uw==", - "dev": true - }, "@types/minimatch": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", @@ -432,14 +426,6 @@ "assert-plus": "^1.0.0" } }, - "debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", - "requires": { - "ms": "^2.1.1" - } - }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -920,7 +906,8 @@ "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true }, "nyc": { "version": "13.1.0", diff --git a/package.json b/package.json index 4d1dc64..a40af7b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "freemarker-parser", - "version": "1.0.1", + "version": "1.1.2", "description": "Freemarker Parser is a javascript implementation of the Freemarker", "scripts": { "build": "npm run lint & tsc", @@ -29,25 +29,24 @@ "node": ">=6.0.0" }, "author": "Armano (https://github.com/armano2)", - "license": "Apache-2.0", + "license": "MIT", "bugs": { "url": "https://github.com/armano2/freemarker-parser/issues" }, - "main": "index.js", + "main": "dist/index.js", "files": [ - "index.d.ts", - "index.js", - "index.js.map" + "dist/*.d.ts", + "dist/*.js" ], "homepage": "https://github.com/armano2/freemarker-parser#readme", "devDependencies": { "@types/glob": "^7.1.1", - "@types/json-stringify-safe": "^5.0.0", "@types/mocha": "^5.2.5", "@types/node": "^10.12.0", "codecov": "^3.1.0", "glob": "^7.1.3", "mocha": "^5.2.0", + "mocha-junit-reporter": "^1.18.0", "nyc": "^13.1.0", "source-map-support": "^0.5.9", "ts-node": "^7.0.1", @@ -55,7 +54,6 @@ "typescript": "^3.1.3" }, "dependencies": { - "debug": "^4.1.0", "lines-and-columns": "^1.1.6" }, "nyc": {