@hs-x/hubspot
v0.2.7
Published
Thin wrap over @hubspot/sdk with install scoping, portal-schema typing, and rate-limiter integration.
Readme
@hs-x/hubspot
@hs-x/hubspot is HS-X's Worker-safe HubSpot client, a thin wrap over
@hubspot/sdk that adds the
things an HS-X app needs at runtime: install scoping, portal-schema typing, and
rate-limiter integration. It is what backend handler code talks to when it
reaches into a portal through ctx.hubspot.
You normally do not install this directly. It is a transitive dependency of
@hs-x/runtime, and the runtime
constructs install-scoped clients for you. Reach for it explicitly only if you
are building lower-level tooling against HubSpot's REST API from inside a
Worker:
bun add @hs-x/hubspotimport { createHubSpotClient } from "@hs-x/hubspot";
const hubspot = createHubSpotClient({ accessToken });What it provides
| Export | Purpose |
| --- | --- |
| createHubSpotClient(options) | A HubSpotClient (the @hubspot/sdk HubSpot surface) wired with a custom fetch, base URL, and the credentials the runtime supplies |
| createHttpClient(options) | A lower-level, host-restricted fetch wrapper; HttpHubSpotHostRejectedError guards against off-host calls |
| HubSpotApiError, isHubSpotSdkApiError, isHubSpotRateLimitError | Error classification for the runtime's rate limiter and retry logic |
| Typed request/response shapes | The operations HS-X drives directly: properties, object schemas, and card-view migration |
An ./effect subpath exposes the Effect-flavored, batching client the runtime
composes for queue-drained workflow actions:
import { createBatchingHubSpotClient } from "@hs-x/hubspot/effect";This package is Worker-safe (no Node built-ins). The dev-time developer-account
client for project upload, deploy, and dev sessions is the separate, Node-bound
@hs-x/hubspot-cli.
Part of HS-X
HS-X is a leaveable, type-safe HubSpot app framework on Cloudflare Workers.
Start with the CLI (npm i -g @hs-x/cli, then hs-x init myapp). See
@hs-x/cli and the docs at
hs-x.dev/docs.
License
Apache-2.0
