Package Exports
- @ariestools/sdk
- @ariestools/sdk/api
- @ariestools/sdk/api/model
- @ariestools/sdk/array
- @ariestools/sdk/arraybuffer
- @ariestools/sdk/assert
- @ariestools/sdk/assert/model
- @ariestools/sdk/base
- @ariestools/sdk/base/model
- @ariestools/sdk/creatable
- @ariestools/sdk/creatable/model
- @ariestools/sdk/decimal-precision
- @ariestools/sdk/delay
- @ariestools/sdk/ellipsize
- @ariestools/sdk/enum
- @ariestools/sdk/enum/model
- @ariestools/sdk/error
- @ariestools/sdk/error/model
- @ariestools/sdk/events
- @ariestools/sdk/events/model
- @ariestools/sdk/exists
- @ariestools/sdk/fetch
- @ariestools/sdk/fetch/model
- @ariestools/sdk/forget
- @ariestools/sdk/forget/model
- @ariestools/sdk/function-name
- @ariestools/sdk/hex
- @ariestools/sdk/hex/model
- @ariestools/sdk/logger
- @ariestools/sdk/model
- @ariestools/sdk/object
- @ariestools/sdk/object/model
- @ariestools/sdk/package.json
- @ariestools/sdk/platform
- @ariestools/sdk/profile
- @ariestools/sdk/profile/model
- @ariestools/sdk/promise
- @ariestools/sdk/promise/model
- @ariestools/sdk/retry
- @ariestools/sdk/retry/model
- @ariestools/sdk/set
- @ariestools/sdk/static-implements
- @ariestools/sdk/storage
- @ariestools/sdk/storage/model
- @ariestools/sdk/telemetry
- @ariestools/sdk/telemetry-exporter
- @ariestools/sdk/telemetry/model
- @ariestools/sdk/timer
- @ariestools/sdk/typeof
- @ariestools/sdk/typeof/model
- @ariestools/sdk/url
Readme
@ariestools/sdk
All-in-one umbrella for the Aries Tools TypeScript/JavaScript utility libraries.
Import the whole SDK:
import { fetchJson } from '@ariestools/sdk'β¦or a single slice via a subpath export (tree-shaking-friendly β you only pay for what you import):
import { fetchJson } from '@ariestools/sdk/fetch'
import { assertEx } from '@ariestools/sdk/assert'
import type { ApiConfig } from '@ariestools/sdk/api/model'@xylabs/sdk remains published as a backward-compatibility re-export shim of this package.
Self-contained build
@ariestools/sdk is self-contained: its published dist/ vendors the compiled output of
each barreled package (under dist/_pkg/), with cross-package @xylabs/* imports rewritten
to relative paths. At runtime it depends only on the real externals
(async-mutex, zod, @opentelemetry/*), declared as peerDependencies. The individual
@xylabs/* packages are build-time inputs only (devDependencies).
The vendoring is performed by scripts/populate-dist.mjs,
wired into the toolchain via a local package-compile script in package.json. The
xy CLI defers to a package's own package-compile script during the compile emit
phase (the built-in still runs the --validate-only tsc pre-pass over src/). Because the
emit phase runs topologically over dependencies, every barreled package's dist/ is built
before this package vendors it. So the normal commands just work β no manual step:
pnpm xy build # compiles all packages, then vendors @ariestools/sdk
pnpm xy build @ariestools/sdk # vendors using the already-compiled sub-package distTo run the toolchain's built-in compile instead of this override (e.g. for debugging), pass
--no-defer. This mechanism is a local prototype; it is intended to move into
@xylabs/toolchain as a first-class compile mode (so the package-compile shim is no longer
needed).