Airdrop — Speed up your Laravel deployments by skipping asset compilation.

Debugging

Refine is a paid package. To purchase, head to hammerstone.dev.

Not sure what's triggering a rebuild? You can use the airdrop:debug command to help you diagnose it.

The Debug command will simply print out the JSON object that will be hashed to calculate if a rebuild is needed.

For example, let's imagine your triggers are very, very simple:

ConfigTrigger::class => [
'env' => env('APP_ENV')
],
 
FileTrigger::class => [
'include' => [
base_path('package-lock.json'),
],
]

When you call aidrop:debug, the following will be printed to your console:

{
"Hammerstone\\Airdrop\\Triggers\\ConfigTrigger": {
"env": "production"
},
"Hammerstone\\Airdrop\\Triggers\\FileTrigger": {
"package-lock.json": "62f6d1bfc836a1536c4869fe8f78249b"
}
}
Code highlighting powered by torchlight.dev, a Hammerstone product.

If you want to narrow it down to a single trigger, you can pass that through with the --trigger option:

php artisan airdrop:debug --trigger=Hammerstone\\Airdrop\\Triggers\\ConfigTrigger

Then you'll only get output for the config trigger:

{
"Hammerstone\\Airdrop\\Triggers\\ConfigTrigger": {
"env": "production"
}
}

You can write this output to a file and store it somewhere for inspection

php artisan airdrop:debug > airdrop.json

Or you can run it before and after a command you expect is modifying files (as was the case with this issue) to see what the difference is:

php artisan airdrop:debug > before.json
 
npm run production
 
php artisan airdrop:debug > after.json
 
diff before.json after.json