Skip to content

Migrate to pnpm and Biome - #63

Merged
tequdev merged 4 commits into
Xahau:mainfrom
tequdev:chore/pnpm-biome
Oct 19, 2026
Merged

tequdev merged 4 commits into
Xahau:mainfrom
tequdev:chore/pnpm-biome

Conversation

@tequdev

@tequdev tequdev commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Replace yarn with pnpm. pnpm-lock.yaml is imported from yarn.lock so resolved versions are unchanged. packageManager is pinned to pnpm 10 because pnpm 11 requires Node >= 22.13 while CI still tests Node 20.
  • Replace eslint/prettier with Biome 2.5.15 (latest). biome.json keeps the existing style (space indent, es5 trailing commas) and excludes the src/init templates and contracts-c.
  • pnpm-workspace.yaml allows the esbuild build script (needed by tsx); without it pnpm install fails with ERR_PNPM_IGNORED_BUILDS.
  • CI workflows, README, CHANGELOG, scripts/update-headers.mjs and the integration test self-build now use pnpm. pnpm/action-setup reads the version from packageManager.
  • Biome formatting applied: import sorting, type imports, fs -> node:fs, unused catch binding removed. No behavioral changes.

The --package-manager option of hooks-cli init (npm/yarn/pnpm for generated projects) is untouched.

Test plan

  • pnpm install --frozen-lockfile (clean, pnpm 10.34.7)
  • pnpm run lint (one pre-existing noExplicitAny warning left as-is)
  • pnpm run build
  • build / c2wasm / init integration tests pass
  • init-build integration test runs in CI (needs network and all three package managers)

- Replace yarn with pnpm (pnpm-lock.yaml imported from yarn.lock, packageManager pinned to pnpm 10 since pnpm 11 needs Node >= 22.13 and CI still runs Node 20)
- Replace eslint/prettier with Biome (biome.json: space indent, es5 trailing commas; src/init templates excluded)
- Allow esbuild build script in pnpm-workspace.yaml (required by tsx)
- Switch CI workflows, README, CHANGELOG, scripts and tests from yarn to pnpm
- Apply Biome formatting and node: import protocol
Drop the deprecated linter.rules.recommended setting (it is the default).
@tequdev
tequdev merged commit f3084b2 into Xahau:main Oct 19, 2026
9 checks passed
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