Bringing static type syntax into JavaScript itself
source link: https://javascriptweekly.com/issues/580
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
JavaScript Weekly Issue 580
🤦 Thanks to all readers who noticed we made a mistake with last week's subject line "TypeScript 2.6 released" – rather than the intended 4.6. We were only 4 years late with that news ;-) Rest assured, more caffeine has been consumed today..
JavaScript Weekly
Credit: Daniel Rosenwasser
An ECMAScript Proposal for Type Annotations in JavaScript (That Are Ignored at Runtime) — A huge amount of chatter this week over an interesting proposal to support type annotations directly in standard JavaScript code that are available for external type checkers to use but which are otherwise ignored at runtime. TypeScript’s Daniel Rosenwasser has written a lot more about the approach here. Dr. Axel has also written up his thoughts. Whatever the case, people seem pretty excited for the potential and Allen Wirfs-Brock has said "if I was still active on TC39 I’d be advocating for this proposal."
Tayar, Rosenwasser, Cintra, Palmer, et al.
Wallaby.js: 15x Faster JavaScript/Jest Testing and Debugging — Wallaby runs your tests immediately as you type, with runtime values, errors and code coverage displayed in real-time right next to your code. Features have been designed specifically for testing, including: time-travel debugging, edit-and-continue support, and much more.
Wallaby.js sponsor
React 18 Release Candidate Released — The full production release of React 18 is seemingly imminent: just out, the detailed documentation covering the upgrade to this week’s release candidate. The post also includes useful information about some of the major new features.
Rick Hanlon and React Core Team
🐦 Twitter Thread on Stripe Converting from Flow to TypeScript — And it took just one weekend: “We modified about 3.5 million lines of code, and then hundreds of developers came in Monday morning ready to write TS.”
Andrew Lunny on Twitter
WebGPU — All of the Cores, None of the Canvas — It’s always a pleasure to see Surma dig into something (especially Web Workers) and this time he turns to making the potential of WebGPU (an API that exposes the capabilities of GPU hardware that, admittedly, isn't available by default in any standard browser yet) more accessible to us all.
Surma
IN BRIEF:
-
Did you know that for legacy reasons HTML-style comments work in JavaScript? (A quirk that adds some additional complexity to V8's parser..)
-
A fascinating Twitter thread diving straight down the rabbit hole of historic calendars and why JS and Swift disagree on when January 1, 1 AD actually was.
-
Chrome has made some big leaps forward in browser performance in the past year and now claims to be faster than Safari.
-
The Views on Vue podcast has an episode covering ▶️ the growth of the Vite ecosystem.
RELEASES:
Partytown 0.5.0 – Moves scripts into Web Workers for perf.
AVA 4.1.0 – Node.js test runner.
Rollup.js 2.70.0 – ES module bundler.
Node 17.7.0 and 17.7.1
React Native DateTimePicker 6.0
💻 Jobs
JavaScript Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.
X-Team
Senior React Engineer @ Nebulab (Remote) — Join our distributed team and build high-volume eCommerce applications in a workplace made by developers for developers.
Nebulab
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
📒 Articles & Tutorials
Naming Conflicts – or How Existing Code Can Force Proposed Features to Be Renamed — Phil Karlton once said “cache invalidation and naming things” were the two hardest things in computer science, and JavaScript has had its fair share of trouble around the latter.
Dr. Axel Rauschmayer
A Lightweight GitHub REST API in 34 Lines of Code — The power of ES proxies strikes again. Not a tutorial, but you might learn something from the code.
David Wells
Project Management for Today's (And Tomorrow's) Software Team — We bring the flow to your software team's workflow. Plan, collaborate, build, and measure success with Shortcut.
Shortcut (formerly Clubhouse.io) sponsor
Building Serverless Multi-Region WebSocket APIs on AWS — A look at an interesting (and very AWS-y!) architecture for a global real-time chat app by using WebSockets and cross-region communications behind the scenes.
Freiberg and Ziller (AWS)
My Experience Building a Chess App in React — The author describes himself as a self-taught, relative newcomer to React development. As a result, he describes his approach to this well-defined problem in terms that those at a similar point in the learning curve will find easy to understand.
Fred Litt
Creating Native Web Components — Looks at how to create native web components using the Minze JavaScript framework.
Sergej Samsonenko
The Tools that Developers Need–and Don't Need–to Build Great Chatbots
Botpress Technologies, Inc. sponsor
How to Build a File Upload Service with Vanilla JavaScript
Pankaj Tanwar
A Complete Guide to TypeScript’s never
Type
Zhenghao He
Making a Discord Playlist Bot with Serverless Cloud
Ben Miner
🛠 Code & Tools
LemonadeJS V2: A Reactive JavaScript Library with Zero Transpiling Needed — Simple, straightforward reactivity anywhere with as little tooling surrounding it as possible.
LemonadeJS Team
striff: Real Simple String Diffing — Given two strings, you can find out which characters were added or removed, and where.
Alex MacArthur
PSD: A Zero-Dependency PSD (Photoshop) Parser — Will parse info for each layer including text and also supports Photoshop’s .PSB (big image) format. GitHub repo.
webtoon
Studio 3T Manages Your Data, While You Wrestle Your App into Shape — Studio 3T's full suite of MongoDB tools lets you develop with data even faster and turn queries into code.
Studio 3T sponsor
Tygo: Generate TypeScript Types from Go(lang) Source Code — Let’s say you’re building an app with Go on the backend and TypeScript on the frontend. This tool scans your Go-based API and creates the relevant TypeScript types for you.
Guido Zuidhof
Reason: Write Fast, Type Safe Code in OCaml, But for the JS Ecosystem — You essentially get to write OCaml but compile to JavaScript.
Ultra: A Modern Streaming React Framework for Deno — Built around native browser features like ES modules, import maps, and web streams. The source of the project’s own Ultra-powered homepage may help you weigh up if you like its cutting edge approach or not.
Omar Mashaal et al.
🎮 And for some fun..
micropolisJS: A JavaScript Clone of a SimCity-Like Game — I didn’t get on to the SimCity train until SimCity 2000, but if you liked the vibe of the earlier 1989 version of SimCity, this might be a reasonable way to fritter away some time.
Graeme McCutcheon
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK