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

Configuration

The Airdrop configuration file contains a reasonable starting point for most Laravel applications, but you'll want to customize it for your particular app.

To publish this file, run php artisan airdrop:install

Drivers

The driver you choose determines how your built assets will be stashed and restored.

We offer two drivers out of the box:

If neither of these meet your needs, you are free to make your own.

Triggers

The triggers section tells Airdrop how to calculate if your assets need to be rebuilt. We offer two different triggers out of the box:

  • Config Trigger than can trigger a build based on ENV vars (or any other config).
  • File Trigger that triggers a build whenever a file changes.

Each trigger has its own configuration that you can use to fine-tune your settings, but both come with reasonable defaults.

You can have as many triggers as you want. You can also build your own.

Outputs

The outputs section of the config file defines which files are generated as the result of your build process.

Anything that is generated as a result of your build process should be included here.

config/airdrop.php

1[
2 // ...
3 'outputs' => [
4 /*
5 * Files or folders that should be included.
6 */
7 'include' => [
8 // The mix-manifest file tells Laravel how to get your versioned assets.
9 public_path('mix-manifest.json'),
10
11 // Compiled CSS.
12 public_path('css'),
13
14 // Compiled JS.
15 public_path('js'),
16 ],
17
18 /*
19 * Files or folders that should be excluded or ignored.
20 */
21 'exclude' => [
22 //
23 ],
24];

By default Airdrop will store your compiled CSS, JS, and your mix-manifest file. If Airdrop determines that a build is not necessary on the next deploy, these files will be pulled down and put in place as if they had just been built.