Skip to content

api: build on lexicon 2.0.0 and start releasing @hypercerts-org/api - #48

Merged
kristoferlund merged 1 commit into
mainfrom
kristofer/tech-829-publish-the-first-version-of-hypercerts-orgapi-to-npm
Nov 3, 2026
Merged

kristoferlund merged 1 commit into
mainfrom
kristofer/tech-829-publish-the-first-version-of-hypercerts-orgapi-to-npm

Conversation

@kristoferlund

Copy link
Copy Markdown
Contributor

TECH-829. Moves the repository to the published @hypercerts-org/lexicon 2.0.0 and makes @hypercerts-org/api releasable, so its first version can go to npm.

What changes

  • Lexicon 2.0.0 for both packages. happyview-modules/ and packages/api/ pin @hypercerts-org/lexicon 2.0.0, and vendor/ (the packed pre-release tarball) is gone. 2.0.0 has the same Lexicons as 1.6.0: pnpm docs:sync changed only the pinned version strings, no schema snapshot. The server modules' validation is unchanged, so there is no changeset for them.
  • Same version on both sides. A new test fails if packages/api and happyview-modules pin different lexicon versions, so the client's record types always describe what the server validates.
  • Generator. Record imports point at @hypercerts-org/lexicon/<nsid path> instead of /records/<nsid path>. Top-level namespaces the tree re-exports (com, pub) come from the package root (export { com } from "@hypercerts-org/lexicon"), because 2.0 exports ./com/* but not ./com. Every path is now resolved through the lexicon package's exports rather than checked on disk, which is how this was caught: the type check failed, the generator had not.
  • Releasable. @hypercerts-org/api is no longer private or in the Changesets ignore list, and has a minor changeset for its first release (0.0.0 to 0.1.0).
  • Docs: the package README (install command, no more /records or vendored tarball), .changeset/README.md, and the changesets skill.

Before merging the Release PR

Merging this PR only updates the open Release PR. Publishing happens when that Release PR is merged, and needs a Trusted Publisher for @hypercerts-org/api on npmjs.com (repository hypercerts-org/api, workflow release.yml). If npm only allows that for an existing package, an owner of the @hypercerts-org scope publishes 0.1.0 by hand first.

The Release PR (#44) also carries the pending @hypercerts-org/happyview-modules 0.3.0 release, so merging it releases both.

Verification

  • packages/api: pnpm check (freshness, lint, format, typecheck, build, tests) and pnpm check:package (packs, installs with lexicon 2.0.0 from npm, Node import, TypeScript consumer, Vite bundle) pass.
  • happyview-modules: check:generated, lint:js, typecheck pass; test:unit passes except the Luacheck test, because Luacheck is not installed locally (CI has it).
  • Endpoint explorer tests pass.

…rcerts-org/api

- Both packages move to @hypercerts-org/lexicon 2.0.0 (same Lexicons as 1.6.0);
  vendor/ is gone, and a test checks that the client and the server modules
  pin the same version.
- The generator points record imports at the package root paths, re-exports
  top-level namespaces from the root, and resolves every path through the
  lexicon package's exports.
- @hypercerts-org/api is no longer private or ignored by Changesets, with a
  changeset for its first release (0.1.0).
@vercel

vercel Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
api-endpoints Ready Ready Preview Nov 3, 2026 8:30am UTC

Request Review

@changeset-bot

changeset-bot Bot commented Nov 3, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: ffa08d7

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@hypercerts-org/api Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai

coderabbitai Bot commented Nov 3, 2026

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 41748a2d-91ca-4992-8636-0b3f9f0bc4cf
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.

@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​hypercerts-org/​lexicon@​1.6.0 ⏵ 2.0.084 +2100100 +198 +1100

View full report

@sonarqubecloud

sonarqubecloud Bot commented Nov 3, 2026

Copy link
Copy Markdown

❌ The last analysis has failed.

See analysis details on SonarQube Cloud

@kristoferlund
kristoferlund merged commit e1fa43f into main Nov 3, 2026
7 of 8 checks passed
@kristoferlund
kristoferlund deleted the kristofer/tech-829-publish-the-first-version-of-hypercerts-orgapi-to-npm branch November 3, 2026 09:08
@hypercerts-release-bot hypercerts-release-bot Bot mentioned this pull request Nov 3, 2026

This branch was successfully deployed

1 active deployment
Preview — ffa08d73 Deployed Nov 3, 2026 by vercel[bot]
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