Skip to content

[Stage 1.4] Normalize the production build and export map #319

Description

@draedful

Parent: #318

Goal

Make the @gravity-ui/graph production artifact explicit, deterministic, and suitable as the foundation for future public package extraction.

Scope

  • Define one production build path for JavaScript, TypeScript declarations, styles, and required assets.
  • Make the package export map explicit for @gravity-ui/graph and @gravity-ui/graph/react.
  • Include @gravity-ui/graph/playwright in the explicit export map and declaration checks when it is part of the approved v2 contract.
  • Preserve supported peer dependencies and keep React isolated to the React entry point.
  • Remove development-only path aliases and repository-source assumptions from production output.
  • Define the exact files included in the npm tarball.
  • Validate package metadata and type resolution with publint and @arethetypeswrong/cli or equivalent checks.
  • Verify the artifact in the isolated consumers created in Stage 1.1.

Acceptance criteria

  • Every declared export resolves to an existing JavaScript and declaration artifact.
  • Root and React entry points work from the packed tarball.
  • The Playwright entry point works from the packed tarball when it is part of the approved v2 contract.
  • A vanilla JavaScript consumer does not require React.
  • Styles and other required assets have stable public paths.
  • Production output contains no imports from repository source paths.
  • Package metadata and type-resolution checks pass in CI.
  • Storybook and E2E continue to run through public package entry points.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions