chore(core): 0.8.0 — a minor, because a dependency moved the exported API - #168
Merged
Conversation
… API No source in this package changed, and that is exactly why the version has to. `personaProfileGet` returns `PersonaProfileGetResponsePayload`, imported straight from `@openvtc/trust-tasks` — the emitted `dist/admin/persona.d.ts` names the binding's module, not a local declaration. Taking 0.17.1 therefore retyped this package's own public API: `resolved` entries are `ResolvedClaim` rather than the pool `Attribute`, so `attributeId`, `version` and `updatedAt` are optional where they were required. A consumer reading any of the three as a plain `string`/`number` now fails to compile under `strictNullChecks`. That is the fix arriving rather than a regression — the members are absent on an `inline` entry, and code that assumed them was assuming a profile cannot hold one — but it is a break, and below 1.0 a break moves the minor. **A green build says nothing about whether the API held when the API belongs to a dependency.** This repo builds and tests clean on 0.16.11 and on 0.17.1 alike; nothing here compiles against the members that changed. The check that sees it is reading the emitted `.d.ts` and asking where each exported type is declared. Same hazard `cargo-semver-checks` has on the Rust side of the stack, in a language with no such tool at all. Dependents moved to `^0.8.0` (extension, pwa) and the lockfile with them. Verified as it would publish: `npm pack --dry-run` resolves 0.8.0 over 534 files with `dist/admin/persona.*` and `dist/persona/*` present. Signed-off-by: Glenn Gore <glenn.g@affinidi.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #167, which took
@openvtc/trust-tasks0.16.11 -> 0.17.1 and left@openvtc/pnm-coreat 0.7.0.Why this needs a version at all
No source in this package changed. That is exactly why the version has to move.
personaProfileGetreturnsPersonaProfileGetResponsePayload, imported straight from the binding — the emitteddist/admin/persona.d.tsnames@openvtc/trust-tasks/persona/profile/get/1.0/payload, not a local declaration. So taking 0.17.1 retyped this package's public API:resolvedentries areResolvedClaimrather than the poolAttribute, andattributeId,versionandupdatedAtare optional where they were required.A consumer reading any of the three as a plain
string/numbernow fails to compile understrictNullChecks. That is the fix arriving rather than a regression — the members are absent on aninlineentry, and code that assumed them was assuming a profile cannot hold one — but it is a break, and below 1.0 a break moves the minor.A green build says nothing about whether the API held when the API belongs to a dependency. This repo builds and tests clean on 0.16.11 and on 0.17.1 alike; nothing here compiles against the members that changed. The check that sees it is reading the emitted
.d.tsand asking where each exported type is declared. Same hazardcargo-semver-checkshas on the Rust side of the stack, in a language with no such tool at all.Changes
packages/core0.7.0 -> 0.8.0^0.8.0(extension, pwa) and the lockfile with them[0.8.0]heading, with a Migration note for the three membersVerification
npm run buildandnpm testgreen across the workspace (788 tests, 0 failures). Verified as it would publish:npm pack --dry-runresolves 0.8.0 over 534 files withdist/admin/persona.*anddist/persona/*present.