Skip to content

fix(cli): generate projects against the 1.0 beta line; release CLI + UI as 1.0.0-beta.1 - #140

Open
abernatskiy wants to merge 5 commits into
mainfrom
fix/cli-generate-beta-projects
Open

fix(cli): generate projects against the 1.0 beta line; release CLI + UI as 1.0.0-beta.1#140
abernatskiy wants to merge 5 commits into
mainfrom
fix/cli-generate-beta-projects

Conversation

@abernatskiy

Copy link
Copy Markdown
Contributor

Makes the CLI usable on the 1.0 beta line, and brings @subsquid/pipes-cli and @subsquid/pipes-ui onto it so all three packages ship a beta.

The bug

Generated projects pinned "@subsquid/pipes": "^1.0.0". ^1.0.0 excludes prereleases, and every published 1.0 version is one (1.0.0-alpha.11.0.0-beta.1), so the range matches nothing:

$ npm view '@subsquid/pipes@^1.0.0' version
npm error 404 No match found for version ^1.0.0

Every project pipes init generated therefore failed to install.

The fix

^1.0.0-beta.1 — a prerelease-aware range that takes the 1.0 betas today and the stable 1.0.0 once it ships (it does not widen to 2.x prereleases).

Verified end to end with a project generated from this branch:

  • pnpm install resolves @subsquid/[email protected]
  • tsc --noEmit passes against the beta API
  • pnpm test in packages/pipes-cli: 289 passed, 3 snapshots updated (the pin appears in generated package.json snapshots)

Version bumps

package before after
@subsquid/pipes-cli 1.0.0-alpha.1 1.0.0-beta.1
@subsquid/pipes-ui 1.0.0-alpha.8 1.0.0-beta.1

@subsquid/pipes is already at 1.0.0-beta.1. The UI bump is version-only; no code change.

These bumps are required before tagging, since release.yml gates tag == package.json version. After merge, release with:

pipes-cli-v1.0.0-beta.1
pipes-ui-v1.0.0-beta.1

Both land on the beta dist-tag (the workflow keeps prereleases off latest, by design). The CLI tarball's own @subsquid/pipes pin is rewritten at prepack to the exact workspace version, 1.0.0-beta.1, which is already on npm — so the workflow's "core must be published first" gate is satisfied.

Why this matters beyond the pin

The published CLI (alpha.4, and latest still points at the much older alpha.1) predates the contract-first config model — it still expects sink/network instead of projectFolder/target/defaultNetwork/templates. The docs already document the new schema, so the docs describe a CLI that isn't on npm until this ships.

Note that latest for @subsquid/pipes-cli remains 1.0.0-alpha.1 after this release. The docs are being updated to pin @beta explicitly rather than relying on latest.

🤖 Generated with Claude Code

https://claude.ai/code/session_018XHq4V964TkvPSjFtn3AwL

abernatskiy and others added 5 commits August 1, 2026 05:22
`^1.0.0` excludes prereleases, and every published 1.0 version of
@subsquid/pipes is one (alpha.1 .. beta.1), so the range resolved to nothing:
`npm view '@subsquid/pipes@^1.0.0'` returns E404 and a freshly generated
project failed to install.

Use `^1.0.0-beta.1`, which takes the 1.0 betas today and the stable 1.0.0
once it ships.

Verified end to end: generate -> pnpm install (resolves 1.0.0-beta.1) ->
tsc --noEmit clean.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_018XHq4V964TkvPSjFtn3AwL
Brings the UI onto the 1.0 beta line alongside @subsquid/pipes and
@subsquid/pipes-cli. No code change; the alpha.8 build is unmodified.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_018XHq4V964TkvPSjFtn3AwL
@beta

The generated README linked into `en/sdk/pipes-sdk/evm.autogenerated/...`. The
docs dropped the `.autogenerated` folder suffix and both pages moved, so each
link 404s in every scaffolded project:

  reference/pipes-ui                    -> guides/basic-development/pipes-ui
  advanced/quality-of-life#custom-metrics -> guides/advanced-topics/metrics

Also pin `npx @subsquid/pipes-ui@beta`, matching the 1.0 beta line the
generated project already depends on.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_018XHq4V964TkvPSjFtn3AwL
beta.1 is already published; this picks up the stable-pipe-id fix (#141)
alongside the generated-dependency pin.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_018XHq4V964TkvPSjFtn3AwL
@abernatskiy
abernatskiy force-pushed the fix/cli-generate-beta-projects branch from 85ca2a7 to 07cfdba Compare July 31, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant