Skip to content

SmuggleLocal npm packages

No symlinks, no lockfile pollution, no registry overrides. Just real files in node_modules.

No symlinks
Real files in node_modules, just like a normal install.
No lockfile churn
pnpm-lock.yaml, package-lock.json, yarn.lock — untouched.
Automatic cleanup
Originals are restored on exit. Even on Ctrl-C.
Instant feedback
File watcher re-packs and re-swaps on every change.

See it run

A typical session — publish, install, watch.

~ — smugglelive demo
$

How it works

Seven steps from your source folder into node_modules, and back out cleanly.

smuggle publish smuggle install
Packing sourceRuns npm pack on your local package.
source
your package
./my-package
  • package.json
  • src/index.ts
  • dist/
vault
smuggle store
~/.smuggle/
  • my-package@1.0.0.tgz
  • @co/ui@2.3.1.tgz
target
your project
node_modules/
  • my-package
  • react
  • typescript
smuggle publish
$smuggle publish
→ npm pack ./my-package