docs/plans/4895-regression.md
#4895@platejs/[email protected] — TablePlugin typed as anyTablePlugin React entrypoint type degrading to any is a regression, using local source/build evidence and a temporary negative type test in the templates playground if usefuldocs/solutions/ for related type/export learnings.@platejs/table source and generated type output.TablePlugin in dist/react/index.d.ts is any, causing .configure() callback params to lose inference.@platejs/[email protected] has a typed React declaration entrypoint; published 52.3.6 degrades TablePlugin, TableRowPlugin, TableCellPlugin, and TableCellHeaderPlugin to any.#4856 is the regression window that matters:
tsdown declarations to dts.bundle: trueplatejs devDependency resolution in packages/table/package.jsonpackages/plate/dist is unavailable during the packages/table build.5.8.3 and 6.0.2, so this is not a TypeScript-version regression. It is a build-contract or import-resolution race on built workspace exports.HEAD rebuilds and packs a correct @platejs/[email protected] tarball when packages/plate/dist is present before the table build starts.platejs as a workspace devDependency of @platejs/table makes Turbo build platejs before table, which closes the reproducer: hiding packages/plate/dist no longer causes the table declarations to collapse to any when building through pnpm turbo build --filter=./packages/table.peerDependencies.platejs also import platejs in source, so the right repo-wide fix is to restore devDependencies.platejs = workspace:^ for the whole set, not just table.peerDependencies.platejs without the matching workspace devDependencies.platejs.pnpm test:slowest had a second, unrelated paper cut: CI runners were tripping the fast-suite hard-fail bucket with timings that stayed green locally.packages/table/type-tests/table-plugin-contracts.ts to pin the public @platejs/table/react contract against any collapse.platejs: workspace:^ back to packages/table/package.json devDependencies so the build graph includes the platejs package before emitting bundled table declarations.pnpm install, pnpm turbo build --filter=./packages/table, pnpm turbo typecheck --filter=./packages/table, isolated compile of the new type-test, and local pack inspection.any declarations by hiding packages/plate/dist and rebuilding table; then verified the manifest fix prevents that repro under the normal Turbo build path.pnpm test:types hit a TypeScript 6.0.2 internal compiler Debug Failure in the repo-wide type-test lane, so full-lane verification remains blocked by that compiler crash.platejs: workspace:^ back to every workspace package that declares a platejs peer dependency, then verified the full package build and typecheck lanes pass.tooling/scripts/check-workspace-package-manifests.mjs and wired it into pnpm test:all so future manifest drift fails fast..changeset/table-peer-build-edge.md file.tooling/config/test-suites.mjs CI-aware so pnpm test:slowest uses 90ms/test and 180ms/file hard-fail buckets in CI while preserving the stricter local limits and surfacing the old limits as CI warnings.pnpm lint:fix, CI=1 pnpm test:slowest -- --top 5, and a full pnpm check after the CI threshold split.