---
title: "Remixing a new way to build full-stack JavaScript apps"
publication: "JavaScript Weekly"
issue: 566
published_at: "2021-11-26"
canonical_url: "https://javascriptweekly.com/issues/566"
---

Plus automating macOS with JS, and a neat musical experiment. |        

#​566 — November 26, 2021 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/zgsafelkse4ogc1bbhrn.jpg)](https://remix.run/)  

[Remix: A Newly Open Sourced React-Based Framework for Web Apps](https://remix.run/) — Remix has been around for [over a year](https://dev.to/dabit3/a-first-look-at-remix-run-449a) as ‘sponsorware’ but after picking up a _lot_ of ardent supporters (and [$3m of seed funding](https://remix.run/blog/seed-funding-for-remix)) the project has now been opened up. Bringing modern Web tech, tooling, and server-side rendering concepts together, there are a few things to check out if you're keen to learn more: 

- The project's official [▶️ 50 second Apple-esque commercial/pitch](https://www.youtube.com/watch?v=9FDV-VCq5XE).
- [▶️ Kent C Dodd's multi-hour tutorial walkthrough](https://www.youtube.com/watch?v=hsIWJpuxNj0). Almost a 'course' in scope.
- [An introduction to building a Remix app](https://flaviocopes.com/remix/) with Flavio Copes.
- A [▶️ seven minute review](https://www.youtube.com/watch?v=A9frCHnOeHo) with Ahmad Awais.
- Want to play? You can get building a Remix app right away [thanks to StackBlitz's WebContainers](https://blog.stackblitz.com/posts/remix-runs-on-webcontainers/) at [remix.new](https://remix.new/). 

Remix Team   [![\](https://copm.s3.amazonaws.com/b2dbdcc6.jpg)](https://frontendmasters.com/courses/next-js/?utm_source=newsletter&utm_medium=email&utm_campaign=javascriptweekly-nextjs) 

[New Course: Introduction to Next.js, The Full-Stack React Framework](https://frontendmasters.com/courses/next-js/?utm_source=newsletter&utm_medium=email&utm_campaign=javascriptweekly-nextjs) — Next.js is a complete framework built on top of React.js. You'll learn server-side rendering, static site generation, data fetching, code API endpoints, creating pages with the file system, add CSS modules, and more. 

Frontend Masters sponsor   

[Vercel, Creator of Next.js, Raises $150M](https://vercel.com/blog/vercel-funding-series-d-and-valuation) — There’s a lot of money in developer tooling lately, it seems, including for the stewards of the [Next.js](https://nextjs.org/) project which gains a fresh competitor, of sorts, this week in the shape of Remix (above). 

Vercel   

[Prettier 2.5 Released: Now with TypeScript 4.5 and MDX v2 Support](https://prettier.io/blog/2021/11/25/2.5.0.html) — If you’re a TypeScript user, this bump to the popular code formatting tool will be of particular interest to you. 

Sosuke Suzuki   

**IN BRIEF:** 

- Why does `npm` run an obfuscated file that looks like malware, but isn't? It's [a birthday related easter egg.](https://github.com/npm/cli/issues/4091)
- Not JS specific but AWS has just made [a big change to its 'free tier'](https://aws.amazon.com/blogs/aws/aws-free-tier-data-transfer-expansion-100-gb-from-regions-and-1-tb-from-amazon-cloudfront-per-month/) that might save many of us low-end users several bucks each month. 

**RELEASES:** 

[Chalk 5.0](https://github.com/chalk/chalk/releases/tag/v5.0.0) – Terminal string styling for Node.js.
 [ShareDB 2.2](https://github.com/share/sharedb) – Realtime database based on operational transformation.
 [Signature Pad 4.0](https://github.com/szimek/signature_pad) – Canvas control for drawing signatures.
 [node-qrcode 1.5](https://github.com/soldair/node-qrcode) – Generate QR codes in Node apps.
 [ESLint 8.3.0](https://github.com/eslint/eslint) – Flexible code auditing tool.
 [Espree 9.1](https://github.com/eslint/espree) – Esprima-compatible JS parser.
 [React Redux v8 Beta](https://github.com/reduxjs/react-redux/releases/tag/v8.0.0-beta.0)    

💻 Jobs  

[Senior JavaScript Developer (Fullstack)](https://grnh.se/069c19014us) — We’re looking for a senior full-stack developer to help us build a high performance, high accuracy online fraud prevention service. 
FingerprintJS   

[Senior Mobile Developer (React Native/Node) – Remote](http://app.jobvite.com/m?3UJD6mwd) — Join Sippd․com, the Forbes Next1000 startup changing how users find and buy alcohol with AI & computer vision. We’re looking for a generalist that loves growth hacking and taking big bets. 
Sippd   

[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/rngeoqurbhxkyvikbupc.jpg)](https://scriptingosx.com/2021/11/the-unexpected-return-of-javascript-for-automation/)  

[The Unexpected Return of JS for Automation on macOS](https://scriptingosx.com/2021/11/the-unexpected-return-of-javascript-for-automation/) — A long time Mac expert reflects on what JavaScript offers folks who want to automate macOS versus AppleScript or Python before digging some of what you can do. 

Armin Briegel   

[Introducing Svelte, and Comparing Svelte with React and Vue](https://joshcollinsworth.com/blog/introducing-svelte-comparing-with-react-vue) — If Svelte isn’t new to you, keep scrolling. But if you’re unsure what it’s about, this is a reasonable explanation of why you might use it and the basic experience. 

Josh Collinsworth   

[How JavaScript Engines Achieve Great Performance](https://blogg.bekk.no/how-javascript-engines-achieve-great-performance-fb0b36601557) — If you’ve ever wondered what it is browsers actually do to get JavaScript to execute quickly, this post digs into it a little. 

Robin Heggelund Hansen   

[Notification Systems 2.0: Part 2 - Scale & Reliability](https://www.courier.com/blog/scalability-and-reliability?utm_campaign=q4-notifications-bp-series&utm_source=email&utm_medium=javascript-weekly&utm_content=developers-guide-scale-reliability) 

Courier sponsor   

[Using WebAssembly (Created in Rust) for Fast React Components](https://www.joshfinnie.com/blog/using-webassembly-created-in-rust-for-fast-react-components/) — Just how easy is it to integrate Rust into a standard React workflow? Josh takes a look. This may seem a real meeting of buzzwords, but ideas like this have a way of turning into the future.. 

Josh Finnie   

[Useful React Hooks That You Can Use In Your Projects](https://www.smashingmagazine.com/2021/11/useful-react-hooks/) 
Ifeanyi Dike (Smashing Magazine)   

[Volta vs. `nvm` for JavaScript Tooling](https://sirre.al/2021/02/12/volta-vs-nvm-for-managing-javascript-tooling/) 
Jon Surrell   

[Why IndexedDB Is Slow and What to Use Instead](https://rxdb.info/slow-indexeddb.html) 
RxDB Documentation  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/pq8cr5mvpqb5nu9rho3l.jpg)](https://github.com/Netflix/pollyjs)  

[Polly 5.2: Record, Replay, and Stub HTTP Interactions](https://github.com/Netflix/pollyjs) — Works in both Node and the browser and gives you a lot of control over recording, replaying and intercepting HTTP requests made from your test suites. 

Netflix, Inc.   

[Fiddle: The Easiest Way to Get Started with Electron](https://github.com/electron/fiddle) — If you’ve wanted to play with Electron for building a JavaScript-powered desktop app but didn’t have the time, Fiddle makes it into more of a quick-start ‘playground’ experience. 

Electron   

[Breakpoints and `console.log` Is the Past, Time Travel Is the Future](https://quokkajs.com/?utm_source=cooperpress&utm_campaign=javascriptweekly&utm_content=javascriptweekly) — Test your code without leaving your editor, results display right next to your code and update immediately as you type. 

Quokka.js sponsor   

[reading-time: Reading Time Estimation for the Web](https://github.com/ngryman/reading-time) — Feed it some text and it’ll give you some basic estimates (e.g. ‘7 min read’). 

Nicolas Gryman   

[file-type: Detect the File Type of a Buffer, Uint8Array, or ArrayBuffer](https://github.com/sindresorhus/file-type) — For example, give it the raw data from a PNG file, and it’ll tell you it’s a PNG file. 

Sindre Sorhus   

[PickBetterPack: Discover Similar Packages from `package.json` Dependencies](https://pickbetterpack.com/) — Paste a `package.json` and this tool will show you a tree-like view with similar options for each dependency listed. A mixed bag, but an interesting idea. 

PickBetterPack   

[Tried. Tested. Trusted. Studio 3T - Power Tools for MongoDB](https://studio3t.com/download?utm_source=newsletter&utm_medium=jsweekly&utm_campaign=nov26) — Intuitive IntelliShell. Generate JavaScript from queries. Reshape data with Reschema. Try Studio 3T free for 30 days. 

Studio 3T sponsor   

[use-prosemirror: Use the ProseMirror Editor in React Easily](https://github.com/dminkovsky/use-prosemirror) — [ProseMirror](https://prosemirror.net/) is a popular toolkit for building rich text editors. 

Dmitry Minkovsky   

[Color 4: A Color Conversion and Manipulation Library](https://github.com/Qix-/color) — Immutable color conversion and manipulation with support for CSS color strings. 

Qix   

[React Image Crop: A Responsive Image Cropping Tool](https://github.com/DominicTobias/react-image-crop) 
Dominic Tobias  

🎵 Last but not least... 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/swxursydlnvoxdcyyrh5.jpg)](https://teetow.github.io/elementary_grid/?tracks=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0&kick=0&tone=stab)   

[Elementary Grid: A JS + _Elementary_ Powered Music Creator](https://teetow.github.io/elementary_grid/?tracks=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0&kick=0&tone=stab) — Attempt to be the next _deadmau5_ with this JavaScript powered grid music creator.. or at least have a fun 30 seconds. [Elementary](https://www.elementary.audio/) is a toolkit we covered earlier this year that presents a new way to build audio software in JavaScript. 

Johan Althoff         

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
