We've been discussing which browser versions to support, what that means to our users (more browser reach, more shims, less performance, less productivity due to high maintenance cost, but also 'more' usage) and how to achieve that.
Currently, we have a set up of providing ES5 transpiled versions of our codebase, we run tests in Chrome, Firefox and PhantomJS (for ES5 tests), however, the tests that require WebRTC are not running on PhantomJS (lack of support).
So major, major concerns, questions and thoughts:
lib version)Current build and publish set up is confusing (thelib version)
Our current code base is fully compatible with Node.js 4 (as all tests are run without transpilation). So as implemented in https://github.com/dignifiedquire/aegir/pull/65 I am strongly in favour of dropping transpillation into lib for Node.js and pointing all main to src/index.js.
We need a way to communicate which browser versions we support (we have to CI tests in different browser versions)
A first pass of adding Sauce Labs tests was done in https://github.com/dignifiedquire/aegir/pull/65 this will allow us to define a set of browsers we want to support and properly test against them.
Running tests also in PhantomJS is slow, slows the devs (makes CI double as expensive in terms of time
We should really drop PhantomJS, as we have to stop running tests on it with all webcrypto modules + it really doesn't give us much benefit at this point
Can we support Node.js 6 LTS and onwards?
馃憤
Ref: https://github.com/ipfs/js-ipfs/issues/429 in which some of these things have been discussed
Candidate updates on aegir - https://github.com/dignifiedquire/aegir/pull/65
@ipfs/js-ipfs any comments?
According to https://nodejs.org/en/ 6 is already the official LTS version
SGTM
What David sums up in https://github.com/ipfs/js-ipfs/issues/536#issuecomment-256091500 makes a lot of sense :+1:
I believe we reached consensus :)
Closing this issue but keeping its label so that it is easy to find when we need to consider the runtimes supported again.
Most helpful comment
@ipfs/js-ipfs any comments?
To sum up, this means: