1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//! nrs - npm Run Scripts
//!
//! A fast, interactive terminal user interface (TUI) for discovering
//! and executing npm/yarn/pnpm/bun scripts defined in `package.json` files.
//!
//! # Features
//!
//! - **Fast**: Sub-50ms startup time (Rust native binary)
//! - **Intuitive**: Number keys for quick execution, fuzzy search, visual grid
//! - **Smart**: Auto-detect package manager, remember history, show descriptions
//! - **Cross-platform**: Linux and macOS support
//! - **Zero-config**: Works out of the box, optional configuration for power users
//!
//! # Modules
//!
//! - [`cli`] - Command-line interface argument parsing
//! - [`config`] - Configuration file loading and types
//! - [`error`] - Error types and result helpers
//! - [`filter`] - Fuzzy filtering for scripts
//! - [`history`] - Script execution history tracking
//! - [`package`] - Package.json parsing and package manager detection
//! - [`runner`] - Script execution
//! - [`tui`] - Terminal user interface
//! - [`utils`] - Path and terminal utilities
//!
//! # Example
//!
//! ```no_run
//! use npm_run_scripts::package::{parse_scripts, detect_runner, Runner};
//! use std::path::Path;
//!
//! // Parse scripts from a project
//! let project_dir = Path::new("./my-project");
//! let scripts = parse_scripts(project_dir).expect("Failed to parse scripts");
//!
//! // Detect the package manager
//! let runner = detect_runner(project_dir);
//!
//! // Get the command for a script
//! let cmd = runner.run_command("dev");
//! println!("Command: {:?}", cmd);
//! ```
/// CLI argument definitions.
/// Configuration system for loading and merging settings.
/// Error types and result helpers.
/// Fuzzy filtering for scripts.
/// Script execution history tracking.
/// Package.json parsing and package manager detection.
/// Script execution.
/// Terminal user interface.
/// Path and terminal utilities.
// Re-export commonly used types
pub use Cli;
pub use Config;
pub use ;
pub use ;