Tucker McKnight <tucker@pangolin.lan> | Mon Nov 03 2025
add more clear types for getBranchInfo
15
export default async function repoViewer(eleventyConfig, reposConfiguration: ReposConfiguration) {15
export default async function repoViewer(eleventyConfig: any, reposConfiguration: ReposConfiguration) {34
eleventyConfig.addFilter("getFileName", (filePath) => {34
eleventyConfig.addFilter("getFileName", (filePath: string) => {1
type Repository = {1
export type Repository = {1
1
import {type Repository} from './dataTypes.ts'14 15 16 17 18 19 20 21
type DiffInfo = {
file: string,
lineNumber: number,
previousText: string,
afterText: string,
}
const getGitDiffsFromPatchText = (patchText: string): Array<DiffInfo> => {
const hunks: Array<Hunk> = []14 15 16 17 18 19 20 21
type Diffs = ReturnType<Repository['commits']['get']>['diffs']
const getGitDiffsFromPatchText = (patchText: string): Diffs => {
const hunks: Diffs = []55 56 57 58 59
let previousText = ""
previousText = previousText + obj.value
previousText = previousText + "<mark>" + obj.value + "</mark>"
file: previousFilename !== '' ? previousFilename : currentFilename,
previousText,55 56 57 58 59
let beforeText = ""
beforeText = beforeText + obj.value
beforeText = beforeText + "<mark>" + obj.value + "</mark>"
fileName: previousFilename !== '' ? previousFilename : currentFilename,
beforeText,4
4
import { getBranchInfo } from './vcses/git/operations.ts'35
const patches = await repoOperations[vcs].getBranchInfo(repoName, branchName, repoLocation)35
const patches = await getBranchInfo(branchName, repoLocation)2
2
import { type Repository } from '../../dataTypes.ts'37 38
export const getBranchInfo = async (repoName: string, branchName: string, repoLocation: string) => {
const patches = new Map()37 38
export const getBranchInfo = async (branchName: string, repoLocation: string) => {
const patches: Map<string, {
name: string,
description: string,
author: string,
date: string,
hash: string,
diffs: ReturnType<Repository['commits']['get']>['diffs'],
}> = new Map()54
let author, date54
let author: string, date: string1
getBranchInfo as getGitBranchInfo,1
7
getBranchInfo: (repoName: string, branchName: string, repoLocation: string) => Promise<BranchInfo['patches']>,7
15
getBranchInfo: getGitBranchInfo,15
27 28 29
<span class="font-monospace fw-bold"><a href="{{reposPath}}/{{patchInfo.repoName | slugify}}/branches/{{patchInfo.branchName | slugify}}/files/{{ hunk.file | slugify}}.html">{{ hunk.file }}:{{ hunk.lineNumber }}</a></span>
{%- for lineNumber in hunk.previousText | lineNumbers -%}
<pre data-start="{{hunk.lineNumber}}"><code data-type="before" class="line-numbers language-{{hunk.file | languageExtension(patchInfo.repoName)}}">{{hunk.previousText | safe}}</code></pre>27 28 29
<span class="font-monospace fw-bold"><a href="{{reposPath}}/{{patchInfo.repoName | slugify}}/branches/{{patchInfo.branchName | slugify}}/files/{{ hunk.fileName | slugify}}.html">{{ hunk.fileName }}:{{ hunk.lineNumber }}</a></span>
{%- for lineNumber in hunk.beforeText | lineNumbers -%}
<pre data-start="{{hunk.lineNumber}}"><code data-type="before" class="line-numbers language-{{hunk.fileName | languageExtension(patchInfo.repoName)}}">{{hunk.beforeText | safe}}</code></pre>55
<pre data-start="{{hunk.lineNumber}}"><code data-type="after" class="line-numbers language-{{hunk.file | languageExtension(patchInfo.repoName)}}">{{ hunk.afterText | safe}}</code></pre>55
<pre data-start="{{hunk.lineNumber}}"><code data-type="after" class="line-numbers language-{{hunk.fileName | languageExtension(patchInfo.repoName)}}">{{ hunk.afterText | safe}}</code></pre>