morph-cli 0.1.0

AST-based codebase migration and codemod tool for JavaScript and TypeScript projects.
Documentation
#![allow(clippy::all)]
pub mod frameworks;
pub mod package_json;
pub mod scanner;
pub mod workspace;

pub use frameworks::DetectedFramework;
pub use package_json::PackageJson;

#[allow(clippy::upper_case_acronyms, clippy::if_same_then_else)]
#[derive(Debug, Clone)]
pub struct DetectionResult {
    pub frameworks: Vec<DetectedFramework>,
    pub module_system: ModuleSystem,
    pub migration_opportunities: Vec<MigrationOpportunity>,
    pub risky_areas: Vec<RiskyArea>,
}

#[derive(Debug, Clone, PartialEq)]
#[allow(clippy::upper_case_acronyms)]
pub enum ModuleSystem {
    CommonJS,
    ESM,
    Mixed,
}

#[derive(Debug, Clone)]
#[allow(unused)]
pub struct MigrationOpportunity {
    pub name: String,
    pub description: String,
    pub recipes: Vec<String>,
    pub priority: u8,
}

#[derive(Debug, Clone)]
#[allow(unused)]
pub struct RiskyArea {
    pub path: String,
    pub reason: String,
    pub severity: u8,
}