Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Storage Utils Laravel Package

vimex/storage-utils

vimex/storage-utils is a lightweight Laravel/PHP utility package for common storage tasks, offering reusable helpers to simplify file and path operations and streamline everyday storage workflows in your applications.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Storage abstraction / vendor lock-in strategy for media and assets. The package is the extracted storage layer from Akeneo's PIM: a Storage contract plus key generators, file fetchers, and a storage registry that let application code write files without knowing whether they land on local disk, S3, or GCS. The decision it informs is whether to put a seam between our domain code and our blob store now, or accept a migration project later.
  • Build vs. borrow for that seam. It's a reference implementation of a pattern most teams reimplement badly (key/path schemes, filename collision handling, separating "where the bytes go" from "what the file is called"). Useful as a design input even if we never take the dependency.
  • DAM/PIM integration scoping. If we're integrating with Akeneo or a similar product, this tells us what contract surface the host system expects from a storage backend — relevant when deciding whether to adopt the platform's storage conventions or wrap them.
  • Roadmap de-risking. Stars: 0, dependents: 0, last release 2018-06-20, score 0.03. This is not a live dependency; it's a snapshot. That makes the real decision here "do we vendor/fork the pattern" rather than "do we adopt the package."

When to Consider This Package

Consider it when:

  • You are building inside or directly alongside the Akeneo ecosystem and need to match its storage contracts rather than invent parallel ones.
  • You want a small, readable reference for key-generator / file-fetcher / storage-registry separation and are prepared to copy or vendor the code into your own namespace.
  • You have a hard compatibility requirement with a legacy Akeneo install and need the exact interface shape to plug into it.

Look elsewhere when:

  • You're building a Laravel application. Use the framework's Storage facade plus league/flysystem directly — first-party, maintained, PHP 8 and Flysystem v3 support, huge community. This package adds nothing Laravel's filesystem layer doesn't already do.
  • You need S3/GCS adapters, signed URLs, streaming, image transformations, or media metadata — that's Flysystem adapters or a media library (e.g. Spatie Media Library), not this.
  • You need security patches, PHP version support, or PSR compliance. A 2018 release predates current PHP and Symfony LTS lines; expect to do the upgrade work yourself if you take it.
  • Community support is a requirement. Zero dependents and zero stars means abandonment isn't a risk to model — it's the current state. Also verify the license before any vendoring; Akeneo-adjacent code is not uniformly permissive.

How to Pitch It (Stakeholders)

Recommendation: do not adopt as a dependency. Borrow the interface design.

For executives: This is a 2018 snapshot of Akeneo's file-storage abstraction with no maintainer, no users, and no releases in seven years. Taking it as a dependency is an unhedged maintenance bet on software nobody is watching — the failure mode is a security patch we have to write ourselves, on someone else's code, under time pressure. The good news is the cost of the alternative is small: the abstraction we actually need is a thin layer over Flysystem, measured in days, and it keeps us on a maintained upgrade path. The strategic value here is the pattern (a clean seam between our application and our blob storage), not the package.

For engineering: The worthwhile idea is the split between the storage contract, key generation, and file fetching — that's what makes backend swaps non-events. We should replicate that shape on top of league/flysystem and laravel/framework's filesystem layer rather than pull in a dead 2018 library. If Akeneo compatibility ever becomes a hard requirement, we vendor the source under our own namespace, pin it, and budget an exit — but we don't put it on the critical path today.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings