@ruan-cat/utils 更新日志
4.16.0
Minor Changes
全面调整全部包的 files 构建输出配置,统一排除规则,避免错误发布冗余文件 (
a0004e3)主要改进
- 优化
files字段配置,更精确地控制发布到 npm 的文件列表 - 统一排除不必要的构建产物和缓存文件(如
.vitepress/cache、.vitepress/dist等),统一排除掉.vitepress文件夹 - 排除测试文件和文档文件(
**/tests/**、**/docs/**等) - 使用
dist/**替代dist/*以确保包含所有构建输出子目录 - 统一各包的文件排除规则格式
这些改动仅影响 npm 包的发布内容,不影响包的功能和 API,减少了包的体积并提升了发布质量。
- 优化
4.15.0
Minor Changes
- 标记 writeYaml2md 被废弃。未来应该独立使用 gray-matter 库来实现相关的更改。 (
32c6493)
4.14.0
Minor Changes
重构:移除 VitePress 文档管理相关函数 (
bad3e51)将所有用于支持 VitePress 预设包的文档管理工具函数迁移至
@ruan-cat/vitepress-preset-config包,实现更合理的职责分离:删除的函数:
addChangelog2doc- 将变更日志添加到文档目录copyChangelogMd/hasChangelogMd- 复制和检查 CHANGELOG.md 文件copyClaudeAgents/hasClaudeAgents- 复制 .claude/agents 文件夹到文档目录copyReadmeMd/hasReadmeMd/hasCapitalReadmeMd/hasLowerCaseReadmeMd- README 文件复制和检查相关函数
结构优化:
- 将
yaml-to-md.ts从scripts/子目录提升至node-esm/目录 - 移除了大量注释代码,保持代码整洁
影响范围:
这些函数现已迁移到@ruan-cat/vitepress-preset-config包中,原有使用这些函数的项目需要从新的包中导入。迁移指南:
typescript// 旧导入方式(已废弃) import { addChangelog2doc, copyReadmeMd } from "@ruan-cat/utils/node-esm"; // 新导入方式 import { addChangelog2doc, copyReadmeMd } from "@ruan-cat/vitepress-preset-config";
Patch Changes
修复 package.json 中 types 字段路径拼写错误 (
3cd2148)问题描述
在
exports字段中,主入口的types路径存在拼写错误,导致 TypeScript 编译器无法正确定位类型声明文件。修复内容
将
types字段路径从./dsit/index.d.ts更正为./dist/index.d.ts影响范围
此修复解决了依赖
@ruan-cat/utils包的其他包(如@ruan-cat/vitepress-preset-config)在构建时出现的类型声明文件找不到的错误。
4.13.0
Minor Changes
安全增强:为
copyClaudeAgents函数添加路径安全验证 (896d2eb)修改位置:
packages/utils/src/node-esm/scripts/copy-claude-agents.ts主要改进:
- 路径安全验证:
target参数现在禁止使用绝对路径- 使用
path.isAbsolute()进行跨平台路径检测 - 当传入绝对路径时会抛出明确的错误信息
- 防止意外覆盖系统目录(如
/etc,C:\Windows等)
- 使用
- 改进的 TypeScript 类型定义:
- 更新
CopyClaudeAgentsOptions接口文档 - 明确标注
target必须是相对路径 - 添加
@throws标签说明错误情况 - 提供正确和错误的使用示例
- 更新
- 更清晰的错误提示:plain
target 参数不允许使用绝对路径,这可能导致意外的文件覆盖。 当前传入的路径: "/path/to/dir" 请使用相对路径,例如: "src/docs/prompts/agents"
影响范围:
- ✅ 不影响现有正确使用相对路径的代码
- ⚠️ 如果之前使用了绝对路径,现在会抛出错误(这是预期行为,可防止潜在风险)
升级指南:
如果你的代码中使用了绝对路径作为target,请改为相对路径:typescript// ❌ 旧代码(不再支持) copyClaudeAgents({ target: "/absolute/path/agents" }); // ✅ 新代码(推荐) copyClaudeAgents({ target: "dist/agents" });- 路径安全验证:
4.12.1
Patch Changes
修复
copy-claude-agents.ts中的 monorepo 寻址问题 (a318579)问题描述:
在 monorepo 子项目中运行脚本时,process.cwd()指向子项目根目录而非 monorepo 根目录,导致.claude/agents目录查找失败。解决方案:
- 新增
findMonorepoRoot()函数:通过向上查找pnpm-workspace.yaml自动定位 monorepo 根目录 - 新增
resolveRootDir()函数:支持手动指定根目录路径(支持相对路径如../../../) - 重构
hasClaudeAgents()和copyClaudeAgents()函数:支持可选的rootDir参数 - 新增
CopyClaudeAgentsOptions接口:规范化配置选项
API 变更:
hasClaudeAgents()→hasClaudeAgents(options?: { rootDir?: string })copyClaudeAgents(target: string)→copyClaudeAgents(options: CopyClaudeAgentsOptions)
路径解析优先级:显式
rootDir> 自动检测 monorepo 根目录 >process.cwd()回退- 新增
4.12.0
Minor Changes
- d24437c: 新增
copyClaudeAgents函数,用于复制.claude/agents文件夹到指定目标位置。该函数模仿copyChangelogMd的设计思想实现。
4.11.0
Minor Changes
新增
printList函数,用于格式化输出字符串数组。该函数提供: (dffc0bf)- 自动生成编号列表格式
- 支持字符串标题或动态标题函数
- 使用 consola.box 美化输出显示
- 完整的 TypeScript 类型支持
该功能主要用于在开发工具和测试场景中美化列表数据的输出显示。
4.10.0
Minor Changes
- 增加发包配置
!**/.vercel/**避免出现不小心把部署信息一起打包的情况。减少打包体积。 (b5b8d38)
4.9.2
Patch Changes
- 更新依赖。 (
208f061) - 首页 README.md 增加了来自 automd 提供的标签,优化显示效果。
- 更新依赖。 (
4.9.1
Patch Changes
- 升级依赖。 (
b95ea59)
4.9.0
Minor Changes
- 提供针对 Readme 文件的检查与移动函数。 (
cce2a9e)- hasCapitalReadmeMd 检查当前运行的根目录 是否存在文件名大写的
README.md文件 - hasLowerCaseReadmeMd 检查当前运行的根目录 是否存在文件名小写的
readme.md文件 - hasReadmeMd 检查当前运行的根目录 是否存在任意一个大小写命名的 README.md 文件
- copyReadmeMd 将 README.md 文件移动到指定要求的位置内,并重命名为 index.md
- hasCapitalReadmeMd 检查当前运行的根目录 是否存在文件名大写的
4.8.1
Patch Changes
杂项变更,发包仓库地址改名。
发包时,其
repository.url从git+https://github.com/ruan-cat/vercel-monorepo-test.git更改成git+https://github.com/ruan-cat/monorepo.git。以便适应仓库名称改名的需求。现在发包的 package.json 内,其 url 地址如下:
json{ "repository": { "url": "git+https://github.com/ruan-cat/monorepo.git" } }
4.8.0
Minor Changes
- 允许在 cjs 模式下,导出绝大多数常用的普通工具函数。
这会增加包的体积。
4.7.0
Minor Changes
useRequestIn01s请求函数,在内部废弃掉setDataByHttpParamWay函数。useRequestIn01s,准备要废弃 HttpParamWay 类型和 httpParamWay 配置。@vueuse/integrations升级依赖到 13 版本。useAxiosWrapper和useRequestIn01s请求函数,增加泛型类型。
4.6.0
Minor Changes
- 增加 请求码与请求响应文本的映射表。
4.5.0
Minor Changes
- 新建工具函数 printFormat 来格式化打印内容。
4.4.0
Minor Changes
- 封装
01s项目集常用的接口请求工具。
4.3.2
Patch Changes
- 升级依赖 unplugin-vue-router 到最新版。
4.3.1
Patch Changes
- 补全导出路由处理函数。
4.3.0
Minor Changes
- 为 unplugin-vue-router 提供处理脏数据的 disposalAutoRouter 函数。
4.2.2
Patch Changes
- github 仓库改名了。不再使用
/vercel-monorepo-test/字符串,全部改成/monorepo/。对外不再称呼为测试性质项目,而是正式的工程项目。
4.2.1
Patch Changes
- 处理 cjs 在 import 模式下的导入 bug。
4.2.0
Minor Changes
破坏性变更:
- 本库不再对外直接提供 ts 文件。内部的类型声明跳转只能跳转到纯粹的.d.ts 文件,而不是原来的 ts 源码。
- 内部做重构,不再提供显性的 ts 尾缀导入。
4.1.1
Patch Changes
- 处理
hasChangelogMd提示错误的 bug。
4.1.0
Minor Changes
- 增加工具
addChangelog2doc函数,为其他的文档配置预设项目,提供基础的工具函数。
4.0.0
Major Changes
- 正式使用第二版本的接口请求工具。
3.3.0
Minor Changes
- 增加
UseAxiosWrapperParams2和useAxiosWrapper2工具。提供实验版本的接口请求工具。未来将会在 4.0 内正式使用该工具。
3.2.0
Minor Changes
- 增加类型工具
RemoveUrlMethod,用于处理 useAxios 工具的类型约束。
3.1.0
Minor Changes
- 删掉冗余的 rmmv-class-expand-tools ,避免出现其他项目出现 typedoc 生成失败的错误。
3.0.1
Patch Changes
- 处理缺失 lodash-es 产生的报错。安装 lodash-es 作为生产环境依赖。
- 处理 cjs 环境下错误导入额外的 esm 依赖的 bug。
3.0.0
Major Changes
重构文件导入体系。
凡是二次封装使用外部依赖的,全部使用单独的路径使用。一律只提供纯 ts 文件,不做打包。
目前提供的路径如下:
unplugin-vue-routervite-plugin-autogeneration-import-filevueuse
2.0.1
Patch Changes
- 处理在 vite esm 模式下,打包失败的 bug。避免直接使用 node 的函数。
2.0.0
Major Changes
- 废除单独的 node 导出地址。现在项目提供两款 node 导出地址。分别是 node-esm 和 node-cjs。用于在不同场景下使用 node 的工具函数。
1.8.0
Minor Changes
- 针对 vite-plugin-autogeneration-import-file 插件,提供二次封装的函数。便于在 vite 项目内使用。
1.7.0
Minor Changes
- 提供专门的 node 路径。可以在专门的 node 路径内使用直接供给给 node 环境使用的函数。
1.6.1
Patch Changes
- 修复 isShowCommand 必填项的错误。
1.6.0
Minor Changes
- 增加生成简单的执行命令函数,
generateSpawnSync。
1.5.0
Minor Changes
- 提供 pathChange 函数,用于实现路径变更。
1.4.2
Patch Changes
- 提供 keywords ,便于查找信息。
1.4.1
Patch Changes
- 仅查询淘宝源的数据。
1.4.0
Minor Changes
- 获得阮喵喵全部的包信息。
getRuanCatPkgInfo()。
1.3.5
Patch Changes
- 重新调整了整个 monorepo 的 turbo 构建任务,严格控制发包前先完成打包。试图处理发包时文件缺失的故障。
1.3.4
Patch Changes
- 增加
dist/index.js配置,处理文件缺失丢失的问题。
1.3.3
Patch Changes
修复依赖缺失的问题。将依赖声明为 dependencies 依赖。
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@vueuse/integrations' imported from /home/runner/work/RPGMV-dev-notes/RPGMV-dev-notes/node_modules/.pnpm/@ruan-cat+utils@1.3.2_axios@1.7.9_typescript@5.7.2/node_modules/@ruan-cat/utils/src/vueuse/useAxios.ts
目前,
@vueuse/integrations和axios均为生产环境依赖。预期将会自动安装到项目内。
1.3.2
Patch Changes
- 提供 js 打包文件。
1.3.1
Patch Changes
- 内部调整文件位置。以便测试 files 对应的 glob 语法是否正常,是否能够排除忽略掉不需要的 test 文件。
https://docs.npmjs.com/cli/v6/configuring-npm/package-json#files
1.3.0
Minor Changes
- 提供异步任务的工具函数。
1.2.0
Minor Changes
- 提供了针对 pnpm 工作区文件的类型声明。
1.1.1
Patch Changes
- 对外导出 unplugin-vue-router 的插件;集中导出。
1.1.0
Minor Changes
- ✨ feat(utils): 为 unplugin-vue-router 编写 getRouteName 函数,以便于实现自定义的路由名称;
1.0.5
Patch Changes
- 更新文档。
1.0.4
Patch Changes
- 提供包索引,提供 readme 文档。
1.0.3
Patch Changes
- 更新路径别名。
1.0.2
Patch Changes
开发全新的 rmmv-class-expand-tools 工具。
用于实现 rmmv 插件的合并,让编写 mv 插件更加简单,避免写很多 es5 的 prototype。
1.0.1
Patch Changes
- 发包
1.0.0
Major Changes
- d36eaf0: 你好。要发包了。