From c2bd64a2ca262ce0cfab3087d3d38e2b839bad3b Mon Sep 17 00:00:00 2001 From: CharlieHelps Date: Tue, 9 Dec 2025 22:45:24 +0000 Subject: [PATCH] fix(jsx-email): fix check output + add --use-preview-props - Remove placeholder/debug output from check Notes formatting - Add --use-preview-props support for email check - Add unit coverage for formatting + flag pass-through --- packages/jsx-email/src/cli/commands/check.ts | 23 ++-- packages/jsx-email/test/cli/check.test.ts | 120 ++++++++++++++++++ .../.snapshots/define-config.test.ts.snap | 40 +++--- .../.snapshots/load-dotdir.test.ts.snap | 10 +- .../.snapshots/load-mjs-json.test.ts.snap | 10 +- .../load/mjs/.snapshots/load-mjs.test.ts.snap | 10 +- .../.snapshots/parent-dir.test.ts.snap | 10 +- 7 files changed, 175 insertions(+), 48 deletions(-) create mode 100644 packages/jsx-email/test/cli/check.test.ts diff --git a/packages/jsx-email/src/cli/commands/check.ts b/packages/jsx-email/src/cli/commands/check.ts index 9fe7c993..6ade4aca 100644 --- a/packages/jsx-email/src/cli/commands/check.ts +++ b/packages/jsx-email/src/cli/commands/check.ts @@ -4,7 +4,7 @@ import { type IssueGroup, caniemail, groupIssues, sortIssues } from 'caniemail'; import chalk from 'chalk'; import chalkTmpl from 'chalk-template'; import stripAnsi from 'strip-ansi'; -import { type InferOutput as Infer, parse as assert, object } from 'valibot'; +import { type InferOutput as Infer, parse as assert, boolean, object, optional } from 'valibot'; import { formatBytes, gmailByteLimit, gmailBytesSafe } from '../helpers.js'; @@ -13,7 +13,9 @@ import { type CommandFn } from './types.js'; const { error, log } = console; -const CheckOptionsStruct = object({}); +const CheckOptionsStruct = object({ + usePreviewProps: optional(boolean()) +}); type CheckOptions = Infer; @@ -34,18 +36,23 @@ Check jsx-email templates for client compatibility {underline Usage} $ email check