UNPKG

@notes-sync/service

Version:

Background service for AI-powered note synchronization

44 lines 1.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileWatcher = void 0; const chokidar_1 = __importDefault(require("chokidar")); const logger_1 = require("./logger"); class FileWatcher { start(notesDir, glob, ignore, onSync) { logger_1.Logger.log(`Starting file watcher for: ${notesDir}`); this.watcher = chokidar_1.default.watch(glob, { cwd: notesDir, ignored: ignore, ignoreInitial: true, persistent: true, awaitWriteFinish: { stabilityThreshold: 300, pollInterval: 50 }, }); this.watcher .on('add', path => { logger_1.Logger.log(`File added: ${path}`); onSync(); }) .on('change', path => { logger_1.Logger.log(`File changed: ${path}`); onSync(); }) .on('unlink', path => { logger_1.Logger.log(`File removed: ${path}`); onSync(); }) .on('error', err => { logger_1.Logger.error('File watcher error:', err); }); } stop() { if (this.watcher) { this.watcher.close(); logger_1.Logger.log('File watcher stopped'); } } } exports.FileWatcher = FileWatcher; //# sourceMappingURL=watcher.js.map