阅读视图

发现新文章,点击刷新页面。
🔲 ☆

草梅 Auth 1.4.0 发布与 ESLint v9 更新 | 2025 年第 33 周草梅周报

本文在 草梅友仁的博客 发布和更新,并在多个平台同步发布。如有更新,以博客上的版本为准。您也可以通过文末的 原文链接 查看最新版本。

前言

欢迎来到草梅周报!这是一个由草梅友仁基于 AI 整理的周报,旨在为您提供最新的博客更新、GitHub 动态、个人动态和其他周刊文章推荐等内容。


本周依旧在开发 草梅 Auth 中。

你也可以直接访问官网地址:https://auth.cmyr.dev/
文档地址:https://auth-docs.cmyr.dev/

本周 草梅 Auth 发布了 1.4.0 版本。

本周主要优化了邮件模板、日志输出、隐私保护、 Google Analytics/百度统计集成等模块。

现在基于 mjml 实现了新的、更加现代化邮件模板,比之前的纯文本邮件好看的多。

image-20250817205742716

添加 Axiom 了日志传输支持,现在,您可以通过 Axiom 来记录日志,以避免部分云函数平台(例如 Vercel)只能查询短时间内日志的问题。

在环境变量中添加 AXIOM_DATASET_NAMEAXIOM_API_TOKEN 启用 Axiom 记录日志。

image-20250817210226246

在生产环境中,涉及用户隐私的数据会被脱敏后输出(例如 IP 地址、邮箱、手机号码等)。

例如,上图中发现 GPTBot 经常访问草梅 Auth,可以考虑禁用。

添加 NUXT_PUBLIC_BAIDU_ANALYTICS_IDNUXT_PUBLIC_GOOGLE_ANALYTICS_ID 环境变量即可启用百度统计或 Google Analytics 集成。

具体配置见集成指南

如果想了解如何部署和使用项目,可以参考文档的内容,也欢迎补充文档缺失的内容。

如果你对草梅 Auth 感兴趣,欢迎参与开发和测试。


本周也久违的对 eslint-config-cmyrstylelint-config-cmyr 这两个代码检测规范进行了更新。

其中 eslint-config-cmyr 更是进行了 BREAKING CHANGE,只为了支持最新的 ESLint v9

ESLint 在 v9 版本进行了很多重大更新,因此 v9 之前的配置文件全部失效,需要重新配置。

老实说 ESLint 发布 v9 版本也有一段时间了,但笔者一直没有更新,也是有点偷懒了。

不过,由于笔者的项目中都是统一采用自己编写的 eslint-config-cmyr 作为 ESLint 的配置,所以可以通过一个包来完成配置更新,省了一部分重复配置的时间。

不过因为还存在 peerDependencies 变更,所以还免不了手动更新相关依赖

这次的主要更新还是把 JS/TS/Vue/React/Nuxt 等的 ESLint 配置都升级到了 ESLint v9,移除了不再受支持的格式相关规则。

不过,还是通过 @stylistic/eslint-plugin 重新添加了一些格式相关的规则。

就我个人认为,代码风格相关的配置确实是一个非常主观的事情,所以我认为每位开发者最好都能自己编写一个专门的代码格式相关的包,然后应用在自己的项目中,来确保项目风格的统一。

当然了,也不是所有人都有精力去写一个自己风格的包,所以,你也可以使用别人已经写好的包,例如 @stylistic/eslint-plugineslint-config-cmyr 等。

总之,在一个项目中,还是要确保代码风格的统一的。

GitHub Release

eslint-config-cmyr

v2.0.0-beta.4 - 2025-08-17 19:55:50

摘要:
版本 2.0.0-beta.4 摘要:

主要更新内容:

  • 新增了对 Nuxt.js ESLint 配置的更新
  • 增加了对新文件类型的支持
  • 替换了测试文件

v2.0.0-beta.3 - 2025-08-17 19:36:50

摘要:
版本摘要:2.0.0-beta.3 (2025-08-17)

主要更新内容:

新增功能:

  • 添加了对 Nuxt.js 框架的配置支持
  • 更新了 package.json 文件,包含 Nuxt.js 相关的配置文件和测试命令

v2.0.0-beta.2 - 2025-08-17 19:15:14

摘要:
版本 2.0.0-beta.2 更新摘要:

错误修复:

  • 更新 Vue.js ESLint 规则,新增多项规则提升代码质量
  • 调整代码检查策略,注释部分 ESLint 规则
  • 新增 ESLint 规则以增强代码质量和一致性
  • 新增对 TS/TSX 文件的支持,并添加测试文件

v2.0.0-beta.1 - 2025-08-17 16:05:10

摘要:
版本 2.0.0-beta.1 摘要:

新功能:

  • 升级至 ESLint v9 版本
  • 新增 JS 插件和全局变量支持
  • 增加对 JSX 和 TypeScript 文件的支持
  • 添加 stylistic 相关配置
  • 新增 Vue.js 配置文件,支持 TypeScript 和 JSX
  • 新增浏览器、React 和 Vue.js 的配置文件

错误修复:

  • 修正测试脚本中的配置文件路径
  • 更新 Node.js 最低版本要求至 16
  • 移除未使用的依赖项
  • 统一 ESLint 规则格式

重大变更:

  • 升级至 ESLint v9,不再支持旧版本

caomei-auth

v1.4.0 - 2025-08-16 20:30:47

摘要:
版本 1.4.0 摘要 (2025-08-16)

代码重构:

  • 邮件模块:移除测试端点、简化返回信息、更新模板样式、删除未使用功能
  • 日志系统:改用 Winston 替代 Consola,增强文件日志功能,统一日志级别标准
  • 导航功能:优化页面导航处理,新增文档跳转函数
  • 电话号码处理:优化导入方式

新功能:

  • 新增服务信息 API 端点
  • 增强数据库日志记录功能
  • 添加日期格式化工具
  • 邮件系统:新增验证服务和 MJML 模板支持
  • 国际化支持:集成语言检测和管理
  • 日志增强:添加敏感数据检查、Axiom 传输支持
  • 隐私保护:新增邮箱/手机号脱敏处理
  • 统计分析:集成 Google Analytics 和百度统计

Bug 修复:

  • 数据库:完善初始化日志和测试环境支持
  • 日志系统:调整日志级别和错误处理格式
  • 电话号码:修复区域代码映射问题
  • 隐私政策:更新第三方服务说明和 Cookie 使用说明
  • 配置文件:修复 tsconfig 格式问题
  • 日期处理:统一使用 dayjs 格式化

最新 GitHub 加星仓库

  • CaoMeiYouRen starred mcp - 2025-08-17 00:47:07
    Browser MCP 是一个模型上下文提供服务器,使 AI 应用能够控制用户浏览器。该项目主要使用 TypeScript 语言开发,目前在 GitHub 上获得 3691 个星标。
  • CaoMeiYouRen starred prompts - 2025-08-15 11:23:31
    AI 相关笔记项目,包含多种语言内容,已获得 881 个星标关注。
  • CaoMeiYouRen starred winston - 2025-08-12 18:43:10
    JavaScript 日志记录工具,拥有 23,891 个星标
  • CaoMeiYouRen starred consola - 2025-08-12 18:16:42
    优雅的 Node.js 和浏览器控制台日志工具,使用 TypeScript 编写,获得 6794 星标
  • CaoMeiYouRen starred qBittorrent - 2025-08-10 23:08:06
    qBittorrent 是一款基于 C++编写的 BitTorrent 客户端,在 GitHub 上获得了 32564 个星标。

其他博客或周刊推荐

阮一峰的网络日志

HelloGitHub 热点速览

阿猫的博客

潮流周刊

二丫讲梵的学习周刊

总结

本周的更新和动态如上所示。感谢您的阅读!
您可以通过以下方式订阅草梅周报的更新:

往期回顾

本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/2025-33-caomei-weekly-caomei-auth-1-4-0-eslint-v9.html
版权声明:本文采用 CC BY-NC-SA 4.0 协议 进行分发,转载请注明出处!

🔲 ☆

草梅 Auth 1.5.0 发布与自动化发包经验 | 2025 年第 35 周草梅周报

本文在 草梅友仁的博客 发布和更新,并在多个平台同步发布。如有更新,以博客上的版本为准。您也可以通过文末的 原文链接 查看最新版本。

前言

欢迎来到草梅周报!这是一个由草梅友仁基于 AI 整理的周报,旨在为您提供最新的博客更新、GitHub 动态、个人动态和其他周刊文章推荐等内容。


本周依旧在开发 草梅 Auth 中。

你也可以直接访问官网地址:https://auth.cmyr.dev/
文档地址:https://auth-docs.cmyr.dev/

本周 草梅 Auth 发布了 1.5.0 版本。

本周的主要改动是添加了快速登录功能,以及增加了用户名登录的自定义启用功能。

快速登录支持通过邮箱或短信验证码来一键登录注册,简化了用户注册,降低了用户注册的门槛,以提高转化率。

你也可以通过该链接试用:https://auth.cmyr.dev/quick-login

image-20250831184631454

此外,用户名字段也进行了调整,现在可以在注册时只输入昵称,同时可以禁用用户名登录。

image-20250831184833435

image-20250831184850741

如果想了解如何部署和使用项目,可以参考文档的内容,也欢迎补充文档缺失的内容。

如果你对草梅 Auth 感兴趣,欢迎参与开发和测试。


继前几周对 eslint-config-cmyrstylelint-config-cmyr 等仓库进行了升级更新后,本周也对更多代码库进行了更新。

例如 cz-conventional-changelog-cmyrsemantic-release-cmyr-configcommitlint-config-cmyrconventional-changelog-cmyr-config 等。

基本上都是把代码从 cjs 模块升级到了 esm 模块,同时也通过 tsdown 来构建 cjs 版本,以加强包的兼容性。

此外,最低 Node.js 版本也提升到了 18.0 ,是目前 Node.js LTS 版本的范围,以减少漏洞。

除了包的更新之外,这次也主要来分享一下我是如何做项目的版本更新的。

草梅 Auth 为例,是通过 semantic-release 实现的自动发版、生成更新日志。

首先添加上 semantic-release 的配置文件

1
2
3
4
5
6
/**
* @type {import('semantic-release').GlobalConfig}
*/
export default {
extends: ["semantic-release-cmyr-config"],
};

此处采用我自定义的 semantic-release-cmyr-config 作为配置,集成了 GitHub、Npm 等插件,可以同时在 GitHub、Npm 实现发包。

至于版本号的升级,也是由 semantic-release 实现。

通过提交特定的 Git Commit 来确定是小版本还是大版本升级,日志也会根据此生成。

image-20250831190400974

然后通过 commitlint 约束提交的 Git Commit 必须为指定格式。此处采用的规范为自定义的 commitlint-config-cmyr

然后为了方便生成 Commit,可以通过 commitizen 来提交 Commit。此处采用的规范为自定义的 cz-conventional-changelog-cmyr

不过,由于最近用 AI 比较多,所以减少了通过 commitizen 提交的 commit 。

接下来,日志采用 conventional-changelog 进行生成,该功能以集成在 semantic-release 中。此处采用的规范为自定义的 conventional-changelog-cmyr-config

至于 eslint-config-cmyrstylelint-config-cmyr ,则是代码开发过程中的格式化规范。

最后,则是把项目推送到 GitHub Action 进行构建和发包。

如此一来,一个自动化发包的流程就完成了。

此处还有一个小细节,semantic-release 也是支持预发布的,所以可以先把代码提交到 beta 分支,发一个 beta 包出来,然后在合并回 master 分支发正式的包。

eslint-config-cmyr 为例,就发了快 17 个预发布包。

image-20250831191641304

通过发 beta 包,可以在不影响当前包正式版本的情况下,对包进行功能测试,确保之后正式发布的稳定。

以上就是一些有关项目自动化发包的经验分享,希望对你有所帮助。

最新 GitHub 仓库

GitHub Release

afdian-linker

v1.4.2 - 2025-08-30 20:20:49

摘要:
版本 1.4.2 (2025-08-30) 主要包含以下 Bug 修复:

依赖项更新:升级 @vueuse/core 至 v13.7.0
依赖项更新:升级 zod 至 v4.1.1

caomei-auth

v1.5.0 - 2025-08-30 20:28:24

摘要:
版本 1.5.0 更新摘要:

新功能:添加快速登录页面和智能输入功能,支持邮箱、手机号和用户名登录;新增隐私模式切换功能,优化邮箱和手机号显示逻辑;优化输入区域和验证码发送逻辑,添加手机号输入框和区域选择器;统一社交平台品牌色定义,新增辅助工具函数;重构样式导入,新增全局样式文件。

Bug 修复:修复用户名规范化变更,添加 OpenID 用户 ID 声明;更新所有非主要依赖;添加快速登录页面跳转功能;调整匿名登录密码输入框行高;修复用户信息更新时用户名获取逻辑;添加错误色的深色变量并更新相关样式。

代码重构:更新隐私模式下用户 ID 和用户名显示逻辑,添加用户名脱敏处理;注册时不再要求设置用户名,改为设置昵称。

eslint-config-cmyr

v2.0.0 - 2025-08-27 22:25:02

摘要:
版本 2.0.0 主要更新:升级 ESLint 至 v9,不再支持低版本。新增 import 插件条件加载和规则支持,扩展对 JS、TS、Vue、JSX、Nuxt.js 的文件类型支持,添加 stylistic 代码风格配置。重构配置结构,提取公共变量简化文件。修复 props 类型检查、路径导入、规则级别等问题,更新 Node.js 要求至 >=16,优化多项代码质量和一致性规则。

stylelint-config-cmyr

v1.0.0 - 2025-08-27 17:31:46

摘要:
版本 1.0.0 (2025-08-27) 更新摘要:

新功能:Node.js 版本要求提升至 18;Stylelint 配置新增对 Vue 和 SCSS 文件的支持;添加 SCSS 和 Vue 特有的样式规则。

Bug 修复:更新 Stylelint 配置,添加 SCSS 嵌套规则设置;确保 postcss-html 和 postcss-scss 为必需依赖;增强颜色相关规则;移除不必要的 stylelint-config-rational-order 依赖。

cz-conventional-changelog-cmyr

v2.0.0 - 2025-08-27 19:06:20

摘要:
版本 2.0.0 主要更新包括:优化了 breaking change 处理逻辑和提交信息构建逻辑,支持从多个字段合并主体内容;改进了 commitlint 加载方式和配置加载,确保兼容性并支持从配置获取提示信息;更新 Node.js 版本要求至 20.10;添加了深度合并配置对象功能。修复了 breaking change 处理逻辑、commitizen 依赖重复定义、模块导出方式等问题;调整了 commitizen 配置路径和 Node 最低版本要求;修正了导入语法以支持 JSON 类型声明;移除了部分依赖并优化了类型定义。代码重构方面优化了兼容性处理、issuesBody 处理逻辑和配置对象接口。此版本为重大更新,全面升级了项目依赖并增加了 ESM 模块支持。

commitlint-config-cmyr

v1.0.0 - 2025-08-27 20:48:30

摘要:
版本 1.0.0 (2025-08-27) 摘要:

新功能:完成功能开发。

Bug 修复:优化描述文本,去除多余换行符;更新 emoji 表情以增强提交信息的可读性;更新文档更改和其他类型的 emoji 表情以增强可读性。

conventional-changelog-cmyr-config

v3.0.0 - 2025-08-27 21:11:34

摘要:
版本 3.0.0 主要更新:全面迁移自定义日志标题配置;升级至 ESM 模块,最低 Node.js 版本提升至 18,并更新要求至 >=20.10;添加 TypeScript 支持,重构项目结构和构建配置。Bug 修复包括增强类型安全性、修改插件发布配置、更新 changelog 配置禁用作者信息显示、修复路径和依赖问题。代码重构涉及删除不再使用的文件,增强类型定义和可维护性。破坏性变更:项目重构为 TypeScript,升级到 ESM 模块并提升 Node.js 版本要求。

semantic-release-cmyr-config

v1.0.0 - 2025-08-27 21:33:36

摘要:
版本 1.0.0 发布摘要:

新功能:更新构建配置和清理环境模块。

Bug 修复:更新 conventional-changelog-cmyr-config 依赖至 3.0.0-beta.3,添加 pnpm overrides 配置;更新 conventional-changelog-conventionalcommits 依赖至 8.0.0 和 9.1.0,重构 release.config.js 配置;更新 devDependencies,添加 @semantic-release 相关依赖;简化 release.config.js 配置,直接导入配置文件;添加 @semantic-release/error、@semantic-release/github、@semantic-release/npm 依赖;移动 conventional-changelog-cmyr-config 至 devDependencies;移除不必要的 semantic-release 依赖,更新 peerDependencies 版本要求;移除不必要插件配置;调整依赖分类,添加 peerDependencies 支持。

最新 GitHub 加星仓库

  • CaoMeiYouRen starred vibe-kanban - 2025-08-28 14:01:47
    使用 Rust 语言开发的 AI 编程代理管理看板项目,目前获得 4303 个星标。该项目专注于通过看板系统有效管理 AI 编程代理的工作流程。
  • CaoMeiYouRen starred airi - 2025-08-28 14:01:31
    自主托管的 Grok 伴侣项目,用户可拥有虚拟伴侣容器,集成实时语音聊天功能并支持 Minecraft、Factorio 等游戏交互。采用 Vue 作为主要开发语言,兼容 Web、macOS 和 Windows 多平台,目前获得 11963 个星标关注。项目致力于通过虚拟实体交互技术提升用户体验。
  • CaoMeiYouRen starred PicGo-Core - 2025-08-28 01:27:01
    图片上传工具,支持命令行界面和 API 接口。主要编程语言为 TypeScript,项目获得 906 个星标。
  • CaoMeiYouRen starred VibeVoice - 2025-08-28 01:26:58
    Frontier 开源文本转语音项目使用 Python 作为主要编程语言,在 GitHub 上获得 6217 个星标。该项目专注于文本转语音技术开发,提供开源解决方案。
  • CaoMeiYouRen starred searxng - 2025-08-28 01:26:52
    SearXNG 是一个免费的互联网元搜索引擎,它聚合来自多个搜索服务和数据库的结果。该引擎不跟踪也不分析用户行为。主要开发语言为 Python,在 GitHub 上获得 21545 个星标。

其他博客或周刊推荐

阮一峰的网络日志

HelloGitHub 月刊

潮流周刊

二丫讲梵的学习周刊

总结

本周的更新和动态如上所示。感谢您的阅读!
您可以通过以下方式订阅草梅周报的更新:

往期回顾

本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/2025-35-caomei-weekly-caomei-auth-1-5-0-automated-release.html
版权声明:本文采用 CC BY-NC-SA 4.0 协议 进行分发,转载请注明出处!

🔲 ☆

草梅 Auth 1.4.0 发布与 ESLint v9 更新 | 2025 年第 33 周草梅周报

本文在 草梅友仁的博客 发布和更新,并在多个平台同步发布。如有更新,以博客上的版本为准。您也可以通过文末的 原文链接 查看最新版本。

前言

欢迎来到草梅周报!这是一个由草梅友仁基于 AI 整理的周报,旨在为您提供最新的博客更新、GitHub 动态、个人动态和其他周刊文章推荐等内容。


本周依旧在开发 草梅 Auth 中。

你也可以直接访问官网地址:https://auth.cmyr.dev/
文档地址:https://auth-docs.cmyr.dev/

本周 草梅 Auth 发布了 1.4.0 版本。

本周主要优化了邮件模板、日志输出、隐私保护、 Google Analytics/百度统计集成等模块。

现在基于 mjml 实现了新的、更加现代化邮件模板,比之前的纯文本邮件好看的多。

image-20250817205742716

添加 Axiom 了日志传输支持,现在,您可以通过 Axiom 来记录日志,以避免部分云函数平台(例如 Vercel)只能查询短时间内日志的问题。

在环境变量中添加 AXIOM_DATASET_NAMEAXIOM_API_TOKEN 启用 Axiom 记录日志。

image-20250817210226246

在生产环境中,涉及用户隐私的数据会被脱敏后输出(例如 IP 地址、邮箱、手机号码等)。

例如,上图中发现 GPTBot 经常访问草梅 Auth,可以考虑禁用。

添加 NUXT_PUBLIC_BAIDU_ANALYTICS_IDNUXT_PUBLIC_GOOGLE_ANALYTICS_ID 环境变量即可启用百度统计或 Google Analytics 集成。

具体配置见集成指南

如果想了解如何部署和使用项目,可以参考文档的内容,也欢迎补充文档缺失的内容。

如果你对草梅 Auth 感兴趣,欢迎参与开发和测试。


本周也久违的对 eslint-config-cmyrstylelint-config-cmyr 这两个代码检测规范进行了更新。

其中 eslint-config-cmyr 更是进行了 BREAKING CHANGE,只为了支持最新的 ESLint v9

ESLint 在 v9 版本进行了很多重大更新,因此 v9 之前的配置文件全部失效,需要重新配置。

老实说 ESLint 发布 v9 版本也有一段时间了,但笔者一直没有更新,也是有点偷懒了。

不过,由于笔者的项目中都是统一采用自己编写的 eslint-config-cmyr 作为 ESLint 的配置,所以可以通过一个包来完成配置更新,省了一部分重复配置的时间。

不过因为还存在 peerDependencies 变更,所以还免不了手动更新相关依赖

这次的主要更新还是把 JS/TS/Vue/React/Nuxt 等的 ESLint 配置都升级到了 ESLint v9,移除了不再受支持的格式相关规则。

不过,还是通过 @stylistic/eslint-plugin 重新添加了一些格式相关的规则。

就我个人认为,代码风格相关的配置确实是一个非常主观的事情,所以我认为每位开发者最好都能自己编写一个专门的代码格式相关的包,然后应用在自己的项目中,来确保项目风格的统一。

当然了,也不是所有人都有精力去写一个自己风格的包,所以,你也可以使用别人已经写好的包,例如 @stylistic/eslint-plugineslint-config-cmyr 等。

总之,在一个项目中,还是要确保代码风格的统一的。

GitHub Release

eslint-config-cmyr

v2.0.0-beta.4 - 2025-08-17 19:55:50

摘要:
版本 2.0.0-beta.4 摘要:

主要更新内容:

  • 新增了对 Nuxt.js ESLint 配置的更新
  • 增加了对新文件类型的支持
  • 替换了测试文件

v2.0.0-beta.3 - 2025-08-17 19:36:50

摘要:
版本摘要:2.0.0-beta.3 (2025-08-17)

主要更新内容:

新增功能:

  • 添加了对 Nuxt.js 框架的配置支持
  • 更新了 package.json 文件,包含 Nuxt.js 相关的配置文件和测试命令

v2.0.0-beta.2 - 2025-08-17 19:15:14

摘要:
版本 2.0.0-beta.2 更新摘要:

错误修复:

  • 更新 Vue.js ESLint 规则,新增多项规则提升代码质量
  • 调整代码检查策略,注释部分 ESLint 规则
  • 新增 ESLint 规则以增强代码质量和一致性
  • 新增对 TS/TSX 文件的支持,并添加测试文件

v2.0.0-beta.1 - 2025-08-17 16:05:10

摘要:
版本 2.0.0-beta.1 摘要:

新功能:

  • 升级至 ESLint v9 版本
  • 新增 JS 插件和全局变量支持
  • 增加对 JSX 和 TypeScript 文件的支持
  • 添加 stylistic 相关配置
  • 新增 Vue.js 配置文件,支持 TypeScript 和 JSX
  • 新增浏览器、React 和 Vue.js 的配置文件

错误修复:

  • 修正测试脚本中的配置文件路径
  • 更新 Node.js 最低版本要求至 16
  • 移除未使用的依赖项
  • 统一 ESLint 规则格式

重大变更:

  • 升级至 ESLint v9,不再支持旧版本

caomei-auth

v1.4.0 - 2025-08-16 20:30:47

摘要:
版本 1.4.0 摘要 (2025-08-16)

代码重构:

  • 邮件模块:移除测试端点、简化返回信息、更新模板样式、删除未使用功能
  • 日志系统:改用 Winston 替代 Consola,增强文件日志功能,统一日志级别标准
  • 导航功能:优化页面导航处理,新增文档跳转函数
  • 电话号码处理:优化导入方式

新功能:

  • 新增服务信息 API 端点
  • 增强数据库日志记录功能
  • 添加日期格式化工具
  • 邮件系统:新增验证服务和 MJML 模板支持
  • 国际化支持:集成语言检测和管理
  • 日志增强:添加敏感数据检查、Axiom 传输支持
  • 隐私保护:新增邮箱/手机号脱敏处理
  • 统计分析:集成 Google Analytics 和百度统计

Bug 修复:

  • 数据库:完善初始化日志和测试环境支持
  • 日志系统:调整日志级别和错误处理格式
  • 电话号码:修复区域代码映射问题
  • 隐私政策:更新第三方服务说明和 Cookie 使用说明
  • 配置文件:修复 tsconfig 格式问题
  • 日期处理:统一使用 dayjs 格式化

最新 GitHub 加星仓库

  • CaoMeiYouRen starred mcp - 2025-08-17 00:47:07
    Browser MCP 是一个模型上下文提供服务器,使 AI 应用能够控制用户浏览器。该项目主要使用 TypeScript 语言开发,目前在 GitHub 上获得 3691 个星标。
  • CaoMeiYouRen starred prompts - 2025-08-15 11:23:31
    AI 相关笔记项目,包含多种语言内容,已获得 881 个星标关注。
  • CaoMeiYouRen starred winston - 2025-08-12 18:43:10
    JavaScript 日志记录工具,拥有 23,891 个星标
  • CaoMeiYouRen starred consola - 2025-08-12 18:16:42
    优雅的 Node.js 和浏览器控制台日志工具,使用 TypeScript 编写,获得 6794 星标
  • CaoMeiYouRen starred qBittorrent - 2025-08-10 23:08:06
    qBittorrent 是一款基于 C++编写的 BitTorrent 客户端,在 GitHub 上获得了 32564 个星标。

其他博客或周刊推荐

阮一峰的网络日志

HelloGitHub 热点速览

阿猫的博客

潮流周刊

二丫讲梵的学习周刊

总结

本周的更新和动态如上所示。感谢您的阅读!
您可以通过以下方式订阅草梅周报的更新:

往期回顾

本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/2025-33-caomei-weekly-auth-1-4-0-eslint-v9.html
版权声明:本文采用 CC BY-NC-SA 4.0 协议 进行分发,转载请注明出处!

🔲 ☆

Husky 入门教程

Husky

Husky 是一个 NPM 包,用更好的使用 Git 钩子来管理项目。通常它被用于项目的代码提交前的各类规范的检查。

安装和配置

  1. 安装 Husky

    1
    npm install husky --save-dev
  2. 启用 Husky

    1
    npx husky install
  3. 在 package.json 中添加 prepare 钩子,用于在 npm install 之后自动启用 Husky

    1
    npm set-script prepare "husky install"

    package.json 文件将会添加一个 prepare script:

    1
    2
    3
    4
    5
    {
    "scripts": {
    "prepare": "husky install"
    }
    }

创建钩子

1
npx husky add .husky/pre-commit "npm run lint"

配合 lint-staged 使用

lint-staged 是一个在提交代码前,只检查提交的文件的工具。它可以配合 Husky 使用,只检查提交的文件,而不是整个项目。

  1. 在项目中安装 lint-stagedeslint(或其他你需要的规范检查工具)

    1
    npm install lint-staged eslint --save-dev
  2. package.json 中添加 lint-staged 配置

    1
    2
    3
    4
    5
    {
    "lint-staged": {
    "*.{js,jsx,ts,tsx}": "eslint --fix"
    }
    }
  3. 创建使用 lint-staged 的钩子

    1
    npx husky add .husky/pre-commit "npx lint-staged"

配合 commitlint 使用

commitlint 是一个用于检查提交信息是否符合规范的工具。它可以配合 Husky 使用,检查提交信息是否符合规范。

  1. 在项目中安装 @commitlint/cli@commitlint/config-conventional

    1
    npm install @commitlint/cli @commitlint/config-conventional --save-dev
  2. 在项目根目录创建 commitlint.config.js 文件

    1
    module.exports = { extends: ["@commitlint/config-conventional"] };
  3. 创建使用 commitlint 的钩子

    1
    npx husky add .husky/commit-msg "npx --no-install commitlint --edit $1"

结语

Husky 是一个非常好用的工具,可以帮助我们更好的管理项目的代码提交规范。用来解决因个人编码风格差异引发的潜在冲突,提升团队协作效率。

❌