feat: consume @dnd-mapp/changelog from the public registry - #12
Conversation
Replaces the in-tree scripts/changelog copy with the published @dnd-mapp/changelog devDependency, drops the now-empty scripts workspace entry, and switches release-prepare.yml/release-publish.yml to `pnpm exec changelog`. The GitHub Packages .npmrc scope is removed since the package now resolves from npm's default public registry.
…e split scripts/changelog was the only workspace package with its own typecheck script, so `pnpm -r run typecheck` errors now that it's gone. The `-w`/`-r` split for tests and lint-ts existed for the same reason and collapses to a plain `pnpm run` now that the workspace has just the one package.
Existed to authenticate against GitHub Packages for scoped @dnd-mapp/* packages, which no longer applies now that @dnd-mapp/changelog is public.
dnd-mapp-bot
left a comment
There was a problem hiding this comment.
Standards
Missing CHANGELOG entry (hard). This PR changes CI/build setup that's copied into every newly scaffolded repo: .github/workflows/release-prepare.yml, release-publish.yml, .github/actions/ci/action.yml, pnpm-workspace.yaml, and package.json, plus removing .npmrc and the whole scripts/changelog/ folder. Yet CHANGELOG.md still shows only the empty ## [Unreleased] heading. Per Changelog Conventions, a template repo's consumer-facing scope explicitly includes "changed CI or build setup that's copied into the new repo" and "added/removed... scripts," and the entry belongs "in the same pull request as the change it describes."
No other hard Standards violations turned up. Commits follow Conventional Commits and are grouped by intent, and no new uses: lines were added, so the existing SHA-pinning convention isn't touched.
Spec
Checked against template-app-angular#55 (the direct spec) and its parent map #48.
- All four #55 asks are done for this repo:
@dnd-mapp/changelogadded as a devDependency- the
scripts/*workspace entry removed .npmrcdeleted- both release workflow call sites switched to
pnpm exec changelog
- Minor incompleteness:
.github/actions/prepare-workspace/action.yml'ssetup-nodestep still setsscope: '@dnd-mapp'. This is leftover from the GitHub Packages setup and is now dead, since noregistry-urlpairs with it and.npmrc's registry override is gone. It's harmless as a no-op, but it's the one loose thread from "delete or rewrite.npmrc... for the public registry" not fully carried through to its companion config. - For visibility, not a defect:
8acc020and6858ff3extend beyond #55's literal four-item list intopull-request.yml,push-main.yml, and.github/actions/ci/action.yml. Both look like direct, narrowly-scoped fallout of the migration rather than scope creep: droppingscripts/*breakspnpm -r run typecheck, and removing the GitHub Packages.npmrcscope makes thepackages: readpermission dead.
Summary: Standards: 1 finding (hard, missing CHANGELOG entry). Spec: 2 findings (1 minor incompleteness, 1 informational note). No missing or wrong core requirements.
Per review feedback on PR #12 — CI/build setup copied into scaffolded repos is consumer-facing for a template repository.
scope only takes effect alongside registry-url, which was never set here; it became dead once the GitHub Packages .npmrc override was removed.
|
Thanks for the review. Addressed both findings.
Also fixed an unrelated, pre-existing bug while in |
dnd-mapp-bot
left a comment
There was a problem hiding this comment.
Summary
Reviewed since main (merge-base) across Standards and Spec axes. The core migration is implemented cleanly. It:
- Swaps in-tree
scripts/changelogfor the published@dnd-mapp/changelogpackage. - Drops the
scripts/*workspace entry. - Switches release workflows to
pnpm exec changelog. - Removes the GitHub Packages
.npmrcoverride.
It matches template-app-angular#55 and the parent map #48. Two things below need a fix before merge; one is a minor, optional note.
Needs a fix
pnpm-workspace.yaml: orphaned commander catalog entry. scripts/changelog was commander's only catalog:default consumer, and this PR deletes it. pnpm-lock.yaml's own regenerated catalogs: section correctly dropped commander, since nothing resolves it via the workspace catalog anymore. (@dnd-mapp/changelog pins its own commander dependency in its own package.json, not through this workspace catalog.) But pnpm-workspace.yaml line 41 still declares commander: ~15.0.0, now dead and out of sync with the lockfile it's supposed to describe. Worth dropping alongside the rest of the scripts/changelog cleanup.
Missing CHANGELOG entries for CI/build changes. This repo's Changelog Conventions require a template repo's changelog to record "changed CI or build setup that's copied into the new repo." Beyond the @dnd-mapp/changelog package swap (documented), this PR also makes several undocumented CI/build changes:
- Removes the "Run typechecks" CI step.
- Collapses the
-w/-rlint-tsandtest-ciinvocations into a singlepnpm run. - Drops the
packages: readpermission frompull-request.ymlandpush-main.yml. - Drops the
scope: '@dnd-mapp'input fromprepare-workspace/action.yml.
These all ship into newly-scaffolded repos, and none are captured in CHANGELOG.md.
Minor / optional
Three commits (b86d2f7, 6858ff3, 8acc020) use fix(ci): for removing now-dead CI config rather than fixing broken behavior. GitHub Repository Conventions follows Conventional Commits, where fix is conventionally reserved for bug fixes. chore(ci): may read more accurately, though the dead config would eventually error on its own, so fix is defensible too. Judgement call, not blocking.
See inline comments on CHANGELOG.md and docs/agents/review-comments.md.
commander was only consumed by scripts/changelog, which this branch already deleted. The lockfile dropped it automatically, but pnpm-workspace.yaml's catalog still listed it as dead weight.
Folds the ### Added entry into ### Changed since nothing new was added for a template consumer: the changelog CLI's source just moved. Also records the CI/build changes shipped earlier in this branch that were missing changelog entries, per this repo's conventions for changes copied into scaffolded repos.
|
Thanks for the second pass. Addressed both blocking findings:
Left the |
dnd-mapp-bot
left a comment
There was a problem hiding this comment.
Code Review
Standards: No hard violations of documented conventions (SHA pinning, changelog format/categories, template consumer-facing scope, commit grouping by intent). Everything is clean there.
One judgement call: b86d2f7 ("fix(ci): drop the now-dead setup-node scope input") and 6858ff3 ("fix(ci): drop the dead packages:read permission") arguably read better as chore(ci). This config wasn't actually broken until earlier commits on this same branch made it dead. Conventional Commits doesn't strictly forbid either reading, so this is minor.
Spec: All four items requested in dnd-mapp/template-app-angular#55 are implemented:
@dnd-mapp/changelogadded as a devDependencyscripts/changelogremoved- the
scripts/*workspace entry dropped .npmrcremoved- both
release-prepare.yml/release-publish.ymlupdated topnpm exec changelog
The ~1.0.0 pin reasonably resolves the spec's open pin-policy question and stays consistent with this repo's existing catalog conventions. No missing or incorrectly-implemented requirements found.
|
Re: Leaving these as |
dnd-mapp-bot
left a comment
There was a problem hiding this comment.
Reviewed the changelog-migration diff against issue #55 and this repo's documented conventions (GitHub Repository Conventions, Changelog Conventions). Spec conformance looks complete: nothing missing, nothing implemented wrong. One small changelog-formatting note inline. No prior open threads from me on this PR to re-raise.
Changed now precedes Removed, matching the canonical category order.
dnd-mapp-bot
left a comment
There was a problem hiding this comment.
Reviewed the diff since main against this org's Standards (commit/CI/changelog conventions) and Spec (issue #55, part of map #48).
One finding below: docs/agents/review-comments.md looks like it's missing a CHANGELOG.md entry. Everything else checks out: the CI/workflow cleanup, pnpm-workspace.yaml catalog changes, and .npmrc removal all match spec and standards. I didn't find any implementation issues or unrequested scope beyond what earlier rounds on this PR already covered.
dnd-mapp-bot
left a comment
There was a problem hiding this comment.
Reviewed via /code-review (Standards + Spec axes) against main.
Standards: no hard violations. SHA-pinning doesn't apply (no new uses: entries added), and CHANGELOG.md uses only valid Keep a Changelog categories in canonical order. One nit with no single diff line to anchor to: b86d2f7, 6858ff3, and 8acc020 use fix(ci): for removing now-dead config (a permission, an input, a step) rather than fixing broken behavior. chore(ci): arguably fits "delete dead config" better, though Conventional Commits doesn't forbid fix here.
Spec (dnd-mapp/template-app-angular#55): every concrete ask is implemented, with nothing missing or wrong:
@dnd-mapp/changelogadded as a tilde-pinned devDependencyscripts/changelogand its workspace entry removed.npmrc's registry override deleted- all four
release-prepare.yml/release-publish.ymlcall sites switched to the installed CLI
Drop PR-specific phrasing from the review-comments entry and trim the duplicate migration framing between the Changed and Removed sections.
dnd-mapp-bot
left a comment
There was a problem hiding this comment.
Reviewed the migration from the in-tree scripts/changelog copy to the published @dnd-mapp/changelog package against issue #55.
All five requirements are implemented correctly:
@dnd-mapp/changelogadded as a devDependency with a catalog pinscripts/*fully removed from the workspace.npmrccleaned up- Both release workflows switched to
pnpm exec changelog
The CI permission, typecheck, and split cleanup goes slightly beyond the issue's literal text. It checks out as a genuine, disclosed consequence of the migration rather than scope creep. No standards violations found.
Nothing further to flag. The prior review round already caught and resolved the changelog-formatting and scope questions worth raising.
Summary
Switches this repo from the in-tree
scripts/changelogcopy to the published@dnd-mapp/changelogpackage (now on the public npm registry).pnpm-workspace.yamlgains a@dnd-mapp/changelogcatalog entry pinned~1.0.0, the now-emptyscripts/*workspace entry is dropped, andrelease-prepare.yml/release-publish.ymlcallpnpm exec changeloginstead ofnode scripts/changelog/index.ts. The.npmrcGitHub Packages scope override is removed since@dnd-mapp/changelognow resolves from npm's default public registry and no other@dnd-mapppackage is currently consumed via GitHub Packages.Verified locally:
pnpm exec changelog check/bump-levelrun correctly against the installed package, andformat-check/lint-mdpass with the deleted directory gone. This branch was cut fresh frommain, independent of the still-openfeat/rewrite-ci-for-npm-publish(PR #11).Related issues
Part of dnd-mapp/template-app-angular#55, itself part of the Extract scripts/changelog into a published npm package map.