decap-cms-app README script-tag install is broken for React 19 — DCMS-001
- Dominant language
- JavaScript
- Stars
- 19.4k
- Forks
- 3.1k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 9
Description
**Promise** (`packages/decap-cms-app/README.md`): the "Install via script tag" section tells consumers to load React from unpkg UMD builds matching the package's own peer dependency range (`^19.1.0`, see `packages/decap-cms-app/package.json`):
```html
```
**Reality**: React 19 dropped UMD builds entirely — `react@19.1.0`'s published tarball contains no `umd/` directory (only `cjs/`, `jsx-runtime.js`, etc.), so both unpkg URLs 404. This isn't optional either: `scripts/webpack.js:120-124,151-153` externalizes every `peerDependencies` key to a global name for the `umd` build target, so `decap-cms-app`'s UMD bundle genuinely expects `window.React`/`window.ReactDOM` to exist — there's no working way to follow the documented script-tag instructions for the version the package itself requires.
This is a more specific, root-cause finding for the symptom already reported in #7878 (webpack/peer-dep warnings when bundling `decap-cms-app` with React 19) — that issue is about the bundler path; this one is about the README's own standalone script-tag example being dead on arrival for the exact peer version it names.
**Acceptance**:
- Pinning test/fixture (e.g. an HTML fixture or a CI check) asserting the react/react-dom URLs referenced in `decap-cms-app`'s README resolve to real UMD assets for the currently pinned peer dependency range, so a future peer-dep bump can't silently reintroduce a dead example.
- `typecheck`/`lint`/`test:unit` green.
Contributor guide
Assessment
This issue has not been assessed yet.