Skip to content

feat(flow-php/web): type-aware playground autocompletion - #2724

Merged
norberttech merged 5 commits into
1.xfrom
playground-autocompletion
Nov 4, 2026
Merged

norberttech merged 5 commits into
1.xfrom
playground-autocompletion

Conversation

@norberttech

@norberttech norberttech commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

Resolves: #xxx

Change Log


Added

  • flow-php/web - Type-aware playground autocompletion for Flow API methods, DSL functions, classes and static members
  • flow-php/web - Automatic use imports for completed DSL functions and classes
  • flow-php/web - Playground hover docs, parameter hints, named argument and variable completion
  • flow-php/web - Cmd/Ctrl+click in playground opens DSL, API or PHP manual documentation
  • flow-php/web - Playground autocompletion for PHP functions and classes available in the playground

Fixed

  • flow-php/web - Code samples link methods to their API documentation instead of same-named DSL functions

Changed

  • flow-php/web - Playground formats code with Mago instead of PHP-CS-Fixer
  • flow-php/web - API dump covers every class reachable from DSL functions
  • flow-php/web - Tab accepts the selected playground suggestion
  • flow-php/flow - Docs are built from source with Better Reflection, independent of loaded extensions

Removed

  • flow-php/web - DSL definitions inlined into every page
  • flow-php/flow - Stale psalm, phpstan and php-cs-fixer references

Deprecated

Security

@codecov

codecov Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.58%. Comparing base (b1e8252) to head (f24a45a).
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##                1.x    #2724      +/-   ##
============================================
+ Coverage     87.01%   90.58%   +3.57%     
- Complexity     2982    31419   +28437     
============================================
  Files          2260     2226      -34     
  Lines         95436    90642    -4794     
============================================
- Hits          83043    82111     -932     
+ Misses        12393     8531    -3862     
Components Coverage Δ
etl 95.99% <ø> (+0.03%) ⬆️
cli 87.24% <ø> (+2.43%) ⬆️
lib-array-dot 96.52% <ø> (ø)
lib-azure-sdk 64.17% <ø> (+1.02%) ⬆️
lib-doctrine-dbal-bulk 94.25% <ø> (+0.66%) ⬆️
lib-filesystem 88.96% <ø> (+6.01%) ⬆️
lib-types 94.64% <ø> (ø)
lib-parquet 82.80% <ø> (-0.28%) ⬇️
lib-parquet-viewer 83.15% <ø> (ø)
lib-snappy 90.74% <ø> (ø)
lib-dremel 0.00% <ø> (ø)
lib-postgresql 89.44% <ø> (+4.52%) ⬆️
lib-telemetry 86.85% <ø> (+20.44%) ⬆️
bridge-filesystem-async-aws 96.12% <ø> (+12.36%) ⬆️
bridge-filesystem-azure 94.39% <ø> (+13.90%) ⬆️
bridge-filesystem-sftp 90.29% <ø> (+4.85%) ⬆️
bridge-monolog-http 96.84% <ø> (ø)
bridge-monolog-telemetry 92.85% <ø> (+13.03%) ⬆️
bridge-openapi-specification 91.95% <ø> (ø)
symfony-http-foundation 80.76% <ø> (+0.64%) ⬆️
bridge-psr18-telemetry 100.00% <ø> (ø)
bridge-psr3-telemetry 98.95% <ø> (+17.37%) ⬆️
bridge-psr7-telemetry 100.00% <ø> (ø)
bridge-telemetry-otlp 90.11% <ø> (+10.24%) ⬆️
bridge-symfony-http-foundation-telemetry 92.85% <ø> (ø)
bridge-symfony-filesystem-bundle 90.72% <ø> (ø)
bridge-symfony-filesystem-cache 98.18% <ø> (ø)
bridge-symfony-postgresql-bundle 93.35% <ø> (+1.29%) ⬆️
bridge-symfony-postgresql-cache 94.41% <ø> (ø)
bridge-symfony-postgresql-messenger 98.80% <ø> (ø)
bridge-symfony-postgresql-session 93.65% <ø> (ø)
bridge-symfony-telemetry-bundle 90.76% <ø> (+0.38%) ⬆️
adapter-chartjs 82.11% <ø> (ø)
adapter-csv 97.67% <ø> (+9.18%) ⬆️
adapter-doctrine 95.13% <ø> (ø)
adapter-google-sheet 97.49% <ø> (+28.31%) ⬆️
adapter-http 87.18% <ø> (ø)
adapter-json 90.59% <ø> (+4.40%) ⬆️
adapter-logger 47.05% <ø> (ø)
adapter-parquet 97.20% <ø> (+16.37%) ⬆️
adapter-text 97.68% <ø> (ø)
adapter-xml 98.01% <ø> (ø)
adapter-avro 6.25% <ø> (ø)
adapter-excel 96.77% <ø> (+9.56%) ⬆️
adapter-postgresql 97.34% <ø> (+0.10%) ⬆️
adapter-seal 89.91% <ø> (ø)
bridge-phpunit-postgresql 75.30% <ø> (ø)
bridge-phpunit-telemetry 87.36% <ø> (ø)
bridge-phpstan-types 0.00% <ø> (ø)
bridge-postgresql-valinor 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- one completer resolves receiver types across chains, variables and static calls; replaces the 4 generated completers
- DSL functions and classes auto-import, plus named arguments, variables and Class:: members
- hover docs, parameter hints and Cmd/Ctrl+click to DSL and API docs; Tab accepts suggestions
- api:dump exports every class reachable from the DSL; code samples link methods to API docs
- playground formats with the Mago WASM build instead of php-cs-fixer
- removed stale psalm/phpstan/php-cs-fixer references and the inlined DSL json on every page
- build pg-query-ext before generating docs
- refuse to build docs with the arrow or flow_php extensions loaded
- regenerate api.json and playground completions without those extensions
- docs read classes and DSL functions from source, independent of loaded extensions
- default values exported as source instead of evaluated, docs job no longer needs pg-query-ext
- removed the arrow/flow_php guard from bin/docs.php
- regenerated dsl.json, api.json and playground completions
…etion

- php:dump exports functions and classes of the playground PHP extensions from phpstorm stubs
- PHP built-ins complete without imports in global code and link to the PHP manual
- just docs regenerates the playground completion, checked by the docs job
- plain characters in docblocks shown by the completion
@norberttech
norberttech force-pushed the playground-autocompletion branch from 36b6ef1 to 57af1a8 Compare November 4, 2026 17:27
- require phpstan ^2.1.34 in dev, older phars bundle a php-parser too old for Better Reflection
- mutation tests pass a PR diff that generates no mutations
@norberttech
norberttech merged commit 5cfb114 into 1.x Nov 4, 2026
22 of 23 checks passed
@norberttech
norberttech deleted the playground-autocompletion branch November 4, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant