Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c9d3c00
feat: enhance barrel file generation with caching and concurrency con…
Coderrob Feb 3, 2026
bacc8b3
feat: preserve direct definitions while sanitizing re-exports in barr…
Coderrob Feb 3, 2026
712bbc2
feat: update CHANGELOG and version to 1.0.1; improve barrel file upda…
Coderrob Feb 3, 2026
46c8ae7
feat: add unit tests for utility functions and implement semaphore fo…
Coderrob Feb 4, 2026
7a7ce66
feat: remove obsolete barrel file generator tests
Coderrob Feb 4, 2026
0a97f02
feat: add ideas for future enhancements, improve file system service,…
Coderrob Feb 4, 2026
24175ae
feat: enhance ESLint rules to disallow parent re-exports and indexed …
Coderrob Feb 5, 2026
25030ab
feat: update coverage badge, enhance package.json exclusions, and ref…
Coderrob Feb 5, 2026
1aefc70
feat: update version to 1.1.0, modify .vscodeignore for improved file…
Coderrob Feb 5, 2026
d6d5c87
feat: add webpack stats to .gitignore for improved build output manag…
Coderrob Feb 5, 2026
51113d2
feat: update keywords in package.json for improved clarity and relevance
Coderrob Feb 5, 2026
18fb3a8
feat: update maintainer name in README for accuracy
Coderrob Feb 5, 2026
66a00b4
feat: update package version and improve export handling
Coderrob Feb 8, 2026
7365a70
feat: enhance export path regex to support double quotes and add debu…
Coderrob Feb 9, 2026
3060f57
feat: update coverage badge to reflect 98.75% and enhance webpack ext…
Coderrob Feb 9, 2026
bf94402
feat: streamline exports in index.ts for improved clarity and organiz…
Coderrob Feb 9, 2026
719a8ec
chore(changelog): update 1.1.1 notes to include recent maintenance co…
Coderrob Feb 9, 2026
206eee0
chore(changelog): update changelog for recent enhancements and refine…
Coderrob Feb 9, 2026
0535e49
Merge origin/main into feat/barrel-enhancements: resolve conflicts
Coderrob Feb 9, 2026
fe3a292
fix: resolve version conflict in package-lock.json
Coderrob Feb 9, 2026
1625152
fix: update devtool setting for production environment in webpack config
Coderrob Feb 9, 2026
83d4ee4
fix: rethrow error in BarrelCommandQueue to ensure processing loop lo…
Coderrob Feb 9, 2026
8e5e804
Revert "Merge origin/main into feat/barrel-enhancements: resolve conf…
Coderrob Feb 9, 2026
d147b1f
refactor: extract runSanitize function to simplify test cases for Bar…
Coderrob Feb 10, 2026
c7a2941
fix: remove unnecessary externals for ts-morph in webpack config
Coderrob Feb 10, 2026
cef9f21
fix: remove redundant import of LoggerInstance in barrel-file.generat…
Coderrob Feb 10, 2026
d5c1d16
chore: update CHANGELOG for version 1.1.1 with architectural refactor…
Coderrob Feb 19, 2026
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@ pids/
# Reports
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Dependency Checks
.depcheck.json

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

Expand Down
36 changes: 35 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,41 @@

All notable changes to the "barrel-roll" extension will be documented in this file.

## [Unreleased]
## [1.1.1] - 2026-02-19

### Added

- **Major architectural refactoring**: Implemented modular barrel generation system with dedicated processors, strategies, and validators
- `EntryCollector` processor for gathering TypeScript files and directories
- `DirectoryProcessor` for recursive directory handling with concurrency control
- `ContentMerger` for intelligent content merging and deduplication
- `BarrelGenerationStrategy` for configurable generation modes
- `ReExportValidator` for validating and cleaning re-exports
- Enhanced performance with intelligent caching system (`ExportCache`) and concurrency control (`Semaphore`)
- Comprehensive test coverage expanded to 349 tests covering all new architectural components
- Contract validation tests for type safety and enum exhaustiveness
- File size validation in `FileSystemService` to prevent processing oversized files

### Changed

- **Refactored barrel generation architecture**: Split monolithic `BarrelFileGenerator` into modular components for better maintainability and testability
- Enhanced export parsing with improved regex patterns supporting double quotes and complex comment scenarios
- Consolidated utility functions and improved error handling throughout the codebase
- Updated build configuration with enhanced webpack externals and improved TypeScript compilation settings

### Fixed

- Export duplication during barrel operations when comments containing closing braces (`}`) were present in existing imports
- Regex patterns in `export-patterns.ts` now use non-greedy matching (`[\s\S]*?`) to properly handle comments with closing braces
- Added support for trailing line comments (`//`) and block comments (`/* */`) in export statements
- Added support for TypeScript's type-only exports (`export type { ... } from './path'`)
- Added support for comments between export parts (e.g., `export * /* comment */ from './path'`)
- Added support for exports without spaces (e.g., `export{` instead of `export {`, `export*from` instead of `export * from`)

### Removed

- Removed Jest compatibility shim (`src/test/testHarness.ts`) and test barrel export file (`src/test/index.ts`)
- Removed Jest-specific dev dependencies (`eslint-plugin-jest`, `expect`) from the repository

## [1.1.0]

Expand Down
2 changes: 1 addition & 1 deletion badges/coverage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading