Skip to content

feat(NO-TASK): Bundle parallel-lint so the standard is one dependency - #48

Merged
aaronware merged 1 commit into
mainfrom
feat/NO-TASK/bundle-parallel-lint
Sep 12, 2026
Merged

aaronware merged 1 commit into
mainfrom
feat/NO-TASK/bundle-parallel-lint

Conversation

@aaronware

Copy link
Copy Markdown
Contributor

Adds php-parallel-lint/php-parallel-lint and php-console-highlighter to
require, so taking the standard means taking the toolchain.

The co-occurrence is absolute

Repos requiring linchpin/coding-standards 12
...that also require parallel-lint 12
...that don't 0

There is no case in the org where someone wants the standard without it. And
each spells the constraint differently — ^1.4, ^1.4.0, ^v1.4.0 (stray v)
— so one require here removes a whole class of drift. 11 of the 12 also carry
php-console-highlighter, so that comes too.

Timely: 23 repos are about to adopt the standard as part of moving off the
phpcs/phpcbf/phplint trio. They get one line instead of two.

The argument against, stated plainly

This package is type: phpcodesniffer-standard and parallel-lint isn't a sniff.
Practically it's inert — the installer plugin only scans for rulesets, and the
package already carries a non-sniff require-dev (phpunit/phpunit). I'd take
the small impurity over a second package nobody remembers to add.

If phpstan and php-cs-fixer get standardised too, the cleaner long-term shape is
a linchpin/php-dev metapackage requiring this one plus the tools. That layers
on top without undoing this.

Verified

Against a path-repo consumer requiring only this package:

vendor/bin: parallel-lint  phpcbf  phpcs  sniff  tokenize

Checked 1 files in 0.1 seconds / No syntax error found
The installed coding standards are MySource, PEAR, PSR1, PSR2, PSR12, Squiz,
Zend, WordPress, WordPress-Core, WordPress-Docs, WordPress-Extra, ...

Every standard still registers. composer validate clean.

For existing consumers

No change required — an explicit require alongside is harmless. They can drop
their own parallel-lint line whenever convenient.

feat, so release-please cuts v1.2.0.

Every repository that requires this package also requires parallel-lint
separately - 12 of 12, no exceptions - and each spells the constraint its own
way: ^1.4, ^1.4.0 and ^v1.4.0 are all in use. One require here replaces all of
them, and the 23 repositories about to adopt the standard get one line instead
of two.

php-console-highlighter comes with it, matching 11 of the 12.

Slight impurity acknowledged: this package is type phpcodesniffer-standard and
parallel-lint is not a sniff. It is inert either way - the installer plugin only
scans for rulesets - and the package already carries a non-sniff require-dev.
Worth it over a second package nobody would remember to add.

Verified against a path-repo consumer: one require yields parallel-lint, phpcs
and phpcbf, and every standard still registers.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@aaronware
aaronware merged commit 7cddd73 into main Sep 12, 2026
1 check passed
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