Uh oh!
There was an error while loading. Please reload this page.
fix(prompts): rename BASE_DETAILS prompt ID to JAVASCRIPT_BASE_DETAILS - #1531
Merged
Conversation
`@form8ion/project` already uses the literal prompt ID `BASE_DETAILS` for its own base-details prompt. Any consumer composing this package's scaffolder with `@form8ion/project`'s (as `@form8ion/eslint-config-extender` does) shares a single `dependencies.prompt` function across both -- one wrapped to answer `@form8ion/project`'s own prompts, another (baked into this package's plugin) wrapped to answer this package's prompts and delegate the remainder back to the same base `dependencies.prompt`. Both delegation paths land on the identical function, which then gets called twice with `id === 'BASE_DETAILS'` -- once for project's fields (name/description/visibility/license) and once for this package's remaining fields (author/scope/package-manager/dialect) -- with genuinely different `questions` payloads a caller can't distinguish by ID alone. `@form8ion/project`'s `BASE_DETAILS` is the more foundational, language-agnostic prompt, used by every project type regardless of language. This package's own base-details prompt is javascript-specific, so it renames instead: `BASE_DETAILS` -> `JAVASCRIPT_BASE_DETAILS`, matching the same direction as `MONOREPO_DETAILS` -> `PACKAGE_DETAILS` in `@form8ion/add-package-to-monorepo` for the same naming-specificity concern. BREAKING CHANGE: the `BASE_DETAILS` prompt ID (and matching `questionNames` group key) is renamed to `JAVASCRIPT_BASE_DETAILS`. Callers providing a `prompt` dependency that switches on `promptConstants.ids.BASE_DETAILS` need to switch on `promptConstants.ids.JAVASCRIPT_BASE_DETAILS` instead, and read question names from `promptConstants.questionNames.JAVASCRIPT_BASE_DETAILS`. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@## beta #1531 +/- ##
=========================================
Coverage 100.00% 100.00% =========================================
Files 108 108 Lines 365 365 =========================================
Hits 365 365
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
Uh oh!
There was an error while loading. Please reload this page.
🎉 This PR is included in version 16.0.0-beta.22 🎉 The release is available on: Your semantic-release bot 📦🚀 |
travi added a commit
to form8ion/eslint-config-extender
that referenced
this pull request
Aug 16, 2026
`@form8ion/javascript`@v16.0.0-beta.22 renamed its `BASE_DETAILS` prompt ID to `JAVASCRIPT_BASE_DETAILS` (form8ion/javascript#1531), resolving the collision with `@form8ion/project`'s own `BASE_DETAILS` ID this package's v16 migration surfaced. Update the internal `ids.BASE_DETAILS` reference in `javascript-answers-prompt.js` accordingly, and switch the integration fixture and `example.js` back to explicit per-prompt `case` handling now that the collision is gone -- the flat question-name-matching workaround (`Object.fromEntries(questions.map(...))`) is no longer needed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
travi added a commit
to form8ion/eslint-config-extender
that referenced
this pull request
Aug 16, 2026
`@form8ion/javascript`@v16.0.0-beta.22 renamed its `BASE_DETAILS` prompt ID to `JAVASCRIPT_BASE_DETAILS` (form8ion/javascript#1531), resolving the collision with `@form8ion/project`'s own `BASE_DETAILS` ID this package's v16 migration surfaced. Update the internal `ids.BASE_DETAILS` reference in `javascript-answers-prompt.js` accordingly, and switch the integration fixture and `example.js` back to explicit per-prompt `case` handling now that the collision is gone -- the flat question-name-matching workaround (`Object.fromEntries(questions.map(...))`) is no longer needed. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
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
@form8ion/projectalready uses the literal prompt IDBASE_DETAILSfor its own base-details prompt. Any consumer composing this package's scaffolder with@form8ion/project's -- as@form8ion/eslint-config-extenderdoes -- shares a singledependencies.promptfunction across both:@form8ion/project's own promptsdependencies.promptBoth delegation paths land on the identical function, which then gets called twice with
id === 'BASE_DETAILS'-- once for project's fields (name/description/visibility/license) and once for this package's remaining fields (author/scope/package-manager/dialect) -- with genuinely differentquestionspayloads a caller can't distinguish by ID alone. Confirmed empirically:Change
@form8ion/project'sBASE_DETAILSis the more foundational, language-agnostic prompt, used by every project type regardless of language. This package's own base-details prompt is javascript-specific, so it renames instead:BASE_DETAILS->JAVASCRIPT_BASE_DETAILS. Same direction as theMONOREPO_DETAILS->PACKAGE_DETAILSrename just made in@form8ion/add-package-to-monorepofor the same naming-specificity concern.BASE_DETAILSprompt ID and matchingquestionNamesgroup key are renamed toJAVASCRIPT_BASE_DETAILS. See the commit'sBREAKING CHANGEfooter.Verification
npm run test:unit:base-- 110 files, 327 tests passing, 100% coveragenpm run test:integration:base-- 80 scenarios, 1050 steps passingnode example.js-- runs cleannpx eslint .-- cleannpm testpre-commit hook (husky), not bypassed🤖 Generated with Claude Code