#655 — September 21, 2023 |
|
JavaScript Weekly |
▶ TypeScript Origins: The Documentary — You know you’ve made it when you get your own documentary! This has just dropped but is well produced, packed with stories from TypeScript’s co-creators, users, and other folks at Microsoft, and kept me entertained. It goes particularly deep into the motivations and process behind TypeScript's creation, including why Microsoft felt it was worth pursuing at all. OfferZen Origins |
🔥 The takes get spicer 25+ minutes in as various TypeScript users chip in with their opinions, and even Daniel Rosenwasser, now program manager of the TypeScript team, says he initially worried that Microsoft might "f**k it all up." 😅 Ryan Dahl pops up about an hour in too.. so I hope you've got some time spare. |
Patterns for Reactivity with Modern Vanilla JavaScript — When data changes, you often want to do things, and the process that makes that happen is reactivity. While many libraries or frameworks like React or Vue offer reactive solutions out of the box, you can do it all with vanilla JavaScript too, and this post digs into many of the patterns you might need to use, complete with examples. Marc Grabanski |
Handsontable: Data Grid With Spreadsheet Superpowers — There are a lot of JavaScript data grids out there, but none are quite like Handsontable. Its Excel-like design, keyboard shortcuts, and navigation make it the perfect tool for developers. Handsontable sponsor |
Deno 1.37: Modern JavaScript in Jupyter Notebooks — Not content to let Bun take all the headlines, Deno has come up with something pretty neat here. Deno 1.37 ships with a Jupyter Notebook integration so you can create interactive REPL sessions but using the JavaScript you know and love, rather than Python. The Deno Team |
JavaScript Minification Benchmarks — A frequently updated benchmark suite and results comparing the speed and quality of JavaScript minification across a variety of tools including esbuild, Babel, Bun, SWC, and Uglify. Hiroki Osame |
⚡️ IN BRIEF:
|
🎉 RELEASES:
|
📒 Articles & Tutorials |
Getting Network Activity Under Control with Priority Hints — A look at how browsers can prioritize the loading of resources, how you can explicitly specify a priority when using Alex MacArthur |
Securing Node Apps by Analyzing Real Command Injection Examples — When code can be manipulated to run unintended, arbitrary commands, it's never going to end well. Liran Tal |
🚀 Coming Soon: Fixed-Cost Monthly Maintenance by UpgradeJS.com — Too much tech debt in your JavaScript app? Let us help. Slow and steady upgrades at your own pace. Releasing next week. 🌳 Bonsai by UpgradeJS.com sponsor |
🧭 What's New in Safari 17 — Safari 17 is now in beta on iOS 17 with the final release dropping across all of Apple’s platforms next week. On the JavaScript front, Safari and WebKit now fully support the Storage API, WebGL in Offscreen Canvas, Jen Simmons and the WebKit team |
Testing Out the Alpine.js Intersect Plugin — A wrapper for the Intersection Observer API.
|
▶ How to Make Forms in Angular Reusable
|
Clean Layout Architecture for Vue Applications
|
Incremental Static Regeneration for Angular
|
🛠 Code & Tools |
fx 30: The Go(lang)-Powered Terminal JSON Viewer — Yes, it's written in Go, but Anton Medvedev |
Breakpoints and Wallaby.js sponsor |
Mantine 7.0: The Popular React Component Library — A big release for what is now one of the most popular React component libraries. As of v7, Mantine no longer relies on Emotion and components come with native CSS files, all components now support the system-set color scheme, CSS modules are now the default way to style components, and there are many smaller enhancements too. Mantine Team |
Chrono 2.7: A Natural Language Date Parser — Give it a string like “today”, “last Friday”, “2 weeks from now”, or even an entire date and time, and it’ll come up with a date object to suit. Wanasit Tanakitrungruang |
Theatre.js 0.7: Motion Design for the Web — Can be used both programmatically or via a visual editor to animate objects created with things like Three.js, React Three Fiber, HTML/SVG, or even just tween variable values. Theatre.js Project |
Track Errors and Performance Issues in Every Part of Your Stack Sentry sponsor |
Swup: A Flexible Page Transition Library for Server-Side Rendered Sites — A library that benefits hugely from checking out the demos. v4.4 adds experimental ViewTransition support. Georgy Marchuk |
Create Chrome Extension: A Scaffolding Tool for Chrome Extensions — Similar to create-react-app or Yeoman, this is specifically for starting extension development, with support for several frameworks, HMR, and light/dark modes. Yalda |
💡 Chrome Extension CLI is another option in this space. |
|
|
|