{
  "name": "s7-server",
  "version": "1.0.0",
  "description": "TypeScript S7 PLC Server Simulator",
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "files": [
    "dist/**/*",
    "README.md",
    "LICENSE"
  ],
  "scripts": {
    "build": "npm run lint && tsc",
    "build:clean": "node scripts/build.js",
    "dev": "tsc --watch",
    "start": "node dist/index.js",
    "start:server": "tsx src/examples/server.ts",
    "start:client": "tsx src/examples/client.ts",
    "test": "jest",
    "test:watch": "jest --watch",
    "test:coverage": "jest --coverage",
    "lint": "eslint src/**/*.ts",
    "lint:fix": "eslint src/**/*.ts --fix",
    "format": "prettier --write src/**/*.ts",
    "format:check": "prettier --check src/**/*.ts",
    "clean": "rimraf dist",
    "prebuild": "npm run clean",
    "prepare": "npm run build"
  },
  "keywords": [
    "s7",
    "plc",
    "simulator",
    "typescript",
    "snap7",
    "siemens",
    "iso-tcp",
    "rfc-1006",
    "industrial-automation",
    "protocol",
    "server"
  ],
  "author": {
    "name": "Hong",
    "email": "hong@controlx.au"
  },
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/controlx-io/s7-server"
  },
  "bugs": {
    "url": "https://github.com/controlx-io/s7-server/issues"
  },
  "homepage": "https://github.com/controlx-io/s7-server#readme",
  "devDependencies": {
    "@types/jest": "^29.0.0",
    "@types/node": "^20.0.0",
    "@typescript-eslint/eslint-plugin": "^6.0.0",
    "@typescript-eslint/parser": "^6.0.0",
    "eslint": "^8.0.0",
    "eslint-config-prettier": "^9.0.0",
    "eslint-plugin-prettier": "^5.0.0",
    "jest": "^29.0.0",
    "prettier": "^3.0.0",
    "rimraf": "^5.0.0",
    "ts-jest": "^29.0.0",
    "tsx": "^4.0.0",
    "typescript": "^5.0.0"
  },
  "engines": {
    "node": ">=16.0.0",
    "npm": ">=8.0.0"
  },
  "publishConfig": {
    "access": "public"
  },
  "jest": {
    "preset": "ts-jest",
    "testEnvironment": "node",
    "testMatch": ["**/tests/**/*.test.ts"],
    "collectCoverageFrom": [
      "src/**/*.ts",
      "!src/**/*.d.ts",
      "!src/examples/**/*"
    ],
    "coverageDirectory": "coverage",
    "coverageReporters": ["text", "lcov", "html"]
  }
}