Skip to content

Published .vsix contains ccusageIntegration.js not present in the GitHub source #7

Closed

Description

@andrew-west-empromptu

Hi Jack, thanks for building this extension — it's one of the more useful Claude Code usage trackers out there.

I was doing a routine security review before installing, and noticed that the published .vsix on the VS Code Marketplace contains a compiled file out/ccusageIntegration.js that doesn't have a corresponding TypeScript source file in this repo.

That file imports child_process and uses spawn to execute commands (ccusage, bunx ccusage, npx ccusage, and a hardcoded local path /Users/jack/Workspace/ccusage/src/index.ts). None of the other modules in the package import it, so it appears to be dead code — looks like it may have been compiled locally and accidentally included when packaging.

A couple of minor things I also noticed:

  • .claude/settings.local.json (your local dev settings) is included in the .vsix — you may want to add it to .vscodeignore
  • The npx ccusage fallback could be a latent supply chain concern if that package name were ever squatted on npm

Suggested fixes:

  1. Add the source file to the repo, or remove the compiled output before packaging
  2. Add out/ccusageIntegration.js and .claude/ to .vscodeignore if they're not needed
  3. Republish a clean .vsix build

Happy to help if any of this is unclear. Just flagging it so users can verify that the published package matches the source. Cheers!

Activity

  1. Carl723000 commented on May 29, 2026

    @Carl723000
    Collaborator

    Hi! I'm Carl — I've recently been brought on as co-maintainer alongside @jack21, so I'm picking this one up.

    Thanks for catching this and writing it up — finding stray files in a published .vsix is exactly the kind of thing that tends to go unnoticed until it becomes embarrassing, so this report genuinely helped.

    v2.0.0 is built from a clean source tree and ccusageIntegration.js is no longer in the packaged .vsix. Your report also pushed me to add .claude/** and .github/** to .vscodeignore as a belt-and-braces measure, so personal/build noise can't sneak in next time.

    Closing here, but if anything ever looks like it came back from the dead, please reopen and we'll dig in. And more broadly — issues and PRs from the community are always very welcome. Careful reports like this one are exactly how the project gets better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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