Files
pnpm/.changeset/empty-bin-string-declares-no-command.md
T
Lazizbek Ergashev 7965836b1b fix(cmd-shim): treat an empty bin string as no bin (#13964)
get_bins_from_package_manifest took any present `bin` field into
commands_from_bin. For `"bin": ""` that produced a command named after the
package whose path was pkg_path joined with an empty string, i.e. the package
directory itself, and link_bins then failed to probe a directory as a shim
source. Published packages carry this field, url-loader@1.1.2 among them, so a
single one anywhere in the graph aborted the install.

An empty string is now filtered out before the bin branch, matching the
truthiness check the TypeScript CLI applies to manifest.bin, which also lets
`directories.bin` still apply.

Closes pnpm/pnpm#13962.
2026-08-22 14:06:22 +02:00

381 B

pacquet
pacquet
patch

A dependency published with "bin": "", such as url-loader@1.1.2, no longer fails the install with ERR_PNPM_CMD_SHIM_PROBE_SHIM_SOURCE #13962. An empty bin declares no command, as it does in pnpm v11, so no shim is written for the package; a directories.bin entry on the same package is still linked.