# Scripts Documentation ## Funnel Management Scripts ### πŸ“₯ `import-funnels-to-db.mjs` Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²ΠΎΡ€ΠΎΠ½ΠΊΠΈ ΠΈΠ· JSON Ρ„Π°ΠΉΠ»ΠΎΠ² Π² `public/funnels/` Π² MongoDB. ```bash npm run import:funnels ``` ### πŸ“€ `sync-funnels-from-db.mjs` Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π²ΠΎΡ€ΠΎΠ½ΠΊΠΈ ΠΈΠ· MongoDB ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚: 1. Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ всС послСдниС вСрсии ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π²ΠΎΡ€ΠΎΠ½ΠΎΠΊ ΠΈΠ· Π‘Π” 2. БохраняСт ΠΈΡ… Π² JSON Ρ„Π°ΠΉΠ»Ρ‹ Π² `public/funnels/` 3. Π—Π°ΠΏΠ΅ΠΊΠ°Π΅Ρ‚ ΠΈΡ… Π² TypeScript (`src/lib/funnel/bakedFunnels.ts`) 4. БохраняСт JSON Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ #### ОсновноС использованиС: ```bash # Бинхронизация всСх Π²ΠΎΡ€ΠΎΠ½ΠΎΠΊ npm run sync:funnels # ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ справки npm run sync:funnels -- --help ``` #### ΠžΠΏΡ†ΠΈΠΈ: **`--dry-run`** - ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ синхронизировано Π±Π΅Π· Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ```bash npm run sync:funnels -- --dry-run ``` **`--clean-files`** - Π£Π΄Π°Π»ΠΈΡ‚ΡŒ JSON Ρ„Π°ΠΉΠ»Ρ‹ послС запСкания (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ): ```bash npm run sync:funnels -- --clean-files ``` **`--funnel-ids `** - Π‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²ΠΎΡ€ΠΎΠ½ΠΊΠΈ: ```bash npm run sync:funnels -- --funnel-ids funnel-test,ru-career-accelerator ``` **ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΉ:** ```bash npm run sync:funnels -- --dry-run --funnel-ids funnel-test npm run sync:funnels -- --clean-files --dry-run ``` ### πŸ”₯ `bake-funnels.mjs` ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ JSON Ρ„Π°ΠΉΠ»Ρ‹ Π²ΠΎΡ€ΠΎΠ½ΠΎΠΊ Π² TypeScript константы. ```bash npm run bake:funnels ``` ## Workflow ### Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° локально: 1. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ/Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΡ€ΠΎΠ½ΠΊΠΈ Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ 2. ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… 3. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ `npm run sync:funnels` для обновлСния ΠΊΠΎΠ΄Π° ### Π”Π΅ΠΏΠ»ΠΎΠΉ: 1. Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ `npm run sync:funnels` ΠΏΠ΅Ρ€Π΅Π΄ Π±ΠΈΠ»Π΄ΠΎΠΌ 2. Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²ΠΎΡ€ΠΎΠ½ΠΊΠ°ΠΌΠΈ ### ΠžΡ‚Π»Π°Π΄ΠΊΠ°: 1. `npm run sync:funnels -- --dry-run` - ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ синхронизировано 2. `npm run sync:funnels -- --keep-files` - ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ JSON Ρ„Π°ΠΉΠ»Ρ‹ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ 3. `npm run sync:funnels -- --funnel-ids specific-id` - ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Π²ΠΎΡ€ΠΎΠ½ΠΊΡƒ