Skip to content

Floor laravel/pint at the version whose output is committed - #4

Merged
imanimanyara merged 1 commit into
mainfrom
chore/floor-pint
Sep 6, 2026
Merged

imanimanyara merged 1 commit into
mainfrom
chore/floor-pint

Conversation

@imanimanyara

Copy link
Copy Markdown
Member

Floor laravel/pint at the version whose output is committed

The prefer-lowest leg installs the declared floor, and Pint's floor was old
enough to format differently from the version that produced the committed code.
Measured on laranail/db-tools: laravel/pint: ^1.18 resolves 1.18.0 under
--prefer-lowest, and laranail-pint --test FAILS against it while passing on
1.30.x. laranail/chrono hit exactly this and went red on prefer-lowest while
prefer-stable was green.

So the floor moves to ^1.30 - the line whose output is what is actually in the
repository. Verified rather than assumed: with this constraint --prefer-lowest
installs 1.30.0, and laranail-pint passes against it on both db-tools (159
reformatted files) and console (210).

Pint is require-dev, so this is invisible to consumers: it constrains nothing
they install. It only stops the lowest leg testing a formatter that disagrees
with the code it is checking.

Deliberately NOT applied to rector: at its ^2.5.8 floor Rector resolves 2.5.8
and PASSES, because it reports what it would change and an older release
carries fewer rules. Flooring it would be churn with no failure behind it.

The prefer-lowest leg installs the declared floor, and Pint's floor was old
enough to format differently from the version that produced the committed code.
Measured on laranail/db-tools: `laravel/pint: ^1.18` resolves 1.18.0 under
--prefer-lowest, and `laranail-pint --test` FAILS against it while passing on
1.30.x. laranail/chrono hit exactly this and went red on prefer-lowest while
prefer-stable was green.

So the floor moves to ^1.30 - the line whose output is what is actually in the
repository. Verified rather than assumed: with this constraint --prefer-lowest
installs 1.30.0, and laranail-pint passes against it on both db-tools (159
reformatted files) and console (210).

Pint is require-dev, so this is invisible to consumers: it constrains nothing
they install. It only stops the lowest leg testing a formatter that disagrees
with the code it is checking.

Deliberately NOT applied to rector: at its ^2.5.8 floor Rector resolves 2.5.8
and PASSES, because it reports what it *would* change and an older release
carries fewer rules. Flooring it would be churn with no failure behind it.
Copilot AI lite review requested due to automatic review settings September 6, 2026 12:43

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@imanimanyara
imanimanyara merged commit 7384d74 into main Sep 6, 2026
6 checks passed
@imanimanyara
imanimanyara deleted the chore/floor-pint branch September 6, 2026 17:21
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.

2 participants