Skip to content

[2026-07] Fix preact entry points; validate package.json integrity in CI (publint + attw) - #4649

Open
henryStelle wants to merge 1 commit into
2026-07from
henry/backport-preact-entry-points-2026-07
Open

[2026-07] Fix preact entry points; validate package.json integrity in CI (publint + attw)#4649
henryStelle wants to merge 1 commit into
2026-07from
henry/backport-preact-entry-points-2026-07

Conversation

@henryStelle

Copy link
Copy Markdown
Contributor

What

  • Add a typesVersions entry for ./preact so @shopify/ui-extensions/preact types resolve under moduleResolution: "node" (node10), matching the existing checkout/preact and customer-account/preact entries.
  • Remove the dead ./point-of-sale/preact export, which points at files that are never built or published.
  • Add publint + attw as devDependencies with package:publint / package:attw scripts and run them in CI after the build, with attw ignoring the pre-existing, harmless false-cjs rule (ESM types declared as .d.ts instead of .d.mts).

Why

import "@shopify/ui-extensions/preact" is required for signal-driven re-rendering, but its types don't resolve under node10 module resolution, which the generated extension templates use. The new CI checks fail with these fixes reverted and pass with them applied, preventing both classes of regression (unshipped entry-point files and missing typesVersions parity).

Backport of #4645 to 2026-07.

- Add a typesVersions entry for ./preact so its types resolve under
  moduleResolution 'node' (node10), matching checkout/preact and
  customer-account/preact.
- Remove the dead ./point-of-sale/preact exports entry, which points at
  files that are never built or published.
- Add publint and @arethetypeswrong/cli as devDependencies with
  package:publint / package:attw scripts (attw ignores the pre-existing,
  harmless false-cjs rule).
- Run both tools in CI after the build so entry-point regressions fail
  the PR.

Backport of e62b515 (#4645) to 2026-07.

Assisted-By: devx/09e297fa-f87b-4f47-8683-6c71df04a146
@github-actions

Copy link
Copy Markdown
Contributor

This PR targets a stable release branch (2026-07). Once merged, the change typically also needs to be forward-ported to 2026-10-rc so it ships in the next release.

When you open the forward-port PR, include a line like this in its body so the needs-rc-port label gets removed automatically when that PR merges:

Forward-port of #4649

Accepted formats (comma-separated for multiple):

  • #4649
  • GH-4649
  • 4649
  • https://github.com/Shopify/ui-extensions/pull/4649

If a forward-port isn't needed (e.g., the change is stable-only), you can remove the needs-rc-port label manually.

@github-actions github-actions Bot added the needs-rc-port PR against a stable branch awaiting forward-port to the current RC label Aug 21, 2026
@henryStelle
henryStelle marked this pull request as ready for review August 21, 2026 20:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-rc-port PR against a stable branch awaiting forward-port to the current RC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant