Skip to content

Conversation

mbg
Copy link
Member

@mbg mbg commented Sep 19, 2025

The config-utils module has grown extremely large, making it difficult to understand the dependencies different parts of the file have on each other. This PR moves UserConfig (i.e. the database configuration for the CLI) and associated types and functions into a new file. The same is done with corresponding tests. The various error message functions from config-utils now also live in a separate file.

There should be no change in behaviour.

Risk assessment

For internal use only. Please select the risk level of this change:

  • Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Consider adding a changelog entry for this change.
  • Confirm the readme and docs have been updated if necessary.

@Copilot Copilot AI review requested due to automatic review settings September 19, 2025 16:19
@mbg mbg requested a review from a team as a code owner September 19, 2025 16:19
Copy link
Contributor

@Copilot 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 PR refactors the large config-utils module by extracting database configuration-related code into separate files to improve maintainability and reduce module size. The refactoring splits user configuration types, functions, and error messages into dedicated modules while maintaining the same public API.

Key Changes

  • Extracted database configuration logic to src/config/db-config.ts
  • Created src/error-messages.ts for configuration error message functions
  • Moved corresponding tests to src/config/db-config.test.ts

Reviewed Changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/error-messages.ts New module containing error message generation functions
src/config/db-config.ts New module with database configuration types and functions
src/config/db-config.test.ts Tests moved from config-utils.test.ts for the extracted functionality
src/config-utils.ts Refactored to import from new modules and re-export public API
src/config-utils.test.ts Updated imports to use new error message module
lib/*.js Compiled JavaScript files reflecting the TypeScript changes

@mbg mbg force-pushed the mbg/refactor/db-config-and-errors branch from 96ca55b to a067418 Compare September 20, 2025 13:10
Copy link
Contributor

@henrymercer henrymercer left a comment

Choose a reason for hiding this comment

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

I haven't taken a thorough look at all the moved code, since most of this is just moving code from one file to another, but the structure makes sense.

@mbg mbg merged commit 6117099 into main Sep 22, 2025
299 checks passed
@mbg mbg deleted the mbg/refactor/db-config-and-errors branch September 22, 2025 11:23
@github-actions github-actions bot mentioned this pull request Sep 25, 2025
8 tasks
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.

3 participants