Skip to content

feat!: glob-based includes/excludes config - #23

Open
pikulev wants to merge 2 commits into
mainfrom
feat/includes-excludes-globs
Open

pikulev wants to merge 2 commits into
mainfrom
feat/includes-excludes-globs

Conversation

@pikulev

@pikulev pikulev commented Apr 5, 2026

Copy link
Copy Markdown
Owner

Summary

  • BREAKING CHANGE: Replace extensions, exclude_filenames, exclude_directories config fields with glob-based includes and excludes
  • User-provided values now replace defaults (not append)
  • Fixes override pattern construction bugs (missing catch-all, leading / in directories, substring matching for filenames)
  • Add e2e tests for include/exclude filtering

New config format

{
  "includes": ["**/*.ts", "**/*.tsx"],
  "excludes": ["**/*.d.ts", "dist/**", "__tests__/**"]
}

Defaults

  • includes: **/*.js, **/*.jsx, **/*.ts, **/*.tsx
  • excludes: **/*.d.ts, **/*.min.js, **/*.bundle.js, dist/**, bin/**, build/**

Test plan

  • All 54 tests pass (cargo test --all)
  • 4 new e2e tests verify include/exclude filtering
  • cargo fmt --check passes
  • cargo clippy --all --all-targets passes

Closes #22
Closes #21

🤖 Generated with Claude Code

…glob-based includes/excludes

BREAKING CHANGE: The config fields `extensions`, `exclude_filenames`, and
`exclude_directories` have been replaced with `includes` and `excludes`
which accept glob patterns directly. User-provided values replace defaults
entirely instead of appending.

This also fixes the override pattern construction bugs where
exclude_directories and exclude_filenames were not filtering files
correctly (missing catch-all pattern, leading slash issue, substring
matching).

Closes #22
Closes #21

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

exclude_directories and exclude_filenames config options do not filter files Support glob patterns in exclude configuration

1 participant