Skip to content

chore(dependencies): add @observerly/astrometry as the one runtime dependency in @observerly/orderly - #68

Merged
michealroberts merged 1 commit into
mainfrom
chore/dependencies/allow-astrometry
Sep 6, 2026
Merged

michealroberts merged 1 commit into
mainfrom
chore/dependencies/allow-astrometry

Conversation

@michealroberts

@michealroberts michealroberts commented Sep 6, 2026 •

Copy link
Copy Markdown
Member

What This Changes

  • Adds @observerly/astrometry 0.69.0, pinned exactly, as orderly's one runtime dependency, ahead of the sunrise and sunset schedules that will be built on it. It is observerly's own library and carries no runtime dependencies of its own: the only entry in its manifest is the types-only @types/geojson, which ships no code.
  • Teaches the dependency guard about it. scripts/guard-dependencies.ts now holds an allowlist of exactly that one name; any other entry under dependencies still fails pnpm lint:package, in CI and locally alike, and a dependencies key that is not a plain object of names is refused rather than read as nothing.
  • Updates the README promise. The intro now reads "Zero third-party runtime dependencies" and the Requirements section names the one runtime dependency, its own lack of runtime dependencies, and the guard that fails the package checks should another ever appear.

Notes For Reviewers

  • Nothing imports astrometry yet. This PR is the dependency and the guarantee around it only; the first import arrives with sunrise() and will carry the rolldown external entry so the library is never bundled into dist.
  • The guard is a Node script run by pnpm lint:package, not a workerd test. It was verified against four scratch manifests: no dependencies key and astrometry alone pass; a stranger name and a malformed dependencies value fail with a message naming the offender. The workerd suite (45 files, 621 tests) passes unchanged with the dependency installed, and publint and attw stay clean.
  • The guard lives under scripts/, which is never shipped, so its node:fs and node:process imports do not reach the published package.
  • The changeset is minor: a consumer installing orderly now pulls one more package, which is a visible change to the install even though the public API is untouched.

Checklist

  • Tests cover the change, and run inside workerd
  • A changeset is included, or the change is not one a consumer would notice
  • No Node built-ins were introduced

@michealroberts
michealroberts force-pushed the chore/dependencies/allow-astrometry branch from da84209 to aa7b520 Compare September 6, 2026 21:20
@michealroberts michealroberts changed the title chore(dependencies): allow @observerly/astrometry as the one runtime dependency in @observerly/orderly chore(dependencies): add @observerly/astrometry as the one runtime dependency in @observerly/orderly Sep 6, 2026
@michealroberts
michealroberts merged commit 7224b5d into main Sep 6, 2026
6 checks passed
@michealroberts michealroberts mentioned this pull request Sep 14, 2026
3 tasks done
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