{
  "name": "signalk-server",
  "version": "2.13.5",
  "description": "An implementation of a [Signal K](http://signalk.org) server for boats.",
  "main": "index.js",
  "scripts": {
    "build": "tsc --build && npm run build:docs",
    "build:all": "npm run build:workspaces && npm run build && npm run build-declaration && npm run build:docs",
    "build:docs": "USER_INFO=$(id -u):$(id -g) docker run --rm -v ${PWD}/docs:/book peaceiris/mdbook:v0.4.40 build",
    "build:workspaces": "npm run build --workspaces --if-present",
    "build-declaration": "tsc --declaration",
    "watch": "tsc --build -w",
    "prettier": "prettier -w src/",
    "lint": "eslint -c .eslintrc.js --ext .ts --ext .js --fix src/",
    "format": "npm run prettier && npm run lint",
    "ci-lint": "eslint -c .eslintrc.js --ext .ts --ext .js src/ && prettier --check src/",
    "prepublishOnly": "npm run lint && npm run build:all && npm run build-declaration",
    "update-latest-release": "git checkout master && git branch -D latest-release || git checkout -b latest-release && git push -f origin/latest-release",
    "start": "node bin/signalk-server",
    "test-only": "mocha --require ts-node/register --extensions ts,tsx,js --timeout 20000 --exit 'test/**/*.[jt]s' 'lib/**/*.test.js'",
    "test": "npm run build && npm run test-only && npm run ci-lint",
    "typedoc": "typedoc",
    "heroku-postbuild": "npm run build:all",
    "master-changed-files": "git diff --name-status $(git tag | tail -1)..master"
  },
  "bin": {
    "signalk-server": "./bin/signalk-server",
    "signalk-server-setup": "./bin/signalk-server-setup",
    "signalk-generate-token": "./bin/signalk-generate-token"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/SignalK/signalk-server.git"
  },
  "bugs": {
    "url": "https://github.com/SignalK/signalk-server/issues"
  },
  "keywords": [
    "signalk",
    "kjson",
    "nmea",
    "seatalk",
    "gps",
    "sailing",
    "boat",
    "marine",
    "nautic"
  ],
  "contributors": [
    {
      "name": "Teppo Kurki",
      "email": "teppo.kurki@iki.fi"
    },
    {
      "name": "Scott Bender",
      "email": "scott@scottbender.net"
    },
    {
      "name": "Adrian Panazzolo"
    }
  ],
  "license": "Apache-2.0",
  "engines": {
    "node": ">=16"
  },
  "workspaces": [
    "packages/server-admin-ui-dependencies",
    "packages/server-admin-ui",
    "packages/streams",
    "packages/server-api",
    "packages/resources-provider-plugin"
  ],
  "dependencies": {
    "@signalk/course-provider": "^1.0.0",
    "@signalk/n2k-signalk": "^3.0.0",
    "@signalk/nmea0183-signalk": "^3.0.0",
    "@signalk/resources-provider": "^1.3.0",
    "@signalk/server-admin-ui": "2.12.x",
    "@signalk/server-api": "2.6.x",
    "@signalk/signalk-schema": "^1.7.1",
    "@signalk/streams": "^4.4.0",
    "api-schema-builder": "^2.0.11",
    "baconjs": "^1.0.1",
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.14.1",
    "busboy": "^1.6.0",
    "chalk": "^3.0.0",
    "clear": "^0.1.0",
    "command-exists": "^1.2.8",
    "compare-versions": "^3.0.1",
    "compression": "^1.7.3",
    "cookie": "^0.4.0",
    "cookie-parser": "^1.4.3",
    "cors": "^2.5.2",
    "debug": "^4.3.3",
    "dnssd2": "1.0.0",
    "errorhandler": "^1.3.0",
    "express": "^4.10.4",
    "express-easy-zip": "^1.1.5",
    "express-namespace": "^0.1.1",
    "figlet": "^1.2.0",
    "file-timestamp-stream": "^2.1.2",
    "flatmap": "0.0.3",
    "geolib": "3.2.2",
    "get-installed-path": "^4.0.8",
    "inquirer": "^7.0.0",
    "json-patch": "^0.7.0",
    "jsonwebtoken": "^9.0.0",
    "listr": "^0.14.1",
    "lodash": "^4.17.4",
    "mdns-js": "^1.0.3",
    "minimist": "^1.1.0",
    "moment": "^2.10.6",
    "morgan": "^1.5.0",
    "ms": "^2.1.2",
    "ncp": "^2.0.0",
    "node-fetch": "^2.6.0",
    "primus": "^7.0.0",
    "selfsigned": "^2.4.1",
    "semver": "^7.5.4",
    "split": "^1.0.0",
    "stat-mode": "^1.0.0",
    "swagger-ui-express": "^4.5.0",
    "unzipper": "^0.10.10",
    "uuid": "^8.1.0",
    "ws": "^7.0.0"
  },
  "optionalDependencies": {
    "@signalk/freeboard-sk": "^2.0.0-beta.3",
    "@mxtommy/kip": "^2.9.1",
    "@signalk/instrumentpanel": "0.x",
    "@signalk/set-system-time": "^1.2.0",
    "@signalk/signalk-to-nmea0183": "^1.0.0",
    "@signalk/vesselpositions": "^1.0.0",
    "@signalk/udp-nmea-plugin": "^2.0.0",
    "signalk-to-nmea2000": "^2.16.0",
    "signalk-n2kais-to-nmea0183": "^1.3.1",
    "mdns": "^2.5.1",
    "serialport": "^11.0.0"
  },
  "devDependencies": {
    "@types/busboy": "^1.5.0",
    "@types/chai": "^4.2.15",
    "@types/command-exists": "^1.2.0",
    "@types/cors": "^2.8.12",
    "@types/debug": "^4.1.5",
    "@types/express": "^4.17.1",
    "@types/lodash": "^4.14.139",
    "@types/mocha": "^10.0.1",
    "@types/ncp": "^2.0.5",
    "@types/node-fetch": "^2.5.3",
    "@types/semver": "^7.1.0",
    "@types/split": "^1.0.0",
    "@types/swagger-ui-express": "^4.1.3",
    "@types/unzipper": "^0.10.5",
    "@types/uuid": "^8.3.1",
    "@typescript-eslint/eslint-plugin": "^8.16.0",
    "chai": "^4.0.0",
    "chai-json-equal": "0.0.1",
    "chai-things": "^0.2.0",
    "eslint": "^8.24.0",
    "eslint-config-prettier": "^8.5.0",
    "eslint-plugin-prefer-arrow": "^1.2.3",
    "eslint-plugin-react": "^7.31.8",
    "freeport-promise": "^1.0.0",
    "lint-staged": "^10.0.3",
    "mocha": "^10.2.0",
    "prettier": "^2.7.1",
    "rimraf": "^6.0.1",
    "ts-node": "^10.9.1",
    "typedoc": "^0.26.11",
    "typescript": "5.6.x"
  },
  "funding": "https://opencollective.com/signalk"
}
