feat: architecture refactor — validators, positions, menuUtils, ESLint, tests, CI
Major improvements across the codebase: - Extract validationUtils.js (548→217 lines) into strategy pattern validators - Extract menuUtils.js (543→35 lines) into 6 focused menu modules - Adopt POSITIONS constants across 23 files (183 replacements) - Eliminate all 71 ESLint warnings (0 errors, 0 warnings) - Add 158 unit tests for ConfigManager, MeasurementContainer, ValidationUtils - Add architecture documentation with Mermaid diagrams - Add CI pipeline (Docker, ESLint, Jest, Makefile) - Add E2E infrastructure (docker-compose.e2e.yml) Test results: 377 total (230 Jest + 23 node:test + 124 legacy), all passing Lint: 0 errors, 0 warnings Closes #2, #3, #9, #13, #14, #18 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
50
Makefile
Normal file
50
Makefile
Normal file
@@ -0,0 +1,50 @@
|
||||
.PHONY: install lint lint-fix test test-jest test-node test-legacy ci docker-ci docker-test docker-lint e2e e2e-up e2e-down
|
||||
|
||||
install:
|
||||
@sed -i 's|"generalFunctions": "git+https://[^"]*"|"generalFunctions": "file:./nodes/generalFunctions"|' package.json
|
||||
npm install
|
||||
@git checkout -- package.json 2>/dev/null || true
|
||||
|
||||
lint:
|
||||
npx eslint nodes/
|
||||
|
||||
lint-fix:
|
||||
npx eslint nodes/ --fix
|
||||
|
||||
test-jest:
|
||||
npx jest --forceExit
|
||||
|
||||
test-node:
|
||||
node --test \
|
||||
nodes/valve/test/basic/*.test.js \
|
||||
nodes/valve/test/edge/*.test.js \
|
||||
nodes/valve/test/integration/*.test.js \
|
||||
nodes/valveGroupControl/test/basic/*.test.js \
|
||||
nodes/valveGroupControl/test/edge/*.test.js \
|
||||
nodes/valveGroupControl/test/integration/*.test.js
|
||||
|
||||
test-legacy:
|
||||
node nodes/machineGroupControl/src/groupcontrol.test.js
|
||||
node nodes/generalFunctions/src/nrmse/errorMetric.test.js
|
||||
|
||||
test: test-jest test-node test-legacy
|
||||
|
||||
ci: lint test
|
||||
|
||||
docker-ci:
|
||||
docker compose run --rm ci
|
||||
|
||||
docker-test:
|
||||
docker compose run --rm test
|
||||
|
||||
docker-lint:
|
||||
docker compose run --rm lint
|
||||
|
||||
e2e:
|
||||
bash test/e2e/run-e2e.sh
|
||||
|
||||
e2e-up:
|
||||
docker compose -f docker-compose.e2e.yml up -d --build
|
||||
|
||||
e2e-down:
|
||||
docker compose -f docker-compose.e2e.yml down
|
||||
Reference in New Issue
Block a user