Прогрессивный React-фреймворк на базе Rsbuild с маршрутизацией, загрузкой данных, SSR и управлением состоянием для React-приложений.
timarney/react-app-rewired
Помогает настраивать webpack, Jest и dev-сервер Create React App с помощью config-overrides, не выполняя eject.
- Звёзды
- 9,836
- Форки
- 418
- Открытые issues
- 25
- Последний коммит
- в прошлом месяце
Что это?
react-app-rewired позволяет изменять конфигурацию webpack в проекте Create React App, не выполняя eject и не создавая форк react-scripts. Для этого в корне проекта нужно разместить файл config-overrides.js, экспортирующий функцию, которая получает конфигурацию webpack по умолчанию и возвращает изменённую. Добавить плагины, загрузчики и другие настройки сборки можно, отредактировав этот файл.
Кроме конфигурации webpack, через тот же файл можно настраивать Jest, dev-сервер webpack и используемые CRA пути. Настройки Jest также можно расширить в секции jest файла package.json, а плагины Babel для тестов задать в секции babel или файле .babelrc. Поддерживаются пользовательские форки react-scripts, например react-scripts-ts: для этого предусмотрен параметр командной строки.
Использование react-app-rewired означает отказ от гарантий поддержки, которые обычно предоставляет Create React App: теперь за изменённую конфигурацию отвечаете вы. В проекте отмечают, что он поддерживается лишь в ограниченном объёме, и перечисляют альтернативы: customize-cra, Rescripts и craco.
Ключевые возможности
- 01Расширяет конфигурацию webpack в CRA по умолчанию с помощью функции в config-overrides.js.
- 02Позволяет настраивать Jest, в том числе конфигурацию Babel для тестов.
- 03Позволяет переопределять конфигурацию dev-сервера webpack, например настраивать HTTPS-сертификаты.
- 04Поддерживает пользовательские пакеты react-scripts через параметр командной строки.
- 05Поддерживает использование каталога config-overrides или файла по пользовательскому пути.
Сценарии использования
- Добавление пользовательского плагина или загрузчика webpack в проект Create React App без eject.
- Настройка HTTPS-сертификатов для dev-сервера CRA.
- Изменение настроек Jest или плагинов Babel для тестов в приложении на CRA.
Быстрый старт
- 1
Установите react-app-rewired как зависимость для разработки
npm install react-app-rewired --save-dev - 2
Создайте config-overrides.js в корне проекта и экспортируйте функцию override
- 3
Измените npm-скрипты start, build и test, чтобы вместо react-scripts использовать react-app-rewired
- 4
Запустите сервер разработки
npm start
Что важно знать
- Проект поддерживается ограниченно, в основном силами сообщества; поддержка не предоставляется.
- Проект предназначен для Create React App 2.x с Webpack 4; для более старых версий CRA нужен релиз с зафиксированной версией 1.6.2.
- При настройке конфигурации ответственность за неё ложится на вас, и гарантии CRA могут перестать действовать.
Темы
Частые вопросы
- Что такое react-app-rewired?
- Помогает настраивать webpack, Jest и dev-сервер Create React App с помощью config-overrides, не выполняя eject. react-app-rewired позволяет изменять конфигурацию webpack в проекте Create React App, не выполняя eject и не создавая форк react-scripts. Для этого в корне проекта нужно разместить файл config-overrides.js, экспортирующий функцию, которая получает конфигурацию webpack по умолчанию и возвращает изменённую. Добавить плагины, загрузчики и другие настройки сборки можно, отредактировав этот файл.
- react-app-rewired можно использовать бесплатно? Какая у него лицензия?
- react-app-rewired распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- react-app-rewired всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в react-app-rewired — 3 окт. 2026 г..
- Для чего можно использовать react-app-rewired?
- Добавление пользовательского плагина или загрузчика webpack в проект Create React App без eject. Настройка HTTPS-сертификатов для dev-сервера CRA. Изменение настроек Jest или плагинов Babel для тестов в приложении на CRA.
- Как установить react-app-rewired?
- Установите react-app-rewired как зависимость для разработки: npm install react-app-rewired --save-dev Создайте config-overrides.js в корне проекта и экспортируйте функцию override Измените npm-скрипты start, build и test, чтобы вместо react-scripts использовать react-app-rewired Запустите сервер разработки: npm start
- Где скачать react-app-rewired?
- Исходный код и инструкции по установке — на GitHub: https://github.com/timarney/react-app-rewired
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Быстрый веб-бандлер на Rust с совместимым с webpack API, способный заменить webpack в существующих проектах.
Плагин для webpack и CLI, который показывает содержимое бандла в виде интерактивной масштабируемой древовидной карты и помогает найти самые объёмные модули.
Лёгкий набор утилит для тестирования React DOM: он позволяет находить элементы и взаимодействовать с компонентами так, как это делают пользователи.
Самостоятельно размещаемое веб-приложение для быстрого обмена файлами между устройствами: управление несколькими пользователями, возобновляемая передача и доступ к общим папкам по QR-коду.
Система сборки и инструмент для рабочих пространств, которые помогают организовать код JavaScript/TypeScript в переиспользуемые компоненты — от разработки до CI и деплоя.