An open API service indexing awesome lists of open source software.

https://github.com/hmpl-language/hmpl-loader

Loader for files with hpml extension for Webpack
https://github.com/hmpl-language/hmpl-loader

hmpl hmpl-js loader webpack webpack-loader webpack-loaders

Last synced: 4 months ago
JSON representation

Loader for files with hpml extension for Webpack

Awesome Lists containing this project

README

          

# hmpl-loader

[![npm-version](https://img.shields.io/npm/v/hmpl-loader?logo=npm&color=fff)](https://www.npmjs.com/package/hmpl-loader)

This loader was created for files with the `.hmpl` extension, which are converted using the [hmpl-js](https://www.npmjs.com/package/hmpl-js) package. This loader is designed for webpack.

> Loader works with hmpl-js version 1.0.4 or higher

## Installation

```bash
npm i -D hmpl-loader
```

## Usage:

In the `webpack.config.js` file you can specify the following lines of code:

```javascript
module.exports = {
module: {
rules: [
{
test: /\.hmpl$/i,
use: ["hmpl-loader"],
},
],
},
};
```

After `webpack.config.js` has been changed, in js files (for example, in `main.js`), you can import a file with the `.hmpl` extension and receive a [template function](https://hmpl-lang.dev/functions/template/) in response.

### main.hmpl

```hmpl


{{#request src="/api/test"}}
{{/request}}

```

### main.js

```javascript
const templateFn = require("./main.hmpl");

const elementObj = templateFn();
```

## Options

The loader supports the compile function options.

```javascript
module.exports = {
module: {
rules: [
{
test: /\.hmpl$/i,
use: {
loader: "hmpl-loader",
options: {
memo: true,
autoBody: { formData: true },
allowedContentTypes: ["text/html"],
disallowedTags: ["script"],
sanitize: false,
sanitizeConfig: { USE_PROFILES: { html: true } },
},
},
},
],
},
};
```

The list of options is described in the documentation [here](https://hmpl-lang.dev/objects/hmpl/#compile).

## Changelog

[Changelog](https://github.com/hmpl-language/hmpl-loader/releases)

## License

[Licensed under MIT](https://github.com/hmpl-language/hmpl-loader/blob/master/LICENSE)