Dependicus API Reference
    Preparing search index...

    Interface DependicusCliConfig

    interface DependicusCliConfig {
        cacheDir?: string;
        cliName?: string;
        dependicusBaseUrl: string;
        github?: {
            allowNewIssues?: boolean;
            cooldownDays?: number;
            getGitHubIssueSpec?: (
                context: VersionContext,
                store: FactStore,
            ) =>
                | {
                    assignment?: | { type: "unassigned" }
                    | { assignees: string[]; type: "assign" };
                    availableMajorVersion?: string;
                    daysOverdue?: number;
                    descriptionSections?: { body: string; title: string }[];
                    group?: string;
                    labels?: string[];
                    owner: string;
                    ownerLabel?: string;
                    policy?:
                        | { type: "skip" }
                        | { rateLimitDays?: number; type: "fyi" }
                        | { rateLimitDays?: number; type: "dueDate" };
                    repo: string;
                    targetVersion?: string;
                    thresholdDays?: number;
                }
                | undefined;
            rateLimitDays?: number;
        };
        linear?: {
            allowNewIssues?: boolean;
            cooldownDays?: number;
            getLinearIssueSpec?: (
                context: VersionContext,
                store: FactStore,
            ) =>
                | {
                    assignment?: | { type: "unassigned" }
                    | { assigneeId: string; type: "delegate" };
                    availableMajorVersion?: string;
                    daysOverdue?: number;
                    descriptionSections?: { body: string; title: string }[];
                    group?: string;
                    ownerLabel?: string;
                    policy?:
                        | { type: "skip" }
                        | { rateLimitDays?: number; type: "fyi" }
                        | { rateLimitDays?: number; type: "dueDate" };
                    targetVersion?: string;
                    teamId: string;
                    thresholdDays?: number;
                }
                | undefined;
            rateLimitDays?: number;
            skipStateNames?: string[];
        };
        outputDir?: string;
        plugins?: DependicusPlugin[];
        providerNames?: string[];
        providers?: DependencyProvider[];
        repoRoot?: string;
        siteName?: string;
    }
    Index

    Properties

    cacheDir?: string

    Directory to store cached data from API calls. Defaults to <repoRoot>/.dependicus-cache.

    cliName?: string

    Name of the CLI binary. Defaults to 'dependicus'.

    dependicusBaseUrl: string

    Base URL where the Dependicus site is published (used in Linear issue links, etc.).

    github?: {
        allowNewIssues?: boolean;
        cooldownDays?: number;
        getGitHubIssueSpec?: (
            context: VersionContext,
            store: FactStore,
        ) =>
            | {
                assignment?: | { type: "unassigned" }
                | { assignees: string[]; type: "assign" };
                availableMajorVersion?: string;
                daysOverdue?: number;
                descriptionSections?: { body: string; title: string }[];
                group?: string;
                labels?: string[];
                owner: string;
                ownerLabel?: string;
                policy?:
                    | { type: "skip" }
                    | { rateLimitDays?: number; type: "fyi" }
                    | { rateLimitDays?: number; type: "dueDate" };
                repo: string;
                targetVersion?: string;
                thresholdDays?: number;
            }
            | undefined;
        rateLimitDays?: number;
    }

    GitHub Issues integration configuration.

    Type Declaration

    • OptionalallowNewIssues?: boolean

      Whether to allow new issue creation. Defaults to true.

    • OptionalcooldownDays?: number

      Number of days to wait before creating a new issue for a newly-published version.

    • OptionalgetGitHubIssueSpec?: (
          context: VersionContext,
          store: FactStore,
      ) =>
          | {
              assignment?: | { type: "unassigned" }
              | { assignees: string[]; type: "assign" };
              availableMajorVersion?: string;
              daysOverdue?: number;
              descriptionSections?: { body: string; title: string }[];
              group?: string;
              labels?: string[];
              owner: string;
              ownerLabel?: string;
              policy?:
                  | { type: "skip" }
                  | { rateLimitDays?: number; type: "fyi" }
                  | { rateLimitDays?: number; type: "dueDate" };
              repo: string;
              targetVersion?: string;
              thresholdDays?: number;
          }
          | undefined

      Given information about a dependency and specific version, return the issue spec or undefined to skip.

    • OptionalrateLimitDays?: number

      Default rate limit days for notification throttling. Used when per-policy rateLimitDays is not set.

    linear?: {
        allowNewIssues?: boolean;
        cooldownDays?: number;
        getLinearIssueSpec?: (
            context: VersionContext,
            store: FactStore,
        ) =>
            | {
                assignment?: | { type: "unassigned" }
                | { assigneeId: string; type: "delegate" };
                availableMajorVersion?: string;
                daysOverdue?: number;
                descriptionSections?: { body: string; title: string }[];
                group?: string;
                ownerLabel?: string;
                policy?:
                    | { type: "skip" }
                    | { rateLimitDays?: number; type: "fyi" }
                    | { rateLimitDays?: number; type: "dueDate" };
                targetVersion?: string;
                teamId: string;
                thresholdDays?: number;
            }
            | undefined;
        rateLimitDays?: number;
        skipStateNames?: string[];
    }

    Linear issue integration configuration.

    Type Declaration

    • OptionalallowNewIssues?: boolean

      Whether to allow new issue creation. Defaults to true.

    • OptionalcooldownDays?: number

      Number of days to wait before creating a new issue for a newly-published version.

    • OptionalgetLinearIssueSpec?: (
          context: VersionContext,
          store: FactStore,
      ) =>
          | {
              assignment?: | { type: "unassigned" }
              | { assigneeId: string; type: "delegate" };
              availableMajorVersion?: string;
              daysOverdue?: number;
              descriptionSections?: { body: string; title: string }[];
              group?: string;
              ownerLabel?: string;
              policy?:
                  | { type: "skip" }
                  | { rateLimitDays?: number; type: "fyi" }
                  | { rateLimitDays?: number; type: "dueDate" };
              targetVersion?: string;
              teamId: string;
              thresholdDays?: number;
          }
          | undefined

      Given information about a dependency and specific version, return the issue spec (policy, assignment, etc.) or undefined to skip.

    • OptionalrateLimitDays?: number

      Default rate limit days for notification throttling. Used when per-policy rateLimitDays is not set.

    • OptionalskipStateNames?: string[]

      Skip updating issues whose Linear state name (case-insensitive) matches any entry.

    outputDir?: string

    Directory to write HTML and JSON output to. Defaults to <repoRoot>/dependicus-out.

    plugins?: DependicusPlugin[]

    Plugins that provide data sources, groupings, columns, and issue callbacks. Defaults to [].

    providerNames?: string[]

    Provider names to use for dependency analysis (e.g., 'pnpm', 'bun'). Auto-detects if omitted.

    providers?: DependencyProvider[]

    Pre-built provider instances. Takes precedence over providerNames and auto-detection.

    repoRoot?: string

    Root directory of the project. Defaults to process.cwd(). Can be overridden with --repo-root.

    siteName?: string

    Name shown in the site heading and title tag. Defaults to 'Dependicus for <basename of repoRoot>'.