---
title: "A quick way to clean up node_modules folders"
publication: "JavaScript Weekly"
issue: 562
published_at: "2021-10-29"
canonical_url: "https://javascriptweekly.com/issues/562"
---

Plus Photoshop's journey to the Web, and how to do TypeScript without TypeScript. |        

#​562 — October 29, 2021 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ydcg8xz9k9w4ewpxcxdw.jpg)](http://tabulator.info/)   

[Tabulator 5.0: An Interactive Table and Data Grid Library](http://tabulator.info/) — Supports all major browsers and can be used with Angular, Vue, and React if you wish. [5.0](http://tabulator.info/docs/5.0/release) is a big release boasting a complete rebuild, restructuring and moving to ES modules – see the [5.0 release notes.](http://tabulator.info/docs/5.0/release) A [huge number of examples](http://tabulator.info/examples/5.0)await too. 

Oli Folkerd   

[Next.js 12 Released](https://nextjs.org/blog/next-12) — The popular Node.js + React development framework takes a big step forward with improvements including beta support for middleware, native ES module support, a Rust-powered compiler for 5x faster builds, and _much_more. 

The Vercel Team   [![\](https://copm.s3.amazonaws.com/f0384a01.png)](https://shortcut.com/?utm_source=cooperJSWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=kanbanprimary) 

[Shortcut Is Project Management Without the Management](https://shortcut.com/?utm_source=cooperJSWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=kanbanprimary) — Whether you're a startup that iterates quickly by giving engineers a free pallet of Red Bull, or a large org that has strict ship dates to hit, Shortcut is the ideal solution for task management, bug tracking, iteration planning, and reporting. 

Shortcut (formerly Clubhouse.io) sponsor   

[Why 'Outdated' jQuery Is Still The Dominant JavaScript Library](https://thenewstack.io/why-outdated-jquery-is-still-the-dominant-javascript-library/) — jQuery is one of the longest running and most influential JavaScript libraries on the web. How has it stood the test of time? 

Richard MacManus   

[How ua-parser-js, An npm Package with 8M+ Weekly Downloads, Was Compromised](https://portswigger.net/daily-swig/popular-npm-package-ua-parser-js-poisoned-with-cryptomining-password-stealing-malware) — [UAParser.js](https://github.com/faisalman/ua-parser-js) is a library for detecting browsers, JS engines, OS, and other things from user agents. The problem was quickly fixed, but the package was briefly infiltrated with malware. The maintainer and others [shared more in this GitHub issue.](https://github.com/faisalman/ua-parser-js/issues/536) 

The Daily Swig   

**QUICK BITS:** 

- [Node 16 (codenamed 'Gallium') has gone LTS](https://nodejs.org/en/blog/release/v16.13.0/) with its v16.13.0 release. [Node 17](https://nodejs.org/en/blog/release/v17.0.0/) is now the one getting all the cutting edge features.
- Facebook (or is that _Meta_ now?) is taking steps to making Hermes, its mobile-focused JS engine, [the default engine for React Native.](https://reactnative.dev/blog/2021/10/26/toward-hermes-being-the-default)
- [RIP Bill Scott](https://twitter.com/xjamundx/status/1453738879228342282) who had a big influence on the growth of the Node space in its early years.
- 📅 [React Conf 2021](https://conf.reactjs.org/) is taking place online this year – it's free, and it's on December 8.   

**RELEASES:** 

[Yarn 3.1](https://dev.to/arcanis/yarn-31-corepack-esm-pnpm-optional-packages--3hak) – Alternative package manager.
 [Solid 1.2.0](https://github.com/solidjs/solid/releases/tag/v1.2.0) – Reactive UI library.
 [MUI-Datatables 4.0](https://github.com/gregnb/mui-datatables) – Material UI-based data table for React.
 [ESLint 8.1.0](https://github.com/eslint/eslint/releases/tag/v8.1.0) – JS code analyzer.
 [GoldenLayout 2.4.0](https://golden-layout.com/) – Multi-window layout manager for webapps.
 [Meteor 2.5](https://blog.meteor.com/announcing-meteor-2-5-with-cordova-10-accounts-passwordless-and-much-more-1848fa61e313)
 [Redux 4.1.2](https://github.com/reduxjs/redux/releases/tag/v4.1.2)    

💻 Jobs  

[JavaScript Developer at X-Team (Remote)](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=cooperpress-js&utm_content=js) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more. 
X-Team   

[Backend Engineer (Remote, EU Timezones)](https://feather-insurance.com/careers/backend-engineer) — We’ve built a product thousands of people love (See [Trustpilot](https://www.trustpilot.com/review/feather-insurance.com) if you don’t believe us). We need your help with Node & TypeScript. 
Feather   

[Find JavaScript 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) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired    

📖 Tutorials, Opinions & Stories 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/d0njpsj8lmlrpb9fwmy8.jpg)](https://web.dev/ps-on-the-web/)  

[Adobe Photoshop's Journey to the Web](https://web.dev/ps-on-the-web/) — We’ve had pretty good graphics editors in the browser before, but bringing the pieces together to have an editor worthy of the _Photoshop_ name is a feat. WebAssembly played a huge role, but so did many other Web technologies, and they collectively open up new opportunities for us all – not just Adobe. 

Thomas Nattestad and Nabeel Al-Shamma   

▶[How to Do TypeScript Without TypeScript](https://youtu.be/xLDVfBUgD8U?t=114) — Static types confer numerous benefits when developing, but is it necessary to use TypeScript fully in order to get many of the benefits? Simone investigates the pros and cons and shows off an alternative approach. 

Simone Sanfratello   

[Develop a Faster Way to Work. Build Internal Tools, Remarkably Fast](https://retool.com/?utm_source=sponsor&utm_medium=newsletter&utm_campaign=cooperpress) — Custom dashboards, admin panels, CRUD apps—build any internal tool faster in Retool. Get started for free today. 

Retool sponsor   

[On Building an Effective Image Component for Next.js](https://web.dev/image-component/) — The story of an out-of-the-box solution to optimize images for Next.js. It optimizes loading, compression & responsiveness. Now with AVIF support in [Next.js 12](https://nextjs.org/blog/next-12). 

Sohoni, Erickson, Castle   

[What Every JavaScript Developer Should Know About Unicode](https://dmitripavlutin.com/what-every-javascript-developer-should-know-about-unicode/) — It’s not new, but has been doing the rounds on social again and is packed with useful knowledge about how strings are represented, why Unicode exists, what code units are, and then how JavaScript tackles it all. 

Dmitri Pavlutin   

[In-Page Filtered Search with Vanilla JavaScript](https://css-tricks.com/in-page-filtered-search-with-vanilla-javascript/) — I tend to jump to Cmd+F for my in-page searching needs, but if you want to offer something a little more elegant and custom, this sort of approach can help. 

Hilman Ramadhan   

[Reflection at Reflect: The Reflect and Proxy APIs](https://reflect.run/articles/reflection-at-reflect/) — Reflect is a tool for working with regression tests, and it uses JavaScript’s own `Reflect` and `Proxy` objects to gain access to the info it needs from code. 

Reflect   

[Build a Mobile-Responsive Telehealth Pager App Using Stream’s Chat API](https://getstream.io/blog/build-a-medical-pager-app/?utm_source=javascript_weekly&utm_medium=newsletter_content_ad&utm_content=developer&utm_campaign=JavascriptWeekly_Oct2021_BuildMedicalPager) 

Stream sponsor   

[Trie in JavaScript: The Data Structure Behind 'Autocomplete'](https://stackfull.dev/trie-in-javascript-the-data-structure-behind-autocomplete) 
Anish Kumar   

[Sparse vs Dense Arrays in JavaScript](https://dmitripavlutin.com/javascript-sparse-dense-arrays/) 
Dmitri Pavlutin   

[How to Generate Beautiful PDFs with React and Puppeteer](https://blog.theodo.com/2021/10/pdf-generation-react-puppeteer/) 
Clément Marcilhacy  

🛠 Code & Tools 

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

[Cytoscape.js: A Graph Theory/Network Library for Visualization and Analysis](https://js.cytoscape.org/) — Handy if you need to model and/or visualize relational data, like biological data or social networks. There are so many demos to enjoy here. [GitHub repo](https://github.com/cytoscape/cytoscape.js). 

Max Franz   

[PDFKit: A PDF Generation Library for Node and Browser](http://pdfkit.org/) — There’s an [interesting live demo](http://pdfkit.org/demo/browser.html) that runs right in the browser. [GitHub repo](https://github.com/foliojs/pdfkit). 

Devon Govett   

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

Wallaby.js sponsor   

[Blobity: Level Up Your Cursor Game](https://blobity.dev/) — This script and API lets you do all sorts of creative things with the user’s cursor, which the page itself demonstrates. Note that it’s free for open-source projects only. 

Georgy Marchuk   

[Vizzu: A Library for _Animated_ Data Visualizations and Data Stories](https://github.com/vizzuhq/vizzu-lib) — Vizzu is a little different to most data visualization libraries in the sense that _animating_ the visualizations and transforming between different visualization types is the key focus. 

Vizzu   

[Fragstore: A Tiny (~800 Byte) and Simple Library to Manage React State](https://github.com/aralroca/fragstore) 
Aral Roca Gomez     

🏆 Golden Oldie of the Week  

Whenever someone mentions this on Twitter, it still gets lots of likes and rewteets so there's clearly plenty of people who either haven't seen it or want to remember it exists 😂 It might be useful when you're feeling a bit short of disk space.. 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/iysebczz5cchilatyfyx.jpg)](https://github.com/voidcosmos/npkill)   

[npkill: Easily Remove Old or 'Heavy' `node_modules` Folders](https://npkill.js.org/) — List any `node_modules` directories in your system, as well as the space they take up. You can then select which ones you want to erase to free up space. [GitHub repo](https://github.com/voidcosmos/npkill). 

Nya García and Juan Torres           

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
