Skip to content

Conversation

techknowlogick
Copy link
Member

opening this for discussion.

I use git worktrees to work on various PRs for Gitea, leading me to have sometimes up to 20different copies of node_modules installed. This takes a toll on the available space on my hard drive. pnpm uses hardlinks&symlinks to alleviate this issue.

I understand this takes us a step away from core nodejs tools, but I think for anyone who works on several branches at a time it would benefit them.

I also had to fork the license checker to support analyzing pnpm projects.

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Aug 13, 2025
Copy link
Member

@6543 6543 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pnpm is awesome - but addoption is not to hight so support in other tools is till kinda lacking

@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Aug 14, 2025
@6543
Copy link
Member

6543 commented Aug 14, 2025

-> plz ask more devs for lgtm ... as they also have to work with it :)

@6543
Copy link
Member

6543 commented Aug 14, 2025

@TheFox0x7
Copy link
Contributor

My drive welcomes this as well :)

@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Aug 14, 2025
@techknowlogick
Copy link
Member Author

-> plz ask more devs for lgtm ... as they also have to work with it :)

@6543 yup, that's why I also requested a review from @silverwind as they have a lot of interaction with the js side of things so I don't want to negatively impact them just for a slight improvement for me.

I requested a review from you as I know you use it with woodpecker already.

Copy link
Member

@delvh delvh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm neither for nor against it.
I lack the experience with it to judge if pnpm is a good choice or not.

Nevertheless, there seems be a clear opinion from the TOC in favor of it.
Still, it's probably best to wait for approval from the people that are most impacted by it (@silverwind and @wxiaoguang).

@6543 6543 requested a review from wxiaoguang August 14, 2025 20:43
Copy link
Contributor

@wxiaoguang wxiaoguang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't tested it. I am neutral for it.

@lunny
Copy link
Member

lunny commented Aug 16, 2025

Please wait for @silverwind 's review.

Copy link
Member

@denyskon denyskon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pnpm is awesome not only because of the linking, but also because of the easily diff-able package lock file.

@silverwind
Copy link
Member

silverwind commented Aug 18, 2025

This adds a new build dependency, so the build docs need to be updated to mention this requirement:

https://github.com/go-gitea/gitea#building

As for the change, I'm -0 because I see no need to change this package manager. gitea's node_modules consumes 629MB currently. Hard linking npm dependencies creates problems when you want to edit a dependency for debugging and has problems across file system boundaries like docker volumes. I see no benefit.

@silverwind
Copy link
Member

silverwind commented Aug 18, 2025

I also had to fork the license checker to support analyzing pnpm projects.

I'd rather we drop the license.txt generation completely, it's been causing too much issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/dependencies modifies/docs modifies/frontend modifies/internal
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants