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

Debugging

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}

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