UNPKG

vite-dev-logs

Version:

Creates a Vite plugin that logs only in development mode, for AI agents.

46 lines 1.6 kB
import { mkdirSync, appendFileSync } from 'fs'; import { existsSync } from 'node:fs'; const defaultOptions = { url: '/dev-logger', outputFolder: 'logs', outputFileName: 'dev-log', }; export default function viteDevLogger(options) { const pluginOptions = { ...defaultOptions, ...options, }; if (!existsSync(pluginOptions.outputFolder)) { mkdirSync(pluginOptions.outputFolder); } const todayDate = new Date().toISOString().split('T')[0]; return { name: 'vite-dev-logger', configureServer(server) { server.middlewares.use((req, res, next) => { if (req.url !== pluginOptions.url) { next(); return; } let body = ''; req.on('data', (chunk) => { body += chunk.toString(); }); req.on('end', () => { try { const data = JSON.parse(body); appendFileSync(`${pluginOptions.outputFolder}/${pluginOptions.outputFileName}${todayDate}.log`, JSON.stringify(data, null, 0) + '\n'); res.statusCode = 200; res.end(); } catch (error) { console.error(error); res.statusCode = 400; res.end('Invalid JSON, please send a valid JSON object.'); } }); }); }, }; } //# sourceMappingURL=index.js.map