mirror of
https://github.com/bckelley/cgm-remote-monitor.git
synced 2026-08-24 03:14:12 -05:00
Introduce timing instrumentation to identify slow tests and setTimeout anti-patterns, refactor helper functions into a shared module, and update documentation and npm scripts. Replit-Commit-Author: Agent Replit-Commit-Session-Id: a10b5171-2266-431b-a8b1-bbc77898c289 Replit-Commit-Checkpoint-Type: intermediate_checkpoint Replit-Commit-Event-Id: fdf582ee-3e62-4543-a850-a72060814d7d Replit-Helium-Checkpoint-Created: true
172 lines
6.2 KiB
JSON
172 lines
6.2 KiB
JSON
{
|
|
"name": "nightscout",
|
|
"version": "15.0.4",
|
|
"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",
|
|
"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": "^16.x || ^14.x",
|
|
"npm": "^6.x"
|
|
},
|
|
"dependencies": {
|
|
"@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.5",
|
|
"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.9",
|
|
"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"
|
|
}
|
|
}
|