Angular Modernizer
    Preparing search index...

    Result from the analyze-project tool.

    interface AnalyzeProjectResult {
        architecture: {
            confidence: number;
            layers: { name: string; path: string; purpose: string }[];
            pattern: string;
        };
        counts: {
            analyzedFiles: number;
            duration: number;
            rulesExecuted: number;
            totalFiles: number;
        };
        execution?: CancelledExecution;
        framework: {
            confidence: number;
            detected: boolean;
            indicators: string[];
            offlineApp?: {
                applications?: { name: string; serviceWorkerConfig?: string }[];
                detected: boolean;
                indicators: string[];
                pwaFeatures?: string[];
                serviceWorker?: boolean;
            };
            projects?: {
                applications: {
                    hasServiceWorker: boolean;
                    name: string;
                    root: string;
                    serviceWorkerConfig?: string;
                    sourceRoot?: string;
                }[];
                libraries: { name: string; root: string; sourceRoot?: string }[];
            };
            type: string;
        };
        metadata: {
            angularJsonPath?: string;
            packageJsonPath?: string;
            projectRoot: string;
            tsconfigPath: string;
        };
        orchestration?: {
            cacheHitRate?: number;
            duration: number;
            filesSkipped?: number;
            incremental: boolean;
            memoryUsage?: { average: number; peak: number };
            parallel: boolean;
            throughput: number;
            workerStats?: {
                averageTaskDuration: number;
                completedTasks: number;
                totalCpuTime: number;
            };
        };
        pagination?: {
            hasMore: boolean;
            offset: number;
            returnedResults: number;
            totalResults: number;
        };
        progress?: {
            current: number;
            eta?: number;
            percentage: number;
            phase: string;
            total: number;
        };
        results: {
            filePath: string;
            message: string;
            metadata?: Record<string, unknown>;
            ruleId: string;
        }[];
        summary: string;
        technologyStack: {
            buildTools: string[];
            frameworks: string[];
            languages: string[];
            packageManager: string;
        };
    }
    Index

    Properties

    architecture: {
        confidence: number;
        layers: { name: string; path: string; purpose: string }[];
        pattern: string;
    }

    Architecture analysis results.

    Type Declaration

    • confidence: number

      Detection confidence.

    • layers: { name: string; path: string; purpose: string }[]

      Layers derived from the folder structure and path aliases.

    • pattern: string

      Detected architecture pattern.

    counts: {
        analyzedFiles: number;
        duration: number;
        rulesExecuted: number;
        totalFiles: number;
    }

    Counts of the run.

    Type Declaration

    • analyzedFiles: number

      Files analyzed by the rules.

    • duration: number

      Duration of the run in milliseconds.

    • rulesExecuted: number

      Number of analyzer rules run.

    • totalFiles: number

      Files in the project.

    execution?: CancelledExecution

    Set when the client cancelled the analysis; counts cover the analyzed files.

    framework: {
        confidence: number;
        detected: boolean;
        indicators: string[];
        offlineApp?: {
            applications?: { name: string; serviceWorkerConfig?: string }[];
            detected: boolean;
            indicators: string[];
            pwaFeatures?: string[];
            serviceWorker?: boolean;
        };
        projects?: {
            applications: {
                hasServiceWorker: boolean;
                name: string;
                root: string;
                serviceWorkerConfig?: string;
                sourceRoot?: string;
            }[];
            libraries: { name: string; root: string; sourceRoot?: string }[];
        };
        type: string;
    }

    Framework detection results.

    Type Declaration

    • confidence: number

      Detection confidence.

    • detected: boolean

      true when a framework was recognized.

    • indicators: string[]

      Findings that led to the detection.

    • OptionalofflineApp?: {
          applications?: { name: string; serviceWorkerConfig?: string }[];
          detected: boolean;
          indicators: string[];
          pwaFeatures?: string[];
          serviceWorker?: boolean;
      }

      Offline (PWA) capabilities of the workspace.

      • Optionalapplications?: { name: string; serviceWorkerConfig?: string }[]

        Applications with offline support.

      • detected: boolean

        true when offline support was found.

      • indicators: string[]

        Findings that led to the detection.

      • OptionalpwaFeatures?: string[]

        Detected PWA features.

      • OptionalserviceWorker?: boolean

        true when a service worker is configured.

    • Optionalprojects?: {
          applications: {
              hasServiceWorker: boolean;
              name: string;
              root: string;
              serviceWorkerConfig?: string;
              sourceRoot?: string;
          }[];
          libraries: { name: string; root: string; sourceRoot?: string }[];
      }

      All projects in the Angular workspace (applications + libraries).

      • applications: {
            hasServiceWorker: boolean;
            name: string;
            root: string;
            serviceWorkerConfig?: string;
            sourceRoot?: string;
        }[]

        Application projects.

      • libraries: { name: string; root: string; sourceRoot?: string }[]

        Library projects.

    • type: string

      Framework name, e.g. Angular CLI or Nx.

    metadata: {
        angularJsonPath?: string;
        packageJsonPath?: string;
        projectRoot: string;
        tsconfigPath: string;
    }

    Project metadata.

    Type Declaration

    • OptionalangularJsonPath?: string

      Path of angular.json, when found.

    • OptionalpackageJsonPath?: string

      Path of package.json, when found.

    • projectRoot: string

      Analyzed project root.

    • tsconfigPath: string

      tsconfig used for the analysis.

    orchestration?: {
        cacheHitRate?: number;
        duration: number;
        filesSkipped?: number;
        incremental: boolean;
        memoryUsage?: { average: number; peak: number };
        parallel: boolean;
        throughput: number;
        workerStats?: {
            averageTaskDuration: number;
            completedTasks: number;
            totalCpuTime: number;
        };
    }

    Orchestration metrics, set when parallel or incremental was requested.

    Type Declaration

    • OptionalcacheHitRate?: number

      Incremental cache hit rate.

    • duration: number

      Duration of the run in milliseconds.

    • OptionalfilesSkipped?: number

      Files skipped by incremental analysis.

    • incremental: boolean

      Incremental mode was requested.

    • OptionalmemoryUsage?: { average: number; peak: number }

      Heap figures from the kernel's resource stats.

      • average: number

        Half of the total heap.

      • peak: number

        Heap in use.

    • parallel: boolean

      Parallel execution was requested.

    • throughput: number

      Analyzed files per second.

    • OptionalworkerStats?: { averageTaskDuration: number; completedTasks: number; totalCpuTime: number }

      Statistics of the parallel executor.

      • averageTaskDuration: number

        Average task duration.

      • completedTasks: number

        Completed tasks.

      • totalCpuTime: number

        CPU time of all tasks.

    pagination?: {
        hasMore: boolean;
        offset: number;
        returnedResults: number;
        totalResults: number;
    }

    Pagination metadata (when pagination is used).

    Type Declaration

    • hasMore: boolean

      true when more findings follow the page.

    • offset: number

      Offset of the page (resultOffset).

    • returnedResults: number

      Findings in this page.

    • totalResults: number

      Findings in total.

    progress?: {
        current: number;
        eta?: number;
        percentage: number;
        phase: string;
        total: number;
    }

    Progress state (if enableProgress was true).

    Type Declaration

    • current: number

      Processed items.

    • Optionaleta?: number

      Estimated time to completion.

    • percentage: number

      Progress in percent.

    • phase: string

      Progress type reported by the kernel.

    • total: number

      Items in total.

    results: {
        filePath: string;
        message: string;
        metadata?: Record<string, unknown>;
        ruleId: string;
    }[]

    Analysis results from rules.

    Type Declaration

    • filePath: string

      File the finding refers to.

    • message: string

      Finding message.

    • Optionalmetadata?: Record<string, unknown>

      Rule-specific details.

    • ruleId: string

      Rule that reported the finding.

    summary: string

    Human-readable summary for LLM consumption.

    technologyStack: {
        buildTools: string[];
        frameworks: string[];
        languages: string[];
        packageManager: string;
    }

    Technology stack analysis.

    Type Declaration

    • buildTools: string[]

      Build tools found.

    • frameworks: string[]

      Frameworks and libraries found.

    • languages: string[]

      Languages used in the project.

    • packageManager: string

      Package manager (npm, yarn or pnpm) from the lock file.