integrate jsdoc
start with jsdoc doc style
start converting to TypeScript
finish port to TypeScript
fix port to TypeScript