decaporg / decaporg/decap-cms

decap-cms-app README script-tag install is broken for React 19 — DCMS-001

Open
#7,882 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.