{
  "name": "signalk-server",
  "version": "2.30.0",
  "description": "An implementation of a [Signal K](http://signalk.org) server for boats.",
  "main": "index.js",
  "scripts": {
    "build": "tsc --build",
    "build:all": "npm run build:workspaces && npm run build && npm run build:docs",
    "build:docs": "typedoc",
    "build:workspaces": "npm run build --workspaces --if-present",
    "watch": "tsc --build -w",
    "prettier": "prettier --write .",
    "lint": "eslint --fix",
    "format": "npm run prettier && npm run lint",
    "ci-lint": "eslint && prettier --check .",
    "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": "NODE_ENV=test mocha 'test/**/*.[jt]s'",
    "test:admin-ui": "npm run test -w @signalk/server-admin-ui",
    "test:server-api": "npm run test -w @signalk/server-api",
    "test:streams": "npm run test -w @signalk/streams",
    "test:path-metadata": "npm run test -w @signalk/path-metadata",
    "test": "npm run build && npm run test-only && npm run ci-lint && npm run test:admin-ui && npm run test:server-api && npm run test:streams && npm run test:path-metadata",
    "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": ">=22"
  },
  "workspaces": [
    "packages/server-admin-ui-dependencies",
    "packages/server-admin-ui",
    "packages/streams",
    "packages/server-api",
    "packages/path-metadata",
    "packages/resources-provider-plugin",
    "packages/typedoc-theme",
    "packages/assemblyscript-plugin-sdk"
  ],
  "dependencies": {
    "@assemblyscript/loader": "^0.28.19",
    "@astronautlabs/mdns": "^1.0.10",
    "@signalk/course-provider": "^1.4.0",
    "@signalk/n2k-signalk": ">=4.1.0-beta",
    "@signalk/nmea0183-signalk": "^3.20.0",
    "@signalk/resources-provider": "^1.5.1",
    "@signalk/server-api": "^2.30.0",
    "@signalk/signalk-schema": "1.0.x",
    "@signalk/streams": "6.8.x",
    "api-schema-builder": "^2.0.11",
    "archiver": "^7.0.1",
    "as-fetch": "^2.1.4",
    "baconjs": "^3.0.23",
    "bcryptjs": "^2.4.3",
    "body-parser": "^1.20.5",
    "busboy": "^1.6.0",
    "chalk": "^3.0.0",
    "clear": "^0.1.0",
    "command-exists": "^1.2.9",
    "compression": "^1.8.1",
    "cookie": "^0.7.0",
    "cookie-parser": "^1.4.7",
    "cors": "^2.8.6",
    "debug": "^4.4.3",
    "errorhandler": "^1.5.2",
    "esm-resolve": "^1.0.11",
    "express": "^4.22.2",
    "express-rate-limit": "^8.5.2",
    "file-timestamp-stream": "^2.2.4",
    "geolib": "^3.3.14",
    "get-folder-size": "^5.0.0",
    "helmet": "^8.2.0",
    "jose": "^6.2.3",
    "json-patch": "^0.7.0",
    "jsonwebtoken": "^9.0.3",
    "lodash": "^4.18.1",
    "marked": "^17.0.6",
    "mathjs": "^15.2.0",
    "minimist": "^1.2.8",
    "moment": "^2.30.1",
    "morgan": "^1.11.0",
    "ms": "^2.1.2",
    "ncp": "^2.0.0",
    "openid-client": "^6.8.4",
    "ora": "^5.4.1",
    "primus": "^7.3.5",
    "prompts": "^2.4.2",
    "rehype-parse": "^9.0.1",
    "rehype-remark": "^10.0.1",
    "remark-gfm": "^4.0.1",
    "remark-stringify": "^11.0.0",
    "selfsigned": "^2.4.1",
    "semver": "^7.8.5",
    "split": "^1.0.1",
    "stat-mode": "^1.0.0",
    "swagger-ui-express": "^4.6.3",
    "undici": "^7.28.0",
    "unified": "^11.0.5",
    "unzipper": "^0.12.3",
    "uuid": "^8.3.2",
    "ws": "^8.17.0"
  },
  "optionalDependencies": {
    "@mxtommy/kip": "^4.8.0",
    "@signalk/app-dock": "^1.1.0",
    "@signalk/freeboard-sk": "^2.24.0",
    "@signalk/instrumentpanel": "0.x",
    "@signalk/server-admin-ui": "^2.30.0",
    "@signalk/set-system-time": "^1.5.0",
    "@signalk/signalk-to-nmea0183": "^1.18.0",
    "@signalk/udp-nmea-plugin": "^2.0.0",
    "serialport": "^11.0.1",
    "signalk-n2kais-to-nmea0183": "^2.0.3",
    "signalk-to-nmea2000": "^2.24.0"
  },
  "devDependencies": {
    "@eslint-react/eslint-plugin": "^1.53.1",
    "@eslint/js": "^9.24.0",
    "@signalk/typedoc-signalk-theme": "^0.4.0",
    "@tsconfig/node24": "^24.0.4",
    "@types/archiver": "^7.0.0",
    "@types/bcryptjs": "^2.4.6",
    "@types/busboy": "^1.5.4",
    "@types/chai": "^4.3.20",
    "@types/command-exists": "^1.2.3",
    "@types/cookie": "^0.6.0",
    "@types/cookie-parser": "^1.4.10",
    "@types/cors": "^2.8.19",
    "@types/debug": "^4.1.13",
    "@types/express": "^4.17.25",
    "@types/jsonwebtoken": "^9.0.10",
    "@types/lodash": "^4.17.24",
    "@types/mocha": "^10.0.10",
    "@types/ncp": "^2.0.8",
    "@types/semver": "^7.7.1",
    "@types/split": "^1.0.5",
    "@types/swagger-ui-express": "^4.1.8",
    "@types/unzipper": "^0.10.11",
    "@types/uuid": "^10.0.0",
    "@types/ws": "^8.18.1",
    "assemblyscript-prettier": "^3.0.4",
    "chai": "^4.5.0",
    "chai-json-equal": "0.0.1",
    "chai-things": "^0.2.0",
    "eslint": "^9.39.4",
    "eslint-config-prettier": "^10.1.8",
    "eslint-plugin-chai-friendly": "^1.2.1",
    "eslint-plugin-prefer-arrow": "^1.2.3",
    "eslint-plugin-react": "^7.37.5",
    "eslint-plugin-react-compiler": "^19.1.0-rc.2",
    "eslint-plugin-react-hooks": "^7.1.1",
    "globals": "^17.6.0",
    "mocha": "^11.7.6",
    "prettier": "^3.8.4",
    "rimraf": "^6.1.3",
    "ts-node": "^10.9.2",
    "typedoc": "^0.28.19",
    "typedoc-plugin-mdn-links": "^5.1.1",
    "typescript": "^5.9.3",
    "typescript-eslint": "^8.61.1",
    "zod-validation-error": "^4.0.2"
  },
  "funding": "https://opencollective.com/signalk"
}
