Repository navigation
Add pure MoonBit Typst CLI and update the toolchain - #71
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 046c1730ae
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if path.has_prefix("/") { | ||
| out.push("/") | ||
| } | ||
| for i, part in path.split("/").to_array() { |
There was a problem hiding this comment.
Normalize Windows separators before computing dependency paths
On Windows, SystemWorld.workdir retains the host current directory's backslashes, while canonicalize normalizes the project root to forward slashes. Splitting only on / therefore makes diff_paths treat the same directory as different paths: for example, C:/work relative to C:\work becomes ..\C:\work. relative_dependencies uses this result when writing dependency files, producing unusable input paths and breaking the typst_artifacts_scenario expectation that the input is main.typ. Normalize both separator forms before comparing components, while preserving drive roots. Windows is part of the required Wasm acceptance scope.
AGENTS.md reference: AGENTS.md:L150-L152
Useful? React with 👍 / 👎.
Add the first
cli/typst@0.1.0candidate by migrating the existing CLI and its private document/font/package/watcher integration. Typesetting and exports remain external throughmoonbitlang/typst@0.1.10; the command runs as linear Wasm using public MoonBit filesystem and async stream APIs, including binary output and write-error propagation.Register command contracts, independent export/watch regressions, release cases, an explicit untimed disposition, and checksum-pinned Typst 0.15.1 Linux comparisons. Preserve upstream tests, licensing, platform limitations, and the existing 79 published coordinates. Match the command README to the repository style.
Update CI to MoonBit
0.10.19+bee578715, migrate deprecated derive syntax without removing existing trait methods, and replace deprecated test-infrastructure string-view calls. Strict warning checks remain enabled.Validation: strict workspace checks; 1,884 Wasm package tests; 204 Native test-tool tests; 2,520 local macOS functional passes with 21 platform exclusions and zero failures; 888 reviewed finite claims satisfied; architecture/index/format checks; extracted-package publication dry run. Seven independent comparisons against the checksum-verified macOS Typst 0.15.1 binary also pass. Required Linux/macOS/Windows CI and publication acceptance are separate gates. No package has been published.