Skip to content

Update frontend dependencies#8488

Merged
bilalabbad merged 3 commits intorelease-1.8from
bab-update-frontend-dependencies
Feb 27, 2026
Merged

Update frontend dependencies#8488
bilalabbad merged 3 commits intorelease-1.8from
bab-update-frontend-dependencies

Conversation

@bilalabbad
Copy link
Contributor

@bilalabbad bilalabbad commented Feb 26, 2026

Summary by CodeRabbit

  • Chores

    • Updated many frontend dependencies and dev tooling for improved compatibility and builds
    • Adjusted configuration defaults: changed interface-member sorting and updated a few nursery/suspicious flags
  • Tests

    • Reworked end-to-end test suites: reorganized flows into separate blocks for IP, Prefix, and Number pool scenarios; added allocation steps and screenshots
    • Stabilized tests with improved timing/visibility handling and updated type-related test expectations

@bilalabbad bilalabbad self-assigned this Feb 26, 2026
@bilalabbad bilalabbad requested a review from a team as a code owner February 26, 2026 13:50
@github-actions github-actions bot added the group/frontend Issue related to the frontend (React) label Feb 26, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 26, 2026

Walkthrough

Updates frontend configuration and tooling: modifies frontend/app/biome.jsonc (adds useSortedInterfaceMembers: "off", removes three nursery flags, adds noSkippedTests: "off"), bumps many versions in frontend/app/package.json, restructures E2E tests under frontend/app/tests/e2e (resource_manager_guide, profiles, tasks) with new test blocks, steps, timing/visibility adjustments, and formatting changes, and updates expected TypeScript error outputs in frontend/app/.betterer.results.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning No pull request description was provided by the author; the description is entirely empty despite a comprehensive template being available. Add a description explaining why dependencies are being updated (e.g., security fixes, compatibility, features), what behavioral changes result, and testing approach.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Update frontend dependencies' clearly and concisely describes the main change in the changeset—updating frontend dependencies in package.json and related configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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


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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
frontend/app/tests/e2e/docs-regression-check/guides/resource_manager_guide.spec.ts (1)

122-122: Track the TODO as an explicit follow-up task.

The pending allocation case is noted, but it would be safer to link it to a concrete tracked test task so it doesn’t get lost during future refactors.

If you want, I can draft a follow-up issue template/checklist for implementing the #5888 allocation coverage.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@frontend/app/tests/e2e/docs-regression-check/guides/resource_manager_guide.spec.ts`
at line 122, Replace the inline TODO comment about "Allocating an IP prefix to a
relationship of a node - Need `#5888`" with an explicit tracked follow-up
reference: create or confirm the tracking task (issue `#5888`) in the project
tracker, then update the test file (resource_manager_guide.spec.ts) to reference
that issue ID, include a short owner/assignee and expected milestone or ETA in
the comment (e.g., "TODO: see issue `#5888` — owner: `@team-member`, target: Q2"),
and optionally add a link to the issue so future refactors can find and complete
the pending allocation test.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In
`@frontend/app/tests/e2e/docs-regression-check/guides/resource_manager_guide.spec.ts`:
- Line 122: Replace the inline TODO comment about "Allocating an IP prefix to a
relationship of a node - Need `#5888`" with an explicit tracked follow-up
reference: create or confirm the tracking task (issue `#5888`) in the project
tracker, then update the test file (resource_manager_guide.spec.ts) to reference
that issue ID, include a short owner/assignee and expected milestone or ETA in
the comment (e.g., "TODO: see issue `#5888` — owner: `@team-member`, target: Q2"),
and optionally add a link to the issue so future refactors can find and complete
the pending allocation test.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0a3bd7d and ab73609.

⛔ Files ignored due to path filters (1)
  • frontend/app/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (5)
  • frontend/app/biome.jsonc
  • frontend/app/package.json
  • frontend/app/tests/e2e/docs-regression-check/guides/resource_manager_guide.spec.ts
  • frontend/app/tests/e2e/objects/profiles/profiles.spec.ts
  • frontend/app/tests/e2e/tasks/tasks-view.spec.ts

@bilalabbad bilalabbad force-pushed the bab-update-frontend-dependencies branch from 8c0bec6 to 37ab287 Compare February 27, 2026 11:12
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (5)
frontend/app/tests/e2e/objects/profiles/profiles.spec.ts (4)

49-51: Minor: Redundant locator re-query.

The profileLink locator is created on line 49 but then a new identical query is made on line 51. Consider reusing the locator variable.

Suggested fix
        const profileLink = page.getByRole("link", { name: "profile test tag" });
        await expect(profileLink).toBeVisible({ timeout: 30_000 });
-        await page.getByRole("link", { name: "profile test tag" }).click();
+        await profileLink.click();
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/app/tests/e2e/objects/profiles/profiles.spec.ts` around lines 49 -
51, The test redundantly re-queries the same link locator; reuse the existing
profileLink locator instead of calling page.getByRole(...) again. Replace the
second call so the click uses the profileLink variable (created as const
profileLink = page.getByRole("link", { name: "profile test tag" })) and keep the
visibility assertion and click on that same locator to avoid duplicate queries.

76-78: Minor: Redundant locator re-query.

Same pattern as above - profileOption is created but then re-queried on line 78.

Suggested fix
        const profileOption = page.getByRole("option", { name: "profile test tag" });
        await expect(profileOption).toBeVisible({ timeout: 30_000 });
-        await page.getByRole("option", { name: "profile test tag" }).click();
+        await profileOption.click();
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/app/tests/e2e/objects/profiles/profiles.spec.ts` around lines 76 -
78, The test creates a locator named profileOption but then re-queries the same
locator for the click; update the code to reuse the existing locator
(profileOption) for the click to avoid the redundant page.getByRole call—i.e.,
replace the second page.getByRole("option", { name: "profile test tag"
}).click() with profileOption.click() so the locator is defined once and reused.

63-64: Missing await on expect assertion.

The expect(page.url()).toContain(...) call is missing await. While synchronous expect works here because page.url() is synchronous, for consistency with other Playwright assertions and to avoid confusion, consider using the async pattern.

Suggested fix
-        expect(page.url()).toContain("/objects/CoreProfile");
+        await expect(page).toHaveURL(/\/objects\/CoreProfile/);
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/app/tests/e2e/objects/profiles/profiles.spec.ts` around lines 63 -
64, The assertion using page.url() in the test
(expect(page.url()).toContain("/objects/CoreProfile")) is missing an await;
update the test in profiles.spec.ts to use the async Playwright assertion
pattern—either await the expect call or replace it with await
expect(page).toHaveURL(expect.stringContaining("/objects/CoreProfile"))—so the
assertion is awaited consistently with other Playwright assertions.

119-119: Missing await on expect assertion.

Same issue as line 63 - missing await on URL assertion.

Suggested fix
-        expect(page.url()).toContain("/objects/ProfileBuiltinTag/");
+        await expect(page).toHaveURL(/\/objects\/ProfileBuiltinTag\//);
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@frontend/app/tests/e2e/objects/profiles/profiles.spec.ts` at line 119, The
assertion is calling expect(page.url()).toContain(...) without awaiting the URL;
update the assertion to await the URL promise by changing
expect(page.url()).toContain("/objects/ProfileBuiltinTag/") to expect(await
page.url()).toContain("/objects/ProfileBuiltinTag/") (referencing expect and
page.url()) so the test waits for the resolved URL before asserting.
frontend/app/tests/e2e/docs-regression-check/guides/resource_manager_guide.spec.ts (1)

122-122: TODO tracking: Incomplete IP Prefix Pool allocation test.

The TODO comment references issue #5888 for allocating an IP prefix to a relationship of a node. Ensure this is tracked and the test is completed when the feature is available.

Would you like me to verify if issue #5888 is still open and track this TODO?

#!/bin/bash
# Check the status of issue `#5888`
gh issue view 5888 --repo opsmill/infrahub --json state,title,url 2>/dev/null || echo "Issue not found or access denied"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@frontend/app/tests/e2e/docs-regression-check/guides/resource_manager_guide.spec.ts`
at line 122, Replace the vague TODO comment about IP prefix allocation with a
tracked TODO that includes the issue number (`#5888`) and a clear action (e.g.,
"skip until feature `#5888` implemented"), so future runs know why the test is
skipped; update the comment in resource_manager_guide.spec.ts (the existing TODO
line "Allocating an IP prefix to a relationship of a node - Need `#5888`") to
explicitly mark the test as skipped/blocked and append a short gh CLI snippet
(commented) to check issue state (gh issue view 5888...) for maintainers to
verify when to re-enable the test.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@frontend/app/tests/e2e/tasks/tasks-view.spec.ts`:
- Around line 5-6: Replace the broken split call to test.describe and .fixme
with the idiomatic single chained call test.describe.fixme(...) so the
declaration uses Playwright's documented property chain; update the test suite
declaration that currently separates test.describe and .fixme into one line
using test.describe.fixme with the existing description string and callback to
restore conventional syntax.

---

Nitpick comments:
In
`@frontend/app/tests/e2e/docs-regression-check/guides/resource_manager_guide.spec.ts`:
- Line 122: Replace the vague TODO comment about IP prefix allocation with a
tracked TODO that includes the issue number (`#5888`) and a clear action (e.g.,
"skip until feature `#5888` implemented"), so future runs know why the test is
skipped; update the comment in resource_manager_guide.spec.ts (the existing TODO
line "Allocating an IP prefix to a relationship of a node - Need `#5888`") to
explicitly mark the test as skipped/blocked and append a short gh CLI snippet
(commented) to check issue state (gh issue view 5888...) for maintainers to
verify when to re-enable the test.

In `@frontend/app/tests/e2e/objects/profiles/profiles.spec.ts`:
- Around line 49-51: The test redundantly re-queries the same link locator;
reuse the existing profileLink locator instead of calling page.getByRole(...)
again. Replace the second call so the click uses the profileLink variable
(created as const profileLink = page.getByRole("link", { name: "profile test
tag" })) and keep the visibility assertion and click on that same locator to
avoid duplicate queries.
- Around line 76-78: The test creates a locator named profileOption but then
re-queries the same locator for the click; update the code to reuse the existing
locator (profileOption) for the click to avoid the redundant page.getByRole
call—i.e., replace the second page.getByRole("option", { name: "profile test
tag" }).click() with profileOption.click() so the locator is defined once and
reused.
- Around line 63-64: The assertion using page.url() in the test
(expect(page.url()).toContain("/objects/CoreProfile")) is missing an await;
update the test in profiles.spec.ts to use the async Playwright assertion
pattern—either await the expect call or replace it with await
expect(page).toHaveURL(expect.stringContaining("/objects/CoreProfile"))—so the
assertion is awaited consistently with other Playwright assertions.
- Line 119: The assertion is calling expect(page.url()).toContain(...) without
awaiting the URL; update the assertion to await the URL promise by changing
expect(page.url()).toContain("/objects/ProfileBuiltinTag/") to expect(await
page.url()).toContain("/objects/ProfileBuiltinTag/") (referencing expect and
page.url()) so the test waits for the resolved URL before asserting.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 8c0bec6 and 37ab287.

⛔ Files ignored due to path filters (1)
  • frontend/app/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • frontend/app/.betterer.results
  • frontend/app/biome.jsonc
  • frontend/app/package.json
  • frontend/app/tests/e2e/docs-regression-check/guides/resource_manager_guide.spec.ts
  • frontend/app/tests/e2e/objects/profiles/profiles.spec.ts
  • frontend/app/tests/e2e/tasks/tasks-view.spec.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • frontend/app/package.json
  • frontend/app/.betterer.results

@bilalabbad bilalabbad merged commit 661dd69 into release-1.8 Feb 27, 2026
40 checks passed
@bilalabbad bilalabbad deleted the bab-update-frontend-dependencies branch February 27, 2026 14:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

group/frontend Issue related to the frontend (React)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant