Skip to content

Сборка и CI: роутинг фавиконок, прогресс оптимизации, ignore-scripts#101

Open
meritt wants to merge 6 commits into
masterfrom
feature/build-and-ci
Open

Сборка и CI: роутинг фавиконок, прогресс оптимизации, ignore-scripts#101
meritt wants to merge 6 commits into
masterfrom
feature/build-and-ci

Conversation

@meritt

@meritt meritt commented Jun 11, 2026

Copy link
Copy Markdown
Member

Ишьи:

  • Починить нерабочий роутинг фавиконки и вебманифеста #87
    Корневые *.ico и *.webmanifest вынесены в PATHS_TO_ROOT_STATIC; новый таск copyRootStatic кладёт их в build/ — в dev отдаются через baseDir, без перекрытия собранного scripts/index.js. Чинит сломанный роутинг: в startServer регулярка не срезала /*.ico, и dir оставался глобом.

  • Для задачи оптимизации картинок прикрутить прогресс-бар #34
    Хелпер logProgress (Transform из node:stream) в optimizeRaster и optimizeVector пишет строки Готово N/total: файл через process.stdout.write.

  • Игнорировать скрипты в CI #67
    Статический import sharp заменён на динамический await import() внутри optimizeRaster (таск стал async на stream.pipeline — async-таск нельзя return stream, gulp дождётся только промиса). check.yml: npm ci --ignore-scripts. Деплой-воркфлоу: плюс npm rebuild esbuild (билду нужен бинарник esbuild; sharp в билде не используется, lightningcss работает через prebuilt optional deps).

@firefoxic

Copy link
Copy Markdown
Contributor

Для второго пункта сейчас я бы уже посоветовал вообще избавиться от тасок оптимизации растра и вектора. А вместо этого в npm-скриптах завести скрипт, в котором через npx используется моя тулза https://npmx.dev/package/@firefoxic/optimize, в которой есть всё, что надо для оптимизации графики для фронтенда, включая генерацию фавиконок из пары svg. Ну а для тяжёлой операции — конвертация растра — прогресс-бар тоже имеется)

Лишнее это в галпфайле, как по мне)

@meritt

meritt commented Jun 11, 2026

Copy link
Copy Markdown
Member Author

@firefoxic это потребует переработки материалов курса, а это сильно оттянет всё. На будущее дело хорошее, как и в принципе миграция с галпа. Единственное я попробую всё-таки свежую sharp притащить в проект, так как зависимости сидят на старой.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants