Skip to content

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

Description

@sempostma

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):

<script src="https://unpkg.com/react@^19/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@^19/umd/react-dom.production.min.js"></script>

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions