Skip to content

Package hygiene: per-package LICENSE, engines, tsbuildinfo out of dist, dep fixes (#42)#47

Open
davidcrowe wants to merge 1 commit into
mainfrom
fix/package-hygiene
Open

Package hygiene: per-package LICENSE, engines, tsbuildinfo out of dist, dep fixes (#42)#47
davidcrowe wants to merge 1 commit into
mainfrom
fix/package-hygiene

Conversation

@davidcrowe

Copy link
Copy Markdown
Collaborator

Fixes #42. Class-level packaging defects across the 13 published packages.

  • LICENSE shipped in zero tarballs. Every package.json lists "LICENSE" in files, but the file existed only at repo root — npm only auto-includes LICENSE from the package dir, so every tarball claimed MIT and shipped none. Added a per-package LICENSE (copy of root) and ensured LICENSE (+ README.md where present) is in each files list. npm pack --dry-run now shows LICENSE in the tarball.
  • tsconfig.tsbuildinfo shipped in dist of the 10 packages that set tsBuildInfoFile: dist/… — a dead dev file in every tarball. Moved it to the package root (outside the files whitelist), so it no longer ships. Verified no *.tsbuildinfo remains in any dist.
  • No engines field anywhere — added "node": ">=18" to all published packages.
  • Missing prepublishOnly build on request-context / observability-core (stale-dist publish risk) — added where a build script exists.
  • proxyabl pinned request-context exactly (0.0.6) — loosened to ^0.0.6 so a request-context patch doesn't force a proxyabl republish.
  • identifiabl declared unused jose@^5 — source/dist never import it (only a stale doc comment did), and it caused a dual-jose install. Dropped.

npm run build clean · full suite 159 green · npm pack --dry-run verified (LICENSE in, tsbuildinfo out).

Out of scope (flagged, not done here)

  • The transformabl facade range ^0.3.0^0.4.1 is handled in the 0.4.1 release PR transformabl-core 0.4.1: redactPii overlap fix (H4) + scan-truncation flag (M2) #45 (doing it here too would conflict).
  • The four declared-but-unused deps in the "badge-padding" item live in gatewaystack-connect (the prod repo), not this repo.
  • Noted for a follow-up: packages/explicabl-core/ contains the package named @gatewaystack/observability-core — a directory/name mismatch.

Versions not bumped — publish/versioning is your step (OTP). Not merged.

…t, dep fixes (#42)

Class-level packaging defects from the 2026-07-23 sweep, across the 13
published packages.

- **LICENSE shipped in zero tarballs.** Every package.json lists "LICENSE" in
  `files`, but the file existed only at repo root — npm only auto-includes
  LICENSE from the package dir, so every tarball claimed MIT and shipped no
  license. Added a per-package LICENSE (copy of root) and ensured "LICENSE"
  (and README.md where present) is in each `files` list. `npm pack --dry-run`
  now shows LICENSE in the tarball.
- **tsconfig.tsbuildinfo shipped in dist** of the 10 packages that set
  `tsBuildInfoFile: dist/...` — a dead dev file in every tarball. Moved it to
  the package root (`tsconfig.tsbuildinfo`), which is outside the `files`
  whitelist, so it no longer ships. Verified no *.tsbuildinfo remains in any
  dist. (Already covered by .gitignore, so none get tracked.)
- **No `engines` field anywhere** despite ESM-only + global-fetch reliance.
  Added `"node": ">=18"` to all published packages.
- **request-context / observability-core had no prepublishOnly build** —
  stale-dist publish risk. Added `prepublishOnly: npm run build` wherever a
  build script exists but the hook was missing.
- **proxyabl pinned request-context exactly** (`0.0.6`) while identifiabl uses
  `^` — a future request-context patch would force a proxyabl republish.
  Loosened to `^0.0.6`.
- **identifiabl declared unused `jose@^5`** — its source/dist never import jose
  (only a stale doc comment referenced it), and it caused a dual-jose install
  (5.x hoisted + 6.x under core). Dropped it.

Build clean, full suite 159 green.

Out of scope here (flagged): the transformabl facade range ^0.3.0 -> ^0.4.1 is
handled in the 0.4.1 release PR (#45). The four declared-but-unused deps in the
"badge-padding" item live in gatewaystack-connect (the prod repo), not here.
Also noted: packages/explicabl-core/ contains the package NAMED
@gatewaystack/observability-core — a dir/name mismatch worth a follow-up.
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.

Package hygiene: per-package LICENSE, transformabl facade range, dead deps, tsbuildinfo, engines

1 participant