Splitting up sentences with Intl.Segmenter

#​617 — December 2, 2022

Read on the Web

JavaScript Weekly

Speeding Up the JS Ecosystem, One Library at a Time — JavaScript projects are often so reliant upon dependencies that there are many opportunities to speed up swathes of the ecosystem by fixing small performance issues. Here, one of Preact’s developers shares how he’s been discovering such low hanging, yet hidden, fruit. Learning these techniques will take you (and us, hopefully) far.

Marvin Hagemeister

TC39 Updates: The 93rd Meeting of Ecma TC39 — JavaScript’s esteemed council of elders (not quite, but you get the idea) got together (photographic proof) over the past few days to advance various proposals. Iterator Helpers, Explicit Resource Management and Set Methods all move to stage 3.

TC39 and Miscellaneous

AppSignal for Node.js 3.0 Introduces OpenTelemetry Support — AppSignal now supports OpenTelemetry, the open-source standard for telemetry data collection. We’ve also added support for 6 new integrations in this release.

AppSignal sponsor

Electron.js Roundup: v22.0 Released, Bye Windows 7, and Hi Forge — The long standing cross-platform desktop framework continues to evolve. v22 jumps up to Chromium 108 and Node 16.17.1. Also:

Support for Windows 7, 8, and 8.1 ends here. v22 is the final version to support Windows < 10.

Electron Forge 6. Forge, now totally rewritten, is now the official ‘batteries-included’ build tool for packaging and distributing Electron apps.

OpenJS Foundation

IN BRIEF:

🎄 Like puzzles? This year’s Advent of Code has begun.

📅 There’s an online Rust for JavaScript Developers workshop taking place on December 14 where you’ll see an Express.js app rewritten into Rust. It’s free but I imagine there’s a limit to numbers.

Eagerly awaiting TypeScript 5? There’s a TypeScript 5.0 iteration plan. The first beta is due in late January 2023.

The Storybook project (popular component dev tool) has shared an update on a new API designed to make support for things like Vite, Next.js, Svelte, Remix and Nuxt easier to roll out in 2023. “Zero-config support for any framework.”

RELEASES:

Tesseract.js 4.0
↳ Pure JS OCR for more than 100 languages.

Superagent 8.0.4 – Popular HTTP client API.

Prisma 4.7
↳ Next-gen ORM for Node.js & TypeScript.

Lerna 6.1
↳ Build multiple packages from the same repo.

Node.js 19.2.0 (Current)

📒 Articles & Tutorials

Splitting Strings into Sentences, Words or Graphemes with Intl.Segmenter — No libraries needed here. Give Intl.Segmenter a locale and granularity and it’ll divide up your strings to your heart’s content. It has broad support except for, curiously, Firefox.

Stefan Judis

Migrating from Vue 2 to Svelte — After two years of Vue 2, a team had a decision to make: move to Vue 3 or give Svelte a try?

Sophie Boulaaouli (Escape)

Breakpoints and console.log Is the Past, Time Travel Is the Future — 15x faster JavaScript debugging than with breakpoints and console.log, now with support for Vitest.

Wallaby.js sponsor

Working with Zustand for Easier React State Management — Some tips for using Zustand, a quite minimal state management library with a rather enthusiastic userbase, I’ve found.

TkDodo

📊  An Introduction to the LibJS JavaScript Engine — An interesting slide deck about a JS implementation you’ve probably not heard of (but which has a very strong showing in test262 conformance).

Linus Groh

V8: Pointer Compression in Oilpan — This is barely about JS but shows off the low level optimizations the V8 team does to make JavaScript more efficient for us. This is about using smaller pointers, because who needs 64 bits anyway?

Bikineev and Lippautz (V8 Team)

Sketchy Pencil Effect with Three.js Post-Processing — 3D development always gets my head spinning a bit, but this sketched pencil effect is quite unique.

Maya Nedeljković Batić

The State of Notifications Report – User Preferences

Courier.com sponsor

On Building a New JS Linting Experience for Visual Studio

Maria Solano (Microsoft)

Testing Static Types in TypeScript

Dr. Axel Rauschmayer

🛠 Code & Tools

Neutralino.js 4.9: Lightweight Cross Platform Desktop App Framework — Think Electron but with a rather different approach: no embedded Chromium or Node.. it uses a system’s existing Web browser APIs, with the resulting pros and cons. v4.9 adds a new API supporting custom backend code in any language (that can communicate over a WebSocket). Homepage.

Neutralinojs

Mithril.js: Client-Side Framework for Single Page Apps — A neat alternative to things like Vue, React or Angular. It’s been around for years and deserves more attention we feel. Mithril is compact, fast, and runs closer to vanilla JS than the alternatives so is well suited for bringing together vanilla JS libraries. Want to compare it to $your_favorite_framework? Here you go.

Mithril

A Professional Scheduling Component for React, Vue, Angular Apps — Schedule doctors, machines or your next trip to Mars. Easily done with the Scheduler Pro widget. Free 45-day trial.

Bryntum sponsor

Vanilla Extract: Zero-Runtime Stylesheets in TypeScript — Using TypeScript as a preprocessor, you can use this framework agnostic approach to write type-safe, static CSS. Not my cup of tea, but the homepage does a good job on selling the idea.

SEEK

Choices.js 10.2: A Configurable Select Box/Text Input Plugin — Lots of examples or you can go straight to the GitHub repo.

Josh Johnson

Reapop 4.2: Customizable Notifications for React Apps — This project’s homepage is a big self demo. Keep clicking on “Random notification” to fill your view. GitHub repo.

Louis Barranqueiro

💻 Jobs

Software Engineer — Join our “kick ass” team. Our software team operates from 17 countries and we’re always looking for more exceptional engineers.

Stickermule

Find JavaScript Jobs with 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

jsdoc-to-markdown 8.0
↳ Generate Markdown from JSDoc-annotated JS.

<relative-time> 4.0
↳ GitHub’s Web Component extension to <time>.

Bootbox.js 6.0
↳ Bootstrap alert, confirm & modal wrappers.

Minimatch 5.1.1
↳ Glob matcher library, as used in npm.
    minimatch(“bar.foo”, “*.foo”)

🎸 SVGuitar 2.2 – SVG guitar chord rendering.

TWGL.js 5.3 – WebGL, but less verbose.

React Tabs 6.0 – Accessible tab component.

OCLIF 3.3 – Node.js CLI framework.

Leave a Reply

Your email address will not be published. Required fields are marked *