---
title: "Microsoft spills the tea on TypeScript"
publication: "JavaScript Weekly"
issue: 655
published_at: "2023-09-21"
canonical_url: "https://javascriptweekly.com/issues/655"
---

Plus it's JScript's birthday, Remix v2, and does Node need its own mascot? |        

#​655 — September 21, 2023 

[Read on the Web](https://javascriptweekly.com/issues/655)  

Together with [![Handsontable\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_657,h_100/e_make_transparent/co_white,e_outline:7/mb8isgnw32eqx7fxjh2h.png)](https://handsontable.com/demo)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/kzmqkvwcnarz0io8kxot.jpg)](https://www.youtube.com/watch?v=U6s2pdxebSo)  

▶[TypeScript Origins: The Documentary](https://www.youtube.com/watch?v=U6s2pdxebSo) — 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](https://frontendmasters.com/blog/vanilla-javascript-reactivity/) — 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   [![\](https://copm.s3.amazonaws.com/04865a0b.png)](https://handsontable.com/demo) 

[Handsontable: Data Grid With Spreadsheet Superpowers](https://handsontable.com/demo) — 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](https://deno.com/blog/v1.37) — 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](https://deno.com/blog/v1.37#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](https://github.com/privatenumber/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:** 

- The Svelte team offers a sneak peek at the forthcoming Svelte 5 and [introduces the idea of 'runes'](https://svelte.dev/blog/runes): _"Like every other framework, we've come to the realisation that [Knockout](https://knockoutjs.com/) was right all along."_
- [Happy 27th birthday to JScript!](https://www.webdesignmuseum.org/web-design-history/jscript-1-0-1996) JScript was a version of JavaScript that Microsoft put into IE 3.0 primarily to avoid trademark issues around the name of JavaScript. No-one cares much about that anymore, despite [Oracle still technically holding](https://tinyclouds.org/trademark) the _JavaScript_ trademark.
- Folks are discussing whether [Node.js needs a mascot](https://github.com/nodejs/admin/issues/828) of its own.
- Want to support anyone doing great work on JavaScript projects? You can [nominate them for a GitHub Star.](https://stars.github.com/nominate/)
- If you rely upon the npm package download counts at all, the daily counts for all packages was _zero_ on September 13 and 14 ([example](https://api.npmjs.org/downloads/range/2023-09-10:2023-09-21/react)). Why? _"This issue remains under investigation,"_ says npm support.   

**🎉 RELEASES:** 

- [Remix v2](https://remix.run/blog/remix-v2) – Popular full stack web framework.
- [Bun 1.0.2](https://bun.sh/blog/bun-v1.0.2) – Bugfixes, faster `bun --watch`, it now uses V8's `Date` parser, and Fastify apps now work too.
- [Node.js v20.7 (Current)](https://nodejs.org/en/blog/release/v20.7.0) – Multiple `--env-file`s now supported.
- [Next.js 13.5](https://nextjs.org/blog/next-13-5) – Faster, faster, faster.  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/hkznuvwwyxxcf1aepaxy.jpg)](https://www.macarthur.me/posts/priority-hints)  

[Getting Network Activity Under Control with Priority Hints](https://www.macarthur.me/posts/priority-hints) — A look at how browsers can prioritize the loading of resources, how you can explicitly specify a priority when using `fetch`, and how different ways of loading scripts are prioritized. 

Alex MacArthur   

[Securing Node Apps by Analyzing Real Command Injection Examples](https://www.nodejs-security.com/blog/securing-your-nodejs-apps-by-analyzing-real-world-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](https://go.upgradejs.com/mrr) — Too much tech debt in your JavaScript app? Let [us](https://twitter.com/JSUpgrade) help. Slow and steady upgrades at your own pace. Releasing next week. 

🌳 Bonsai by UpgradeJS.com sponsor   

🧭 [What's New in Safari 17](https://webkit.org/blog/14445/webkit-features-in-safari-17-0/) — 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](https://developer.mozilla.org/en-US/docs/Web/API/Storage_API), WebGL in [Offscreen Canvas](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas), `v` flag support on regexes, `Set` operation methods, `URL.canParse`, plus the much anticipated support for PWAs in macOS Sonoma. 

Jen Simmons and the WebKit team   

[Testing Out the Alpine.js Intersect Plugin](https://www.raymondcamden.com/2023/09/20/testing-out-the-alpinejs-intersect-plugin) — A wrapper for the Intersection Observer API. 
Raymond Camden   

▶[How to Make Forms in Angular _Reusable_](https://www.youtube.com/watch?v=o74WSoJxGPI) 
Decoded Frontend   

[Clean Layout Architecture for Vue Applications](https://fadamakis.com/clean-layout-architecture-for-vue-applications-a738201a2a1e) 
Fotis Adamakis   

[Incremental Static Regeneration for Angular](https://blog.angular.io/incremental-static-regeneration-for-angular-c12745ff4b48) 
Enea Jahollari  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/jnig2j5qiwmhjdut9tyn.jpg)](https://fx.wtf/)  

[fx 30: The Go(lang)-Powered Terminal JSON Viewer](https://fx.wtf/) — Yes, it's written in Go, but `fx` has long been a useful tool for looking at JSON files, and it has just been [rewritten from the ground up](https://github.com/antonmedv/fx/releases/tag/30.0.0) with a new look, regex search, fuzzy search, and support for _“even the most massive JSON files.”_ You don't need to worry about Go at all; it's simply a fantastic tool for looking at JSON. 

Anton Medvedev   

[Breakpoints and `console.log` Is the Past, Time Travel Is the Future](https://wallabyjs.com?utm_source=cooperpress&utm_medium=javascriptweekly&utm_content=javascriptweekly) — 15x faster JavaScript debugging than with breakpoints and console.log, supports Vitest, jest, karma, jasmine, and more. 

Wallaby.js sponsor   

[Mantine 7.0: The Popular React Component Library](https://mantine.dev/changelog/7-0-0/) — 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](https://mantine.dev/styles/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](https://github.com/wanasit/chrono) — 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   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nhkmt1wauorupqaf16ae.jpg)](https://www.theatrejs.com/)  

[Theatre.js 0.7: Motion Design for the Web](https://www.theatrejs.com/) — 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](https://sentry.io/signup/?utm_medium=paid-community&utm_source=javascriptweekly&utm_campaign=brand-fy24q3-freetrial&utm_content=newsletter-freetrial-register) 

Sentry sponsor   

[Swup: A Flexible Page Transition Library for Server-Side Rendered Sites](https://swup.js.org/) — A library that benefits hugely from [checking out the demos.](https://swup.js.org/getting-started/demos/) v4.4 adds experimental [ViewTransition](https://developer.mozilla.org/en-US/docs/Web/API/ViewTransition) support. 

Georgy Marchuk   

[Create Chrome Extension: A Scaffolding Tool for Chrome Extensions](https://github.com/guocaoyi/create-chrome-ext) — 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](https://github.com/dutiyesh/chrome-extension-cli) is another option in this space.  

- [Neutralinojs 4.14.0](https://neutralino.js.org/docs/release-notes/framework#v4140) – Imagine something like Electron but without the browser engine being bundled in. Supporting Linux, Windows, and macOS, it instead leans on what's already present.
- 📅 [React Lite Month Picker](https://www.react-lite-month-picker.dev/)
 ↳ An elegant way to let users select a specific month.
- [React-Virtuoso 4.6](https://github.com/petyosi/react-virtuoso) – Powerful virtual list component.
- [Faker 8.1](https://github.com/faker-js/faker) – Generate large amounts of fake data.
- 🔊 [Peaks.js 3.1](https://github.com/bbc/peaks.js)
 ↳ The BBC's audio waveform UI component.
- [Ember.js 5.3](https://github.com/emberjs/ember.js/releases/tag/v5.3.0)    

💻 Jobs  

[Nest.js Back-End Developer](https://carallel.com/position/software-engineer/) — Lead the development of a HealthTech platform, focused on Caregiver support. TypeScript, Nest.js, PostgreSQL, AWS, React/Next.js. 
Carallel   

[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) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired       

“The best programs are the ones written when the programmer is supposed to be working on something else.” 

___
Melinda Varian          

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'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
