* test(user-config): Fix saveAs functionality
* feat(user-config): Add 2 space indent when save user-config to json file
* refactor(user-config): Move user config savings into user config effect
* build: Remove unused package
* 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
* feat(device): Add 'Save to keyboard' button
Created a 'Progress Button' that have 2 state in progress or not.
Able to set different text for different state:
- baseText for normal state
- progressText for in progress state
close: #377
* fix 'Save to keyboard' button visibility in web version
* remove success notification when save to keyboard success
* feat(notifier): Turn off auto hide of the notifier
* feat(device): Show saved state of 'Save to keyboard button'
* style: Format import in app.component.ts
* feat(device): Auto hide 'Save to Keyboard' button
* fix(device): Fix saving animation
* fix(device): Fix saving animation
* fix(device): Fix tslint
* add @angular/cli to the project
* increase nodejs version -> 8.2.1
* add lerna
* merge web and shared module
* move electron module into packages as uhk-agent
Electron agent functionality is not working
* delete symlinker
* convert private properties to public of component if used in html
* revert uhk-message.component
* fix component path
* fix the correct name of the uhk-message.component.scss
* building web and electron module
* delete uhk-renderer package
* handle device connect disconnect state
* add privilege detection
* fix set privilege functionality
* turn back download keymap functionality
* add bootstrap, select2 js and fix null pointer exception
* turn back upload data to keyboard
* fix send keymap
* fix test-serializer
* add missing package.json
* merging
* fix appveyor build
* fix linting
* turn back electron storage service
* commit the missing electron-datastorage-repository
* update node to 8.3.0 in .nvmrc and log node version in appveyor build
* set exact version number in appveyor build
* vertical align privilege and missing device components
* set back node version to 8 in appveyor
* move node-usb dependency from usb dir to root
maybe it is fix the appveyor build
* revert usb to root
* fix electron builder script
* fix electron builder script
* turn off electron devtools
* remove CTRL+U functionality
* fix CTRL+o
* fix lint error
* turnoff store freeze
* start process when got `Error: EPERM: operation not permitted` error
* move files from root usb dir -> packages/usb