Skip to content

Transitive dependency linking back to workspace shows in pnpm why, but is not installed nor included in pnpm ls #7283

@jakebailey

Description

@jakebailey

Verify latest release

  • I verified that the issue exists in the latest pnpm release

pnpm version

8.10.2

Which area(s) of pnpm are affected? (leave empty if unsure)

No response

Link to the code that reproduces this issue or a replay of the bug

https://github.com/DefinitelyTyped/DefinitelyTyped/tree/51f33ee5c67eadf5392a64d5b196b4c722fc3c64

Reproduction steps

$ pnpm why --filter ./types/express-socket.io-session @types/engine.io        
Legend: production dependency, optional only, dev only

@types/express-socket.io-session@1.3.9999 /home/jabaile/work/DefinitelyTyped/types/express-socket.io-session

dependencies:
@types/socket.io 2.1.13
└── @types/engine.io link:../engine.io

devDependencies:
@types/express-socket.io-session link:
└─┬ @types/socket.io 2.1.13
  └── @types/engine.io link:../engine.io

$ pnpm install --filter . --filter '...{./types/express-socket.io-session}...'
$ ls types/engine.io 
engine.io-tests.ts  index.d.ts  package.json  tsconfig.json  tslint.json
$ pnpm test express-socket.io-session

> definitely-typed@0.0.3 test /home/jabaile/work/DefinitelyTyped
> node --enable-source-maps node_modules/@definitelytyped/dtslint/ types "express-socket.io-session"

dtslint@0.0.190
Error: Errors in typescript@5.4 for external dependencies:
../engine.io/index.d.ts(1,23): error TS2688: Cannot find type definition file for 'node'.

    at testTypesVersion (/home/jabaile/work/DefinitelyTyped/node_modules/.pnpm/@definitelytyped+dtslint@0.0.190_typescript@5.4.0-dev.20231106/node_modules/@definitelytyped/dtslint/src/index.ts:202:11)
    at runTests (/home/jabaile/work/DefinitelyTyped/node_modules/.pnpm/@definitelytyped+dtslint@0.0.190_typescript@5.4.0-dev.20231106/node_modules/@definitelytyped/dtslint/src/index.ts:170:7)
    at main (/home/jabaile/work/DefinitelyTyped/node_modules/.pnpm/@definitelytyped+dtslint@0.0.190_typescript@5.4.0-dev.20231106/node_modules/@definitelytyped/dtslint/src/index.ts:83:5)
 ELIFECYCLE  Test failed. See above for more details.
$ pnpm ls --depth -1 --filter '...{./types/express-socket.io-session}...' --parseable | sort
/home/jabaile/work/DefinitelyTyped/types/body-parser
/home/jabaile/work/DefinitelyTyped/types/connect
/home/jabaile/work/DefinitelyTyped/types/cookie-parser
/home/jabaile/work/DefinitelyTyped/types/empower
/home/jabaile/work/DefinitelyTyped/types/empower-core
/home/jabaile/work/DefinitelyTyped/types/express
/home/jabaile/work/DefinitelyTyped/types/express-serve-static-core
/home/jabaile/work/DefinitelyTyped/types/express-session
/home/jabaile/work/DefinitelyTyped/types/express-socket.io-session
/home/jabaile/work/DefinitelyTyped/types/http-errors
/home/jabaile/work/DefinitelyTyped/types/mime
/home/jabaile/work/DefinitelyTyped/types/mime/v1
/home/jabaile/work/DefinitelyTyped/types/node
/home/jabaile/work/DefinitelyTyped/types/power-assert
/home/jabaile/work/DefinitelyTyped/types/power-assert-formatter
/home/jabaile/work/DefinitelyTyped/types/qs
/home/jabaile/work/DefinitelyTyped/types/range-parser
/home/jabaile/work/DefinitelyTyped/types/send
/home/jabaile/work/DefinitelyTyped/types/serve-static

Describe the Bug

@types/engine.io correctly links to the workspace when shown in pnpm why, but pnpm install doesn't install it. It's not included in the list of packages when doing pnpm ls --depth -1 either.

Expected Behavior

./types/engine.io is installed when the filter is '...{./types/express-socket.io-session}...' and it appears in ls, as it does with pnpm why.

See also https://github.com/DefinitelyTyped/DefinitelyTyped/actions/runs/6774736687/job/18412478604?pr=67331 and DefinitelyTyped/DefinitelyTyped#67331. DT is currently failing in CI when we use partial mode for some packages.

Which Node.js version are you using?

20.9.0

Which operating systems have you used?

  • macOS
  • Windows
  • Linux

If your OS is a Linux based, which one it is? (Include the version if relevant)

Linux 5.15.90.1-microsoft-standard-WSL2 x86_64 x86_64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions