Home / File/ dead-code.test.ts — dead-code-hunter Source File

dead-code.test.ts — dead-code-hunter Source File

Architecture documentation for dead-code.test.ts, a typescript file in the dead-code-hunter codebase. 8 imports, 0 dependents.

File typescript GitHubAction InputMapping 8 imports 2 functions

Entity Profile

Dependency Diagram

graph LR
  ad094038_3d51_d844_e2ec_7f4735d9d0f1["dead-code.test.ts"]
  a3eb2ced_926a_5c50_f1b5_fa2919e7f56f["dead-code.ts"]
  ad094038_3d51_d844_e2ec_7f4735d9d0f1 --> a3eb2ced_926a_5c50_f1b5_fa2919e7f56f
  8fb39060_bdfd_d045_ece4_18fee517d989["filterByIgnorePatterns"]
  ad094038_3d51_d844_e2ec_7f4735d9d0f1 --> 8fb39060_bdfd_d045_ece4_18fee517d989
  9e5350ec_72a9_b03d_0141_b564a058f5a8["filterByChangedFiles"]
  ad094038_3d51_d844_e2ec_7f4735d9d0f1 --> 9e5350ec_72a9_b03d_0141_b564a058f5a8
  96354862_3d3e_920a_e420_3c1b0ee82eec["formatPrComment"]
  ad094038_3d51_d844_e2ec_7f4735d9d0f1 --> 96354862_3d3e_920a_e420_3c1b0ee82eec
  69dfda68_6eec_94c2_26a1_1f0c92909037["markdown.ts"]
  ad094038_3d51_d844_e2ec_7f4735d9d0f1 --> 69dfda68_6eec_94c2_26a1_1f0c92909037
  b97956a9_58f7_affa_6ccd_bf5dd2eccf89["escapeTableCell"]
  ad094038_3d51_d844_e2ec_7f4735d9d0f1 --> b97956a9_58f7_affa_6ccd_bf5dd2eccf89
  2e5ab91f_dab4_67de_047b_0f558da37c4e["vitest"]
  ad094038_3d51_d844_e2ec_7f4735d9d0f1 --> 2e5ab91f_dab4_67de_047b_0f558da37c4e
  6ae50d5c_b484_7217_ed63_710361d1134f["sdk"]
  ad094038_3d51_d844_e2ec_7f4735d9d0f1 --> 6ae50d5c_b484_7217_ed63_710361d1134f
  style ad094038_3d51_d844_e2ec_7f4735d9d0f1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { describe, it, expect } from 'vitest';
import { filterByIgnorePatterns, filterByChangedFiles, formatPrComment } from '../dead-code';
import { escapeTableCell } from '../markdown';
import type { DeadCodeCandidate, DeadCodeAnalysisMetadata } from '@supermodeltools/sdk';

function makeCandidate(overrides: Partial<DeadCodeCandidate> = {}): DeadCodeCandidate {
  return {
    file: 'src/utils.ts',
    name: 'unusedFn',
    line: 10,
    type: 'function' as const,
    confidence: 'high' as const,
    reason: 'No callers found in codebase',
    ...overrides,
  };
}

function makeMetadata(overrides: Partial<DeadCodeAnalysisMetadata> = {}): DeadCodeAnalysisMetadata {
  return {
    totalDeclarations: 100,
    deadCodeCandidates: 5,
    aliveCode: 95,
    analysisMethod: 'parse_graph + call_graph',
    ...overrides,
  };
}

describe('escapeTableCell', () => {
  it('should escape pipe characters', () => {
    expect(escapeTableCell('a|b|c')).toBe('a\\|b\\|c');
  });

  it('should replace newlines with spaces', () => {
    expect(escapeTableCell('line1\nline2')).toBe('line1 line2');
  });

  it('should handle both pipes and newlines', () => {
    expect(escapeTableCell('a|b\nc|d')).toBe('a\\|b c\\|d');
  });

  it('should return unchanged string when no special characters', () => {
    expect(escapeTableCell('normalText')).toBe('normalText');
  });
});

describe('filterByIgnorePatterns', () => {
  it('should return all candidates when no patterns provided', () => {
    const candidates = [makeCandidate(), makeCandidate({ file: 'src/helpers.ts' })];
    const result = filterByIgnorePatterns(candidates, []);
    expect(result).toHaveLength(2);
  });

  it('should filter candidates matching ignore patterns', () => {
    const candidates = [
      makeCandidate({ file: 'src/generated/api.ts' }),
      makeCandidate({ file: 'src/utils.ts' }),
    ];
    const result = filterByIgnorePatterns(candidates, ['**/generated/**']);
    expect(result).toHaveLength(1);
    expect(result[0].file).toBe('src/utils.ts');
// ... (187 more lines)

Domain

Subdomains

Frequently Asked Questions

What does dead-code.test.ts do?
dead-code.test.ts is a source file in the dead-code-hunter codebase, written in typescript. It belongs to the GitHubAction domain, InputMapping subdomain.
What functions are defined in dead-code.test.ts?
dead-code.test.ts defines 2 function(s): makeCandidate, makeMetadata.
What does dead-code.test.ts depend on?
dead-code.test.ts imports 8 module(s): dead-code.ts, escapeTableCell, filterByChangedFiles, filterByIgnorePatterns, formatPrComment, markdown.ts, sdk, vitest.
Where is dead-code.test.ts in the architecture?
dead-code.test.ts is located at src/__tests__/dead-code.test.ts (domain: GitHubAction, subdomain: InputMapping, directory: src/__tests__).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free