Problem
The published 12.0.0-beta.2 tarball does not type-check in a clean NodeNext consumer with skipLibCheck: false.
The failure reproduces under TypeScript 5.9 and TypeScript 6.0.
DOMStack-owned declaration errors include:
lib/build-pages/page-builders/html/index.d.ts: Cannot find name 'T'
lib/build-pages/page-builders/md/index.d.ts: Cannot find name 'T'
The generated htmlBuilder and mdBuilder return types reference T without declaring it.
The public declaration graph also exposes declaration errors from cpx2, and TypeScript 5.9 reports an additional Markdown declaration incompatibility.
The repository's skipLibCheck: true setting masks these failures in the current suite.
Proposed fix
- Correct or remove the leaked concrete-builder generic.
- Avoid exposing implementation-only dependency types through the public declaration graph where practical.
- Add a release test that runs
npm pack, installs the tarball in a clean fixture, and runs tsc with NodeNext resolution and skipLibCheck: false.
Acceptance criteria
- Root imports from
@domstack/static compile in a clean consumer.
- Public type imports from
@domstack/static/types.js compile in a clean consumer.
- The packed artifact is tested rather than only the source checkout.
Problem
The published
12.0.0-beta.2tarball does not type-check in a clean NodeNext consumer withskipLibCheck: false.The failure reproduces under TypeScript 5.9 and TypeScript 6.0.
DOMStack-owned declaration errors include:
The generated
htmlBuilderandmdBuilderreturn types referenceTwithout declaring it.The public declaration graph also exposes declaration errors from
cpx2, and TypeScript 5.9 reports an additional Markdown declaration incompatibility.The repository's
skipLibCheck: truesetting masks these failures in the current suite.Proposed fix
npm pack, installs the tarball in a clean fixture, and runstscwith NodeNext resolution andskipLibCheck: false.Acceptance criteria
@domstack/staticcompile in a clean consumer.@domstack/static/types.jscompile in a clean consumer.