{
  "name": "domoja",
  "author": "Bruno Chabrier",
  "description": "A Typescript framework for home automation",
  "version": "1.4.5",
  "private": false,
  "license": "GPL-3.0",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/bchabrier/domoja.git"
  },
  "keywords": [
    "home automation"
  ],
  "bugs": {
    "url": "https://github.com/bchabrier/domoja/issues"
  },
  "bin": {
    "domoja": "./bin/domoja_server"
  },
  "dependencies": {
    "async": "^3.1.0",
    "chokidar": "^3.4.0",
    "colors": "^1.3.3",
    "compression": "^1.7.4",
    "cors": "^2.8.4",
    "express": "^4.16.3",
    "express-session": "^1.15.6",
    "morgan": "^1.10.0",
    "session-file-store": "^1.5.0",
    "socket.io": "^4.3.1",
    "tracer": "^1.1.2",
    "ts-node": "^10.4.0",
    "typescript": "^4.0.2",
    "typescript-cached-transpile": "^0.0.6",
    "typescript-rest": "^3.0.1"
  },
  "devDependencies": {
    "@types/async": "^3.0.3",
    "@types/cors": "^2.8.4",
    "@types/express": "^4.16.0",
    "@types/express-session": "^1.17.0",
    "@types/mocha": "<=8",
    "@types/node": "^16.11.7",
    "@types/rewire": "^2.5.28",
    "c8": "^7.10.0",
    "coveralls": "^3.1.1",
    "mocha": "<=8",
    "rewire": "^5.0.0",
    "sinon": "^12.0.1",
    "ts-mocha": "^8.0.0"
  },
  "engines": {
    "node": ">=0.10.0"
  },
  "main": "dist/domoja.js",
  "scripts": {
    "build": "tsc",
    "start": ": run domoja; TS_NODE_TRANSPILE_ONLY=true TS_NODE_COMPILER=typescript-cached-transpile ts-node domoja.ts",
    "start:config": ": run domoja; TS_NODE_TRANSPILE_ONLY=true TS_NODE_COMPILER=typescript-cached-transpile ts-node domoja.ts ./config",
    "test": ": run test coverage; trap 'tput cnorm' INT; c8 --extension .ts npm --scripts-prepend-node-path=auto run test:only",
    "test:only": ": run test suite once; trap 'tput cnorm' INT; ts-mocha test/**/*.ts modules/*/test/**/*.ts $WATCHPARAMS --exit; rc=$?; tput cnorm; exit $rc",
    "test:watch": ": watch running test suite; trap 'tput cnorm' INT; WATCHPARAMS='-w --watch-extensions ts,yml' npm --scripts-prepend-node-path=auto run test:only",
    "watch": ": watch running domoja in demo mode; handler() { kill $PID; exit; } ; trap handler INT; while true; do npm run start$TARGET & PID=$!; inotifywait -q -e modify -e move -e create -e delete -r . @node_modules --exclude 'test|sessions|\\.git|.*\\.yml|bin|www|\\.\\#.*|.*~'; killchildren() { for p in $*; do CIDs=$(pgrep -P $p); [ -z $CIDs ] || (killchildren $CIDs; kill $p); done; }; killchildren $PID; done",
    "watch:config": ": watch running domoja; TARGET=:config npm --scripts-prepend-node-path=auto run watch",
    "report": ": generate coverage report; c8 report",
    "prepare:report": ": generate coverage report; c8 report --reporter=lcovonly",
    "coverage": ": publish coverage report to coveralls; c8 report --reporter=text-lcov | coveralls",
    "swagger:force": ": run swagger generation - requires typescript-rest-swagger; swaggerGen -c ./swaggerConfig.json",
    "swagger": ": run swagger generation if needed; for f in api/*.ts; do [ ! -f api/swagger.json ] || [ $f -nt api/swagger.json ] && ( npm --scripts-prepend-node-path=auto run swagger:force; break ); done; exit 0",
    "generate:demo": ": generate demo.yml; ./tools/generate_demo",
    "publish": ": publish to npm; npm --scripts-prepend-node-path=auto run generate:demo; npm --scripts-prepend-node-path=auto run swagger; ./tools/update_readme; ./tools/publish",
    "publish:all": ": publish all packages to npm; export REQUESTED_PACKAGE_VERSION=\"$(./tools/ask_version)\"; yarn run publish; cur=$(pwd); ./tools/cascade --below $cur/tools/publish --notest",
    "outdated": ": check outdated packages; ./tools/cascade yarn outdated",
    "upgrade": ": upgrade packages; ./tools/cascade yarn upgrade"
  },
  "files": [
    "dist/**/*",
    "bin/domoja_server",
    "api/swagger.json",
    "api/swagger.yaml",
    "www/**/*"
  ]
}
