---
title: "Discussing Svelte with Rich Harris"
publication: "JavaScript Weekly"
issue: 559
published_at: "2021-10-08"
canonical_url: "https://javascriptweekly.com/issues/559"
---

Plus saying bye to jQuery Mobile, amazing js13kGames entries, and approaches to writing clean JavaScript tests. |        

#​559 — October 8, 2021 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/gp1uwg4ikdrxtvde6jr5.jpg)](https://kentcdodds.com/blog/how-i-built-a-modern-website-in-2021)  

[How Kent C Dodds Built a Modern Website in 2021](https://kentcdodds.com/blog/how-i-built-a-modern-website-in-2021) — Kent is well known in the JavaScript space from [Testing JavaScript](https://testingjavascript.com/), [Epic React](https://epicreact.dev/) and his popular [webdev podcast](https://kentcdodds.com/chats/04), and he’s just completed a big effort to rebuild his entire Web presence using React, Remix, XState, Prisma, Express.js, and numerous other JavaScript tools and technologies. This is a good look at how it’s come together. 

Kent C Dodds   

🎧 The [new season of Kent's podcast](https://kentcdodds.com/chats/04) is worth checking out as it features informative interviews with folks like Josh Comeau, Tracy Lee, and Michael Jackson.  

[Web Streams Everywhere (and Fetch for Node.js)](https://css-tricks.com/web-streams-everywhere-and-fetch-for-node-js/) — A look at how most JavaScript platforms (including browsers) now have at least partial support for creating, composing, and consuming streams of data in a stream-like fashion, as well as how Node’s streams implementation differs and can interop with the modern Web Streams API approach. 

Ollie Williams   [![\](https://copm.s3.amazonaws.com/4adf61ea.png)](https://buttercms.com/nodejs-cms/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=numberone) 

[ButterCMS Melts into Your JavaScript App. Try the #1 Headless CMS](https://buttercms.com/nodejs-cms/?utm_source=javascriptweekly&utm_medium=email&utm_campaign=numberone) — ButterCMS is your content backend. Enable your marketing team to update website + app content without bothering you. Try the #1 rated Headless CMS for JavaScript today. Free for 30 days. 

ButterCMS sponsor   

[When a `WeakMap()` Actually Came in Handy](https://macarthur.me/posts/when-a-weakmap-came-in-handy) — The creator of [slide-element](https://github.com/alexmacarthur/slide-element), an element animation library, explains a situation where he found the often misunderstood [WeakMap](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap) type came in handy. 

Alex MacArthur   

[Announcing TypeScript 4.5 Beta](https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta/) — The next TypeScript release is shaping up to be a good one with ES module support in Node (plus CommonJS interop), the `Awaited` type, `--module es2022`, and tail-recursion elimination on conditional types all highlight fetaures. 

Daniel Rosenwasser   

[jQuery Maintainers Continue Modernization Initiative; Deprecate jQuery Mobile](https://blog.jquery.com/2021/10/07/jquery-maintainers-continue-modernization-initiative-with-deprecation-of-jquery-mobile/) — Given its age and remaining importance on the Web, it’s always great to see updates from the jQuery team. [jQuery UI 1.13.0](https://blog.jqueryui.com/2021/10/jquery-ui-1-13-0-released/) has been released, but the big news is jQuery Mobile is deprecated as of yesterday, and jQuery UI is now [in maintenance only mode](https://blog.jquery.com/2021/10/07/jquery-maintainers-update-and-transition-jquery-ui-as-part-of-overall-modernization-efforts/). 

jQuery Foundation   

**QUICK BITS:** 

- New month, [new VS Code release.](https://code.visualstudio.com/updates/v1_61) Less JS goodies than usual, but you now get IntelliSense across untitled files in a project, improved folding of JSX tags, and initial TypeScript 4.5 support.
- It wasn't just your connection, the npm repository [had an outage yesterday](https://status.npmjs.org/incidents/7pqfqvkwvb58).
- GitHub's Lee Reilly highlights [13 terrific entries to the js13kGames competition](https://github.blog/2021-10-05-13-tiny-and-terrific-entries-from-the-js13kgames-competition/) over on the GitHub blog. All with source to look at too. It's amazing what people have managed to achieve here.
- This year's [State of CSS survey](https://stateofcss.com/) is now open.   

**RELEASES:** 

[jQuery UI 1.13.0](https://blog.jqueryui.com/2021/10/jquery-ui-1-13-0-released/) – Long time, no see.
 [Billboard.js 3.2](https://netil.medium.com/billboard-js-3-2-release-sparkline-tableview-plugins-more-32217ddc869a) – Powerful D3 powered chart library.
 [Trash 8.0](https://github.com/sindresorhus/trash/releases/tag/v8.0.0) – X-platform move files to the trash from Node.
 [React Native 0.66](https://reactnative.dev/blog/2021/10/01/version-066)
 [npm 8.0](https://github.com/npm/cli/releases/tag/v8.0.0)    

💻 Jobs  

[Senior Front End Engineer](https://apply.workable.com/edited-1/j/4C8FD84920/) — We are looking for 2 x Senior Front End Engineers with 4+ years' experience and with a minimum of 2 years' experience with React. 
Edited   

[Software Engineer (Australia)](https://www.seek.com.au/job/54123449) — Join Certsy and help create Australia’s leading digital passport for verified credentials (visa/relocation support provided). 
Certsy   

[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,e_tint/oaovw4sulddflvoxoida.jpg)](https://web.dev/sanitizer/)  

[Safe DOM Manipulation (in the Future) with the Sanitizer API](https://web.dev/sanitizer/) — The new [Sanitizer API](https://wicg.github.io/sanitizer-api/) (edited by developers from both Google and Mozilla) aims to build a robust processor for arbitrary strings to be safely inserted into a page. Something to look forward to. 

Jack J (Google)   

[Replacing jQuery with Vanilla ES6](https://aarontgrogg.com/blog/2021/09/29/replacing-jquery-with-vanilla-es6/) — The author found it took more work than he expected. [You Might Not Need jQuery](https://youmightnotneedjquery.com/) is another useful resource in this regard. 

Aaron T. Grogg   

[Reserve Your Spot at JetBrains JavaScript Day 2021](http://pages.jetbrains.com/javascript-day-2021/cooperpress) — Join our free event to catch up on the latest trends and broaden your knowledge on the present and future of JavaScript. 

JetBrains sponsor   

▶[Discussing Svelte with Rich Harris](https://podrocket.logrocket.com/rich-harris) — Another week, another Rich Harris interview :-) This time the Svelte creator talks about Svelte’s position in the overall framework landscape and how other frameworks appear to be becoming more ‘Svelte-like’. A good catch up. 

PodRocket Podcast podcast   

[Writing Clean JavaScript Tests with the BASIC Principles](https://yonigoldberg.medium.com/fighting-javascript-tests-complexity-with-the-basic-principles-87b7622eac9a) — An introduction to applying five key principles to shorten, clean, and simplify JavaScript and Node.js-based test suites. 

Yoni Goldberg   

[Getting Started with the Rollup.js JS Bundler](https://blog.openreplay.com/the-ultimate-guide-to-getting-started-with-the-rollup-js-javascript-bundler) — Built around a series of easy to understand examples. 

Craig Buckler   

[Free Workshop - Getting Started with IoT and InfluxDB](https://www.influxdata.com/resources/workshop-build-an-iot-app-with-influxdb/?utm_source=vendor&utm_medium=referral&utm_campaign=2021-10-08_spnsr-nl_iot-center&utm_content=javascriptweekly) — Discover how to use InfluxDB to develop a JavaScript-enabled, time-series-based application for IoT sensors. 

InfluxData sponsor   

▶[How to Code a Side Scroller Game in 59 Seconds](https://www.youtube.com/watch?v=RNZsPMI_cIw) — What you can get into 59-seconds is rather limited, but it’s a good attempt. 

Zizyo   

[A Guide to CSS Debugging](https://www.smashingmagazine.com/2021/10/guide-debugging-css/) — A look at a few categories that bugs often fit into, how to evaluate the situation, and techniques that help prevent such bugs. 

Stephanie Eckles   

[The Options for 'Password Revealing' Inputs](https://css-tricks.com/the-options-for-password-revealing-inputs/) 
Chris Coyier   

[How to Quickly Populate a New JavaScript Array](https://elijahmanor.com/byte/js-fill-array) 
Elijah Manor  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ctn2s1sx4a9ftficfpvx.jpg)](https://abhchand.me/vanilla-tree-viewer/)   

[VanillaTreeViewer: Minimalist File Browser for Display Multiple Files](https://abhchand.me/vanilla-tree-viewer/) — Such as complex multi-file code snippets, say. 

Abhishek Chandrasekhar   

[Xterm.js: A Terminal/Shell Component for the Front End](https://xtermjs.org/) — It’s used in [lots of projects](https://github.com/xtermjs/xterm.js#real-world-uses) like VS Code, cPanel and Azure Cloud Shell. 

xterm.js team   

[Immutable JS 4.0: Immutable Persistent Data Collections](https://github.com/immutable-js/immutable-js/releases/tag/v4.0.0) — The purpose of Immutable is to make it easier to get started working with immutable data structures in JavaScript by providing common structures like lists, stacks, maps, and sets out of the box. 

Immutable.js   

[Build Internal Tools in Minutes with Retool, Where Visual Programming Meets the Power of Real Code](https://retool.com/?utm_source=sponsor&utm_medium=newsletter&utm_campaign=cooperpress) 

Retool sponsor   

[kill-port: Kill the Process Running on a Given Port](https://github.com/tiaanduplessis/kill-port) — For example, you could use `npx kill-port 3000` to kill a local process listening on port 3000. For Unix and macOS it’s [basically running](https://github.com/tiaanduplessis/kill-port/blob/master/index.js#L35) `lsof` and `kill` behind the scenes, but it also supports Windows. 

Tiaan   

[mijin: A Library of Tailwind UI Components for Vue and Nuxt.js](https://github.com/lecoueyl/mijin) — View the components and the docs [here](https://lecoueyl.github.io/mijin.web/docs/general/getting-started). No dependencies and includes built-in support for dark and light modes. 

Léonard Lecouey   

[BesoGo: A JavaScript-Powered 'Go' Board Editor](https://yewang.github.io/besogo/) — Go as in the board game. 
Ye Wang   

[TiddlyWiki: Self-Contained JavaScript Wiki for Browser or Node](https://github.com/Jermolene/TiddlyWiki5) 
Jeremy Ruston   

[github-code-font-changer: A Chrome Extension to Change and Customize the Default GitHub Code Viewer Font](https://github.com/AmraniCh/github-code-font-changer) 
El Amrani Chakir   

[Arcsecond: A Zero Dependency Parser Combinator Library Inspired by Haskell's Parsec](https://github.com/francisrstokes/arcsecond) 
Francis Stokes   

[fast-png: PNG Image Decoder and Encoder Written Entirely in JavaScript](https://github.com/image-js/fast-png) 
Michaël Zasso         

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
