Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update composer json #287

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
{
"name": "Nikita Popov",
"email": "[email protected]"
},
{
"name": "Contributors",
"homepage": "https://github.com/nikic/FastRoute/graphs/contributors"
}
],
"require": {
Expand All @@ -24,7 +28,7 @@
"phpstan/phpstan-deprecation-rules": "^1.1",
"phpstan/phpstan-phpunit": "^1.3",
"phpstan/phpstan-strict-rules": "^1.5",
"phpunit/phpunit": "^10.3"
"phpunit/phpunit": "^10.5"
},
"autoload": {
"psr-4": {
Expand Down Expand Up @@ -52,5 +56,12 @@
"branch-alias": {
"dev-master": "2.0-dev"
}
},
"scripts": {
Copy link
Collaborator

Choose a reason for hiding this comment

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

We're using make to handle these.
I'm not opposed to adding the scripts but let's please invoke the appropriate make targets

Copy link
Contributor Author

Choose a reason for hiding this comment

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

See, I'm running on Windows and the composer scripts allow me to run things without make.
What exactly would the make targets/parameters translate to in composer context?

Copy link
Collaborator

Choose a reason for hiding this comment

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

The problem is that we'll now have two places to maintain things.

Make gives us things like defining dependencies and parallelism that composer doesn't, and I don't want migrate away from it.

I know it's inconvenient to install gnu make on windows, but I prefer not to introduce the scripts if we're only repeating the definitions.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I've added only the basic script calls so that only little maintenance is required, and that they can be run each using the options defined in their respective configuration files. I'd argue that if a toolset changes, it's a non-issue to add/remove it here too.

If one needs to add extra command line options, they can indeed do this via composer and do so from within their favourite IDE:
composer-script-settings

I find it rather unusual to use make in a PHP project for tasks that can be done with the built-in tools, in fact, I can't recall seeing this in any other project I`ve used or contributed before.

"phpbench": "@php vendor/bin/phpbench run",
"phpcbf": "@php vendor/bin/phpcbf",
"phpcs": "@php vendor/bin/phpcs",
"phpstan": "@php vendor/bin/phpstan",
"phpunit": "@php vendor/bin/phpunit"
}
}
Loading