Skip to content
This repository has been archived by the owner on Feb 12, 2024. It is now read-only.

runtime support (Browser, Node.js versions) #536

Closed
daviddias opened this issue Oct 24, 2016 · 10 comments
Closed

runtime support (Browser, Node.js versions) #536

daviddias opened this issue Oct 24, 2016 · 10 comments

Comments

@daviddias
Copy link
Member

daviddias commented Oct 24, 2016

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:

  • Current build and publish set up is confusing (thelib version)
  • Running tests also in PhantomJS is slow, slows the devs (makes CI double as expensive in terms of time
  • We need a way to communicate which browser versions we support (we have to CI tests in different browser versions)
  • There are some ES6 features that aren't available in older runtimes, even in Node.js 4
  • Can we support Node.js 6 LTS and onwards?
  • What can we do in order to support more runtimes? (Shims everywhere?)
  • What are the runtimes we want to support.
@dignifiedquire
Copy link
Member

dignifiedquire commented Oct 24, 2016

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 ipfs/aegir#65 I am strongly in favour of dropping transpillation into lib for Node.js and pointing all main to src/index.js.

@dignifiedquire
Copy link
Member

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 ipfs/aegir#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

@dignifiedquire
Copy link
Member

Can we support Node.js 6 LTS and onwards?

👍

@dignifiedquire
Copy link
Member

Ref: #429 in which some of these things have been discussed

@daviddias
Copy link
Member Author

Candidate updates on aegir - ipfs/aegir#65

@daviddias
Copy link
Member Author

daviddias commented Oct 25, 2016

@ipfs/js-ipfs any comments?

To sum up, this means:

  • Support from Node.js 4 LTS onwards for the time being (till it stops being LTS), with guaranteed to support Node.js 6 LTS.
  • (including the Async Crypto PR) support by default to Chrome, Firefox and Mobile Chrome, which the option of making the remaining available with some crypto shims, which need to be added as an extra.
  • No more PhantomJS
  • No more transpiled versions

@dignifiedquire
Copy link
Member

According to https://nodejs.org/en/ 6 is already the official LTS version

@haadcode
Copy link
Member

haadcode commented Nov 1, 2016

SGTM

@haadcode haadcode removed their assignment Nov 1, 2016
@victorb
Copy link
Member

victorb commented Nov 7, 2016

What David sums up in #536 (comment) makes a lot of sense 👍

@victorb victorb removed their assignment Nov 7, 2016
@daviddias
Copy link
Member Author

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.

@daviddias daviddias removed the status/in-progress In progress label Nov 17, 2016
MicrowaveDev pushed a commit to galtproject/js-ipfs that referenced this issue May 22, 2020
feat: add test and docs for listing config profiles
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants
@victorb @dignifiedquire @RichardLitt @daviddias @haadcode and others