Skip to content

upstream sync available — caffeinelabs/mops cli-v2.16.1 → cli-v2.19.0 #254

Description

@pr-automation-bot-public

Upstream diff: caffeinelabs/mops cli-v2.16.1cli-v2.19.0

Commit: be449cbeaf8b

To sync: create branch chore/sync-upstream-mops-cli-v2.19.0, follow the
Upstream Sync Strategy
in CLAUDE.md, run npm run validate, and open a PR that closes this issue.

Before applying: check .claude/upstream.md for icskills-owned sections.
Do NOT overwrite those sections from upstream. Also check whether any owned
section is now covered by the upstream changes — if so, drop the icskills copy
and remove it from the owned list to avoid duplicating content.

mops-cli ← upstream mops-cli

SKILL.md

Show diff (- old upstream, + new upstream)
45a46,51
> 
> # Opt-in Wasm optimization (Binaryen wasm-opt) for build + bench
> [optimize]
> # level = "O3"       # default
> # keep-names = true  # default
> # wasm-opt pin: [toolchain] wasm-opt = "131" (auto-pinned to latest if missing)
62c68
< 1. `[moc].args` — global, all commands (check, build, test, etc.)
---
> 1. `[moc].args` — global, all commands (check, build, test, bench, etc.)
66c72
< 5. CLI `-- <flags>` — one-off overrides
---
> 5. CLI `-- <flags>` — one-off overrides; supported by `mops check`, `mops build`, `mops check-stable`, `mops generate`, `mops migrate`, `mops test`, and `mops bench`
73a80,81
> mops install --lock update   # regenerate a stale/corrupt mops.lock
> mops install --lock check    # fail if lockfile is missing or stale (CI)
76c84,86
< Run after cloning or after manual `mops.toml` edits. Updates `mops.lock`. In CI, uses `--lock check` by default (fails if lockfile is stale).
---
> Run after cloning or after manual `mops.toml` edits. Updates `mops.lock` by default.
> 
> When the `CI` env var is set and `--lock` is omitted, defaults to `--lock check` (deprecated — pass `--lock check` explicitly; auto-detection will be removed in v3). A stale lock fails with a hint to run `mops install --lock update`.
86c96
< Updates `mops.toml` and `mops.lock`.
---
> Updates `mops.toml` and `mops.lock` (even when `CI` is set).
114a125,126
> With `[optimize]` in `mops.toml`, runs `wasm-opt` after candid metadata (default `-O3 -g`). Pin Binaryen with `mops toolchain use wasm-opt 131` (or let auto-pin write latest on first build). Soft-fails to unoptimized Wasm on error. Pass `--no-optimize` (on `build` or `bench`) to skip the pass for a single run without editing `mops.toml`.
> 
143a156
> mops toolchain use wasm-opt 131      # Binaryen for [optimize] (or `latest`)
145a159,161
> mops toolchain info <tool>           # show release info (latest, pinned, history)
> mops toolchain info <tool> --versions # list recent stable releases, newest first
> mops toolchain info <tool> --versions --all # full stable history (cache warming)
149c165
< **Agent note**: `toolchain use <tool>` without a version opens an interactive picker — do not use in scripts or agents. Always pass a version or `latest`. `toolchain update` only works when the tool already has a `[toolchain]` entry.
---
> **Agent note**: `toolchain use <tool>` without a version opens an interactive picker — do not use in scripts or agents. Always pass a version or `latest`. `toolchain update` only works when the tool already has a `[toolchain]` entry. `toolchain info <tool> --versions` works without `mops.toml` (first GitHub page by default; pass `--all` for full history).
193a210
> mops test -- -Werror              # pass extra moc flags
196a214,226
> 
> ### `mops bench`
> 
> Benchmarks live in `bench/*.bench.mo`:
> 
> ```bash
> mops bench                        # run all benchmarks
> mops bench my-bench               # filter by name
> mops bench --gc incremental       # select GC
> mops bench --save                 # save results to .bench/<name>.json
> mops bench --compare              # compare with saved results
> mops bench -- -Werror             # pass extra moc flags
> ```

Metadata

Metadata

Assignees

No one assigned

    Labels

    upstream-mopsUpstream sync: caffeinelabs/mops

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions