{
  "name": "nightscout",
  "version": "15.0.7",
  "description": "Nightscout acts as a web-based CGM (Continuous Glucose Montinor) to allow multiple caregivers to remotely view a patients glucose data in realtime.",
  "license": "AGPL-3.0",
  "author": "Nightscout Team",
  "homepage": "http://nightscout.github.io/",
  "keywords": [
    "diabetes",
    "continuous glucose management",
    "cgm in the cloud",
    "cgm",
    "dexcom"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/nightscout/cgm-remote-monitor.git"
  },
  "contributors": [
    {
      "name": "Nightscout Team",
      "url": "https://github.com/nightscout/cgm-remote-monitor/graphs/contributors"
    }
  ],
  "bugs": {
    "url": "https://github.com/nightscout/cgm-remote-monitor/issues"
  },
  "scripts": {
    "start": "node lib/server/server.js",
    "test": "env-cmd -f ./my.test.env mocha --timeout 5000 --require ./tests/hooks.js --exit ./tests/*.test.js",
    "test-single": "env-cmd -f ./my.test.env mocha --timeout 5000 --require ./tests/hooks.js --exit ./tests/$TEST.test.js",
    "test-ci": "env-cmd -f ./tests/ci.test.env nyc --reporter=lcov --reporter=text-summary mocha --timeout 5000 --require ./tests/hooks.js --exit ./tests/*.test.js",
    "test:fast": "env-cmd -f ./my.test.env mocha --timeout 5000 --require ./tests/hooks.js --exit --reporter min ./tests/*.test.js",
    "test:unit": "env-cmd -f ./my.test.env mocha --timeout 5000 --require ./tests/hooks.js --exit --parallel --jobs 2 ./tests/{admintools,ar2,basalprofileplugin,bgnow,boluswizardpreview,bridge,cannulaage,careportal,cob,data.*,ddata,direction,env,errorcodes,expressextensions,hashauth,insulinage,iob,language,levels,loop,maker,mmconnect,mongo-pool-config,pluginbase,plugins,profile,profileeditor,pushover,query,sandbox,security,sensorage,settings,simplealarms,timeago,times,treatmentnotify,units,upbat,utils,verifyauth}.test.js",
    "test:unit:ci": "env-cmd -f ./tests/ci.test.env mocha --timeout 5000 --require ./tests/hooks.js --exit --parallel --jobs 2 ./tests/{admintools,ar2,basalprofileplugin,bgnow,boluswizardpreview,bridge,cannulaage,careportal,cob,data.*,ddata,direction,env,errorcodes,expressextensions,hashauth,insulinage,iob,language,levels,loop,maker,mmconnect,mongo-pool-config,pluginbase,plugins,profile,profileeditor,pushover,query,sandbox,security,sensorage,settings,simplealarms,timeago,times,treatmentnotify,units,upbat,utils,verifyauth}.test.js",
    "test:integration": "env-cmd -f ./my.test.env mocha --timeout 15000 --require ./tests/hooks.js --exit ./tests/{adminnotifies,api,api3,client.renderer,dbsize,fail,flakiness-control,mongo-storage,notifications,notifications-api,openaps,pebble,pump,pushnotify,rawbg,reports,reportstorage,storage,websocket,XX_clean}*.test.js",
    "test:integration:ci": "env-cmd -f ./tests/ci.test.env mocha --timeout 15000 --require ./tests/hooks.js --exit ./tests/{adminnotifies,api,api3,client.renderer,dbsize,fail,flakiness-control,mongo-storage,notifications,notifications-api,openaps,pebble,pump,pushnotify,rawbg,reports,reportstorage,storage,websocket,XX_clean}*.test.js",
    "test:stress": "env-cmd -f ./my.test.env mocha --timeout 60000 --require ./tests/hooks.js --exit ./tests/concurrent*.test.js",
    "test:stress:ci": "env-cmd -f ./tests/ci.test.env mocha --timeout 60000 --require ./tests/hooks.js --exit ./tests/concurrent*.test.js",
    "test:all": "npm run test:unit && npm run test:integration",
    "test:all:ci": "npm run test:unit:ci && npm run test:integration:ci",
    "test:parallel": "env-cmd -f ./my.test.env mocha --timeout 10000 --require ./tests/hooks.js --exit --parallel --jobs 2 ./tests/*.test.js",
    "test:parallel:ci": "CLEAR_REQUIRE_CACHE=true env-cmd -f ./tests/ci.test.env nyc --reporter=lcov --reporter=text-summary mocha --timeout 10000 --require ./tests/hooks.js --exit --parallel --jobs 2 ./tests/*.test.js",
    "env": "env",
    "postinstall": "webpack --mode production --config webpack/webpack.config.js && npm run-script post-generate-keys",
    "bundle": "webpack --mode production --config webpack/webpack.config.js && npm run-script post-generate-keys",
    "bundle-dev": "webpack --mode development --config webpack/webpack.config.js && npm run-script post-generate-keys",
    "bundle-analyzer": "webpack --mode development --config webpack/webpack.config.js --profile --json > stats.json && webpack-bundle-analyzer stats.json",
    "post-generate-keys": "node bin/generateRandomString.js >node_modules/.cache/_ns_cache/randomString",
    "coverage": "cat ./coverage/lcov.info | env-cmd -f ./tests/ci.test.env codacy-coverage || echo NO COVERAGE",
    "dev": "env-cmd -f ./my.env nodemon --inspect lib/server/server.js 0.0.0.0",
    "dev-test": "env-cmd -f ./my.devtest.env nodemon --inspect lib/server/server.js 0.0.0.0",
    "prod": "env-cmd -f ./my.prod.env node lib/server/server.js 0.0.0.0",
    "lint": "eslint lib",
    "test:flaky": "node scripts/flaky-test-runner.js",
    "test:flaky:quick": "FLAKY_TEST_ITERATIONS=3 node scripts/flaky-test-runner.js",
    "test:flaky:thorough": "FLAKY_TEST_ITERATIONS=20 node scripts/flaky-test-runner.js",
    "test:flaky:entries": "node scripts/flaky-harnesses/run-entries-isolation.js",
    "test:flaky:socket": "node scripts/flaky-harnesses/run-socket-isolation.js",
    "test:flaky:partial-failures": "node scripts/flaky-harnesses/run-partial-failures-isolation.js",
    "test:flaky:isolate": "node scripts/flaky-harnesses/run-isolate.js",
    "test:timing": "ENABLE_TIMING_WARNINGS=true env-cmd -f ./my.test.env mocha --timeout 10000 --require ./tests/hooks.js --exit ./tests/*.test.js",
    "test:timing:single": "ENABLE_TIMING_WARNINGS=true env-cmd -f ./my.test.env mocha --timeout 10000 --require ./tests/hooks.js --exit ./tests/$TEST.test.js",
    "test:slow": "SLOW_TEST_THRESHOLD=1000 env-cmd -f ./my.test.env mocha --timeout 10000 --require ./tests/hooks.js --exit ./tests/*.test.js"
  },
  "main": "lib/server/server.js",
  "nodemonConfig": {
    "ignore": [
      "tests/*",
      "node_modules/*",
      "bin/*"
    ]
  },
  "config": {
    "blanket": {
      "pattern": [
        "tests",
        "lib",
        "server",
        "app",
        "static/js"
      ],
      "data-cover-never": [
        "node_modules"
      ]
    }
  },
  "engines": {
    "node": ">=20.x",
    "npm": ">=10.x"
  },
  "dependencies": {
    "@mongodb-js/saslprep": "^1.4.5",
    "@babel/core": "^7.18.10",
    "@babel/preset-env": "^7.18.10",
    "@parse/node-apn": "^5.1.3",
    "acorn": "^8.0.5",
    "acorn-jsx": "^5.3.1",
    "async": "^0.9.2",
    "babel-loader": "^8.2.5",
    "body-parser": "^1.19.0",
    "bootevent": "0.0.1",
    "braces": "^3.0.2",
    "buffer": "^6.0.3",
    "compression": "^1.7.4",
    "crypto-browserify": "^3.12.0",
    "css-loader": "^5.0.1",
    "cssmin": "^0.4.3",
    "csv-stringify": "^5.5.1",
    "d3": "^5.16.0",
    "dompurify": "^2.2.6",
    "easyxml": "^2.0.1",
    "ejs": "^3.1.8",
    "errorhandler": "^1.5.1",
    "event-stream": "3.3.4",
    "expose-loader": "^2.0.0",
    "express": "4.17.1",
    "express-minify": "^1.0.0",
    "fast-password-entropy": "^1.1.1",
    "file-loader": "^6.2.0",
    "flot": "^0.8.3",
    "forwarded-for": "^1.1.0",
    "helmet": "^4.0.0",
    "jquery": "^3.5.1",
    "jquery-ui-bundle": "^1.12.1-migrate",
    "jquery.tooltips": "^1.0.0",
    "js-storage": "^1.1.0",
    "jsdom": "=11.11.0",
    "jsonwebtoken": "^9.0.0",
    "lodash": "^4.17.20",
    "memory-cache": "^0.2.0",
    "mime": "^2.4.6",
    "minimed-connect-to-nightscout": "^1.5.8",
    "moment": "^2.27.0",
    "moment-locales-webpack-plugin": "^1.2.0",
    "moment-timezone": "^0.5.31",
    "moment-timezone-data-webpack-plugin": "^1.5.0",
    "mongo-url-parser": "^1.0.2",
    "mongodb-legacy": "^5.0.0",
    "mongomock": "^0.1.2",
    "nightscout-connect": "^0.0.12",
    "node-cache": "^4.2.1",
    "parse-duration": "^0.1.3",
    "process": "^0.11.10",
    "pushover-notifications": "^1.2.2",
    "random-token": "0.0.8",
    "request": "^2.88.2",
    "semver": "^6.3.0",
    "share2nightscout-bridge": "^0.2.12",
    "shiro-trie": "^0.4.9",
    "simple-statistics": "^0.7.0",
    "socket.io": "~4.5.4",
    "socket.io-client": "^4.5.4",
    "stream-browserify": "^3.0.0",
    "style-loader": "^0.23.1",
    "swagger-ui-dist": "^4.13.2",
    "swagger-ui-express": "^4.5.0",
    "traverse": "^0.6.6",
    "uuid": "^9.0.0",
    "webpack": "^5.74.0",
    "webpack-cli": "^4.10.0"
  },
  "devDependencies": {
    "@types/tough-cookie": "^4.0.0",
    "axios": "^0.21.1",
    "babel-eslint": "^10.1.0",
    "benv": "^3.3.0",
    "csv-parse": "^4.12.0",
    "env-cmd": "^10.1.0",
    "eslint": "^7.19.0",
    "eslint-plugin-security": "^1.4.0",
    "eslint-webpack-plugin": "^2.7.0",
    "mocha": "^8.4.0",
    "nodemon": "^2.0.19",
    "nyc": "^14.1.1",
    "should": "^13.2.3",
    "supertest": "^3.4.2",
    "webpack-bundle-analyzer": "^4.5.0",
    "webpack-dev-middleware": "^4.3.0",
    "webpack-hot-middleware": "^2.25.2",
    "xml2js": "^0.4.23"
  }
}
