Skip to content

Conversation

@zackarychapple
Copy link

The official documentation states that glob patterns work in the project configuration, however this code was commented out waiting for support in ts-go, it appears this support has been added. I verified that this is working for our project.

  • Implements glob expansion for project paths as documented at https://rslint.rs/config/
  • Uses existing doublestar/v4 dependency for pattern matching
  • Adds comprehensive test coverage with 7 test cases
  • Maintains backward compatibility with non-glob paths
  • Updates rslint's own config to use glob patterns
  • Adds deduplication to handle overlapping patterns

This resolves the FIXME comment about 'enable legacy multi tsconfig project'

Changes:

  • internal/config/loader.go: Add glob detection and expansion logic
  • internal/config/loader_test.go: Add comprehensive test suite (NEW)
  • rslint.json: Refactor to use glob patterns

Benefits:

  • Simplifies monorepo configuration (3 lines vs 10+ explicit paths)
  • Automatically discovers new packages/apps without config updates
  • Matches documented behavior
  • No new dependencies
  • Full backward compatibility

Testing:
All tests passing: go test ./internal/config/... -v

  • TestContainsGlobPattern
  • TestLoadTsConfigsFromRslintConfig_GlobExpansion
  • TestLoadTsConfigsFromRslintConfig_NoMatches
  • TestLoadTsConfigsFromRslintConfig_MixedGlobAndNonGlob
  • TestLoadTsConfigsFromRslintConfig_Deduplication
  • TestLoadTsConfigsFromRslintConfig_NonExistentNonGlobFile
  • TestLoadTsConfigsFromRslintConfig_DoubleStarPattern

Summary

Related Links

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

- Implements glob expansion for project paths as documented at https://rslint.rs/config/
- Uses existing doublestar/v4 dependency for pattern matching
- Adds comprehensive test coverage with 7 test cases
- Maintains backward compatibility with non-glob paths
- Updates rslint's own config to use glob patterns
- Adds deduplication to handle overlapping patterns

This resolves the FIXME comment about 'enable legacy multi tsconfig project'

Changes:
- internal/config/loader.go: Add glob detection and expansion logic
- internal/config/loader_test.go: Add comprehensive test suite (NEW)
- rslint.json: Refactor to use glob patterns

Benefits:
- Simplifies monorepo configuration (3 lines vs 10+ explicit paths)
- Automatically discovers new packages/apps without config updates
- Matches documented behavior
- No new dependencies
- Full backward compatibility

Testing:
All tests passing: go test ./internal/config/... -v
- TestContainsGlobPattern
- TestLoadTsConfigsFromRslintConfig_GlobExpansion
- TestLoadTsConfigsFromRslintConfig_NoMatches
- TestLoadTsConfigsFromRslintConfig_MixedGlobAndNonGlob
- TestLoadTsConfigsFromRslintConfig_Deduplication
- TestLoadTsConfigsFromRslintConfig_NonExistentNonGlobFile
- TestLoadTsConfigsFromRslintConfig_DoubleStarPattern
@netlify
Copy link

netlify bot commented Jan 15, 2026

Deploy Preview for rslint ready!

Name Link
🔨 Latest commit 84e49ec
🔍 Latest deploy log https://app.netlify.com/projects/rslint/deploys/696910694f1d4d0008f2f536
😎 Deploy Preview https://deploy-preview-439--rslint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@fansenze
Copy link
Contributor

Thanks for the PR! The changes look great, but there are a few CI failures. For the linting error, I think adding typescript-go/** to ignores in rslint.json should fix it. Could you check the other failures as well?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants