Skip to content

Conversation

@Coderrob
Copy link
Owner

This pull request introduces several improvements and refinements to the project, focusing on standardizing the build output directory, enhancing documentation and metadata, improving the GitHub workflow, and refactoring some internal types for better consistency. The most important changes are grouped below:

Build Output Directory Standardization:

  • Changed all references of the TypeScript build output directory from out/ to dist/ across configuration files, documentation, scripts, and ignore files. This includes .gitattributes, .jscpd.json, .npmignore, .prettierignore, ARCHITECTURE.md, eslint.config.mjs, package.json, and test scripts. This ensures consistency and clarity in how build artifacts are managed. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Documentation and Metadata Enhancements:

  • Updated README.md with a project logo, improved badge layout, and reordered badges for better visibility.
  • Added an icon for the extension and improved the description and keywords in package.json to enhance discoverability in the VS Code marketplace.
  • Updated ARCHITECTURE.md to reflect the new build output directory. [1] [2]

GitHub Workflow Improvements:

  • Added GitHub issue templates for bug reports and feature requests to standardize user feedback. [1] [2]
  • Added a pull request template to guide contributors through the PR process and ensure quality and consistency.

VS Code Extension Manifest and Command Improvements:

  • Refined VS Code extension activation events, command titles, and context menus for a more streamlined user experience. Added a submenu for barrel generation commands. [1] [2] [3] [4]

Type Consistency and Refactoring:

  • Refactored internal type names from ParsedExport to IParsedExport and updated references in the parser and barrel file generator for improved clarity and consistency. [1] [2] [3] [4] [5] [6] [7] [8]

These changes collectively improve the maintainability, usability, and professionalism of the project.

… Barrel Roll extension

test: add test for ignoring undefined entries in BarrelContentBuilder

test: implement test for recursive directory handling in BarrelFileGenerator

test: add test for merging duplicate exports in ExportParser

fix: update coverage badge to reflect accurate coverage percentage
- Added new images for barrel roll functionality: barrel-roll-icon.png, barrel-roll-logo.png, barrel-roll-repository-logo.png, barrel-roll-small-logo.png, and barrel-roll.png.
- Updated test file patterns in run-tests.js to point to the new distribution directory structure.
- Refactored barrel file generation options to use IBarrelGenerationOptions interface.
- Simplified FileSystemService tests by removing jest.restoreAllMocks() in afterEach.
- Updated export parser to use IParsedExport interface instead of ParsedExport.
- Created new extension test suite to validate extension activation and command execution.
- Refactored logging functionality to improve error handling and output.
- Consolidated barrel-related types into a single barrel.ts file for better organization.
- Removed deprecated barrel entry and export types to streamline the codebase.
- Updated TypeScript configuration to reflect changes in output directory from out to dist.
- Adjusted webpack configuration to output bundled files to the dist directory.
Copilot AI review requested due to automatic review settings January 21, 2026 18:47
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request standardizes the TypeScript build output directory from out/ to dist/, consolidates barrel-related types into a single file, adds comprehensive unit tests with coverage tooling (c8), and enhances project metadata and documentation with badges, icons, and GitHub templates.

Changes:

  • Standardized build output directory from out/ to dist/ across all configuration files
  • Consolidated barrel types from multiple files into a single src/types/barrel.ts file and renamed interfaces to use "I" prefix convention
  • Added unit tests for utility functions and core services, achieving 95.14% code coverage
  • Enhanced VS Code extension metadata with icon, improved description, submenu structure, and refined command titles
  • Added GitHub issue templates, pull request template, and dependency-cruiser configuration

Reviewed changes

Copilot reviewed 36 out of 46 changed files in this pull request and generated 15 comments.

Show a summary per file
File Description
webpack.config.cjs Updated output path from out to dist
tsconfig.json, tsconfig.test.json, tsconfig.test-suite.json Updated output directories and exclusions to use dist instead of out; removed compiler options from test-suite config
src/types/barrel.ts New consolidated file merging all barrel-related types and enums
src/types/barrel/*.ts Deleted individual type files (consolidated into barrel.ts)
src/types/index.ts Updated import path to reference consolidated barrel.ts
src/core/parser/export.parser.ts Updated type references from ParsedExport to IParsedExport
src/core/barrel/barrel-file.generator.ts Updated type references to use new interface names with "I" prefix
src/extension.ts Updated type import to IBarrelGenerationOptions
src/utils/*.test.ts Added/restructured unit tests for utility functions
src/logging/pino.logger.test.ts New comprehensive test file for PinoLogger
src/extension.test.ts New comprehensive test file for extension activation and commands
src/core/io/file-system.service.test.ts Removed jest.restoreAllMocks() call
package.json Updated main entry point, author format, activation events, command titles, added c8 dependency and coverage configuration, added extension scripts
README.md Added logo and reorganized badges
ARCHITECTURE.md Updated build output references
.gitignore, .npmignore, .prettierignore, .jscpd.json, .gitattributes, eslint.config.mjs Updated to reference dist instead of out
.github/ISSUE_TEMPLATE/*.md Added bug report and feature request templates
.github/PULL_REQUEST_TEMPLATE.md Added pull request template
.dependency-cruiser.cjs Added dependency cruiser configuration
scripts/run-tests.js Updated test file patterns to use dist
badges/coverage.svg Updated coverage badge from 94.8% to 95.14%

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Coderrob Coderrob merged commit caf2727 into main Jan 22, 2026
6 checks passed
@Coderrob Coderrob deleted the moar-coverage branch January 22, 2026 08:30
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.

2 participants