UNPKG

embedia

Version:

Zero-configuration AI chatbot integration CLI - direct file copy with embedded API keys

44 lines (37 loc) 1.28 kB
const fs = require('fs-extra'); const path = require('path'); /** * Simple Environment Detection * Replaces complex EnvironmentContract with basic Next.js detection */ function detectSimpleEnvironment(projectPath = process.cwd()) { const packageJsonPath = path.join(projectPath, 'package.json'); const tsconfigPath = path.join(projectPath, 'tsconfig.json'); let isNextJS = false; let isTypeScript = false; let isAppRouter = false; // Check if it's a Next.js project try { if (fs.existsSync(packageJsonPath)) { const packageJson = fs.readJsonSync(packageJsonPath); isNextJS = !!(packageJson.dependencies?.next || packageJson.devDependencies?.next); } } catch (error) { // Not a valid package.json, assume not Next.js } // Check for TypeScript isTypeScript = fs.existsSync(tsconfigPath); // Check for App Router (src/app or app directory) if (isNextJS) { const hasAppInSrc = fs.existsSync(path.join(projectPath, 'src/app')); const hasAppInRoot = fs.existsSync(path.join(projectPath, 'app')); isAppRouter = hasAppInSrc || hasAppInRoot; } return { isNextJS, isTypeScript, isAppRouter, framework: isNextJS ? 'nextjs' : 'unknown' }; } module.exports = { detectSimpleEnvironment };