| 33 | // dependency in package.json. |
| 34 | // --------------------------------------------- |
| 35 | export function isReactProject(cwd: string = process.cwd()): boolean { |
| 36 | try { |
| 37 | const pkg = JSON.parse( |
| 38 | readFileSync(path.join(cwd, 'package.json'), 'utf8') |
| 39 | ); |
| 40 | return ( |
| 41 | (pkg.dependencies?.react !== undefined || |
| 42 | pkg.devDependencies?.react !== undefined) && |
| 43 | // Exclude Next.js projects (already handled separately) |
| 44 | pkg.dependencies?.next === undefined && |
| 45 | pkg.devDependencies?.next === undefined |
| 46 | ); |
| 47 | } catch { |
| 48 | return false; |
| 49 | } |
| 50 | } |
| 51 | |
| 52 | // --------------------------------------------- |
| 53 | // Run the Cedar component installer (init). |