Спосіб відстеження змін у імпортованих файлах на прикладі мови NFML

Автор(и)

  • Д. Рекечинський КПІ ім. Ігоря Сікорського, Україна
  • А. Волокита КПІ ім. Ігоря Сікорського, Україна

DOI:

https://doi.org/10.20535/1560-8956.47.2025.340204

Ключові слова:

алгоритм, ієрархія, файлова система, відстеження змін, Node.js

Анотація

Об’єктом дослідження є відстеження змін у файлах, які є безпосередньою частиною проекту. У статті розглянуто різноманітні способи відстежувати зміни у файлах, визначено найкращий з них на основі вимог, висунутих для розробки ефективного алгоритму. Розроблений алгоритм повинен мати змогу відслідковувати зміни незалежно від ієрархії файлів у проекті, а також додавати чи видаляти файли з відстежуваних залежно від того, чи вони застосовуються в поточному проекті. Робота алгоритму розглядається на прикладі предметно-орієнтованої мови NFML. Із розглянутих способів відстеження змін node --watch та nodemon не підійшли в силу того, що для них неможливо встановити стеження за файлами індивідуально, а також при відстеженні змін вони перезапускають процес повністю. Натомість, chokidar дає змогу додати окремі файли у список відстежуваних, а також видозмінювати його під час виконання програми. Крім цього, процес не перезапускається при виявленні змін у одному із файлів, що надає достатньо гнучкості при описі необхідної поведінки. Метою роботи є визначення способу відстежити зміни у файлах для реагування на ці зміни. Прикладом такої реакції є гаряча компіляція. Для досягнення цієї мети пропонується алгоритм, побудований із використанням chokidar, який встановлює стеження за файлами за оновлює список відстежуваних файлів за потреби.

Бібл. 3, іл. 3, табл. 1

Посилання

Command-line API | Node.js v23.10.0 Documentation [Електронний ресурс] – Режим доступу до ресурсу: https://nodejs.org/api/cli.html (дата звернення: 26.03.2025).

nodemon | GitHub [Електронний ресурс] – Режим доступу до ресурсу: https://github.com/remy/nodemon (дата звернення: 26.03.2025).

chokidar | GitHub [Електронний ресурс] – Режим доступу до ресурсу: https://github.com/paulmillr/chokidar (дата звернення: 27.03.2025).

##submission.downloads##

Опубліковано

2025-09-28