6 ms·
Node.js 8 Moves into Long-Term Support, Node.js 9 Becomes Current Release Line
- Me1000 9y agoGreat to see Node 8 move to LTS. We’ve gone ahead and made Node 8 the default version for RunKit. You can try it out today: https://npm.runkit.com/try-node-8 https://npm.runkit.com/try-node-8
- styfle 9y agoIt’s great to see the new LTS land on Halloween! 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-22969cd360f0 https://hackernoon.com/es6-modules-today-with-typescript-229... [1]: https://github.com/styfle/copee https://github.com/styfle/copee
- racketprogram 9y agoWOW, what's different?
- apearson 9y agohttps://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V8.md#2017-10-31-version-890-carbon-lts-gibfahn https://github.com/nodejs/node/blob/master/doc/changelogs/CH...
- dikaiosune 9y agoI'm definitely curious to see if the update to npm 5.5.1 resolves most of the issues people have seen on the 5.x releases. Otherwise having an LTS release with a rough release of npm might be pretty painful for a lot of the ecosystem.
- abritinthebay 9y agoI’ve seen zero issue with npm locally or in production (have more issues with Webpack tbh) What kind of problems?
- dikaiosune 9y agoThere are a bunch of linked issues at https://github.com/nodejs/node/issues/13815 https://github.com/nodejs/node/issues/13815 and https://github.com/npm/npm/issues/16991 https://github.com/npm/npm/issues/16991, such as https://github.com/facebookincubator/create-react-app/issues/2558 https://github.com/facebookincubator/create-react-app/issues....
- 0x0 9y agoI've had major trouble with the fact that the new package-lock.json doesn't sufficiently lock versions. In one working copy you can run "nom install" and everything works with no files or package-lock being changed. Yet, in another clean checkout, "npm install" brings in a different set of dependency versions despite having a -lock file, and things start to break. Yarn's yarn.lock seems to get this right.
- tuananh 9y agoany chance that you did `npm install --production` maybe? i think the lock file might be different for that case.
- saas_co_de 9y agoyarn has resolved most of the issues already :)
- abritinthebay 9y agoIn my experience that’s simply not true. 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.
- rawrmaan 9y agoAgreed. I tried to switch to yarn a couple times now and it simply wasn't reliable (though the last attempt was a few months ago)
- jhgaylor 9y agoWe finally got NPM out of the loop for production deploys and it's been glorious. We ship down a tarball of the repo after an npm install and include a node interpreter.
- abritinthebay 9y agoAh well, that’s a whole different kind of system. Similar to doing a docker image ship. Still have to do the install on a deploy server.
- tuananh 9y agoseems like a perfect use case for Docker.
- jhgaylor 9y agoI whole heartedly agree. Would you tell that to my boss? :D
- mtphil 9y agoJust out of curiosity, having never encountered any issues myself - what sort of issues have you run into with Yarn in CI/prod ?
- mindcrash 9y agoYarn [0] might be a great alternative for those who have been bitten in the proverbial ass by npm a bit too many times. [0] https://yarnpkg.com/lang/en/ https://yarnpkg.com/lang/en/
- dikaiosune 9y agoI've recommended yarn for projects of mine that were broken by npm5, but it has some of its own issues. It's also not bundled by default which is really important for JavaScript tools that are used by beginners.
- TAForObvReasons 9y agoOur deployment setups explicitly roll back to npm 4. every version of npm5 has had problems with some step (currently fighting issues with react-native), including the latest 5.5.1 :(
- alvis 9y agoAnother option is pnpm(https://pnpm.js.org https://pnpm.js.org), a lesser known but much faster alternative.
- vacri 9y agoHow are we nearly a decade into the life of NodeJS and still suffering from problems with its package manager, which itself is up to version 5.x?
- TheCoreh 9y agoBecause npm 5 was a pretty big update that fundamentally changed how a lot of npm portions work, in order to close the gap between it and Yarn, a competing package manager. The 5.0 release was super rushed IMO (I personally hit several bugs), but if you stuck to node LTS you skipped over most of the v5 breakage (now it works 99.99% of the time again, and when it doesn't work deleting node_modules usually does the trick)
- nailer 9y agonpm v5 is still deleting private packages - the issue has been open, accepted and replicable since npm v5 was released - see https://github.com/npm/npm/issues/17929 https://github.com/npm/npm/issues/17929 nad various related issued linked from that page. This sucks if you use a monorepo. yarn workspaces works a treat though.
- pcsanwald 9y agopackage management is a harder problem than most people seem to want to admit. I've run into tons of issues with every package management system you can think of: rpm does some extremely dodgy caching stuff at times, navigating maven dependency trees to identify the offending version of slf4j that is harshing the vibe, etc. I can't think of a single package management system that works well and people seem to love.
- che_shirecat 9y agothis is awesome, been looking forward to using async/await in production node.js without transpilers!
- always_good 9y agoYou've been able to for a while now.
- wcarron 9y agoServer side at least. Not exactly confident that say, a vue-webpack site with no transpilation will play nicely with everyone's browsers.
- ssijak 9y agoIs it that hard to add one step in webpack build?
- wcarron 9y agoNo, it is not. But my point was that client-side javascript environments are not congruent in their support for all language features. Writing a boatload of async/await, object-spread, etc. code on the client and not transpiling is asking for trouble.
- floatboth 9y agoThe original comment was about "production node.js", not browsers. But actually https://caniuse.com/#feat=async-functions https://caniuse.com/#feat=async-functions looks very very good.
- wcarron 9y agoMy mistake, you are correct.
- che_shirecat 9y ago
- fivesigma 9y agoI was hoping to see v8 6.2 make into the LTS but apparently it will be merged into a future 8.x release in a few months from now. 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-is-coming-node-js-performance-is-changing-46a63d6da4de#1b5b https://medium.com/the-node-js-collection/get-ready-a-new-v8...
- huangbong 9y agoHopefully AWS Lambda adds support for this latest LTS... soon... we need async await without Babel transpilation.
- koolba 9y agoI’ve long banished Babel thanks to Typescript. Still has a transpile step though much faster and no more plugin hell.
- apatheticonion 9y agoMind sharing your process? I have been having issues setting up my project structure with TypeScript
- styfle 9y agoHere is my example with React + TypeScript + Webpack https://github.com/styfle/react-server-example-tsx https://github.com/styfle/react-server-example-tsx
- krainboltgreene 9y agoIt's faster because it's doing much less. 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.
- roblabla 9y agoFor a side-project of mine, I decided to not use babel (or typescript or any transpilation at all), and I've got to say, post-babel life is awesome. Sure, you're limited in browser support. But it makes life so much easier, iteration time so much quicker, and we've got most of the es2015 goodies in browsers nowadays. Being able to do the same on the backend side would be nice.
- nailer 9y agoI love node 8. `await` and `util.promisify()` has completely changed how I approach JavaScript. 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.
- Me1000 9y agoRunKit allows top-level await today, too: https://npm.runkit.com/try-node-8 https://npm.runkit.com/try-node-8
- apatheticonion 9y agoDo you know if top level await will ever be supported by node?
- scottmf 9y agoRelevant discussion: https://gist.github.com/Rich-Harris/0b6f317657f5167663b493c722647221 https://gist.github.com/Rich-Harris/0b6f317657f5167663b493c7...