@ruan-cat/utils 更新日志
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-router
vite-plugin-autogeneration-import-file
vueuse
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: 你好。要发包了。