51 lines
1.2 KiB
Markdown
51 lines
1.2 KiB
Markdown
# parse-literals
|
|
|
|
_Because sometimes you literally need to parse template literals._
|
|
|
|
[![npm](https://img.shields.io/npm/v/parse-literals.svg)](https://www.npmjs.com/package/parse-literals)
|
|
[![Build Status](https://travis-ci.com/asyncLiz/parse-literals.svg?branch=master)](https://travis-ci.com/asyncLiz/parse-literals)
|
|
[![Coverage Status](https://coveralls.io/repos/github/asyncLiz/parse-literals/badge.svg?branch=master)](https://coveralls.io/github/asyncLiz/parse-literals?branch=master)
|
|
|
|
## Why?
|
|
|
|
Template literals are often used in JavaScript for HTML and CSS. This library allows developers to extract the strings from the literals for post processing, such as minifying or linting.
|
|
|
|
## Usage
|
|
|
|
```js
|
|
import * as pl from 'parse-literals';
|
|
// const pl = require('parse-literals');
|
|
|
|
const templates = pl.parseLiterals(`
|
|
render() {
|
|
return html\`
|
|
<h1>\${"Hello World"}</h1>
|
|
\`;
|
|
}
|
|
`);
|
|
|
|
console.log(templates);
|
|
// [
|
|
// {
|
|
// "tag": "html",
|
|
// "parts": [
|
|
// {
|
|
// "text": "\n <h1>",
|
|
// "start": 30,
|
|
// "end": 41
|
|
// },
|
|
// {
|
|
// "text": "</h1>\n ",
|
|
// "start": 57,
|
|
// "end": 67
|
|
// }
|
|
// ]
|
|
// }
|
|
// ]
|
|
```
|
|
|
|
## Supported Source Syntax
|
|
|
|
- JavaScript
|
|
- TypeScript
|