Skip to content

fix: align core API and banner dependency contracts - #1828

Draft
Jacky-Pham wants to merge 1 commit into
Jacky/strr-core-profile-recovery-20260915from
Jacky/strr-core-plugin-contracts-20260915
Draft

Jacky-Pham wants to merge 1 commit into
Jacky/strr-core-profile-recovery-20260915from
Jacky/strr-core-plugin-contracts-20260915

Conversation

@Jacky-Pham

@Jacky-Pham Jacky-Pham commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

The installed fetch client normalizes headers before request hooks, but the core API plugins still implement obsolete object/array branches that fail strict checking. Use the Headers contract while preserving authentication, account IDs, optional API keys, caller metadata and error redirects.

Replace DOMPurify's removed type alias with its inferred sanitizer type, add JSDOM development declarations, and extend the existing Nuxt UI alert declaration patch to accept the close-button class already forwarded at runtime. Existing runtime versions and dependency-resolution graphs are unchanged; the only new packages are @types/jsdom and @types/tough-cookie. Identical dependency patches are installed across all five frontends.

Validation:

  • Fifteen actual-plugin/ofetch request cases and three actual-banner cases pass before and after. Sanitization uses DOMPurify with JSDOM, as Happy DOM is unsupported by DOMPurify. The banner test verifies the rendered dismissal style and close-button classes.
  • All five standard CI workflows pass lint, 757 tests and builds on 96732d88; all 37 PR checks succeed or are intentionally skipped.
  • Combined CI 35037039191, source 87d21144, passes all five lint/test/build jobs and 1,083 frontend tests.
  • Paired strict diagnostics drop 405→360 standalone and 125→80 combined, with none introduced. The combined Base package now passes strict checking with zero diagnostics; other packages still fail.
  • All five frozen installs pass, installed patched files match the verified source, and all pre-existing lockfile resolution and snapshot entries are preserved after updating patch hashes.

Stacked on #1827. This preserves the tested behavior while correcting dependency contracts; remaining type errors, backend lint and browser coverage still prevent full component sign-off.

@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant