caolan / highland

High-level streams library for Node.js and the browser

Home Page:https://caolan.github.io/highland

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add information about supported engines/minimal feature level to documentation

Ginden opened this issue · comments

Right now Highland.js seems to depend (#1, #2) on presence of ES5 .bind.

So highland won't work with IE8 unless polyfill is used. highland doesn't support Node 0.12, so it would be good idea to specify what are actual requirements to run highland.js.

Bonus: we can remove lots of dead code.

That's a very good point. There has been effort to support ES3 (https://github.com/caolan/highland/blob/2.x/lib/index.js#L191), so I'd say the use of bind is a bug, at least in the 2.x version. The two places where bind is used in 2.x are pretty low-usage code paths, so it could just be that no one has notice.

Also, the code you've linked is on the master branch, which contains the code for the beta 3.0 version. We do test against Node 0.10+ in 2.x.

For 2.x, I would say we support IE8+ and Node 0.10+. Node 0.10 and 0.12 was only removed from the tests in the master branch, because they were EOL, but the uses of bind there are probably bugs too.

Unfortunately, we've never had automated browser tests (as long as I've been a contributor), so these things slipped through. It's also why I've personally never bothered adding browser support information to the docs---because we couldn't prove it. But you're probably right that it's better to make this explicit.