Fix interactive prompt in exportMigrations by parsing author string #533
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
When
exportMigrationsis called programmatically (e.g., from tests in constructive-db), it was prompting for interactive input:This happened because
preparePackagecallsinitModulewith anauthorstring (e.g.,'Constructive <developers@constructive.io>'), but the module template expects separatefullNameandemailfields in the answers.This PR:
parseAuthorStringhelper that extractsfullNameandemailfrom the author stringanswersobject when callinginitModulenoTty: trueto disable interactive prompts for programmatic useReview & Testing Checklist for Human
"John Doe"(no email),"Name <email>", and"Name With Spaces <email@domain.com>"noTty: truehas unintended side effects: Ensure this doesn't suppress prompts that should still appear in CLI usageRecommended test plan:
pgpm exportfrom CLI to ensure interactive prompts still work when neededNotes
This fix is needed to unblock the introspection package tests in constructive-db PR #159.
Link to Devin run: https://app.devin.ai/sessions/cf99eca9a417440f98c23cd9db41555b
Requested by: Dan Lynch (@pyramation)
Note
Ensures programmatic exports don't trigger interactive prompts during module scaffolding.
parseAuthorString(author)to extractfullNameand optionalemailfrom strings like"Name <email@domain>"preparePackageto passfullName/emailininitModuleanswersand setsnoTty: trueWritten by Cursor Bugbot for commit cf6e9d7. This will update automatically on new commits. Configure here.