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.
381 B
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.