- Архитектура SLM: провайдеры перенесены в infrastructure/mantine, стили в shared/styles - SVG-спрайты: переход на @gromlab/svg-sprites, добавлен preload в layout - Стили: переменные и брейкпоинты приведены к базовому набору стайлгайда (rem, Mobile First) - PostCSS: добавлены postcss-custom-media, postcss-nesting, autoprefixer, @csstools/postcss-global-data - tsconfig: исправлен алиас shared/* → ./src/shared/* - Удалены app/styles/, app/providers/, scripts/create-svg-sprite.js, public/img/sprites/ - README переписан на SLM-архитектуру - Добавлены иконки: clipboard-tick, doctor, people, symptom
2.7 KiB
2.7 KiB
Next.js Template
Шаблон проекта на Next.js, построенный по стайлгайду.
Стек
- Next.js 16 — фреймворк
- React 19 / TypeScript 5 — UI и типизация
- Mantine UI 8 — компоненты
- Zustand 5 — глобальное состояние
- SWR 2 — получение данных
- PostCSS Modules — стили
- Biome — линтер и форматтер
- clsx — конкатенация CSS-классов
Архитектура
Проект использует SLM Design — модульную архитектуру с вертикальной организацией домена.
src/
├── app/ # Роутинг Next.js и точка входа приложения
├── layouts/ # Каркасы страниц (header, footer, sidebar)
├── screens/ # Контент конкретных страниц
├── widgets/ # Составные блоки интерфейса, не привязанные к домену
├── business/ # Бизнес-домены (auth, catalog, orders)
├── infrastructure/ # Техсервисы (theme, i18n, API-адаптеры)
├── ui/ # UI-кит без бизнес-логики
└── shared/ # Общие ресурсы (утилиты, типы, стили, спрайты)
Зависимости идут строго сверху вниз: app → [layouts | screens] → widgets → business → infrastructure → ui → shared.
Подробнее: Архитектура SLM.
Быстрый старт
npx tiged git@gromlab.ru:templates/nextjs.git my-app
cd my-app
npm install
npm run dev
Генерация кода
Модули создаются из шаблонов .templates/:
npx @gromlab/create module auth src/business
npx @gromlab/create widget header src/widgets
npx @gromlab/create layout admin src/layouts
npx @gromlab/create screen profile src/screens
npx @gromlab/create module button src/ui
npx @gromlab/create store auth src/shared
Скрипты
| Команда | Описание |
|---|---|
npm run dev |
Запуск dev-сервера |
npm run build |
Сборка для продакшена |
npm run start |
Запуск продакшен-сервера |
npm run lint |
Проверка кода (Biome) |
npm run format |
Форматирование кода (Biome) |
npm run sprite |
Генерация SVG-спрайтов |