vite-dev-logs
Version:
Creates a Vite plugin that logs only in development mode, for AI agents.
46 lines • 1.6 kB
JavaScript
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