Skip to content

charlie: next/v3 CLI preview props parity with main while keeping caniemail #352

Description

@charliecreates

Subtask of #348. Align next/v3 CLI use of --use-preview-props with main by wiring the flag through email build and email check, updating CLI help and tests, and ensuring email check continues to use caniemail (not @jsx-email/doiuse-email) per the follow up comment.

Target branch

All work for this issue should be implemented against the next/v3 branch.

  • Branch from origin/next/v3.
  • Open pull requests with base set to next/v3 (not main).

Context

main and next/v3 both support usePreviewProps in the build pipeline, but they differ in how the CLI exposes and documents it:

  • On main, --use-preview-props is clearly documented and is wired through both email build and email check so checks can run against the same previewProps as builds/previews.
  • On next/v3, email check intentionally remains based on caniemail and should stay that way, but the handling of --use-preview-props and the associated help text are not yet aligned with main.

The goal of this issue is to make the next/v3 CLI feel consistent with main wherever --use-preview-props is involved, without changing the underlying choice of caniemail.

Implementation notes

When working this issue:

  1. Use charlie: head vs next/v3 #348 as the reference for how --use-preview-props flows through buildTemplates and other shared helpers on main.
  2. Update the next/v3 implementations of email build and email check so they:
    • Accept the --use-preview-props flag in the same way as main.
    • Wire the flag through to template building/checking so previewProps are honored consistently.
  3. Align the CLI help output and docs on next/v3 so --use-preview-props is discoverable and described the same way as on main, while explicitly keeping email check on caniemail.
  4. Add or update tests to cover the --use-preview-props behavior for both build and check on next/v3, mirroring the intent of the tests on main.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions