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

Debugging

Hammerstone Refine has not launched yet. Sign up for the early access list to stay up to date!

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:

1ConfigTrigger::class => [
2 'env' => env('APP_ENV')
3],
4 
5FileTrigger::class => [
6 'include' => [
7 base_path('package-lock.json'),
8 ],
9]

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

1{
2 "Hammerstone\\Airdrop\\Triggers\\ConfigTrigger": {
3 "env": "production"
4 },
5 "Hammerstone\\Airdrop\\Triggers\\FileTrigger": {
6 "package-lock.json": "62f6d1bfc836a1536c4869fe8f78249b"
7 }
8}
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:

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

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

1{
2 "Hammerstone\\Airdrop\\Triggers\\ConfigTrigger": {
3 "env": "production"
4 }
5}

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

1php 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:

1php artisan aidrop:debug > before.json
2 
3npm run production
4 
5php artisan aidrop:debug > after.json
6 
7diff before.json after.json