Home / Companies / Aspect Build / Blog / Post Details
Content Deep Dive

Pnpm v10 and rules_js: Better Alignment and Improved Build Determinism

Blog post from Aspect Build

Post Details
Company
Date Published
Author
Jason Bedard
Word Count
396
Language
English
Hacker News Points
-
Summary

Pnpm version 10, released earlier this year, has made significant strides in improving hermeticity, performance, and reliability, aligning better with Bazel-based workflows utilizing rules_js, as evidenced by the passing of regression tests with its 10.11.1 release. Key changes include requiring explicit declaration of packages needing build steps in package.json, enhancing determinism and hermeticity, and switching to more secure SHA256 hashing in the pnpm-lock.yaml file to align with Bazel's integrity checks. The introduction of pnpm.neverBuiltDependencies in version 10.1 helps manage install warnings, while configuration changes such as updated default hoisting and ignoring NODE_ENV on install may affect user experience during upgrades. Additionally, the catalogs feature from pnpm v9.5, which consolidates version numbers in large monorepos, remains a valuable tool, supporting seamless integration with rules_js without altering the lockfile format. Overall, pnpm v10 continues to support more deterministic builds, solidifying its position as a suitable choice for Bazel and rules_js ecosystems.