MTICP Node.js Wrapper

raw JSON →
1.0.13 verified Fri May 01 auth: no javascript

Node.js wrapper for the mticp transpiler, a command-line tool for converting MTI Skipper Sheet projects (.skip) into IEC 61131-3 compatible formats including Structured Text (ST), Ladder Logic (LD), and XML. Version 1.0.13 is the latest stable release, published in March 2026. It wraps a precompiled C# executable and provides cross-platform support for Node.js >=14. This package is specialized for industrial PLC programming workflows, particularly for Montgomery Technology, Inc. devices, differentiating from general-purpose transpilers by focusing on the proprietary Skipper Sheet format.

error Error: Cannot find module 'mticp-npm'
cause Package not installed or not found in node_modules.
fix
Run 'npm install mticp-npm' in your project directory.
error TypeError: runMticp is not a function
cause Incorrect import style; using ESM import syntax instead of CommonJS require.
fix
Use 'const { runMticp } = require('mticp-npm');' instead of 'import { runMticp } from 'mticp-npm';'
error mticp error: Error: spawn mticp ENOENT
cause The mticp binary is not found in the expected bin/ directory.
fix
Reinstall the package: 'npm install mticp-npm'. If using a custom install, ensure binaries are present.
error UnhandledPromiseRejection: Error: Invalid arguments
cause Arguments array contains malformed or missing key-value pairs.
fix
Check that each argument is a string like 'action=toiec' and required keys (action, src, dst) are provided.
gotcha Package does not support ES modules (ESM). Use require() instead of import.
fix Use const { runMticp } = require('mticp-npm'); instead of import { runMticp } from 'mticp-npm';
gotcha All arguments must be provided as strings in the array. Incorrect types or malformed arguments may cause the binary to fail silently.
fix Ensure each argument is a string in the format 'key=value'.
breaking Versions 1.0.11 and earlier had issues with compiling Skipper Sheets with multiple PLCs. Upgrade to 1.0.12+.
fix Update to version 1.0.12 or later via npm install mticp-npm@latest.
gotcha The wrapper expects the binary to be present in bin/ directory. If binaries are missing, the call will fail.
fix Reinstall the package to ensure platform-specific binaries are downloaded.
deprecated The 'sendxml' action may require network access and specific device configuration; it is not a simple file conversion.
fix Ensure the device IP is correctly specified in 'dst' for 'sendxml' action.
npm install mticp-npm
yarn add mticp-npm
pnpm add mticp-npm

Shows how to call runMticp with async/await to convert a Skipper Sheet file to IEC Structured Text.

const { runMticp } = require('mticp-npm');

async function convertSkip() {
  try {
    const output = await runMticp([
      'action=toiec',
      'src=./project.skip',
      'dst=./output/'
    ]);
    console.log('Conversion successful:', output);
  } catch (err) {
    console.error('Conversion failed:', err);
  }
}

convertSkip();