Files
gsap-carousel/config/build/buildResolvers.ts
Ilia Mashkov 1376a20c90 feat: модульная конфигурация webpack с React 19 и TypeScript 5
- Создана модульная архитектура webpack конфигурации в config/build/
- Настроены loader'ы: Babel, TypeScript, CSS/SCSS, File, SVGR
- Добавлены плагины: HtmlWebpackPlugin, MiniCssExtractPlugin, ReactRefresh, BundleAnalyzer
- Настроен dev-сервер с HMR и поддержкой SPA роутинга
- Добавлена полная JSDoc документация на русском языке
2025-11-19 10:08:33 +03:00

37 lines
1.5 KiB
TypeScript

import webpack from 'webpack'
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'
*/
export function buildResolvers(options: BuildOptions): webpack.ResolveOptions {
return {
extensions: ['.tsx', '.ts', '.js'],
preferAbsolute: true,
modules: [options.paths.src, 'node_modules'],
mainFiles: ['index'],
alias: {},
}
}