---
title: "Node 16, Grunt 1.4, and Firefox 88"
publication: "JavaScript Weekly"
issue: 535
published_at: "2021-04-23"
canonical_url: "https://javascriptweekly.com/issues/535"
---

Plus setting up the tools for a new TypeScript project, and a parseInt() 'mystery.' |        

#​535 — April 23, 2021 

[Unsubscribe](https://javascriptweekly.com/leave/*|UID|*)|[Read on the Web](https://javascriptweekly.com/issues/535)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/dcq1echbineoaq5q7wt4.jpg)](https://www.metachris.com/2021/04/starting-a-typescript-project-in-2021/)   

[Starting a TypeScript Project in 2021](https://www.metachris.com/2021/04/starting-a-typescript-project-in-2021/) — A practical no-fluff guide to getting a TypeScript project started including (optionally) `esbuild` for bundling, linting, testing with Jest, publishing an npm package, and more. 

Chris Hager   

[Node.js 16 Released](https://nodejs.medium.com/node-js-16-available-now-7f5099a97e70) — 16 immediately replaces 15.x as the 'current' release line with 16 due to become a LTS release in October 2021 (whereupon it will be codenamed 'Gallium'.) v16 now includes [V8 9.0](https://v8.dev/blog/v8-release-90), has fat binaries for Apple silicon users, npm 7.10.0, [`Atomics.waitAsync`](https://v8.dev/features/atomics), and more. 

Bethany Griggs   [![\](https://copm.s3.amazonaws.com/9cfdd85d.png)](https://buttercms.com/react-cms/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=numberone) 

[ButterCMS Melts into Your React App. #1 Rated Headless CMS](https://buttercms.com/react-cms/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=numberone) — ButterCMS is the #1 rated Headless CMS for React. Enable your marketing team to update website content w/ our easy to use dashboard. Fast content API for modern apps. Secure. Scalable. Less Code. Try free today for 30 days. 

ButterCMS sponsor   

[Solving a Mystery Behavior of `parseInt()`](https://dmitripavlutin.com/parseint-mystery-javascript/) — `parseInt(0.0000005)` returns `5` because.. of course it does 😆 Dmitri digs into this quirk and poses a question of his own for you to think about. 

Dmitri Pavlutin     

Quick Bits 

- [Firefox 88](https://www.mozilla.org/en-US/firefox/88.0/releasenotes/), released this week, adds support for JavaScript embedded in PDF forms. (I'm keen to see an article about this..)
- There's a new curated list of [JavaScript tooling not written in JavaScript.](https://github.com/RobinCsl/awesome-js-tooling-not-in-js) Think `esbuild` and `swc`, etc.
- Curious how many people copy and paste code from Stack Overflow answers? [Now we know.](https://stackoverflow.blog/2021/04/19/how-often-do-people-actually-copy-and-paste-from-stack-overflow-now-we-know/)
- 📖 [The GraphQL Guide](https://blog.graphql.guide/releasing-the-graphql-guide-d9be04747148) is a new book by John Resig (yes, he of jQuery fame) and Loren Sands-Ramshaw. 

Releases 

[Grunt 1.4](https://github.com/gruntjs/grunt) — Task runner.
 [Strapi 3.6.0](https://github.com/strapi/strapi) — Headless Node.js CMS.
 [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn) — Sindre Sorhus's 'awesome ESLint rules.'
 [Grid.js 4.0](https://gridjs.io/) — Agnostic table control.
 [Ember 3.26](https://blog.emberjs.com/ember-3-26-released/) — The battle-tested framework.    

💻 Jobs  

[Frontend Engineer (All Genders)](https://www.homeday.de/de/jobs/senior-frontend-engineer-m-f-x-4402795002/) — Grow & work in our cross-functional squads in an amazing environment, providing a personal educational budget and 30d of vacation. 
Homeday   

[Software Engineer, Full Stack (Ruby/Rails)](https://grnh.se/c4f3a3311us) — Doximity is looking for passionate software engineers to make high-quality contributions to modern, production web applications. 
Doximity   

[Find Software Engineering Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-javascriptweekly%29&utm_content=find-your-next-job) — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now. 
Hired    

📖 Articles, Opinions & Tutorials  

[How Josh Comeau Builds His Blog](https://www.joshwcomeau.com/blog/how-i-built-my-blog/) — He might not like this description but I think Josh has become a bit of a _superstar_ in the frontend space recently with things like his [guide to CSS transitions](https://www.joshwcomeau.com/animation/css-transitions/), [styled-components best practices](https://www.joshwcomeau.com/css/styled-components/) and [JavaScript operator guide.](https://www.joshwcomeau.com/operator-lookup/) Here he gives a fantastic look behind the scenes of how his blog works and all the technologies brought together. 

Josh W Comeau   

[How to Convert HTML to an Image with Puppeteer from Node](https://cheatcode.co/tutorials/how-to-convert-html-to-an-image-using-puppeteer-in-node-js) — Could be useful for auto generating images for use on social media, say. 

Ryan Glover   

[Breakpoints and `console.log` Is the Past, Time Travel Is the Future](https://wallabyjs.com/?utm_source=cooperpress&utm_campaign=javascriptweekly&utm_content=javascript) — 15x faster JavaScript debugging than with breakpoints and console.log. 

Wallaby.js sponsor   

[Debugging JavaScript Efficiently with Chrome DevTools](https://lo-victoria.com/debugging-javascript-efficiently-with-chrome-devtools) — An introductory tutorial for anyone getting tired of all the `console.log`s. 

Victoria Lo   

[Five Key Lessons React Tutorials Don't Teach](https://reedbarger.hashnode.dev/5-key-lessons-react-tutorials-dont-teach) — The author enumerates and explains the important concepts which he feels receive short shrift from many React tutorials. 

Reed Barger   

[Web Performance Recipes with Puppeteer](https://addyosmani.com/blog/puppeteer-recipes/) — A highly useful, no-nonsense set of examples of using Puppeteer from Node to calculate and extract numerous forms of Web performance stats (e.g. first paint and first contentful paint), as well as emulate slow networks and CPUs. 

Addy Osmani   

[Book a Demo. Ship Fast. Rest Easy. LaunchDarkly](https://learn.launchdarkly.com/demo/?utm_source=cooperpress&utm_medium=display&utm_campaign=21q1-cooperpress) 

LaunchDarkly sponsor   

[How to Streamline Angular Reactivity](https://javascript.plainenglish.io/angular-reactivity-streamlined-831754b60a11) — How to observe RxJS streams and keep the reactivity intact in your components and directives with ng-observe. 

Levent Arman Özak   

[A Complete Guide To Incremental Static Regeneration (ISR) with Next.js](https://www.smashingmagazine.com/2021/04/incremental-static-regeneration-nextjs/) 
Lee Robinson   

[_Styled Components_ Best Practices for React Developers](https://www.robinwieruch.de/styled-components) 
Robin Wieruch   

[Voice-Enabling an Angular App with Wake Words](https://medium.com/picovoice/voice-enabling-an-angular-app-with-wake-words-dae4c9f26f9f) — Using the Web Speech API.. 
David Bartle     

🛠 Code & Tools      

[Sucrase: A Super-Fast Babel Alternative](https://sucrase.io/) — It’s not _exactly_ a Babel replacement as it covers a subset of what Babel does, but this is yet another ‘fast JS tool not written in JS’ that boasts being 20x faster than Babel at compiling Jest. We first mentioned it [three years ago](https://javascriptweekly.com/issues/388) but it’s come a long way since then. [GitHub repo](https://github.com/alangpierce/sucrase). 

Sucrase Contributors   

[Prisma ORM Toolkit Now 'Ready For Production'](https://www.prisma.io/blog/prisma-the-complete-orm-inw24qjeawmb) — Prisma is already a pretty popular ORM approach so this may be surprising news, but after two years of development they’re keen to show off everything Prisma can do and where the project is headed. 

Nikolas Burk   

[Pulumi Infrastructure as Code: Any Cloud, Familiar Languages](https://www.pulumi.com/docs/get-started/?utm_source=javascript-weekly&utm_medium=sponsored-link&utm_campaign=iac) — Provision cloud infrastructure using JavaScript and use constructs you already know - code completion, for loops, and more. 

Pulumi sponsor   

[WinBox: An HTML5 'Window Manager' for the Web](https://nextapps-de.github.io/winbox/) — Very thoroughly documented and works pretty well, but feels a bit like Web-based UI experiments of 10+ years ago..? Interesting though and some nice demos to play with here. [GitHub repo](https://github.com/nextapps-de/winbox). 

WinBox   

[Volta 1.0.4: The JavaScript Tool Installer and Launcher](https://volta.sh/) — 1.0.4 will automatically fetch the native Apple silicon version of Node for versions where it is available (Node 16+). 

Volta Contributors   

[Inkline: A Customizable Vue.js UI/UX Library](https://inkline.io/) — Includes 50+ components designed for mobile-first apps with out-of-the-box accessibility support via WAI-ARIA. 

Alex Grozav   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/unbqrtr3bo5iohq8kwat.jpg)](https://trekhleb.dev/js-image-carver/)  

[js-image-carver: Content-Aware Image Resizer and Object Remover](https://trekhleb.dev/js-image-carver/) — A fun demo on this one. [GitHub repo](https://github.com/trekhleb/js-image-carver). 

Oleksii Trekhleb   

[Compodoc: The Missing Documentation Tool for Your Angular App](https://compodoc.app/) 
Vincent Ogloblinsky         

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
