Skip to content

Conversation

@kmonahan
Copy link
Collaborator

Refactors the component creation script so that we can use the new version of inquirer (now at @inquirer/prompts). Replaces plop as part of this work and uses an adapted version of tiny-mustache instead. Should work pretty much like the old version did.

@kmonahan
Copy link
Collaborator Author

kmonahan commented Nov 3, 2025

@coderabbitai full review

@coderabbitai
Copy link

coderabbitai bot commented Nov 3, 2025

✅ Actions performed

Full review triggered.

@coderabbitai
Copy link

coderabbitai bot commented Nov 3, 2025

📝 Walkthrough

Walkthrough

The pull request replaces the Plop-based component scaffolding system with a custom Node.js command-line utility. The new implementation uses Mustache templating and Inquirer prompts to collect component metadata through interactive prompts. Template files are reorganized from the plop-templates directory to a templates directory. The component command in package.json now executes the new create-component.mjs script instead of Plop. Dependencies are updated accordingly, removing Plop and adding Mustache and Inquirer libraries. Template syntax is adjusted to use Handlebars block-style helpers for Mustache compatibility.

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title 'Refactor component script' accurately reflects the main objective of the changeset. The PR refactors the component creation script by replacing plop with a new approach using inquirer and tiny-mustache, which is exactly what the title conveys. The title is concise, clear, and directly summarizes the primary change from the developer's perspective.
Description check ✅ Passed The pull request description is directly related to the changeset and provides relevant context about the refactoring effort. It explains that the script is being refactored to support the new @inquirer/prompts version, that plop is being replaced, and that tiny-mustache is being used instead. The description clearly conveys the intent and scope of the changes made across the multiple modified files.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-plop-and-inquirer

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Jira integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between fdb74cf and 2cb8cbf.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (8)
  • lib/create-component.mjs (1 hunks)
  • lib/plop-templates/Stylesheet.hbs (0 hunks)
  • lib/templates/Component.hbs (1 hunks)
  • lib/templates/Story.hbs (1 hunks)
  • lib/templates/Stylesheet.hbs (1 hunks)
  • package.json (3 hunks)
  • plopfile.mjs (1 hunks)
  • tsconfig.json (1 hunks)
💤 Files with no reviewable changes (1)
  • lib/plop-templates/Stylesheet.hbs
🔇 Additional comments (2)
package.json (2)

16-16: Script command change is appropriate.

The script now executes the custom Node CLI script instead of Plop, which aligns with the PR objectives.


37-38: Verify new dependency availability and compatibility.

Three new packages are added:

  • @forumone/tiny-mustache (v1.0.0): An internal ForumOne package—verify it's published and accessible in your package registry.
  • @inquirer/prompts (v7.8.4): Replaces the old inquirer package; confirm this is the correct package for the new prompting implementation.
  • change-case (v5.4.4): Well-established case conversion utility, suitable for component name transformation.

All use caret ranges, which is standard for dev dependencies but may introduce minor breaking changes. Confirm that the old inquirer and plop packages have been fully removed (not visible in the diff).

Also applies to: 52-52

# Conflicts:
#	package-lock.json
#	package.json
@kmonahan kmonahan merged commit 619ccfe into 2.x-RC Nov 3, 2025
1 check passed
@kmonahan kmonahan deleted the update-plop-and-inquirer branch November 3, 2025 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants