CLI

CLI sitelo оборачивает встроенный Vite и автоматически подключает плагин HTML-страниц.

Команды

sitelo              # то же, что sitelo dev
sitelo dev          # сервер разработки
sitelo build        # продакшн-сборка
sitelo preview      # просмотр продакшн-сборки
sitelo lighthouse   # аудит продакшн-сборки

Отключить панель можно через devToolbar: false в sitelo.config.js — см. Конфигурацию.

Полезные флаги

sitelo --port 8888
sitelo build --outDir public --emptyOutDir
sitelo --root docs

Всё, что переиспользуется между командами, лучше держать в параметрах Vite в sitelo.config.js под ключом vite.

Поиск неиспользуемого кода

knip находит файлы, экспорты и зависимости, которые ничем не используются. В проекте sitelo ему нужна одна подсказка: страницы и острова обнаруживаются в файловой системе, поэтому их никто не импортирует, и без подсказки knip сообщит, что весь сайт — неиспользуемые файлы.

npm install -D knip
import { knipConfig } from 'sitelo/knip'

export default knipConfig()
npx knip

knipConfig() читает ваш sitelo.config.js и помечает страницы и острова как точки входа — так же, как их находит сборка: pagesDir, pageExtensions, include и exclude учитываются целиком. То, что остаётся в отчёте, — код, до которого сайт действительно никогда не доходит.

Одного он увидеть не может: клиентский скрипт, на который страница ссылается по URL, а не через импорт, например <script src="/js/app.js">. Такие перечислите сами, а рядом передайте любые другие настройки knip — они попадут в результат. Завершающий ! — это пометка knip для продакшн-кода, каковым и является скрипт, отправляемый в браузер.

export default knipConfig({
  entry: ['src/js/app.js!'], // то, что страницы подключают через <script src>
  ignore: ['legacy/**'], // и любые другие настройки knip
})