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

Upload Crop Image Bundle Laravel Package

marrouchi/upload-crop-image-bundle

A PHP bundle for handling image uploads with built-in cropping. Add file upload and crop workflows to your app so users can select, preview, and crop images before saving, with configurable server-side processing and storage.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy vs. borrow for image upload/crop. The requirement this package addresses is real and recurring: users upload a photo, need to frame it (avatar, thumbnail, hero), and the server must produce the cropped asset. That requirement belongs on the roadmap; this specific implementation should not.
  • Vendor/OSS adoption policy. 11 stars, 0 dependents, last release June 2015, effectively no maintainer. Useful as a concrete case study for setting a minimum bar (maintained within 12–18 months, non-trivial dependent count, active security response) before any dependency enters the codebase.
  • Framework-fit screening. Despite being filed under PHP packages, this is a Symfony2 bundle — it will not drop into a Laravel app. It signals that our package intake needs an explicit framework/version compatibility check, not just a language check.
  • Scoping the media pipeline epic. Reading what "basic server-side cropping" actually entails (crop coordinates in, derived asset out) clarifies that the feature is small — a sprint, not a platform. That supports sizing the roadmap item and avoiding over-investment.
  • Make-vs-delegate for image processing. Confirms that derivative generation (crop, resize, format conversion) is commodity. Default decision: delegate to a maintained library or an image CDN rather than owning the pixel math.
  • Legacy estate triage. If any product still runs Symfony 2.x, this is evidence of the kind of frozen, unpatched dependency that accumulates there — input to an upgrade/retirement business case.

When to Consider This Package

Consider it only in a narrow, unenviable situation:

  • You maintain a Symfony 2.x application that is frozen — no upgrade path funded, PHP version pinned — and you need a stopgap upload-crop behavior this quarter with zero budget for a proper library integration.
  • You want a reference read of how a minimal server-side crop flow was wired in the Symfony2 era, as input to your own design — read it, don't install it.

Look elsewhere — decisively — when:

  • You are on Laravel. This is not a Laravel package. Wrong framework, wrong generation. Use intervention/image, spatie/laravel-medialibrary, or spatie/image for conversions.
  • You need maintained code. No release in ~a decade, no dependents, no security patch channel. Any CVE or PHP-version break is yours to fix.
  • You need anything beyond the basics. No CDN integration, no async/queue processing, no format negotiation (WebP/AVIF), no focal-point or smart crop, no modern client-side cropping UX.
  • You need scale. Server-side crop in the request path is a latency and CPU liability; a CDN with URL-based transforms (Cloudinary, imgix, Cloudflare Images, or Glide on your own infra) is the better architecture.
  • Your security posture matters. An unmaintained package handling user-uploaded binary data is an unpatched attack surface — image parsers are a classic exploit vector.

How to Pitch It (Stakeholders)

Executive summary: We evaluated marrouchi/upload-crop-image-bundle for image upload and cropping. Recommendation: do not adopt.

The underlying need is legitimate — customers who upload images need control over how they're framed. But this package is a Symfony2 bundle (incompatible with our Laravel stack), last released in June 2015, with 11 GitHub stars and zero dependent projects. It is unmaintained, receives no security patches, and carries an unpatched attack surface in the one area — parsing user-supplied files — where we can least afford it.

Engineering framing: The capability is roughly a sprint of work using a maintained library (intervention/image or spatie/image), or a configuration task if we route derivatives through an image CDN. The package saves us days at most and costs us an unowned dependency in perpetuity.

Ask: Approve the build-with-maintained-libraries route, and adopt a lightweight dependency intake gate (maintained within 18 months, real dependent base, framework/version match, documented security response). This package is the example that justifies the gate, not an exception to it.

Risk if we adopt anyway: framework incompatibility forces a rewrite regardless; the rewrite then inherits abandoned code; and the security review flags an unpatched image-processing path before launch.

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.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib