Skip to content

feat(output): Add git metrics to output #569

feat(output): Add git metrics to output

feat(output): Add git metrics to output #569

Triggered via pull request February 3, 2025 16:29
Status Failure
Total duration 1m 35s
Artifacts

ci.yml

on: pull_request
Lint Biome
16s
Lint Biome
Lint TypeScript
13s
Lint TypeScript
Lint Secretlint
16s
Lint Secretlint
Lint GitHub Actions
8s
Lint GitHub Actions
Check npm audit
9s
Check npm audit
Check typos
5s
Check typos
Test coverage
18s
Test coverage
Matrix: Build and run
Matrix: Test
Fit to window
Zoom out
Zoom in

Annotations

81 errors and 21 warnings
Lint TypeScript: tests/cli/actions/defaultAction.test.ts#L21
Type '{ filePath: string; style: "plain"; parsableStyle: false; fileSummary: true; directoryStructure: true; topFilesLength: number; showLineNumbers: false; removeComments: false; removeEmptyLines: false; copyToClipboard: false; }' is not assignable to type '{ filePath: string; style: "plain" | "xml" | "markdown"; parsableStyle: boolean; fileSummary: boolean; directoryStructure: boolean; removeComments: boolean; removeEmptyLines: boolean; ... 6 more ...; includeEmptyDirectories?: boolean | undefined; } & { ...; }'.
Lint TypeScript: tests/cli/cliRun.test.ts#L45
Type '{ cwd: string; output: { filePath: string; style: "plain"; parsableStyle: false; fileSummary: true; directoryStructure: true; topFilesLength: number; showLineNumbers: false; removeComments: false; removeEmptyLines: false; copyToClipboard: false; }; include: never[]; ignore: { ...; }; security: { ...; }; tokenCount: ...' is not assignable to type '{ output: { filePath: string; style: "plain" | "xml" | "markdown"; parsableStyle: boolean; fileSummary: boolean; directoryStructure: boolean; removeComments: boolean; removeEmptyLines: boolean; ... 6 more ...; includeEmptyDirectories?: boolean | undefined; }; include: string[]; ignore: { ...; }; security: { ...; }; ...'.
Lint TypeScript: tests/cli/cliRun.test.ts#L47
Type '{ filePath: string; style: "plain"; parsableStyle: false; fileSummary: true; directoryStructure: true; topFilesLength: number; showLineNumbers: false; removeComments: false; removeEmptyLines: false; copyToClipboard: false; }' is not assignable to type '{ filePath: string; style: "plain" | "xml" | "markdown"; parsableStyle: boolean; fileSummary: boolean; directoryStructure: boolean; removeComments: boolean; removeEmptyLines: boolean; ... 6 more ...; includeEmptyDirectories?: boolean | undefined; } & { ...; }'.
Lint TypeScript: tests/cli/cliRun.test.ts#L83
Type '{ cwd: string; output: { filePath: string; style: "plain"; parsableStyle: false; fileSummary: true; directoryStructure: true; topFilesLength: number; showLineNumbers: false; removeComments: false; removeEmptyLines: false; copyToClipboard: false; }; include: never[]; ignore: { ...; }; security: { ...; }; tokenCount: ...' is not assignable to type '{ output: { filePath: string; style: "plain" | "xml" | "markdown"; parsableStyle: boolean; fileSummary: boolean; directoryStructure: boolean; removeComments: boolean; removeEmptyLines: boolean; ... 6 more ...; includeEmptyDirectories?: boolean | undefined; }; include: string[]; ignore: { ...; }; security: { ...; }; ...'.
Lint TypeScript: tests/cli/cliRun.test.ts#L85
Type '{ filePath: string; style: "plain"; parsableStyle: false; fileSummary: true; directoryStructure: true; topFilesLength: number; showLineNumbers: false; removeComments: false; removeEmptyLines: false; copyToClipboard: false; }' is not assignable to type '{ filePath: string; style: "plain" | "xml" | "markdown"; parsableStyle: boolean; fileSummary: boolean; directoryStructure: boolean; removeComments: boolean; removeEmptyLines: boolean; ... 6 more ...; includeEmptyDirectories?: boolean | undefined; } & { ...; }'.
Lint TypeScript: tests/core/packager.test.ts#L72
Argument of type '{ searchFiles: Mock<Procedure>; collectFiles: Mock<Procedure>; processFiles: Mock<Procedure>; validateFileSafety: Mock<Procedure>; generateOutput: Mock<...>; writeOutputToDisk: Mock<...>; copyToClipboardIfEnabled: Mock<...>; calculateMetrics: Mock<...>; }' is not assignable to parameter of type '{ searchFiles: (rootDir: string, config: RepomixConfigMerged) => Promise<FileSearchResult>; collectFiles: (filePaths: string[], rootDir: string, progressCallback?: RepomixProgressCallback, deps?: { ...; }) => Promise<RawFile[]>; ... 6 more ...; calculateGitMetrics: (rootDir: string, maxCommits: number, deps?: { ...;...'.
Lint TypeScript: tests/integration-tests/packager.test.ts#L70
Argument of type '{ searchFiles: (rootDir: string, config: { output: { filePath: string; style: "plain" | "xml" | "markdown"; parsableStyle: boolean; fileSummary: boolean; directoryStructure: boolean; removeComments: boolean; ... 7 more ...; includeEmptyDirectories?: boolean | undefined; }; include: string[]; ignore: { ...; }; securi...' is not assignable to parameter of type '{ searchFiles: (rootDir: string, config: RepomixConfigMerged) => Promise<FileSearchResult>; collectFiles: (filePaths: string[], rootDir: string, progressCallback?: RepomixProgressCallback, deps?: { ...; }) => Promise<RawFile[]>; ... 6 more ...; calculateGitMetrics: (rootDir: string, maxCommits: number, deps?: { ...;...'.
Lint TypeScript: tests/testing/testUtils.ts#L18
Type '{ filePath: string; style: "plain" | "xml" | "markdown"; parsableStyle: boolean; fileSummary: boolean; directoryStructure: boolean; removeComments: boolean; removeEmptyLines: boolean; ... 6 more ...; includeEmptyDirectories?: boolean | undefined; }' is not assignable to type '{ filePath: string; style: "plain" | "xml" | "markdown"; parsableStyle: boolean; fileSummary: boolean; directoryStructure: boolean; removeComments: boolean; removeEmptyLines: boolean; ... 6 more ...; includeEmptyDirectories?: boolean | undefined; } & { ...; }'.
Lint TypeScript
Process completed with exit code 2.
Lint Biome
Process completed with exit code 1.
tests/core/packager.test.ts > packager > pack should orchestrate packing files and generating output: tests/core/packager.test.ts#L84
AssertionError: expected "spy" to be called with arguments: [ 'root', { …(6) }, …(2) ] Received: 1st spy call: [ "root", { "cwd": "/home/runner/work/repomix/repomix", "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "repomix-output.txt", "fileSummary": true, "gitMetrics": { "enabled": false, "maxCommits": 100, }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, }, [ { "content": "processed content 1", "path": "file1.txt", }, { "content": "processed content 2", "path": "dir1/file2.txt", }, ], [ "file1.txt", "dir1/file2.txt", ], + undefined, ] Number of calls: 1 ❯ tests/core/packager.test.ts:84:37
tests/config/configSchema.test.ts > configSchema > repomixConfigDefaultSchema > should accept valid default config: tests/config/configSchema.test.ts#L88
AssertionError: expected { Object (output, include, ...) } to deeply equal { Object (output, include, ...) } - Expected + Received { "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": true, "directoryStructure": true, "filePath": "output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:88:61
tests/config/configSchema.test.ts > configSchema > repomixConfigMergedSchema > should accept valid merged config: tests/config/configSchema.test.ts#L172
AssertionError: expected { output: { …(11) }, …(5) } to deeply equal { cwd: '/path/to/project', …(5) } - Expected + Received { "cwd": "/path/to/project", "ignore": { "customPatterns": [ "*.log", ], "useDefaultPatterns": true, "useGitignore": true, }, "include": [ "**/*.js", "**/*.ts", ], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "merged-output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": true, "removeEmptyLines": false, "showLineNumbers": true, "style": "plain", "topFilesLength": 10, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:172:60
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should calculate metrics correctly: tests/core/file/gitMetrics.test.ts#L42
AssertionError: expected "spy" to be called with arguments: [ 'git', …(1) ] Received: 1st spy call: [ "git", [ "-C", "/test/dir", "log", "--name-only", "--pretty=format:", - "-n", - "100", + "-n 100", ], ] 2nd spy call: [ "git", [ "-C", "/test/dir", - "log", - "--name-only", - "--pretty=format:", - "-n", - "100", + "rev-list", + "--count", + "HEAD", + "-n 100", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:42:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should respect maxCommits parameter: tests/core/file/gitMetrics.test.ts#L111
AssertionError: expected "spy" to be called with arguments: [ 'git', ArrayContaining ["-n", "3"] ] Received: 1st spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "log", + "--name-only", + "--pretty=format:", + "-n 3", ], ] 2nd spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "rev-list", + "--count", + "HEAD", + "-n 3", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:111:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should handle malformed git log output: tests/core/file/gitMetrics.test.ts#L177
AssertionError: expected { totalCommits: NaN, …(1) } to deeply equal { totalCommits: +0, …(2) } - Expected + Received { - "error": "Failed to calculate git metrics", "mostChangedFiles": [ { "changes": 1, "path": "malformed", }, { "changes": 1, "path": "output", }, ], - "totalCommits": 0, + "totalCommits": NaN, } ❯ tests/core/file/gitMetrics.test.ts:177:22
Test (ubuntu-latest, 18.0.0)
Process completed with exit code 1.
Test (macos-latest, 23.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (macos-latest, 22.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (windows-latest, 19.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (macos-latest, 21.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (windows-latest, 22.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (windows-latest, 21.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (windows-latest, 23.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (macos-latest, 20.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (macos-latest, 18.0.0)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (macos-latest, 20.x)
The operation was canceled.
tests/config/configSchema.test.ts > configSchema > repomixConfigDefaultSchema > should accept valid default config: tests/config/configSchema.test.ts#L88
AssertionError: expected { Object (output, include, ...) } to deeply equal { Object (output, include, ...) } - Expected + Received { "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": true, "directoryStructure": true, "filePath": "output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:88:61
tests/config/configSchema.test.ts > configSchema > repomixConfigMergedSchema > should accept valid merged config: tests/config/configSchema.test.ts#L172
AssertionError: expected { output: { …(11) }, …(5) } to deeply equal { cwd: '/path/to/project', …(5) } - Expected + Received { "cwd": "/path/to/project", "ignore": { "customPatterns": [ "*.log", ], "useDefaultPatterns": true, "useGitignore": true, }, "include": [ "**/*.js", "**/*.ts", ], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "merged-output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": true, "removeEmptyLines": false, "showLineNumbers": true, "style": "plain", "topFilesLength": 10, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:172:60
tests/core/packager.test.ts > packager > pack should orchestrate packing files and generating output: tests/core/packager.test.ts#L84
AssertionError: expected "spy" to be called with arguments: [ 'root', { …(6) }, …(2) ] Received: 1st spy call: [ "root", { "cwd": "/Users/runner/work/repomix/repomix", "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "repomix-output.txt", "fileSummary": true, "gitMetrics": { "enabled": false, "maxCommits": 100, }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, }, [ { "content": "processed content 1", "path": "file1.txt", }, { "content": "processed content 2", "path": "dir1/file2.txt", }, ], [ "file1.txt", "dir1/file2.txt", ], + undefined, ] Number of calls: 1 ❯ tests/core/packager.test.ts:84:37
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should calculate metrics correctly: tests/core/file/gitMetrics.test.ts#L42
AssertionError: expected "spy" to be called with arguments: [ 'git', …(1) ] Received: 1st spy call: [ "git", [ "-C", "/test/dir", "log", "--name-only", "--pretty=format:", - "-n", - "100", + "-n 100", ], ] 2nd spy call: [ "git", [ "-C", "/test/dir", - "log", - "--name-only", - "--pretty=format:", - "-n", - "100", + "rev-list", + "--count", + "HEAD", + "-n 100", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:42:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should respect maxCommits parameter: tests/core/file/gitMetrics.test.ts#L111
AssertionError: expected "spy" to be called with arguments: [ 'git', ArrayContaining ["-n", "3"] ] Received: 1st spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "log", + "--name-only", + "--pretty=format:", + "-n 3", ], ] 2nd spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "rev-list", + "--count", + "HEAD", + "-n 3", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:111:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should handle malformed git log output: tests/core/file/gitMetrics.test.ts#L177
AssertionError: expected { totalCommits: NaN, …(1) } to deeply equal { totalCommits: +0, …(2) } - Expected + Received { - "error": "Failed to calculate git metrics", "mostChangedFiles": [ { "changes": 1, "path": "malformed", }, { "changes": 1, "path": "output", }, ], - "totalCommits": 0, + "totalCommits": NaN, } ❯ tests/core/file/gitMetrics.test.ts:177:22
Test (macos-latest, 18.0.0)
Process completed with exit code 1.
Test (macos-latest, 19.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (macos-latest, 19.x)
The operation was canceled.
Test (windows-latest, 20.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (windows-latest, 20.x)
The operation was canceled.
Test (ubuntu-latest, 18.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
tests/config/configSchema.test.ts > configSchema > repomixConfigDefaultSchema > should accept valid default config: tests/config/configSchema.test.ts#L88
AssertionError: expected { Object (output, include, ...) } to deeply equal { Object (output, include, ...) } - Expected + Received { "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": true, "directoryStructure": true, "filePath": "output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:88:61
tests/config/configSchema.test.ts > configSchema > repomixConfigMergedSchema > should accept valid merged config: tests/config/configSchema.test.ts#L172
AssertionError: expected { output: { …(11) }, …(5) } to deeply equal { cwd: '/path/to/project', …(5) } - Expected + Received { "cwd": "/path/to/project", "ignore": { "customPatterns": [ "*.log", ], "useDefaultPatterns": true, "useGitignore": true, }, "include": [ "**/*.js", "**/*.ts", ], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "merged-output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": true, "removeEmptyLines": false, "showLineNumbers": true, "style": "plain", "topFilesLength": 10, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:172:60
tests/core/packager.test.ts > packager > pack should orchestrate packing files and generating output: tests/core/packager.test.ts#L84
AssertionError: expected "spy" to be called with arguments: [ 'root', { …(6) }, …(2) ] Received: 1st spy call: [ "root", { "cwd": "/home/runner/work/repomix/repomix", "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "repomix-output.txt", "fileSummary": true, "gitMetrics": { "enabled": false, "maxCommits": 100, }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, }, [ { "content": "processed content 1", "path": "file1.txt", }, { "content": "processed content 2", "path": "dir1/file2.txt", }, ], [ "file1.txt", "dir1/file2.txt", ], + undefined, ] Number of calls: 1 ❯ tests/core/packager.test.ts:84:37
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should calculate metrics correctly: tests/core/file/gitMetrics.test.ts#L42
AssertionError: expected "spy" to be called with arguments: [ 'git', …(1) ] Received: 1st spy call: [ "git", [ "-C", "/test/dir", "log", "--name-only", "--pretty=format:", - "-n", - "100", + "-n 100", ], ] 2nd spy call: [ "git", [ "-C", "/test/dir", - "log", - "--name-only", - "--pretty=format:", - "-n", - "100", + "rev-list", + "--count", + "HEAD", + "-n 100", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:42:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should respect maxCommits parameter: tests/core/file/gitMetrics.test.ts#L111
AssertionError: expected "spy" to be called with arguments: [ 'git', ArrayContaining ["-n", "3"] ] Received: 1st spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "log", + "--name-only", + "--pretty=format:", + "-n 3", ], ] 2nd spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "rev-list", + "--count", + "HEAD", + "-n 3", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:111:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should handle malformed git log output: tests/core/file/gitMetrics.test.ts#L177
AssertionError: expected { totalCommits: NaN, …(1) } to deeply equal { totalCommits: +0, …(2) } - Expected + Received { - "error": "Failed to calculate git metrics", "mostChangedFiles": [ { "changes": 1, "path": "malformed", }, { "changes": 1, "path": "output", }, ], - "totalCommits": 0, + "totalCommits": NaN, } ❯ tests/core/file/gitMetrics.test.ts:177:22
Test (ubuntu-latest, 18.x)
The operation was canceled.
Test (windows-latest, 18.0.0)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (windows-latest, 18.0.0)
The operation was canceled.
Test (ubuntu-latest, 19.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (ubuntu-latest, 19.x)
The operation was canceled.
Test (ubuntu-latest, 20.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (ubuntu-latest, 20.x)
The operation was canceled.
Test (ubuntu-latest, 23.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (ubuntu-latest, 23.x)
The operation was canceled.
Test (ubuntu-latest, 21.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
tests/config/configSchema.test.ts > configSchema > repomixConfigDefaultSchema > should accept valid default config: tests/config/configSchema.test.ts#L88
AssertionError: expected { Object (output, include, ...) } to deeply equal { Object (output, include, ...) } - Expected + Received { "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": true, "directoryStructure": true, "filePath": "output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:88:61
tests/config/configSchema.test.ts > configSchema > repomixConfigMergedSchema > should accept valid merged config: tests/config/configSchema.test.ts#L172
AssertionError: expected { output: { …(11) }, …(5) } to deeply equal { cwd: '/path/to/project', …(5) } - Expected + Received { "cwd": "/path/to/project", "ignore": { "customPatterns": [ "*.log", ], "useDefaultPatterns": true, "useGitignore": true, }, "include": [ "**/*.js", "**/*.ts", ], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "merged-output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": true, "removeEmptyLines": false, "showLineNumbers": true, "style": "plain", "topFilesLength": 10, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:172:60
tests/core/packager.test.ts > packager > pack should orchestrate packing files and generating output: tests/core/packager.test.ts#L84
AssertionError: expected "spy" to be called with arguments: [ 'root', { …(6) }, …(2) ] Received: 1st spy call: [ "root", { "cwd": "/home/runner/work/repomix/repomix", "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "repomix-output.txt", "fileSummary": true, "gitMetrics": { "enabled": false, "maxCommits": 100, }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, }, [ { "content": "processed content 1", "path": "file1.txt", }, { "content": "processed content 2", "path": "dir1/file2.txt", }, ], [ "file1.txt", "dir1/file2.txt", ], + undefined, ] Number of calls: 1 ❯ tests/core/packager.test.ts:84:37
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should calculate metrics correctly: tests/core/file/gitMetrics.test.ts#L42
AssertionError: expected "spy" to be called with arguments: [ 'git', …(1) ] Received: 1st spy call: [ "git", [ "-C", "/test/dir", "log", "--name-only", "--pretty=format:", - "-n", - "100", + "-n 100", ], ] 2nd spy call: [ "git", [ "-C", "/test/dir", - "log", - "--name-only", - "--pretty=format:", - "-n", - "100", + "rev-list", + "--count", + "HEAD", + "-n 100", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:42:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should respect maxCommits parameter: tests/core/file/gitMetrics.test.ts#L111
AssertionError: expected "spy" to be called with arguments: [ 'git', ArrayContaining ["-n", "3"] ] Received: 1st spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "log", + "--name-only", + "--pretty=format:", + "-n 3", ], ] 2nd spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "rev-list", + "--count", + "HEAD", + "-n 3", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:111:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should handle malformed git log output: tests/core/file/gitMetrics.test.ts#L177
AssertionError: expected { totalCommits: NaN, …(1) } to deeply equal { totalCommits: +0, …(2) } - Expected + Received { - "error": "Failed to calculate git metrics", "mostChangedFiles": [ { "changes": 1, "path": "malformed", }, { "changes": 1, "path": "output", }, ], - "totalCommits": 0, + "totalCommits": NaN, } ❯ tests/core/file/gitMetrics.test.ts:177:22
Test (ubuntu-latest, 21.x)
The operation was canceled.
Test (windows-latest, 18.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
Test (windows-latest, 18.x)
The operation was canceled.
Test (macos-latest, 18.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
tests/config/configSchema.test.ts > configSchema > repomixConfigDefaultSchema > should accept valid default config: tests/config/configSchema.test.ts#L88
AssertionError: expected { Object (output, include, ...) } to deeply equal { Object (output, include, ...) } - Expected + Received { "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": true, "directoryStructure": true, "filePath": "output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:88:61
tests/config/configSchema.test.ts > configSchema > repomixConfigMergedSchema > should accept valid merged config: tests/config/configSchema.test.ts#L172
AssertionError: expected { output: { …(11) }, …(5) } to deeply equal { cwd: '/path/to/project', …(5) } - Expected + Received { "cwd": "/path/to/project", "ignore": { "customPatterns": [ "*.log", ], "useDefaultPatterns": true, "useGitignore": true, }, "include": [ "**/*.js", "**/*.ts", ], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "merged-output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": true, "removeEmptyLines": false, "showLineNumbers": true, "style": "plain", "topFilesLength": 10, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:172:60
tests/core/packager.test.ts > packager > pack should orchestrate packing files and generating output: tests/core/packager.test.ts#L84
AssertionError: expected "spy" to be called with arguments: [ 'root', { …(6) }, …(2) ] Received: 1st spy call: [ "root", { "cwd": "/Users/runner/work/repomix/repomix", "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "repomix-output.txt", "fileSummary": true, "gitMetrics": { "enabled": false, "maxCommits": 100, }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, }, [ { "content": "processed content 1", "path": "file1.txt", }, { "content": "processed content 2", "path": "dir1/file2.txt", }, ], [ "file1.txt", "dir1/file2.txt", ], + undefined, ] Number of calls: 1 ❯ tests/core/packager.test.ts:84:37
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should calculate metrics correctly: tests/core/file/gitMetrics.test.ts#L42
AssertionError: expected "spy" to be called with arguments: [ 'git', …(1) ] Received: 1st spy call: [ "git", [ "-C", "/test/dir", "log", "--name-only", "--pretty=format:", - "-n", - "100", + "-n 100", ], ] 2nd spy call: [ "git", [ "-C", "/test/dir", - "log", - "--name-only", - "--pretty=format:", - "-n", - "100", + "rev-list", + "--count", + "HEAD", + "-n 100", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:42:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should respect maxCommits parameter: tests/core/file/gitMetrics.test.ts#L111
AssertionError: expected "spy" to be called with arguments: [ 'git', ArrayContaining ["-n", "3"] ] Received: 1st spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "log", + "--name-only", + "--pretty=format:", + "-n 3", ], ] 2nd spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "rev-list", + "--count", + "HEAD", + "-n 3", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:111:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should handle malformed git log output: tests/core/file/gitMetrics.test.ts#L177
AssertionError: expected { totalCommits: NaN, …(1) } to deeply equal { totalCommits: +0, …(2) } - Expected + Received { - "error": "Failed to calculate git metrics", "mostChangedFiles": [ { "changes": 1, "path": "malformed", }, { "changes": 1, "path": "output", }, ], - "totalCommits": 0, + "totalCommits": NaN, } ❯ tests/core/file/gitMetrics.test.ts:177:22
Test (macos-latest, 18.x)
The operation was canceled.
Test (ubuntu-latest, 22.x)
The job was canceled because "ubuntu-latest_18_0_0" failed.
tests/core/packager.test.ts > packager > pack should orchestrate packing files and generating output: tests/core/packager.test.ts#L84
AssertionError: expected "spy" to be called with arguments: [ 'root', { …(6) }, …(2) ] Received: 1st spy call: [ "root", { "cwd": "/home/runner/work/repomix/repomix", "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "repomix-output.txt", "fileSummary": true, "gitMetrics": { "enabled": false, "maxCommits": 100, }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, }, [ { "content": "processed content 1", "path": "file1.txt", }, { "content": "processed content 2", "path": "dir1/file2.txt", }, ], [ "file1.txt", "dir1/file2.txt", ], + undefined, ] Number of calls: 1 ❯ tests/core/packager.test.ts:84:37
tests/config/configSchema.test.ts > configSchema > repomixConfigDefaultSchema > should accept valid default config: tests/config/configSchema.test.ts#L88
AssertionError: expected { Object (output, include, ...) } to deeply equal { Object (output, include, ...) } - Expected + Received { "ignore": { "customPatterns": [], "useDefaultPatterns": true, "useGitignore": true, }, "include": [], "output": { "copyToClipboard": true, "directoryStructure": true, "filePath": "output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": false, "removeEmptyLines": false, "showLineNumbers": false, "style": "plain", "topFilesLength": 5, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:88:61
tests/config/configSchema.test.ts > configSchema > repomixConfigMergedSchema > should accept valid merged config: tests/config/configSchema.test.ts#L172
AssertionError: expected { output: { …(11) }, …(5) } to deeply equal { cwd: '/path/to/project', …(5) } - Expected + Received { "cwd": "/path/to/project", "ignore": { "customPatterns": [ "*.log", ], "useDefaultPatterns": true, "useGitignore": true, }, "include": [ "**/*.js", "**/*.ts", ], "output": { "copyToClipboard": false, "directoryStructure": true, "filePath": "merged-output.txt", "fileSummary": true, + "gitMetrics": { + "enabled": false, + "maxCommits": 100, + }, "parsableStyle": false, "removeComments": true, "removeEmptyLines": false, "showLineNumbers": true, "style": "plain", "topFilesLength": 10, }, "security": { "enableSecurityCheck": true, }, "tokenCount": { "encoding": "o200k_base", }, } ❯ tests/config/configSchema.test.ts:172:60
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should calculate metrics correctly: tests/core/file/gitMetrics.test.ts#L42
AssertionError: expected "spy" to be called with arguments: [ 'git', …(1) ] Received: 1st spy call: [ "git", [ "-C", "/test/dir", "log", "--name-only", "--pretty=format:", - "-n", - "100", + "-n 100", ], ] 2nd spy call: [ "git", [ "-C", "/test/dir", - "log", - "--name-only", - "--pretty=format:", - "-n", - "100", + "rev-list", + "--count", + "HEAD", + "-n 100", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:42:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should respect maxCommits parameter: tests/core/file/gitMetrics.test.ts#L111
AssertionError: expected "spy" to be called with arguments: [ 'git', ArrayContaining ["-n", "3"] ] Received: 1st spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "log", + "--name-only", + "--pretty=format:", + "-n 3", ], ] 2nd spy call: [ "git", - ArrayContaining [ - "-n", - "3", + [ + "-C", + "/test/dir", + "rev-list", + "--count", + "HEAD", + "-n 3", ], ] Number of calls: 2 ❯ tests/core/file/gitMetrics.test.ts:111:33
tests/core/file/gitMetrics.test.ts > gitMetrics > calculateGitMetrics > should handle malformed git log output: tests/core/file/gitMetrics.test.ts#L177
AssertionError: expected { totalCommits: NaN, …(1) } to deeply equal { totalCommits: +0, …(2) } - Expected + Received { - "error": "Failed to calculate git metrics", "mostChangedFiles": [ { "changes": 1, "path": "malformed", }, { "changes": 1, "path": "output", }, ], - "totalCommits": 0, + "totalCommits": NaN, } ❯ tests/core/file/gitMetrics.test.ts:177:22
Test (ubuntu-latest, 22.x)
The operation was canceled.
Test coverage
Process completed with exit code 1.
Build and run (ubuntu-latest, 22.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (ubuntu-latest, 18.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (ubuntu-latest, 20.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (macos-latest, 20.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (ubuntu-latest, 21.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (ubuntu-latest, 18.0.0)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (ubuntu-latest, 23.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (macos-latest, 18.0.0)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (macos-latest, 18.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (ubuntu-latest, 19.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (macos-latest, 19.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (macos-latest, 22.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (macos-latest, 21.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (windows-latest, 18.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (windows-latest, 18.0.0)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (windows-latest, 19.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (macos-latest, 23.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (windows-latest, 22.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (windows-latest, 23.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (windows-latest, 21.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.
Build and run (windows-latest, 20.x)
No files were found with the provided path: repomix-output.txt. No artifacts will be uploaded.