Skip to content

fix: ship Octane Table source - #6480

Merged
KevinVandy merged 3 commits into
betafrom
agent/ship-octane-source
Jul 31, 2026
Merged

fix: ship Octane Table source#6480
KevinVandy merged 3 commits into
betafrom
agent/ship-octane-source

Conversation

@KevinVandy

@KevinVandy KevinVandy commented Jul 31, 2026

Copy link
Copy Markdown
Member

What changed

  • publish @tanstack/octane-table from its authored TypeScript and TSRX source
  • remove client/server dist entrypoints, tsdown, and compiled type-finalization plumbing
  • restore the focused declaration entry and TSRX declaration sidecars for TypeScript consumers
  • update generated API docs, package guidance, skills artifacts, and Knip configuration for source distribution

Why

The Octane compiler is tightly coupled to its runtime and produces target-specific development and production output. Shipping authored TSRX lets each consuming application compile the adapter for its own Octane runtime and client or server target instead of coupling consumers to precompiled adapter output.

Validation

  • full pnpm test across 393 workspace projects
  • 41 Octane adapter client tests and 1 SSR test
  • all Octane example typechecks and production builds
  • Knip, Sherif, ESLint, strict Publint, documentation links, and skills tests
  • packed package contains authored source and no dist or source maps

Summary by CodeRabbit

  • New Features

    • Expanded package-level exports for table utilities, subscriptions, hooks, context, types, and TanStack Table core.
    • Published package metadata now supports authored TypeScript and TSRX sources for target-specific compilation.
  • Documentation

    • Updated installation, quick-start, skills, and API references to reflect the authored-source workflow.
    • Improved links to source definitions and clarified TSRX declaration behavior.
  • Examples

    • Updated Octane examples to use the latest Octane Store release.

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Octane-table now publishes authored TypeScript/TSRX with source-based exports and declarations. Octane guidance and API links reference authored sources. Examples and workspace release-age exclusions use octane-store 0.12.1.

Changes

Octane authored-source distribution

Layer / File(s) Summary
Package source contract
packages/octane-table/package.json, packages/octane-table/src/*, knip.json
Package exports and declaration sidecars now target authored source modules. The declaration barrel re-exports the table APIs. Knip entries match the updated package surface.
Octane compilation and API guidance
_artifacts/*, docs/framework/octane/*, docs/installation.md, packages/octane-table/skills/getting-started/SKILL.md, scripts/generateDocs.js
Guidance and documentation now describe authored TypeScript/TSRX compilation and link to source declaration files.
Octane store version alignment
examples/octane/*/package.json, pnpm-workspace.yaml
Octane examples and the workspace release-age exclusion now use @tanstack/octane-store 0.12.1.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: alemtuzlak

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the main change: publishing Octane Table from its authored source.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/ship-octane-source

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@nx-cloud

nx-cloud Bot commented Jul 31, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit d4b704d

Command Status Duration Result
nx affected --targets=test:eslint,test:sherif,t... ✅ Succeeded 8m 5s View ↗
nx run-many --targets=build --exclude=examples/** ✅ Succeeded 1m 3s View ↗

☁️ Nx Cloud last updated this comment at 2026-07-31 21:17:22 UTC

@pkg-pr-new

pkg-pr-new Bot commented Jul 31, 2026

Copy link
Copy Markdown
More templates

@tanstack/alpine-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/alpine-table@6480

@tanstack/angular-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/angular-table@6480

@tanstack/angular-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/angular-table-devtools@6480

@tanstack/ember-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/ember-table@6480

@tanstack/lit-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/lit-table@6480

@tanstack/match-sorter-utils

npm i https://pkg.pr.new/TanStack/table/@tanstack/match-sorter-utils@6480

@tanstack/octane-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/octane-table@6480

@tanstack/preact-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/preact-table@6480

@tanstack/preact-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/preact-table-devtools@6480

@tanstack/react-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/react-table@6480

@tanstack/react-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/react-table-devtools@6480

@tanstack/solid-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/solid-table@6480

@tanstack/solid-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/solid-table-devtools@6480

@tanstack/svelte-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/svelte-table@6480

@tanstack/table-core

npm i https://pkg.pr.new/TanStack/table/@tanstack/table-core@6480

@tanstack/table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/table-devtools@6480

@tanstack/vue-table

npm i https://pkg.pr.new/TanStack/table/@tanstack/vue-table@6480

@tanstack/vue-table-devtools

npm i https://pkg.pr.new/TanStack/table/@tanstack/vue-table-devtools@6480

commit: d4b704d

@KevinVandy
KevinVandy marked this pull request as ready for review July 31, 2026 21:10
@KevinVandy
KevinVandy requested a review from a team as a code owner July 31, 2026 21:10

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
_artifacts/domain_map.yaml (1)

109-115: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Align the generic discovery rule with the Octane exception.

The generic rule still requires dist declarations, while octane_entrypoint correctly points to published src/index.d.ts. Since Octane intentionally distributes authored source without dist, update the rule to allow published source for packages with that contract.

Proposed wording
-  rule: 'For exact exports, option types, state shapes, and instance APIs, inspect dist declarations (.d.ts) in the installed package before inventing an API or relying on memory.'
+  rule: 'For exact exports, option types, state shapes, and instance APIs, inspect installed declarations (.d.ts), or published authored source when the package intentionally distributes source, before inventing an API or relying on memory.'
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@_artifacts/domain_map.yaml` around lines 109 - 115, Update the generic
discovery rule in the rule entry to allow published authored source declarations
for packages that intentionally distribute them, while retaining the existing
dist-declaration requirement for other packages. Keep the octane_entrypoint
value pointing to `@tanstack/octane-table/src/index.d.ts` and align the wording
with this exception.
🧹 Nitpick comments (1)
packages/octane-table/package.json (1)

49-49: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Cover authored .tsrx files in lint validation.

test:eslint passes --ext .ts, so it does not select published src/*.tsrx files. If no repository-level ESLint configuration covers these files, add .tsrx with the supported parser configuration or add a dedicated lint command.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@packages/octane-table/package.json` at line 49, Update the test:eslint script
in package.json to lint authored .tsrx files as well as .ts files, using the
repository’s supported ESLint parser/configuration for that extension; if ESLint
cannot include both directly, add a dedicated .tsrx lint command to the
validation flow.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@_artifacts/domain_map.yaml`:
- Around line 109-115: Update the generic discovery rule in the rule entry to
allow published authored source declarations for packages that intentionally
distribute them, while retaining the existing dist-declaration requirement for
other packages. Keep the octane_entrypoint value pointing to
`@tanstack/octane-table/src/index.d.ts` and align the wording with this exception.

---

Nitpick comments:
In `@packages/octane-table/package.json`:
- Line 49: Update the test:eslint script in package.json to lint authored .tsrx
files as well as .ts files, using the repository’s supported ESLint
parser/configuration for that extension; if ESLint cannot include both directly,
add a dedicated .tsrx lint command to the validation flow.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: aabc6206-17d7-4d75-b39e-5a084dee7486

📥 Commits

Reviewing files that changed from the base of the PR and between 88a2852 and d4b704d.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (25)
  • _artifacts/domain_map.yaml
  • _artifacts/skill_spec.md
  • docs/framework/octane/quick-start.md
  • docs/framework/octane/reference/functions/createTableHook.md
  • docs/framework/octane/reference/functions/useTable.md
  • docs/framework/octane/reference/variables/Subscribe.md
  • docs/installation.md
  • examples/octane/aggregation/package.json
  • examples/octane/basic-external-atoms/package.json
  • examples/octane/basic-subscribe/package.json
  • examples/octane/composable-tables/package.json
  • examples/octane/pagination/package.json
  • examples/octane/row-selection/package.json
  • knip.json
  • packages/octane-table/package.json
  • packages/octane-table/scripts/finalize-types.mjs
  • packages/octane-table/skills/getting-started/SKILL.md
  • packages/octane-table/src/Subscribe.tsrx.d.ts
  • packages/octane-table/src/createTableHook.tsrx.d.ts
  • packages/octane-table/src/index.d.ts
  • packages/octane-table/src/useTable.tsrx.d.ts
  • packages/octane-table/tsconfig.build.json
  • packages/octane-table/tsdown.config.ts
  • pnpm-workspace.yaml
  • scripts/generateDocs.js
💤 Files with no reviewable changes (4)
  • knip.json
  • packages/octane-table/tsconfig.build.json
  • packages/octane-table/scripts/finalize-types.mjs
  • packages/octane-table/tsdown.config.ts

@KevinVandy
KevinVandy merged commit 6bf8723 into beta Jul 31, 2026
10 checks passed
@KevinVandy
KevinVandy deleted the agent/ship-octane-source branch July 31, 2026 21:20
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.

1 participant