Skip to content

Upgraded 'drevops/phptui' to 0.3 and '.vortex/docs' to React 19 and ESLint 10. - #3238

Open
AlexSkrypnyk wants to merge 2 commits into
2.xfrom
feature/vortex-dev-deps-october-2026-2x
Open

AlexSkrypnyk wants to merge 2 commits into
2.xfrom
feature/vortex-dev-deps-october-2026-2x

Conversation

@AlexSkrypnyk

@AlexSkrypnyk AlexSkrypnyk commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Picks up the major upgrades available on 2.x that fit the current toolchain. The in-range lock refresh for October already landed with the forward-port, so this PR covers what sits outside the existing constraints. .vortex/tooling/ is out of scope.

What's in it

drevops/phptui 0.2 → 0.3 (.vortex/cli)

phptui 0.3 flipped every form builder method to label first, with the id optional and derived from the label when left out. TuiAdapter::field() and the 12 panels in VortexForm::create() now pass (label, id). Every id is still declared explicitly, so answer keys, Condition targets and the VORTEX_CLI_INSTALL_PROMPT_* environment variables are unchanged. Letting phptui derive them would have renamed general to general_information.

Nothing on screen changes, so the cli-install video and the fixtures don't need regenerating.

React 18 → 19 and ESLint 9 → 10 (.vortex/docs)

  • Docusaurus 3.10 and Testing Library 16 both support React 19, so no code changed for that bump.
  • eslint-plugin-react 7.37.5 is the latest release, and it doesn't support ESLint 10 yet. Its version: 'detect' path calls context.getFilename(), which ESLint 10 removed, so the config now pins settings.react.version to 19.3. Every other rule in the plugin runs fine. It needs bumping with React until the plugin catches up, and yarn prints a peer-dependency warning in the meantime.
  • ESLint 10 adds no-useless-assignment to the recommended set. It flagged a dead let ok = false in src/pages/index.js: both the try and the catch overwrite it.

Left out on purpose

Babel 8 and cspell 10 both need Node >=22.18. Every workflow that pins Node uses 22.17.1, and some of those test the shipped template, not just .vortex/. That makes the Node bump its own change, so these 2 stay where they are for now:

Package Installed Latest Blocker
@babel/core 7.29.7 8.0.9 Node ^22.18.0 || >=24.11.0
@babel/preset-env 7.29.7 8.0.7 Moves with @babel/core
@babel/preset-react 7.29.7 8.0.1 Moves with @babel/core
cspell 9.8.0 10.4.0 Node >=22.18.0

Checked locally

  • .vortex/cli: composer lint is clean, and all 1742 tests pass.
  • .vortex/docs: lint, spellcheck and lint-prose are clean, all 230 Jest tests pass, and docusaurus build compiles.

Summary by CodeRabbit

  • Bug Fixes
    • CLI prompts and panels now display their labels and titles in the correct order.
  • Chores
    • Updated the CLI and documentation site’s underlying tooling.

@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: ASSERTIVE
  • Plan: Team
  • Run ID: 509f5e4f-1324-41c3-accd-aa59b6569202
Commits

Reviewing files that changed from the base of the PR and between 823f91c and ef5289f.

Files ignored due to path filters: 2
  • .vortex/cli/composer.lock is excluded by !**/*.lock
  • .vortex/docs/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
Files selected for processing: 6
  • .vortex/cli/composer.json
  • .vortex/cli/src/Form/TuiAdapter.php
  • .vortex/cli/src/Form/VortexForm.php
  • .vortex/docs/eslint.config.mjs
  • .vortex/docs/package.json
  • .vortex/docs/src/pages/index.js

Included review availability: This review used your included allowance. 7 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 10 reviews per hour.

Walkthrough

The CLI updates its phptui dependency and panel argument order. The documentation app updates React and ESLint dependencies and configuration. Its copy fallback no longer initializes the result variable to false.

Changes

CLI Panel Configuration

Layer / File(s) Summary
phptui dependency and panel calls
.vortex/cli/composer.json, .vortex/cli/src/Form/TuiAdapter.php, .vortex/cli/src/Form/VortexForm.php
The phptui constraint changes from ^0.2.1 to ^0.3.0. Panel calls pass the display label before the panel ID. Existing panel fields and configuration remain unchanged.

Documentation App Updates

Layer / File(s) Summary
React and ESLint configuration
.vortex/docs/package.json, .vortex/docs/eslint.config.mjs
React and React DOM change to ^19.3.1. The ESLint packages change to version ranges for ESLint 10. The React ESLint setting is fixed at 19.3 instead of using automatic detection.
Copy-result assignment
.vortex/docs/src/pages/index.js
fallbackCopy no longer initializes ok to false. The existing try/catch assigns the result or false before returning it.

Priority: Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Possibly related issues

  • Issue 1386 in drevops/vortex asks maintainers to review and apply Renovate dependency updates. This PR applies several dependency updates, including React, ESLint, and phptui.
Merge Risk: Minimal · up to ef528

The dependency, panel-call, ESLint, and copy-result updates are ready to merge.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 4 files. (2 skipped: 2… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely identifies the two main dependency upgrades: drevops/phptui 0.3 and React 19 with ESLint 10.
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.
Full details: Docstring Coverage

Explanation

Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 3 functions across 4 files. (2 skipped: 2 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

A rabbit checks the panels in a row,
Labels first, then IDs, all set to go.
React and ESLint hop to newer ground,
A copy flag waits for its result to be found.
I twitch my nose and nibble greens,
While tidy updates brighten screens.

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

@github-actions

Copy link
Copy Markdown

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   100.00% (174/174)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@AlexSkrypnyk
AlexSkrypnyk enabled auto-merge (rebase) October 26, 2026 06:43
@AlexSkrypnyk

This comment has been minimized.

2 similar comments
@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk

Copy link
Copy Markdown
Member Author

Code coverage (threshold: 90%)

  Classes: 100.00% (1/1)
  Methods: 100.00% (2/2)
  Lines:   100.00% (174/174)
Per-class coverage
Drupal\ys_demo\Plugin\Block\CounterBlock
  Methods: 100.00% ( 2/ 2)   Lines: 100.00% ( 10/ 10)

@codecov

codecov Bot commented Oct 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.33%. Comparing base (823f91c) to head (ef5289f).

Additional details and impacted files
@@           Coverage Diff           @@
##              2.x    #3238   +/-   ##
=======================================
  Coverage   88.33%   88.33%           
=======================================
  Files         111      111           
  Lines        6165     6165           
  Branches        3        3           
=======================================
  Hits         5446     5446           
  Misses        719      719           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This branch has not been deployed

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

Labels

A1 Board worker 1

Projects

Status: BACKLOG

Development

Successfully merging this pull request may close these issues.

1 participant