Commit Graph

261 Commits

Author SHA1 Message Date
Kazuki Yamada
8e3167c5af 1.10.2 2025-12-16 22:40:55 +09:00
Kazuki Yamada
6e19fd8d58 chore(deps): Update @repomix/strip-comments to 2.4.2 2025-12-15 00:45:03 +09:00
Kazuki Yamada
cdae79d115 fix(file): Replace strip-comments with @repomix/strip-comments
Replace the original strip-comments package with @repomix/strip-comments,
which provides enhanced support for:
- Go directives (//go:build, //go:generate, etc.)
- C++ document comments (///)
- Python docstrings (""" and ''') and hash comments

This removes the custom GoManipulator, PythonManipulator, and CppManipulator
implementations in favor of the improved library support.

Note: preserveNewlines option keeps newlines for line number preservation,
so docstrings are replaced with empty lines rather than being fully removed.
2025-12-15 00:15:17 +09:00
Kazuki Yamada
0604b7e2e1 fix(deps): downgrade isbinaryfile to v5.0.2 for Node.js 20+ support
isbinaryfile v6.0.0 requires Node.js >= 24.0.0, but repomix supports
Node.js >= 20.0.0. Downgrade to v5.0.2 (requires Node.js >= 18.0.0)
to maintain compatibility with current LTS versions.

Addresses gemini-code-assist review on PR #1006
2025-12-14 19:10:48 +09:00
Kazuki Yamada
7f0d05d703 feat(core): Replace istextorbinary with is-binary-path and isbinaryfile
Migrate from istextorbinary (last updated 2023-12) to actively maintained packages:
- is-binary-path: Extension-based binary detection (updated 2024-04)
- isbinaryfile: Content-based binary detection with zero dependencies (updated 2025-12)

Improvements:
- Binary extension coverage: 13 → 262 extensions (~20x increase)
- Content detection: Better UTF-16/CJK support, statistical analysis (512 bytes vs 72 bytes)

The two-stage detection logic (extension check → content check) is preserved.
2025-12-14 18:03:43 +09:00
renovate[bot]
805d427e47 fix(deps): update all non-major dependencies 2025-12-13 05:50:40 +00:00
Kazuki Yamada
4a604ecacb 1.10.1 2025-12-12 22:23:45 +09:00
Kazuki Yamada
5270152f8b 1.10.0 2025-12-12 00:13:25 +09:00
Kazuki Yamada
7a272d1c28 refactor(mcp): Remove Zod v3 compatibility workarounds
MCP SDK 1.24.0 now fully supports Zod v4, allowing us to remove the
compatibility workarounds that were introduced in #923.

Changes:
- Update @modelcontextprotocol/sdk from ^1.22.0 to ^1.24.0
- Remove @ts-nocheck comments from all MCP tool and prompt files
- Change imports from 'zod/v3' to 'zod'
- Remove .shape as any casts and biome-ignore comments
- Pass Zod schemas directly to registerTool() instead of .shape
- Remove src/mcp/tsconfig.json (no longer needed without Zod v3)
2025-12-04 23:18:26 +09:00
renovate[bot]
92ef98329d fix(deps): update all non-major dependencies 2025-12-03 15:16:23 +00:00
Kazuki Yamada
7afab87eef feat(ci): Add npm publish workflow with trusted publisher support
Add GitHub Actions workflow for npm publishing using OIDC-based trusted
publishing instead of long-lived npm tokens. This improves security by
using short-lived, cryptographically-signed tokens.

The workflow includes:
- Manual trigger with dry-run option for testing
- Full CI checks (lint, test, build) before publishing
- npm audit signatures verification
- Provenance attestation for supply chain security
2025-11-29 16:11:17 +09:00
Kazuki Yamada
7e7baa2c00 1.9.2 2025-11-28 16:07:04 +09:00
renovate[bot]
e5b5a204d4 fix(deps): update all non-major dependencies 2025-11-27 10:16:30 +00:00
Kazuki Yamada
ef98190151 chore(deps): Update @repomix/tree-sitter-wasms to 0.1.15
Update tree-sitter-wasms package to version 0.1.15 to get latest language
grammar updates. Updated C# query patterns to match the new tree-sitter-c_sharp
grammar structure based on official tags.scm.

Changes:
- Update @repomix/tree-sitter-wasms from 0.1.14 to 0.1.15
- Fix C# query patterns for compatibility with new grammar:
  - Remove field specifiers from base_list patterns
  - Add type_parameter_constraints_clause pattern
  - Add type_parameter_constraint pattern (correct node name)
  - Restore type: field for object_creation_expression and variable_declaration
- Add comprehensive C# test cases for inheritance, interfaces, generics, etc.

All patterns now follow the official tree-sitter-c-sharp tags.scm specification.
2025-11-24 20:02:21 +09:00
Kazuki Yamada
3e410ce4dd feat(core): Improve .gitignore handling with globby v16
- Upgrade globby from v15 to v16
- Use gitignore option to respect parent directory .gitignore files
- This matches Git's standard behavior where parent .gitignore patterns apply to subdirectories
- Move .gitignore handling from ignoreFiles to gitignore option
- Update tests to reflect the new behavior

This change improves compatibility with Git and provides more accurate file filtering when running Repomix in subdirectories.
2025-11-24 17:44:58 +09:00
Kazuki Yamada
0256b5b479 1.9.1 2025-11-15 23:51:34 +09:00
renovate[bot]
18ef52acc1 fix(deps): update all non-major dependencies 2025-11-11 13:38:56 +00:00
Kazuki Yamada
17137b06dc chore(deps): Replace tree-sitter-wasms with @repomix/tree-sitter-wasms
This commit replaces the tree-sitter-wasms dependency with @repomix/tree-sitter-wasms v0.1.14, which contains only the tree-sitter WASM files needed for Repomix's supported languages.

The new package is specifically tailored to Repomix's requirements, providing a more focused set of language parsers without the full tree-sitter-wasms package.
2025-11-09 00:54:52 +09:00
Kazuki Yamada
857eb4df28 1.9.0 2025-11-08 20:58:50 +09:00
renovate[bot]
c5a7f52681 fix(deps): update all non-major dependencies 2025-11-03 16:39:17 +09:00
renovate[bot]
8b6bd0cb40 fix(deps): update all non-major dependencies 2025-10-30 09:57:02 +00:00
Kazuki Yamada
83d7957474 chore(deps): Upgrade to Zod v4.1.12
Zod v4への対応を完了しました。

主な変更:
- package.json: Zod v3.25.76 → v4.1.12にアップグレード
- ZodError.errors → ZodError.issuesに変更(Zod v4の破壊的変更)
- configSchemaでネストされたオブジェクトの外側の.default({})を削除
  (Zod v4では外側のdefaultが内側のdefaultを上書きするため)
- configLoadでtokenCountとoutput.gitのマージ処理を追加
- テストの期待値を修正(空オブジェクトのパースが失敗するように)

MCP SDK互換性の対応:
- MCP SDKはZod v3を使用しているため、src/mcp配下でzod/v3をインポート
- src/mcp/tsconfig.jsonを作成し、型チェックを緩和(noImplicitAny: false)
- TypeScriptの制限(importされたファイルはexcludeできない)により、
  MCPツール・プロンプトファイルに@ts-nocheckを追加
- repomixOutputStyleSchemaの代わりにz.enum()を直接使用
- biome-ignoreコメントを追加してas any使用箇所のlintエラーを抑制

すべてのテスト(800テスト)とlintチェックが成功しています。
2025-10-25 22:20:30 +09:00
renovate[bot]
e1a8c6c4e2 fix(deps): update all non-major dependencies 2025-10-20 13:33:05 +00:00
Kazuki Yamada
d4c7d6ebb6 1.8.0 2025-10-18 15:09:21 +09:00
Kazuki Yamada
23fe3416cd feat(compress): Add Dart language support for tree-sitter compression
Update tree-sitter-wasms to v0.1.13 which includes Dart support. Add
compression functionality for Dart files including:
- Import/export statements
- Class definitions
- Function declarations
- Comments (single-line and documentation)

The implementation extracts code structure while omitting implementation
details, making it easier to understand Dart codebases at a glance.
2025-10-14 23:31:06 +09:00
renovate[bot]
1f9f243a75 fix(deps): update all non-major dependencies 2025-10-13 08:58:25 +00:00
Kazuki Yamada
80f182a303 1.7.0 2025-10-12 21:50:33 +09:00
Kazuki Yamada
a47265cbad feat(config): Add TypeScript config file support with jiti
Add support for TypeScript configuration files (.ts, .mts, .cts) using jiti for better developer experience.

**Changes:**
- Install jiti dependency for TypeScript transpilation
- Update config file priority: TS > JS > JSON
- Add TypeScript config test fixtures
- Add integration tests for all TS config formats
- Update documentation (README and website) with TS examples
- Fix existing tests to account for new priority order

**Priority order:**
1. repomix.config.ts/mts/cts
2. repomix.config.js/mjs/cjs
3. repomix.config.json5
4. repomix.config.jsonc
5. repomix.config.json

**Benefits:**
- Full TypeScript type checking in config files
- Excellent IDE autocomplete and IntelliSense
- Compile-time error detection
- Dynamic configuration with type safety

Relates to #870
2025-10-12 16:18:38 +09:00
renovate[bot]
372c8d7f00 fix(deps): update all non-major dependencies 2025-10-08 07:53:07 +00:00
Kazuki Yamada
e7ee7e6fd2 chore(core): Update web-tree-sitter from 0.24.7 to 0.25.10
Update web-tree-sitter to the latest version (0.25.10) to benefit from bug fixes and improvements in WASM compilation, web bindings, and performance.

Key API changes adapted:
- Parser changed from namespace to class
- Query now instantiated with `new Query(language, source)` instead of `language.query(source)`
- SyntaxNode type renamed to Node
- Parser.parse() can now return null, added null check
- TreeCursor and Tree interface signatures updated

All tests passing (783/783) with no regressions.
2025-10-08 00:07:20 +09:00
Kazuki Yamada
44c8056eb2 1.6.1 2025-10-03 00:11:07 +09:00
Kazuki Yamada
198c2fc2c5 chore(deps): Update multiple core dependencies
Updated dependencies with major version bumps:
- @secretlint/core: 9.3.1 → 11.2.4
- @secretlint/secretlint-rule-preset-recommend: 9.3.1 → 11.2.4
- @secretlint/types: 9.3.4 → 11.2.4 (dev)
- secretlint: 9.3.1 → 11.2.4 (dev)
- clipboardy: 4.0.0 → 5.0.0
- globby: 14.1.0 → 15.0.0
- log-update: 6.1.0 → 7.0.1
- tinypool: 1.1.1 → 2.0.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 23:15:35 +09:00
Kazuki Yamada
6ab28defc5 chore(deps): Update @clack/prompts and iconv-lite
Updated dependencies to their latest versions:
- @clack/prompts: 0.10.1 → 0.11.0
- @clack/core: 0.4.2 → 0.5.0 (indirect)
- iconv-lite: 0.6.3 → 0.7.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 23:10:22 +09:00
Kazuki Yamada
dbe538f847 chore(deps): Update core dependencies
Updated multiple dependencies to their latest versions:
- commander: 14.0.0 → 14.0.1
- fast-xml-parser: 5.2.0 → 5.2.5
- minimatch: 10.0.1 → 10.0.3
- tiktoken: 1.0.20 → 1.0.22
- tsx: 4.20.5 → 4.20.6 (dev)
- vite: 7.1.6 → 7.1.7 (dev)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 23:05:53 +09:00
Kazuki Yamada
136be482e2 chore(deps): Update core dependencies
This commit updates the following core dependencies to their latest versions:
- @modelcontextprotocol/sdk: 1.15.0 → 1.18.2
- @types/node: 24.5.2 → 24.6.0
- oxlint: 1.16.0 → 1.19.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 22:52:59 +09:00
Kazuki Yamada
cd185a1ea3 chore(ci): replace ratchet with pinact for GitHub Actions SHA pinning
This replaces the ratchet tool with pinact for managing GitHub Actions SHA pinning across all workflow files. The changes include:

- Remove ratchet-update.yml and ratchet-verify.yml workflows
- Add new pinact.yml workflow for automated SHA pinning
- Update all workflow files to use pinact-style comments (# v1.2.3 instead of # ratchet:action@v1)
- Add .pinact.yaml configuration file with ignore rules for Homebrew actions and local actions
- Update package.json scripts to use pinact commands instead of ratchet

Pinact provides more reliable SHA pinning with better GitHub Actions integration.
2025-09-23 23:18:06 +09:00
Kazuki Yamada
6db05e2651 chore(deps): update development dependencies
- Update @types/node from ^22.14.1 to ^24.5.2
- Update @vitest/coverage-v8 from ^3.1.1 to ^3.2.4
- Update oxlint from ^1.12.0 to ^1.16.0
- Update tsx from ^4.19.4 to ^4.20.5
- Update typescript from ^5.8.3 to ^5.9.2
- Update vite from ^5.4.18 to ^7.1.6
- Update vitest from ^3.1.1 to ^3.2.4
2025-09-21 14:01:00 +09:00
Kazuki Yamada
f87e00dbdf chore(lint): upgrade biome to v2.2.4 and fix all lint errors
Updated biome from v1.9.4 to v2.2.4 to take advantage of latest linting improvements.

- Upgraded @biomejs/biome from ^1.9.4 to ^2.2.4
- Updated biome.json configuration for v2 compatibility:
  - Changed schema to 2.2.4
  - Updated file includes/ignores syntax
  - Added Vue file overrides to disable noUnusedVariables/noUnusedImports
- Fixed all lint errors:
  - Added radix parameter to parseInt calls
  - Prefixed unused parameters with underscore
  - Removed unused imports
  - Fixed biome suppression comments
  - Removed !important from CSS
  - Added type ignores for Vue component definitions

All 325 files now pass lint with 0 warnings and 0 errors.
2025-09-21 13:39:43 +09:00
Kazuki Yamada
3616fce758 1.6.0 2025-09-21 01:26:40 +09:00
Kazuki Yamada
1badf53c3c refactor(cli): optimize ping task and improve error handling
- Remove unnecessary config parameter from PingTask interface for better performance
- Improve error serialization using util.inspect with safety limits
- Update function signatures to match simplified ping interface
- Add comprehensive error details formatting with depth and length limits

These changes address PR review comments and improve worker efficiency.
2025-09-20 22:58:31 +09:00
Kazuki Yamada
681e377361 refactor(shared): improve error handling and cleanup code
- Use class names for RepomixError type checking instead of hardcoded strings
- Remove unused RepomixError import from fileProcess.ts
- Simplify comments in errorHandle.ts and fileProcess.ts
- Clean up constructor-based error checking logic
2025-09-17 00:59:58 +09:00
Kazuki Yamada
e7ca4add7d 1.5.0 2025-09-14 18:31:59 +09:00
Kazuki Yamada
a693ee7c79 1.4.2 2025-09-01 00:54:11 +09:00
Kazuki Yamada
255b99fb34 1.4.1 2025-08-30 00:43:36 +09:00
Kazuki Yamada
686f401b42 chore(deps): Update @typescript/native-preview to latest version
- Update @typescript/native-preview from 7.0.0-dev.20250708.1 to 7.0.0-dev.20250824.1
- Update package-lock.json files for all subprojects to reflect the latest version
- Ensures compatibility with latest TypeScript native performance improvements

This keeps all packages in sync with the latest tsgo release for consistent type checking performance.
2025-08-24 18:56:38 +09:00
Kazuki Yamada
3fe7ed6fd6 feat(linter): integrate oxlint into lint pipeline
- Add oxlint as dev dependency and integrate into npm run lint
- Create oxlint configuration with warning levels for gradual adoption
- Add oxlint CI job to GitHub Actions
- Fix regex patterns flagged by oxlint:
  - Remove unnecessary escape characters in file regex patterns
  - Fix regex patterns in website validation and PHP test files
- Update lint script order: biome -> oxlint -> ts -> secretlint

oxlint provides 50-100x faster linting with 500+ rules from ESLint ecosystem.
Current warnings are configured as non-blocking to allow gradual improvement.
2025-08-24 18:25:08 +09:00
Kazuki Yamada
be73b8582a 1.4.0 2025-08-23 15:30:05 +09:00
Kazuki Yamada
95c52b5edf 1.3.0 2025-08-11 23:58:24 +09:00
Kazuki Yamada
8cc5881dd9 1.2.1 2025-07-28 01:13:21 +09:00
Kazuki Yamada
aa4eeb272e feat(scripts): Add memory monitoring commands for development
- Add memory-check script for general memory usage analysis
- Add memory-check-one-file script for single file memory profiling
- Enables easy monitoring of memory improvements during development
- Useful for testing memory efficiency of child_process worker implementation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 23:57:17 +09:00