-
-
Notifications
You must be signed in to change notification settings - Fork 849
feat: upgrade to pnpm@10.11.1 #1544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can bring back the ^
and ~
if you prefer that, but i didn't want to disturb the working state ^^
@@ -5,7 +5,7 @@ interface RelativeDate { | |||
} | |||
|
|||
const parseRelativeDate = (date: string): RelativeDate => { | |||
const match = date.match(/^([<>])(\d+)([dwmy])$/); | |||
const match = /^([<>])(\d+)([dwmy])$/.exec(date); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
eslint "fixed" this 🤔
pnpm-lock.yaml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is the secret sauce generated with blood 😅
Mmm why did the trpc test suddenly fail 😅
edit2: oh i managed to reproduce it on local after wiping node_modules edit3: i went back to the unsquashed commits and was able to get it working again on local. since this upgrade is in no rush to be shipped, i'll spend a bit more time to see which unpinned pkg caused the tprc tests to fail. |
Turns out that the failing job is due to the change in behaviour starting in pnpm@10, where lifecycle scripts of dependencies are not executed during installation by default. At this moment, I simply allow ALL deps to run the postinstall scripts (which is essentially the current existing behaviour), but in future we can consider to have a separate issue to identify the specific packages that we need to run |
package.json
Outdated
"pnpm": { | ||
"patchedDependencies": { | ||
"xcode@3.0.1": "patches/xcode@3.0.1.patch" | ||
} | ||
}, | ||
"neverBuiltDependencies": [] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is needed otherwise pnpm -F trpc test
would fail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed, as I ultimately decided to upgrade to v9 instead.
There is a change in pnpm deploy
behaviour introduced starting from pnpm@10, that causes some problem with karakeep's current setup.
failed to solve: process "/bin/sh -c pnpm deploy --node-linker=isolated --filter @karakeep/workers --prod /prod/workers" did not complete successfully: exit code: 1
> [web base 9/11] RUN pnpm deploy --node-linker=isolated --filter @karakeep/workers --prod /prod/workers:
0.651 ERR_PNPM_DEPLOY_NONINJECTED_WORKSPACE By default, starting from pnpm v10, we only deploy from workspaces that have "inject-workspace-packages=true" set
0.651
0.651 If you want to deploy without using injected dependencies, run "pnpm deploy" with the "--legacy" flag or set "force-legacy-deploy" to true
fe0ed80
to
649a909
Compare
"react-native-awesome-slider": "^2.5.3", | ||
"react-native-blob-util": "^0.21.2", | ||
"react-native-gesture-handler": "~2.21.2", | ||
"react-native-gesture-handler": "~2.20.2", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any minor version changes in apps/mobile
were made by migration scripts provided by react-native and expo.
Thanks a lot @xuatz it finally happened! :) |
Summary
latest version ofpnpm@9.15.9revert pnpm@10 default behaviour to prevent deps lifecycle scripts frin running to the legacy behaviour where all deps scripts are allowed to runsneakily included a small showcase of pnpm catalogs fe0ed80Details
There is a breaking change for contributors' local environment.
Because of the lockfile changes, you must remove ALL
node_modules
folders (and maybe .turbo, i did it but i never confirmed if it was necessary). Otherwise the application will not work properly.You can use the following commands for convenience:
Or just do it yourself, don't wipe your disk!
I think that maybe, we can do
v0.26.0
release that does not contain any new features, but only the pnpm upgrade?Or perhaps include this PR for
v0.25.0
, but maybe give it a week or 2 in the nightly channel. Are there nightly builds for the react-native apps as well?Notes
A proof that a certain commit had passing ci jobs at least once in the past