Skip to content

chore: align repo scaffolding with the package standard - #51

Merged
TheGreatAxios merged 4 commits into
cl-9382-mailbox-switch-to-oxfmt-and-oxlintfrom
cl-9398-mailbox-align-repo-scaffolding-with-the-package-standard
Sep 27, 2026
Merged

TheGreatAxios merged 4 commits into
cl-9382-mailbox-switch-to-oxfmt-and-oxlintfrom
cl-9398-mailbox-align-repo-scaffolding-with-the-package-standard

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Closes CL-9398

Summary

  • LICENSE replaced with Interchange's LGPL-2.1 text (was the FSF text). CLA.md and the CLA Assistant workflow (cla.yml, signatures on a cla-signatures branch) added; CONTRIBUTING links the CLA.
  • package.json: dropped main/types (exports covers Node and Bun), added engines bun >=1.2.0 alongside node >=24, test runs bun test src --pass-with-no-tests, test:e2e runs bun test e2e, and a check script; key order is oxfmt's sortPackageJson order.
  • tsconfig.json and tsconfig.build.json use the shared templates (adds noUncheckedIndexedAccess, exactOptionalPropertyTypes, noImplicitOverride, moduleDetection). Fixes for what they surfaced:
    • src/migrations.ts: ssl: config.ssl ?? false instead of a possibly undefined ssl (the driver's default)
    • src/frame.test.ts: chain[2]! for an index that always exists
    • e2e/sse-stream.test.ts: sets heartbeatIntervalMs on the deps only when the test passes one
    • e2e/sse.test.ts: readUntil takes Pick<ReadableStreamDefaultReader<Uint8Array>, "read">, and e2e/helpers.ts lets as/jsonAs infer their Headers type (the Node and Bun global types disagree under the new flags)
  • .gitignore replaced with the shared template.
  • test.yml replaced by the standard ci.yml: checkout v5, Node 24, Postgres 16 on port 5432, bun run check, bun run test:e2e, then packs the tarball and imports createMailboxRoutes and runMailboxMigrations under Node. The e2e/helpers.ts default MAILBOX_TEST_DATABASE_URL moves from port 5433 to 5432 to match.
  • CONTRIBUTING cut from 107 to 25 lines (Development, CLA line, Postgres setup, Migrations, Commit messages). The design rules from CONTRIBUTING and ARCHITECTURE.md (ownership boundaries, seams, dual-write, caps, SSE limits) move into a new AGENTS.md, and ARCHITECTURE.md is deleted. README badges removed.
  • CONTRIBUTING gets a Releasing section: releases are manual, as in Interchange (npm version, push tags, gh release create --generate-notes, npm publish).
  • CHANGELOG.md removed; GitHub Releases track changes.

Commits

  1. chore: use the Interchange LICENSE text and add the CLA
  2. build: align package.json and tsconfig with the package standard
  3. ci: run check and a Node pack smoke
  4. docs: trim CONTRIBUTING, add AGENTS.md, drop ARCHITECTURE.md

Checks

bun run build, check (46 tests; the migration and write unit tests use Postgres), test:e2e (113 tests, local Postgres) and the Node pack-and-import smoke pass locally. On a cold database the first test:e2e run once hit bun's 5s hook timeout in e2e/isolation-and-purge.test.ts; reruns pass.

@TheGreatAxios
TheGreatAxios added this pull request to stack #50 September 26, 2026 03:10
@TheGreatAxios
TheGreatAxios force-pushed the cl-9398-mailbox-align-repo-scaffolding-with-the-package-standard branch from a0e0c9b to d34a346 Compare September 26, 2026 04:12
@TheGreatAxios
TheGreatAxios force-pushed the cl-9398-mailbox-align-repo-scaffolding-with-the-package-standard branch from d34a346 to 0840e16 Compare September 27, 2026 00:45
@TheGreatAxios
TheGreatAxios force-pushed the cl-9398-mailbox-align-repo-scaffolding-with-the-package-standard branch from 0840e16 to 510bc15 Compare September 27, 2026 01:23
@TheGreatAxios
TheGreatAxios merged commit 8a1ac54 into main Sep 27, 2026
2 checks passed
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