fix: Исправлены ошибки линтера
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
*/
|
||||
|
||||
@@ -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 для разработки
|
||||
|
||||
@@ -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 модули не применяются
|
||||
|
||||
@@ -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 будет содержать путь к файлу в сборке
|
||||
|
||||
@@ -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 <Logo width={100} height={100} fill="red" />
|
||||
* }
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/**
|
||||
* Конфигурация TypeScript loader для webpack
|
||||
*
|
||||
*
|
||||
* Компилирует TypeScript файлы (.ts, .tsx) в JavaScript.
|
||||
* Выполняет проверку типов во время сборки.
|
||||
*
|
||||
*
|
||||
* @returns {Object} Конфигурация ts-loader
|
||||
*
|
||||
*
|
||||
* @example
|
||||
* // Обрабатывает файлы:
|
||||
* // - Component.tsx
|
||||
|
||||
Reference in New Issue
Block a user