---
title: "Writing shell scripts with JavaScript"
publication: "JavaScript Weekly"
issue: 537
published_at: "2021-05-07"
canonical_url: "https://javascriptweekly.com/issues/537"
---

Plus AWS CloudFront Functions, V8 9.1, and do all roads lead to Rome? |        

#​537 — May 7, 2021 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/b0lq46xq5pddpcpyfirk.jpg)](https://github.blog/2021-05-04-how-we-use-web-components-at-github/)  

[How GitHub Uses and Works with Web Components](https://github.blog/2021-05-04-how-we-use-web-components-at-github/) — GitHub has long been a proponent of Web Components with over [17 open-source components](https://github.com/github/github-elements) available for all to use. Here’s their story of why they use them and how they build them. 

Kristján Oddsson   

[zx: A Tool for Writing Better Shell Scripts](https://github.com/google/zx) — Tired of turning to bash, Python or Ruby to throw together a quick script? Stick with the JavaScript you know and love – this makes it easier with some handy functions for calling other programs, processing their output and results, changing directory, etc. 

Google   [![\](https://copm.s3.amazonaws.com/4e5f6e4f.jpg)](https://developer.couchbase.com/?utm_source=Cooperpress_Javascript_Weekly&utm_medium=newsletter&utm_campaign=q2_dev_awareness) 

[Document Database. SQL Queries. In-Memory Speed](https://developer.couchbase.com/?utm_source=Cooperpress_Javascript_Weekly&utm_medium=newsletter&utm_campaign=q2_dev_awareness) — The No. 1 reason developers choose Couchbase? You can use your existing SQL skills to easily query and access JSON. That’s more power and flexibility with less training. [Learn more](https://developer.couchbase.com/?utm_source=Cooperpress_Javascript_Weekly&utm_medium=newsletter&utm_campaign=q2_dev_awareness). 

Couchbase sponsor   

[AWS Introduces 'CloudFront Functions'](https://aws.amazon.com/blogs/aws/introducing-cloudfront-functions-run-your-code-at-the-edge-with-low-latency-at-any-scale/) — Think (very) short running JavaScript functions right within Amazon CloudFront designed to rewrite, redirect, or otherwise work with incoming requests. 

Amazon Web Services   

[Bootstrap 5 Released](https://blog.getbootstrap.com/2021/05/05/bootstrap-5/) — A big release for the popular CSS framework with [numerous JavaScript changes](https://blog.getbootstrap.com/2021/05/05/bootstrap-5/#javascript) under the hood too, such as no more jQuery(!) and an upgrade to Popper 2. 

Mark Otto     

Quick Bits 

- [SpiderMonkey](https://spidermonkey.dev/) is Mozilla's long standing JavaScript engine as used in Firefox and other projects. It now has an [all new homepage](https://spidermonkey.dev/) and.. drum roll.. a logo for the first time ever.
- Ben Beattie-Hood has released [Modern TypeScript](https://leanpub.com/moderntypescript), an e-book aiming to raise money for the Australian Red Cross. This [18-minute video](https://www.youtube.com/watch?v=v86ggw3LoW0) covers what's in the book.
- [V8 9.1](https://v8.dev/blog/v8-release-91) is on the way. It's one of the less feature packed releases but adds top level `await` by default (already the case in some users of V8, such as Blink), private brands check syntax by default, and some perf improvements.
- Up and coming toolchain [Rome](https://rome.tools/) has [formed a company, raised some money, hired folks](https://rome.tools/blog/announcing-rome-tools-inc/).
- A look at [what's new in RxJS 7](https://medium.com/volosoft/whats-new-in-rxjs-7-a11cc564c6c0), the reactive extensions for JavaScript. 

Releases 

[node-dev 7.0](https://github.com/fgnass/node-dev) — Zero-conf Node.js reloading.
 [Mocha 8.4](https://github.com/mochajs/mocha) — JavaScript test framework.
 [vue-test-utils 1.2.0](https://github.com/vuejs/vue-test-utils/releases/tag/v1.2.0) — Utilities for testing Vue components.
 [Gatsby 3.4](https://www.gatsbyjs.com/docs/reference/release-notes/v3.4/) — React based app framework.
 [Node.js 16.1.0](https://nodejs.org/en/blog/release/v16.1.0/)    

💻 Jobs  

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

[Senior Frontend Engineer (Berlin / Remote)](https://feather-insurance.com/careers/senior-frontend-engineer) — Want to join a small startup with a big growing potential (we double every year)? Feather is looking for a frontend engineer. 
Feather   

[Find Software Engineering 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) — Take 5 minutes to build your free profile & start getting interviews for your next job. Companies on Hired are actively hiring right now. 
Hired    

📖 Articles, Opinions & Tutorials  

[Dependency Managers Don’t Manage Your Dependencies](https://cpojer.net/posts/dependency-managers-dont-manage-your-dependencies) — Christoph Nakazawa has kicked off a new series on JavaScript infrastructure by putting the role of tools like npm, Yarn, or pnpm into context and explaining how you can begin to ‘take ownership’ of your dependencies. 

Christoph Nakazawa   

[Hosting SQLite Databases on GitHub Pages (or Any Static File Host)](https://phiresky.github.io/blog/2021/hosting-sqlite-databases-on-github-pages/) — A clever bit of hacking around here. [sql.js](https://github.com/sql-js/sql.js/) provides an SQLite client in the browser but the author wrote a virtual file system addition to fetch chunks of remotely hosted SQLite databases over HTTP. Some interesting potential here, I think. 

Phiresky   

▶[A Comparison of Five React Frameworks](https://youtu.be/dfMhRYOtglg) — In just 26-minutes, this video provides most of the information required to pick the right React framework from five top players in the space: CRA, Gatsby, Next.js, Blitz, and Redwood. 

Leigh Halliday   

[Search Your Code. ALL of it, everywhere](https://about.sourcegraph.com/?utm_source=jsweekly&utm_medium=text&utm_campaign=try-sourcegraph&utm_content=try-text) — Sourcegraph is the one tool to find & fix things across all your code. Any code host, any repo, any language. [Try it now](https://about.sourcegraph.com/?utm_source=jsweekly&utm_medium=text&utm_campaign=try-sourcegraph&utm_content=try-text). 

Sourcegraph sponsor   

[TypeScript Function Syntaxes](https://kentcdodds.com/blog/typescript-function-syntaxes) — The syntax for various functions and function types in TypeScript with simple examples. 

Kent C Dodds   

[Update URL Query Parameters As You Type in an Input Field](https://www.amitmerchant.com/update-url-query-parameters-as-you-type-in-the-input-using-javascript/) — For when you want to change the current URL’s query parameters as you type in an input field (such as on a live search page). 

Amit Merchant   

[Create a Satellite Tracker in 30 Lines of JavaScript](https://dev.to/omar4ur/create-a-satellite-tracker-from-scratch-in-30-lines-of-javascript-32gk) — Unsurprisingly this is heavy on the dependencies, but neat. 

Omar Shehata   

▶[A Talk About the TC39 Decimal Proposal](https://www.youtube.com/watch?v=XuWhe6jgq5E) — From Web Engines Hackfest 2021. 
Caio Lima   

[Cloning JavaScript Objects with Graph Theory](https://andreasimonecosta.dev/posts/cloning-javascript-objects-with-graph-theory/) 
Andrea Simone Costa   

[Top Ten `git` Tips and Tricks](https://www.honeybadger.io/blog/git-tricks/) 
Julie Kent   

[How We Sped Up Chrome DevTools Stack Traces by 10x](https://developer.chrome.com/blog/faster-stack-traces/) 
Chrome Developers     

🛠 Code & Tools     

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

[Mantine: A New React Component Library](https://mantine.dev/) — An MIT licensed, TypeScript-based collection of around 60 components and hooks with native dark theme support and a focus on usability and accessibility. Plenty of documentation and examples - we like it. Oh, and they work with Preact too. 

Mantine Team   

[Pts: A Library for Visualization and Creative Coding](https://ptsjs.org/) — An impressive, lightweight and modular library, written in TypeScript and compiled to ES6. Plenty of [demos to play around with](https://ptsjs.org/demo/). [p5.js](https://p5js.org/) is a similar long standing tool in this space. 

William Ngan   

[Limited-Time Sale: 25% off Wallaby.js and 50% off Quokka.js](http://wallabyjs.com/store/personal/?utm_source=cooperpress&utm_campaign=javascriptweekly&utm_content=javascriptweekly) — Breakpoints and console.log is the past, real-time feedback without leaving your editor is the future. 

Wallaby.js sponsor   

[Spotlight: A Lightbox Gallery Library](https://github.com/nextapps-de/spotlight) — We first linked to this two years ago when it was new, now it’s more mature and boasts as being the ‘most easy to integrate’ lightbox gallery with no dependencies either. [Demos here](https://nextapps-de.github.io/spotlight/). 

Nextapps GmbH   

[Useful Tools for Parsing and Annotating PDFs in Node](https://spin.atomicobject.com/2021/05/04/tools-modifying-pdfs/) — Nothing beats an article by someone who’s just had to do the thing being covered. 

Jing Fan   

[Fx: A Command-Line JSON Processing Tool](https://github.com/antonmedv/fx) — If you’ve got some files full of JSON that you want to process, Fx will slice and dice it however you want, including using JavaScript one-liners to add a bit of logic to the process. 

Anton Medvedev   

[Build, Deploy, and Update Applications Fast—All on the Cloud](https://events.outsystems.com/YPrME?RefId=email-paid-cooper-press&utm_source=cooper-press&utm_medium=email-paid&utm_campaign=gl-wb-2021-05-11-cloud-innovation-summit-with-aws&utm_term=camp-gl&utm_content=webinar) 

OutSystems sponsor   

[Hammer: An `esbuild`-Powered Build Tool for HTML Applications](https://github.com/sinclairzx81/hammer) — The idea is to a TypeScript-centric _“ultra lightweight alternative to Parcel.”_ 

Haydn Paterson   

[node-wasm-run: Run Arbitrary WASM/WASI Files on V8](https://github.com/wasm3/node-wasm-run) 
Wasm3 Labs   

[Observable Plot: A Library for Exploratory Data Visualization](https://observablehq.com/@observablehq/plot) — [GitHub repo](https://github.com/observablehq/plot). 
Observable   

😂 A fun one.. or is it?  

Think about what `Math.min()` and `Math.max()` might each return, then test it out.. or [cheat and look at this tweet](https://twitter.com/chris__sev/status/1390330814508929025) 😏        

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
