Skip to content

Library Build Mode (packages/core)

Use this guide before changing build or export behavior of @grist-widget-sdk/core.

Key fact

packages/core is a library package built with tsup, not a Vite application.

Current build contract

  • Entry points:
    • src/index.ts
    • src/testing/index.ts
  • Output formats: esm and cjs
  • Type declarations enabled
  • React packages marked external

Reference files:

  • packages/core/tsup.config.ts
  • packages/core/package.json

Public export rules

  • Public API is consumed through:
    • @grist-widget-sdk/core
    • @grist-widget-sdk/core/testing
  • Do not require consumers to import internal source files.
  • Keep package.json exports and actual built files synchronized.

Validation checklist after changes

bash
pnpm --filter @grist-widget-sdk/core build
pnpm --filter @grist-widget-sdk/core exec tsc --noEmit
pnpm --filter @grist-widget-sdk/core test

Optional package-shape check:

bash
pnpm dlx @arethetypeswrong/cli -P packages/core