From fb5a5a16bc255e859a79d0f57e262e6489874980 Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Wed, 19 Nov 2025 10:10:16 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BB=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/build/buildDevServer.ts | 6 +++--- config/build/buildLoaders.ts | 4 ++-- config/build/buildResolvers.ts | 10 +++++----- config/build/loaders/buildBabelLoader.ts | 6 +++--- config/build/loaders/buildCssLoader.ts | 8 ++++---- config/build/loaders/buildFileLoader.ts | 8 ++++---- config/build/loaders/buildSvgrLoader.ts | 8 ++++---- config/build/loaders/buildTypescriptLoader.ts | 6 +++--- 8 files changed, 28 insertions(+), 28 deletions(-) diff --git a/config/build/buildDevServer.ts b/config/build/buildDevServer.ts index db9e313..0da6316 100644 --- a/config/build/buildDevServer.ts +++ b/config/build/buildDevServer.ts @@ -4,17 +4,17 @@ 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 diff --git a/config/build/buildLoaders.ts b/config/build/buildLoaders.ts index 715bd74..6f43be8 100644 --- a/config/build/buildLoaders.ts +++ b/config/build/buildLoaders.ts @@ -9,7 +9,7 @@ import { BuildOptions } from './types/config' /** * Собирает все webpack loaders в единый массив - * + * * Порядок loaders важен! Webpack применяет их справа налево (снизу вверх). * Текущий порядок: * 1. fileLoader - обрабатывает изображения и шрифты @@ -17,7 +17,7 @@ import { BuildOptions } from './types/config' * 3. babelLoader - транспилирует JS/JSX/TSX с React Refresh * 4. typescriptLoader - компилирует TypeScript * 5. cssLoader - обрабатывает CSS/SCSS с модулями - * + * * @param {BuildOptions} options - Опции сборки * @param {boolean} options.isDev - Флаг режима разработки * @returns {webpack.RuleSetRule[]} Массив правил для webpack diff --git a/config/build/buildResolvers.ts b/config/build/buildResolvers.ts index e7a04d4..b1b43a3 100644 --- a/config/build/buildResolvers.ts +++ b/config/build/buildResolvers.ts @@ -4,24 +4,24 @@ import { BuildOptions } from './types/config' /** * Конфигурация разрешения модулей для webpack - * + * * Определяет, как webpack будет искать и разрешать импорты модулей. - * + * * Настройки: * - extensions: автоматически разрешает указанные расширения файлов * - preferAbsolute: предпочитает абсолютные пути относительным * - modules: директории для поиска модулей * - mainFiles: имена файлов по умолчанию при импорте директории * - alias: алиасы для упрощения импортов (можно расширить) - * + * * @param {BuildOptions} options - Опции сборки * @param {BuildPaths} options.paths - Пути проекта * @returns {webpack.ResolveOptions} Конфигурация resolve для webpack - * + * * @example * // Благодаря extensions можно писать: * import Component from './Component' // вместо './Component.tsx' - * + * * // Благодаря mainFiles можно писать: * import utils from './utils' // вместо './utils/index.ts' */ diff --git a/config/build/loaders/buildBabelLoader.ts b/config/build/loaders/buildBabelLoader.ts index dd437b1..0f0bbad 100644 --- a/config/build/loaders/buildBabelLoader.ts +++ b/config/build/loaders/buildBabelLoader.ts @@ -1,12 +1,12 @@ /** * Конфигурация Babel loader для webpack - * + * * Обрабатывает файлы JavaScript, JSX и TSX с помощью Babel. * В режиме разработки включает React Refresh для горячей перезагрузки компонентов. - * + * * @param {boolean} isDev - Флаг режима разработки * @returns {Object} Конфигурация babel-loader - * + * * @example * const babelLoader = buildBabelLoader(true) * // Возвращает loader с React Refresh для разработки diff --git a/config/build/loaders/buildCssLoader.ts b/config/build/loaders/buildCssLoader.ts index 3d0cefb..f575bec 100644 --- a/config/build/loaders/buildCssLoader.ts +++ b/config/build/loaders/buildCssLoader.ts @@ -2,16 +2,16 @@ import MiniCssExtractPlugin from 'mini-css-extract-plugin' /** * Конфигурация CSS/SCSS loader для webpack - * + * * Обрабатывает файлы .css, .scss и .sass с поддержкой CSS модулей. * В режиме разработки использует style-loader для инъекции стилей в DOM. * В режиме production использует MiniCssExtractPlugin для извлечения CSS в отдельные файлы. - * + * * CSS модули автоматически включаются для файлов с паттерном *.module.* - * + * * @param {boolean} isDev - Флаг режима разработки * @returns {Object} Конфигурация css-loader с поддержкой SCSS и CSS модулей - * + * * @example * // Для файла Button.module.scss будут применены CSS модули * // Для файла global.scss CSS модули не применяются diff --git a/config/build/loaders/buildFileLoader.ts b/config/build/loaders/buildFileLoader.ts index aadb130..5de56d3 100644 --- a/config/build/loaders/buildFileLoader.ts +++ b/config/build/loaders/buildFileLoader.ts @@ -1,15 +1,15 @@ /** * Конфигурация file-loader для webpack - * + * * Обрабатывает статические файлы: изображения и шрифты. * Копирует файлы в директорию сборки и возвращает публичный URL. - * + * * Поддерживаемые форматы: * - Изображения: .png, .jpg, .jpeg, .gif * - Шрифты: .woff, .woff2 - * + * * @returns {Object} Конфигурация file-loader - * + * * @example * import logo from './logo.png' * // logo будет содержать путь к файлу в сборке diff --git a/config/build/loaders/buildSvgrLoader.ts b/config/build/loaders/buildSvgrLoader.ts index 6ddb93a..71b9ad9 100644 --- a/config/build/loaders/buildSvgrLoader.ts +++ b/config/build/loaders/buildSvgrLoader.ts @@ -1,15 +1,15 @@ /** * Конфигурация SVGR loader для webpack - * + * * Преобразует SVG файлы в React компоненты. * Позволяет импортировать SVG как обычные React компоненты с возможностью * управления их свойствами (цвет, размер и т.д.) через props. - * + * * @returns {Object} Конфигурация @svgr/webpack loader - * + * * @example * import Logo from './logo.svg' - * + * * function App() { * return * } diff --git a/config/build/loaders/buildTypescriptLoader.ts b/config/build/loaders/buildTypescriptLoader.ts index 6cbdee7..41ac83d 100644 --- a/config/build/loaders/buildTypescriptLoader.ts +++ b/config/build/loaders/buildTypescriptLoader.ts @@ -1,11 +1,11 @@ /** * Конфигурация TypeScript loader для webpack - * + * * Компилирует TypeScript файлы (.ts, .tsx) в JavaScript. * Выполняет проверку типов во время сборки. - * + * * @returns {Object} Конфигурация ts-loader - * + * * @example * // Обрабатывает файлы: * // - Component.tsx