Releases: JiangJie/minigame-std
Releases · JiangJie/minigame-std
v2.1.0
[2.1.0] - 2026-02-11
新增
fs.readFile、fs.readFileSync、fs.stat、fs.statSync、fs.readDir、fs.readDirSync支持读取代码包文件(不以./或../开头的相对路径)- 新增
validateReadablePath函数用于验证只读操作的路径 fs.stat递归结果按路径排序,确保跨平台一致性- Web 平台 UTF-8 编解码新增
TextEncoder/TextDecoder不可用时的回退实现 getRandomValues新增正整数验证
变更
- 重构 codec 模块,将 base64、hex、bytestring、utf8 编解码实现替换为
happy-codec包 - Web 平台 UTF-8 编解码回退到
happy-codec实现(保留微信小游戏平台适配器) - 提取路径类型验证逻辑到
validatePathType辅助函数 decodeUtf8参数类型从AllowSharedBufferSource改为BufferSource- 改进
bufferSourceToBytes和bufferSourceToAb的错误消息,使其更清晰 validateString和validatePositiveInteger的name参数改为必选,改进错误消息的可区分性validatePositiveInteger细化错误类型:类型错误抛出TypeError,值错误抛出Error- 优化
web_clipboard模块代码结构 - 优化
web_socket模块的send错误处理 - 移除
package.json中的predocs脚本 - 升级依赖版本
修复
- 修复 Android 子项目中递归 stat 的路径规范化问题
- 修复
web_storage的getItem在 key 不存在时的错误消息 - 修复部分文件中缺少
.ts扩展名的相对导入路径 - 修复
web_video进度事件中video.duration为零时的除零问题 - 移除
mina_fs_async中的重复 region 注释
文档
- 更新 codec 模块文档以反映
happy-codec迁移 - 修正 README 中 codec 返回类型描述(
ArrayBuffer→Uint8Array) - 改进 codec 和 defines 模块的 JSDoc 注释
- 移除 typedoc.json 中不必要的 exclude 选项
测试
- 新增代码包路径的异步和同步测试用例
- 新增
normalizeStats排序行为测试用例 - 新增 UTF-8 codec 基准测试(对比 wx 原生与纯 JS 实现)
- 修复 fs 测试断言和格式问题
Full Changelog: v2.0.2...v2.1.0
v2.0.2
[2.0.2] - 2026-01-29
文档
- 为各子模块文件添加
@moduleJSDoc 注释 - 为
fs.stat方法的所有重载签名添加 JSDoc 注释
变更
- 移除 prepublishOnly 中的文件复制步骤
Full Changelog: v2.0.1...v2.0.2
v2.0.1
v2.0.0
[2.0.0] - 2026-01-29
破坏性变更
fs.readFile返回类型从ArrayBuffer改为Uint8Array<ArrayBuffer>- SHA 系列函数返回类型从
Promise<string>改为AsyncIOResult<string> - HMAC 系列函数返回类型改为
AsyncIOResult - RSA 加密函数返回类型改为
AsyncIOResult - 重命名
promisifyWithResult为asyncResultify - 重命名 codec 模块函数以保持命名一致性
- 简化 base64 API 为统一的
encodeBase64/decodeBase64函数 - 移除
tryDOMAsyncOp/tryDOMSyncOp,使用tryGeneralAsyncOp/tryResult代替 - 移除内部 assert 函数的公开导出
- 适配
@happy-ts/fetch-t和happy-opfs的破坏性变更
新增
- 新增
video模块及跨平台createVideoAPI - 新增
fs.writeJsonFile和fs.writeJsonFileSync方法 - 新增
decodeHex函数用于十六进制解码 - 新增
asyncResultify、asyncIOResultify、syncIOResultify工具函数 - 新增
fs.zipSync内存压缩支持(无文件路径时返回 bytes) - 新增
AppendOptions支持appendFile和appendFileSync - 新增
ReadOptions、ExistsOptions支持相应文件操作 - 新增内部验证模块 (
internal/validate) - 新增
encodeHex支持字符串输入 - 新增
ASYNC_RESULT_VOID常量 - 新增跨平台高精度计时工具 (
performance) - 新增
video.requestFullScreen方法支持屏幕方向锁定 - 导出
fs.createAbortError辅助函数
变更
- 许可证从 GPL-3.0 切换到 MIT
- 迁移到 pnpm monorepo 结构
- 构建工具从 Rollup 迁移到 Vite
- 测试框架从 Deno 迁移到 Vitest
- 文档生成从 Markdown 切换到 HTML 格式
- 生成的 API 文档不再提交到仓库,改为通过 GitHub Pages 自动部署
- 使用
happy-rusty的Lazy和Once进行延迟初始化 - 重构 codec 模块,将 base64 整合到 codec 模块
- 重构 UTF-8 编码模块到专用子目录
- 重构 SHA/HMAC 实现,提取纯 JS 实现到共享模块
- 统一
statAPI 在recursive=true时始终返回FileStats[] - 统一微信和 Web 平台 API 返回类型
- 简化
mkdir:目录已存在时直接返回成功 - 优化
readDir:可用时使用Array.fromAsync提升性能 - 错误处理集中化,使用统一的错误转换函数
- 替换
tiny-invariant为自定义实现 - 更新依赖到最新版本
修复
- 修复 UTF-8 解码使用
fromCodePoint替代fromCharCode处理代理对 - 修复 UTF-8 编码使用
codePointAt正确处理代理对 - 修复
TextDecoder设置fatal选项以正确处理错误 - 修复
validateAbsolutePath处理多斜杠完整路径 - 修复
zip保留根目录结构 - 修复
appendFile在文件不存在时的处理 - 修复
getDeviceBenchmarkInfo调用前的类型检查 - 修复
image模块加载后撤销 object URL 防止内存泄漏 - 修复
storage.getLength在非 Mina 环境使用webGetLength - 修复
Uint8Array从ArrayBufferView创建的优化 - 修复各模块错误类型改进
文档
- 重写 README,添加双语支持和详细功能说明
- 新增 CODEBUDDY.md 仓库上下文指南
- 为所有公开 API 添加
@since版本标签 - 完善 JSDoc 文档和
@example示例 - 将 JSDoc 注释从英文翻译为中文
测试
- 迁移测试到 Vitest 并大幅扩展测试覆盖率
- 新增 minigame-test 项目用于小游戏平台测试
- 新增 mina 平台各模块的综合测试
- 新增 benchmark 性能测试
Full Changelog: v1.10.0...v2.0.0
v1.10.0
Full Changelog: v1.9.7...v1.10.0
v1.9.7
Full Changelog: v1.9.6...v1.9.7
v1.9.6
Full Changelog: v1.9.5...v1.9.6
v1.9.5
Full Changelog: v1.9.4...v1.9.5
v1.9.4
Full Changelog: v1.9.3...v1.9.4
v1.9.3
Full Changelog: v1.9.2...v1.9.3