WAP 2.0 18.10.2026
Артем Клик. админ тревел-клика
1 мин #пет-проекты

Этот сайт: один процесс, ноль зависимостей

Node.js без npm-пакетов, JSON вместо базы и админка внутри того же процесса. Почему для личного блога этого достаточно.

Этот миниблог — Node.js без единой npm-зависимости, nginx впереди и JSON-файл вместо базы. Не потому что «настоящие инженеры так не делают», а потому что для личного блога этого достаточно.

Что внутри:

  • один HTTP-сервер на встроенном node:http;
  • посты в JSON, запись атомарная: временный файл, потом rename;
  • Markdown парсится своим небольшим парсером, весь HTML экранируется;
  • админка с сессией, CSRF и превью — часть того же процесса.

Из зависимостей — только nginx и systemd, которые уже стояли на сервере. Обновление — rsync и перезапуск сервиса. Если сломается, я знаю, где смотреть, потому что знаю каждую строку.

Минус тоже понятен: нет готовых фич. Плюс — нет обновлений пакетов, уязвимостей в дереве зависимостей и сюрпризов при деплое. Для проекта, который должен просто работать, обмен честный.