Skip to content

finding(docs): packages/core/src/adapters/README.md documents an ObjectStack adapter that no longer lives in that directory — only its two import paths were repaired #6213

Description

@yinlianghui-tw

Found while implementing #5043 (PR #6212). Filed unassigned, not claiming.

What was already fixed, and what was left

The new check:readme-exports gate's first run over the tree flagged two wrong-path bindings in packages/core/src/adapters/README.md:

packages/core/src/adapters/README.md:21 -- 'createObjectStackAdapter' is exported by @object-ui/data-objectstack, not by @object-ui/core
packages/core/src/adapters/README.md:44 -- 'ObjectStackAdapter' is exported by @object-ui/data-objectstack, not by @object-ui/core

PR #6212 changed those two import paths, because that fix is unambiguous — the names are real, @object-ui/data-objectstack exports both, and that package's own JSDoc example spells import { ObjectStackAdapter } from '@object-ui/data-objectstack'.

The rest of the page was deliberately left alone, and it is stale in a way a name-set gate structurally cannot see.

The residue

packages/core/src/adapters/ now contains:

ApiDataSource.ts ValueDataSource.ts batchTransaction.ts resolveDataSource.ts index.ts __tests__/

There is no ObjectStack adapter in it. The whole README is about one:

  • the title section is ## ObjectStack Adapter, and ### Features, ### Usage, ### Advanced Usage, ### Filter Conversion, #### Supported Filter Operators, ### Query Parameter Mapping and ### Example with Sorting are all about that adapter's behaviour;
  • ## Available Adapters at the end lists exactly one entry, ObjectStackAdapter, and says "more adapters coming soon" — while the four adapters that actually live in this directory are named nowhere on the page;
  • the filter-operator and query-parameter tables document @object-ui/data-objectstack's translation layer, so they are a second copy of that package's documentation living under packages/core, free to drift from it silently.

The one section that is genuinely about this directory is ## Creating Custom Adapters (implement DataSource<T> from @object-ui/types), and its snippet imports only from @object-ui/types, so it is correct as written.

Why it is worth a card rather than a drive-by edit

This is a placement question, not a typo, and it has at least three defensible answers:

  • A. Move the ObjectStack content to packages/data-objectstack/README.md (or fold it into that package's docs, checking first what is already duplicated there) and leave packages/core/src/adapters/README.md documenting the four adapters that are actually in the directory.
  • B. Delete the page and let packages/data-objectstack own the material, if that package already carries an equivalent — worth measuring before choosing, since two of the tables may already exist there.
  • C. Keep it as a pointer: a short page naming the four local adapters plus a link out.

Picking one needs a look at what packages/data-objectstack's own docs already say, which is more than the #5043 card's scope (it judged import names) and more than an unambiguous repair.

Blast radius

packages/core ships its src/ in the npm tarball, so this page is published to consumers, not an internal note. A reader following ## Available Adapters learns that ObjectUI has one adapter and that it comes from @object-ui/core — the second half of which #6212 has now corrected in the snippets but not in the prose.

Bound of the gate that found it

check:readme-exports judges import names against the real export surface. It cannot see stale prose, a heading about a moved module, or a table duplicating another package's docs — every symbol named in those is either real or not an import at all. This card is that blind spot's user-visible half, the same way #5057 was for authorable-key surfaces.

Grading

For PM triage. Labelled finding: nothing breaks at runtime today, and the copy-paste defect (the wrong import path) is already repaired. What remains is published documentation that describes the wrong package.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationdomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repofindingpm:dispatched

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions