* fix(config): delete KeyAction binding of deleted macro
* refactor: use sorter import
* fix(macro): read the macro id from route params
* fix(keyAction): use NoneAction in keyAction mapping
* Add a number of properties to the user config that are related to mouse movement, LED brightness, data model versioning, and double tap switch layer timeout. Update firmware related version numbers.
* use default config if parse loaded config from device failed
* add asserts to the new user config fields
* separate user and hardware config parser
* fix indent
* fix user-config size read
* feat(device): Save user configuration length
* feat(device): Read only filled user configuration from EEPROM
* fix(agent): Close device connections and quit from app on Mac
* add device name to configuration
* feat(config): Rename user configuration
* style: fix tslint error
* test: Fix unit tests
* test: Add UserConfiguration device name test
* set device name if faild the user-config read from device
* feat(device): Remove the first 0 from USB[W] dump
* refactor(agent): Rename 'LongKeypressAction' to 'SecondaryRoleAction'
* build: Change the build order of the modules
* fix(user-config): Fix hasSecondaryRoleAction() calculation
* fix(user-config): fix stylelint warnings
* add write-hca.js
* refactor: Move config serializer into the uhk-common package
* refactor: Move getTransferBuffers into the uhk-usb package
* refactor: delete obsoleted classes
* build: add uhk-usb build command
* refactor: move eeprom transfer to uhk-usb package
* fix: Fix write-hca.js
* feat: load hardware config from the device and
* style: fix ts lint errors
* build: fix rxjs dependency resolve
* test: Add jasmine unit test framework to the tet serializer
* fix(user-config): A "type": "basic", properties to the "keystroke" action types
* feat(usb): set chmod+x on write-hca.js
* feat(usb): Create USB logger
* style: Fix type
* build: Add chalk to dependencies.
Chalk will colorize the output