Single publishable npm package aggregating @hcengineering/* foundation
packages (core, api-client, account-client, query, tracker, chunter, contact,
card, chat, task, document, rank, tags, client, client-resources).
cd dev/api
node scripts/build-bundle.js
cd bundle
npm install
npx tsc
npm pack
# => intabia-fusion-api-<version>.tgzConfiguration: dev/api/config.yml (roots, partials, exclude scope).
Each push/PR produces a bundle artifact. To grab it:
- Open the repo on GitHub -> Actions tab.
- Pick a green
CIrun ondevelop(or your branch/PR). - Scroll to the Artifacts section at the bottom.
- Download
intabia-fusion-api-bundle-> unzip -> you getintabia-fusion-api-<version>.tgz.
Via gh CLI:
gh run list --workflow=CI --branch=develop --limit=1
gh run download <run-id> -n intabia-fusion-api-bundle -D ./tarballsOr filter latest successful run:
RUN_ID=$(gh run list --workflow=CI --branch=develop --status=success \
--limit=1 --json databaseId -q '.[0].databaseId')
gh run download "$RUN_ID" -n intabia-fusion-api-bundle -D ./tarballsPut the tarball somewhere in your repo (e.g. tarballs/), then reference it:
{
"dependencies": {
"@intabia-fusion/api": "file:tarballs/intabia-fusion-api-1.0.0.tgz"
}
}Install:
npm installSub-path exports mirror package names:
import { connect } from '@intabia-fusion/api/api-client'
import core, { type Ref } from '@intabia-fusion/api/core'
import tracker, { type Issue } from '@intabia-fusion/api/tracker'
import { LiveQuery } from '@intabia-fusion/api/query'Drop the new .tgz over the old one (same filename) and:
rm -rf node_modules package-lock.json
npm cache clean --force
npm installnpm caches tarballs by name@version, so either bump the version in
dev/api/bundle/package.json before packing, or clean the cache as above.
See platform-examples/platform-api
for REST and WebSocket (LiveQuery) usage.