🚨 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.7.2
Version published
Weekly downloads
8
60%
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.7.2 (2025-10-02) - Micro Hotfix

🔧 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