Skip to content

chore: Remove ensnode-react dependency#213

Merged
Y3drk merged 5 commits into
mainfrom
y3drk/chore/remove-ensnode-react-dependency
May 19, 2026
Merged

chore: Remove ensnode-react dependency#213
Y3drk merged 5 commits into
mainfrom
y3drk/chore/remove-ensnode-react-dependency

Conversation

@Y3drk
Copy link
Copy Markdown
Member

@Y3drk Y3drk commented May 18, 2026

Lite PR → Remove ensnode-react dependency

Summary

  • Removed ensnode-react dependency from ENSAwards after PR #2113 in ensnode got merged:
    • Removed the package from ensawards.org/package.json and updated version of all ENSNode packages to 0.0.0-next-20260518074131 so that we can import the former ensnode-react hooks from the namehash-ui package, where they were temporarily moved
    • Adapted all related imports
    • Removed mentions of ensnode-react from our best practice/benchmark details notes (although they will be reworked by PR feat: benchmark details refinement #204 in the near future)

Why


Testing

  • Ran typecheck, lint, and test commands locally to ensure that the migration didn't break anything, and later confirmed that in our CI workflow
  • Verified that the UI didn't break after introducing changes using a local and Vercel preview.

Pre-Review Checklist (Blocking)

  • This PR does not introduce significant changes and is low-risk to review quickly.

@Y3drk Y3drk self-assigned this May 18, 2026
Copilot AI review requested due to automatic review settings May 18, 2026 09:51
@Y3drk Y3drk requested a review from a team as a code owner May 18, 2026 09:51
@Y3drk Y3drk added ensawards ENSAwards related dependencies Pull requests that update a dependency file labels May 18, 2026
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented May 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ensawards.org Ready Ready Preview, Comment May 19, 2026 9:40am

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 18, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 4c93187c-2a7b-4534-9124-f98bfa33e80e

📥 Commits

Reviewing files that changed from the base of the PR and between 94a680c and a95d632.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (3)
  • ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-l2-chains.ts
  • ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-mainnet.ts
  • ensawards.org/package.json
💤 Files with no reviewable changes (2)
  • ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-mainnet.ts
  • ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-l2-chains.ts

📝 Walkthrough

Walkthrough

This PR removes the @ensnode/ensnode-react dependency and consolidates ENS node provider utilities and related hooks into @namehash/namehash-ui. Package versions for namehash and ensnode libraries are bumped to 1.14.0, best-practice documentation is updated to remove ensnode-react library references, and 12 components update their imports to use the new source for provider setup and data hooks.

Changes

Package Migration and Component Consolidation

Layer / File(s) Summary
Dependency version upgrades and removal
ensawards.org/package.json
@ensnode/datasources, @ensnode/ensnode-sdk, @namehash/ens-referrals, @namehash/namehash-ui, and enssdk dependencies are upgraded from 1.11.1 to 1.14.0; @ensnode/ensnode-react is removed.
Best-practice documentation cleanup
ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-l2-chains.ts, ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-mainnet.ts
References to ensnode-react and ensnode-sdk libraries are removed from the contract-naming best-practice content for mainnet and L2 chains.
Component import consolidation
ensawards.org/src/components/atoms/cards/ContributorsCard.tsx, ensawards.org/src/components/contract-naming-season/award-distributions/AwardDistributionsList.tsx, ensawards.org/src/components/ens-advocates/EnsAdvocateDetailsPageProvider.tsx, ensawards.org/src/components/ens-advocates/details-page-components/FetchAndDisplayAdvocateProfile.tsx, ensawards.org/src/components/ens-advocates/details-page-components/FetchAndDisplayAdvocateReferrals.tsx, ensawards.org/src/components/ens-advocates/details-page-components/advocate-profile/FetchAndDisplayAdvocateProfileWithName.tsx, ensawards.org/src/components/mocks/referral-live-feed/MockDisplayRegistrarActionsFeed.tsx, ensawards.org/src/components/mocks/referrers-leaderboard/MockDisplayReferrerLeaderboardPage.tsx, ensawards.org/src/components/referral-awards-program/referrals/FetchAndDisplayRegistrarActionsFeed.tsx, ensawards.org/src/components/referral-awards-program/referrals/LiveReferralFeed.tsx, ensawards.org/src/components/referral-awards-program/referrers/ReferrerLeaderboard.tsx, ensawards.org/src/components/referral-awards-program/referrers/ReferrerLeaderboardSnippet.tsx
Provider setup utilities (createEnsNodeProviderOptions, EnsNodeProvider) and data hooks (useRegistrarActions, usePrimaryName, ASSUME_IMMUTABLE_QUERY, useRecords) are imported from @namehash/namehash-ui instead of @ensnode/ensnode-react; imports are consolidated within each file where multiple sources were previously used.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

  • namehash/ensawards#146: Main changes refactor the useRegistrarActions import in FetchAndDisplayRegistrarActionsFeed.tsx from @ensnode/ensnode-react to @namehash/namehash-ui, which is part of the broader provider migration strategy.

Possibly related PRs

  • namehash/ensawards#142: Both PRs modify the technicalDetailsMainContent strings in display-named-smart-contracts-l2-chains.ts and display-named-smart-contracts-mainnet.ts; #142 refactors the content into constants while this PR updates the specific library bullets within those contents.
  • namehash/ensawards#159: The PR's dependency updates for @ensnode/datasources, @ensnode/ensnode-sdk, @namehash/ens-referrals, and @namehash/namehash-ui are directly related to the package version coordination needed for the ENS node provider migration across the referral-program UI.
  • namehash/ensawards#195: Both PRs modify provider wiring in AwardDistributionsList.tsx and update the import source for ENS node provider utilities from @ensnode/ensnode-react to @namehash/namehash-ui.

Poem

🐰 No more ensnode-react to track,
We've bundled all the hooks back,
Into namehash-ui they go,
Consolidated, clean, and slow—
A migration bright, no turning back! 🌟

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'chore: Remove ensnode-react dependency' accurately summarizes the main change—removing the ensnode-react dependency from the project.
Description check ✅ Passed The description is directly related to the changeset, explaining the removal of ensnode-react, package updates, import adaptations, and documentation changes with clear rationale and testing details.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch y3drk/chore/remove-ensnode-react-dependency

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 18, 2026

Greptile Summary

This PR removes the @ensnode/ensnode-react package as a direct dependency and migrates all of its exports (createEnsNodeProviderOptions, EnsNodeProvider, usePrimaryName, useRecords, useRegistrarActions, ASSUME_IMMUTABLE_QUERY) to @namehash/namehash-ui, which absorbed them in ensnode PR #2113. All ENSNode/namehash packages are also bumped from 1.11.1 to 1.14.0.

  • Import migration: Every file that imported from @ensnode/ensnode-react is updated to import the same symbols from @namehash/namehash-ui; no component logic changes.
  • New direct dep: @tanstack/react-query ^5.0.0 is added explicitly to package.json because @namehash/namehash-ui@1.14.0 now declares it as a peer dependency rather than bundling it internally.
  • Docs cleanup: ensnode-sdk and ensnode-react are removed from the recommended-library lists in the best-practices data files; these sections will be reworked in PR feat: benchmark details refinement #204.

Confidence Score: 5/5

Safe to merge — the change is a straightforward package consolidation with no logic modifications.

Every changed file is an import-path update only; the same symbols are re-exported from @namehash/namehash-ui without any API changes. The author confirmed typecheck, lint, tests, and a visual Vercel preview all pass. Adding @tanstack/react-query as an explicit direct dep is correct given the updated peer-dependency contract in @namehash/namehash-ui@1.14.0.

No files require special attention. The pnpm-lock.yaml carries a pre-existing transitive deprecation notice on @ungap/structured-clone@1.3.0 (not introduced by this PR).

Important Files Changed

Filename Overview
ensawards.org/package.json Removes @ensnode/ensnode-react, bumps all ENSNode/namehash packages from 1.11.1 → 1.14.0, and adds @tanstack/react-query as an explicit direct dependency to satisfy @namehash/namehash-ui's new peer dep requirement.
ensawards.org/src/components/atoms/cards/ContributorsCard.tsx Moves createEnsNodeProviderOptions and EnsNodeProvider imports from @ensnode/ensnode-react to @namehash/namehash-ui; no logic changes.
ensawards.org/src/components/referral-awards-program/referrers/ReferrerLeaderboard.tsx Consolidates createEnsNodeProviderOptions / EnsNodeProvider into the existing @namehash/namehash-ui import alongside useNow; no logic changes.
ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-l2-chains.ts Removes ensnode-sdk and ensnode-react entries from the recommended-libraries list; PR #204 will rework this content.
ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-mainnet.ts Same as L2 chains file — removes ensnode-sdk and ensnode-react from the recommended-libraries list.
pnpm-lock.yaml Lock file regenerated to reflect new package versions; @ensnode/ensnode-react snapshot removed, @tanstack/react-query added as direct dep. Carries a pre-existing transitive deprecation warning on @ungap/structured-clone@1.3.0 (CWE-502).

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[ensawards.org app] --> B["@namehash/namehash-ui@1.14.0"]
    A --> C["@ensnode/datasources@1.14.0"]
    A --> D["@ensnode/ensnode-sdk@1.14.0"]
    A --> E["@namehash/ens-referrals@1.14.0"]
    A --> F["@tanstack/react-query@5.x (new direct dep)"]
    B -->|peer dep satisfied by| F
    B -->|exports formerly from ensnode-react| G["createEnsNodeProviderOptions\nEnsNodeProvider\nusePrimaryName\nuseRecords\nuseRegistrarActions\nASSUME_IMMUTABLE_QUERY"]
    H["@ensnode/ensnode-react@1.11.1 (REMOVED)"] -.->|previously exported| G
    style H fill:#ffcccc,stroke:#cc0000
Loading

Reviews (2): Last reviewed commit: "Update ENSNode packages to v1.14.0" | Re-trigger Greptile

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates ENSAwards away from @ensnode/ensnode-react by importing the moved ENSNode React hooks/providers from @namehash/namehash-ui.

Changes:

  • Removed @ensnode/ensnode-react and updated ENSNode/namehash package versions.
  • Updated React component imports for ENSNode providers/hooks.
  • Removed ensnode-react references from ENS best-practice technical notes.

Reviewed changes

Copilot reviewed 16 out of 17 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
pnpm-lock.yaml Updates lockfile for dependency/version changes.
package.json Updates root pnpm dependency overrides.
ensawards.org/package.json Removes ensnode-react, updates ENSNode/namehash packages, and adds React Query peer dependency.
ensawards.org/src/components/referral-awards-program/referrers/ReferrerLeaderboardSnippet.tsx Moves provider imports to @namehash/namehash-ui.
ensawards.org/src/components/referral-awards-program/referrers/ReferrerLeaderboard.tsx Moves provider imports to @namehash/namehash-ui.
ensawards.org/src/components/referral-awards-program/referrals/LiveReferralFeed.tsx Moves provider imports to @namehash/namehash-ui.
ensawards.org/src/components/referral-awards-program/referrals/FetchAndDisplayRegistrarActionsFeed.tsx Moves useRegistrarActions import.
ensawards.org/src/components/mocks/referrers-leaderboard/MockDisplayReferrerLeaderboardPage.tsx Moves mock provider imports.
ensawards.org/src/components/mocks/referral-live-feed/MockDisplayRegistrarActionsFeed.tsx Moves mock provider imports.
ensawards.org/src/components/ens-advocates/EnsAdvocateDetailsPageProvider.tsx Moves provider imports.
ensawards.org/src/components/ens-advocates/details-page-components/FetchAndDisplayAdvocateReferrals.tsx Moves useRegistrarActions import.
ensawards.org/src/components/ens-advocates/details-page-components/FetchAndDisplayAdvocateProfile.tsx Moves profile hook imports.
ensawards.org/src/components/ens-advocates/details-page-components/advocate-profile/FetchAndDisplayAdvocateProfileWithName.tsx Moves records hook imports.
ensawards.org/src/components/contract-naming-season/award-distributions/AwardDistributionsList.tsx Moves provider imports.
ensawards.org/src/components/atoms/cards/ContributorsCard.tsx Consolidates identity/provider imports from @namehash/namehash-ui.
ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-mainnet.ts Removes ensnode-react from technical details.
ensawards.org/data/ens-best-practices/contract-naming/display-named-smart-contracts-l2-chains.ts Removes ensnode-react from technical details.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ensawards.org/package.json
Comment thread package.json
@Y3drk
Copy link
Copy Markdown
Member Author

Y3drk commented May 18, 2026

NOTE

The security vulnerability that Greptile mentions is not being surfaced by either pnpm audit command or Dependabot, so I'd prefer to let it be for now.

Copy link
Copy Markdown
Member

@lightwalker-eth lightwalker-eth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Y3drk Looks nice! Please take the lead to merge when ready 👍

Comment thread ensawards.org/package.json Outdated
@Y3drk Y3drk merged commit 293f1d4 into main May 19, 2026
11 checks passed
@Y3drk Y3drk deleted the y3drk/chore/remove-ensnode-react-dependency branch May 19, 2026 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ensawards ENSAwards related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants