{
  "name": "signalk-synthetic-values",
  "version": "0.7.1",
  "description": "Combine redundant sensors on one Signal K path into a robust median or outlier-rejected value",
  "keywords": [
    "signalk-node-server-plugin",
    "signalk-plugin-configurator",
    "signalk-category-utility",
    "signalk",
    "redundancy",
    "sensor-fusion",
    "median",
    "outlier"
  ],
  "signalk-plugin-enabled-by-default": false,
  "signalk": {
    "displayName": "Synthetic Values",
    "appIcon": "./assets/icons/icon-192.png",
    "screenshots": [
      "./assets/screenshots/00-admin-hero.png",
      "./assets/screenshots/01-config-panel.png",
      "./assets/screenshots/02-not-recommended.png",
      "./assets/screenshots/03-tune.png",
      "./assets/screenshots/04-data-browser.png"
    ],
    "recommends": [
      "signalk-nmea2000-emitter-cannon"
    ]
  },
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    }
  },
  "sideEffects": false,
  "type": "module",
  "files": [
    "dist",
    "public",
    "assets",
    "README.md",
    "CHANGELOG.md",
    "LICENSE",
    "THIRD_PARTY_NOTICES.md"
  ],
  "author": {
    "name": "Nearl Crews",
    "email": "NearlCrews@users.noreply.github.com",
    "url": "https://github.com/NearlCrews"
  },
  "license": "Apache-2.0",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/NearlCrews/signalk-synthetic-values.git"
  },
  "bugs": {
    "url": "https://github.com/NearlCrews/signalk-synthetic-values/issues"
  },
  "homepage": "https://github.com/NearlCrews/signalk-synthetic-values#readme",
  "funding": {
    "type": "buymeacoffee",
    "url": "https://www.buymeacoffee.com/nearlcrews"
  },
  "engines": {
    "node": ">=20.18"
  },
  "devEngines": {
    "runtime": {
      "name": "node",
      "version": "^22.22.2 || ^24.15.0 || ^26.0.0",
      "onFail": "error"
    },
    "packageManager": {
      "name": "npm",
      "version": ">=12.0.2 <13.0.0",
      "onFail": "warn"
    }
  },
  "packageManager": "npm@12.0.2",
  "peerDependencies": {
    "@signalk/server-api": ">=2.24.0"
  },
  "scripts": {
    "clean": "node scripts/clean.mjs",
    "build:types": "node scripts/build-types.mjs",
    "build:bundle": "node esbuild.config.js",
    "build:panel": "node scripts/build-panel.mjs",
    "check:panel": "node scripts/check-panel-bundle.mjs && snui-check-consumer --root . --remote public/remoteEntry.js --baseline scripts/panel-size-baseline.json --stats .tmp/panel-stats.json --styles src/configpanel --runtime --expose ./PluginConfigurationPanel --expect \"Detected multi-source paths\"",
    "build": "npm run clean && npm run build:types && npm run build:bundle && npm run build:panel && npm run check:panel",
    "type-check": "tsc --noEmit && npm run type-check:test && npm run type-check:panel && npm run type-check:browser",
    "type-check:test": "tsc -p tsconfig.test.json --noEmit",
    "type-check:panel": "tsc -p tsconfig.panel.json --noEmit",
    "type-check:browser": "tsc -p tsconfig.browser.json --noEmit",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage",
    "pretest:browser": "npm run build",
    "test:browser": "playwright test --project=chromium",
    "pretest:browser:cross": "npm run build",
    "test:browser:cross": "node scripts/run-browser-matrix.mjs",
    "test:browser:cross:built": "node scripts/run-browser-matrix.mjs",
    "test:integration": "node scripts/check-signalk-integration.mjs",
    "screenshots": "npm run build && node scripts/capture-screenshots.mjs",
    "lint": "npm run lint:code && npm run lint:docs && npm run spellcheck",
    "lint:code": "biome check .",
    "lint:docs": "node scripts/check-markdown.mjs",
    "lint:fix": "biome check --write .",
    "spellcheck": "cspell --no-progress --show-suggestions README.md CHANGELOG.md CLAUDE.md assets/*.md \".github/**/*.{md,yml,yaml}\"",
    "ci:workflows": "node scripts/check-workflows.mjs",
    "format": "biome format --write .",
    "knip": "knip",
    "licenses": "node scripts/generate-third-party-notices.mjs",
    "package:check": "node scripts/check-package.mjs && node scripts/generate-third-party-notices.mjs --check",
    "audit:runtime": "npm audit --omit=dev --audit-level=high",
    "audit:full": "npm audit --audit-level=moderate",
    "verify:commit": "npm run lint && npm run ci:workflows && npm run knip",
    "verify:fast": "npm run verify:commit && npm run type-check",
    "verify": "npm run verify:fast && npm run test:coverage && npm run build && npm run package:check && npm run audit:runtime",
    "verify:browser": "npm run verify && npm run test:browser:cross:built",
    "verify:release": "npm run verify:browser && npm run audit:full",
    "prepublishOnly": "npm run verify:release",
    "hooks": "git config core.hooksPath .githooks",
    "dev": "tsx watch src/index.ts"
  },
  "devDependencies": {
    "@axe-core/playwright": "^4.14.0",
    "@babel/core": "^8.0.7",
    "@babel/preset-react": "^8.0.1",
    "@babel/preset-typescript": "^8.0.7",
    "@biomejs/biome": "2.5.15",
    "@playwright/test": "^1.64.1",
    "@signalk/server-api": "^2.33.0",
    "@testing-library/dom": "^10.4.2",
    "@testing-library/jest-dom": "^7.0.1",
    "@testing-library/react": "^16.3.3",
    "@types/express": "^5.0.6",
    "@types/node": "^20.19.43",
    "@types/react": "^19.3.0",
    "@types/react-dom": "^19.3.0",
    "@vitejs/plugin-react": "^6.1.2",
    "@vitest/coverage-v8": "^5.0.5",
    "babel-loader": "^10.1.1",
    "cspell": "10.4.0",
    "esbuild": "^0.28.2",
    "jsdom": "^30.1.3",
    "knip": "^6.35.1",
    "markdownlint": "0.42.0",
    "react": "^19.3.1",
    "react-dom": "^19.3.1",
    "signalk-nearlcrews-ui": "0.14.1",
    "tsx": "^4.23.15",
    "typescript": "^7.0.2",
    "vite": "^8.3.4",
    "vitest": "^5.0.5",
    "webpack": "^5.112.0",
    "webpack-cli": "^7.2.3"
  },
  "overrides": {
    "vitest": {
      "@types/node": "$@types/node"
    },
    "@vitest/coverage-v8": {
      "@types/node": "$@types/node"
    },
    "micromark-extension-math": {
      "katex": "^0.19.0"
    }
  },
  "allowScripts": {
    "esbuild@0.28.2": true
  },
  "gitHead": "cd1b96bdf7506c7e0f256b1f9e2f507baf8f852d"
}
