{ "name": "openrowingmonitor", "version": "0.9.0", "description": "A free and open source performance monitor for rowing machines", "main": "app/server.js", "author": "Jaap van Ekris", "license": "GPL-3.0", "repository": { "type": "git", "url": "https://github.com/JaapvanEkris/openrowingmonitor.git" }, "type": "module", "engines": { "node": ">=18" }, "files": [ "*", "!/**/*.test.js" ], "scripts": { "lint": "eslint ./app ./config && markdownlint-cli2 '**/*.md' '#node_modules'", "start": "node app/server.js", "dev": "npm-run-all --parallel dev:backend dev:frontend", "dev:backend": "nodemon --ignore 'app/client/**/*' app/server.js", "dev:frontend": "snowpack dev", "build": "rollup -c", "build:watch": "rollup -cw", "test": "uvu" }, "simple-git-hooks": { "pre-commit": "npm run lint && npm test" }, "//fix1Comment": "We install lit@2.8.0 as lit@3.0.0 breaks the webpage displaying metrics", "//fix2Comment": "We hold back bleno, bluetooth-hci-socket and noble, as upgrading destroys HRM compatibility", "dependencies": { "@abandonware/bleno": "^0.5.1-4", "@abandonware/bluetooth-hci-socket": "^0.5.3-7", "@abandonware/noble": "^1.9.2-15", "chart.js": "^4.4.1", "chartjs-plugin-datalabels": "^2.2.0", "finalhandler": "^1.2.0", "form-data": "4.0.0", "incyclist-ant-plus": "^0.3.1", "lit": "^2.8.0", "loglevel": "^1.9.1", "nosleep.js": "0.12.0", "pigpio": "3.3.1", "serve-static": "^1.15.0", "ws": "^8.16.0", "xml2js": "^0.6.2" }, "//fix3Comment": "We list node-gyp@10.0.1 as an explicit dev dependency as omitting it results in node-gyp@7.1.2 being installed, which breaks the build on Node.js v20", "//fix4Comment": "We stick with rollup@2.79.1 and rollup-plugin-summary@1.4.3 as rollup@3.0.0 and rollup-plugin-summary@2.0.0 break the install process", "devDependencies": { "@babel/eslint-parser": "^7.23.10", "@babel/plugin-proposal-decorators": "^7.23.9", "@babel/preset-env": "^7.23.9", "@rollup/plugin-babel": "^6.0.4", "@rollup/plugin-commonjs": "^25.0.7", "@rollup/plugin-node-resolve": "^15.2.3", "@snowpack/plugin-babel": "2.1.7", "@web/rollup-plugin-html": "^2.1.2", "axios": "^1.6.7", "eslint": "^8.56.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-lit": "^1.11.0", "eslint-plugin-n": "^16.6.2", "eslint-plugin-promise": "^6.1.1", "eslint-plugin-wc": "^2.0.4", "http2-proxy": "5.0.53", "markdownlint-cli2": "^0.12.1", "node-gyp": "^10.0.1", "nodemon": "^3.0.3", "npm-run-all": "4.1.5", "rollup": "^2.79.1", "rollup-plugin-summary": "^1.4.3", "rollup-plugin-terser": "7.0.2", "simple-git-hooks": "^2.9.0", "snowpack": "3.8.8", "tar": "^6.2.0", "uvu": "^0.5.6" } }