I've recently been unfortunate enough to work on the impending migration away from AngularJS toward the new Angular. Eventually AngularJS will be officially deprecated by the Angular team once Angular 2+ overtakes its predecessor. When that happens, security vulnerabilities may keep AngularJS from being used in production apps. This means now is the time to get out! I've recently been learning Angular with TypeScript and just want to say I really hate every single build system I've seen thus far.
I've recently been spending some time trying to improve my development techniques and one area I've been focusing on improving on is my testing practices. It isn't obvious to new programmers as to why you might want to start testing your code. After all, if you can test out something that you've written that works shouldn't it always work? Code can usually be assumed to be deterministic right? While that's generally true with small programs, scripts, and school projects, it doesn't hold up when it comes to larger programs and software.
I've been switching a lot of my controllers into components thanks to the recent addition in Angular 1.5. The switch has been a great time to dust off some old code and really think about how my bindings are setup. I've switched to a lot of single binds in order to improve performance by reducing the number of watchers. However, when I went to throw everything into a repeater element, I started noticing some strangeness.