Upstream diff: caffeinelabs/mops cli-v2.19.0 → cli-v2.20.0
Commit: a079cb8c4d75
To sync: create branch chore/sync-upstream-mops-cli-v2.20.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)
84c84
< Run after cloning or after manual `mops.toml` edits. Updates `mops.lock` by default.
---
> Run after cloning or after manual `mops.toml` edits. Updates `mops.lock` by default. Local path dependencies are stored root-relative in the lockfile (portable across machines). A plain install will not rewrite absolute paths left by older CLIs — use `mops install --lock update`, and ensure every environment has a CLI that understands relative lock paths.
155c155
< mops toolchain use pocket-ic 12.0.0 # pin for replica tests / benchmarks (pin a specific version; `latest` may resolve to one the bundled pic-js client doesn't support)
---
> mops toolchain use pocket-ic 12.0.0 # pin for replica tests / benchmarks (pin a specific version; `latest` may resolve to one the vendored `@dfinity/pic` client doesn't support)
164a165,166
> **`pocket-ic` versions**: `9.0.0` and newer run on the vendored `@dfinity/pic` client. Pins below `9.0.0` still work on the legacy `pic-ic` client but print a deprecation warning and are removed in mops v3 — pin `9.0.0` or newer.
>
198a201,211
>
> ### `mops publish`
>
> ```bash
> mops publish # publish to the registry (runs tests/docs/bench by default)
> mops publish --dry-run # same local steps as publish; no registry contact / identity
> mops publish --dry-run --no-test --no-docs --no-bench # packaging checks only
> mops publish --no-test --no-docs --no-bench
> ```
>
> `--dry-run` runs the same local publish pipeline (packaging checks, docs, changelog, tests, benchmarks) and prints the final file list, then stops before identity/upload. `--no-*` flags work as usual. It does **not** run canister config validation (SPDX/semver/name rules) or prove registry acceptance (already published, permissions, missing deps).
Upstream diff:
caffeinelabs/mopscli-v2.19.0→cli-v2.20.0Commit:
a079cb8c4d75To sync: create branch
chore/sync-upstream-mops-cli-v2.20.0, follow theUpstream Sync Strategy
in CLAUDE.md, run
npm run validate, and open a PR that closes this issue.Before applying: check
.claude/upstream.mdfor 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← upstreammops-cliSKILL.mdShow diff (- old upstream, + new upstream)