- Add #domain, #protocol, #utils aliases to package.json imports map
- Replace all relative imports (./, ../, ../..) in app/ and
database/mongo_migrations/ with the corresponding #alias imports,
eliminating relative path traversal across the codebase
- Remove dead code: ConfigurationVersionModel.findByConfigurationIdentifier
(unused, superseded by paginateVersions) and unused exception classes
(NotFoundException, UnprocessableEntityException, DatabaseException)
from app/exceptions/index.ts, keeping only BadRequestException
- Fix pre-existing syntax error in configuration_version.ts (mismatched
parenthesis) that broke tsc
- Fix eqeqeq violation in configuration_service.ts and isNaN ->
Number.isNaN in configuration_engine.ts / cwmp-1-0.ts / exchange_controller.ts
- Fix no-shadow violation in cwmp-1-0.ts EventStruct constructor
- Prettier formatting pass on touched files
Validated: tsc --noEmit clean, eslint app/ clean, full test suite green.
- Convert value imports used only as types to 'import type' across
all modified files (cwmp_message_builder, task_queue, device_action_executor,
main_state_machine, immediate_command_state_machine, configuration_evaluation_state,
cwmp_controller, cwmp_middleware, device.ts, soap.ts, soap_envelope.ts, tr069_types.ts)
- Replace != null with !== null && !== undefined in main_state_machine and cwmp_controller
NotificationChange and AccessListChange were emitting 'true'/'false' (JS booleans)
instead of '1'/'0' as required by TR-069 spec.
Notification xsi:type='xsd:int' attribute removed — consistent with old builder output.
- Remove unused NAMESPACES export from soap.ts
- Remove unused isModeType/parseMode from mode.ts (device_service does inline parsing)
- Remove flaky model unit tests (covered by integration tests)
- Keep validators (to be wired into controllers later)