Add TS decorator support and replace class arrow function fields with bound methods (#790)
* merge cherry-pick
* merge cherry-pick decorators
* clarify vite usage
* Create lovely-crabs-hide.md
* prettier decorators
* prettier
* improve types
* more field to method conversion
* use ts preset and preset-env for vite babel
* fix merge