Now vibe coding, so learning hammer FE ?
《probe-image-size:无需完整下载即可获取图片尺寸》

标签:#NodeJS #ImageProcessing #ProbeImageSize #StreamParsing #ImageMetadata #PerformanceOptimization

总结:
probe-image-size 是一款轻量级 Node.js 库,能在不下载完整图片的情况下快速探测图片尺寸与类型。它支持 URL、Stream 和 Buffer 三种输入方式,覆盖 JPG/PNG/WebP/AVIF/HEIC 等主流格式,通过流式解析仅读取文件头部信息,对大图和远程资源特别省内存、省带宽,是图片预处理场景的理想选择。

文章要点:
- 支持超多种格式:JPG、GIF、PNG、WebP、BMP、TIFF、SVG、PSD、ICO、AVIF、HEIC、HEIF 统统能读,覆盖面很广
- 流式探测超省资源:不需要把整张大图拉下来,只读取文件头部就能算出宽高,远程大图也能秒开,内存和带宽都友好
- 三种输入方式任选:可以直接传网址自动下载探测,也可以丢文件流或 Buffer 进去,同步异步 API 都有,接入很灵活
- 额外信息一并返回:除了宽高,还会带回图片类型、MIME、方向角(Orientation),ICO 和 AVIF 还能拿到多尺寸变体列表
- 安全提示要记牢:对于不可信来源的图片,返回的宽高值别直接信任,建议在自己的业务里再加一层范围校验

文章URL:https://github.com/nodeca/probe-image-size GitHub - nodeca/probe-image-size: Get image size without full download. Supported image types: JPG, GIF, PNG, WebP, BMP, TIFF,…
《node-html-to-text:HTML转纯文本转换器》

标签:#NodeJS #工具库 #HTML解析 #文本转换 #数据提取 #内容处理

总结:
node-html-to-text 是一款成熟的 Node.js 库,用于将 HTML 文档解析并转换为格式优美的纯文本。它通过类 CSS 的 selectors 机制实现高度灵活的格式化控制,支持表格、链接、列表等复杂结构,并提供 compile 预编译模式以优化批量处理性能。

文章要点:
- **核心能力**:支持行内/块级标签、表格(含跨行跨列)、链接、自动换行、Unicode 等,能把复杂 HTML 干净地转成可读文本
- **两种使用模式**:`convert() 适合单次转换;`compile() 预编译配置后批量处理,性能更优,推荐处理大量文档时使用
- **Selectors 驱动配置**:采用类似 CSS 的 selectors 数组来匹配元素并指定格式化方式,支持标签、类名、ID、属性等组合选择,特异性高的规则优先生效
- **丰富的自定义扩展**:可通过 formatters 注册自定义格式化函数,还能传入 metadata 让 formatter 访问额外上下文信息,满足特殊业务需求
- **版本演进清晰**:v8 引入 selectors 体系,v9 支持 ESM/CJS 双模式并移除大量废弃选项,v10 要求 Node.js 20.19.0+,API 趋于稳定现代

文章URL:https://github.com/html-to-text/node-html-to-text GitHub - html-to-text/node-html-to-text: Advanced html to text converter
《Optique:TypeScript 类型安全的 CLI 解析器》

标签:#CLI #TypeScript #ShellCompletion #ParserCombinator #NodeJS #Deno #Bun

总结:
Optique 是一款面向 TypeScript 的类型安全 CLI 解析器库,灵感源自 Haskell 的 optparse-applicative 与 TypeScript 的 Zod。它采用函数式组合子(combinator)架构,通过组合小型类型安全解析器构建复杂 CLI,TypeScript 自动推断解析结果类型。支持标志、选项、子命令、选项间依赖、环境变量绑定、交互式提示、配置文件集成、Shell 补全及 man 手册生成,并可在 Deno、Node.js 与 Bun 上运行。1.0.0 版本新增 @optique/env 环境变量包与 @optique/prompt 交互式提示包,同时修复了 Shell 补全、帮助输出与值解析中的数百项问题 。

文章要点:
- 类型安全组合子架构:用函数式组合子拼装小型解析器,TypeScript 自动推断解析结果类型,编译时保证安全,解析器结构本身即运行时校验规则 。
- 零重复定义的智能 Shell 补全:支持 Bash、zsh、fish、PowerShell、Nushell 五大 Shell,补全逻辑直接复用解析器结构,无需额外维护补全定义,选项、参数与 choice() 值自动同步 。
- 灵活的集成扩展:提供 @optique/env 环境变量回退、@optique/config 配置文件级联、@optique/prompt 交互式提示、@optique/zod@optique/valibot 桥接,以及 @optique/temporal 日期时间解析等生态包 。
- 1.0 正式版成熟稳定:2026 年 4 月发布的 1.0.0 完成 API 清理,新增 fail<T>() 解析器、validateValue() 校验、normalize() 规范化与细粒度 hidden 控制,并修复了数百项补全、帮助与解析问题 。

文章URL:https://optique.dev/
《2026年JavaScript生态全景指南》

标签:#前端 #JavaScript #ECMAScript2025 #ECMAScript2026 #React #Vue #Svelte #NodeJS #TypeScript #Vite #Bun #Deno #TemporalAPI #IteratorHelpers #ImportAttributes

总结:
本文全面梳理了2026年JavaScript生态系统的最新发展,涵盖ECMAScript 2025(迭代器助手、Set方法、Promise.try等)和2026预期特性(Temporal API、资源管理),React/Vue/Svelte框架动态,Node.js原生TypeScript支持、Bun和Deno运行时竞争,Vite 8与Turbopack构建工具演进,TypeScript v6及AI编程趋势。文章强调掌握基础原理比追逐工具更重要,特别是在AI辅助编程时代,架构能力和代码品味尤为关键。

文章要点:
- **ECMAScript 2025超实用新玩具**:迭代器终于能链式调用`.map().filter()`啦,而且是惰性求值不耗内存;Set之间可以玩集合运算,轻松找出技能交集和差集;`Promise.try()`让同步异步错误一网打尽;还有`RegExp.escape()`终于解决了用户搜索时特殊字符炸正则的问题~

- **2026年最期待的Temporal API**:Date对象终于被拯救了!处理时区和日期计算不会再莫名其妙多出几天,浏览器原生支持即将到来,告别 moment.js 大礼包的时代要来啦~

- **框架圈的大新闻**:React 19的Server Components和Compiler还在消化中,Vue 3.6祭出Vapor Mode性能大招,Svelte 5的Runes API让响应式更细粒度; Next.js 16默认切到Turbopack,Astro被Cloudflare抱走,Remix正在酝酿去React化的大胆实验~

- **运行时三国杀**:Node.js 22+能直接跑.ts文件啦(虽然只是剥离类型),Bun被Anthropic(Claude家)收编后1.3版本速速飞起,Deno 2稳如老狗主打安全牌,三足鼎立格局越来越有意思~

- **TypeScript登顶GitHub第一**:v6严格模式默认开启,v7要用Go重写编译器提速10倍;92%的开发者都在用AI写代码,但文章提醒我们——基础原理和架构品味才是AI时代真正的护城河呀!

文章URL:https://frontendmasters.com/blog/what-to-know-in-javascript-2026-edition/ What To Know in JavaScript (2026 Edition)
《TypeScript 6.0 正式发布:迈向原生编译器的重要桥梁》

标签:#前端 #TypeScript #TS6 #TS7 #ESM #NodeJS #Compiler

总结:

TypeScript 6.0 是连接 5.9 与即将发布的 Go 语言重写版 7.0 的关键过渡版本,也是基于当前 JavaScript 代码库的最后一个主要版本。本次更新带来多项实用新特性,包括更智能的无 this 函数类型推断、支持 #/ 开头的子路径导入、内置 Temporal API 类型、Map 的 getOrInsert 方法等。同时,大量旧配置项被标记为废弃(如 target: es5`、`baseUrl`、AMD/UMD 模块等),`strictmodule 等选项的默认值也更现代化。这些调整旨在帮助开发者提前适配 TypeScript 7.0 的全新架构。

文章要点:

- 过渡版本定位**:TS 6.0 是基于 JS 代码库的最后一个版本,TS 7.0(Go 重写版)已接近完成,6.0 的改动主要为 7.0 铺路
- **类型推断更聪明**:不再把未使用 `this` 的方法语法函数视为上下文敏感函数,让属性顺序不影响类型推导,写代码更随心所欲
- **子路径导入更简洁**:终于支持 `#/*` 这种干净的别名写法,告别之前必须写 `
#root/*` 的冗余,和打包工具里的 `@/` 习惯更接近了
- **全新内置类型**:Temporal API 正式入驻(处理日期时间更靠谱),Map 新增 `getOrInsert` 和 `getOrInsertComputed` 方法,告别繁琐的"有则取无则设"模式
- **配置默认值现代化**:`strict` 默认开启,`module` 默认 `esnext`,`target` 默认当前年份(es2025),新项目开箱即用更严格、更现代
- **性能优化相关**:`types` 默认改为空数组(需显式声明如 `["node"]`),`libReplacement` 默认关闭,构建速度有望提升 20-50%
- **大量废弃项需留意**:`target: es5`、`baseUrl`、`moduleResolution node`、AMD/UMD/SystemJS 模块、`outFile`、`module` 关键字声明命名空间等都将退出历史舞台,建议尽早迁移
- **迁移辅助工具**:提供 `--stableTypeOrdering` 标志帮助对比 6.0 与 7.0 的差异,`ts5to6` 工具可自动调整 `baseUrl` 和 `rootDir` 配置

**文章URL:

https://devblogs.microsoft.com/typescript/announcing-typescript-6-0/ Announcing TypeScript 6.0
 
 
Back to Top