JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 15224
  • Score
    100M100P100Q123640F
  • License LGPL-3.0-only

All-in-one umbrella for the Aries Tools TypeScript/JavaScript utility libraries

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 dist

To 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).