Angular Modernizer
    Preparing search index...

    Detects direct new X() instantiation of DTO/Response/Result classes that should be constructed as typed object literals or via factory functions. Instantiating these classes directly bypasses type-safety checks and makes property mapping implicit rather than explicit.

    Detection scope:

    • NewExpression nodes whose class name matches default suffix patterns (.*Response, .*Dto, .*Result), Tier 1, name-based.
    • NewExpression nodes whose resolved class declaration extends a configured base class or carries a configured decorator, Tier 2, AST-based.
    • Explicit class names registered in explicitClassNames, Tier 1, O(1).

    Skipped:

    • .d.ts declaration files.
    • Class names that do not match any configured Tier 1 or Tier 2 criterion.
    const rule = new DtoDirectInstantiationRule();
    const results = await rule.analyze(createContext(sourceFile, project));
    // results[0].metadata.violationType -> 'dto-direct-instantiation'
    // results[0].metadata.detectionMechanism -> 'classNamePattern'
    // results[0].metadata.typeArguments -> ['UserDto']

    Implements

    Index

    Constructors

    Properties

    Methods

    Constructors

    Properties

    category: "angular-architecture" = 'angular-architecture'

    Rule category for grouping.

    description: "Detects direct new X() instantiation of DTO/Response/Result classes that should use typed object literals" = 'Detects direct new X() instantiation of DTO/Response/Result classes that should use typed object literals'

    Rule description explaining what it checks.

    id: "angular:dto-direct-instantiation" = 'angular:dto-direct-instantiation'

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

    name: "DTO Direct Instantiation" = 'DTO Direct Instantiation'

    Human-readable rule name.

    severity: "warning" = ...

    Rule severity level.

    tags: string[] = ...

    Tags for filtering and search.

    Methods