Skip to content

Built-in showUsage is not tree-shaking, when put custom showUsage at runMain. #136

@kazupon

Description

@kazupon

Environment

npm -v
9.3.0
node -v
v18.19.1

Reproduction

repo

https://github.com/kazupon/citty-repro1

step to reproduction

# install
npm install

# build
npm run build
> [email protected] build
> unbuild

ℹ Building citty-repro1  
ℹ Cleaning dist directory: ./dist 
✔ Build succeeded for citty-repro1  
  dist/cli.cjs (total size: 29.3 kB, chunk size: 29.3 kB, exports: showUsage)  
  📦 node_modules/citty/dist/index.mjs (14 kB)
  📦 node_modules/consola/dist/core.mjs (9.79 kB)
  📦 node_modules/consola/dist/utils.mjs (2.79 kB)
  📦 node_modules/consola/dist/browser.mjs (1.75 kB)
  dist/cli.mjs (total size: 28.9 kB, chunk size: 28.9 kB, exports: showUsage) 
  📦 node_modules/citty/dist/index.mjs (14 kB)
  📦 node_modules/consola/dist/core.mjs (9.79 kB)
  📦 node_modules/consola/dist/utils.mjs (2.75 kB)
  📦 node_modules/consola/dist/browser.mjs (1.75 kB)
Σ Total dist size (byte size): 58.2 kB

# grep built-in `showUsage`
cat dist/cli.mjs | grep showUsage\$1
async function showUsage$1(cmd, parent) {
  const showUsage$1$1 = opts.showUsage || showUsage$1;
      await showUsage$1$1(...await resolveSubCommand(cmd, rawArgs));
      await showUsage$1$1(...await resolveSubCommand(cmd, rawArgs));

Describe the bug

Built-in showUsage and renderUsage are not tree-shaking, when put custom showUsage at runMain.

Additional context

related issue (comment)

rolldown/rolldown#754 (review)

As additional information, my use-case that citty is bundled with unbuild.

Logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions