Comments (2)
Hello there,
Thanks for the compliment.
I've always been very sceptical for having this feature in Grumphp because I don't want to receive bug reports blaming us that our tool committed unwanted code to their codebase.
However, I do agree that having to recommit e.g. cs-fixer changes is a bit tedious.
For me, there are 2 ways to go here:
- Our extension system is quite good : it should be possible to do it through an extension.
- If enough people care about having the feature in here, it might make sense to create a way to opt-in on this feature.
The way I see the configuration option, is something like:
grumphp:
fixer:
stage_fixed_files: true
This flag would be disabled by default.
When enabled, an additional RunnerMiddleware
could run a process like:
$stageFixedFilesArguments = $this->processBuilder->createArgumentsForCommand('git');
$stageFixedFilesArguments->add('add');
$stageFixedFilesArguments->addFiles($files);
$process = $this->processBuilder->buildProcess($stageFixedFilesArguments);
$process->run();
// Check result...
Alternatively, the configuration could accept context flags like: run
, pre-commit
, ... to only run in very specific contexts.
I think I'm opening up for having this in grumphp's core at this moment in time.
However, I'm not going to write it myself.
Care to give it a PR?
from grumphp.
Thanks for the reply and the hints. Does sound like a little bit more work than I initially would've guessed, but I want to give it a try as soon as I find spare time. :)
from grumphp.
Related Issues (20)
- PHPMD task does not check all file extensions HOT 5
- Don't do commit message checks on merges? HOT 8
- Memory is not being released in parallel execution HOT 3
- Grumphp running without `.git` folder? HOT 4
- Print the commit message when failing on `git_commit_message` HOT 4
- how can I use grum with docker-compose ? HOT 3
- Fails to Recognize PHPStan Baseline During Commit Workflow
- Override open_basedir only for grumphp test HOT 2
- Grumphp config using default PHPCS XML and other standard's sniff HOT 2
- Undefined constant PhpParser\ParserFactory::PREFER_PHP7 when using `nikic/php-parser` version 5. HOT 1
- Support multiple php versions for tasks HOT 2
- [Task] Add bin/console task for Symfony HOT 1
- husky/lint-staged compatibility HOT 5
- The application requires the version "^7.2" or greater. HOT 2
- Support for multiple PHPStan tasks HOT 2
- DistFileLoader doesn't import another file
- Add support for git_pre_push HOT 1
- git_blacklist never runs? HOT 5
- Composer validate task not running when composer.lock changes
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from grumphp.