Skip to content

chore: adopt bambamboole/extended-testbench 0.6.1 - #17

Merged
bambamboole merged 1 commit into
mainfrom
chore/extended-testbench-0.6
Aug 3, 2026
Merged

chore: adopt bambamboole/extended-testbench 0.6.1#17
bambamboole merged 1 commit into
mainfrom
chore/extended-testbench-0.6

Conversation

@bambamboole

Copy link
Copy Markdown
Contributor

Upgrades bambamboole/extended-testbench 0.3.0 → 0.6.1 and adopts what its new package:init --check drift gate reports. That gate is now wired into CI, so this alignment is verifiable instead of hand-diffed.

Adopted

  • testpest --exclude-testsuite=Browser. Enumerating Unit,Feature would silently drop the new Arch suite.
  • New Arch suite (tests/ArchTest.php): no debug statements ship, strict types across Lattice\Media.
  • phpunit.xml.dist pins Testbench's APP_KEY fixture — package:purge-skeleton deletes the .env that otherwise carries it, which is what makes a cold suite throw MissingAppKeyException.
  • boost:refresh now defers while package.json sits next to a missing node_modules; Boost discovers frontend packages through the installed tree, so refreshing early drops their skills.
  • .gitignore picks up /.codex/.

Pint reversal. Upstream reverted the blank_line_after_opening_tag rule, so pint.json goes back to disabling it — undoing that part of #16. Disabling only stops Pint enforcing the blank line; it does not strip the ones the 0.3.0 stub introduced, so those are removed directly here (70 files, one line each). Back to <?php immediately followed by declare(strict_types=1);.

Baselined divergences in extra.extended-testbench.check-ignore:

  • tests/Browser/DummyTest.php — the scaffold's placeholder is redundant next to the three real browser tests.
  • rector.php — keeps the FlipTypeControlToUseExclusiveTypeRector skip upstream didn't take.

Note on the CI gate: it needs the explicit section flags. A bare --check falls back to the prompt defaults rather than inferring sections from the repo, so it reports a package that has browser tests and a workbench as drifted.

Verified: composer check (Pint, PHPStan, Rector, 145 Pest incl. Arch), package:init --check (no drift), composer test:browser (9), npm run typecheck && npm test (39).

0.6.1 adds a `package:init --check` drift gate, so the alignment is now
verifiable instead of hand-diffed. Wired it into CI.

- pint.json restores blank_line_after_opening_tag: false — upstream reverted
  that rule, so the scaffold no longer enforces the blank line. Disabling it
  only stops pint enforcing the blank line, it does not strip the ones the
  previous stub introduced, so those are removed here directly: back to
  `<?php` immediately followed by `declare(strict_types=1);`.
- test -> pest --exclude-testsuite=Browser. Enumerating Unit,Feature would
  silently drop the new Arch suite.
- New Arch suite (tests/ArchTest.php): no debug statements, strict types
  across Lattice\Media.
- phpunit.xml.dist pins Testbench's APP_KEY fixture; package:purge-skeleton
  deletes the .env that otherwise carries it.
- boost:refresh defers while package.json sits next to a missing
  node_modules, since Boost discovers frontend packages through the
  installed tree.
- .gitignore picks up /.codex/.

Two divergences are baselined in extra.extended-testbench.check-ignore:
tests/Browser/DummyTest.php, because the scaffold's placeholder test is
redundant next to the three real browser tests, and rector.php, which keeps
the FlipTypeControlToUseExclusiveTypeRector skip upstream did not take.

The drift gate needs the explicit section flags — a bare --check falls back
to the prompt defaults rather than inferring the sections from the repo, and
reports a package that has browser tests and a workbench as drifted.
@bambamboole
bambamboole merged commit 295509a into main Aug 3, 2026
4 checks passed
@bambamboole
bambamboole deleted the chore/extended-testbench-0.6 branch August 3, 2026 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant