Repository navigation
chore: add pnpm to mise - #266
Conversation
|
Looks like we need to update a bunch of tooling to support pnpm v11's new multi-doc lock file format. |
664bac8 to
7afa126
Compare
|
I updated lerna, nx, and knip to support the new lockfile. Let me know if we'd prefer that be a separate PR. |
This PR is still pretty small, so I don't see a need to split them out. Can close out #76 as well. Going to let @X-Guardian take a peek and answer some questions before myself or @so0k give a final review. |
We switched to pnpm in open-constructs#170. Adding it to mise means devs don't have to manually install it. Mise could also eventually take over from corepack/nvm in CI. But that is not implemented here.
Co-authored-by: Simon Heather <32168619+X-Guardian@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PR #266 added a devEngines.packageManager block requiring pnpm with onFail: download. The publish jobs run npm/npx (publib -> npm publish, which is required for npm OIDC trusted publishing on npm >= 11.5), and npm 11.15.0 reads devEngines from the root package.json and hard-fails with EBADDEVENGINES because the current PM is npm, not pnpm. This broke the NPM, NuGet, Maven, and Go publish jobs on main (PyPi survived as it uses twine directly). Removing the block is safe for pnpm provisioning: - mise reads devEngines first but falls back to the packageManager field (src/config/config_file/idiomatic_version/package_json.rs), which we keep, so `mise install` still resolves pnpm 11.5.2. - corepack reads the packageManager field, unaffected. onFail: download was a corepack auto-download mechanism, redundant now that pnpm is provisioned via mise/corepack from the packageManager field. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🤖 Release PR — merge to cut a new release. Kept open and rebased as commits land on `main`. --- <details><summary>0.23.4</summary> ## [0.23.4](v0.23.3...v0.23.4) (2026-07-02) ### Features * **cli:** validate Terraform CLI feature versions ([#237](#237)) ([32d434c](32d434c)) * declared Terraform/OpenTofu target versions (validation foundation) ([#269](#269)) ([0aa2343](0aa2343)) * **lib:** S3-backend - Add `useLockfile` field and update `dynamodbTable` deprecated JSDoc ([#234](#234)) ([32a408f](32a408f)) * **lib:** validate Fn usage against Terraform/OpenTofu versions ([#268](#268)) ([cdf8115](cdf8115)) ### Bug Fixes * **cli:** don't mistake terraform error output for a missing-variable prompt ([#267](#267)) ([0ea946f](0ea946f)) * **cli:** release terraform state lock when interrupting diff/deploy ([#284](#284)) ([de617db](de617db)) * **cli:** resolve prebuilt Java provider versions via repo1.maven.org ([#285](#285)) ([d5af07d](d5af07d)) * **gha:** Adding CHANGELOG.md to prettier ignore list ([#258](#258)) ([5160469](5160469)) * **gha:** pull jsii-terraform CI image from GHCR instead of Docker Hub ([#261](#261)) ([f19d34b](f19d34b)) * **provider-generator:** copy only publishable files into the jsii compile bundle ([#292](#292)) ([562d4c7](562d4c7)) * **provider-generator:** match shorthand provider sources against OpenTofu schema keys ([#293](#293)) ([fda0103](fda0103)) * **release:** add Changelog title for correct release-please insertion ([#255](#255)) ([004818a](004818a)) * **release:** drop devEngines.packageManager that broke npm publish ([ef508a6](ef508a6)) * **tools:** repair generate-function-bindings tool ([#273](#273)) ([821e1cf](821e1cf)) ### Miscellaneous Chores * Add Gradle to Mise config ([#271](#271)) ([1578270](1578270)) * add pnpm to mise ([#266](#266)) ([48ab91f](48ab91f)) * add uv to mise ([#260](#260)) ([163cf3d](163cf3d)) * **deps:** bump nrwl/nx-set-shas from 38457b511e60ee4e1da09255b658e480748a1af4 to afb73a62d26e41464e9254689e1fd6122ee683c1 ([#236](#236)) ([b5ac018](b5ac018)) * **deps:** bump the github-actions-backward-compatible group across 1 directory with 7 updates ([#235](#235)) ([de67d9f](de67d9f)) * **deps:** replace uuid dependency with node:crypto.randomUUID ([#291](#291)) ([6d3657a](6d3657a)) * ESLint ignore test edge-provider-bindings ([#270](#270)) ([ba407bb](ba407bb)) * Fix Verdaccio logging config ([#272](#272)) ([aded64b](aded64b)) * **gha:** parallelize provider binding generation for documentation examples ([#244](#244)) ([0a9c955](0a9c955)) * Migrate package manager from yarn to pnpm ([#170](#170)) ([d23da4e](d23da4e)) * migrate planning artifacts to cdktn-planning [skip ci] ([968c358](968c358)) * **release:** add release-please automation for versioning ([#243](#243)) ([c759eec](c759eec)) * Remove dependency-pinner tool ([#250](#250)) ([42c27d5](42c27d5)) * Remove unused dependencies ([#281](#281)) ([c7de65e](c7de65e)) * **tests:** run verdaccio in-process ([#248](#248)) ([c17677d](c17677d)) * Update JSII version constraint ([#245](#245)) ([d89558f](d89558f)) * Update scheduled workflows to only run on open-constructs/cdk-terrain ([#256](#256)) ([ba408cf](ba408cf)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: open-constructs-cdktn[bot] <291052431+open-constructs-cdktn[bot]@users.noreply.github.com>
|
I'm going to lock this pull request because it has been closed for 30 days. This helps our maintainers find and focus on the active issues. If you've found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further. |
We switched to pnpm in #170. Adding it to mise means devs don't have to manually install it.
Mise could also eventually take over from corepack/nvm in CI. But that is not implemented here.
EDIT: this change also required updating lerna, nx, and knip to support pnpm v11's multi-doc lock file format.
Related issue
Fixes #
Description
Add pnpm to mise so devs don't have to manually install pnpm themselves.
Checklist