Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 08:57
    val1984 edited #4763
  • 08:21
    val1984 edited #4763
  • 08:21
    val1984 edited #4763
  • 08:16
    val1984 labeled #4763
  • 08:16
    val1984 opened #4763
  • 07:15
    gunta commented #4203
  • 01:53
    quinnjr commented #4684
  • 01:08

    zkochan on v7.1.2

    (compare)

  • 01:08

    zkochan on main

    chore(release): 7.1.2 (compare)

  • 01:05

    zkochan on v6.32.15

    (compare)

  • 01:05

    zkochan on v6

    fix(setup): don't fail if PNPM_… fix(dlx): do not modify the loc… chore(release): 6.32.15 (compare)

  • 00:59

    zkochan on fix-dlx

    (compare)

  • 00:59

    zkochan on main

    fix(dlx): do not modify the loc… (compare)

  • 00:59
    zkochan closed #4743
  • 00:59
    zkochan closed #4762
  • 00:43
    zkochan opened #4762
  • 00:42

    zkochan on fix-dlx

    fix(dlx): do not modify the loc… (compare)

  • 00:29
    runspired edited #4761
  • 00:28
    runspired labeled #4761
  • 00:28
    runspired opened #4761
Zoltan Kochan
@zkochan
pnpm is now on 1st page when Google searching "fast package manager". And on first place on duckduckgo :tada:
kaiserfedor
@kaiserfedor
Hello everyone! In pnpm doc: When using npm or Yarn for example, if you have 100 packages using lodash, you will have 100 copies of lodash on disk. But it doesn't seem to be true, at least for npm. :)
it may confuse somebody
Zoltan Kochan
@zkochan
OK. I'll rewrite it.
kaiserfedor
@kaiserfedor
Thank you for your work.
Zoltan Kochan
@zkochan
so I guess I'll just replace "packages" with "projects".
inside packages dependencies duplicate as well. but that would be harder to explain in a sentence
if you have 100 projects using lodash
kaiserfedor
@kaiserfedor
:+1:
schemelev
@schemelev
has anyone been faced with the transfer of the node_modules folder to another
Zoltan Kochan
@zkochan
what do you mean?
schemelev
@schemelev
Install packages and build the project (Teamcity) occur in the temporary folder. And if successful, the project folder is transferred to a working folder.
Zoltan Kochan
@zkochan
pnpm uses symlinks. They are relative.
so I think if the temp folder is on the same level of nesting as the destination folder then it is fine
symlinks should work in the destination folder
otherwise, you can use a store that will be inside the temp folder as well
and in that case the project will be moved together with the store
but I am not sure I tried it. Maybe symlinks are fixed during folder moves? I don't know. Let us know about your findings
schemelev
@schemelev
Thank you, I will look for a solution
Zoltan Kochan
@zkochan
by the way, there are some ideas how to make pnpm faster on CI servers. For instance, we can skip integrity checks, as nobody would mutate packages in a CI store pnpm/pnpm#803
schemelev
@schemelev
On Windows after move the folder node_nodules links are broken. On Ubuntu after move node_nodules links work correctly
Zoltan Kochan
@zkochan
on Windows junctions are used
weird
junctions contain the absolute paths, so I though they would work after move
Zoltan Kochan
@zkochan
if that would help, we can add an option to use symlinks on Windows.
they are not used by default because symlinks on Windows require admin permissions
but if your CI is a Windows, you can probably configure it to work fine with symlinks
Zoltan Kochan
@zkochan

@/all pnpm version 1.3 is out

It is 5% faster than 1.2 and has a nice new summary of added/deleted root dependencies:

Imgur

all the changes here

Fox George Penguin
@olstenlarck
@zkochan cool, that summary seems great! :)
Zoltan Kochan
@zkochan
:tada:
Zoltan Kochan
@zkochan

pnpm list implemented in v1.5.

The new command was implemented in pnpm-list and required in the main package

Andrei Neculau
@andreineculau

[WARN] long wall of text coming up

I didn't know about pnpm until today actually, but it sure sounds great :clap: .
Before I give it a shot in my team, I wonder if you have already solved the following problem: creating a deployable bundle that is space-optimized when unpacked (the archive compressor would take care of most of the duplication, but we have limited disk space when unpacking the bundle).

A bit of context is that today we do something similar to pnpm (i.e. we don't use npm install the regular way, and use symlinks to gain speed) and at build-artifact step, we actually do a full copy and call npm dedupe <rant>npm@3 actually, since that's the only one that still works properly...</rant>
AFAICS using pnpm, instead of our install setup, should work just as well, and then we could still do a full copy (i.e. no hardlinks) and call npm dedupe.
But do you (pnpm users or pnpm itself) have anything to aid the need for a deduped node_modules ? Thanks!

Zoltan Kochan
@zkochan

Hi! We're happy you have discovered pnpm!

pnpm would be a perfect choice for your team if you are currently hacking npm with symlinks. pnpm uses a symlinked node_modules structure and it hard links a package/version only once to a project, then it
creates symlinks to create the dependency tree. Read more about the symlinked node_modules here: https://github.com/pnpm/pnpm/blob/master/docs/symlinked-node-modules-structure.md

pnpm doesn't need dedupe because the structure it creates is always the same. It is very deterministic. Nothing that is not needed is added or is left in node_modules.

Nik
@nikdojo
Hi guys! I'm testing pnpm for Ember CLI app, the speed is fantastic. But there are some issues with dependencies that are not in "dependencies" section of the app. For example, Cannot find module 'route-recognizer' from '/my-app/node_modules/.registry.npmjs.org/ember-cli-pretender/1.0.1/node_modules/pretender', so it can't find deps in a flat structure of modules. I read all the docs I could find and issue tickets for pnpm/ember-cli, but seems nothing points on this. Does anybody have experience using pnpm with Ember, or have any idea where the problem is? Appreciate any help, thanks.
Zoltan Kochan
@zkochan

Hi, this is just a symlink, dependencies of pretender won't be resolved from this path /my-app/node_modules/.registry.npmjs.org/ember-cli-pretender/1.0.1/node_modules/pretender. The real location of pretender is used to resolve route-recognizer, which is probably /my-app/node_modules/.registry.npmjs.org/pretender/1.5.1/node_modules/pretender

and there should be a symlink to route-recognizer in /my-app/node_modules/.registry.npmjs.org/pretender/1.5.1/node_modules/route-recognizer

If you can file an issue with steps to repro, we'll be able to help. Ideally with an example repo or a package.json

Nik
@nikdojo
Dependencies: https://pastebin.com/NMQmsKEF
All symlinks within modules structure seem to be fine.
Zoltan Kochan
@zkochan
when does the error happen?
when running some command?
Nik
@nikdojo
Just run the app with ember serve for example
Zoltan Kochan
@zkochan
with the globally installed ember?
Nik
@nikdojo
not necessary, u can install locally and then run with ./node_modules/.bin/ember serve
Zoltan Kochan
@zkochan
ok, I'll try later
Nik
@nikdojo
thx a lot!
Zoltan Kochan
@zkochan
np
Nik
@nikdojo

@zkochan please download the basic Ember app here: https://drive.google.com/file/d/0B6psKNv4yBIcU3VXTWpld2dqQmM/view?usp=sharing

Then:
pnpm i && bower i && ./node_modules/.bin/ember serve

Should see the error.

Zoltan Kochan
@zkochan
ok, cool.
Zoltan Kochan
@zkochan
ok, I've seen this error before in a few projects. This is because the resolve package does not resolve dependencies the way Node does... We'll have to create an issue there. There is actually an alternative to resolve that works correctly - resolve-from by Sindre Sorhus
Andrei Neculau
@andreineculau
@zkochan thanks for the explanation/link! Nothing left but to try it out then!
Nik
@nikdojo
@zkochan I took a look at resolve-from. It seems it doesn't make any difference in terms of resolving pnpm-structure. You see, the thing is both resolve & resolve-from use node-module-path method to get a list of possible directories for a module. But none of them provide a possibility to get a proper dir name for node_modules/.registry.npmjs.org/MODULE_NAME/VERSION/... 'coz no module version is available at this time. And there is no symlink to it in the current folder of ember-cli-pretender.
Nik
@nikdojo
@zkochan I managed to change resolve to search for deps in flat structure, but there is another issue appear. For example, broccoli-persistent-filter has dep "async-disk-cache": "^1.2.1", but there is only async-disk-cache/1.3.2/ exists (and no symlink for 1.2.1).
Zoltan Kochan
@zkochan
@vjpr maybe you'll have some ideas about these issues? I can look into it later today
Nik
@nikdojo
@here hey guys, who interested in conversation abt Ember apps & pnpm — please follow here: pnpm/pnpm#857