Skip to main content

Breaking: custom-field table helpers move out of @trackunit/react-table-helpers

@trackunit/react-table-helpers (from 3.0.0) no longer exports the custom-field column helpers. Those APIs now live in the new @trackunit/custom-field-table-helpers package. If your Iris App still imports them from react-table-helpers, bumping that dependency without running the migration is a compile failure. Apps that only use ExportTableButton are unaffected.

Run these two commands in the consuming repo after bumping the dependency:

npx nx g @trackunit/migrations:migrate
npx nx g @trackunit/migrations:run-migrations

Why this changed​

The custom-field column helpers depended on @trackunit/custom-field-api, which pulls in GraphQL documents that require site.view. Keeping them next to ExportTableButton forced every app that only exported a table to declare that scope. Moving the helpers into @trackunit/custom-field-table-helpers leaves export-only apps on the lighter package.

When it affects you​

Nothing changes until you bump @trackunit/react-table-helpers to 3.0.0 or later. At that version, these named exports are gone from @trackunit/react-table-helpers and must come from @trackunit/custom-field-table-helpers instead:

  • useColumnDefinitionsFromCustomFieldDefinition
  • customFieldToCell
  • customFieldToExportString
  • CustomFieldData
  • DataWithCustomFields

ExportTableButton stays on @trackunit/react-table-helpers.

// before
import {
ExportTableButton,
useColumnDefinitionsFromCustomFieldDefinition,
} from "@trackunit/react-table-helpers";

// after
import { ExportTableButton } from "@trackunit/react-table-helpers";
import { useColumnDefinitionsFromCustomFieldDefinition } from "@trackunit/custom-field-table-helpers";

What the migration does​

The package includes the v3-0-0-move-custom-field-table-helpers migration.

  • rewrites named imports and named re-exports (including import type) of those five symbols from @trackunit/react-table-helpers to @trackunit/custom-field-table-helpers
  • splits the import declaration when ExportTableButton is imported alongside them
  • adds @trackunit/custom-field-table-helpers to the consumer's package.json
  • reports anything it cannot safely rewrite as file:line for manual review: export * and export * as, namespace imports, dynamic import() and import() types, require() and import = require(), and vi.mock / jest.mock of @trackunit/react-table-helpers

For the complete update process, see Maintaining Your Application.