A Laravel package to speed up deployment by skipping asset compilation whenever possible.

Related tags

Laravel laravel assets
Overview

Airdrop for Laravel

Tests Latest Stable Version Total Downloads License

Read the full docs at hammerstone.dev/airdrop/docs.

Hammerstone Airdrop for Laravel is a package that speeds up your deploys by skipping your asset build step whenever possible.

When you're deploying your code, Airdrop will calculate a hash of everything needed to build your assets: installed packages, JS/CSS files, ENV vars, etc.

After Airdrop has calculated a hash for these inputs, it will check to see if it has ever built this exact configuration before. If it has, it will pull down the built assets and put them in place, letting you skip the expensive build step.

Installation

You can install the package via Composer

composer require hammerstone/airdrop

Once the package is installed, you may optionally publish the config file by running

php artisan airdrop:install

You'll likely want to publish the config file so that you can set up your triggers and outputs.

Read the full docs at hammerstone.dev/airdrop/docs.

Comments
  • Problem when yarn run changes files in resource

    Problem when yarn run changes files in resource

    Hey, First of all really like this package.

    So I had a little Problem with using it in our deployments because we are using ziggy in the project and it creates a file in resources. The problem was finding this different file.

    So I thought I could add a option to the download and upload command so they make a diff of the HashGenerator::make()->asArray() so it could be easier to find the differences.

    Would you be open to a PR with this functionality? Then I would try to add it in the next days.

    opened by SudoGetBeer 7
  • Feature Request: Ignored files or patterns for triggers.

    Feature Request: Ignored files or patterns for triggers.

    I spotted a .DS_Store in my Airdrop debug output. Files like that are ignored by git, so the CI ended up with a different hash.

    I was wondering if ignorable files or patterns could be supported for the triggers?

    opened by adrianb93 5
  • [feature request] Zip files are never deleted

    [feature request] Zip files are never deleted

    Hello,

    it seems zip files are never deleted in the storage/app/airdrop folder, i have 34 zip currently, Should i delete the zips, between airdrop:download and airdrop:upload to ensure only one zip remains ?

    thanks

    opened by lk77 0
  • Github Actions

    Github Actions

    Hi, when i try to use deploy with Github Actions and make new deploy.yml file in workflow folder

    the github action when push file on my repo fail because not found artisan PHP Warning: require(/home/runner/work/xxxx/yyyyy/vendor/autoload.php): Failed to open stream: No such file or directory in /home/runner/work/xxxx/yyyyy/artisan on line 18

    name: Laravel ASSETS
    
    on:
      push:
        branches: [staging]
    
    jobs:
      laravel-tests:
        runs-on: ubuntu-latest
    
        steps:
          - uses: actions/checkout@v2
          - name: Generate Airdrop Hash
            run: echo "AIRDROP_HASH=$(php artisan airdrop:hash)" >> $GITHUB_ENV
          - name: Cache Airdrop Assets
            uses: actions/cache@v2
            with:
              key: ${{ runner.os }}-airdrop-${{ env.AIRDROP_HASH }}
              path: /tmp/airdrop-*
    
    
    opened by Wit3 1
  • Need help in understanding asset generation and also with GH actions

    Need help in understanding asset generation and also with GH actions

    Hey @aarondfrancis,

    First of all thanks for this excellent package. Appreciate your efforts.

    So, I have installed this packages and updated my deployment bash script as mentioned on the docs page

    After making this changes, I ran the deployment script to check if npm run prod takes lesser time but it wasn't the case (previously it was taking ~8000ms too).

    image

    Am I missing some point here?

    Secondly as of now, I am using FilesystemDriver so the built files are stored on the same disk inside the storage folder. I want to move to GH actions and wanted some help/understanding, if possible. So, I saw the GH workflow file changes mentioned on the doc here but can you help me when should this workflow be executed? should it be after every merge? ... And how does deployment script change when using GH actions?

    Thanks, Milan

    opened by milanchheda 1
Releases(v0.2.3)
Owner
Hammerstone
Making tools to make your life easier.
Hammerstone
Bootstrap Theme Generator inside of a Wordpress-Settings-Page. Includes live compilation of SCSS!

Bootstrap-Theme-Generator Bootstrap Theme Generator enables you to choose which components of Bootstrap you want to load. It also gives you the possib

null 3 Aug 15, 2022
This Laravel 8 package makes it possible for you to set your website in "Under Construction" mode.

Laravel Under Construction This Laravel package makes it possible to set your website in "Under Construction" mode. Only users with the correct 4 digi

Lars Janssen 571 Dec 18, 2022
laravel - Potion is a pure PHP asset manager for Laravel 5 based off of Assetic.

laravel-potion Potion is a pure PHP asset manager for Laravel based off of Assetic. Description Laravel 5 comes with a great asset manager called Elix

Matthew R. Miller 61 Mar 1, 2022
Theme and asset management for laravel

Laravel-Themevel Themevel is a Laravel theme and asset management package. You can easily integrate this package with any Laravel based project. Featu

Shipu Ahamed 339 Dec 23, 2022
Theme and asset management for laravel

Laravel-Themevel Themevel is a Laravel theme and asset management package. You can easily integrate this package with any Laravel based project. Featu

Shipu Ahamed 339 Dec 23, 2022
Rapidly speed up your Laravel workflow with generators

Fast Workflow in Laravel With Custom Generators This Laravel package provides a variety of generators to speed up your development process. These gene

Jeffrey Way 22 Oct 28, 2022
Laracademy Generators - is a tool set that helps speed up the development process of a Laravel application.

Laracademy Generators Laracademy Generators - is a tool set that helps speed up the development process of a Laravel application. Author(s): Laracadem

Laracademy 320 Dec 24, 2022
Flysystem storage with local metadata storage for speed and manageability.

Laravel Filer This project was started to scratch my itch on our growing Laravel site: Metadata for all files is stored in a local repository - Suppor

Nick Vahalik 16 May 23, 2022
Livewire trait (throttling). Limiting request processing speed

Livewire Throttling Installation You can install the package via composer: composer require f1uder/livewire-throttling Usage Livewire component <?php

Fluder 5 Dec 7, 2022
🚀 Zero-downtime deployment out-of-the-box

?? Laravel Deployer Looking for the old Laravel Deployer? Click here. Laravel Deployer is no longer the package it used to be. Since that package was

Loris Leiva 1.6k Dec 31, 2022
Shell script for Git module deployment with include/exclude filters.

Deploy multiple Git repositories in an unique folder modgit is a shell script for deploying multiple Git repositories in root folder of any project, w

Johann Reinké 175 Nov 22, 2022
Jetstrap is a lightweight laravel 8 package that focuses on the VIEW side of Jetstream / Breeze package installed in your Laravel application

A Laravel 8 package to easily switch TailwindCSS resources generated by Laravel Jetstream and Breeze to Bootstrap 4.

null 686 Dec 28, 2022
A Laravel chat package. You can use this package to create a chat/messaging Laravel application.

Chat Create a Chat application for your multiple Models Table of Contents Click to expand Introduction Installation Usage Adding the ability to partic

Tinashe Musonza 931 Dec 24, 2022
This package provides extended support for our spatie/enum package in Laravel.

Laravel support for spatie/enum This package provides extended support for our spatie/enum package in Laravel. Installation You can install the packag

Spatie 264 Dec 23, 2022
Testbench Component is the de-facto package that has been designed to help you write tests for your Laravel package

Laravel Testing Helper for Packages Development Testbench Component is the de-facto package that has been designed to help you write tests for your La

Orchestra Platform 1.9k Dec 29, 2022
🥳🔐 This package is a Laravel package that checks if an email address is a spammer

This package is a Laravel package that checks if an email address is a spammer. It verifies your signups and form submissions to confirm that they are legitimate.

Endurance, the Martian 15 Dec 19, 2022
GeoLocation-Package - This package helps you to know the current language of the user, the country from which he is browsing, the currency of his country, and also whether he is using it vpn

GeoLocation in PHP (API) ?? ?? ?? This package helps you to know a lot of information about the current user by his ip address ?? ?? ?? This package h

Abdullah Karam 4 Dec 8, 2022
Laravel User Activity Log - a package for Laravel 8.x that provides easy to use features to log the activities of the users of your Laravel app

Laravel User Activity Log - a package for Laravel 8.x that provides easy to use features to log the activities of the users of your Laravel app

null 9 Dec 14, 2022
List of 77 languages for Laravel Framework 4, 5, 6, 7 and 8, Laravel Jetstream , Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel Spark.

Laravel Lang In this repository, you can find the lang files for the Laravel Framework 4/5/6/7/8, Laravel Jetstream , Laravel Fortify, Laravel Cashier

Laravel Lang 6.9k Jan 2, 2023