# dilanx/craco

Create React App Configuration Override, an easy and comprehensible configuration layer for Create React App.

Repository: https://github.com/dilanx/craco
Canonical: https://ross.abutalabs.com/products/craco
Homepage: https://craco.js.org
Language: TypeScript
License: Apache-2.0
License Family: permissive
Topics: react, create-react-app, cra, configuration, customization
Last push: 2023-12-29T01:00:10+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 2880, "days_push": 979, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7416, forks 483 (observed 2026-08-28T04:09:59.753288+00:00)

## What it is
CRACO (Create React App Configuration Override) is a configuration layer for Create React App that lets you customize Webpack, Babel, ESLint, PostCSS, Jest, and dev server settings without ejecting. It works via a single craco.config.js file at the project root and a CLI that wraps react-scripts commands, plus a plugin API.

## Use cases
- customize webpack config in create-react-app without ejecting
- add babel plugins or presets to a CRA project
- override eslint or postcss settings in CRA
- customize jest config in a create-react-app app
- avoid ejecting while keeping CRA project structure
- share CRA customizations as reusable craco plugins

## When to choose
- you use Create React App 5 and need config changes beyond CRA's supported options
- you want CRA's simplicity but need to tweak webpack, babel, or jest
- you want to avoid the maintenance burden of an ejected CRA project

## When to avoid
- you have ejected your CRA project and manage configs directly
- you're starting a new project - modern toolchains like Vite or Next.js are better supported
- you need support for older CRA versions or want actively maintained tooling, since CRA itself is deprecated

## Facets
- artifact type: library
- maturity: maintenance
- function: build-tool, configuration-management, developer-tools
- domain: web-development, frontend, developer-tools
- platform: -
- tags: create-react-app, webpack, babel, eslint, postcss, no-eject, react-scripts, plugin-api, nodejs, javascript, web-server

## Member repositories
- dilanx/craco (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:59.753288+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:37:46.816774+00:00, confidence not recorded.
  - readme: https://github.com/dilanx/craco (fetched 2026-08-28T04:09:59.753288+00:00, sha 52471fdc5a38)
  - homepage: https://craco.js.org (fetched 2026-08-29T08:33:36.391973+00:00, sha df02edaff67a)
  - site_page: https://craco.js.org/docs (fetched 2026-08-29T08:33:36.400784+00:00, sha 18abb6c448b1)
  - site_page: https://craco.js.org/docs/getting-started (fetched 2026-08-29T08:33:36.402652+00:00, sha 3be33e7bfc36)
  - site_page: https://craco.js.org/docs/configuration/getting-started (fetched 2026-08-29T08:33:36.404239+00:00, sha 3449b085e467)
  - site_page: https://craco.js.org/docs/configuration-api (fetched 2026-08-29T08:33:36.407166+00:00, sha ca49e75b66e4)
  - site_page: https://craco.js.org/docs/plugin-api/getting-started (fetched 2026-08-29T08:33:36.409199+00:00, sha 485dfadae618)
- Data as of 2026-08-30T08:39:29.467469+00:00.
