December 12, 2023
Turn on loading images 😉- Logo ECMAScript News

Dear readers!

We are taking our end-of-the-year break and will be back on 23 January 2024.

Be well and see you soon!

Axel and Jowe

28 years ago (1995-12-04): “Netscape and Sun announce JavaScript, the open, cross-platform object scripting language for enterprise networks and the internet”

web.archive.org @BrendanEich@mastodon.social

“Netscape Communications Corporation and Sun Microsystems Inc. today announced JavaScript, an open, cross-platform object scripting language for the creation and customization of applications on enterprise networks and the Internet. The JavaScript language complements Java, Sun’s industry-leading object-oriented, cross-platform programming language. The initial version of JavaScript is available now as part of the beta version of Netscape Navigator 2.0, which is currently available for downloading from Netscape’s web site.”

For more information on JavaScript’s history, see the paper “JavaScript: the first 20 years” by Allen Wirfs-Brock and Brendan Eich.

TC39 FAQ

github.com github.com/tc39 @michaelficarra@mastodon.social @SoftwareChris@mastodon.sdf.org github.com/bakkot

Ecma International’s Technical Committee 39 (TC39) – which standardizes and evolves JavaScript – has collected frequently asked questions (FAQ): “This document contains typical responses to questions that are commonly raised about JavaScript language development, both within the community and to [TC39] via our various discussion platforms.”

New versions

ESLint v8.55.0 released

eslint.org github.com/mdjermanovic @eslint@fosstodon.org

Highlight: “The no-restricted-imports rule has a new option importNamePattern.”

Bun v1.0.15

bun.sh github.com/Electroid github.com/oven-sh

Highlights:
  • Transpiler cache makes CLIs like tsc up to 2× faster
  • expect.extend() and more matchers
  • Syntax-highlighting for error messages
  • Better Error.stack traces
  • Support for crypto.sign and crypto.verify

Socket CLI v0.9.0 now available

socket.dev @devdevcharlie@hachyderm.io @SocketSecurity@fosstodon.org @

Improvements to the socket info command (which displays useful information about npm packages):
  • View a package's security scores
  • View a package's security issues
  • Use dist tags to refer to package versions

Turborepo 1.11

turbo.build @gsoltis@mastodon.social github.com/chris-olszewski github.com/NicholasLYang github.com/arlyon

[Quoting the blog post:]

Turborepo 1.11 completes our migration to Rust and ships several developer experience improvements:

  • Our new Rust-based foundation: We've finished the port from Go to lay the groundwork for better performance, improved stability, and new features.
  • Group logs for improved readability: You can now specify --log-order=grouped to organize your logs into distinct sections separated by tasks.
  • Updated examples: Start with an example for Next.js, Svelte, Remix, Nuxt, and more.

Rspack v0.4.2

github.com github.com/Boshen github.com/web-infra-dev

Highlights:
  • “[…] New tree shaking implementation specifically addressing compatibility issues with webpack architecture and optimizing for reduced output size.”
  • “Allow Rspack to control export mangling.”

Other news

Stop nesting ternaries in JavaScript

www.sonarsource.com @philnash@mastodon.social

“Prettier, the most popular JavaScript code formatter, recently released a novel way to format nested ternaries under an experimental flag. This has come after years of disagreement over the best and most readable way to format a nested ternary.”

“I have a better idea of how to make nested ternaries clearer: stop nesting them.”

You don’t need JavaScript for that

www.htmhell.dev @Kilian@mastodon.social

“Rule of least power: [...] Choose the least powerful language suitable for a given purpose. On the web this means preferring HTML over CSS, and then CSS over JavaScript.”

“You might be thinking ‘All the things I use JS for, I need JS for’. That might be true, but it’s good to know that both browser makers and specification writers have been porting a lot of functionality over to CSS and HTML that up to a few years ago needed JS. And that’s what this article is about.”

Developer essentials: JavaScript console methods

developer.mozilla.org @bsmth@mozilla.social

“In this article, we’ll take a look at what the console can do and some of the lesser-known methods that you might find useful or just plain fun. Whether you’re a beginner in web development, seeking to learn the purpose of the console, or an experienced developer, you might discover methods that you didn’t know existed.”

Linear matching of JavaScript regular expressions

arxiv.org github.com/Aurele-Barriere github.com/cpitclaudel

“This paper provides a novel perspective on JavaScript’s regex semantics by identifying a larger-than-previously-understood subset of the language that can be matched with linear time guarantees. In the process, we discover several cases where state-of-the-art algorithms were either wrong (semantically incorrect), inefficient (suffering from superlinear complexity) or excessively restrictive (assuming certain features could not be matched linearly).”

This email was sent to {{ email | default }}. You can unsubscribe from this list here or update your preferences.