vibetunnel
and vt
)pty.node
: Main Node.js addon for terminal operationsspawn-helper
: macOS-only C helper binary for process spawningauthenticate_pam.node
: Node.js addon for system authenticationnode_modules/authenticate-pam/
: Full module with package.json, binding.gyp, and source filesprebuild
and prebuild-install
to provide precompiled native modules, eliminating the need for users to have build tools installed.
npm install -g vibetunnel
libpam0g-dev
for authenticate-pam compilation from sourcebuild-essential
only needed for source compilation fallbacknode:22-bookworm
python3 make g++ git libpam0g-dev
CI=true
to avoid interactive promptsspawn-helper
is a small C helper binary used by node-pty for proper terminal process spawning on macOS.
lipo
public/bundle/test.js
, public/test/
directory)*.cast
prevented by .gitignore)dist/
selectively included via package.json files
field)package.json
vt
command from npm automatically detects if the Mac app is installed/Applications/VibeTunnel.app
, npm vt
defers to it/usr/local/bin/vt
from other toolsvt
symlink can’t be createdvibetunnel
or npx vt
as alternativescopyAuthenticatePam()
function in scripts/build-npm.js
:
fs.statSync()
to properly follow symlinksdist-npm/node_modules/authenticate-pam/
pnpm install
to install all dependenciespnpm install authenticate-pam
gyp ERR! stack Error: not found: make
Solution: Install build tools:
xcode-select --install
apt-get install build-essential
fatal error: security/pam_appl.h: No such file or directory
Solution: Install PAM development libraries:
apt-get install libpam0g-dev
Docker is required for multi-platform builds
Solution: Install Docker using OrbStack or Docker Desktop
prebuild-install warn install No prebuilt binaries found
Cause: Network issues or unsupported platform/Node version
Result: Automatic fallback to source compilation
npm install -g
installs packages to system location instead of NVM directorynpm_config_prefix
environment variable overrides NVM’s per-version npm configuration
Detection: VibeTunnel’s postinstall script will warn if this conflict is detected:
npm_config_prefix
settings in:
~/.bashrc
~/.bash_profile
~/.profile
/etc/profile
scripts/build-npm.js
- Unified npm build process with multi-platform supportscripts/postinstall-npm.js
- Fallback compilation logic.prebuildrc
- Prebuild configuration for target platformspackage.json
- Package configuration and file inclusionsvibetunnel@beta
and vibetunnel@latest
Critical Fix:
node_modules/authenticate-pam/
copyAuthenticatePam()
function to search multiple pnpm locationsfs.statSync()
for accurate module detectionvibetunnel@beta
and vibetunnel@latest
Key Features:
vibetunnel@beta
Key Features:
web/package.json
and mac/VibeTunnel/version.xcconfig
--tag beta
flag when publishing--access public
flag for public package publishingpnpm run build:npm
creates the complete package with all prebuildsdist-npm/package.json
before publishingbeta
taglatest
after testing confirms stability