Found while working on the record-change trigger for #14744 (PR #15475); unrelated to that fix and deliberately not carried in it.
What
Two published packages declare a repository.directory that no longer exists in this repository:
| package |
repository.directory declares |
package actually lives at |
@objectstack/trigger-record-change |
packages/plugins/plugin-trigger-record-change |
packages/triggers/trigger-record-change |
@objectstack/trigger-schedule |
packages/plugins/plugin-trigger-schedule |
packages/triggers/trigger-schedule |
Both are the residue of the move from packages/plugins/plugin-trigger-* to packages/triggers/trigger-*: the directory on disk moved, the manifest field did not.
Why it matters
repository.directory is what npm uses to build the "Repository" deep link on a package page and what tooling uses to locate a monorepo package's source from its tarball. Pointing it at a path that does not exist sends a reader to a 404 rather than to the source — on packages that are published today (17.3.0).
Measured
Derived programmatically over every tracked packages/**/package.json, on origin/main at 17172f1c5:
- 57 packages declare
repository.directory
- 55 match the manifest's own path
- 2 do not, listed above
The check is one comparison of repository.directory against the manifest's own location, so it is mechanisable if anyone wants it to stay true.
Not in scope for the PR that found it
PR #15475's declared write surface is packages/triggers/trigger-record-change/src/** plus a changeset, and this is packaging metadata in a different defect class — filed rather than carried, per the repo's scope discipline. Unassigned and untriaged.
Generated by Claude Code
Found while working on the record-change trigger for #14744 (PR #15475); unrelated to that fix and deliberately not carried in it.
What
Two published packages declare a
repository.directorythat no longer exists in this repository:repository.directorydeclares@objectstack/trigger-record-changepackages/plugins/plugin-trigger-record-changepackages/triggers/trigger-record-change@objectstack/trigger-schedulepackages/plugins/plugin-trigger-schedulepackages/triggers/trigger-scheduleBoth are the residue of the move from
packages/plugins/plugin-trigger-*topackages/triggers/trigger-*: the directory on disk moved, the manifest field did not.Why it matters
repository.directoryis what npm uses to build the "Repository" deep link on a package page and what tooling uses to locate a monorepo package's source from its tarball. Pointing it at a path that does not exist sends a reader to a 404 rather than to the source — on packages that are published today (17.3.0).Measured
Derived programmatically over every tracked
packages/**/package.json, onorigin/mainat17172f1c5:repository.directoryThe check is one comparison of
repository.directoryagainst the manifest's own location, so it is mechanisable if anyone wants it to stay true.Not in scope for the PR that found it
PR #15475's declared write surface is
packages/triggers/trigger-record-change/src/**plus a changeset, and this is packaging metadata in a different defect class — filed rather than carried, per the repo's scope discipline. Unassigned and untriaged.Generated by Claude Code