# homm3-parsers

> Collection of binary parsers able to parse various file formats related to Heroes of Might and Magic III

Latest version **0.8.11** (published 2019-12-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install homm3-parsers
pnpm add homm3-parsers
yarn add homm3-parsers
bun add homm3-parsers
```

## Health

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

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.8.11 |
| Published | 2019-12-26 |
| First published | 2019-05-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 726 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 8 |
| Author | Sergii Kostyrko |
| Maintainers | srg-kostyrko |
| Keywords | parser, binary, homm3, h3m, lod, def |

## Links

- npm: https://www.npmjs.com/package/homm3-parsers
- Repository: https://github.com/srg-kostyrko/homm3-parser
- Homepage: https://github.com/srg-kostyrko/homm3-parser#readme
- Issues: https://github.com/srg-kostyrko/homm3-parser/issues
- npm.io page: https://npm.io/package/homm3-parsers

## Dependencies (2)

- [pako](https://npm.io/package/pako.md) ^1.0.10
- [binary-markup](https://npm.io/package/binary-markup.md) ^0.9.0

## Alternatives

- [babylon](https://npm.io/package/babylon.md) — 5.1M weekly downloads
- [csscolorparser](https://npm.io/package/csscolorparser.md) — 3.7M weekly downloads
- [expr-eval-fork](https://npm.io/package/expr-eval-fork.md) — 1.5M weekly downloads
- [@leeoniya/ufuzzy](https://npm.io/package/@leeoniya/ufuzzy.md) — 247.7K weekly downloads
- [xml-parser](https://npm.io/package/xml-parser.md) — 78.4K weekly downloads

## Recent versions

- 0.8.11 (latest) — 2019-12-26
- 0.8.10 — 2019-07-21
- 0.8.9 — 2019-07-21
- 0.8.8 — 2019-07-18
- 0.8.7 — 2019-07-15
- 0.8.5 — 2019-07-15
- 0.8.3 — 2019-07-14
- 0.8.2 — 2019-07-14
- 0.8.1 — 2019-05-26

## README

![NpmLicense](https://img.shields.io/npm/l/binary-markup.svg) ![npm](https://img.shields.io/npm/v/binary-markup.svg) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/)

<p align="center">
  <h3 align="center">Heroes of Might and Magic III parsers</h3>

  <p align="center">
    Collection of parsers that are are able to read different binary files associated with Heroes of Might and Magic III
    <br />
    <a href="https://github.com/srg-kostyrko/homm3-parser"><strong>Explore the docs »</strong></a>
    <br />
    <br />
    <a href="https://github.com/srg-kostyrko/homm3-parser/issues">Report Bug</a>
    ·
    <a href="https://github.com/srg-kostyrko/homm3-parser/issues">Request Feature</a>
  </p>
</p>

<!-- TABLE OF CONTENTS -->

## Table of Contents

- [About the Project](#about-the-project)
  - [Built With](#built-with)
- [Getting Started](#getting-started)
  - [Installation](#installation)
  - [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
- [Acknowledgements](#acknowledgements)

<!-- ABOUT THE PROJECT -->

## About The Project

The project was born as I was working on online map viewer for Heroes of Might and Magic III.
The main idea was to make it easy t parse different binary respources needed for that in node and browser.

Current focus is on `h3m` files, with rudimentary support for `lod`, `def` and `pcx`.

### Built With

- [BML](https://www.npmjs.com/package/binary-markup)

<!-- GETTING STARTED -->

## Getting Started

### Installation

User `npm`

```sh
npm install --save homm3-parsers
```

or `yarn`

```sh
yarn add homm3-parsers
```

<!-- USAGE EXAMPLES -->

## Usage

Parsing h3m files

```javascript
const fs = require('fs');
const { parseH3MFile } = require('homm3-parsers')

async function parse(path) => {
  const file = await fs.promises.readFile(path)
  return = parseH3MFile(file)
}
```

<!-- CONTRIBUTING -->

## Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

<!-- LICENSE -->

## License

Distributed under the MIT License. See `LICENSE` for more information.

<!-- CONTACT -->

## Contact

Sergii Kostyrko - srg.kostyrko@gmail.com

Project Link: [https://github.com/srg-kostyrko/homm3-parser](https://github.com/srg-kostyrko/homm3-parser)

<!-- ACKNOWLEDGEMENTS -->

## Acknowledgements

- [homm3tools](https://github.com/potmdehex/homm3tools)
- [https://github.com/josch/lodextract](https://github.com/josch/lodextract)

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