# ecatmod

> Wrapper library for EtherCAT Slave Information data structure parsed with Jsonix

Latest version **2.2.11** (published 2026-03-31) · ISC license · 0 weekly downloads

## Install

```sh
npm install ecatmod
pnpm add ecatmod
yarn add ecatmod
bun add ecatmod
```

## Health

**Score 45/100 (D)** — status: stable.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; large bundle.

## Facts

| | |
|---|---|
| Version | 2.2.11 |
| Published | 2026-03-31 |
| First published | 2016-06-30 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 7 |
| Unpacked size | 11.6 MB |
| Known vulnerabilities | 0 (+16 in 1 direct dependencies) |
| Install scripts | no |
| Author | Marko Sanković |
| Maintainers | markosankovic |

## Links

- npm: https://www.npmjs.com/package/ecatmod
- Repository: https://github.com/synapticon/ecatmod
- Homepage: https://github.com/synapticon/ecatmod#readme
- Issues: https://github.com/synapticon/ecatmod/issues
- npm.io page: https://npm.io/package/ecatmod

## Dependencies (7)

- [ajv](https://npm.io/package/ajv.md) ^8.11.0
- [slug](https://npm.io/package/slug.md) ^5.3.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.21
- [xmldom](https://npm.io/package/xmldom.md) ^0.6.0
- [ecatcia](https://npm.io/package/ecatcia.md) ^1.1.6
- [xml-formatter](https://npm.io/package/xml-formatter.md) ^2.6.1
- [xmlhttprequest](https://npm.io/package/xmlhttprequest.md) ^1.8.0

## Recent versions

- 2.2.11 (latest) — 2026-03-31
- 2.2.10 — 2026-01-13
- 2.2.9 — 2025-09-01
- 2.2.8 — 2025-09-01
- 2.2.7 — 2025-07-31
- 2.2.6 — 2024-11-19
- 2.2.5 — 2024-11-08
- 2.2.4 — 2024-04-04
- 2.2.3 — 2023-05-30
- 2.2.2 — 2023-05-26
- 2.2.1 — 2023-05-13
- 2.2.0 — 2023-05-12
- 2.1.1 — 2023-01-23
- 2.1.0 — 2022-12-07
- 2.1.0-beta.1 — 2022-11-21
- … 100 more at https://npm.io/package/ecatmod/versions

## README

Synapticon EtherCAT Model
=========================

Wrapper library for EtherCAT Slave Information (ESI) data structure parsed with Jsonix.

Install
-------

```
$ npm install ecatmod
```

Usage
-----

```javascript
const fs = require('fs');
const ecatmod = require('ecatmod');

const contents = fs.readFileSync('esi.xml', 'utf8');
const esi = ecatmod.unmarshalEsiString(contents);
ecatmod.applyToEsi(esi);
```

Sample ESI files
----------------

[https://github.com/synapticon/ecatapi/tree/master/public/esi](https://github.com/synapticon/ecatapi/tree/master/public/esi)

Development
-----------

```sh
$ git pull https://github.com/synapticon/ecatmod
$ cd ecatmod
$ npm run watch
```

Grunt command watches files for changes in src and specs directories and then runs linter and tests and builds documentation.

How to reformat and reindent profile JSON files:

```sh
$ npm -g install js-beautify
$ js-beautify --config .vscode/formatter.json -r src/profiles/SNCN.json
```

Documentation
-------------

[https://synapticon.github.io/ecatmod](https://synapticon.github.io/ecatmod)

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