Hello there, I would like to announce a new Meteor developer tools extension, Meteor DevTools Evolved. It is a small open source project with the intention of giving a breath of fresh air into the Meteor development tooling.
It kind of is very early in its development, so please let me know of any issues or potential improvements you have in mind, any idea is worthy of discussion.
This extension is supposed to be the spiritual successor to Meteor DevTools by The Bakery which was quite a staple for the Meteor community but sadly has not been maintained for some years.
I based my work on their initial architecture but completely revamped the development stack, with the help of TypeScript, MobX, and Blueprint. Thus it was completely rewritten, remaining only some Chrome Extension API specific code, which ended up being the same.
To solve the poor handling of DDP log deluges I implemented a buffer in order to prevent firing MobX reactivity unless Meteor is finished receiving new logs for a few milliseconds. Also, pagination helps by rendering only a portion of them at any given time.
I experimented with list virtualization, but it brought needless complexity and I quite didn’t like the result, since it prevented me from using certain styles and transitions readily available with modern Cascading Style Sheets, which I find very – very – important.
I even tried implementing my own version of virtualization, and the failure was epic. My rational self had to literally drag my other self away from that code, and show me how precious time is. It reawakened a raging process of spiritual enlightenment which was dormant since I last worked with PHP.
I think the highlight of this extension is the ability to search for either logs or Minimongo documents.
You also can bookmark logs for later analysis, and compare the CRC32 hash of their content, that way you can be sure if two messages are the same very quickly, or even search for identical logs without typing its entire content.
“I knew there would be a use for CRC32 hashes!!!" - Me, a few days after the fact
Behold, the evolution of Meteor DevTools:
Available Now as a Chrome Extension.
For the Meteor community.