chore: bump release version to 0.1.1
moonbit-csv 是一个面向 MoonBit 生态的轻量级 CSV 解析与生成库,目标是提供一套简单、稳定、可测试、易集成的表格文本处理能力。
moonbit-csv
本项目优先解决以下问题:
目前仓库已经不是“只有骨架”,而是已经完成了第一版可用实现。核心目录如下:
. ├─ .github/workflows/ci.yml ├─ moon.mod ├─ README.mbt.md ├─ src/ │ ├─ moon.pkg │ ├─ csv.mbt │ ├─ csv_test.mbt │ ├─ parser/ │ │ ├─ moon.pkg │ │ └─ parser.mbt │ ├─ writer/ │ │ ├─ moon.pkg │ │ └─ writer.mbt │ ├─ types/ │ │ ├─ moon.pkg │ │ └─ types.mbt │ └─ cmd/demo/ │ ├─ moon.pkg │ └─ main.mbt └─ docs/
当前已经落地的能力包括:
parse
parse_result
stringify
stringify_with
""
\n
\r\n
本地已经验证通过:
moon fmt --check
moon check
moon test
node --test web/app.test.mjs
moon run src/cmd/demo
moon package
前端与浏览器侧 smoke test 的推荐命令:
moon build --target js src/cmd/webbridge
web/index.html
CLI 推荐命令:
moon run --target js src/cmd/cli -- --input sample.csv
moon run --target js src/cmd/cli -- --input sample.csv --require name,lang --select name,quote --output selected.csv
第一版核心功能已经完成。接下来更值得做的顺序是:
CsvError
mooncakes.io
这样做的好处是:不会破坏现在已经稳定的解析/写出主路径,同时能继续提高比赛验收和生态复用价值。
当前 CI workflow 设计为三步:
这正好对应比赛要求里最关键的“格式、构建、测试”三条主线。
仓库现在包含两条 GitHub Actions workflow:
push
pull_request
v*
推荐使用方式:
pull request
v0.1.0
_build/publish/*.zip
如果后面你准备把包正式发布到 mooncakes.io,可以在 release workflow 基础上再接一层“带 secret 的 publish 步骤”。
当前仓库已经满足发布所需的基础元信息:
moon whoami
sikadi123
moon.mod
sikadi123/moonbit-csv
repository
license
description
moon publish --dry-run
正式发布前建议按下面顺序执行:
moon publish
当前 moon.mod 使用的发布坐标是:
https://github.com/sikadi123/MoonBit
0.1.1
如果 moon publish 报网络类错误,通常不是包内容问题,而是当前环境无法访问 https://mooncakes.io/api/v0/publish。
https://mooncakes.io/api/v0/publish
这个项目不是大而全的数据框架,而是一个:
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
moonbit-csv
moonbit-csv是一个面向 MoonBit 生态的轻量级 CSV 解析与生成库,目标是提供一套简单、稳定、可测试、易集成的表格文本处理能力。本项目优先解决以下问题:
项目目标
计划功能
当前文档
当前实现状态
目前仓库已经不是“只有骨架”,而是已经完成了第一版可用实现。核心目录如下:
当前已经落地的能力包括:
parse/parse_resultstringify/stringify_with""双引号转义\n与\r\n换行本地已经验证通过:
moon fmt --checkmoon checkmoon testnode --test web/app.test.mjsmoon run src/cmd/demomoon package前端与浏览器侧 smoke test 的推荐命令:
moon build --target js src/cmd/webbridgeweb/index.htmlnode --test web/app.test.mjsCLI 推荐命令:
moon run --target js src/cmd/cli -- --input sample.csvmoon run --target js src/cmd/cli -- --input sample.csv --require name,lang --select name,quote --output selected.csv推荐开发顺序
第一版核心功能已经完成。接下来更值得做的顺序是:
CsvError种类与定位信息mooncakes.io这样做的好处是:不会破坏现在已经稳定的解析/写出主路径,同时能继续提高比赛验收和生态复用价值。
CI 目标
当前 CI workflow 设计为三步:
moon fmt --checkmoon checkmoon testnode --test web/app.test.mjs这正好对应比赛要求里最关键的“格式、构建、测试”三条主线。
GitHub CI/CD
仓库现在包含两条 GitHub Actions workflow:
push/pull_request自动执行格式检查、构建检查和测试v*版本标签时自动打包,并把生成的 zip 作为 GitHub Release 附件上传推荐使用方式:
push和pull request,让 CI 持续守住质量v0.1.0moon fmt --checkmoon checkmoon testmoon package_build/publish/*.zip到 GitHub Release如果后面你准备把包正式发布到
mooncakes.io,可以在 release workflow 基础上再接一层“带 secret 的 publish 步骤”。发布到 Mooncakes
当前仓库已经满足发布所需的基础元信息:
moon whoami已显示登录用户sikadi123moon.mod包名已经使用sikadi123/moonbit-csvmoon.mod已补充repository、license、description等字段moon publish --dry-run在本地包校验阶段可以通过;如果失败,优先排查网络连通性正式发布前建议按下面顺序执行:
moon checkmoon testnode --test web/app.test.mjsmoon packagemoon publish当前
moon.mod使用的发布坐标是:sikadi123/moonbit-csvhttps://github.com/sikadi123/MoonBit0.1.1如果
moon publish报网络类错误,通常不是包内容问题,而是当前环境无法访问https://mooncakes.io/api/v0/publish。项目定位
这个项目不是大而全的数据框架,而是一个:
里程碑
开源与交付原则