前端周刊 | TC39 举行第 87 次会议; Deno 加入 TC39; Create React App V5.0.0 发布
前端周刊第四期来啦,看看这周发生了哪些新鲜事吧!
科技趣闻
1. TC39 举行第 87 次会议
2021 年 12 月 14 日至 15 日,TC39 举行第 87 次会议。此次会议的特色提案及其进展如下。
第一阶段:
Intl.Segmenter v2: JavaScript 中的 Unicode 分段,详见:https://github.com/tc39-transfer/proposal-intl-segmenter-v2
第二阶段:
RegExp 缓冲区边界: 缓冲区边界允许在单个 RegExp 中匹配行的开始/结束和输入的开始/结束使用 m 标志。详见:https://github.com/tc39/proposal-regexp-buffer-boundaries RegExp 修饰符: 能够控制正则表达式标志的子集imsx,详见:https://github.com/tc39/proposal-regexp-modifiers Array.fromAsync: 类似于Array.from,但它将异步迭代(或promises的同步迭代)转换为将解析为数组的promise。详见:https://github.com/tc39/proposal-array-from-async
第三阶段:
array-grouping:使数组项的分组更容易。详见:https://github.com/tc39/proposal-array-grouping
第四阶段:
扩展 TimeZoneName 选项:扩展Intl.DateTimeFormat对象中的 timeZoneName 选项,以支持更多格式化选项。详见:https://github.com/tc39/proposal-intl-extend-timezonename
Intl.DisplayNames v2:向 DisplayNames 对象添加更多显示名称,允许以本地化方式显示更多“项目”。详见:https://github.com/tc39/intl-displaynames-v2
2. Deno 加入 TC39
Deno 希望通过采用最新的 JavaScript 标准来成为现代 JavaScript 开发人员的最佳运行时。Deno 从根本上是为现代 JavaScript 构建的:Promises、async/await、ES 模块和异步迭代器都是一等公民。
为了确保 JavaScript 的未来演进将继续适用于 Deno 和一般的服务器端 JavaScript 运行时。Deno 公司 加入了 ECMA International,这是负责JavaScript 标准 (ECMA-262)的标准组织。
Luca Casonato 将成为 Deno 在 TC39 的主要代表,他表示,Deno 将在TC39 工作组中与其他 ECMA 成员和更广泛的 JS 社区合作,讨论 JavaScript 的下一次迭代。将推动语言的功能和改进,使所有人受益,尤其是服务器端 JavaScript 的用户。
由于 TypeScript 是 Deno 生态系统的核心部分,所以也非常有兴趣在未来推动 TypeScript 和 JavaScript 更紧密地结合。
详见:https://deno.com/blog/deno-joins-tc39
更新速递
1. Create React App V5.0.0 发布
本周,Create React App V5.0.0 发布,Create React App 是由 FaceBook 的 React 团队开发的一个构建 React 单页面应用的脚手架工具。适用于macos、Windows、linux。
本次更新主要包括:
将Webpack版本更新至v5,并更新与Webpack v5相关的依赖; 将PostCSS更新至v8; 将Jest更新至v27; 将ESLint更新至v8; 支持 Tailwind; 快速刷新的改进; 改进包管理器检测; 不再支持 Node 10 和 12。
详见:https://github.com/facebook/create-react-app/releases/tag/v5.0.0
2. Node V17.3.0 发布
Node.js发布了17.3.0版本,更新内容详见:https://nodejs.org/en/blog/release/v17.3.0/
3. Ruby on Rails V7.0.0 发布
Ruby on Rails 7 是 Web 应用程序框架的最新版本,现已作为生产版本提供。此更新采用全栈式 Web 开发方法,并支持 JavaScript 改进。该版本删除了对 Node.js 和 Webpack 的要求,同时支持 NPM 和 ES 模块导入。
详见:https://www.infoworld.com/article/3645356/ruby-on-rails-7-rejiggers-javascript-support.html#tk.rss_javascript
开源前线
这部分来看看本周GItHub有哪些热门的JavaScript项目。
1. Tabby
Tabby(原名 Terminus)是一个高度可配置的终端模拟器、SSH 和串行客户端,适用于 Windows、macOS 和 Linux。
特性:
集成的 SSH 客户端和连接管理器 集成的串行终端 主题设计和色彩方案 完全可配置的快捷键 分割窗格 记忆你的标签 支持 PowerShell(和 PS Core)、WSL、Git-Bash、Cygwin、Cmder 和 CMD 通过 Zmodem 在 SSH 会话中直接传输文件 完全支持 Unicode,包括双角的字符 在 Windows 上有适当的 shell 体验,包括标签完成(通过 Clink)。 为 SSH secrets 和配置提供集成的加密容器
功能:
一个 V220 终端+各种扩展 多个嵌套分割窗格 在窗口的任何一侧都有标签 可选的可停靠窗口,有一个全局生成热键 进程检测 进程完成时的通知 自定义 shell 配置文件 可选的 RMB 粘贴和复制选择(PuTTY风格)
Star⭐:24.9k
本周Star⭐️:1878
GitHub地址:https://github.com/Eugeny/tabby
2. WantWords
WantWords (万词王)一个反向词典系统,通过描述想要表达的意思来进行词语查找,由清华大学自然语言处理与社会人文计算实验室创建。
所谓的反向字典就是与提供查询词定义的常规(正向)词典相反,反向词典返回语义匹配查询描述的词。
体验地址:https://wantwords.thunlp.org/home/
Star⭐:3.6k
本周Star⭐️:902
GitHub地址:https://github.com/appsmithorg/appsmith
3. tailwindcss
tailwindcss是一个实用的 CSS 框架,用于快速构建自定义用户界面。Tailwind CSS 是一个功能类优先的 CSS 框架,它集成了诸如 flex, pt-4, text-center 和 rotate-90 这样的的类,它们能直接在脚本标记语言中组合起来,构建出任何设计。
Star⭐:50.9k
本周Star⭐️:736
Github地址:https://github.com/tailwindlabs/tailwindcss
4. javascript-algorithms
javascript-algorithms 包含了多种基于 JavaScript 的算法与数据结构。每种算法和数据结构都有自己的 README,包含相关说明和链接,以便进一步阅读。
Star⭐:129k
本周Star⭐️:596
Github地址:https://github.com/trekhleb/javascript-algorithms
5. floating-ui
floating-ui用于定位“浮动”元素,如工具提示、弹出框、下拉菜单、菜单等。由于这些类型的元素漂浮在 UI 顶部而不会中断内容流,因此在定位它们时会出现挑战。使用该库就会使这些UI 的实现变得简单。
Star⭐:18.9k
本周Star⭐️:282
Github地址:https://github.com/floating-ui/floating-ui
工具推荐
1. quick-lint-js
quick-lint-js 是一个类似于ESLint的JavaScript程序错误检查工具,官方称quick-lint-js比ESLint快110倍,是世界上最快的 JavaScript 编辑器插件。对于语法错误,比 ESLint 更好的错误报告。官方提供了VS Code、Emacs、Vim、Neovim插件。
quick-lint-js 与 ESlint 的对比如下:
官方网站:https://quick-lint-js.com/
2. Bookmarks
Bookmarks 是一个VS Code插件。它可以帮助我们在代码中导航,快速地在重要位置之间移动。不再需要搜索代码。它还支持一组选择命令,允许选择书签线和书签线之间的区域。它对日志文件分析非常有用。
添加的标题如下:
快捷键如下:
快捷键 | 功能 |
---|---|
Ctrl+alt+K | 创建或消除书签 |
Ctrl+alt+J | 跳转到前一个书签 |
Ctrl+alt+L | 跳转到后一个书签 |
3. Git Automator
Git Automator 是一个VS Code插件,主要用来自动化Git提交消息和 Git 工作流程。它允许用一个快捷方式添加和提交文件。它还为提交信息提供了自动填充功能。当动作很明显时,例如你删除了一个文件,Git Automator 会猜测该动作并将其添加到预填充的提交消息中。
4. PptxGenJS
PptxGenJS 是一个使用 JavaScript 构建 PowerPoint 演示文稿的库,并与 Node、Angular、React 和 Electron 集成。使用与 Apple Keynote 和其他演示工具兼容的 Open Office XML。
官网地址:https://gitbrent.github.io/PptxGenJS/
5. Library Detector
Library Detector 是一个 Google Chrome 扩展程序,使用它可以轻松查看网站使用的 Javascript 技术。
插件地址:https://chrome.google.com/webstore/detail/library-detector/cgaocdmhkmfnkdkbnckgmpopcbpaaejo
文章推荐
1. 深入解析Javascript异步编程
异步编程是JavaScript中很重要的一个点,本文主要从回调函数开始,按照出现时间的顺序介绍了几种常见的异步编程方式。
2. 玩转 JavaScript 数组
数组是我们平时用的最多的数据类型之一,本文从基础、方法、使用技巧、类数组、常见操作等方面对数组进行了全面解析。
3. 30 款 VS Code主题,总有一款适合你!
本文分享了30款 VS Code代码主题,换一个喜欢的主题,心情都好了很多!总有一款适合你~
4. 40+ JavaScript操作符,你都知道吗?
本文主要介绍了JavaScript中40多个操作符,有些是常用的操作符,有些时候不常用的,但是我们都需要有所了解,以免看到老项目的代码时一脸懵。
5. 2021年 JavaScript 使用趋势
上周分享了 2021年CSS的使用趋势,本周来看看JavaScript在2021年的使用趋势,内容翻译自HTTP Archive 的调查分析结果。
本期前端周刊到这里就结束了,本刊每周日晚更新。如果觉得有用就点个赞和关注吧~