Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for async/await in karma code #3151

Closed
lusarz opened this issue Oct 1, 2018 · 12 comments · Fixed by karronoli/redpen#10 · May be fixed by Omrisnyk/npm-lockfiles#201
Closed

Support for async/await in karma code #3151

lusarz opened this issue Oct 1, 2018 · 12 comments · Fixed by karronoli/redpen#10 · May be fixed by Omrisnyk/npm-lockfiles#201
Labels

Comments

@lusarz
Copy link
Contributor

lusarz commented Oct 1, 2018

What do you thinks about using async/await in our code. It is natively supported from Node 8, but Node 6 is now in maintenance, and it's end of life is planned to April 2019.

We can consider remove karma support for Node 6 now, or adapt puppeteer solution.

@lusarz lusarz added the discuss label Oct 1, 2018
@lusarz lusarz changed the title Support for async/await in our code Support for async/await in karma code Oct 1, 2018
@johnjbarton
Copy link
Contributor

Personally I would like to see the node-v4-level updates completed first, like var -> const and use of classes. Adopting node 6 now could force us to support two versions which would not be practical. I could see switching to node 6 once we are closer to April.

Somewhat related but perhaps more difficult: a way to support existing plugins but also allow asynchronous plugins would be cool.

@lusarz
Copy link
Contributor Author

lusarz commented Oct 1, 2018

Ok, it sounds good to me

@jniles
Copy link
Contributor

jniles commented Dec 1, 2018

@johnjbarton, if one wanted to work on the node v4 level updates, is there anywhere you would recommend to start?

@johnjbarton
Copy link
Contributor

We're actually pretty close to the finish line. Look for files with var that are not /client (these are files the ship to the browser).

@jniles
Copy link
Contributor

jniles commented Dec 1, 2018

@johnjbarton, am I right in thinking that both /common and /context are also shipped to the client? It looks like both are processed by browserify in the build process.

@johnjbarton
Copy link
Contributor

Looks like @lusarz got them all huh?

@lusarz
Copy link
Contributor Author

lusarz commented Dec 1, 2018

@johnjbarton yeah, now I'm waiting for green light to introduce async/await ;)

@jniles Some times ago I've did some research about possibility to replace var into const/let in /common and /context, but varify didn't wanted to work for me.

@johnjbarton
Copy link
Contributor

If we add async/await and thus create a breaking 4.x version, what will be our plan if we have to create another 3.x release (say a security issue or compat with some dep release)? Doesn't have to be a great option but I'd like to know the cost of the extreme case.

@lusarz
Copy link
Contributor Author

lusarz commented Dec 3, 2018

What about forcing users to use node >=8 and forget about karma releases with node 6 support at all ? Are there some use cases when it may not be possible (migrating to node >=8) ?

@johnjbarton
Copy link
Contributor

Yes, I assumed we would drop node v6. So our story could be "Sorry, if you want to use node v6 after 3.1.2, you have to fork the source". I just want to make a clear decision, not an accident and no implied support for two versions at the same time.

@lusarz
Copy link
Contributor Author

lusarz commented Dec 4, 2018

Yes, I agree with that.

@johnjbarton
Copy link
Contributor

v3.1.4 seems stable, let's call that the last node 6 version and move on to v4 w/node 8 and async.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants