{
  "name": "@kvaser/canking-api",
  "version": "7.2.1",
  "description": "CanKing API to communicate with the CanKing service using Node.js.",
  "author": "Kvaser AB",
  "license": "SEE LICENSE IN EULA.pdf",
  "keywords": [
    "CanKing",
    "CanKing7",
    "Kvaser",
    "CAN",
    "LIN",
    "J1939",
    "BusAnalysis",
    "Bus",
    "Analysis",
    "Diagnostics"
  ],
  "main": "dist/index.js",
  "module": "dist/index.mjs",
  "types": "dist/index.d.ts",
  "exports": {
    ".": {
      "import": "./dist/index.mjs",
      "require": "./dist/index.js",
      "types": "./dist/index.d.ts"
    },
    "./models": {
      "import": "./dist/models.mjs",
      "require": "./dist/models.js",
      "types": "./dist/models/index.d.ts"
    },
    "./package.json": "./package.json",
    "./controls": {
      "import": "./dist/controls.mjs",
      "require": "./dist/controls.js",
      "types": "./dist/controls/index.d.ts"
    },
    "./ipc": {
      "import": "./dist/ipc.mjs",
      "require": "./dist/ipc.js",
      "types": "./dist/ipc/index.d.ts"
    },
    "./hooks": {
      "import": "./dist/hooks.mjs",
      "require": "./dist/hooks.js",
      "types": "./dist/hooks/index.d.ts"
    },
    "./icons": {
      "import": "./dist/icons.mjs",
      "require": "./dist/icons.js",
      "types": "./dist/icons/index.d.ts"
    },
    "./grpc": {
      "import": "./dist/grpc.mjs",
      "require": "./dist/grpc.js",
      "types": "./dist/grpc/index.d.ts"
    }
  },
  "bin": {
    "create-extension": "index.js"
  },
  "files": [
    "dist",
    "doc",
    "licenses",
    "EULA.pdf",
    "REDISTRIBUTABLES.txt",
    "index.js"
  ],
  "scripts": {
    "build": "tsc -b && vite build && npm run build:types && npm run build:doc",
    "build:types": "tsc src/index.ts src/models/index.ts src/controls/index.ts src/ipc/index.ts src/hooks/index.ts src/icons/index.tsx src/grpc/index.ts --target es2020 --module esnext --moduleResolution bundler --jsx react-jsx --declaration --emitDeclarationOnly --declarationDir dist/",
    "build:protos": "grpc_tools_node_protoc --ts_proto_out=outputServices=grpc-js,exportCommonSymbols=false,forceLong=long,esModuleInterop=true:./src/protos -I ../protos ../protos/*.proto",
    "build:doc": "typedoc",
    "prebuild:protos": "rimraf ./src/protos && npx mkdirp ./src/protos",
    "prebuild": "rimraf ./dist && npm run build:protos",
    "prepublishOnly": "npx license-reporter report --only=prod",
    "lint": "cross-env NODE_ENV=development eslint . --ext .js,.jsx,.ts,.tsx",
    "package": "npm pack --pack-destination=./out",
    "prepackage": "rimraf ./out && npx mkdirp ./out && npm run build"
  },
  "dependencies": {
    "@electron-toolkit/preload": "^3.0.1",
    "@emotion/react": "^11.13.3",
    "@emotion/styled": "^11.13.0",
    "@fontsource/roboto": "^5.1.0",
    "@grpc/grpc-js": "^1.12.2",
    "@mui/material": "^6.1.3",
    "@mui/x-tree-view": "^7.20.0",
    "electron": "^33.0.0",
    "fast-deep-equal": "^3.1.3",
    "google-protobuf": "^3.21.4",
    "long": "^5.2.3",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "uuid": "^10.0.0"
  },
  "devDependencies": {
    "@types/google-protobuf": "^3.15.12",
    "@types/node": "^22.7.5",
    "@types/react": "^18.3.11",
    "@types/react-dom": "^18.3.1",
    "@types/uuid": "^10.0.0",
    "@typescript-eslint/eslint-plugin": "^8.9.0",
    "@typescript-eslint/parser": "^8.9.0",
    "@vitejs/plugin-react-swc": "^3.7.1",
    "cross-env": "^7.0.3",
    "eslint": "^9.12.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-prettier": "^5.2.1",
    "eslint-plugin-react": "^7.37.1",
    "eslint-plugin-react-hooks": "^5.0.0",
    "eslint-plugin-tsdoc": "^0.3.0",
    "grpc-tools": "^1.11.3",
    "license-reporter": "^1.3.0",
    "prettier": "^3.3.3",
    "prop-types": "^15.8.1",
    "protolint": "^0.50.5",
    "react-resize-detector": "^11.0.1",
    "rimraf": "^6.0.1",
    "ts-proto": "^2.2.3",
    "typedoc": "^0.27.6",
    "typescript": "^5.6.3",
    "vite": "^5.4.9",
    "vite-plugin-externalize-deps": "^0.8.0"
  },
  "prettier": {
    "singleQuote": true,
    "printWidth": 120,
    "tabWidth": 2,
    "trailingComma": "all",
    "arrowParens": "avoid"
  }
}
