{
  "name": "dynamixel",
  "version": "0.0.5",
  "description": "Node.js library for controlling DYNAMIXEL servo motors via U2D2 interface with Protocol 2.0 support",
  "main": "./dist/cjs/index.js",
  "module": "./dist/esm/index.js",
  "types": "./dist/types/index.esm.d.ts",
  "type": "module",
  "exports": {
    ".": {
      "types": "./dist/types/index.esm.d.ts",
      "import": "./dist/esm/index.js",
      "require": "./dist/cjs/index.js"
    },
    "./package.json": "./package.json"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "scripts": {
    "build": "rollup -c && npm run build:types",
    "build:types": "tsc",
    "build:watch": "rollup -c -w",
    "clean": "rm -rf dist",
    "prebuild": "npm run clean",
    "test": "node --experimental-vm-modules node_modules/.bin/jest --detectOpenHandles",
    "test:unit": "node --experimental-vm-modules node_modules/.bin/jest tests/unit",
    "test:integration": "node --experimental-vm-modules node_modules/.bin/jest tests/integration",
    "test:coverage": "node --experimental-vm-modules node_modules/.bin/jest --coverage",
    "test:watch": "node --experimental-vm-modules node_modules/.bin/jest --watch",
    "lint": "eslint src/ tests/",
    "lint:fix": "eslint src/ tests/ --fix",
    "discovery": "node examples/device-discovery.js",
    "diagnostics": "node examples/usb-diagnostics.js",
    "prepublishOnly": "npm run build && npm test",
    "prepare": "npm run build"
  },
  "keywords": [
    "dynamixel",
    "servo",
    "motor",
    "robotics",
    "u2d2",
    "protocol2",
    "robotis",
    "actuator",
    "serial",
    "usb",
    "hardware",
    "automation",
    "iot"
  ],
  "author": {
    "name": "Andy Shinn",
    "email": "andyshinn@gmail.com",
    "url": "https://github.com/andyshinn"
  },
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/andyshinn/node-dynamixel.git"
  },
  "bugs": {
    "url": "https://github.com/andyshinn/node-dynamixel/issues"
  },
  "homepage": "https://github.com/andyshinn/node-dynamixel#readme",
  "files": [
    "dist/",
    "src/",
    "examples/",
    "README.md",
    "LICENSE",
    "CHANGELOG.md"
  ],
  "dependencies": {
    "serialport": "^12.0.0"
  },
  "optionalDependencies": {
    "usb": "^2.11.0"
  },
  "devDependencies": {
    "@eslint/js": "^9.28.0",
    "@jest/globals": "^29.7.0",
    "@rollup/plugin-commonjs": "^28.0.5",
    "@rollup/plugin-node-resolve": "^16.0.1",
    "@types/node": "^24.0.1",
    "eslint": "^9.28.0",
    "globals": "^15.0.0",
    "jest": "^29.7.0",
    "rollup": "^4.43.0",
    "rollup-plugin-copy": "^3.5.0",
    "typescript": "^5.8.3"
  },
  "jest": {
    "testEnvironment": "node",
    "testMatch": [
      "**/tests/**/*.test.js"
    ],
    "collectCoverageFrom": [
      "src/**/*.js",
      "!src/index.js",
      "!**/node_modules/**"
    ],
    "coverageDirectory": "coverage",
    "coverageReporters": [
      "text",
      "lcov",
      "html"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 30,
        "functions": 40,
        "lines": 30,
        "statements": 30
      }
    }
  }
}
