Skip to content

[IGNORE] Replace npm by pnpm - #272

Draft
Gladorme wants to merge 9 commits into
perses:mainfrom
Gladorme:pnpm
Draft

[IGNORE] Replace npm by pnpm#272
Gladorme wants to merge 9 commits into
perses:mainfrom
Gladorme:pnpm

Conversation

@Gladorme

@Gladorme Gladorme commented Aug 31, 2026

Copy link
Copy Markdown
Member

Description

Replacing npm by pnpm to save disk space (+ time). It's really useful for us as we have shared deps between repo and it's now even more useful with IA where you can have a lot of worktrees!

With pnpm files inside node_modules are linked from a single content-addressable storage (no more duplication on all repos/worktrees).

And it's supporting workspaces, that allow us to remove turbo, that is pain to maintain (at least to me when I need to touch it 😆)

I still need to test a little bit more if everything is working as intended, but it looks promising to me 😄

Related PRs:

Screenshots

Checklist

  • Pull request has a descriptive title and context useful to a reviewer.
  • Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the
    following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, DOC,IGNORE.
  • All commits have DCO signoffs.

UI Changes

  • Changes that impact the UI include screenshots and/or screencasts of the relevant changes.
  • Code follows the UI guidelines.
  • E2E tests are stable and unlikely to be flaky.
    See e2e docs for more details. Common issues include:
    • Is the data inconsistent? You need to mock API requests.
    • Does the time change? You need to use consistent time values or mock time utilities.
    • Does it have loading states? You need to wait for loading to complete.

Gladorme and others added 6 commits September 4, 2026 18:53
Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
Signed-off-by: Guillaume <gladorme@gmail.com>
Signed-off-by: Guillaume LADORME <Gladorme@users.noreply.github.com>
- Pin pnpm/setup to v2.1.0 (floating v2 tag is still v2.0.2).
- Drop the legacy packageManager field, superseded by devEngines.
- Restore @codemirror/lint dependency and regenerate pnpm-lock.yaml for
  the 0.55.0-beta.7 workspace versions.
- Remove stale turborepo entry from .gitignore.

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
pnpm/setup installs the newest pnpm matching devEngines (12.3.4) while the
lockfile records the version that last resolved it (12.3.1); pnpm then tries
to download and switch to 12.3.1 and fails with 'the installed pnpm wrapper
is missing'. Set pmOnFail: ignore so any pnpm matching ^12.0.0 is accepted.

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
- Move the pnpm version tolerance to devEngines.packageManager.onFail: ignore.
  It is honoured by pnpm (no switch to the lockfile-pinned version) and by npm,
  which otherwise fails with EBADDEVENGINES when tools still run through npm
  (React Doctor, percli v0.54 plugin build).
- Format pnpm-workspace.yaml (oxfmt wants single quotes).

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
Align library ranges with perses/shared@b0b2cb2 and synchronize the pnpm lockfile.

Signed-off-by: Guillaume LADORME <gladorme@gmail.com>
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