---
title: "What it takes to maintain a large open source project"
publication: "JavaScript Weekly"
issue: 475
published_at: "2020-02-14"
canonical_url: "https://javascriptweekly.com/issues/475"
---

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

#475 — February 14, 2020 

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

An oddly quiet week in terms of big, timely news, but yet again there's so much _generally_ going on that I think we've got a good issue here :-) Till next week!  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1581698673/iimt1clysn3dlsnyxsvn.png)](https://fullcalendar.io/)  

[FullCalendar: A Full Sized JavaScript Calendar Control](https://fullcalendar.io/) — An interesting option if you want a Google Calendar style control for your own apps. Has connectors for React, Vue and Angular. The base version is MIT licensed, but there’s a ‘premium’ version too. 

Adam Shaw   

[How to Make a WebGL-Powered US Counties Map with D3 and Three.js](https://tips4devs.com/articles/make-a-webgl-powered-us-counties-map-with-d3-and-three-js.html) — Creating a simple SVG-based map is one thing, but if you want the best performance, leaning on WebGL and your GPU is a good option. This tutorial covers how to approach moving from SVG to WebGL by way of Three.js. 

Mika Iriarte   [![\](https://copm.s3.amazonaws.com/5ab5e4cb.jpg)](https://frontendmasters.com/courses/javascript-hard-parts-v2/?utm_source=newsletter&utm_medium=email&utm_campaign=jsweekly_hardpartsv2) 

[New: Our 'Most Loved' JavaScript Course 🧡 Gets Updated](https://frontendmasters.com/courses/javascript-hard-parts-v2/?utm_source=newsletter&utm_medium=email&utm_campaign=jsweekly_hardpartsv2) — Take your JavaScript to the next level. Gain an understanding of callbacks, higher order functions, closure, asynchronous and object-oriented JavaScript. 

Frontend Masters sponsor   

[On the Maintenance of Large Open-Source Projects](https://www.welcometothejungle.com/en/articles/btc-discussion-open-source-maintenance) — A written-up group chat with former Node core team member Bert Belder (of libuv fame) and Leaflet creator Vladimir Agafonkin about what it takes to maintain large open source projects. 

Anne-Laure Civeyrac   

[Tiny Helpers: Single Purpose Online Tools for Web Developers](https://tiny-helpers.dev/) — A growing collection of single-purpose online tools aimed at developers of all types. Covers things like base64 conversion, color management, favicon generators, exploring JavaScript ASTs, key codes.. 

Stefan Judis   

[7 (Possibly) Good Reasons _Not_ to Use TypeScript](https://t.co/7sAvkbYqmN) — Hang on.. did you read that headline right? Why _not_ to use TypeScript? Yes, despite all the buzz around TypeScript, you don’t _have_ to use it and there might be good reasons not to (although the reasons presented are highly opinionated and you’re free to disagree too). 

Michael Krasnov     

**Quick bytes:** 

- There's [a sneaky bug in Chrome 80](https://bugs.chromium.org/p/chromium/issues/detail?id=1049982) that affects `Array#reduce` and it has broken people's Angular apps. Here's [a potential quick fix.](https://github.com/angular/angular/issues/35219#issuecomment-583425191)
- If you want to go to [VueConf](http://vueconf.us/) in Austin in a few weeks, I'm told this is the last week you can get tickets.
- GitHub's new CLI tooling is [now in beta](https://github.blog/2020-02-12-supercharge-your-command-line-experience-github-cli-is-now-in-beta/) and will help smooth out a lot of your GitHub workflow.   

💻 Jobs  

[Find a Dev 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   

[Announcing a 100% Remote Opportunity as a Sr. Fullstack Dev (Node/React)](https://www.clevertech.biz/careers/javascript-full-stack-engineer) — We’re passionate about giving developers the chance to do meaningful work by building transformational technology solutions. 

Clevertech  

📘 Articles & Tutorials  

[Why JavaScript is Eating HTML](https://css-tricks.com/why-javascript-is-eating-html/) — The idea of JavaScript and HTML remaining separate and _never the twain shall meet_ is now decidedly old-school and HTML-in-JS (a la JSX) is definitely A Thing™. Here’s a tour of all the parts involved. 

Mike Turley   

[Building a Continuous Integration and Deployment Pipeline Using Docker](https://www.taniarascia.com/continuous-integration-pipeline-docker/) — A really sweet, well paced tutorial that almost anyone would be able to follow to set up a basic CI/CD process for a Node app. 

Tania Rascia   

[A Pool Table-Style 'Bouncing Balls' Simulation in Plain JS](https://github.com/MTrajK/bouncing-balls) — It’s mostly code but included in tutorials as it’s designed to be a learning experience. Here’s [a demo](https://mtrajk.github.io/bouncing-balls/) of the end result. 

Meto Trajkovski   

[Optimize the Performance of Single Page Applications Using RUM](https://www.site24x7.com/monitor-single-page-apps.html?utm_source=JS%20Weekly&utm_medium=email&utm_campaign=feb-newsletter&ad_src=jsweekly) 

Site24x7 sponsor   

[How to Publish an Updated Version of an npm Package](https://cloudfour.com/thinks/how-to-publish-an-updated-version-of-an-npm-package/) — If you release your own npm packages, or if you’ve inherited packages from your team, this is a nice guide that covers many of the challenges with getting a new version out. 

Scott Vandehey   

[70 JavaScript Interview Questions](https://dev.to/macmacky/70-javascript-interview-questions-5gfi) — You’re never going to get a list like this that’s _perfect_ but it’s a pretty solid list of the sorts of questions (and answers) you could get thrown at an interview, so if you’re in that position.. 

Mark Abeto   

[4 Methods to Search Through Arrays](https://alligator.io/js/array-search-methods/) — `includes`, `find`, `indexOf`, and`filter`. 

Stephen Hartfield   

▶[Fast by Default: Algorithmic Performance Optimization in Practice](https://www.youtube.com/watch?v=bwA9i6wjfhw) — A talk from dotJS 2019. 

Vladimir Agafonkin   

[ForwardJS Ottawa (May 26-29) Speakers Announced](https://forwardjs.com/ottawa/) — Topics include React/Redux, TypeScript, containers, design systems, static sites, scaling teams and monorepos. Join us. 

ForwardJS sponsor   

[Building Bridges with Other Departments in Developer Relations](https://dev.to/drnugent/building-bridges-with-other-departments-in-developer-relations-5ecb) — If you've been in the JavaScript world a while, you might be familiar with Estelle Weyl and her insights will interest you if a career in developer relations has ever intrigued you. 

Dave Nugent and Estelle Weyl   

[How To Create Maps with React and Leaflet](https://www.smashingmagazine.com/2020/02/javascript-maps-react-leaflet/) 

Shajia Abidi   

[Building a 'Grouper' Component for Svelte](https://pace.dev/blog/2020/02/01/grouper-component-for-svelte-by-mat-ryer) — Mat Ryer shows how you can build a Grouper component in Svelte to neatly group up lists into meaningful sections. 

Mat Ryer  

🔧 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/lrtftthsf4c9qjyqhbc7.jpg)](https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer#hediet)   

[Debug Visualizer: Visualize Data While Debugging in VS Code](https://marketplace.visualstudio.com/items?itemName=hediet.debug-visualizer#hediet) — An interesting looking VS Code extension that lets you visualize the result of an repeatedly evaluated expression. An intriguing idea, though I think you’d need to fiddle a bit to get the results you want. 

Henning Dieterichs   

[plink-plonk.js: Listen to Web Pages As Their DOM Changes](https://gist.github.com/tomhicks/6cb5e827723c4eaef638bf9f7686d2d8) — **This is really cool.** Run this code at a console on a ‘busy’ Web page with lots of DOM changes and updates and you’ll be able to ‘hear’ them taking place. 

Tom Hicks   

[Stream Chat API & JavaScript SDK for Custom Chat Apps](https://getstream.io/chat/?utm_campaign=2020_02_14_javascriptweekly&utm_medium=promoted_newsletter&utm_source=javascriptweeklypromoted) — Build real-time chat in less time. Rapidly ship in-app messaging with our highly reliable chat infrastructure. 

Stream sponsor   

[Type Route: A Flexible, Type-Safe Routing Library](https://www.type-route.org/) — A flexible routing library with TypeScript support, designed with React integration in mind (indeed, it’s used in [React Router](https://github.com/ReactTraining/react-router)), but can be used with any framework (Vue, Angular, etc). 

type-route   

[Ionic 5 Released: A Popular Webapp + Native Framework](https://ionicframework.com/blog/announcing-ionic-5/) — Ionic’s goal is to get you an app you can put on an app store _and_ the Web with a single shared code base, yet with adaptive styling to look native in each case. It was originally focused on Angular but now has [an official React integration.](https://ionicframework.com/docs/react) 

Brandy Carney   

[esbuild: An Extremely Fast JavaScript Bundler and Minifier, But...](https://github.com/evanw/esbuild) — An experiment in proving that tools for bundling JavaScript can actually be _very_ fast.. though in this case by implementing one in Go ;-) 

Evan Wallace   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1581695656/bkcgdmdxbtukqtpcufix.png)](https://legrajs.com/)  

[LegraJS: Render Lego Brick Graphics to a Canvas](https://legrajs.com/) — A small library for drawing LEGO style brick shapes on to a canvas. 

Preet Shihn        

_"Programming isn’t about what you know; it’s about what you can figure out.”_ — Chris Pine  

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
