1.0.4 • Published 9 months ago

killportall v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months ago

killportall

A powerful cross-platform Node.js CLI tool for efficiently killing processes on specified ports with detailed logging and interactive mode.

npm version License: MIT Node.js Version Downloads

Features

  • 🎯 Kill processes on single or multiple ports
  • 📊 Interactive mode to select ports from a list
  • 🔄 Configurable retry mechanism
  • 📝 Detailed process information display
  • ⚙️ Configuration file support
  • 🖥️ Cross-platform support (Windows, macOS, Linux)
  • 🎨 JSON output format for scripting
  • 🚀 Fast and efficient port killing
  • 🔍 Debug mode for troubleshooting
  • 🛡️ Robust error handling

Quick Start

# Install globally
npm install -g killportall

# Kill a single port
killportall 3000

# Kill multiple ports
killportall 3000 8080 5000

# Interactive mode
killportall -i

Installation

Global Installation (Recommended)

npm install -g killportall

Local Installation

npm install killportall

Development Setup

# Clone the repository
git clone https://github.com/siri1410/killportall.git

# Install dependencies
cd killportall
npm install

# Link for development
npm link

Usage

Basic Commands

# Kill a single port
killportall 3000

# Kill multiple ports
killportall 3000 8080 5000

# Kill a range of ports
killportall 3000-3005

# Interactive mode
killportall -i

# JSON output
killportall 3000 --json

# With retries
killportall 3000 --retries 5

# With custom timeout
killportall 3000 --timeout 2000

Command Line Options

OptionDescriptionDefault
-r, --retries <number>Number of retry attempts3
-t, --timeout <ms>Timeout between retries1000
-i, --interactiveRun in interactive modefalse
-j, --jsonOutput results in JSON formatfalse
--config <key=value>Set configuration value-
-v, --versionDisplay version number-
-h, --helpDisplay help information-

Configuration

Create a .killportallrc.json file in your home or project directory:

{
  "retries": 3,
  "timeout": 1000,
  "interactive": false,
  "outputFormat": "text"
}

Debug Mode

# Enable debug logging
DEBUG=killportall:* killportall 3000

# Enable specific debug categories
DEBUG=killportall:cli,killportall:config killportall 3000

API Usage

import { killPorts } from 'killportall';

async function cleanupPorts() {
    try {
        const results = await killPorts([3000, 3001], {
            retries: 3,
            timeout: 1000
        });
        console.log('Results:', results);
    } catch (error) {
        console.error('Error:', error);
    }
}

Error Handling

The tool handles various error scenarios:

  • Invalid port numbers (outside 1-65535 range)
  • Permission issues (requires elevated privileges)
  • Process not found on port
  • Failed kill attempts
  • Configuration errors
  • Network interface issues

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow ESM module syntax
  • Maintain cross-platform compatibility
  • Add tests for new features
  • Update documentation
  • Follow semantic versioning

Publication Steps

For Maintainers

  1. Prepare for publication:
npm version patch  # or minor/major
npm test
npm login
  1. Test locally:
npm link
killportall --version
  1. Publish:
npm run clean
npm run link

npm run reset
npm run setup

npm publish
# or for beta
npm publish --tag beta
  1. Create release:
git tag v1.0.3
git push origin v1.0.3

Version Guidelines

  • MAJOR (1.x.x): Breaking changes
  • MINOR (x.1.x): New features (backward compatible)
  • PATCH (x.x.1): Bug fixes (backward compatible)

License

MIT © Sireesh Yarlagadda

Support

  • GitHub Issues: Report Bug
  • Email: contact@yarlis.com

Acknowledgments

  • Cross-platform support inspired by Node.js community
  • CLI design influenced by popular tools like npm and yarn
1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago