- Methods on
prototype
- Static Methods on
prototype
- Variables and Literals on
prototype
- Getters, Setters with
defineProperty
- Block-level Variables
Complex example: Multiple functions in same file with one of the functions having same name.
npm i -g jscodeshift
git clone --depth=1 https://github.com/dhruvdutt/es5-function-to-class-codemod codemod && cd codemod
jscodeshift -t func-to-class.js example/input.js
Similar project - lebab. It doesn't currently support:
- Static Methods on
prototype
- Block-level Variables