# karma-html2js-preprocessor

> A Karma plugin. Convert HTML files into JS strings to serve them in a script tag.

Latest version **1.1.0** (published 2016-09-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install karma-html2js-preprocessor
pnpm add karma-html2js-preprocessor
yarn add karma-html2js-preprocessor
bun add karma-html2js-preprocessor
```

## Health

**Score 23/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2016-09-21 |
| First published | 2013-04-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/karma-html2js-preprocessor) |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 74 |
| Author | Vojta Jina |
| Maintainers | dignifiedquire, vojtajina, zzo |
| Keywords | karma-plugin, karma-preprocessor, html2js, html |

## Links

- npm: https://www.npmjs.com/package/karma-html2js-preprocessor
- Repository: https://github.com/karma-runner/karma-html2js-preprocessor
- Homepage: https://github.com/karma-runner/karma-html2js-preprocessor#readme
- Issues: https://github.com/karma-runner/karma-html2js-preprocessor/issues
- npm.io page: https://npm.io/package/karma-html2js-preprocessor

## Alternatives

- [@tsparticles/shape-image](https://npm.io/package/@tsparticles/shape-image.md) — 303.7K weekly downloads
- [@tsparticles/shape-line](https://npm.io/package/@tsparticles/shape-line.md) — 233.7K weekly downloads
- [stringify-attributes](https://npm.io/package/stringify-attributes.md) — 58.6K weekly downloads
- [mobile-drag-drop](https://npm.io/package/mobile-drag-drop.md) — 46.3K weekly downloads
- [@comunica/actor-rdf-parse-html](https://npm.io/package/@comunica/actor-rdf-parse-html.md) — 29.2K weekly downloads

## Recent versions

- 1.1.0 (latest) — 2016-09-21
- 1.0.0 — 2016-05-03
- 0.1.0 — 2013-08-06
- 0.0.2 — 2013-07-05
- 0.0.1 — 2013-04-26

## README

# karma-html2js-preprocessor [![Build Status](https://travis-ci.org/karma-runner/karma-html2js-preprocessor.png?branch=master)](https://travis-ci.org/karma-runner/karma-html2js-preprocessor)

> Preprocessor for converting HTML files into JS strings.

*Note:* If you are using [AngularJS](http://angularjs.org/), check out [karma-ng-html2js-preprocessor](https://github.com/karma-runner/karma-ng-html2js-preprocessor).

## Installation

The easiest way is to keep `karma-html2js-preprocessor` as a devDependency in your `package.json`.
```json
{
  "devDependencies": {
    "karma": "~0.10",
    "karma-html2js-preprocessor": "~0.1"
  }
}
```

You can simple do it by:
```bash
npm install karma-html2js-preprocessor --save-dev
```

## Configuration

```js
// karma.conf.js
module.exports = function(config) {
  config.set({
    preprocessors: {
      '**/*.html': ['html2js']
    },

    files: [
      '*.js',
      '*.html'
    ],

    html2JsPreprocessor: {
      // strip this from the file path
      stripPrefix: 'public/',

      // prepend this to the file path
      prependPrefix: 'served/',

      // or define a custom transform function
      processPath: function(filePath) {
        // Drop the file extension
        return filePath.replace(/\.html$/, '');
      }
    }
  });
};
```

## How does it work ?

This preprocessor converts HTML files into JS strings and publishes them in the global `window.__html__`, so that you can use these for testing DOM operations.

For instance this `template.html`...
```html
<div>something</div>
```
... will be served as `template.html.js`:
```js
window.__html__ = window.__html__ || {};
window.__html__['template.html'] = '<div>something</div>';
```

See the [end2end test](https://github.com/karma-runner/integration-tests/blob/master/html2js/test.js) for a complete example.

----

For more information on Karma see the [homepage].


[homepage]: http://karma-runner.github.com

---
_Source: https://npm.io/package/karma-html2js-preprocessor · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
