---
title: "Garbage collector experiments"
publication: "JavaScript Weekly"
issue: 628
published_at: "2023-03-03"
canonical_url: "https://javascriptweekly.com/issues/628"
---

Plus TypeScript 5.0 RC, a new security auditing tool, and some JavaScript-flavored experiments. |        

#​628 — March 3, 2023 

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

Together with [![Bryntum\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_560,h_100/e_make_transparent/co_white,e_outline:7/hs9vs3jkbbbrfz0twgvk.png)](https://bryntum.com/products/grid/?utm_source=newsletter&utm_medium=email&utm_id=jsweekly-primary-20230303-grid)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vkuhxgnhc6r7hxoaa2hq.jpg)](https://sandworm.dev/)  

[Sandworm Audit: A New JS Auditing Tool](https://sandworm.dev/) — A command-line tool to scan a project and dependencies for vulnerabilities, license issues, and related problems. You get JSON reports, visualizations of dependency trees, and a CSV of all dependencies and license information. 

Sandworm   

[Experiments with the JavaScript Garbage Collector](https://dev.to/codux/experiments-with-the-javascript-garbage-collector-2ae3) — A look at the prevalence of elusive memory leaks and how understanding the garbage collector’s decision-making process can help avoid them. Sheds light on some scenarios related to GC behavior across five examples. 

Alexey Lebedev   [![\](https://copm.s3.amazonaws.com/8d51aaee.png)](https://bryntum.com/products/grid/?utm_source=newsletter&utm_medium=email&utm_id=jsweekly-primary-20230303-grid) 

[The Fastest JavaScript Data Grid Component](https://bryntum.com/products/grid/?utm_source=newsletter&utm_medium=email&utm_id=jsweekly-primary-20230303-grid) — A solid JS data grid is essential in all business apps. Bryntum’s powerful Grid component lets you sort, group and filter datasets with great performance. Includes a TreeGrid, API docs and demos. Seamless integration with React, Angular & Vue apps. 

Bryntum sponsor   

['You Don't Need a Build Step'](https://deno.com/blog/you-dont-need-a-build-step) — You need to remember the Deno folks have an alternative JS runtime to promote, but they always make great points. A build step has helped with getting things to run in the browser or to transpile and bundle code elsewhere. But with modern tooling, do we still _need_ a build step? Andy lays out the problem and explains how, unsurprisingly, Deno and Fresh work around it. 

Andy Jiang (Deno)   

[Announcing TypeScript 5.0 RC](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-rc/) — Barring any critical bug fixes, this is as good as done. The headline feature in 5.0 is likely to be [_decorators_](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-rc/#decorators) and Daniel does a rather extensive job of showing them off here. Other tweaks include being able to add `const` modifiers to type parameter declarations, supporting multiple config files in `extends`, and all `enum`s are now union `enum`s. 

Daniel Rosenwasser   

[The 2023 JavaScript Site Generator Review](https://www.zachleat.com/web/site-generator-review/) — Zach puts Astro, Eleventy, Enhance, Gatsby, Next.js, Nuxt, Remix and SvelteKit through their paces, focusing on quantitative factors like build time, the amount of JavaScript code needed at runtime, and the presence (or not) of telemetry. 

Zach Leatherman   

**IN BRIEF:** 

- [Node.js Toolbox](https://nodejstoolbox.com/) is a new site bringing together data-driven comparisons of Node packages in various categories.
- The _React Flow_ project shared [how it 'gets paid fairly' for open source.](https://reactflow.dev/blog/asking-for-money-for-open-source/)
- You can now [add pronouns to your GitHub profile](https://github.blog/changelog/2023-03-01-add-pronouns-to-your-github-profile/).
- **RETRO VIBES:** Using JavaScript to [recreate ANSI art from a screenshot.](https://bert.org/2023/02/27/recreating-ansi-art-from-a-screenshot/)
- James Q Quick floats some ideas for [JavaScript trends in 2023.](https://www.jamesqquick.com/blog/javascript-trends-2023/)   

**RELEASES:** 

- [Deno 1.31](https://deno.com/blog/v1.31) – Now with `package.json` support.
- [Preact 10.13](https://github.com/preactjs/preact) – Fast 3KB React alternative.
- [zx 7.2](https://github.com/google/zx) – JS shell scripting approach.
- [Papa Parse 5.4](https://github.com/mholt/PapaParse) – Fast in-browser CSV parser.  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/oaflyipp4gyd2v3md7vw.jpg)](https://glebbahmutov.com/blog/crawl-weather/)  

[Crawling Weather Forecasts with Cypress](https://glebbahmutov.com/blog/crawl-weather/) — Even if you don’t care for the weather, this is a neat code-led demonstration of using the [Cypress](https://github.com/cypress-io/cypress) browser oriented testing tool for performing a variety of productive activities. 

Gleb Bahmutov PhD   

🔥 [The JavaScript Era Happened Because 'We Were Fed a Line'](https://www.spicyweb.dev/the-great-gaslighting-of-the-js-age/) — If you want a spicy (literally) opinion piece, this is your fill for this week. Jared rails against the ebb and flow of things that are considered outdated/bad or not (e.g. HTML-first was in, then out, then in). Unsurprisingly, it provoked [an extensive discussion](https://news.ycombinator.com/item?id=34994614) on Hacker News. 

Jared White opinion   

[Need to Upgrade to Node 18? Don’t Have Time? Our Experts Can Help 🚀](https://www.upgradejs.com?utm_source=cooperpress&utm_medium=js-weekly&utm_campaign=js-wk-mar-3-2023&utm_term=node&utm_content=upgrade-node-18) — Stuck in dependency hell? We’ve been there. Hire our team of experts to upgrade dependencies, gradually paying off tech debt. 

UpgradeJS.com: JavaScript Upgrade Services sponsor   

[Using Sourcegraph to Discover Non-NPM JS Projects](https://www.stackaid.us/blog/using-sourcegraph-to-discovery-non-npm-js-projects) — _“If you want to discover package.json files for JavaScript projects that are not NPM libraries, how would you do it?”_ An interesting walkthrough one approach using the Sourcegraph platform. 

StackAid   

[Building an Animated SVG Logo with Anime.js](https://www.pixelhop.io/writing/building-an-animated-svg-logo-with-animejs/) — [Anime.js](https://animejs.com/) is a JS animation library that works with CSS properties, SVG, DOM attributes and JS objects. 

Jozef Maxted   

[Bootstrap Your React Journey with Tic-Tac-Toe](https://beta.reactjs.org/learn/tutorial-tic-tac-toe) — It’s easy to forget that not a day goes by that somebody is taking their first steps on their journey to learn React. Here’s a recently updated way to start, direct from the source. 

React Docs   

▶[A Deep Dive into the Node.js Event Loop](https://www.youtube.com/watch?v=KKM_4-uQpow) 
Tyler Hawkins   

[What is `ref()` in Vue?](https://dmitripavlutin.com/ref-in-vue/) 
Dmitri Pavlutin  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/jdrfmgtiwrae56t9kc9x.jpg)](https://github.com/wstaeblein/texthighlighter)   

[Text Highlighter: Highlight Search Results in Textareas](https://github.com/wstaeblein/texthighlighter) — Responsively highlight search results within a textarea element without interfering with its operation. There’s [a live demo.](https://wstaeblein.github.io/texthighlighter/) 

Walter Staeblein   

[Civet: It's Like CoffeeScript.. for TypeScript!](https://civet.dev/) — I’ve gotta admit, I like this. [This example alone](https://civet.dev/#pattern-matching) shows off the power. In a world where build toolchains are the norm, maybe this could take off, but my CoffeeScript experiences of yesteryear restrain me from going ‘all in’ on something like this for now. 

Daniel X Moore and contributors   

[✈️ Get Your Tests Flying with Wallaby.js](https://wallabyjs.com/?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — Turbocharge your productivity with the 15x faster test runner. Spend more time coding, less time waiting. 

Wallaby.js sponsor   

[Remult: A CRUD Framework for Full-Stack TypeScript](https://remult.dev/) — Promises a ‘zero-boilerplate’ CRUD API experience by using your TypeScript entities as a single source of truth for your API, frontend type-safe API client _and_ backend ORM. There are [tutorials](https://github.com/remult/remult#getting-started) for using it alongside React, Angular, Vue and Next.js. 

Remult Team   

[React Flow: Create Node-Based UIs](https://reactflow.dev/) — The example on the homepage shows off this powerful React component well. 

Webkid GmbH   

[ts-reset: A 'CSS Reset' for TypeScript](https://github.com/total-typescript/ts-reset) — CSS isn’t involved but much _like_ a [reset stylesheet](https://meyerweb.com/eric/tools/css/reset/) flattens out browser quirks and differences, ts-reset aims to ‘smooth off’ some hard edges of TypeScript. 

Total TypeScript   

[Full Stack Monitoring Made Affordable](https://ter.li/a5xrg3) 

TelemetryHub sponsor   

[Lenis: A Smooth Scroll Library](https://github.com/studio-freight/lenis) — Boasts a number of extra features compared to similar libraries that allow you to do scroll animations, parallax, etc. You can [try it out here](https://lenis.studiofreight.com/). 

Studio Freight Darkroom   

[iDraw.js: A Web Vector Graphics Drawing Framework](https://idraw.js.org/) — One motivation for this high level abstraction appears to be to power Web-based graphics editing tools [like this.](https://idraw.js.org/studio/) – [GitHub repo.](https://github.com/idrawjs/idraw/) 

idrawjs Team   

- [eta (η) 2.0.1](https://github.com/eta-dev/eta)
 ↳ Embedded template engine for Node, Deno & browser.
- [pnpm 7.28](https://github.com/pnpm/pnpm)
 ↳ Alternative, efficient package manager.    

💻 Jobs  

[Full Stack JavaScript Engineer @ Emerging Cybersecurity Startup](https://defendify.breezy.hr/p/b07e57b21e02-saas-software-engineer) — Small team/big results. Fun + flexible + always interesting. Come build our award-winning, all-in-one cybersecurity platform. 
Defendify   

[Software Engineer (Frontend)](https://jobs.ashbyhq.com/stickermule/6de4ccd8-7e58-4b65-9a25-62354972bdbd?utm_source=Cooperpress) — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers. 
Sticker Mule   

[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=easy-job-hunting) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired   

🧑‍💻 Got a job listing to share? _[Here's how](https://booking.cooperpress.com/jobs)_.    

🧪 Experimental Projects..  

[Ezno: A (Now Open Source) Experimental JS Compiler](https://github.com/kaleidawave/ezno) — We first mentioned Ezno ([explained here](https://kaleidawave.github.io/posts/introducing-ezno/)) last year but this week it has been open-sourced. It’s a parser, partial-executor, optimizer and type checker for JavaScript written in Rust and it continues to [get better in 2023.](https://kaleidawave.github.io/posts/ezno-23/) 

Ben X   

[Dak: A Lisp-Like Language That Transpiles to JS](https://www.daklang.com/) — _“I had an itch to make a lisp like language that was a thin layer on top JavaScript. … It’s brittle, hot off the oven.”_ We appreciate such honesty. There’s [a playground](https://www.daklang.com/tour/functions/) and [a language tour](https://www.daklang.com/tour/) if you want to check it out. 

Naitik Shah         

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

'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
