From 2662c99ac4bff808daa65cab0ba44ccfaeb298e3 Mon Sep 17 00:00:00 2001 From: "evlogai[bot]" <313167257+evlogai[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2026 07:24:56 +0000 Subject: [PATCH 1/2] test(cli): install the CLI next to evlog 2.x in CI --- .github/workflows/ci.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6fac57bc..4e1ecec4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -142,6 +142,32 @@ jobs: echo "CLI untouched — smoke skipped" fi + # A project already on evlog 2.x has to be able to add the CLI next to + # it. npm resolves peers strictly here (no --legacy-peer-deps), so a peer + # range that rejects 2.x fails the install with ERESOLVE. Checks the + # lowest 2.x the CLI supports and the 2.33 line it is released against. + - name: CLI installs next to evlog 2.x + if: github.event_name == 'pull_request' + run: | + if git diff --name-only "origin/${{ github.base_ref }}"...HEAD -- packages/cli | grep -q .; then + pnpm exec turbo run dev:prepare --filter=@evlog/cli + pack_dir=$(mktemp -d) + (cd packages/cli && pnpm pack --pack-destination "$pack_dir" >/dev/null) + tarball=$(ls "$pack_dir"/*.tgz) + for evlog in 2.31.0 2.33.1; do + app=$(mktemp -d) + ( + cd "$app" + npm init -y >/dev/null + npm install "evlog@$evlog" + npm install --save-dev "$tarball" + ./node_modules/.bin/evlog doctor --json >/dev/null + ) + done + else + echo "CLI untouched, install check skipped" + fi + examples: name: Build examples runs-on: ubuntu-latest From cca25e877fc7243224dca8219fdbacfa96a650c6 Mon Sep 17 00:00:00 2001 From: "evlogai[bot]" <313167257+evlogai[bot]@users.noreply.github.com> Date: Wed, 21 Oct 2026 07:27:01 +0000 Subject: [PATCH 2/2] fix(cli): accept evlog 2.31 as a peer so the CLI installs on 2.x projects --- .changeset/cli-peer-evlog-2.md | 5 +++++ packages/cli/package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/cli-peer-evlog-2.md diff --git a/.changeset/cli-peer-evlog-2.md b/.changeset/cli-peer-evlog-2.md new file mode 100644 index 00000000..87e6a5bb --- /dev/null +++ b/.changeset/cli-peer-evlog-2.md @@ -0,0 +1,5 @@ +--- +"@evlog/cli": patch +--- + +`@evlog/cli` now installs next to evlog 2.31 and later as well as 3.0 betas. Before, `npm i -D @evlog/cli@beta` in a project still on evlog 2.x failed with `ERESOLVE`, because the peer range only allowed 3.0 betas. The minimum is 2.31.0, the first 2.x release the CLI has been built against. diff --git a/packages/cli/package.json b/packages/cli/package.json index 58d63c47..068f8b0a 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -61,7 +61,7 @@ "oxc-parser": "^0.152.0" }, "peerDependencies": { - "evlog": ">=3.0.0-beta.0" + "evlog": "^2.31.0 || >=3.0.0-beta.0" }, "devDependencies": { "evlog": "workspace:*",