Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 06:51
    leon labeled #5230
  • 06:51
    leon opened #5230
  • 05:36
    chengcyber commented #5212
  • 01:53
    kenrick95 commented #5220
  • 01:30
    tjx666 opened #5226
  • 01:30
    tjx666 labeled #5226
  • 00:46
    zkochan synchronize #5211
  • 00:46

    zkochan on update-regmock

    test: all test packages should … (compare)

  • Aug 17 23:47
    zkochan synchronize #5211
  • Aug 17 23:47

    zkochan on update-regmock

    test: all test packages should … (compare)

  • Aug 17 22:49
    zkochan commented #5220
  • Aug 17 22:48
    zkochan commented #5220
  • Aug 17 22:46
    zkochan commented #5220
  • Aug 17 22:07
    zkochan synchronize #5211
  • Aug 17 22:07

    zkochan on update-regmock

    test: all test packages should … (compare)

  • Aug 17 21:35
    zkochan synchronize #5211
  • Aug 17 21:35

    zkochan on update-regmock

    test: all test packages should … (compare)

  • Aug 17 17:55
    caschbre commented #5073
  • Aug 17 10:22
    supalarry commented #5144
  • Aug 17 10:12
    supalarry commented #5144
Jason Yu
@ycmjason
just a suggestion or random thought
Zoltan Kochan
@zkochan
oh, look, we already had this idea pnpm/pnpm#430
pnpm store ls
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.