Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 46 additions & 27 deletions biome.json
Original file line number Diff line number Diff line change
@@ -1,40 +1,59 @@
{
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
"$schema": "https://biomejs.dev/schemas/2.2.4/schema.json",
"files": {
"include": [
"./bin/**",
"./src/**",
"./tests/**",
"./website/**",
"./browser/**",
"./.devcontainer/**",
"./.github/**",
"package.json",
"biome.json",
".secretlintrc.json",
"tsconfig.json",
"tsconfig.build.json",
"vite.config.ts",
"repomix.config.json"
],
"ignore": [
"website/client/.vitepress/.temp",
"website/client/.vitepress/dist",
"website/client/.vitepress/cache",
"website/server/dist",
"browser/dist",
"browser/packages"
"includes": [
"bin/**",
"src/**",
"tests/**",
"website/**",
"browser/**",
".devcontainer/**",
".github/**",
"**/package.json",
"**/biome.json",
"**/.secretlintrc.json",
"**/tsconfig.json",
"**/tsconfig.build.json",
"**/vite.config.ts",
"**/repomix.config.json",
"!**/website/client/.vitepress/.temp",
"!**/website/client/.vitepress/dist",
"!**/website/client/.vitepress/cache",
"!**/website/server/dist",
"!**/browser/dist",
"!**/browser/packages"
]
},
"organizeImports": {
"enabled": true
},
"assist": { "actions": { "source": { "organizeImports": "on" } } },
"linter": {
"enabled": true,
"rules": {
"recommended": true
}
},
"overrides": [
{
"includes": ["**/*.vue"],
"linter": {
"rules": {
"correctness": {
"noUnusedVariables": "off",
"noUnusedImports": "off"
}
}
}
},
{
"includes": ["src/index.ts"],
"assist": {
"actions": {
"source": {
"organizeImports": "off"
}
}
}
}
],
"formatter": {
"enabled": true,
"formatWithErrors": false,
Expand Down
73 changes: 36 additions & 37 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@
"zod": "^3.24.3"
},
"devDependencies": {
"@biomejs/biome": "^1.9.4",
"@biomejs/biome": "^2.2.4",
"@secretlint/types": "^9.3.4",
"@types/node": "^22.14.1",
"@types/strip-comments": "^2.0.4",
Expand Down
4 changes: 2 additions & 2 deletions src/cli/actions/initAction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import path from 'node:path';
import * as prompts from '@clack/prompts';
import pc from 'picocolors';
import {
type RepomixConfigFile,
type RepomixOutputStyle,
defaultConfig,
defaultFilePathMap,
type RepomixConfigFile,
type RepomixOutputStyle,
} from '../../config/configSchema.js';
import { getGlobalDirectory } from '../../config/globalDirectory.js';
import { logger } from '../../shared/logger.js';
Expand Down
2 changes: 1 addition & 1 deletion src/cli/cliReport.ts
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ export const reportTopFiles = (
});
};

export const reportSkippedFiles = (rootDir: string, skippedFiles: SkippedFileInfo[]) => {
export const reportSkippedFiles = (_rootDir: string, skippedFiles: SkippedFileInfo[]) => {
const binaryContentFiles = skippedFiles.filter((file) => file.reason === 'binary-content');

if (binaryContentFiles.length === 0) {
Expand Down
2 changes: 1 addition & 1 deletion src/cli/cliRun.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import process from 'node:process';
import { Option, program } from 'commander';
import pc from 'picocolors';
import { getVersion } from '../core/file/packageJsonParse.js';
import { RepomixError, handleError } from '../shared/errorHandle.js';
import { handleError, RepomixError } from '../shared/errorHandle.js';
import { logger, repomixLogLevels } from '../shared/logger.js';
import { runDefaultAction } from './actions/defaultAction.js';
import { runInitAction } from './actions/initAction.js';
Expand Down
2 changes: 1 addition & 1 deletion src/cli/reporters/tokenCountTreeReporter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import pc from 'picocolors';
import type { RepomixConfigMerged } from '../../config/configSchema.js';
import type { ProcessedFile } from '../../core/file/fileTypes.js';
import {
buildTokenCountTree,
type FileWithTokens,
type TreeNode,
buildTokenCountTree,
} from '../../core/tokenCount/buildTokenCountStructure.js';
import { logger } from '../../shared/logger.js';

Expand Down
4 changes: 2 additions & 2 deletions src/config/configLoad.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import pc from 'picocolors';
import { RepomixError, rethrowValidationErrorIfZodError } from '../shared/errorHandle.js';
import { logger } from '../shared/logger.js';
import {
defaultConfig,
defaultFilePathMap,
type RepomixConfigCli,
type RepomixConfigFile,
type RepomixConfigMerged,
defaultConfig,
defaultFilePathMap,
repomixConfigFileSchema,
repomixConfigMergedSchema,
} from './configSchema.js';
Expand Down
2 changes: 1 addition & 1 deletion src/core/file/fileSearch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { RepomixError } from '../../shared/errorHandle.js';
import { logger } from '../../shared/logger.js';
import { sortPaths } from './filePathSort.js';

import { PermissionError, checkDirectoryPermissions } from './permissionCheck.js';
import { checkDirectoryPermissions, PermissionError } from './permissionCheck.js';

export interface FileSearchResult {
filePaths: string[];
Expand Down
2 changes: 1 addition & 1 deletion src/core/git/gitHubArchiveApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ export const checkGitHubResponse = (response: Response): void => {
const rateLimitRemaining = response.headers.get('X-RateLimit-Remaining');
if (rateLimitRemaining === '0') {
const resetTime = response.headers.get('X-RateLimit-Reset');
const resetDate = resetTime ? new Date(Number.parseInt(resetTime) * 1000) : null;
const resetDate = resetTime ? new Date(Number.parseInt(resetTime, 10) * 1000) : null;
throw new RepomixError(
`GitHub API rate limit exceeded. ${resetDate ? `Rate limit resets at ${resetDate.toISOString()}` : 'Please try again later.'}`,
Comment thread
yamadashy marked this conversation as resolved.
);
Expand Down
2 changes: 1 addition & 1 deletion src/core/metrics/TokenCounter.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { type Tiktoken, type TiktokenEncoding, get_encoding } from 'tiktoken';
import { get_encoding, type Tiktoken, type TiktokenEncoding } from 'tiktoken';
import { logger } from '../../shared/logger.js';

export class TokenCounter {
Expand Down
2 changes: 1 addition & 1 deletion src/core/metrics/calculateMetrics.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { RepomixConfigMerged } from '../../config/configSchema.js';
import { type TaskRunner, initTaskRunner } from '../../shared/processConcurrency.js';
import { initTaskRunner, type TaskRunner } from '../../shared/processConcurrency.js';
import type { RepomixProgressCallback } from '../../shared/types.js';
import type { ProcessedFile } from '../file/fileTypes.js';
import type { GitDiffResult } from '../git/gitDiffHandle.js';
Expand Down
2 changes: 1 addition & 1 deletion src/core/packager.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import type { RepomixConfigMerged } from '../config/configSchema.js';
import { logMemoryUsage, withMemoryLogging } from '../shared/memoryUtils.js';
import type { RepomixProgressCallback } from '../shared/types.js';
import { type SkippedFileInfo, collectFiles } from './file/fileCollect.js';
import { collectFiles, type SkippedFileInfo } from './file/fileCollect.js';
import { sortPaths } from './file/filePathSort.js';
import { processFiles } from './file/fileProcess.js';
import { searchFiles } from './file/fileSearch.js';
Expand Down
2 changes: 1 addition & 1 deletion src/core/security/validateFileSafety.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import type { RawFile } from '../file/fileTypes.js';
import type { GitDiffResult } from '../git/gitDiffHandle.js';
import type { GitLogResult } from '../git/gitLogHandle.js';
import { filterOutUntrustedFiles } from './filterOutUntrustedFiles.js';
import { type SuspiciousFileResult, runSecurityCheck } from './securityCheck.js';
import { runSecurityCheck, type SuspiciousFileResult } from './securityCheck.js';

// Marks which files are suspicious and which are safe
// Returns Git diff results separately so they can be included in the output
Expand Down
2 changes: 1 addition & 1 deletion src/core/treeSitter/lang2Query.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { queryC } from './queries/queryC.js';
import { queryCSharp } from './queries/queryCSharp.js';
import { queryCpp } from './queries/queryCpp.js';
import { queryCSharp } from './queries/queryCSharp.js';
import { queryCss } from './queries/queryCss.js';
import { queryGo } from './queries/queryGo.js';
import { queryJava } from './queries/queryJava.js';
Expand Down
4 changes: 2 additions & 2 deletions src/core/treeSitter/languageParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import Parser from 'web-tree-sitter';
import { RepomixError } from '../../shared/errorHandle.js';
import { logger } from '../../shared/logger.js';
import { ext2Lang } from './ext2Lang.js';
import { type SupportedLang, lang2Query } from './lang2Query.js';
import { lang2Query, type SupportedLang } from './lang2Query.js';
import { loadLanguage } from './loadLanguage.js';
import { type ParseStrategy, createParseStrategy } from './parseStrategies/ParseStrategy.js';
import { createParseStrategy, type ParseStrategy } from './parseStrategies/ParseStrategy.js';

interface LanguageResources {
lang: SupportedLang;
Expand Down
2 changes: 1 addition & 1 deletion src/core/treeSitter/parseFile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type { RepomixConfigMerged } from '../../config/configSchema.js';
import { logger } from '../../shared/logger.js';
import type { SupportedLang } from './lang2Query.js';
import { LanguageParser } from './languageParser.js';
import { type ParseContext, createParseStrategy } from './parseStrategies/ParseStrategy.js';
import { createParseStrategy, type ParseContext } from './parseStrategies/ParseStrategy.js';

interface CapturedChunk {
content: string;
Expand Down
2 changes: 1 addition & 1 deletion src/core/treeSitter/parseStrategies/GoParseStrategy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ export class GoParseStrategy implements ParseStrategy {
lines: string[],
startRow: number,
endRow: number,
openToken: string,
_openToken: string,
closeToken: string,
): number {
for (let i = startRow; i <= endRow; i++) {
Expand Down
2 changes: 1 addition & 1 deletion src/mcp/tools/attachPackedOutputTool.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ import { z } from 'zod';
import { defaultFilePathMap } from '../../config/configSchema.js';
import type { ProcessedFile } from '../../core/file/fileTypes.js';
import {
type McpToolMetrics,
buildMcpToolErrorResponse,
convertErrorToJson,
formatPackToolResponse,
type McpToolMetrics,
} from './mcpToolRuntime.js';

/**
Expand Down
Loading
Loading