Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


ES6 Port of Angular.dart change detection code.

Subscribe to updates I use watchtower.js

Statistics on watchtower.js

Number of watchers on Github 424
Number of open issues 11
Average time to close an issue 9 days
Main language JavaScript
Average time to merge a PR about 1 hour
Open pull requests 2+
Closed pull requests 19+
Last commit over 5 years ago
Repo Created almost 6 years ago
Repo Last Updated almost 2 years ago
Size 689 KB
Organization / Authorangular
Page Updated
Do you use watchtower.js? Leave a review!
View open issues (11)
View watchtower.js activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating watchtower.js for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Watchtower.js Build Status

Super-fast change detection for AngularJS 2.0, based on Miko Hevery's draft, and the implementation in Angular.dart.

The goal is to offer change detection which is extremely performant, supports watching the result of method invocation and getter/setter functions, and puts 0 pressure on the GC. Algorithms should be written in a fashion which makes VM optimization possible.

Testing should cover both behaviour as well as performance, as it is extremely important that applications can handle thousands of watched expressions, with minimal memory and performance cost.


Copyright 2014 Google, Inc.

Licensed under the Apache License, Version 2.0 (the License); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

watchtower.js open issues Ask a question     (View All Issues)
  • over 5 years Can we use this with angularjs 1.3?
  • over 5 years Some issues in dccd
  • over 5 years Reaction functions should always get the current value
  • almost 6 years WatchGroups: allow to attach/detach/move them
  • almost 6 years collection watches are not working
  • almost 6 years Refactoring: Simplify using refactoring from Dart
  • almost 6 years Dart mem-leak fixup: Leaking WatchRecords when removing from deeply nested Groups
  • almost 6 years Correctly truncate CollectionChangeRecord
  • almost 6 years Investigate safari/IE failures on SL
watchtower.js open pull requests (View All Pulls)
  • fix(dirtychecking): prevent long prototype chain lookups of object properties
  • Fix broken headings in Markdown files
watchtower.js list of languages used
Other projects in JavaScript