---
title: "Import maps go universal"
publication: "JavaScript Weekly"
issue: 632
published_at: "2023-03-31"
canonical_url: "https://javascriptweekly.com/issues/632"
---

Plus deleting node_modules faster, learning some Lisp, and a JS-powered cron parser. |        

#​632 — March 31, 2023 

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

Together with [![Userfront\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_600,h_110/e_make_transparent/co_white,e_outline:7/lnopbsxefrqqsjq14fvr.png)](https://userfront.com/tutorials/react-authentication?utm_source=javascriptweekly.com&utm_medium=newsletter&utm_campaign=primary&utm_content=react_authentication)  

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/ng1pkebslgvvejvtw6oj.jpg)](https://web.dev/import-maps-in-all-modern-browsers/)  

[JavaScript Import Maps Now Supported Cross-Browser](https://web.dev/import-maps-in-all-modern-browsers/) — ES modules provide a modern way to include and reuse JavaScript code in web apps, and import maps provide the bridge between using module names in code and where those modules can actually be loaded from. 

Thomas Steiner (Chrome Developers)   

🍏 The import map news comes off the back of [the release of Safari 16.4](https://webkit.org/blog/13966/webkit-features-in-safari-16-4/) which introduces a _lot_ of new functionality to the Mac-based browser, from [Web Push](https://web.dev/push-notifications-in-all-modern-browsers/) and import maps to improved Web Component support and lazy-loading support for iframes.  

[Updates from the 95th TC39 Meeting](https://dev.to/hemanth/updates-from-the-95th-tc39-meeting-ne5) — Working group meetings might not _seem_ interesting on the surface, but a lot of what TC39 discusses ends up in our day to day code. Of special interest this time are the progression of [support for _ranges_](https://github.com/tc39/proposal-iterator.range) and the [async context proposal](https://github.com/tc39/proposal-async-context/) to stage 2, and [awaiting a dictionary of promises](https://github.com/tc39/proposal-await-dictionary) and [decorators for class constructors/methods](https://github.com/tc39/proposal-class-method-parameter-decorators) to stage 1. 

Hemanth HM   [![\](https://copm.s3.amazonaws.com/41c80c8c.png)](https://userfront.com/tutorials/react-authentication?utm_source=javascriptweekly.com&utm_medium=newsletter&utm_campaign=primary&utm_content=react_authentication) 

[React Authentication, Simplified](https://userfront.com/tutorials/react-authentication?utm_source=javascriptweekly.com&utm_medium=newsletter&utm_campaign=primary&utm_content=react_authentication) — In this article, we lay out a new approach to authentication (plus access control & SSO) in React applications. 

Userfront sponsor   

[React Labs: What React Core Has Been Working On](https://react.dev/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023) — The latest update from the React core team. The most striking update comes around the progress of _React Forget_, an optimizing compiler with the goal being able to build fully reactive systems using the JavaScript and React mental models you already have, with the compiler tackling the trickiest parts. 

The React Core Team   

**IN BRIEF:** 

- Over on Twitter, [🐦 Stefan Judis notes](https://twitter.com/stefanjudis/status/1641732778503860225) that _Firefox Nightly_ is the first browser shipping support for `@media (scripting: none)` to detect disabled JavaScript in CSS.
- 🗑 [Over half of new npm packages](https://blog.sandworm.dev/one-in-two-new-npm-packages-is-seo-spam-right-now) are junk. Though that's an improvement on packages [riddled with malware](https://blog.phylum.io/phylum-discovers-npm-package-mathjs-min-contains-discord-token-grabber)... Could we improve things by using ChatGPT to analyze packages? [Maybe, says Socket](https://socket.dev/blog/introducing-socket-ai-chatgpt-powered-threat-analysis).
- 📅 Excited about the future of Angular? Next Tuesday, the Angular team is doing [a livestream on YouTube](https://www.youtube.com/watch?v=oTFauGIs7s0) about the Angular Signals RFC.
- [Microsoft has 'rebuilt _Teams_ from the ground up'](https://techcrunch.com/2023/03/27/microsoft-rebuilds-teams-promises-2x-faster-performance/) with React replacing AngularJS at the heart of the UI.
- Did you know SVG almost [got built-in network socket support?](https://leonidasv.com/til-svg-specs-almost-got-raw-socket-support/) 🤨
- The _Cloudflare Workers_ edge serverless platform is based around V8 isolates rather than Node.js but is now [gaining support for some Node.js APIs](https://blog.cloudflare.com/workers-node-js-asynclocalstorage/).   

**RELEASES:** 

- [Rome 12](https://rome.tools/blog/2023/03/28/rome12/)
 ↳ Big release for the linter & formatter.
- [Solid 1.7](https://github.com/solidjs/solid/releases/tag/v1.7.0)
 ↳ Flexible declarative library for UIs.
- [Visual Studio Code March 2023](https://code.visualstudio.com/updates/v1_77)
 ↳ Now with improved `switch` scaffolding for TS/JS.
- [Ionic 7.0](https://ionic.io/blog/ionic-7-is-here)
 ↳ Powerful cross-platform mobile app toolkit.
- [Docusaurus 2.4](https://docusaurus.io/blog/releases/2.4/)
 ↳ React-powered docs site generator.
- [Node.js v16.20.0 (LTS)](https://nodejs.org/en/blog/release/v16.20.0)  

📒 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/buotnk7ntts8i570aygy.jpg)](https://janet.guide/)  

[Janet for Mortals](https://janet.guide/) — [Janet](https://janet-lang.org/) is a Lisp-like functional dynamic language that can nonetheless be compiled and interact with C libraries. This online book about Janet targets folks who already know JavaScript in particular. 

Ian Henry   

[In Praise of Vite](https://cloudfour.com/thinks/in-praise-of-vite/) — _“The single best feature of Vite, as far as I’m concerned, is its simplicity. Compared to the nightmare of configuring WebPack and Babel? Vite is delightfully easy to use.”_ 

Scott Vandehey   

💡 Robin Wieruch has just published a tutorial on [migrating to Vite from Create React App (CRA)](https://www.robinwieruch.de/vite-create-react-app/) if you want to give it a go for yourself.  

[The Easiest Way to Add Chat to Your Application. Try Stream for Free](https://getstream.io/chat/?utm_source=javascriptWeekly_newsletter&utm_medium=sponsorship&utm_content=Developer&utm_campaign=JavascriptMastery_March_Chat_klmh22&utm_term=newsletter) — Build and ship real-time messaging in less time with our highly reliable chat infrastructure and feature-rich SDKs. Free 30-day trial. 

Stream sponsor   

[Building Framer Motion Animations Inside a Qwik Application](https://www.builder.io/blog/framer-motion-qwik) — Also touches on [Motion One](https://motion.dev/) as a bonus, an animation library similar to Framer but lighter and faster to use. 

Yoav Ganbar   

[A Business Case for SvelteKit](https://elliscs.hashnode.dev/a-business-case-for-sveltekit) — A good post covering the experience of migrating from Meteor to SvelteKit, the process this team undertook, and the outcomes from both a performance and UX point of view. 

Chris Ellis   

[How to Enable OpenTelemetry Traces in React Apps](https://developers.redhat.com/articles/2023/03/22/how-enable-opentelemetry-traces-react-applications) — A ten-step approach to enabling OpenTelemetry traces in React apps all the way through to viewing the end results in Jaeger. 

Purva Naik (Red Hat)   

[Build Developer-First Automations with Retool Workflows](https://retool.com/products/workflows/?utm_source=sponsor&utm_medium=newsletter&utm_campaign=javascriptweekly) 

Retool sponsor   

[Understanding `module.exports` and `exports` in Node](https://www.sitepoint.com/understanding-module-exports-exports-node-js/) 
James Hibbard  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/pgwvgobfge9j29ipjexq.jpg)](https://github.com/voidcosmos/npkill/releases/tag/v0.11.1)  

[NPKILL 0.11.1: Delete `node_modules` Even Faster](https://github.com/voidcosmos/npkill/releases/tag/v0.11.1) — NPKILL ([homepage](https://npkill.js.org/)) is a popular tool for listing `node_modules` folders and how much space they take up, before allowing you to quickly delete them. This new release makes it even faster than before through using worker threads. 

Gallardo and Gómez   

[Inferno 8.1: A Fast, React-a-Like with a Different Approach](https://infernojs.org/) — React-like, but you might be more intrigued by its differences (which include a different approach to optimizing performance and lifecycle events on functional components). 

Inferno   

[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   

[Nano JSX: A Lightweight SSR-First JSX Library](https://nanojsx.io/) — Features include no Virtual DOM, no external dependencies, on-demand hydration, and support for Node and Deno-based server-side rendering situations. 

Nano JSX   

[Concurrent.js: Load Modules into Background Threads](https://github.com/bitair-org/concurrent.js) — For JS environments including the browser, Node _and_ Deno, this library dynamically imports modules into worker threads (in Node) or Web Workers (in the browser) to run them away from the main thread. 

Bitair   

[cron-schedule 4.0: Cron Parser and Scheduler](https://github.com/P4sca1/cron-schedule) — Parse and query cron style expressions in the browser, Node or Deno. 

Pascal Sthamer   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/qdiboopcitts8lwdtp3p.jpg)](https://bright.codehike.org/)  

[Bright: A React Server Component for Syntax Highlighting](https://bright.codehike.org/) — Customizable and includes all of VS Code’s syntax highlighting themes, some of which are demonstrated on the page. 

Code Hike   

[typescript-json-serializer 6.0](https://github.com/GillianPerard/typescript-json-serializer) — Deserialize JSON into TypeScript classes and serialize classes _into_ JSON. 

Gillian Pérard     

💻 Jobs  

[Full Stack JavaScript Engineer @ Emerging Cybersecurity Startup](https://defendify.breezy.hr/p/b07e57b21e02-saas-software-engineer) — Small team/big results. Fun + flexible + always interesting. Come build our award-winning, all-in-one cybersecurity platform. 
Defendify   

[Software Engineer](https://jobs.ashbyhq.com/stickermule/1539721e-7c7d-4f45-a5b0-17e5c02d7bd0?utm_source=Cooperpress) — Join our happy team. Stimulus is a social platform started by Sticker Mule to show what's possible if your mission is to increase human happiness. 
Stimulus   

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

🧑‍💻 Got a job listing to share? _[Here's how](https://booking.cooperpress.com/jobs)_.     

**QUICK RELEASES:** 

- [Ink 4.1](https://github.com/vadimdemedes/ink/releases/tag/v4.1.0)
 ↳ Use React to build interactive CLI apps.
- [Ember Simple Auth 5.0](https://github.com/mainmatter/ember-simple-auth)
 ↳ Authentication and authorization for Ember apps.
- [Cypress 12.9](https://github.com/cypress-io/cypress)
 ↳ Browser-oriented testing framework.
- [SVGR 7.0](https://github.com/gregberge/svgr)
 ↳ Transform SVGs into React components.
- [🎹 JZZ 1.6.1](https://jazz-soft.net/doc/JZZ/)
 ↳ MIDI library for Node and browsers.
- [Vue Sonner](https://github.com/xiaoluoboding/vue-sonner)
 ↳ The [Sonner](https://sonner.emilkowal.ski/) toast component but for Vue.
- [np 7.7](https://github.com/sindresorhus/np) – A better `npm publish`.
- [Qwik 0.100](https://github.com/BuilderIO/qwik) – The HTML-first framework.
- [DOM Testing Library 9.2](https://github.com/testing-library/dom-testing-library)
- [React Date Picker 4.11](https://github.com/Hacker0x01/react-datepicker)
- [pnpm 8.1](https://github.com/pnpm/pnpm/releases/tag/v8.1.0)         

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
