Angular Modernizer
    Preparing search index...

    Analysis rule angular:interface-duplication.

    Detects two kinds of type-system duplication across a TypeScript project:

    1. Interface family duplication: groups of 3+ interfaces sharing the same conceptual suffix (e.g. DialogRequest, Config, Data) whose property sets have non-zero Jaccard similarity. One violation is emitted per group.

    2. ID type mixing: functions or methods with 2+ parameters whose names end with Id and whose declared type is string (i.e. unbranded string IDs).

    Skips .d.ts declaration files and anything under node_modules/.

    Findings belong to the analyzed file (context.sourceFile): a family is found across the files of the project, but each call reports only the families with a member in that file, once per family, so every file gets its own findings regardless of which other files are analyzed with it. Families whose members are never in the project together (e.g. in different scan batches) are not found.

    const rule = new InterfaceDuplicationAnalysisRule();
    const results = await rule.analyze(context);

    Implements

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    category: "angular-typescript" = 'angular-typescript'

    Rule category for grouping.

    description: string = ...

    Rule description explaining what it checks.

    id: "angular:interface-duplication" = 'angular:interface-duplication'

    Unique rule identifier (scoped to plugin). Format: "plugin-name:rule-name" (e.g., "angular-standalone:component-not-standalone")

    name: "Interface Duplication" = 'Interface Duplication'

    Human-readable rule name.

    severity: "warning" = 'warning'

    Rule severity level.

    tags: string[] = ...

    Tags for filtering and search.

    Methods