Thinkmill / keystatic

First class CMS experience, TypeScript API, Markdown & YAML/JSON based, no DB
https://keystatic.com
MIT License
1.2k stars 79 forks source link

Relax pnpm requirements #1284

Closed tordans closed 1 month ago

tordans commented 1 month ago

Right now, I have to install a very specific minor version of pnpm in order to run keystatic for development.

% pnpm install
 ERR_PNPM_UNSUPPORTED_ENGINE  Unsupported environment (bad pnpm and/or Node.js version)

Your pnpm version is incompatible with "/Users/fmc/Development/NPM/keystatic".

Expected version: 8.15.4
Got: 8.15.9

This is happening because the package's manifest has an engines.pnpm field specified.
To fix this issue, install the required pnpm version globally.

To install the latest version of pnpm, run "pnpm i -g pnpm".
To check your pnpm version, run "pnpm -v".

I wonder, if it is possible to relax this to use any 8.15.* or maybe even update to the current 9.* branch.

emmatown commented 1 month ago

The strict pnpm version is intentional so that different contributors don't use different versions of pnpm that create different lock files, like the README says it's recommended to use corepack

tordans commented 1 month ago

Hi Emma! On patch versions: I was under the assumption that a patch version does not include any breaking changes in how a lock file is generated or how pnpm works in general. But I don't know pnpm really…

On corepack: The meta feedback here is, that I don't understand what that means and what to do with this short sentence from the README. So the broader question is, how high of a barrier of entry you want to have for the project. Right now, I am blocked by looking into any possible contribution because I cannot even get it running and the research required to learn the details of different pnpm setups is too high…