Brandon Cheng

Results 111 comments of Brandon Cheng

@itbdw Awesome! Thanks a lot for this pull request. Can't wait to integrate it into my projects.

Thanks for taking a look @valscion. 🙂 I'm on @pas-trop-de-zele's team and we're glad to hear it'll be useful feature.

I noticed that [JanJakes/pnpm-nondeterministic-install](https://github.com/JanJakes/pnpm-nondeterministic-install) no longer reproduces after v7.9.0. It does reproduce on v7.8.0. A `git bisect` between these 2 versions narrowed it down to: 0321ca32a4d5cb858a53f519dff677f04ea174de The removal of parallelism...

Haven't nailed down exactly what's happening but getting close. Adding some debugging notes for myself. ## Theory The `promise-inflight` peer dependency on `bluebird` comes from the Yarn compatibility database. [`yarnpkg-extensions/sources/index.ts#`](https://github.com/yarnpkg/berry/blob/9b3f92b88753d58a12bf1aac637b2c4fcb62f4a8/packages/yarnpkg-extensions/sources/index.ts#L116-L121)....

Commenting further debugging notes for myself. The tree node IDs eventually get replaced through a `pathsByNodeId` map id. This maps the internal in-memory tree node IDs the serialized lockfile graph...

More comments talking to myself. ### What do we know so far? - When the `bluebird` peer dependency is properly resolved, the dependency tree entry for `/cacache/12.0.4` still has its...

## Queue Resolving the dependencies tree happens through a queue. https://github.com/pnpm/pnpm/blob/65c4260dee83486954fc014088e68a89828e4322/packages/resolve-dependencies/src/resolveDependencies.ts#L294 Certain parts of the tree are not added to the queue if they're `!isNew`. https://github.com/pnpm/pnpm/blob/65c4260dee83486954fc014088e68a89828e4322/packages/resolve-dependencies/src/resolveDependencies.ts#L429-L431 ### Visiting `/webpack/4.46.0`. I...

### nodeId for promise-inflight This check determines whether `promise-inflight` gets: - The short `'registry.npmjs.org/promise-inflight/1.0.1` - The longer `>packages/workspace-2>/@storybook/builder-webpack5/6.4.19>/@storybook/core-common/6.4.19>/webpack/4.46.0>/terser-webpack-plugin/1.4.5>/cacache/12.0.4>/promise-inflight/1.0.1>`. https://github.com/pnpm/pnpm/blob/4ed825aa49e96e221e0d023de64fc9f4c68b19b6/pkg-manager/resolve-dependencies/src/resolveDependencies.ts#L1232-L1236 ### pkgIsLeaf Here's the definition of `pkgIsLeaf`: https://github.com/pnpm/pnpm/blob/4ed825aa49e96e221e0d023de64fc9f4c68b19b6/pkg-manager/resolve-dependencies/src/resolveDependencies.ts#L1377-L1381 Here's the value...

Proposed fix open here https://github.com/pnpm/pnpm/pull/6112

@apaniel Thanks for working around it. The fix was merged less than a day ago and should be in v7.28 when it's released. Please feel free to reopen this issue...