Recent efforts in V8 and DevTools for Node.js
v8project.blogspot.com
v8project.blogspot.com
You can actually try the async-await functionality with Node Current (7.2.1 as of this writing) by passing the flag --harmony-async-await:
node --harmony-async-await app.js
It will be available without flags in the LTS release in March (that is in 3 months). Say goodbye to Callback Hell, the future of Node.js is looking pretty good.> However, Node v7 is based on V8 54, whose async/await implementation has some bugs in it (including a nasty memory leak). I would not recommend using --harmony-async-await in production until upgrading to V8 55; the easiest way to achieve that would be to wait for Node 8.
https://github.com/nodejs/promises/issues/4#issuecomment-254...
Also, Node v7 will likely get a semver-minor update with V8 55. So, simply waiting for v7.3 or v7.4 should be sufficient and it will be enabled by default.
https://github.com/nodejs/node/pull/9618#issuecomment-264641...
Those who are sticking with the LTS release for production will need to wait until April/May 2017. March is overly optimistic by the OP as the currently scheduled date is 2017-04-30.
It literally changed my life. Thanks whoever is responsible for this project.
1. Node Inspector (https://github.com/node-inspector/node-inspector), the most prevalent Node.js debugging tool, at least until Node v6.3.0. And which also happens to be mentioned by Jam3/devtool in the Comparisons section.
2. Built-in Chrome DevTools debugging support as of node v6.3.0 (https://medium.com/@paul_irish/debugging-node-js-nightlies-w...). Simply by running:
> node --inspect foo.js
I can't really give a compare and contrast between what I'm using and the --inspect flag. From the article, I feel like I'd like --inspect better if I could get it to work.
This blog posts mentioned Node already fully supports ES6.
Is there a table anywhere that lists ES6/ES7 features and which nodejs version supports it natively?
I assume async/await (which I love and use from TypeScript) will only be available in Node 7.x and not 6.x.
The Node.js home-page makes node 7.x look scary unstable, is there any real-world caveats to using it?
I swear I googled for something like this and came up empty multiple times. Thanks!
As long as you easily update your node version there's no reason not to use it.
Why, yes, there is: Kangax's Compatibility Table.[1]
https://github.com/nodejs/node-chakracore
Many native modules are however v8 modules, not sure how that may work.
Like, use V8 if you need X, use Chakra if you need Y etc.
But in the future I would not be surprised if they try to support TypeScript natively.
Now, I still don't trust Microsoft so I am not going to use it.
With a runtime agnostic Node, different vms would certainly have differing esnext features but may also be optimized for specific platforms or use cases.
https://blogs.windows.com/msedgedev/2016/11/29/node-chakraco...
The second biggest improvement would be to simplify the API. Using Contexts, Isolates, HandleScopes, etc. is complicated and causes the code to crash in unpredictable ways when you get it wrong. The API was built with Chrome's internals in mind and this shows.
One of the key advantages of my API is that by using a "sink" interface it can be very efficient because the implementation calls the engine's API directly with out creating intermediate data. As I mentioned this is in C++ but it could easily be translated into a C API.
Let me know if you would like help with this.