FormidableLabs / FormidableLabs/inspectpack

Not working with pnpm

Open
#151 1 comment 0 reactions 0 assignees View on GitHub
high priority unverified
Dominant language
TypeScript
Stars
590
Forks
20
PR merge metrics
No merged PRs in 30d

Description

Reproduction: https://github.com/vjpr/repro-inspectpack-pnpm-test

---

Possibly related: https://github.com/FormidableLabs/inspectpack/issues/131

---

Upon compiling I get the following error.

```
Compiled with warnings.

Missing sources: Expected 4, found 0.
Found map: {}
```

Notice how `Found map: {}`.

I've tracked down what is causing the map to be empty to here:

https://github.com/FormidableLabs/inspectpack/blob/917c7c9ba5118ae19b5992ed0afd505dbf6ba460/src/lib/actions/versions.ts#L362-L368

```
filePath = /Users/Vaughan/dev/inspectpack-pnpm-test/packages/cra/node_modules/react-refresh
```

```
modsToFilePath = {
"/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/react-refresh@0.8.3/node_modules/react-refresh": [
{
"baseName": "react-refresh/cjs/react-refresh-runtime.development.js",
"chunks": [
0
],
"identifier": "/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/babel-loader@8.1.0_427212bc1158d185e577033f19ca0757/node_modules/babel-loader/lib/index.js??ref--5-oneOf-3!/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/react-refresh@0.8.3/node_modules/react-refresh/cjs/react-refresh-runtime.development.js",
"isNodeModules": true,
"isSynthetic": false,
"size": 23198,
},
{
"baseName": "react-refresh/runtime.js",
"chunks": [
0
],
"identifier": "/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/babel-loader@8.1.0_427212bc1158d185e577033f19ca0757/node_modules/babel-loader/lib/index.js??ref--5-oneOf-3!/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/react-refresh@0.8.3/node_modules/react-refresh/runtime.js",
"isNodeModules": true,
"isSynthetic": false,
"size": 221,
"source": "'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-refresh-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-refresh-runtime.development.js');\n}"
}
],
"/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/react-refresh@0.9.0/node_modules/react-refresh": [
{
"baseName": "react-refresh/cjs/react-refresh-runtime.development.js",
"chunks": [
0
],
"identifier": "/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/babel-loader@8.1.0_427212bc1158d185e577033f19ca0757/node_modules/babel-loader/lib/index.js??ref--5-oneOf-3!/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/react-refresh@0.9.0/node_modules/react-refresh/cjs/react-refresh-runtime.development.js",
"isNodeModules": true,
"isSynthetic": false,
"size": 23096,
},
{
"baseName": "react-refresh/runtime.js",
"chunks": [
0
],
"identifier": "/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/babel-loader@8.1.0_427212bc1158d185e577033f19ca0757/node_modules/babel-loader/lib/index.js??ref--5-oneOf-3!/Users/Vaughan/dev/inspectpack-pnpm-test/node_modules/.pnpm/react-refresh@0.9.0/node_modules/react-refresh/runtime.js",
"isNodeModules": true,
"isSynthetic": false,
"size": 221,
}
]
}
```

Notice how `modsToFilePath`'s keys are the "realpath" of the package, whereas `filePath` is the "logical path".

`filePath` seems to comes from here:

https://github.com/FormidableLabs/inspectpack/blob/917c7c9ba5118ae19b5992ed0afd505dbf6ba460/src/lib/util/dependencies.ts#L145-L209

However I have reached the point where I don't understand what is going on and maybe a maintainer could quickly point to the right fix?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.