timarney/react-app-rewired
45.5
Weak · 2 October 2026
289
lines of production code
JavaScript
primary language
2
measurements over time
What this system is
This system is a configuration override tool for Create React App that enables users to customize webpack, Jest, and development server settings without ejecting. It provides CLI entry points and wrapper scripts that dynamically load modular overrides from a dedicated directory, allowing for flexible environment-specific adjustments. The tool ensures compatibility with modern React versions by handling configuration merging and JSX runtime detection.
Features
Add bin entry points for react-scripts commands and Jest integration
The project now includes executable scripts in the \bin\ directory to handle command-line interactions. \bin/index.js\ acts as the main entry point, routing CLI arguments (such as \build\, \start\, \test\, and \eject\) to the corresponding internal scripts while properly handling node arguments and process signals. Additionally, \bin/jest.js\ provides a specialized entry point for running tests, designed to work as a drop-in replacement for \react-scripts\ with WebStorm's test runner by stripping the \--config\ parameter and detecting IntelliJ-specific environments to set the \CI\ flag.
bin · high confidence
Customizable build, start, and test scripts via memory overrides
The project now provides wrapper scripts (build.js, start.js, test.js) that allow users to customize internal configuration without ejecting. These scripts load custom overrides for paths, webpack, dev server, and Jest configurations from the 'overrides' directory before invoking the original react-scripts commands, enabling flexible environment-specific adjustments.
scripts · high confidence
Behavioural changes
Config files now delegate to overrides
The configuration files in the config directory (paths, webpack, and webpackDevServer) have been updated to dynamically load their settings from the corresponding files in the overrides directory. This change allows users to customize the build and development server behavior by providing override files, rather than editing the core configuration directly.
config · high confidence
react-app-rewired v2.0 removes helper functions and introduces modular config overrides
This release updates the library for Create React App 2.0 compatibility by removing the legacy rewire helper functions (such as \compose\, \injectBabelPlugin\, and \getBabelLoader\), which now throw deprecation errors directing users to \customize-cra\. It introduces a new configuration structure in \config-overrides.js\ that supports an object export with distinct functions for \webpack\, \jest\, \devServer\, and \paths\, allowing users to customize testing, development server, and path configurations in addition to the standard webpack build. The default entry point (\index.js\) now exposes these deprecation warnings and the \paths\ utility, while the documentation has been updated to reflect the new setup instructions and alternative tools.
(repo-wide) · high confidence
Fixes
Fix Jest configuration merging and JSX transform support
The test runner now correctly handles Jest configuration overrides from package.json, ensuring that primitive values (booleans, numbers, strings) are properly overwritten rather than ignored, and that arrays and objects are merged as expected. Additionally, the Babel transformer for tests automatically detects and supports the new React JSX runtime, allowing tests to run correctly with modern React versions while remaining compatible with the classic runtime when needed.
scripts/utils · high confidence
Support for custom scripts-version and config-overrides CLI arguments
The overrides module now correctly handles the \--scripts-version\ and \--config-overrides\ command-line arguments when running tests. Previously, passing these arguments could cause the test script to fail because Create React App's internal config loader did not recognize them. The new implementation in \overrides/jest.js\ strips these custom arguments from the process arguments before invoking the original test script, while still applying the necessary configuration overrides in memory for webpack, paths, dev server, and Jest.
overrides · high confidence
Test coverage
Added a Create React App test environment; Added test suite for React application component.
Dependencies
Initial release of react-app-rewired v2.2.1
This change introduces the initial version (2.2.1) of the react-app-rewired package, which allows users to tweak Create React App webpack configurations without ejecting. The package defines a CLI binary (\react-app-rewired\) and lists \semver\ as a runtime dependency, while requiring \react-scripts\ version 2.1.3 or higher as a peer dependency. A test application (\test/react-app\) is also included to demonstrate usage, depending on \react-scripts\ 2.1.3 and \customize-cra\ 0.2.11.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 48 → 45 (-2.5)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 65 → 65 (+0.0)
- Architecture 69 → 69 (+0.0)
- Maturity 54 → 54 (+0.0)
- Readiness 40 → 31 (-9.3)
- Security 50 → 60 (+10.0)
Resolved (3)
- Dependency hygiene PARTLY measured — npm pinning read, dependency currency not (no pnpm-resolved versions to grade)
- Documentation: no installation or build instructions (README.md)
- High CVE: [GHSA redacted] (yarn.lock)
New (5)
- High CVE: [GHSA redacted] (yarn.lock)
- Outdated (npm): react
- Outdated (npm): react-dom
- Outdated (npm): react-scripts
- Outdated (npm): semver
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
timarney/react-app-rewired was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit bfe2390b92bb2f32864bdd09b1b6bbecdc261960 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.