Pro TypeScript: Application-Scale JavaScript Development