Skip to content

feat(fastingest): new module for jetstream fast-ingest#40

Merged
aricart merged 6 commits into
mainfrom
add-fastingest
May 8, 2026
Merged

feat(fastingest): new module for jetstream fast-ingest#40
aricart merged 6 commits into
mainfrom
add-fastingest

Conversation

@aricart
Copy link
Copy Markdown
Collaborator

@aricart aricart commented Apr 29, 2026

Summary

  • new orbit module fastingest re-exports startFastIngest, FastIngest, FastIngestOptions, FastIngestProgress from @nats-io/jetstream/internal
  • requires NATS server 2.14.0+ + stream w/ allow_batched: true
  • deps pinned to 3.4.0-2 (latest prerelease)
  • mirrors counters/muxsub layout (package.json, deno.json, tsconfig, src/mod.ts, tests)
  • integration test uses @nats-io/nst@^3.4.0-2 (published peer test tooling) — spawns a real nats-server via setup/cleanup/notCompatible. Avoids vendoring test_helpers
  • ci.yml installs nats-server via aricart/install-binary@v2.0.0, gated to matrix.module == 'fastingest'
  • README.md utilities table updated

Drive-by infra bumps (separate commit)

  • @types/node ^24.12.2 -> ^25.6.2 across all modules (matches nats.js)
  • release.yml node-version 24.x -> 25.x
  • ci.yml + release.yml deno-version 2.6.x -> 2.7.x
  • lockfiles regenerated

Test plan

  • deno test passes locally for all 4 modules (nats-server 2.14.0-RC.3 in path)
  • npm run build passes locally for all 4 modules
  • CI matrix runs fastingest tests w/ install-binary action
  • dry-run release dispatch for fastingest after merge

new orbit module surfaces startFastIngest + FastIngest types
from @nats-io/jetstream/internal as stable orbit surface while
the API is still internal upstream. mirrors counters layout.
deps pinned to @nats-io/jetstream 3.4.0-0 (prerelease).
ci.yml + release.yml updated to include fastingest.
aricart added 2 commits May 7, 2026 20:03
bump deps to @nats-io/nats-core/jetstream 3.4.0-2 (matches nst).
add @nats-io/nst + @nats-io/transport-deno to deno imports.
tests/connect.ts registers transport-deno connect with nst.
basics_test uses setup/cleanup/notCompatible against a real
nats-server (fast-ingest needs 2.14+, demo.nats.io is 2.12).
@types/node ^24.12.2 -> ^25.6.2 across all modules (matches nats.js).
release.yml node-version 24.x -> 25.x to match.
ci.yml + release.yml deno-version 2.6.x -> 2.7.x (latest stable).
ci.yml gains aricart/install-binary@v2.0.0 for nats-server, gated to
matrix.module == 'fastingest' (only one needing real server).
Copy link
Copy Markdown

@mtmk mtmk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@aricart aricart merged commit 45acffc into main May 8, 2026
14 of 15 checks passed
@aricart aricart deleted the add-fastingest branch May 8, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants