Commits
Click on a commit to change the comparison rangefeat: implement tsconfig include/exclude filtering for path resolution
Refactors tests to use full resolution flow and implements actual
include/exclude filtering during module resolution.
## Changes
### Core Implementation (src/lib.rs)
- Add include/exclude check in `load_tsconfig_paths()` before applying
  path mappings
- Only check actual files, not directories (to support directory-based
  resolution)
- If importer doesn't match tsconfig patterns, skip that tsconfig's
  path mappings
### File Matcher Creation (src/tsconfig/mod.rs)
- Ensure file_matcher is always created for non-empty tsconfigs
- Defaults to include: ["**/*"] when no patterns specified
- All tsconfigs now have a file_matcher (except explicit empty case)
### Test Strategy (src/tests/tsconfig_include_exclude.rs)
- Refactor from testing `matches_file()` directly to testing full
  `resolver.resolve()`
- Verify path aliases work when importer is included
- Verify path aliases don't work when importer is excluded
- Test cases cover: include patterns, exclude patterns, default behavior
### Fixtures
- Add imports to test fixtures (index.ts files)
- Add path aliases (baseUrl/paths) to tsconfig.json files
- Create helper.ts for exclude_basic fixture
## Testing
All 158 tests pass, including new resolution-based include/exclude tests.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com> test: add unit tests for TsconfigFileMatcher pattern matching
Add comprehensive unit tests that directly test pattern matching logic
in isolation, using the previously unused fixtures.
## Changes
- Create `src/tests/tsconfig_file_matcher.rs` with 10 unit tests
- Each test covers a specific pattern type:
  - `test_globstar_patterns` - Tests **/*.ts (matches at any depth)
  - `test_wildcard_patterns` - Tests src/*.ts (single level)
  - `test_character_set_patterns` - Tests [A-Z]*.ts (character ranges)
  - `test_complex_patterns` - Tests src/**/test/**/*.spec.ts (nested)
  - `test_monorepo_patterns` - Tests packages/*/src/**/* (monorepo)
  - `test_files_priority` - Tests files array overrides exclude
  - `test_outdir_exclude` - Tests automatic outDir exclusion
  - `test_absolute_patterns` - Tests absolute path handling
  - `test_configdir_syntax` - Tests ${configDir} template variable
  - `test_without_baseurl` - Tests default include/exclude
- Helper function `create_matcher_from_fixture()` reads tsconfig.json
  and creates TsconfigFileMatcher with template substitution
- All 10 fixtures that were created but unused are now tested
- Total: 168 tests passing (10 new unit tests added)
## Benefits
- Tests pattern matching in isolation (faster than integration tests)
- Clear documentation of all supported pattern types
- Better coverage of edge cases
- Reuses existing fixture infrastructure
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com> fix: address PR review comments for tsconfig file matching
- Fix critical bug in files array matching: normalize files in constructor and use exact match only (prevents false positives)
- Fix include empty check: None should default to **/* not be treated as empty
- Remove duplicate empty pattern check
- Add tests for fixture files in dist/ and node_modules/
- Fix test assertions for extends inheritance and paths outside root
- Update character set pattern test (TypeScript doesn't support [A-Z] syntax)
- Fix outdir_exclude fixture to include .js and .d.ts files
- Add test case verifying excluded dist directory cannot use path mappings
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>