🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis
Socket
Book a DemoInstallSign in
Socket

sr_setup-cli

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sr_setup-cli

Modern CLI for React/Next.js projects with Tailwind CSS v4, templates, and clean setup

npmnpm
Version
2.8.3
Version published
Weekly downloads
9
80%
Maintainers
1
Weekly downloads
 
Created
Source

Simple React CLI

A modern CLI tool for creating React projects with multiple frameworks (Vite, Next.js, Remix, Gatsby), Tailwind CSS v4, optional libraries, and a clean setup. Perfect for developers who want to skip boilerplate and start coding immediately! Supports both English and Russian interfaces.

⚠️ Note: This CLI may contain some bugs and issues. Subsequent patches will address and fix all identified problems. If you encounter any issues, please report them for faster resolution.

Changelog

v2.8.3 (2025-10-02) - npm Display Fix

🔧 Hotfixes:

  • Fixed npm README Display: Added repository, homepage, and bugs fields to package.json
  • npm Metadata: Improved package metadata for better npm website display
  • Package Information: Enhanced package discoverability on npm registry

v2.8.2 (2025-10-02) - Enhanced User Experience

🎨 UX Improvements:

  • Unified Interface Language: Added initial language selection that applies to entire CLI experience
  • Consistent Navigation: Replaced all Y/N prompts with arrow key selection for uniformity
  • Visual Consistency: All prompts now use ✅ Да/Yes and ❌ Нет/No with emoji indicators
  • Streamlined Setup: Eliminated duplicate language selection during project setup
  • Better Visual Feedback: Consistent interaction patterns throughout the application
  • Improved Accessibility: All options clearly marked with visual indicators

🔧 Technical Improvements:

  • Smart Language Handling: CLI remembers language choice throughout session
  • Better Prompt System: Converted confirm prompts to list prompts for consistency
  • Fixed Translation System: Corrected import issues with translation functions
  • Enhanced Menu Flow: Language change option available in main menu

v2.8.1 (2025-10-02) - UI Improvements

🎨 UX Improvements:

  • Cleaner Menu Interface: Removed "Show version" menu item, now displays version directly under main title
  • Streamlined Navigation: Version is always visible in header, reducing menu clutter
  • Better Visual Hierarchy: Version prominently displayed in green under the CLI title

v2.8.0 (2025-10-02) - Interactive Updates & Enhanced Menu

✨ New Features:

  • Interactive Auto-Update: CLI now offers interactive choice to update when new version is available
  • Enhanced Menu System: Added new menu items:
    • 📋 Show changelog - View complete changelog before updating
    • ⬆️ Check for updates - Manual update check with interactive prompt
  • Smart Version Display: Version menu now automatically checks for updates and offers to install
  • Auto-Restart After Update: CLI automatically suggests restart after successful update
  • Bilingual Update System: Full Russian/English support for all update features

🛠️ Improvements:

  • Better File Cleanup: Fixed removal of react.svg and vite.svg files for all presets
  • Enhanced Error Handling: Improved timeout and error handling for npm operations
  • User Experience: More intuitive update flow with clear prompts and feedback

v2.7.2 (2025-10-02) - Package Fix

🔧 Hotfixes:

  • Hotfix Readme.md
  • Removed Unnecessary Assets: Deleted react.svg and vite.svg from project template
  • Removed Default CSS: Deleted standard app.css for cleaner setup
  • Updated Links: Removed git repository references, added portfolio link
  • Template Cleanup: Cleaner project structure without boilerplate assets

v2.7.0 (2025-10-02) - Major UX Update, Code Quality & Interactive Menu

✨ New Features:

  • Interactive Menu System: Beautiful menu with arrow key navigation (no flags required!)
    • 🚀 Start project setup
    • 📦 Show version
    • ❓ Show help
    • 🚪 Exit
  • Colored UI: Cyan-themed interface with beautiful ASCII art banners
  • Progress Indicators: Integrated ora spinners for all long-running operations
  • Welcome Screen: Minimalist black and white design
    • Separate page in src/pages/Welcome.jsx for easy deletion
    • Direct links to all installed package documentation
    • Clean, professional appearance

🛡️ Error Handling & Validation:

  • Global Error Handler: Comprehensive error handling with custom error classes (CLIError, ValidationError, InstallationError)
  • Unhandled Rejection Handler: Catches and logs all unhandled promise rejections
  • Graceful Interruption: Proper handling of SIGINT (Ctrl+C) and SIGTERM signals
  • Input Validation:
    • Path validation with invalid characters (< > : " | ? *)
    • Windows path length limits (240 characters)
    • App title validation (max 100 characters)
  • Error Logging: All errors logged to error-log.txt
  • Windows Compatibility: Fixed all Windows-specific issues (npx.cmd, spawn errors)

🎨 User Experience:

  • Interactive Navigation: Arrow key navigation throughout the entire CLI
  • Visual Feedback:
    • Spinner animations for all long-running operations
    • Color-coded messages (success ✓, warning ⚠, error ❌)
    • Cyan-themed ASCII art banners
    • Localized messages (Russian/English)
  • Better Success Messages:
    • Colored completion banner (green with checkmark)
    • Clear next steps with highlighted commands
  • Menu Navigation:
    • Version display with Node.js info
    • Detailed help screen in Russian
    • Return to menu after viewing info

🔧 Code Quality Improvements:

  • Removed Code Duplication:
    • Added writeFileWithLogging helper function
    • Simplified project structure creation
    • Removed duplicate console logs
  • Better Code Organization:
    • Created dedicated error-handler.js module
    • Improved separation of concerns with menu system
    • Cleaner main flow with async/await
  • Optimized Operations:
    • Switched from spawn to execSync for Windows compatibility
    • All npm commands use --silent flag
    • Fixed directory creation order

📦 Package Updates:

  • Version Bump: v2.5.1 → v2.6.0
  • Updated Libraries: All packages compatible with React 19
    • framer-motion: v12.23.x (replaces react-spring)
    • lucide-react: v0.544.x (10.5M weekly downloads)
    • zustand: v5.0.x (11.7M weekly downloads)
    • react-hook-form: v7.63.x (13.1M weekly downloads)
    • axios: v1.12.x (70.3M weekly downloads)
  • Removed Deprecated: react-spring (React 19 conflicts)

🐛 Bug Fixes:

  • Fixed Directory Creation: ENOENT error when creating Welcome.jsx
  • Windows Compatibility:
    • Fixed spawn ENOENT error (npx.cmd handling)
    • Fixed spawn EINVAL error (switched to execSync)
    • Removed DeprecationWarning (shell:true)
  • Peer Dependencies: Removed react-spring to fix React 19 conflicts
  • Version Comparison: Fixed semantic version comparison
  • Logger: Added missing white() method
  • Translation: All spinner messages properly translated to Russian
  • Error Logging: Fixed filename from setup-error.log to error-log.txt
  • Duplicate Messages: Removed duplicate console logs

📚 Developer Experience:

  • Interactive Menu: No need to remember CLI flags
  • Better Error Messages: Detailed error information with context
  • Detailed Logging: All errors logged with timestamps
  • Cleaner Console Output: Color-coded, organized, professional
  • Modern Welcome Screen: Design with all necessary links
  • Updated Documentation: README with interactive menu usage

Installation

Quick Install:

npm i -g sr_setup-cli

Alternative methods:

# Global installation (recommended)
npm install -g sr_setup-cli

# Or run without installing
npx sr_setup-cli

Usage

Simply run the CLI:

sr_setup-cli

You'll see an interactive menu where you can choose:

  • 🚀 Start project setup - Begin interactive installation
  • 📦 Show version - Display CLI version
  • Show help - View detailed help information
  • 🚪 Exit - Close the CLI

Navigate with arrow keys (↑/↓) and press Enter to select.

After selecting "Start project setup", follow the interactive prompts to configure your project:

  • Choose CLI language: English or Русский
  • Enter project name
  • Enter app title (for browser tab)
  • Choose framework: React (Vite), Next.js, Remix, or Gatsby
  • Choose installation preset: Minimal, Full, Testing, or Custom
  • Create project structure, setup .env files, create .gitignore (optional)

For the library and tool selection, use:

  • <space> to select
  • <a> to toggle all
  • <i> to invert selection
  • <enter> to proceed

Installation Presets

Choose from pre-configured installation presets:

  • Minimal: React + Vite + Tailwind CSS only (fastest setup)
  • Full: Router + State + Forms + UI + Testing + Tools (complete development setup) ⚠️ Takes very long time to install
  • Testing: Tests + Base Tools (for existing projects)
  • Custom: Manual selection of libraries and tools

Preset Contents

Full Preset Includes:

  • Libraries: Lucide React, Framer Motion, React Router DOM, Zustand, React Hook Form, Axios
  • Tools: ESLint, Prettier, Husky, Lint-Staged, Vitest

Testing Preset Includes:

  • Tools: ESLint, Prettier, Husky, Lint-Staged, Vitest, @testing-library/react

Libraries & Tools

  • Lucide React: Beautiful, customizable icons
  • Framer Motion: Powerful animation library
  • React Router: Client-side routing for SPAs
  • Zustand: Lightweight state management
  • React Hook Form: Performant form handling
  • Axios: Promise-based HTTP client
  • @testing-library/react: React testing utilities
  • ESLint: Code linting for better code quality
  • Prettier: Code formatting for consistent style
  • Husky: Git hooks for automated checks

Example

sr_setup-cli
# CLI language: Русский
# Project name: my-awesome-app
# App title: Awesome App
# Framework: React (Vite)
# Preset: Full
# Create structure: Yes
# Setup .env: Yes
# Create .gitignore: Yes

This creates a clean project ready for development with your chosen configuration.

Requirements

  • Node.js >= 18.0.0
  • npm, yarn, or pnpm

License

MIT License. See LICENSE for details.

Author

Oleg Litvinchuk
Portfolio: https://litvinchuk-resume.netlify.app/

Keywords

cli

FAQs

Package last updated on 02 Oct 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts