Publishing your assets to S3 has never been easier!1
Four steps:
composer require stechstudio/publish-s3-assets- Set your desired bucket URL as your
ASSET_URL - Add
ASSET_AWS_DEFAULT_REGION(defaults toAWS_DEFAULT_REGION) andASSET_AWS_BUCKETto your .env, pointed at the bucket you want to publish your assets to. - Run
php artisan assets:publish.
If you just wanted to publish everything in public, you're done!
Pass them as a comma-separated list to assets:publish, like so:
php artisan assets:publish public/build/assets,public/vendor,public/css/filament,public/js/filament
That will publish only what's found in those folders, recursively.
First, ask yourself: Do you really want to? If you just want to change public/build/assets to build/assets, see --strip-public below.
Otherwise...
php artisan assets:publish some/original/path:its/new/path
php artisan assets:publish --strip-public
With that, public/build/assets locally becomes build/assets in your bucket, and so on.
php artisan assets:publish --clean
It gets all of your destinations (such as public/build/assets), then deletes them and their contents before uploading the new files.
Footnotes
-
Claim neither benchmarked nor proven, but we like it! ↩