| Crates.io | vx-tool-node |
| lib.rs | vx-tool-node |
| version | 0.4.0 |
| created_at | 2025-06-15 04:17:38.518557+00 |
| updated_at | 2025-06-19 13:55:24.077355+00 |
| description | Node.js tool support for vx |
| homepage | https://github.com/loonghao/vx |
| repository | https://github.com/loonghao/vx |
| max_upload_size | |
| id | 1712896 |
| size | 88,228 |
Node.js Tool Plugin for vx Universal Tool Manager
Beautiful Node.js installation and management with zero configuration
vx-tool-node provides comprehensive Node.js runtime support for vx, enabling automatic installation, version management, and execution of Node.js and npm commands through the vx interface. Enhanced with the vx-installer engine for beautiful installation experiences.
When you first use Node.js through vx, you'll see a beautiful installation process:
$ vx node --version
🚀 Installing Node.js v20.11.0...
⬇️ [████████████████████████████████] 28.4MB/28.4MB (4.2MB/s, 0s remaining)
📦 Extracting Node.js archive...
🔧 Setting up Node.js environment...
✅ Node.js v20.11.0 installed successfully!
v20.11.0
# 🎯 Use the EXACT same Node.js commands you already know!
vx node script.js # Auto-installs Node.js if needed
vx node --version # Beautiful progress bars on first run
vx node -e "console.log('Hello!')" # Zero configuration required
# Interactive REPL (same as always)
vx node
# 📦 Same npm commands, enhanced experience
vx npm install express # Auto-installs Node.js + npm if needed
vx npm install -g typescript # Global packages in isolated environment
vx npm uninstall lodash # Same commands you know
vx npm update # Enhanced with progress tracking
# 🚀 Project management (zero learning curve)
vx npm init # Interactive project setup
vx npm run dev # Run scripts as usual
vx npm test # Testing workflows unchanged
vx npm publish # Publishing works the same
# 📊 Information commands with better output
vx npm list # Enhanced formatting
vx npm outdated # Better visual output
vx npm audit # Security audit with colors
# 🎯 Perfect for MCP servers - just add 'vx'!
vx npx create-react-app my-app # Auto-installs create-react-app
vx npx -y cowsay "Hello from vx!" # One-time tool execution
vx npx typescript --init # TypeScript setup
vx npx @browsermcp/mcp@latest # MCP server execution
# 🚀 Run specific versions with progress tracking
vx npx typescript@4.9.5 --version # Version-specific execution
vx npx -p typescript@latest tsc --version # Latest version usage
# 🤖 MCP Integration Example
# Instead of: npx @browsermcp/mcp@latest
# Use: vx npx @browsermcp/mcp@latest
# Benefits: Auto-installation, environment isolation, progress tracking
Perfect for MCP (Model Context Protocol) servers that require Node.js tools:
{
"mcpServers": {
"browsermcp": {
"command": "vx",
"args": ["npx", "-y", "@browsermcp/mcp@latest"]
},
"typescript-tools": {
"command": "vx",
"args": ["npx", "typescript-language-server", "--stdio"]
}
}
}
# Install latest LTS version
vx install node
# Install specific version
vx install node@18.17.0
vx install node@20.10.0
# Install latest version
vx install node@latest
# Semantic version ranges
vx install node@^18.0.0 # Latest 18.x.x
vx install node@~18.17.0 # Latest 18.17.x
vx install node@>=18.0.0 # 18.0.0 or higher
[tools]
node = "18.17.0" # Specific version
# node = "lts" # Latest LTS
# node = "latest" # Latest stable
# node = "^18.0.0" # Version range
[tools.node]
auto_install = true
install_npm = true # Install npm alongside Node.js
[tools.node]
default_version = "lts"
auto_install = true
install_timeout = 300
prefer_lts = true
[node.npm]
registry = "https://registry.npmjs.org/"
cache_dir = "~/.npm"
The plugin supports all official Node.js releases:
# List available versions
vx list node
# Show current version
vx node --version
# Show installation path
vx which node
use vx_core::{Tool, ToolManager};
use vx_tool_node::NodeTool;
let node_tool = NodeTool::new();
let manager = ToolManager::new();
// Install Node.js
manager.install_tool(&node_tool, "18.17.0").await?;
// Execute Node.js
manager.execute_tool(&node_tool, &["--version"]).await?;
use vx_core::{Plugin, PluginManager};
use vx_tool_node::NodePlugin;
let plugin = NodePlugin::new();
let mut manager = PluginManager::new();
manager.register_plugin(Box::new(plugin))?;
cd crates/vx-tool-node
cargo build
cargo test
# Test with actual Node.js installation
cargo test --features integration-tests
.vx.toml for version specification# Reinstall corrupted version
vx install node@18.17.0 --force
# Clear cache and retry
vx cleanup --cache-only
vx install node@18.17.0
# Use system Node.js as fallback
vx --use-system-path node --version
# Check available versions
vx search node
# Verify network connectivity
curl -I https://nodejs.org/dist/
# Check disk space
vx stats
# Force reinstall
vx remove node@18.17.0
vx install node@18.17.0
# Check Node.js installation
vx node --version
vx npm --version
# Verify PATH configuration
vx which node
vx which npm
# Test with system Node.js
vx --use-system-path node --version
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please see the contributing guidelines for more information.
vx-installer - 🆕 Universal installation engine with progress trackingvx-core - Core functionality and utilitiesvx-cli - Command-line interface with rich UXvx-config - Configuration management systemvx-pm-npm - NPM package manager pluginvx-tool-uv - UV Python tool pluginNode.js development made effortless