UNPKG

@personnn/personnnkit

Version:

๐Ÿ‡ต PersonnnKit - El Agente Kit Universal. Framework revolucionario para crear agentes de IA con HTML + Python. Simplicidad radical vs frameworks gigantes.

88 lines โ€ข 3.64 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.build = build; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); function loadConfig() { const configPath = path_1.default.join(process.cwd(), "personnn.config.ts"); const defaultConfig = { port: 3333, pagesDir: "pages", staticDir: "public", apiDir: "runtime/api.js", cronFile: "runtime/cron.js", scriptsDir: "scripts" }; if (fs_1.default.existsSync(configPath)) { try { const config = require(configPath).default || require(configPath); return { ...defaultConfig, ...config }; } catch (e) { console.warn("โš ๏ธ Error loading config, using defaults"); return defaultConfig; } } return defaultConfig; } function copyDirectory(src, dest) { if (!fs_1.default.existsSync(src)) return; if (!fs_1.default.existsSync(dest)) { fs_1.default.mkdirSync(dest, { recursive: true }); } const entries = fs_1.default.readdirSync(src, { withFileTypes: true }); for (const entry of entries) { const srcPath = path_1.default.join(src, entry.name); const destPath = path_1.default.join(dest, entry.name); if (entry.isDirectory()) { copyDirectory(srcPath, destPath); } else { fs_1.default.copyFileSync(srcPath, destPath); } } } function build() { const config = loadConfig(); const distDir = path_1.default.join(process.cwd(), "dist"); console.log("๐Ÿงน Cleaning dist directory..."); if (fs_1.default.existsSync(distDir)) { fs_1.default.rmSync(distDir, { recursive: true, force: true }); } fs_1.default.mkdirSync(distDir, { recursive: true }); // Copy HTML pages const pagesDir = path_1.default.join(process.cwd(), config.pagesDir); if (fs_1.default.existsSync(pagesDir)) { console.log(`๐Ÿ“„ Copying pages from ${config.pagesDir}...`); copyDirectory(pagesDir, distDir); } // Copy static files const staticDir = path_1.default.join(process.cwd(), config.staticDir); if (fs_1.default.existsSync(staticDir)) { console.log(`๐Ÿ“ Copying static files from ${config.staticDir}...`); copyDirectory(staticDir, distDir); } // Create build info file const buildInfo = { buildTime: new Date().toISOString(), version: "1.0.0", framework: "PersonnnKit", pages: fs_1.default.existsSync(pagesDir) ? fs_1.default.readdirSync(pagesDir).filter(f => f.endsWith('.html')) : [], hasScripts: fs_1.default.existsSync(path_1.default.join(process.cwd(), config.scriptsDir)), hasApi: fs_1.default.existsSync(path_1.default.join(process.cwd(), config.apiDir)), hasCron: fs_1.default.existsSync(path_1.default.join(process.cwd(), config.cronFile)) }; fs_1.default.writeFileSync(path_1.default.join(distDir, "build-info.json"), JSON.stringify(buildInfo, null, 2)); console.log("โœ… Build completed!"); console.log(`๐Ÿ“ฆ Files generated in: ${distDir}`); console.log(`๐ŸŒ You can serve with: npx serve dist`); if (buildInfo.hasScripts || buildInfo.hasApi || buildInfo.hasCron) { console.log("\nโš ๏ธ NOTE: This agent has backend functionality."); console.log(" For full functionality, use 'personnnkit dev'"); } } //# sourceMappingURL=build.js.map