Node.js 8 Moves into Long-Term Support, Node.js 9 Becomes Current Release Line
medium.com
medium.com
v8 6.2 fixes a lot of Turbofan related regressions, for example: for in object performance [1]
[1] https://medium.com/the-node-js-collection/get-ready-a-new-v8...
I have been having issues setting up my project structure with TypeScript
You're just mimicking babel with `babel-preset-typescript` + `babel-transform-object-rest-spread`, but without support for:
- babel-preset-env
- babel-minification
- or any of the other dozen or so plugins that make development easier
- any bug fixes or polyfills
I don't get why people think that they're doing something special by not using babel. Pre-babel life sucked.Being able to do the same on the backend side would be nice.
It really wasn't much of a difference in terms of getting things up and running.
Typescript has plenty of weird nuances and configuration settings that are required to get things working properly, just like babel.
http://matthewlehner.net/react-hot-module-replacement-with-w...
Babel is essentially `cp` but with a slight twist: AST -> AST conversion. That doesn't take a huge amount of time.
I think we were using Gulp without any hot module replacement, so there are other ways we could have sped up our build time, but Typescript was good enough.
The whole Typescript & Webpack situation is very sad.
What I would love is for TypeScript to do one thing and that is it: static type checking. The fact that it does more than that to me is feature creep. I really wish something like Flow had the community support that TypeScript has because of its single responsibility.
The spirit of TypeScript is code integrity. Imagine that you are working on a project which change often. In this case, refactoring and maintaining breaking changes are headache. How would you identify potential issues before pushing to CI and being punished by errors with no clue?
Babel and TypeScript are different. Babel is a transpiler which enable us to write modern syntax which are not widely supported, while TypeScript is a transpiler which help us to write in confidence and integrity.
Typescript does both X and Y steps, so what exactly don't you understand?
What a great position JS is in that 'await' is now default in stable server & build tools and the browser.
Stable Chrome has await top level in the console today too.
Yaay.
What kind of problems?
We’ve seen more issues with Yarn in CI & prod than with npm 5.x
Both are great projects but npm is significantly more mature.
Still have to do the install on a deploy server.
We do use private scoped packages a lot so that might have some bearing on it.
Would be interested in specifics of your reliability and failure problems too.
Yarn claims to be deterministic but I still need to `rm -rf node_modules` regularly when I run into weird build errors. It's quite strange.
I had mistakenly setup our CI to do that at one point and it caused a lot of hard to debug problems.
yarn workspaces works a treat though.
I can't think of a single package management system that works well and people seem to love.
Major version numbers in Javascript are defined using SEMVER. What this means is that a major version only implies that a breaking change was included (e.g. the API contract is different). It doesn't really have anything to do with a classic pattern where V2 is seen as the second phase, and V5 is seen as the fifth phase, etc, of a project.
In other words, you've been able to for a while now, you've just chosen constraints that don't let you, so your response isn't very honest.
In Koa, you're inside one big top-level async function so all of your business code is as well. Any errors you have are async and bubble up.
Async/await is something that made Javascript concurrency not just bearable but better than the day-to-day code of other languages I use.
You can try it out today: https://npm.runkit.com/try-node-8
I wrote about Shipping ES Modules[0] if anyone is interested. Or just checkout the code on GitHub[1].
[0]: https://hackernoon.com/es6-modules-today-with-typescript-229...