Skip to content

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

Merged
AlexSkrypnyk merged 4 commits into
2.xfrom
feature/vortex-dev-deps-october-2026-2x
Oct 27, 2026
Merged

AlexSkrypnyk merged 4 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.

ESLint 9 → 10 (.vortex/docs)

  • 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 18.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

React 19. Docusaurus 3.10 and the Jest suite are fine on it, but it breaks the docs video pipeline. svg-term (unmaintained since 2022) bundles its own React 16, but its styling dependency @stiligita/react is hoisted and resolves the top-level react. On React 19 that feeds React 19 elements into React 16's server renderer, and svg-term-render.js fails with Unknown element-like object type: Symbol(react.transitional.element). Yarn 1 can't scope that resolution per package, so moving to React 19 means replacing the SVG renderer first. The second commit tried React 19 and the third reverts it.

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.

Package Installed Latest Blocker
react 18.3.1 19.3.1 svg-term renders with React 16
react-dom 18.3.1 19.3.1 Moves with react
@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, docusaurus build compiles, and svg-term-render.js renders cli-install.json.

Summary by CodeRabbit

  • Bug Fixes
    • CLI prompts and panels now display their labels and titles in the correct order, making form steps clearer.
  • Chores
    • Updated the CLI’s terminal interface tooling and the documentation site’s linting tools.
    • Set an explicit React version for documentation linting to support the updated linting setup.

@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: a2418e16-6fdc-4d03-98a8-bce4ac3937f3
Commits

Reviewing files that changed from the base of the PR and between bff12cd and ae6395b.

Files ignored due to path filters: 1
  • .vortex/docs/yarn.lock is excluded by !**/yarn.lock, !**/*.lock
Files selected for processing: 2
  • .vortex/docs/eslint.config.mjs
  • .vortex/docs/package.json

Included review availability: This review used your included allowance. 9 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 constraint and panel argument order. The documentation app updates 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
ESLint dependencies and configuration
.vortex/docs/package.json, .vortex/docs/eslint.config.mjs
The @eslint/js range changes to ^10.0.1, and the eslint range changes to ^10.13.0. The React ESLint setting changes from automatic detection to 18.3.
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

Merge Risk: Minimal · up to ae639

The dependency and configuration updates are mergeable with no identified blocking risk.

Pre-merge checks: Passed 4
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the two main changes: upgrading drevops/phptui to 0.3 and ESLint to 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.
Finishing Touches
📝 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 panel names,
Then sets the labels in their place.
ESLint settings find their mark,
A copy flag waits for its result.
I hop along, the changes clear.

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

@github-actions

This comment has been minimized.

@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

This comment has been minimized.

@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 (ae6395b).

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.

@github-actions

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

2 similar comments
@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk

This comment has been minimized.

@AlexSkrypnyk AlexSkrypnyk changed the title Upgraded 'drevops/phptui' to 0.3 and '.vortex/docs' to React 19 and ESLint 10. Upgraded 'drevops/phptui' to 0.3 and '.vortex/docs' to ESLint 10. Oct 27, 2026
@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

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)

@github-actions

Copy link
Copy Markdown

📖 Documentation preview for this pull request has been deployed to Netlify:

https://6ae00d04c27986ea2c41ea80--vortex-docs.netlify.app

This preview is rebuilt on every commit and is not the production documentation site.

@AlexSkrypnyk
AlexSkrypnyk merged commit 280c478 into 2.x Oct 27, 2026
30 checks passed
@AlexSkrypnyk
AlexSkrypnyk deleted the feature/vortex-dev-deps-october-2026-2x branch October 27, 2026 02:32
@github-project-automation github-project-automation Bot moved this from BACKLOG to Release queue in Vortex 1.x Oct 27, 2026
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: Release queue

Development

Successfully merging this pull request may close these issues.

1 participant