Plus npm 7, V8 8.9, and is the Oracle Database a new venue for JavaScript development? |

#524 — February 5, 2021

Unsubscribe  |  Read on the Web

JavaScript Weekly

Making GitHub’s New Homepage Fast and Performant — If you’re not logged in, GitHub’s new homepage is essentially a laundry list of GitHub’s features (with screenshots, videos, etc.) coupled with a live updating 3D globe of GitHub activity. This is a lot for a browser to handle at once, so they’ve had to do a lot of work to keep it fast.

Tobias Ahlin (GitHub)

💡  Don't Use Functions As Callbacks Unless They're Designed for It — A clever and nuanced point here. Callbacks can introduce added hidden complexity that can cause seemingly innocent code to break so it pays to be careful.

Jake Archibald

Fast, Reliable Feature Management for the Modern Enterprise — LaunchDarkly is a feature management platform that empowers teams to safely deliver & control software through feature flags. By separating code deployments from feature releases, we enable you to deploy faster, reduce risk, and iterate continuously.

LaunchDarkly sponsor

npm 7 Now Generally Available — It’s been in beta for some time but npm 7 is now ready for the big time. The new features and changes (which are mostly minor) were covered in last year’s presenting npm 7.0.0 post but include workspaces, automatically installing peer dependencies and an improved package lock file format.

Brian Douglas

The V8 v8.9 Branch — The latest branch of the V8 JavaScript engine has been created and will be in beta until Chrome 89’s eventual release. It’s a relatively small update, but top-level await comes to browser use cases and function calls with mismatched argument sizes will get a lot faster.

Ingvar Stepanyan

Quick Bits

  • Homebrew 3.0 is out with Apple Silicon support.
  • There's a new VS Code release which lets you debug Node.js worker threads and also adds conditional exception breakpoints to the JS debugger.
  • AWS Amplify has added support for Vue 3.
  • If you happen to have the 'Clubhouse' social audio app and you're quick enough, several well known JavaScript developers are getting together for a 'JavaScript Friday' chat at 10am PT (6pm GMT) today. More info here.

💻 Jobs

Full-Stack Web Engineer — As part of adidas, we engage millions of users each day - through our apps and on the web. Join our Web Team and support the maintenance of our website and tools to provide the best user experience.

Runtastic

JavaScript Developer at X-Team (Remote) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more.

X-Team

Find a Job Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

Hired

📖 Articles, Opinion & Tutorials

▶  Using Vue 3 with Electron to Build a Desktop App — A tightly edited 10-minute screencast that shows off the key parts in making a local file explorer with Vue and Electron without plodding through every single line of code.

Coding with Justin

How JavaScript Can Now Be Executed in Oracle Database — As of version 21c, released last month, Oracle Database can now execute JavaScript, powered by GraalVM. This post digs into the technicalities of how it works.

Alina Yurenko (Oracle)

Access your Database from React Server Components with Ease — Query data from MySQL, PostgreSQL DBs in React Server Components with Prisma, a better ORM for JavaScript & TypeScript.

Prisma sponsor

Dynamic Static Typing in TypeScript — A look at some of TypeScript’s more advanced features including union types, conditional types, template literal types, and generics.

Stefan Baumgartner

▶  Discussing Next Gen Bundlers with Jason Miller and Fred Schott — A podcast chat with the maintainers of Snowpack and WMR about bundling and how ES Modules change the game for modern JavaScript development. Educational!

The ShopTalk Show podcast

▶  What Is Gatsby.js, and Why Is It a Big Deal? — If you’re interested in Gatsby, this is a good interview with Gatsby engineer Max Stoiber.

Prismic

Buildkite Helps You Deliver Software Quickly and Securely at Any Scale

Buildkite sponsor

Using the Web Serial API with RxJS for Two-Way Reactive Communication with Serial Hardware
Tane Piper

Lazy Loading Routes in Vue with webpack Dynamic Comments
Jorge Baumann

HTML Form Validation in Cypress
Gleb Bahmutov

Building Server-Side Rendering for React Apps on AWS Lambda
Roman Boiko

🛠 Code & Tools

Vuex 4.0 Released: State Management Mechanism for Vue 3 Apps — Vuex now supports Vue 3 in its new 4.0 incarnation. Here’s the full 4.0 release notes.

Vuex Community

autoComplete.js 8.3: A Simple Pure Vanilla Auto Completion Library — Vanilla JavaScript, no dependencies, and there’s a live demo here.

Tarek Raafat

Wallaby’s Test Profiler Helped Us Make Jest Tests Run 5x Faster — Wallaby’s Test Profiler allows you to quickly record a test’s CPU usage profile to analyze its runtime performance.

Wallaby.js sponsor

eslint-config-auto: Automatically Configure ESLint Based on Project Dependencies“Having got fed up of maintaining eslint configs on a range of projects, I’ve put together a meta config that inspects the dependencies listed package.json and then automatically configures itself with the most appropriate plugins..”

David J. Bradshaw

redaxios: The Axios API, as an 800 Byte Fetch Wrapper — If you love the Axios API but want it using the Fetch API behind the scenes..

Jason Miller

v8go: Execute JavaScript from Go(lang) — Lets you create V8 contexts and run code eval-style. If you happen to be a Go developer, check out our Go newsletter too :-)

Roger Chapman

Five React Native Libraries You Might Have Missed — Some useful React Native libraries to be sure to check out for your next mobile app project.

Fabian Lee

react-ultimate-resume: Your 21st Century Resume — This is novel: a library which enables you to create an online resume to help you stand out from the crowd. Built by developers for developers with an eye on what tech recruiters allegedly want.

WeLoveDevs

🆕 Quick releases:

o