Skip to content

Remove the unpublishable npm package and other dead files#66

Merged
nmbrthirteen merged 1 commit into
mainfrom
chore/remove-dead-npm-package
Jul 8, 2026
Merged

Remove the unpublishable npm package and other dead files#66
nmbrthirteen merged 1 commit into
mainfrom
chore/remove-dead-npm-package

Conversation

@nmbrthirteen

Copy link
Copy Markdown
Owner

Why npm/ can't work

npm/ is a complete distribution package — a bin/podcli.js shim plus a postinstall that downloads the native binary — for a name npm refuses. RELEASE.md:13 already records it:

npm isn't used — the unscoped name podcli is blocked by npm as too similar to pod-cli.

It's dead, not dormant:

  • No CI job builds or publishes it.
  • No postinstall anywhere references its scripts/install.js.
  • Pinned at "version": "2.0.0" while the project ships 2.4.1. It never entered the version-sync path.
  • npm/README.md documents npm i -g podcli as the install method, so the one thing it did reliably was mislead anyone who opened the repo.

Removed

Item Size Why
npm/ 20K Unpublishable, unreferenced, misleading README
out/product-shots/ 3.8M 16 renders referenced by nothing
podcli.cmd Zero references anywhere in the repo
podcli (bash wrapper) Pre-native-CLI; reachable only via the dead bin entry below

Root package.json

It was a second dead npm identity for the same blocked name, with bin pointing at the legacy ./podcli wrapper. The file itself stays — it's the TypeScript/Vite/Remotion dev manifest and now the version source of truth — but the bin entry is gone and it's marked private.

.gitignore

output/ was ignored, out/ was not. That's how 3.8M of product shots got committed. Both are ignored now. Verified scripts/build-studio.sh writes to dist/studio, not out/, so nothing legitimate is newly ignored.

Kept

install.sh / install.ps1 / install.cmd (the real installers) and setup.sh / setup.ps1 (the documented dev-env setup, referenced by README and CONTRIBUTING).

Verification

go test ./..., tsc --noEmit, and 61 vitest tests pass. gen-version.sh still reads 2.4.1 from package.json after the private addition, and backend/version.py still resolves VERSION = 2.4.1.

Noted, not changed

sync.sh excludes res10...caffemodel and deploy.prototxt from the embed but not yamnet.onnx, so the 15M laughter model is compiled into every launcher on every platform — most of the 22M binary (confirmed: 646 yamnet string hits in the shipped podcli-darwin-arm64). That's inconsistent with Whisper models, which EnsureModel downloads on demand, but embedding does make highlights work offline with zero provisioning. Left alone as a tradeoff to decide separately.

npm/ was a complete distribution package (bin shim plus a postinstall that
downloads the native binary) for a name npm refuses: the unscoped `podcli` is
blocked as too similar to `pod-cli`, as RELEASE.md already records. Nothing built
or published it, no postinstall referenced its install.js, and it sat at version
2.0.0 while the project shipped 2.4.1. Its README documented `npm i -g podcli` as
the install method, so the one thing it did reliably was mislead anyone who opened
the repo.

The root package.json served as a second dead npm identity for the same name, with
`bin` pointing at the legacy ./podcli bash wrapper. It is the TypeScript, Vite, and
Remotion dev manifest, and now the version source of truth, so it stays; the bin
entry is gone and it is marked private.

Also removed:
- out/product-shots/ (3.8M of renders referenced by nothing)
- podcli and podcli.cmd, pre-native-CLI wrappers; podcli.cmd had zero references
  and ./podcli was reachable only through the bin entry above

.gitignore covered output/ but not out/, which is how the product shots landed in
git. Both are ignored now. Installers, setup.sh, and setup.ps1 are untouched: they
are the real install and dev-env paths.
@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@nmbrthirteen, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 15 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: bc6c0898-f2f7-4f0f-b1bf-78b9e88f3847

📥 Commits

Reviewing files that changed from the base of the PR and between 5963f2d and a35cb99.

⛔ Files ignored due to path filters (16)
  • out/product-shots/podcli-fixed-flat-4card.png is excluded by !**/*.png
  • out/product-shots/podcli-fixed-flat-rounded.png is excluded by !**/*.png
  • out/product-shots/podcli-hd-1920x1080.png is excluded by !**/*.png
  • out/product-shots/podcli-hd-2x.png is excluded by !**/*.png
  • out/product-shots/podcli-library-crop-shot.png is excluded by !**/*.png
  • out/product-shots/podcli-library-fullpage.png is excluded by !**/*.png
  • out/product-shots/podcli-ui-concepts.png is excluded by !**/*.png
  • out/product-shots/podcli-ui-full.png is excluded by !**/*.png
  • out/product-shots/ui-avatar-crop.png is excluded by !**/*.png
  • out/product-shots/ui-avatar.png is excluded by !**/*.png
  • out/product-shots/ui-minimal-crop.png is excluded by !**/*.png
  • out/product-shots/ui-minimal.png is excluded by !**/*.png
  • out/product-shots/ui-silhouette-crop.png is excluded by !**/*.png
  • out/product-shots/ui-silhouette.png is excluded by !**/*.png
  • out/product-shots/ui-waveform-crop.png is excluded by !**/*.png
  • out/product-shots/ui-waveform.png is excluded by !**/*.png
📒 Files selected for processing (8)
  • .gitignore
  • npm/README.md
  • npm/bin/podcli.js
  • npm/package.json
  • npm/scripts/install.js
  • package.json
  • podcli
  • podcli.cmd
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/remove-dead-npm-package

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nmbrthirteen nmbrthirteen merged commit 781ed3d into main Jul 8, 2026
6 checks passed
@nmbrthirteen nmbrthirteen deleted the chore/remove-dead-npm-package branch July 8, 2026 08:29
@nmbrthirteen nmbrthirteen mentioned this pull request Jul 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant