Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 00:59
    m1heng labeled #4080
  • 00:59
    m1heng labeled #4080
  • 00:59
    m1heng opened #4080
  • Dec 06 21:36

    zkochan on main

    fix(git-resolver): avoid retrie… (compare)

  • Dec 06 21:36
    zkochan closed #2731
  • Dec 06 21:20
    atsikov commented #4074
  • Dec 06 20:59
    zkochan synchronize #2731
  • Dec 06 20:58

    zkochan on main

    fix: don't when the version of … (compare)

  • Dec 06 20:58

    zkochan on fix-store-version-comparison

    (compare)

  • Dec 06 20:58
    zkochan closed #4077
  • Dec 06 20:58
    zkochan commented #4047
  • Dec 06 20:33
    zkochan auto_merge_enabled #2731
  • Dec 06 20:32
    zkochan synchronize #2731
  • Dec 06 20:23
    zkochan commented #4074
  • Dec 06 20:13
    zkochan opened #4077
  • Dec 06 20:08

    zkochan on fix-store-version-comparison

    fix: don't when the version of … (compare)

  • Dec 06 19:19

    zkochan on main

    fix: don't add trailing slash t… (compare)

  • Dec 06 17:35

    zkochan on main

    ci: add pnpm cache (#4047) (compare)

  • Dec 06 17:35
    zkochan closed #4047
  • Dec 06 17:06
    fireairforce commented #4047
Vaughan Rouesnel
@vjpr
im seeing it without the inside and outside being different
Vaughan Rouesnel
@vjpr
so in shrinkwrap.ts pkgIdToRef, pkgVersion sometimes can start with a v
i will find the root cause
Zoltan Kochan
@zkochan
thanks
Vaughan Rouesnel
@vjpr
haha so highcharts-release puts of v in its package.json version
is this even valid?
Zoltan Kochan
@zkochan
wow
according to this site it is valid
Vaughan Rouesnel
@vjpr
haha
Zoltan Kochan
@zkochan
TIL
A leading "=" or "v" character is stripped off and ignored.
boom
i think ive seen packages with leading equals too
ah there was a bug related to that
Zoltan Kochan
@zkochan
I see, there's a semver.clean method for stripping off the v and stuff
Vaughan Rouesnel
@vjpr
cool, where is the best place to do it?
Zoltan Kochan
@zkochan
I don't know. I'd add a test that reproduces the issue first
where to put it, maybe to readPkg.ts, normalizing the version property
also we use read-pkg, which can normalize the package.json as well. https://github.com/npm/normalize-package-data#what-normalization-currently-entails
oh, and we have to be sure that after the fix, we won't save this changes to the package.json
so that we don't rewrite v1.0.0 ot 1.0.0 in the project's package.json
Vaughan Rouesnel
@vjpr
possible to get a quick fix for this published?
Zoltan Kochan
@zkochan
I'll look into it
Zoltan Kochan
@zkochan
I will publish a fix in 30 minutes
Zoltan Kochan
@zkochan
I've prepared a new article about pnpm. pnpm's strictness helps to avoid silly bugs: https://www.kochan.io/nodejs/pnpms-strictness-helps-to-avoid-silly-bugs.html
Vaughan Rouesnel
@vjpr
Nice post. Flat node_modules was such a bad design decision.
Zoltan Kochan
@zkochan
What also disturbs me is the devDependencies. Sometimes I start using them in normal code.. but once it gets published, it breaks
Vaughan Rouesnel
@vjpr
It's a shame too, because it flat node_modules will become such a norm thst I see library owners refusing to adhere to the resolver spec.
When trying to get PRs in to fix pnpm compatibility
Zoltan Kochan
@zkochan
yeah, some people see it as a feature
Vaughan Rouesnel
@vjpr
Yep
:(
I think the main argument for it was windows file paths
Vaughan Rouesnel
@vjpr
It's good though from pnpm's perspective because pnpm will always be more reliable and correct than npm
Zoltan Kochan
@zkochan
:thumbsup:
Zoltan Kochan
@zkochan
FYI, I am less active on smaller issues because I work on optimizing the peers resolution algorithm. I managed to make it faster. I also want to avoid running peers resolution when there's a lockfile in the repo. My changes are currently on the perf/peers branch
Vaughan Rouesnel
@vjpr
cool :+1:
Zoltan Kochan
@zkochan
I am thinking about renaming shrinkwrap.yaml to node_modules_lock.yaml to avoid confusion.
There will be breaking changes in the lockfile format in pnpm@0.69 so now it would be a good time for a rename
Andrey Popp
@andreypopp
Curious if pnpm is going to support npm5 lock file format?
It looks sane to me.
Zoltan Kochan
@zkochan

I am changing pnpm's lockfile format to have all the fields that npm's lockfile has.

However, currently I don't know how can we use the same format because npm's lockfile format also specifies how the layout should look like
pnpm cannot create the same layout npm uses

Zoltan Kochan
@zkochan
Created a medium publication for pnpm https://medium.com/pnpm
Let me know if you want to write some posts
I added the two posts I have written about pnpm
Zoltan Kochan
@zkochan

Kat from npm has gave me some ideas how to make pnpm faster. It will require some breaking changes to the store structure. It is really interesting what the outcome will be

Also they are considering to use some of the things pnpm introduced. Like adding unpacked packages to the npm cache and using hard links instead of copying packages from cache.

Ivan Pukhtin
@StreetStrider
Hello. I wanna try pnpm and I have some questions at this time:
  1. Can pnpm install from github-shortcut? (what about bitbucket and others?)
  2. Can it install from git-endpoint?
  3. What will happen when I do pnpm i and there're already installed some dependencies which contain git-repositories or linked via simlink from another local dir?
Zoltan Kochan
@zkochan
hello
  1. yes
  2. mostly yes, there are some cases that don't work yet and we have open issues for them in the repo
  3. already installed deps will be moved to node_modules/.ignored and reinstalled by pnpm. Links that point outside are preserved
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.