UNPKG

@nucel.cloud/cli

Version:

The open-source deployment platform for modern web apps

62 lines 2.02 kB
import { CONSTANTS } from './constants.js'; export const FRAMEWORK_CONFIGS = { nextjs: { buildCommand: 'npm run build', outputDirectory: '.next', envPrefixes: ['NEXT_PUBLIC_', 'NUCEL_'], configFiles: ['next.config.js', 'next.config.mjs', 'next.config.ts'], dependencies: ['next'], }, sveltekit: { buildCommand: 'npm run build', outputDirectory: '.svelte-kit', envPrefixes: ['PUBLIC_', 'VITE_', 'NUCEL_'], configFiles: ['svelte.config.js', 'vite.config.js', 'vite.config.ts'], dependencies: ['@sveltejs/kit'], }, 'react-router': { buildCommand: 'npm run build', outputDirectory: 'build', envPrefixes: ['VITE_', 'NUCEL_'], configFiles: ['react-router.config.ts', 'react-router.config.js'], dependencies: ['react-router', '@react-router/dev'], }, hono: { buildCommand: 'npm run build', outputDirectory: '.nucel-build', envPrefixes: ['HONO_', 'NUCEL_'], configFiles: [], dependencies: ['hono'], }, unknown: { buildCommand: 'npm run build', outputDirectory: 'dist', envPrefixes: [], configFiles: [], dependencies: [], }, }; export function getFrameworkConfig(framework) { return FRAMEWORK_CONFIGS[framework]; } export function getFrameworkDefaults(framework) { const config = getFrameworkConfig(framework); return { buildCommand: config.buildCommand, outputDirectory: config.outputDirectory, }; } export function isAppEnvVar(key, framework) { const config = getFrameworkConfig(framework); if (config.envPrefixes.some(prefix => key.startsWith(prefix))) { return true; } if (key.match(/^[A-Z_]+$/) && !isSystemEnvVar(key)) { return true; } return false; } function isSystemEnvVar(key) { return CONSTANTS.SYSTEM_ENV_PREFIXES.some(sysVar => key.startsWith(sysVar)); } //# sourceMappingURL=framework-configs.js.map