Skip to content

File Watch Plugin

Плагин для наблюдения за изменениями файлов и каталогов.

Установка

sh
npm install @runium/plugin-file-watch
sh
yarn add @runium/plugin-file-watch
sh
pnpm add @runium/plugin-file-watch

Возможности

Плагин позволяет отслежитвать изменения файлов и каталогов и выполнять действия в ответ на эти изменения.

Триггер

Плагин добавляет новый тип триггера:

  • file-watch - для отслеживания изменений файлов и каталогов

TIP

Подробнее о конфигурации триггера см. в разделе Триггеры.

Пример

Предствим, что необходимо запускать задачу some-task при изменении файлов или каталогов.

Один путь для наблюдения

Запустить задачу при добавлении, изменении или удалении любого файла в текущем каталоге.

json
{
  "id": "file-watch-trigger",
  "type": "file-watch",
  "options": {
    "watch": {
      "path": ["."],
      "events": ["add", "change", "unlink"]
    },
    "action": {
      "type": "start-task",
      "options": {
        "taskId": "some-task"
      }
    }
  }
}

Конкретный файл

Запустить задачу при добавлении, изменении или удалении конкретного файла.

json
{
  "id": "file-watch-trigger",
  "type": "file-watch",
  "options": {
    "watch": {
      "path": ["./file.txt"],
      "events": ["add", "change", "unlink"]
    },
    "action": {
      "type": "start-task",
      "options": {
        "taskId": "some-task"
      }
    }
  }
}

Несколько путей для наблюдения

Запустить задачу:

  • при добавлении любого файла во вложенном каталоге ./1
  • при удалении любого файла во вложенном каталоге ./2
json
{
  "id": "file-watch-trigger",
  "type": "file-watch",
  "options": {
    "watch": [
      {
        "path": ["./1"],
        "events": ["add"]
      },
      {
        "path": ["./2"],
        "events": ["unlink"]
      }
    ],
    "action": {
      "type": "start-task",
      "options": {
        "taskId": "some-task"
      }
    }
  }
}

Исключение файлов

Запустить задачу при добавлении, изменении или удалении любого файла в текущем каталоге, кроме файлов с расширением .log.

json
{
  "id": "file-watch-trigger",
  "type": "file-watch",
  "options": {
    "watch": {
      "path": ["."],
      "events": ["add", "change", "unlink"],
      "ignored": ["*.log"]
    },
    "action": {
      "type": "start-task",
      "options": {
        "taskId": "some-task"
      }
    }
  }
}