diff --git a/.changeset/fresh-pears-smoke.md b/.changeset/fresh-pears-smoke.md deleted file mode 100644 index 4d9ac49..0000000 --- a/.changeset/fresh-pears-smoke.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@btravstack/di": patch ---- - -Fix `TS4020` in consumers that export a port. `export class OrderRepository extends -Port("OrderRepository") {}` — the pattern the README teaches — could not emit -declarations: the emitter had no name for the heritage expression's type, so it expanded -down to `PortInstance`'s module-private `unique symbol` brands and reported "has or is -using private name 'ID'". `PortClass` and `ManyPortClass` are now exported as types, which -gives the emitter a name to stop at. The brand symbols themselves stay unexported, so port -identity remains nominal and a port instance remains unforgeable. diff --git a/packages/di/CHANGELOG.md b/packages/di/CHANGELOG.md new file mode 100644 index 0000000..cd32132 --- /dev/null +++ b/packages/di/CHANGELOG.md @@ -0,0 +1,13 @@ +# @btravstack/di + +## 0.1.1 + +### Patch Changes + +- 6384640: Fix `TS4020` in consumers that export a port. `export class OrderRepository extends +Port("OrderRepository") {}` — the pattern the README teaches — could not emit + declarations: the emitter had no name for the heritage expression's type, so it expanded + down to `PortInstance`'s module-private `unique symbol` brands and reported "has or is + using private name 'ID'". `PortClass` and `ManyPortClass` are now exported as types, which + gives the emitter a name to stop at. The brand symbols themselves stay unexported, so port + identity remains nominal and a port instance remains unforgeable. diff --git a/packages/di/package.json b/packages/di/package.json index 3111416..aa7ac6e 100644 --- a/packages/di/package.json +++ b/packages/di/package.json @@ -1,6 +1,6 @@ { "name": "@btravstack/di", - "version": "0.1.0", + "version": "0.1.1", "description": "A module-based dependency-injection container for TypeScript: ports as the vocabulary an application defines, providers bound at one edge, and modules that declare their imports and exports", "keywords": [ "container",