conventional-changelog/standard-version

-t with empty string is ignored when using pnpm

OliverDudgeon opened this issue · 2 comments

Describe the bug

Current behavior
I use this command

pnpm dlx standard-version --dry-run -t "" 

I'd expect the resulting git tag to have no "v" at the start (as per the README) but it does: ✔ tagging release v0.1.2

Environment

  • standard-version version(s): 9.3.2
  • Node/npm version: 16.3.1
  • OS: Ubuntu in WSL2

I'd like to add that, this only happens with pnpm dlx and pnpm exec (standard-version installed locally). These cases works as expected:

  • Switch to use npx: $ npx standard-version -t ""
  • Install standard-version locally: changelog: standard-version -t "" and execute $ pnpm run changelog

P.S 1: Because it doesn't honor the version prefix param, pnpm dlx standard-version -t "" will collect all features and fixes from the whole repo history.

P.S 2: I suspect that it has to do with that empty string -t "". If I set -t "ver", the tag is properly prefixed.

Updated:

Playing around, I found these work-around the empty string param passed through pnpm dlx and pnpm exec:

pnpm dlx standard-version --dry-run -t '""'
pnpm dlx standard-version --dry-run -t "''"
pnpm dlx standard-version --dry-run -t \"\"

Maybe this is a bug at pnpm

Environment:

  • standard-version version(s): 9.3.2
  • Node/npm version: 16.14.2 with pnpm@6.32.6
  • OS: MacOS Monterey

I agree, this sounds like a pnpm bug.