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

Case Bundle Laravel Package

misatotremor/case-bundle

AvroCaseBundle converts strings and arrays of strings between camelCase, kebab-case, PascalCase, Title Case, and underscore_case. Includes Twig filters (camel, kebab, pascal, title, underscore) and a configurable CaseConverter service for Symfony.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for string normalization: A PM can use this package to frame a centralized conversion decision. If audits show case conversion scattered across API resources, form requests, imports, and templates, a single converter is justified. In a Laravel-only codebase, however, the likely decision is build a thin internal helper over Illuminate\Support\Str, not buy this Symfony bundle.
  • API and integration consistency: Supports roadmap work for public APIs, partner integrations, and legacy migrations where naming conventions differ (snake_case database fields, camelCase JSON, PascalCase frontend components). The package is useful as a reference for the conversion matrix, even if implementation stays Laravel-native.
  • Bulk field mapping use cases: Its array-conversion capability maps to ETL/reporting tasks such as converting ['user_id', 'created_at'] to ['userId', 'createdAt']. In Laravel this is a one-line Collection::map with Str::camel, so the package mainly validates the use case rather than driving adoption.
  • Dependency governance: The package is a case study for micro-dependency policy: 1 GitHub star, 0 dependents, single-maintainer fork, and Symfony bundle packaging. A PM can use it to set a rule that low-traction utilities must be wrapped, tested, and replaceable before production use.
  • Template helper decisions: Twig filters are irrelevant for most Laravel apps; Blade equivalents are trivial. This supports a decision to avoid adding template-layer dependencies for presentation-only formatting.

When to Consider This Package

  • Consider adoption if:
    • The project is Symfony-native, or a mixed Symfony/Laravel monorepo where one shared CaseConverter service has real value.
    • You need Title Case, kebab-case, or array batch conversion and want a tested implementation rather than writing a helper.
    • You already use Twig through a bridge and want the provided filters.
    • You need a short-term stopgap in a legacy PHP app and will wrap the converter behind your own facade.
  • Look elsewhere if:
    • You are Laravel-only. Str::camel, Str::snake, Str::studly, Str::kebab, and Str::title cover nearly all needs; array conversion is a Collection::map.
    • You cannot accept a single-maintainer fork with minimal community traction as a production dependency.
    • You need Unicode/localization-aware casing, high-throughput performance, or long-term commercial support.
    • You are on older PHP/Symfony/Laravel versions or want to avoid pulling Symfony bundle/config/Twig baggage into Laravel.
    • You are not prepared to test edge cases (nulls, empty strings, non-ASCII input) and compare behavior against Laravel’s native helpers.
  • Adoption test: Prototype by binding only Avro\CaseBundle\Util\CaseConverter as a singleton, skip bundle registration and Twig, and wrap it in your own service. If that wrapper is all you need, write the wrapper natively instead.

How to Pitch It (Stakeholders)

For Executives: “We evaluated a small string-case utility for standardizing naming across APIs, imports, and templates. It works, but it is a Symfony bundle with very low community traction and is not a natural fit for our Laravel stack. Laravel already provides equivalent helpers, and the remaining gaps are trivial. Recommendation: do not add this as a production dependency for Laravel-only work; instead standardize on a small internal helper. This reduces dependency risk, keeps onboarding simple, and still eliminates scattered ad-hoc conversion code.”

For Engineering: “The package exposes a simple, stateless CaseConverter for camelCase, PascalCase, Title Case, underscore_case, and kebab-case, including arrays. In Laravel we would ignore the Symfony bundle and Twig extension, bind only the converter class, and wrap it behind our own service. But Str already covers camel, snake, studly, kebab, and title; array conversion is a Collection::map. Only adopt this if we specifically need a shared converter in a mixed Symfony/Laravel codebase. Otherwise build a tiny internal helper with tests for null, empty, and Unicode input.”

For Architects: “This is a low-complexity utility with poor stack fit for Laravel and elevated ownership risk because it is a fork with 1 star and no dependents. It is best treated as a reference implementation, not a strategic dependency. If adopted, isolate it behind a facade, skip Symfony bundle wiring, verify it does not bloat autoloading with unused Symfony packages, and keep extraction to native Str-based code as the exit plan. The architectural value is the centralization pattern, not the package itself.”

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.
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk