星期四 07 晚上 九月 19o 2024
Hey, how many C's are there in JavaScript?
#705 — September 19, 2024
Together with
JavaScript™? Weekly
‘Oracle, It’s Time to Free JavaScript.’ — It’s long been a bone of contention that Oracle owns the trademark for ‘JavaScript’ (we put out a call two years ago) but this marks the first serious effort to try and change that, including petitioning the USPTO, if necessary. You can support the effort by signing this open letter, joining a vast array of JavaScript luminaries.
The JavaScript Community
Now You Can Compile and Run C in JavaScript — Well, if you’re using Bun, at least. Bun v1.1.28 lands experimental support for compiling and native C code and then running its functions from JavaScript. It’s easier than it sounds..
Jarred Sumner (Bun)
😅 Bun’s creator said this is “an unplanned feature I worked on mostly a month ago on a Saturday for fun” – that’s our kinda fun!
✂️ Cut Your QA Cycles Down from Hours to Minutes with QA Wolf — If slow QA processes bottleneck your software engineering team and you’re releasing slower because of it, you must check out QA Wolf. QA Wolf gets engineering teams to 80% automated end-to-end test coverage and helps them ship 2x faster by reducing QA cycles from hours to minutes. Learn more.
QA Wolf sponsor
ts-blank-space: Fast Type-Stripping TypeScript to JS Compiler — It’s job is simple: be the fastest TS to JS compiler written in JS (it’s 5.6x faster than tsc
.) Types are simply replaced with whitespace preserving the coordinates of the JS code which eliminates the need for sourcemaps entirely.
Ashley Claymore / Bloomberg
IN BRIEF:
🏆 Developer analyst firm RedMonk has put out a Q3 2024 ranking of programming languages with JavaScript happily in first place.
📺 Honeypot has released a nine minute documentary where Ryan Dahl (the original creator of Node.js) and Bert Belder ▶️ tell the story of how Deno began.
Talking of Deno, Deno 2.0 is expected to be released tomorrow.
🧭 Alongside new releases of macOS, iOS, and iPadOS, Safari 18 has been released. Alongside numerous Web API enhancements, its JS regex support has been enhanced when it comes to Unicode.
🔥 David Bushell tried JSR – he didn’t like it.
RELEASES:
Fastify v5 – Fastify is a popular, perf-focused web framework for Node.js, inspired by Express (which recently reached v5.0 too!)
Astro 5 Beta – Astro helps keep the run of v5.0 releases going..
Node.js v22.9 (Current) – Adds a util.getCallSite
function to obtain the stacktrace of the current execution. V8’s Maglev JIT is also disabled for reliability reasons due to outstanding issues in V8.
Hono 4.6 – The nifty ‘any runtime’ webapp framework gains context storage middleware.
ViteConf is October 3rd! — StackBlitz is r(ai)sing the bar in the ViteConf ‘24 keynote. You won’t want to miss it 👀.
StackBlitz sponsor
📒 Articles & Tutorials
Mathematical Symbols and JavaScript Equivalents — We’re not just talking the obvious like + and - but things like ⁿ√, Σ, Π, ∃, and set notation.
Joshua Nussbaum
A React 19 Cheat Sheet — From Kent C Dodds, of Epic React fame, comes this part cheat sheet, part succinct reminder of some of the new things you can do in React 19, along with (very) brief code examples.
Kent C. Dodds
[Workshop] Fix Your Front-End 101: JavaScript Edition — Learn practical tips to debug JavaScript end to end. Join our JavaScript team live on Sept 24.
Sentry sponsor
From Parcel to Vite: A Short Story of a 100K LOC Migration — “We’ve migrated our frontend projects from Parcel to Vite, and the process was… smooth.”
Gao / Logto
How to Create a Chrome Extension with React, TypeScript, Tailwind CSS and Vite — Covers everything you need to know right through to publishing in the Chrome Web Store.
Lokman Musliu
📺 Building a React-Powered TODO App in 9 Steps – A 54 second video showing off the key stages, all without any libraries except React. Danny Thompson
📄 12 Ways to Better Vue Components with TypeScript Fotis Adamakis
📄 Why We Switched from Cypress to Playwright S Varun (BigBinary)
📄 Bitwise Operators in JavaScript and When to Use Them 8 Hobbies
📄 An Introduction to TanStack Router Adam Rackis
🛠 Code & Tools
date-fns v4.0 Released with First-Class Time Zones Support — date-fns is a hugely popular and comprehensive suite of 200+ functions for working with dates in JavaScript, and now there’s first-class time zone support too.
Sasha Koss
ts-remove-unused: Remove Unused Code from TypeScript Projects — A tool that can auto-fix unused exports (removing export
from the declaration or the whole declaration based on its usage) and delete modules that have no referenced exports. Knip is another mature tool in this space, though focused more on detecting the things you can remove.
LINE
Amplify the Benefits of JWTs and Session Tokens — Learn how leveraging the benefits of both session token authentication and JWTs results in the best of both approaches.
Clerk sponsor
Next.js SaaS Starter: A Next.js Template for SaaS Webapps — A starter template for building a SaaS-style webapp using Next.js with authentication, Stripe integration, and a dashboard for users. It uses Postgres and Drizzle for the database and UI elements based on shadcn/ui and Tailwind.
Lee Robinson (Vercel)
nano-spawn: Tiny Execa-Inspired Process Execution for Node.js — If you’re familiar with Sindre’s Execa for running commands from a Node app in a reliable manner, nano-spawn
offers its core functionality in a smaller package.
Sindre Sorhus and ehmicky
DECK.GL: GPU-Powered Large-Scale Data Visualization Framework — Well suited to geospatial data visualization use cases that go beyond typical 2D views. There are plenty of examples to show it off. Can be used through both vanilla JS and React interfaces.
OpenJS Foundation
Vue-Multiselect 3.1: A Complete ‘Selecting Solution’ for Vue.js — There’s a lot on offer here, complete with SSR support, Vuex support, strong test coverage, and with no dependencies.
Damian Dulisz et al.
Chokidar 4.0: Efficient Cross-Platform File Watching Node.js Library — Wraps around fs.watch
/ fs.watchFile
and normalizes the events received, applies best practices, and presents an API that works the same across platforms.
Paul Miller
Express.js 4.21 – We featured Express.js 5.0 last week, but the widely deployed 4.x branch continues to get updates.
⭐ Starlight 0.28 – Astro’s official, all-in-one docs site builder.
Material UI 6.1 – Independent React components using Material Design.
Varlet 3.5 – Material Design-inspired component library for Vue 3.
Preact 10.24 – The 3KB React-compatible alternative.
NodeBB 3.9 – Node.js based forum system.
Published by Cooperpress and edited by Peter Cooper
‘JavaScript’ is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle.
#705 — 2024 年 9 月 19 日
连同
[](https ://javascriptweekly.com/link/160001/d076523b1d)
JavaScript™?每周
‘Oracle,是时候免费 JavaScript 了。’ — Oracle 拥有“JavaScript”商标一直是争论的焦点(我们在两年前)发出了呼吁,但这标志着我们第一次认真努力尝试改变这种状况,包括在必要时向美国专利商标局请愿。您可以通过签署这封公开信并加入众多 JavaScript 杰出人士的行列来支持这项工作。
JavaScript 社区
现在您可以在 JavaScript 中编译并运行 C — 好吧,如果您使用 [Bun](https://javascriptweekly.com /link/160005/d076523b1d),至少。 Bun v1.1.28 提供了对编译和本机 C 代码的实验性支持,然后从 JavaScript 运行其函数。这比听起来容易..
贾里德·萨姆纳 (Bun)
😅 Bun 的创建者说 这是 “我一个月前在周六为了好玩而开发的一个计划外功能” – 这就是我们的乐趣!
✂️ 使用 QA Wolf 将您的 QA 周期从几小时缩短到几分钟 — 如果缓慢的 QA 流程成为您和您的软件工程团队的瓶颈因此发布速度较慢,您必须查看 QA Wolf。 QA Wolf 让工程团队实现 80% 自动化端到端测试覆盖率并通过将 QA 周期从几小时缩短到几分钟来帮助他们将发货速度提高 2 倍。 了解更多。
QA Wolf 赞助商
ts-blank-space:快速类型剥离 TypeScript 到 JS 编译器 — 它的工作很简单:成为最快的 TS 到 JS用 JS 编写的编译器(比“tsc”快 5.6 倍)。类型只需用空格替换,保留 JS 代码的坐标,从而完全消除了对源映射的需要。
阿什利克莱莫尔/彭博社
简而言之:
🏆 开发者分析公司 RedMonk 发布了 2024 年第三季度编程语言排名,其中 JavaScript 稳居第一。
📺 Honeypot 发布了一部 9 分钟的纪录片,其中 Ryan Dahl(Node.js 的原始创建者)和 Bert Belder ▶️ 讲述了 Deno 是如何开始的故事。
说到 Deno,Deno 2.0 预计将于 明天 发布。
🧭 除了 macOS、iOS 和 iPadOS 的新版本之外,Safari 18 已发布。除了众多 Web API 增强功能之外,其 JS 正则表达式支持在 Unicode 方面也得到了增强。
🔥 David Bushell 尝试过 JSR – 他不喜欢它。
发布:
Fastify v5 – Fastify 是一个流行的、以性能为中心的 Node Web 框架.js,受到 Express 的启发(最近也达到了 v5.0!)
Astro 5 Beta – Astro 有助于保持 v5.0 版本的运行..
Node.js v22.9(当前) – 添加 util.getCallSite
函数来获取当前执行的堆栈跟踪。由于 V8 中的突出问题,V8 的 Maglev JIT 也因可靠性原因而被禁用。
Hono 4.6 – 漂亮的“任何运行时”网络应用框架获得了上下文存储中间件。
ViteConf 是 10 月 3 日! — StackBlitz 正在 ViteConf ‘24 主题演讲中唱响酒吧。你不会想错过它的。
StackBlitz 赞助商
📒 文章和教程
数学符号和 JavaScript 等效项 — 我们不只是谈论像 + 和 - 这样显而易见的东西,而是像 ⁿ√、Σ、Π 这样的东西, ∃,并设置符号。
约书亚·努斯鲍姆
React 19 备忘单 — 来自 Epic React 的 Kent C Dodds /160026/d076523b1d)成名,这部分是备忘单,部分是简洁地提醒您可以在 React 19 中做的一些新事情,以及(非常)简短的代码示例。
肯特·C·多兹
[研讨会]修复你的前端 101:JavaScript 版 — 学习端到端调试 JavaScript 的实用技巧。加入我们 9 月 24 日上线的 JavaScript 团队。
哨兵赞助商
从 Parcel 到 Vite:100K LOC 迁移的小故事 — “我们已经将前端项目从 Parcel 迁移到了Vite,整个过程……很顺利。”
高/洛格托
如何使用 React、TypeScript、Tailwind CSS 和 Vite 创建 Chrome 扩展 — 涵盖从发布到发布您需要了解的所有内容在 Chrome 网上应用店。
洛克曼·穆斯柳
📺 通过 9 个步骤构建 React 驱动的 TODO 应用程序 – 一段 54 秒的视频,展示了关键阶段,除了 React 之外,没有任何库。丹尼·汤普森
📄 使用 TypeScript 改进 Vue 组件的 12 种方法 Fotis Adamakis
📄 为什么我们从 Cypress 切换到 Playwright S Varun (BigBinary)
📄 JavaScript 中的位运算符以及何时使用它们 8 个爱好
📄 TanStack 路由器简介 Adam Rackis
🛠 代码和工具
date-fns v4.0 发布,提供一流的时区支持 — [date-fns](https:/ /javascriptweekly.com/link/160037/d076523b1d) 是一套非常受欢迎的综合性套件,包含 200 多个函数,用于在 JavaScript 中处理日期,现在还提供一流的时区支持。
萨莎·科斯
ts-remove-unused:从 TypeScript 项目中删除未使用的代码 — 一个可以自动修复未使用的导出的工具(从声明或基于其用途的整个声明)并删除没有引用导出的模块。 Knip 是该领域的另一个成熟工具,但更侧重于检测您可以删除的内容。
线
放大 JWT 和会话令牌的优势 — 了解如何利用会话令牌身份验证和 JWT 的优势获得最佳效果两种方法。
文员赞助人
Next.js SaaS Starter:适用于 SaaS Web 应用程序的 Next.js 模板 — 用于使用 Next 构建 SaaS 样式 Web 应用程序的入门模板。 Node.js 具有身份验证、Stripe 集成和用户仪表板。它使用 Postgres 和 Drizzle 作为基于 shadcn/ui 和 Tailwind 的数据库和 UI 元素。
李·罗宾逊(维塞尔)
nano-spawn:Node.js 的小型 Execa 启发流程执行 — 如果您熟悉 Sindre 的 [Execa](https: //javascriptweekly.com/link/160045/d076523b1d) 为了以可靠的方式从 Node 应用程序运行命令,nano-spawn
提供了其核心功能[在较小的包中](https://javascriptweekly.com/link/ 160046/d076523b1d)。
辛德尔·索尔胡斯和埃米基
DECK.GL:GPU 驱动的大规模数据可视化框架 — 非常适合超越典型 2D 视图的地理空间数据可视化用例。有大量的例子来展示它。可以通过普通 JS 和 React 接口使用。
OpenJS 基金会
Vue-Multiselect 3.1:Vue.js 的完整“选择解决方案” — 这里提供了很多内容,完整具有 SSR 支持、Vuex 支持、强大的测试覆盖率,并且没有依赖项。
达米安·杜利兹等人。
Chokidar 4.0:高效的跨平台文件监视 Node.js 库 — 围绕 fs.watch
/ fs.watchFile
和规范接收到的事件,应用最佳实践,并提供跨平台相同工作的 API。
保罗·米勒
Express.js 4.21 – 我们上周推出了 Express.js 5.0,但是广泛部署的 4.x 分支继续获得更新。
⭐ Starlight 0.28 – Astro 的官方一体化文档网站构建器。
Material UI 6.1 – 使用 Material Design 的独立 React 组件。
Varlet 3.5 – Vue 3 的受 Material Design 启发的组件库。
Preact 10.24 – 3KB React 兼容替代方案。
NodeBB 3.9 – 基于 Node.js 的论坛系统。
由 Cooperpress 出版,由 Peter Cooper 编辑
“JavaScript”是 Oracle Corporation 在美国的商标
我们未获得 Oracle 的认可或隶属于 Oracle。
发布者