{
  "name": "node-red-contrib-lsh-logic",
  "version": "3.1.11",
  "description": "A Node-RED node for coordinating devices that implement the public LSH MQTT/protocol contract.",
  "main": "dist/lsh-logic.js",
  "scripts": {
    "clean": "node -e \"require('node:fs').rmSync('dist', { recursive: true, force: true })\"",
    "sync:version": "node scripts/sync-version.mjs --write",
    "sync:version:check": "node scripts/sync-version.mjs --check",
    "copy-assets": "copyfiles -u 1 src/**/*.html dist/",
    "dev:build": "npm run sync:version:check && npm run clean && tsc && npm run copy-assets",
    "build": "npm run sync:version:check && npm run clean && tsc -p tsconfig.prod.json && npm run copy-assets",
    "validate:package-doc-links": "node scripts/validate-package-doc-links.mjs",
    "typecheck": "npm run sync:version:check && tsc -p tsconfig.typecheck.json",
    "lint": "npm run sync:version:check && eslint src --max-warnings=0 --cache --cache-location ./.cache/eslint",
    "lint:fix": "npm run sync:version:check && eslint src --fix --cache --cache-location ./.cache/eslint",
    "lint:md": "node scripts/lint-markdown.mjs",
    "format": "prettier --write \"src/**/*.{ts,html,json}\" \"scripts/**/*.mjs\" \"examples/**/*.json\" \"docs/**/*.md\" README.md DOCS.md LIFECYCLE.md CITATION.cff package.json jest.config.js eslint.config.mjs knip.json tsconfig*.json .prettierrc.json \".github/**/*.{yml,yaml}\"",
    "format:check": "prettier --check \"src/**/*.{ts,html,json}\" \"scripts/**/*.mjs\" \"examples/**/*.json\" \"docs/**/*.md\" README.md DOCS.md LIFECYCLE.md CITATION.cff package.json jest.config.js eslint.config.mjs knip.json tsconfig*.json .prettierrc.json \".github/**/*.{yml,yaml}\"",
    "fix": "npm run format && npm run lint:fix",
    "knip": "knip --production --strict",
    "audit:prod": "npm audit --omit=dev",
    "verify:package": "node scripts/verify-package.mjs",
    "verify:package-contents": "node scripts/verify-package-contents.mjs",
    "check": "npm run sync:version:check && npm run typecheck && npm run lint && npm run lint:md && npm run format:check && npm run knip && npm run build && npm run validate:package-doc-links && npm run verify:package-contents && npm run verify:package && npm run test:cov && npm run audit:prod",
    "watch": "tsc -w",
    "prepublishOnly": "npm run check",
    "test": "npm run sync:version:check && jest --no-cache --detectOpenHandles",
    "test:cov": "npm run sync:version:check && jest --coverage --no-cache --detectOpenHandles",
    "test:watch": "jest --watch"
  },
  "files": [
    "dist/",
    "docs/",
    "images/",
    "DOCS.md",
    "LICENSE",
    "LIFECYCLE.md",
    "NOTICE",
    "README.md",
    "CITATION.cff",
    "examples/"
  ],
  "keywords": [
    "node-red",
    "node-red-node",
    "lsh",
    "lsh-protocol",
    "home-automation",
    "smart-home-automation",
    "typescript",
    "mqtt",
    "mqtt-automation",
    "homie",
    "smart-home"
  ],
  "author": {
    "name": "Jacopo Labardi",
    "email": "2527836+labodj@users.noreply.github.com"
  },
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/labodj/node-red-contrib-lsh-logic.git"
  },
  "bugs": {
    "url": "https://github.com/labodj/node-red-contrib-lsh-logic/issues"
  },
  "homepage": "https://github.com/labodj/node-red-contrib-lsh-logic#readme",
  "node-red": {
    "nodes": {
      "lsh-logic": "dist/lsh-logic.js",
      "lsh-actuator-sync": "dist/lsh-actuator-sync.js",
      "lsh-external-state": "dist/lsh-external-state.js"
    },
    "version": ">=4.0.0"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "dependencies": {
    "labo-smart-home-coordinator": "^1.2.0"
  },
  "devDependencies": {
    "@eslint/js": "^10.0.1",
    "@types/jest": "^30.0.0",
    "@types/node": "^25.8.0",
    "@types/node-red": "^1.3.5",
    "copyfiles": "^2.4.1",
    "eslint": "^10.4.0",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-jest": "^29.15.2",
    "globals": "^17.6.0",
    "jest": "^30.4.2",
    "knip": "^6.14.1",
    "prettier": "^3.8.3",
    "ts-jest": "^29.4.9",
    "typescript": "^6.0.3",
    "typescript-eslint": "^8.59.3"
  }
}
