q-io: Drop usage of collections, it breaks globals

I landed here, because of a recursive dependency. The gist is that the mere requiring of the module collections randomly breaks code in unrelated modules because it modifies globals. It is documented that this breaks things like crypto from node core but there does not seem to be a fix coming: https://github.com/montagejs/collections/issues/162

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 4
  • Comments: 15 (3 by maintainers)

Most upvoted comments

Just ran into an issue with Array.prototype.find() being overwritten by collections/shim-array.js as well.

So - in reference to your last comment @kriskowal: ‘q-io@v2 depends on q@v2 and collections@v2, which does not have shims’ - why is q-io v2 not latest on npm?

Merged #168 that remove collections in favor of es6-set, I will release today

This is a big problem for me as well. My specific issue is collections/shim-array.js assigning to Array.prototype.toObject which interferes with LoopBack. This is a dealbreaker for using q-io in our project. Who knows what other havoc collections will have on the rest of my app. Can we get away from it?