---
title: "It's a week of releases: Popper 2, Yarn 2, Rough.js 4"
publication: "JavaScript Weekly"
issue: 473
published_at: "2020-01-31"
canonical_url: "https://javascriptweekly.com/issues/473"
---

And more JavaScript links, tutorials, and projects of the week.       

#473 — January 31, 2020 

[Read on the Web](https://javascriptweekly.com/issues/473)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1580491335/lzqqi1amvl7tlwobk52f.jpg)](https://popper.js.org/)   

[Popper 2.0: Tooltip & Popover Positioning Engine](https://popper.js.org/) — This popular tooltip and popover library just hit version 2.0. You can [read the blog post detailing what’s changed and what’s new here](https://dev.to/fezvrasta/smarter-tooltips-and-popovers-with-popper-2-44bh). 

Federico Zivolo   

[JavaScript Libraries Are Almost Never Updated Once Installed](https://blog.cloudflare.com/javascript-libraries-are-almost-never-updated/) — An analysis, based on CDNJS data, of when and if JavaScript libraries are updated after being installed onto websites (_the headline kinda gives this one away_ 😉). 

Zack Bloom (Cloudflare)   [![\](https://copm.s3.amazonaws.com/581f5ac1.png)](https://www.cypress.io/?utm_campaign=JS%20Weekly&utm_medium=email&utm_source=website&utm_content=text%20link) 

[Fast, Easy, JavaScript-Based Testing for Any Web App](https://www.cypress.io/?utm_campaign=JS%20Weekly&utm_medium=email&utm_source=website&utm_content=text%20link) — Cypress is the new standard for front-end testing that every web developer and QA engineer needs. Debug, hot reload, and record video of your end-to-end tests—using 100% JavaScript. Get started today with our free, open-source Test Runner. 

Cypress.io sponsor   

[Introducing Yarn 2: It's All Change for the Popular Package Manager](https://dev.to/arcanis/introducing-yarn-2-4eh1) — The first stable release of Yarn 2 is now available, it contains quite a few fundamental changes (in [the migration guide](https://next.yarnpkg.com/advanced/migration) it’s called “very different software” to v1) and new features borne from the team’s own usage. Yarn 1.22 will be released next week and then enter maintenance mode, so if you’re a Yarn user, consider [upgrading.](https://next.yarnpkg.com/advanced/migration) 

Maël Nison   

[Puppeteer 2.1: The Headless Chrome Node.js API](https://github.com/puppeteer/puppeteer/releases/tag/v2.1.0) — Last week we featured [Playwright](https://github.com/microsoft/playwright), a new multi-browser alternative to Puppeteer, but now Puppeteer is back with support for working with a standard, unpatched version of Firefox. 

Puppeteer  

💻 Jobs  

[Frontend Developer Needed in Beautiful Norway](https://snowball.digital/careers/frontend-developer) — Are you a senior frontend developer with an eye for great UI and bragging rights about your full-stack abilities? 

Snowball Digital   

[Find a Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77584) — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers. 

Vettery  

📘 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1580490845/vehyddwu4iwbuyq7iagz.png)](https://2ality.com/2020/01/typescript-enums.html)  

[An In-Depth Look at TypeScript's `enum`s](https://2ality.com/2020/01/typescript-enums.html) — `enum` lets you define types that have a specific number of values, a.k.a. an _enumerated type_. Here’s how they work and some use cases. 

Dr. Axel Rauschmayer   

▶[Building A Simple HTTP Server with Deno](https://www.youtube.com/watch?v=z9hJMZo-pFM) — [Deno](https://deno.land/) is an interesting new JavaScript runtime being developed by the original creator of Node. Here’s a practical introduction. 

Tim Ermilov   

[Introduction to Machine Learning with Tensorflow.js and IBM Watson](https://www.meetup.com/IBM-Developer-SF-Bay-Area-Meetup/events/268117529/) — RSVP for this online workshop on open source Machine Learning from the browser to the cloud by IBMer David Nugent. 

IBM Developer sponsor   

[Memory Management in the V8 Engine](https://deepu.tech/memory-management-in-v8/) — You _don’t_ need to know this stuff to use Node effectively, but if you’re intrigued what’s going on under the covers, enjoy this. 

Deepu K Sasidharan   

[5 Best Practices to Write Quality Arrow Functions](https://dmitripavlutin.com/javascript-arrow-functions-best-practices/) 

Dmitri Pavlutin   

[Typing Objects in TypeScript](https://2ality.com/2020/01/typing-objects-typescript.html) — Dr. Axel continues his spelunking into the world of TypeScript with a look at how objects and properties are typed. 

Dr. Axel Rauschmayer   

[Building a Reusable Dialog Module with Angular Material](https://itnext.io/building-a-reusable-dialog-module-with-angular-material-4ce406117918) 

Vassiliki Dalakiari   

▶[Google Sheets for Node Developers](https://www.youtube.com/watch?v=77toMO9-kQc) — A look at some of the cool things you can do with Google Sheets from Node. This is a nice, practical introduction and they show off all the parts involved in putting a real app together. _35 minutes._ 

Franziska Hinkelmann and Anu Srivastava   

[Let It Crash: Handling Node.js Errors on Shutdown](https://blog.heroku.com/best-practices-nodejs-errors) 

Heroku sponsor   

[Why The TypeScript Team is using Gatsby for Its New Site](https://www.gatsbyjs.org/blog/2020-01-23-why-typescript-chose-gatsby/) — Discover why the TypeScript team uses Gatsby (a React powered site generator) and what constraints they use to make it work for their team. 

Orta Therox   

[10 Array Methods You Should Know](https://dev.to/rebeccauranga/10-array-methods-you-should-know-nn5) — One for the beginners among you :-) 

Rebecca Uranga  

🔧 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/lu6lrtjdyzmwudye9r40.jpg)](https://roughjs.com/posts/release-4.0/)   

[Rough.js 4.0: Draw Web Graphics with a Hand-Drawn Appearance](https://roughjs.com/posts/release-4.0/) — You can now pass in seed values to seed the randomness of Rough’s scribbling which could help your graphics look more.. predictably rough :-) There are also numerous other visual improvements including support for no-stroke fills. 

Preet Shihn   

[Size Limit 4.0: A Performance Budgeting Tool for JavaScript](https://github.com/ai/size-limit) — Calculate the real cost to run your JS app or lib to keep good performance. Integrates with your CI process. 

Andrey Sitnik   

[LInQer: C# Language Integrated Queries (LINQ) but for JavaScript](https://github.com/Siderite/LInQer) — Use fluent, chainable methods like `where`, `select`, and `groupBy` to work with data. 

Costin Manda   

[Axe Pro: Free Accessibility Testing Tool Created for Development Teams](https://www.deque.com/axe-pro-sign-up/?utm_source=javascript_weekly&utm_medium=sponsored&utm_campaign=sponsored_link) — Unique mix of guided and automated tests. Manage multiple tests, limit the scope of your testing, export results, and more. 

Deque sponsor   

[Meteor 1.9 Released](https://blog.meteor.com/meteor-1-9-node-js-12-and-new-roadmaps-cb993277d444) — It’s been a while since [Meteor](https://www.meteor.com/), a once hyped but now mature JS development platform, has come up on our radar, but it’s now gained Node 12 support. 

Filipe Névola   

[Phoenix: A JS-Scriptable macOS Window and App Manager](https://github.com/kasper/phoenix) — If you want full control over your window management and you know JavaScript, this is for you. Here’s [an example script](https://github.com/azamuddin/phoenix/blob/master/.phoenix.js) to give you a taster. [Autumn](https://apandhi.github.io/Autumn/) is a similar project if this stuff interests you. 

Kasper Hirvikoski   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1580490196/soiywsmlnxvcflr2iycb.png)](https://octolinker.now.sh/)  

[OctoLinker: Links Together, on GitHub, What Belongs Together](https://octolinker.now.sh/) — A browser extension for GitHub power users that turns `import` and `require` sources into links to the original source. Here’s [a demo](https://octolinker-demo.now.sh/OctoLinker/live-demo/blob/master/index.js#LO2) to see if you like the effect. Supports many other languages than JavaScript too. A new release [is just out](https://github.com/OctoLinker/OctoLinker/releases/tag/v6.0.0) and it's faster than before. 

OctoLinker         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/peterc) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
