fix(create-mail): add react-dom to scaffold devDeps #359
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.
Resolves #353
Subtask of #348.
Port the non-versioning scaffolding fix from
create-jsx-emailonmaininto thecreate-mailCLI onnext/v3so newly scaffolded projects includereact-domby default while keeping the stricter Node/React version ranges for v3.Changes
create-mailgeneratorpackage.jsontemplate to addreact-domtodevDependencieswith the same React 19.1 range asreact.react,react-dom,@types/react, andtypescriptindevDependencies, aligned with the v3 ranges.Verification
plugin-pretty:compilecurrently fails to type-check (Cannot find module 'jsx-email'and an implicitanybinding inpackages/plugin-pretty/src/index.ts); this predates this change and is unchanged here.jsx-email:testcurrently fails because Vite cannot resolve the@jsx-email/plugin-inlinepackage entry during Vitest runs; this also predates this change and is unchanged here.package.jsonnow includesreact-domwith the expected^19.1.0range alongside the existing React/TypeScript dev dependencies.Self-review notes
The self-review tool flagged a few broader maintainability items that I intentionally left as-is to keep this PR narrowly focused on the
create-mailscaffolding parity fix:shared/tsconfig.base.json:allowJsremains enabled at the shared base level; tightening this would be a cross-cutting TS config change and is out of scope for this CLI scaffolding tweak.shared/tsconfig.eslint.json: this file remains removed onnext/v3; ESLint is already wired viarepo:lint, and reintroducing a workspace-level TS project for linting would broaden the scope beyond charlie: next/v3 create-mail scaffolding parity with main create-jsx-email #353.test/cli/create-mail.test.ts:IS_CLI_TESTand the unsortedglobbyfile list are existing patterns used to make the CLI test deterministic; they’re unchanged in this PR.test/cli/preview-build-path.test.ts: that test file is already absent onnext/v3and preview--build-pathbehavior is covered by newer tests added in prior parity work; restoring it would be a separate test refactor.pnpm-workspace.yaml,test/smoke/moon.yml, smoke snapshots, andrecipes/import-css/package.json: these concern workspace defaults, smoke-test formatting sensitivity, and recipe deps; adjusting them would mix repo-level and docs/recipe changes into this focused scaffolding fix, so they’re left for a follow-up if desired.