forked from the1laz/cgateweb
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
90 lines (90 loc) · 3.76 KB
/
package.json
File metadata and controls
90 lines (90 loc) · 3.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
"name": "cgateweb",
"version": "1.7.1",
"description": "Node.js bridge connecting Clipsal C-Bus automation systems to MQTT for Home Assistant integration",
"keywords": [
"cbus",
"clipsal",
"mqtt",
"home-assistant",
"automation",
"smart-home",
"cgate",
"bridge"
],
"private": true,
"engines": {
"node": ">=18.0.0"
},
"dependencies": {
"adm-zip": "^0.5.16",
"mqtt": "^5.11.0",
"xml2js": "^0.6.2"
},
"devDependencies": {
"@eslint/js": "^9.32.0",
"@types/node": "^25.5.0",
"eslint": "^9.32.0",
"globals": "^17.4.0",
"jest": "^29.7.0",
"typescript": "^6.0.2",
"yaml": "^2.8.2"
},
"types": "./types/index.d.ts",
"scripts": {
"start": "node index.js",
"test": "jest",
"test:integration": "node test-env/integration-test.js",
"test:integration:attach": "node test-env/integration-test.js --attach --no-teardown",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage",
"dev": "NODE_ENV=development node index.js",
"dev:debug": "NODE_ENV=development LOG_LEVEL=debug node index.js",
"dev:trace": "NODE_ENV=development LOG_LEVEL=trace node index.js",
"dev:inspect": "node --inspect index.js",
"install-service": "node install-service.js",
"uninstall-service": "node uninstall-service.js",
"setup": "cp settings.js.example settings.js && echo 'Settings file created! Edit settings.js to configure your C-Gate and MQTT settings.'",
"import-labels": "node tools/import-cbus-labels.js",
"perf:raw": "PERF_VARIANT=raw PERF_LOG_LEVEL=info PERF_DEDUP_WINDOW_MS=0 PERF_REPEAT=5 PERF_WARMUP=1 PERF_ARTIFACT=perf/raw.json jest tests/perf/latencyBenchmark.test.js --runInBand",
"perf:dedup": "PERF_VARIANT=dedup PERF_LOG_LEVEL=info PERF_DEDUP_WINDOW_MS=200 PERF_REPEAT=5 PERF_WARMUP=1 PERF_ARTIFACT=perf/dedup.json jest tests/perf/latencyBenchmark.test.js --runInBand",
"perf:baseline": "npm run perf:raw",
"perf:after": "npm run perf:dedup",
"perf:compare": "node tools/perf-compare.js perf/raw.json perf/dedup.json",
"perf:compare:legacy": "node tools/perf-compare.js perf/baseline.json perf/after.json",
"perf:run": "npm run perf:raw && npm run perf:dedup && npm run perf:compare",
"lint": "eslint src/ tests/ tools/ index.js install-service.js uninstall-service.js",
"lint:fix": "eslint src/ tests/ tools/ index.js install-service.js uninstall-service.js --fix",
"validate-settings": "node -e \"try { require('./settings.js'); console.log('Settings file is valid!'); } catch(e) { console.error('Settings file error:', e.message); process.exit(1); }\"",
"check-setup": "node -e \"const { validateSetup } = require('./src/settingsValidator'); let settings; try { settings = require('./settings.js'); } catch(e) { settings = {}; } const result = validateSetup(settings); if (result.isFirstTime) { console.log(result.message); process.exit(1); } if (result.issues.length > 0) { console.log('Issues:', result.issues.join(', ')); } if (result.recommendations.length > 0) { console.log('Recommendations:', result.recommendations.join(', ')); } console.log(result.isValid ? 'Setup looks good!' : 'Please address the issues above');\""
},
"jest": {
"testPathIgnorePatterns": ["/node_modules/", "/.claude/"],
"collectCoverageFrom": [
"src/**/*.js",
"index.js",
"install-service.js",
"uninstall-service.js"
],
"coverageThreshold": {
"global": {
"statements": 80,
"branches": 70,
"functions": 75,
"lines": 80
},
"./index.js": {
"statements": 65,
"lines": 65
},
"./install-service.js": {
"statements": 75,
"lines": 75
},
"./uninstall-service.js": {
"statements": 75,
"lines": 75
}
}
}
}