Skip to content

Commit a573de5

Browse files
authored
Remove legacy TypeScript 1.x packages (#383)
* Remove legacy TypeScript packages * Fix wrapper optional dependency lockfile entries * Coerce search limit for Node SDK binding * Remove stale README migration context
1 parent 7f40303 commit a573de5

194 files changed

Lines changed: 931 additions & 58692 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
name: CI
22

3-
# Build + test the full workspace on every PR and on every push to main.
4-
# Catches the failure mode where a syntactically-broken file lands on main
5-
# undetected because publish.yml only runs on workflow_dispatch — e.g. the
6-
# unescaped backticks in archive.ts's SCHEMA_SQL template literal that
7-
# slipped past review and broke `tsc` for everyone downstream.
3+
# Build + test the Rust workspace and remaining npm wrappers on every PR and
4+
# on every push to main.
85

96
on:
107
pull_request:
@@ -37,20 +34,13 @@ jobs:
3734
- name: Install deps
3835
run: pnpm install --frozen-lockfile
3936

40-
# `tsc --build` walks every package in the workspace and is the gate
41-
# for parse-level failures. Run it as its own step so a syntax error
42-
# surfaces clearly in the failure summary instead of being lumped in
43-
# with test output.
44-
- name: Build workspace
45-
run: pnpm -r run build
37+
- name: Build npm wrappers
38+
run: pnpm -r --if-present run build
4639

47-
- name: Run tests
40+
- name: Run npm tests
4841
run: pnpm run test
4942

5043
cargo-build-and-test:
51-
# Sibling job to build-and-test: as the Rust port (#240) lands crate by
52-
# crate, the Cargo workspace lives alongside the TS workspace. Run this
53-
# job in parallel with the TS job so neither tree blocks the other.
5444
runs-on: ubuntu-latest
5545
steps:
5646
- name: Checkout

.github/workflows/cli-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: cli build
22

33
# Build prebuilt `burn` binaries for every platform we publish to npm under
4-
# `@relayburn/cli-*`. PRs validate the matrix; the cutover publish workflow
4+
# `@relayburn/cli-*`. PRs validate the matrix; the publish workflow
55
# (`.github/workflows/publish.yml`) calls this workflow via `workflow_call`
66
# to produce the binaries it then stages into per-platform packages.
77
#

.github/workflows/napi-build.yml

Lines changed: 3 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,6 @@ jobs:
120120
- name: Install workspace deps
121121
run: pnpm install --frozen-lockfile
122122

123-
- name: Install packages/sdk-node deps
124-
# `packages/sdk-node` is intentionally excluded from the pnpm
125-
# workspace until the 2.0 cutover (see pnpm-workspace.yaml), so
126-
# `pnpm install` at the root won't pull its devDependencies
127-
# (`@napi-rs/cli`, `esbuild`). `--ignore-workspace` makes pnpm
128-
# treat this directory as a standalone project and install into
129-
# `packages/sdk-node/node_modules/` directly.
130-
working-directory: packages/sdk-node
131-
run: pnpm install --ignore-workspace --no-frozen-lockfile
132-
133123
- name: Lockstep Cargo.toml to release version
134124
# When invoked via the publish workflow, sed the workspace
135125
# `[workspace.package].version` (and the path-dep `version = "X.Y"`
@@ -204,28 +194,9 @@ jobs:
204194
working-directory: packages/sdk-node
205195
run: node --test 'test/esbuild-smoke.test.js'
206196

207-
- name: Build TS workspace (for conformance step)
208-
# Conformance imports `packages/sdk/index.js` (the TS 1.x SDK), which
209-
# imports `@relayburn/{ledger,analyze,ingest,reader}`. Those packages
210-
# ship as `dist/index.js` so they need a `tsc --build` pass before
211-
# they can be required at runtime. The matrix runs `pnpm install` at
212-
# the root above, but no build — flip that here so the conformance
213-
# step's TS-side import resolves cleanly.
214-
#
215-
# Skipped on the aarch64-linux leg: that leg cross-compiles on an
216-
# x64 host, so `node` (the runner's interpreter) cannot load the
217-
# arm64 `.node` artifact we just built. Building the TS workspace
218-
# is wasted work on that leg too — the conformance step below is
219-
# also gated off there.
220-
if: matrix.target != 'aarch64-unknown-linux-gnu'
221-
run: pnpm run build
222-
223-
- name: Conformance test (TS @relayburn/sdk@1.x vs napi-rs @2.0.0-pre)
224-
# The conformance suite seeds a deterministic ledger via
225-
# `tests/fixtures/cli-golden/scripts/build-ledger.mjs`, runs each of
226-
# the 7 verbs against both impls into matched tmp homes, and asserts
227-
# `deepStrictEqual`. With α (#354) shape-conformant, this gate is
228-
# the acceptance test for #247.
197+
- name: Native SDK smoke test
198+
# The suite runs the Node facade against the committed cli-golden
199+
# ledger and checks stable result shapes for the exported verbs.
229200
#
230201
# Skipped on the aarch64-linux leg: that leg is a CROSS-COMPILE
231202
# (host=ubuntu-latest x64, target=aarch64-unknown-linux-gnu), so
@@ -239,10 +210,6 @@ jobs:
239210
# and exercise the same conformance contract; this leg's job is
240211
# purely to validate the cross-compile build + artifact upload.
241212
#
242-
# If conformance fails on a verb, the failure is α follow-up scope —
243-
# see the test header for the seeding strategy and the
244-
# `tests/fixtures/cli-golden/ledger/.gitignore` note about the
245-
# JSONL→SQLite replay the Rust SDK requires.
246213
if: matrix.target != 'aarch64-unknown-linux-gnu'
247214
working-directory: packages/sdk-node
248215
env:

.github/workflows/publish.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,9 @@ concurrency:
4848
group: publish-${{ github.ref }}
4949
cancel-in-progress: false
5050

51-
# 2.0 cutover (epic #240) target shape:
51+
# Publish target shape:
5252
#
53-
# TS-only umbrellas (3):
53+
# npm umbrellas (3):
5454
# - relayburn packages/relayburn/
5555
# - @relayburn/sdk (napi) packages/sdk-node/
5656
# - @relayburn/mcp packages/mcp/
@@ -59,11 +59,10 @@ concurrency:
5959
# - @relayburn/cli-<short> packages/relayburn/npm/<short>/ (Rust burn binary)
6060
# - @relayburn/sdk-<short> packages/sdk-node/npm/<short>/ (napi-rs .node)
6161
#
62-
# Total: 11 npm packages. The five legacy TS packages
62+
# Total: 11 npm packages. The five legacy TypeScript implementation packages
6363
# (`@relayburn/{reader,ledger,analyze,ingest,cli}`) are intentionally not
6464
# in the publish loop — `npm deprecate` for those is a manual post-cutover
65-
# step. Their source dirs stay (they back the conformance fixture seeder
66-
# and the cli-golden suite).
65+
# step.
6766
#
6867
# crates.io still ships exactly two crates (`relayburn-sdk` + `relayburn-cli`).
6968

.github/workflows/verify-publish.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: Verify Publish
33
# Manually triggered smoke test against the npm registry — run after a
44
# Publish Packages workflow completes. Installs the just-published package into
55
# a clean environment and exercises it enough to catch "published but broken"
6-
# failures (bin missing +x, workspace:* deps not rewritten, missing exports,
6+
# failures (bin missing +x, missing exports, optional dependency resolution,
77
# etc.).
88

99
on:
@@ -17,7 +17,6 @@ on:
1717
options:
1818
- 'relayburn'
1919
- '@relayburn/sdk'
20-
- '@relayburn/mcp'
2120
version:
2221
description: 'Version to verify (defaults to the "latest" dist-tag)'
2322
required: false

0 commit comments

Comments
 (0)