Skip to content

chore(packages): prepare retirement publish for jarl-react-redux and jarl-react-native - #89

Open
randomdevpete wants to merge 1 commit into
masterfrom
task-530-retire-jarl-react-redux-and-native-packages
Open

chore(packages): prepare retirement publish for jarl-react-redux and jarl-react-native#89
randomdevpete wants to merge 1 commit into
masterfrom
task-530-retire-jarl-react-redux-and-native-packages

Conversation

@randomdevpete

Copy link
Copy Markdown
Owner

Summary

Prepare minimal packages for official retirement of jarl-react-redux and jarl-react-native on npm. Both packages had their source removed from the monorepo in 72c0ba0 but continue to exist on npm at 1.0.0-beta.4 (last modified 2022-05-06) with no deprecation notice.

This PR recreates each as a code-free package containing only package.json, README.md and LICENSE.md, explains the retirement and links users to the v2 alternatives (jarl-atoms and jarl-react). Both packages are added to the root workspaces and package-lock.json is regenerated.

Version choice: 1.0.1

Both packages publish as 1.0.1 rather than continuing the prerelease line at 1.0.0-beta.5. Reasoning:

  • 1.0.0-beta.5 continues the existing prerelease sequence but creates naming confusion: jarl-react also published 1.0.0-beta.5, so matching that across packages reads as simultaneous releases when they're not.
  • 1.0.1 marks a clear semantic move: even a code-free publish is a genuine release (a deprecation marker), not a continuation of the experimental prerelease cycle. It sorts after the beta line and before any future v2 prerelease on these packages (unlikely but clearer if it happens).

Deprecation fields

Each package.json carries a deprecated field:

"deprecated": "Retired: superseded by jarl-react and jarl-atoms. See https://jarl.randomdev.co.uk"

When published to npm, this surfaces an installation-time warning to any user still installing these packages. The README explains the retirement; the deprecated field makes it visible.

Outstanding for the owner

Merging this PR does not publish anything to npm — that requires explicit manual action. Once the PR merges, run these commands to complete the retirement:

cd packages/jarl-react-redux
npm publish --access public
npm deprecate jarl-react-redux@1.0.1 "Retired: superseded by jarl-react and jarl-atoms. See https://jarl.randomdev.co.uk"

cd ../jarl-react-native
npm publish --access public
npm deprecate jarl-react-native@1.0.1 "Retired: superseded by jarl-react and jarl-atoms. See https://jarl.randomdev.co.uk"

(Optional: if earlier prerelease versions should also be deprecated, run npm deprecate <package>@<version> <message> for each.)

Auto-publish safety verification

Merging this PR will NOT trigger an automatic npm publish. Evidence:

  1. .releaserc.json npm plugin allowlist: The semantic-release config has explicit pkgRoot entries for only packages/jarl-atoms and packages/jarl-react. The new deprecated packages are not listed, so they are never touched by semantic-release.

  2. CI workflow release job guard: The release job in .github/workflows/ci.yml runs ONLY when:

    • Event type is workflow_dispatch (manual trigger)
    • The release input is explicitly ticked
    • Branch is master or beta

    It never runs automatically on a push to master.

Style guide compliance

No exceptions. The READMEs follow area 4 (human-facing docs) rules: clear, concise prose; no padding or marketing fluff; descriptions of current state; links to actual resources. The package.json files are minimal with no cruft. British English throughout. LICENSE.md files match the original MIT text from packages/jarl-react/LICENSE.md.

…jarl-react-native

Both packages' source was already dropped from the monorepo in 72c0ba0;
npm still serves their code-bearing 1.0.0-beta.4. Recreate each as a
minimal package (package.json + README + LICENSE, no code) explaining
the retirement and pointing at jarl-atoms/jarl-react, ready for OWNER
to publish and deprecate by hand.

Add both to the root workspaces array and regenerate package-lock.json.
Neither is added to .releaserc.json's npm plugin list, so semantic-release
continues to publish only jarl-atoms and jarl-react.

Ticket: 530
@randomdevpete
randomdevpete force-pushed the task-530-retire-jarl-react-redux-and-native-packages branch from 5e0d9cf to 79927e6 Compare August 19, 2026 00:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant