feat: модульная конфигурация webpack с React 19 и TypeScript 5

- Создана модульная архитектура webpack конфигурации в config/build/
- Настроены loader'ы: Babel, TypeScript, CSS/SCSS, File, SVGR
- Добавлены плагины: HtmlWebpackPlugin, MiniCssExtractPlugin, ReactRefresh, BundleAnalyzer
- Настроен dev-сервер с HMR и поддержкой SPA роутинга
- Добавлена полная JSDoc документация на русском языке
This commit is contained in:
Ilia Mashkov
2025-11-19 09:59:39 +03:00
commit 1376a20c90
12 changed files with 493 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
import { Configuration as DevServerConfiguration } from 'webpack-dev-server'
import { BuildOptions } from './types/config'
/**
* Конфигурация webpack-dev-server для режима разработки
*
* Настраивает локальный сервер разработки с поддержкой:
* - Hot Module Replacement (HMR) - горячая перезагрузка модулей
* - History API Fallback - поддержка клиентского роутинга (SPA)
* - Автоматическое открытие браузера
*
* @param {BuildOptions} options - Опции сборки
* @param {number} options.port - Порт для запуска сервера (по умолчанию 3000)
* @param {boolean} options.open - Автоматически открывать браузер при запуске
* @returns {DevServerConfiguration} Конфигурация webpack-dev-server
*
* @example
* // Запуск: pnpm dev
* // Сервер будет доступен на http://localhost:3000
*/
export function buildDevServer(options: BuildOptions): DevServerConfiguration {
const { port, open } = options
return {
port,
open,
historyApiFallback: true,
hot: true,
}
}