Skip to content

Modernization 4/4: Move migrated TypeScript js-stellar-base into the repo #1387

@Ryang-21

Description

@Ryang-21

Part of the js-stellar-sdk modernization epic.

Depends on: Task 3 (Rollup build).

Goal

Absorb the migrated TypeScript js-stellar-base source (currently staged under src/base/) as first-class in-repo code.

Scope

  • Promote src/base/ to a permanent subpath, exposed via @stellar/stellar-sdk/base (or re-exported from the root as today).
  • Move js-stellar-base unit tests into test/unit/base/ and wire them into the existing Vitest runs.
  • Remove the @stellar/stellar-base dependency from package.json.
  • Rewrite internal imports (src/horizon/, src/rpc/, src/contract/, src/webauth/, etc.) to reference the in-repo base module directly instead of the published package.
  • Update TypeScript path mappings, export maps, and Rollup entry points so base is buildable as both a subpath export and as part of the root bundle.
  • Document the vendoring in CONTRIBUTING.md and note in CHANGELOG.md that @stellar/stellar-base is no longer a separate runtime dependency.

Acceptance

  • @stellar/stellar-base removed from dependencies.
  • All call sites import from the in-repo path; no dual imports remain.
  • Published package contains base types and runtime; consumers can import { Keypair } from '@stellar/stellar-sdk' with no extra install.
  • Full test suite (base + sdk) runs in one Vitest invocation.

Risks

  • Downstream projects pinning @stellar/stellar-base directly will need a migration note in release notes.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Needs Review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions