@hcengineering/* 0.7.423 still missing TypeScript declarations despite PR #10768
Problem
Published tarballs of @hcengineering/* packages at version 0.7.423 (published 2026-05-10) still ship without types/*.d.ts files, despite PR #10768 having been merged on 2026-04-15.
Evidence
$ npm pack @hcengineering/[email protected]
$ tar -tzf hcengineering-core-0.7.423.tgz | grep -c "\.d\.ts$"
0 # zero .d.ts files
$ npm pack @hcengineering/[email protected]
$ tar -tzf hcengineering-core-0.7.19.tgz | grep -c "\.d\.ts$"
20+ # types/ directory present in older release| Version | Files in tarball | .d.ts files |
|---|---|---|
@hcengineering/[email protected] |
230 | yes |
@hcengineering/[email protected] |
157 | none |
package.json in 0.7.423 still declares "types": "types/index.d.ts", but the file is not in the tarball, so TypeScript consumers get TS7016: Could not find a declaration file for module '@hcengineering/core'.
Context
- PR #10768 added the
Emit TypeScript declarationsstep (rush validate) topublish-npm.ymland was merged intodevelop(commitcc9c8b87). - The
gitHeadof 0.7.423 isa00c0135(commit "Bump version" on 2026-05-10), which is 426 commits ahead of the PR #10768 merge commit — so the fix is in the publishing source tree. - The current
publish-npm.ymlondevelopstill has theEmit TypeScript declarationsstep. So either:rush validateis silently failing inside that step (no error surfaced); orsafe-publish.jsis invokingnpm publishfrom a stage wheretypes/has been cleaned/not yet generated; or- The 0.7.423 publish was kicked off through a different path that bypasses the workflow.
Affected packages (all 0.7.411+, sampled):
@hcengineering/core@hcengineering/account-client@hcengineering/api-client@hcengineering/tracker@hcengineering/task@hcengineering/card@hcengineering/contact@hcengineering/calendar@hcengineering/text,@hcengineering/text-markdown- (probably all
@hcengineering/*packages published from this monorepo)
Impact
Downstream TypeScript consumers (Huly MCP servers, custom integrations, the official huly-examples repo) cannot consume any @hcengineering/* version newer than 0.7.382 without manually shimming declarations. This blocks adoption of cards processes, associations, automation, user statuses, time service, and every other feature added since 0.7.382.
Suggested fix
- Trigger the
publish-npm.ymlworkflow again and verifyEmit TypeScript declarationsactually producestypes/index.d.tsfor at least@hcengineering/corebeforesafe-publish.jsruns. - If a silent failure is suspected, add
ls -la <package>/types/index.d.ts || (echo "::error::types/ missing" && exit 1)between validate and publish to fail loudly. - Re-publish as
0.7.424with declarations intact.
Happy to verify the result by re-installing in our consumer project once a new version is up.
Source: hcengineering/platform