-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Teddi edited this page Mar 27, 2026
·
1 revision
git clone https://github.com/gridtech-is/scd-visualizer.git
cd scd-visualizer
npm install
npm run devFor Python development, no extra packages are required. Python 3.10+ is sufficient.
# TypeScript
npm run test
# Python
python3 -m pytest tests/ -vAlways run both test suites before submitting a pull request.
- Add the check code and description to
src/validation/checkDescriptions.ts - Implement the check logic in
src/validation/landsnet/checks.ts - Add the check to the list in
src/validation/landsnet/runLandsnetValidation.ts - Add a Vitest test in
src/validation/or update an existing test file
- Add the check function in
scd_validations.py - Call it from
run_validations()in the same file - Add an integration test in
tests/test_integration.py
Use LNET_ prefix for Landsnet-specific rules and IEC_ prefix for general IEC 61850 rules.
When adding a new Map field to SclModel:
- Add the type to
src/model/types.ts - Parse the field in
src/parser/sclParser.ts - Add
SerializedSclModelentry,serializeModel()case, anddeserializeModel()case insrc/workers/parseWorker.ts
- TypeScript: no CSS modules — all styles go in
src/styles.css - Validation issues must have
severity: 'error' | 'warn'and afixHintthat is an actionable instruction (not "check rule X") - Thresholds that may vary per site belong in
validation_config.json, not hardcoded in source
- All TypeScript tests pass (
npm run test) - All Python tests pass (
python3 -m pytest tests/ -v) - No TypeScript build errors (
npm run build) - New validation checks have descriptions in
checkDescriptions.ts - New
Mapfields inSclModelare handled inparseWorker.ts