diff --git a/packages/create-mail/generators/package.json.mustache b/packages/create-mail/generators/package.json.mustache index 543fe6e3..9c95408a 100644 --- a/packages/create-mail/generators/package.json.mustache +++ b/packages/create-mail/generators/package.json.mustache @@ -12,6 +12,7 @@ "jsx-email": "^2.0.0" }, "devDependencies": { - "react": "^19.1.0"{{{ typeDep }}} + "react": "^19.1.0", + "react-dom": "^19.1.0"{{{ typeDep }}} } } diff --git a/test/cli/create-mail.test.ts b/test/cli/create-mail.test.ts index 8ece17ca..20dd340b 100644 --- a/test/cli/create-mail.test.ts +++ b/test/cli/create-mail.test.ts @@ -21,6 +21,23 @@ describe('create-mail', async () => { expect(plain).toMatchSnapshot(); + type PackageJson = { + dependencies?: Record; + devDependencies?: Record; + }; + + const packageJson = JSON.parse( + await readFile(join(__dirname, '.test/new/package.json'), 'utf8') + ) as PackageJson; + + expect(packageJson.devDependencies).toMatchObject({ + react: expect.any(String), + 'react-dom': expect.any(String) + }); + + expect(packageJson.dependencies ?? {}).not.toHaveProperty('react'); + expect(packageJson.dependencies ?? {}).not.toHaveProperty('react-dom'); + const contents = await readFile(join(__dirname, '.test/new/templates/email.tsx'), 'utf8'); expect(contents).toMatchSnapshot();