| .. | ||
| bake-funnels.mjs | ||
| import-funnels-to-db.mjs | ||
| README.md | ||
| run-with-variant.mjs | ||
| sync-funnels-from-db.mjs | ||
Scripts Documentation
Funnel Management Scripts
📥 import-funnels-to-db.mjs
Импортирует воронки из JSON файлов в public/funnels/ в MongoDB.
npm run import:funnels
📤 sync-funnels-from-db.mjs
Синхронизирует опубликованные воронки из MongoDB обратно в проект:
- Извлекает все последние версии опубликованных воронок из БД
- Сохраняет их в JSON файлы в
public/funnels/ - Запекает их в TypeScript (
src/lib/funnel/bakedFunnels.ts) - Сохраняет JSON файлы по умолчанию
Основное использование:
# Синхронизация всех воронок
npm run sync:funnels
# Просмотр справки
npm run sync:funnels -- --help
Опции:
--dry-run - Показать что будет синхронизировано без реальных изменений:
npm run sync:funnels -- --dry-run
--clean-files - Удалить JSON файлы после запекания (по умолчанию сохраняются):
npm run sync:funnels -- --clean-files
--funnel-ids <ids> - Синхронизировать только определенные воронки:
npm run sync:funnels -- --funnel-ids funnel-test,ru-career-accelerator
Комбинирование опций:
npm run sync:funnels -- --dry-run --funnel-ids funnel-test
npm run sync:funnels -- --clean-files --dry-run
🔥 bake-funnels.mjs
Конвертирует JSON файлы воронок в TypeScript константы.
npm run bake:funnels
Workflow
Разработка локально:
- Создать/редактировать воронки в админке
- Опубликовать их
- Запустить
npm run sync:funnelsдля обновления кода
Деплой:
- Запустить
npm run sync:funnelsперед билдом - Собрать проект с актуальными воронками
Отладка:
npm run sync:funnels -- --dry-run- посмотреть что будет синхронизированоnpm run sync:funnels -- --keep-files- оставить JSON файлы для проверкиnpm run sync:funnels -- --funnel-ids specific-id- синхронизировать только одну воронку