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>
42 lines
905 B
YAML
42 lines
905 B
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main, develop, dev-Rene]
|
|
pull_request:
|
|
branches: [main]
|
|
|
|
jobs:
|
|
lint-and-test:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: node:20-slim
|
|
|
|
steps:
|
|
- name: Install git
|
|
run: apt-get update -qq && apt-get install -y -qq git
|
|
|
|
- name: Checkout with submodules
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Rewrite generalFunctions to local path
|
|
run: |
|
|
sed -i 's|"generalFunctions": "git+https://[^"]*"|"generalFunctions": "file:./nodes/generalFunctions"|' package.json
|
|
|
|
- name: Install dependencies
|
|
run: npm install --ignore-scripts
|
|
|
|
- name: Lint
|
|
run: npm run lint
|
|
|
|
- name: Test (Jest)
|
|
run: npm test
|
|
|
|
- name: Test (node:test)
|
|
run: npm run test:node
|
|
|
|
- name: Test (legacy)
|
|
run: npm run test:legacy
|