Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 07:04
    T1mL3arn commented #2923
  • 06:23
    T1mL3arn commented #2923
  • 01:44
    noahehall commented #3633
  • 01:10
    zkochan labeled #3879
  • 01:01
    zkochan milestoned #3873
  • 01:01
    zkochan milestoned #3874
  • 01:01

    zkochan on v6.17.2

    (compare)

  • 01:01

    zkochan on main

    chore(release): 6.17.2 (compare)

  • 00:57
    zkochan milestoned #3878
  • 00:53
    zkochan opened #3879
  • 00:53
    zkochan milestoned #3879
  • 00:53
    zkochan demilestoned #3785
  • 00:53
    zkochan milestoned #3785
  • 00:52

    zkochan on node-latest

    feat(env): installing the lates… (compare)

  • 00:31

    zkochan on main

    fix(cli): allow --cache-dir and… (compare)

  • 00:23
    zkochan unlabeled #1041
  • 00:23
    zkochan demilestoned #2222
  • 00:23
    zkochan milestoned #2222
  • 00:22
    zkochan closed #2222
  • 00:22
    zkochan commented #2222
Ivan Pukhtin
@StreetStrider
@zkochan what if in case 3. there was a dependency that satisfies version already, and I do pnpm i. you mean that this would be reinstalled even if version is ok? I'm asking 2-3 because of in my workflow I often do npm i ~/some/local-dep or npm i nickname/package, for example, my own packages. npm understands this and don't touch them when I do npm i without arguments.
Zoltan Kochan
@zkochan

yes, even then it will reinstall them because pnpm guarantees that the node_modules structure will always look the same. It doesn't matter in what sequence you run commands.

the node_modules structure created by npm is not compatible with the one created by pnpm, so pnpm has to remove folder created by pnpm.

I often do npm i ~/some/local-dep or npm i nickname/package, for example, my own packages. npm understands this and don't touch them when I do npm i without arguments.

if you will just use pnpm for these actions, it will behave the same as npm

it won't override local-dep, nickname/package if they were installed by pnpm
Ivan Pukhtin
@StreetStrider
Great. I mean, I'm not up to using npm/pnpm in mix, I was just worried can pnpm cover my cases, when I install deps in some special ways, like my own deps. If pnpm can cover it (yes, it is), it's more then enough for me. :thumbsup:
Zoltan Kochan
@zkochan
all you do with npm should work in pnpm. If it does not then feel free to file an issue in the repo
Ivan Pukhtin
@StreetStrider
OK.
I'm still using npm@2 since I'm not glad with what they do in newer versions and how they help with my troubles. So I'm definetily think your work is essential. I will try pnpm.
Zoltan Kochan
@zkochan
ha, in that case pnpm is the perfect choice for you
Ivan Pukhtin
@StreetStrider
Considering the algorythm of pnpm, I think it's nice and how it leverages hard-link is also great. However, I remember some packages has post-install hooks, have binary parts and even download binaries to their own directory. Do you do something to allow this to work or they are treated as out-of-scope for pnpm?
It's not a good practice to modify package, I understand..
Zoltan Kochan
@zkochan
so far it seems to work fine with post installs. Packages "think" they are in node_modules of the project and the lifecycle scripts are executed there. They don't modify the original files just create new folders/files
Ivan Pukhtin
@StreetStrider
Ok, got it.
Thanks for answers :thumbsup:
Zoltan Kochan
@zkochan
no problem
Amit Marcus
@marxus85
hey .. there is something i dont get
on windows 10.. i've got this folder %userprofile%.pnpm-store\1\registry.npmjs.org
which contains the extracted modules.
and when i do pnpm i -g <something>, it creates another folder which is ".registry.npmjs.org" which contains the extracted modules
and when i open another folder for a new project and do pnpm i <something> i get another ".registry.npmjs.org" folder which contains the extracted modules.
none of them are linked
so... in the end it do get 3 times of the same module
Zoltan Kochan
@zkochan
hey, if you check the ino numbers of the files inside those folders, you'll see that they are the same in all 3 folders
they are on the same location on the disk
Amit Marcus
@marxus85
1125899907199372 drwx------+ 1 0 Jun 13 11:08 registry.npmjs.org
10133099161699660 drwx------+ 1 0 Jun 13 11:54 .registry.npmjs.org
17732923532887146 drwxrwx---+ 1 0 Jun 13 11:54 .registry.npmjs.org
getting it using ls -i
Zoltan Kochan
@zkochan
check the files not the folders
folders cannot be hard links
go to one of the packages and check the package.json for instance
Amit Marcus
@marxus85
ok
Zoltan Kochan
@zkochan
but there is an easier solution
just edit the file and you'll see the changes in all 3 folders
Amit Marcus
@marxus85
ok :)
Zoltan Kochan
@zkochan
but if you edit it, it will be refetched during next installation
Amit Marcus
@marxus85
well. ! it worked.
thanks. it wasnt that clear from the docs.
i mean i did read the "why does my nodemodules folder use disk space" section
but that simple method of just editing the file and see for myself:) well that satisfied me ! :)
Zoltan Kochan
@zkochan
hm, if you know how to explain it better, you can suggest an edit. We can definitely extend the FAQ section
Amit Marcus
@marxus85
aight! i'll think about it. anyway, thanks for clearing this out for me
Zoltan Kochan
@zkochan
you're welcome
Amit Marcus
@marxus85
this is actually cool, both places point to the same file, but if i delete only one of them the other one is still there.. nice
Zoltan Kochan
@zkochan
yes, but I work on a mixed solution now because creating one symlink to the folder is faster than creating many hard links to each file
pnpm/pnpm#791
when a package is "independent" it can be symlinked
Amit Marcus
@marxus85
ok that something i didnt not understand in the first place, i mean why not just junctioning all the folders to begin with..
Zoltan Kochan
@zkochan
because packages have different sets of dependencies in different projects
Zoltan Kochan
@zkochan

@all pnpm version 0.70.0 has been released. Not as latest for now.

It has breaking changes in the store structure, so you'll have to reinstall node_modules.

However, it is the fastest pnpm so far!

Vaughan Rouesnel
@vjpr
nice work!
Zoltan Kochan
@zkochan
It would be great to have some help resolving the webpack/browserify issues: pnpm/pnpm#801
Zoltan Kochan
@zkochan
Seems like pnpm has no issues with the latest webpack! This is great! Now pnpm can be used for CRA and Angular2
Andrey Popp
@andreypopp
btw lockfiles
I like that npm5 locks the structure — I think it's more readable than yarn's approach where it maps ranges to concrete versions